Computing

Computers have become indispensable problem solving tools thanks to correctness, consistency, speed and abstraction. Computational abstraction is synonymous with ongoing complexification, or a continual reduction in functional complicatedness from the standpoint of the user. The construction and maintenance of the problem-solving hierarchies that arise from this process of complexification presents a wonderful burgeoning field in which I enjoy participating. I pursue Computer Science at the University of Wisconsin – Madison. At the moment, graph theory, web development, distributed computing, and software architecture interest me. More generally, I am interested in comparing problem-solving patterns between hierarchies of computation.

Dynamic Modularity in Java

I am really excited about the Netbeans OpenIDE Lookup library! The library allows you to retrieve service-providing class implementations at runtime. My favorite part is that it is elegantly simple to use, just one call to a static method returns … Continue reading

Posted in Computing, Programming Best Practices | Leave a comment

Kruskal’s Minimum Spanning Tree Algorithm

wiki kruskal example mst

A description of the Kruskal’s Minimum Spanning Tree Algorithm is available on Wikipedia. I have reproduced the example graph from the Wikipedia article in several formats. Download various formats of both the initial graph and the final minimum spanning tree. Download various formats … Continue reading

Posted in Computing, Projects | Leave a comment

JavaScript OOP reference for Java Programmers

OOP in JS

JavaScript features a prototype-based object model that is distinct from the class-based object models of languages like C++ and Java. JavaScript is capable of many of the object-oriented features of the aforementioned languages. This post serves as a succinct reference for … Continue reading

Posted in Computing, Web Development | Leave a comment

Stop Wiscmail Spam

Many students at UW-Madison complain that they receive an inordinate amount of spam. Since I’m studying abroad in Madrid this semester, and 95% of the bulk mailings bear no relevance to me, the problem was all the more frustrating. Spam … Continue reading

Posted in Computing, Travel, Web Best Practices | Leave a comment

Programming Paradigms, Functions as First Class Citizens in PHP

Hunt and Thomas, authors of The Pragmatic Programmer, firmly advocate that code-crafters: “Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking … Continue reading

Posted in Computing, Programming Best Practices | Leave a comment

An Overview of the Open Source Movement

This presentation was created for LIS 201 – The Information Society at the University of Wisconsin – Madison. Those interested in a more thorough introduction should view the documentary Codebreakers. Photo Credits In Order of Appearance http://en.wikipedia.org/wiki/File:Here_Comes_Everybody.jpg http://en.wikipedia.org/wiki/File:ClayShirkyJI1.jpg http://gs.statcounter.com/#browser-ww-monthly-201012-201111-bar http://images.dailytech.com/nimage/22099_Linus_Torvalds.jpg … Continue reading

Posted in Computing, Projects | Leave a comment

C4

C4 Screenshot

C4 is a game based off of Milton-Bradley’s Connect Four. C4 is the derivative of a Visual Basic computer science project that I started in my sophomore year of high school. The version completed for the project was pretty barebones … Continue reading

Posted in Projects | Leave a comment

Left-Handing Literals

The Problem Languages with C-like syntax are inherently prone to accidental switching of the equality and assignment operators. While the midnight oil burns and deadlines loom, even experienced programmers can find themselves typing “=” instead of “==”. A caffeinated finger twitch can neglect … Continue reading

Posted in Computing, Programming Best Practices | Leave a comment