Too Epic is Reborn»
The former iteration of my home page was underwhelming at best. It made abysmal use of Google App Engine’s offerings to the point that my GAE account had been reduced to a free, low-latency static file server (which is by no means a bad thing).
But alas, my bank account balance is running low: I figured I should have a nice place to refer potential freelance clients to. So I took a few days out of my winter break to come up with a new design and get to work creating it. Going into the project, I had a few explicit goals:
- It had to be purple.
- It would serve as a lightweight portfolio with screenshots of past work.
- The underlying content would come from tumblr (that link is not much of a sight to behold for the time being).
Initially, I tried just implementing the site as a tumblr template and loading the rest of the content (twitter, flickr, last.fm, AIM) through JavaScript with some simple $.getJSON calls. After a few days of private use, I decided this method was too unreliable:
- Twitter’s JSON API failed to return the data I asked for about 30% of the time.
- Users with JavaScript disabled would wind up not seeing half the site.
- Tumblr occasionally goes down a few minutes for maintenance, and I’d rather have as much uptime as possible.
So, with these observations in mind, I returned to my former mistress, App Engine, who welcomed me with outstretched arms. I am by no means a proficient Python programmer, but I was able to hack together a passable backend that stores incoming data at regular intervals.
The end result is something that hopefully looks decent and renders reliably. I’m using a ton of experimental CSS, some of which is webkit exclusive for the time being: custom scrollbars and -webkit-transitions come to mind. The redesign should, however, look half decent in most modern browsers. I have not even tried visiting in IE; I’m guessing it won’t be too colorful, seeing as most of the colors are in rgba.
I’m prone to borrow and experiment with ideas unapologetically, but I must give credit where credit is due:
- All the pretty icons come from Glyphish.
- Much inspiration and background-texture theft from Meagan Fisher’s post on 24 ways.
- The heading typeface, League Gothic comes from the League of Movable Type, purveyor of prime open source fonts.
- @font-face embedding was vastly simplified by Font Squirrel.
- jQuery will forever hold a special place in my heart.
- Tumblr might be somewhat to blame for my obsession with faux picture frames.
- The ever helpful Hao Lian ensured that I didn’t make any fatal Python blunders.
I’m sure I’ve overlooked a few, but so it goes. Now, if you’ll humor me, here’s something I’m proud of that I haven’t really seen elsewhere. Despite having a Python-powered backend rendering the initial page, I’ve got my script checking for new content every 30 seconds, so if I happen to be listening to a song or posting a tweet or getting onto AIM when you visit, the page will dynamically update in (almost) real time. Feel free to poke around and critique the source code.
I have a few novel ideas for making good use of the tumblr-powered content. Stick around long enough and I might even get around to realizing them. In the meantime, please send comments, questions, amorous solicitations, and potential freelance website work my way via email.


