What I found written in my journal today…

I happened upon an interesting conversation with a Vietnam bar rat with a wet mouth and a book to say. His demeanor suggested trouble in his heart; terror within and tyranny without.

I spoke of controversy–tessellations moving mysteriously mixing society senseless–STOP!

So much nonsense selling
Sex toys at the corner-store
Selling sex toys at the corner-store.

(they sold out)

API Hell: The Rise of Application Frameworks and the Fall of Sanity

Software development has started down a path of no return. With the rise of so-called “rich web applications” and application development frameworks such as Adobe Flex, Mozilla, and Ruby on Rails, application developers are struggling to fit their applications into the rigidly-defined frameworks that promise to save development time and maintain developer sanity. In the end, this couldn’t be further from the truth.

Take the Mozilla Platform. Serving as the basis for the Mozilla suite of Internet applications, Mozilla comes packaged with thousands of pre-fabricated components for developing rich desktop applications. At first glance, this would seem to be the holy grail of rapid development. Components could be used and reused in place of proprietary code, and this will save development resources, right? Wrong. Instead, this API bloat increases the learning curve for new developers and leaves them at the mercy of arbitrarily defined interfaces which do not serve their purposes properly. What’s more, the Mozilla Platform is in bed with the W3C, and uses web standards as its main development toolset. This means that in order to develop a complex Mozilla application, a developer needs to learn XML, XUL, XBL, RDF, JavaScript, CSS, C++, and XPCOM. In addition, unit and acceptance testing becomes a two-tiered operation (C++ versus JavaScript), with some code left untestable due to restrictions placed on the Mozilla DOM implementation (XBL and templates, for instance). This leads to regression hell, where one part of the application is no longer functioning properly due to inconsistencies in the other.

Development teams should measure how much time they are taking to learn their development environment versus actual practical development and design. If developers are spending more time understanding the API and less time generating functionality, it may be time to migrate to a simpler development environment. What’s more, developers are often happier when they are creating real functionality. Even if this means reinventing the wheel on several occasions, an application developed from the ground up will ultimately reflect the needs of the client, and will not be subject to compartmentalization due to the framework chosen.

Which Programming Language Am I?

Which Programming Language are You?

Mike Gravel ‘08

Former Alaska senator Mike Gravel is the little candidate that could in the 2008 Democratic primaries. His compassionate views on the war and civil rights make him my current favorite among those in the Democratic running. At a televised debate among the Democratic runners, Gravel blasted the likes of Obama, Clinton, and Biden over their seeming unwillingness to deny nuclear confrontation as a possibility in dealing with Iran. He also made the case for world diplomacy, claiming the United States’ unilateral policy has deteriorated our world image and polarized both our nation and the international community.


Gliese 581 c

Scientists at the Geneva Observatory in Switzerland discovered the first extrasolar planet in a habitable zone today while observing the Gliese 581 system. Although it is fifty percent larger than our Earth and has a significantly larger sun, 581 c looks to be the most habitable planet in the known Universe to date.

What an exciting time to be alive.

Hildebrands Deutsche Schokolade

Paleo-Future posted a great collection of art from a German chocolate company circa 1900, depicting the technology of the year 2000. These “personal flying machines” are my personal favorite.


Is that a gavel in my uterus?

Yesterday the Supreme Court upheld the Partial-Birth Abortion Ban Act of 2003 by a vote of 5-4, setting precedent for the issue and bringing freedom and democracy to unborn fetuses nationwide.


New York, London, Dundee, Glasgow, Amsterdam

This June I will be traveling to Europe to present a paper I co-authored which will be published at the ITiCSE 2007 conference at the University of Dundee. As I’ve never been to Europe, I am certainly taking this as an opportunity to see all I can. I will be flying out of JFK June 22, landing at Heathrow in London. After remaining there for the weekend, I will take the Eurail to Dundee for the conference June 25-27. Following the conference, I will board a train to Glasgow to speak with Prof. Paul Strachan at the Energy Systems Research Unit at the University of Strathclyde about a possible Ph.D program in the fall of 2008. After that, I will take a personal trip to Stockholm or Amsterdam, and then return to London for my flight home.

Gimme money!

