Other Activities
ACM student chapter
When I was a graduate student, I was the Chair of the University of Chicago's Association for Computing Machinery's (ACM) Student Chapter in 2009/2010, and was the Secretary from 2007 to mid-2009. I am still involved as the chapter's academic advisor. The ACM is "an educational and scientific society uniting the world's computing educators, researchers and professionals to inspire dialogue, share resources and address the field's challenges. ACM strengthens the profession's collective voice through strong leadership, promotion of the highest standards, and recognition of technical excellence. ACM supports the professional growth of its members by providing opportunities for life-long learning, career development, and professional networking."
The University of Chicago student chapter of the ACM chiefly facilitates communication and collaboration both within the university computer science community and with the larger community. Our activities include organizing CS talks, bringing invited speakers on campus, gaming nights, and participation in the ACM's ICPC programming contest. For more details, please visit our website at http://acm.cs.uchicago.edu/
ACM International Collegiate Programming Contest
ICPC is the annual programming contest organized by the ACM. Mike O'Donnell and I are the University of Chicago's ICPC coaches and, every year, we train three or four teams for the ICPC Mid-Central USA regional contest.
One of our teams, "Works in Theory", classified for the 2009 ICPC World Finals in Stockholm (only 100 teams, out of 7000 that participate worldwide in the regional phase, are invited to participate in the finals). More details about ICPC and our participation in the finals can be found here:
- UChicago @ ACM ICPC 2009 World Finals, a blog post I wrote after the finals.
- Programming team takes byte out of competition - Web feature on the University of Chicago's website
- He Codes...He Scores!, from The Chicagoist
We have also classified for the 2010 ICPC World Finals which will take place in February. I will post details after the competition.
Other interests
I am also somewhat interested in the following:
- Online rights. I have been interested in this practically since the first time I got online (back in 1996). Although I am mainly concerned with the protection of free speech online, lately I have also become very interested in online privacy. I'm a member of the Electronic Frontier Foundation.
- Web programming and Web standards. A long, long time ago (from 1997 to 1999, if memory doesn't fail me) I was a freelance web designer. I worked on some pretty interesting projects but, alas, then I started studying Computer Engineering and lost my design prowess. Fortunately, I started working as a Web analyst and programmer at my university from 1999 to 2003 (while studying towards my Engineering degree) so I had the chance to learn a lot about web applications and web standards. Although I no longer work on web projects, I do try to keep up with evolving web standards (specially XHTML, CSS, and XML) and still keep some knowledge of PHP and Apache buried somewhere in my brain.
- Typography and document composition. LaTeX and DocBook are my favorite document composition languages. I have some moderately strong opinions on typography and typesetting, and usually can't bear to watch 'ugly' documents for long. For a longer diatribe, take a look at my article Aberraciones tipograficas (in Spanish).
- Boolean minimization algorithms. Through my work in the BOOLE-DEUSTO project I ended up learning quite a bit about boolean function minimization algorithms. Since finding an optimal minimization is NP-complete (it is akin to the minimal cover problem), we had to come up with all sorts of heuristics which made the algorithms incredibly fun to implement (we implemented them using C++ and relying heavily on the Standard Template Library). I guess I'll never see minimization algorithms again, but still get oddly enthralled when I hear about a new heuristic to solve the minimal cover problem.