Yet Another Site Up Post

Well… the semester is over. Not quite… tests are still to come and I’m far from being free and clear but I still found some time to work the latest batch of kinks out of my server and add some new features.

First of all, I wound up doing a full server reset and I lost the last simpledb backup of my original posts so the first several posts I did, including the recap of my Facebook interview, SC12 and the UT IEEE COMSOC wargame. At some point I’ll get around to writing new ones, but given how little time I have for looking forwards who knows how much time I’ll have for looking back.

Frontend

The major change, and the only one which you should see is that I changed the game of life that runs in the background of this blog. In a now-lost post I described the original implementation which ran (actually still runs) some server-side code that maintains a game of life thread and page. The original client side operated by refreshing this server-generated page on a one second tick. By characters, it seems that my entire front page is under a thousand. This game of life page alone was about three times that. The result was truly evil performance on any internet connection. I am happy to say that this implementation is now a historical artifact to poor design as the current game of life is done entirely in client-side javascript leading to much better performance and vastly decreased network overhead.

Another UI tweak - I was never really happy with the paragraph break in my pieces. I write my posts using a java Markdown parser which then kicks out the HTML that the blog displays. Point is that when I do the double-newline “end of paragraph” in markdown, the CSS style that the blog’s posts rocks didn’t provide the clear visual break I’m aiming for between pgfs. This issue should now be resolved.

Backend

The really fun changes for me to write were all backend. I collect statistics on HTTP requests to this blog, and right now I don’t do anything interesting with them. Today’s changes laid the groundwork for some much more interesting and useful statistics. Basically I added a series of new page definitions forming a JSON api that I can use from javascript graphing and analytics libraries. Not really complex, but a cool hack.

The other one I threw together uses the clj-http api to issue queries to a user agent string API and record the results to my MongoDB instance. The result is that I’m slowly building a record of user agent strings to browsers and browser info that could prove interesting at some point.

Some useful IRL hacks as well, but this is all I’ve got time for now so adeu.