I am in the process of applying for a student bursary sponsored by the British Computer Society which would cover the cost of the conference, as well as travel expenses within the UK. I am finding it best to close my eyes when I make travel accommodation transactions, as the cost is starting to weigh in. I keep telling myself it is an investment in my career, and an all-around cultural experience I should have had years ago.

Nerd alert!

The paper that has been chosen for publication is entitled “Data Structure Visualization with LaTeX and Prefuse.” Effectively, it is a survey of two paradigms for data structure and object-oriented program visualization. In the first, Dr. Ali Erkan shows how LaTeX’s tree packages can be used to create slide presentation “animations” out of Java data structures. He implements the toString() method of various Java data structure implementations in order to generate LaTeX markup at each critical point in execution.

The second method discussed is implemented as j-specter, an application Tim Scaffidi and I developed for our undergraduate senior project. Effectively, it uses AspectJ, an aspect-oriented programming package, to construct a map of object instantiation. From this, it constructs a graph using the Prefuse Visualization Toolkit to illustrate the program’s components at any point in execution.

I am working on a project site for j-specter, and will keep you posted on its status. Cheers!

Accountability: Blaming individuals for worldly problems.

It seems the latest buzzword in politics, especially in Democratic circles, is that of “accountability.” Whether it be holding the Bush Administration accountable for the war in Iraq, holding businesses accountable for their environmentally degrading practices, or holding CEO’s accountable for their insider trading scandals, it seems that accountability is in. As with any buzzword, I like to see what Webster has to say:

ac·count·abil·i·ty : an obligation or willingness to accept responsibility or to account for one’s actions

According to Webster’s, accountability starts where blame leaves off. It is the obligation we have placed upon an individual or group to be responsible for their own actions. So accountability implies a positive right; that is, it imposes a moral obligation upon the individual or group being held accountable. This, in my opinion, is not a constructive means of ensuring social justice.

Critics of the Bush administration’s domestic spying programs cite privacy violations as the chief concern in the issue. They believe that the government is infringing on citizens’ negative rights to privacy. This is true. However, the same critics believe the Bush administration should be held accountable for the war in Iraq, be it by impeachment proceedings or the guillotine. While I do agree that the administration has committed crimes against humanity, removing it from power will not solve the quagmire at hand. Such proceedings will only perpetuate the negative attitude which has plagued the tenure of this administration since its inauguration in 2000.

While I do believe taking to the streets is necessary to encourage solidarity, there comes a point where the fine line between constructive protest and incessant whining is crossed. Take the labor union movement, for example. Although unions were put in place to protect the working class from its white collar bourgeois, wouldn’t it be more effective for labor unions to assemble their assets and create their own means of production? The amount of red tape unions create for businesses is astronomical. In a market economy, the prospect of a body of workers investing in their own business is not unthinkable. And yet, labor unions continue to lodge complaints against the lords they serve, not thinking to cease economic power for themselves. A lord without peasants is a peasant himself.

Tompkins County March For Peace

This Tuesday, March 20th marks the fourth anniversary of the Iraq War that has claimed over 59,000 civilian lives since 2003 (Iraq Body Count). To mark the anniversary, Ithaca Peace Vigil organized the Tompkins County March for Peace this past Saturday. The occasion was as festive as any Ithaca anti-war gathering despite the unforgiving snow storm that marched through Central New York.

People congregate atop South Hill.

Over 15 communities attended the vigil.

I had the pleasure of speaking with a few dissidents to the movement. The first was an older gentleman who claimed that “Freedom, Liberty, and Justice” were more important than peace. I think he was riding a wave of American nationalism that never subsided after World War II, so I forgave his illogical rhetoric. The second skeptic was a man of my parents’ generation who described himself as a fiscal conservative. He argued that while the war was a quagmire, to impeach the president and end the war immediately would lead the Iraqi people into more sectarian violence and ultimately schism the state that has been established. While I understand his concerns and agree with his philosophy of fiscal conservatism, I disagree that American influence can alter the course of sectarian conflict. In choosing to commit to war, America has chosen a side in the conflict, and its adversaries will be repressed. One point I strongly agreed with however: We have a tendency to simplify extremely complex issues and alter the course of history accordingly. There are innumerable variables which affect the course of these issues and no rigid ideology or doctrine can serve to resolve them.