Square City Comics
designed & developedthe site »
One of my friends loves comic book art (not necessarily the books) and is currently working on his own. He joined a group in DC of other comic artists, writers, and fans.
When I heard about this, I jumped on the chance to meet them and see their work. I don’t draw or read comics, but I bought got an iPad knew the graphics would look great on there.
Even though I don’t contribute any comic material, I’ve given them quite a lot. I named the group, designed our logo, built our website, and, most importantly, created our iPad app.

Tea Time for WebOS
designed & developedthe app »the code »
I had been using a Palm Pre since day one; notifications, multitasking, and push Gmail drew me away from my iPhone. I loved my Prē and Pixi, but realized that the app catalog is quite small compared to anyone else. Now that HP owns Palm, and WebOS is here to stay, I decided to get my feet wet in development.
Tea Time is a tea organizer and the quickest way to steep your loose leaf black, green, white, and oolong teas (even non-teas such as herbal, roobios, and mate). I’ve been using different timers for awhile, but I knew they could be better. I immediately drew up designs that met my needs as a heavy tea drinker.

“You’d like.ıt”
designed & developedthe site »
“You’d like.ıt” is a website I created to learn Ruby on Rails. I stuck with SQL (Postgres this time), but Rails makes it so easy and transparent that I would test the code on SQLite 3.
It’s a simple website; Log in with Facebook, search for a movie, and recommend it to your friends. You can’t control what movies are in your queue; your friends do that.

The great thing about Rails is the MVC framework. Sure, you can use it in any language, but Rails really forces and encourages you into a fat model, skinny controller & view setup.
Technically, this is version 2 of the website; I had to rewrite it after designing a terrible database. I went through three designs (scrapped one before coding) before I fully grasped join tables and many-to-many connections. Storing a list as a string? Bad idea. Rails, again, makes it easy with things like Belongs_to & Has_many.


One Joke Per Tweet
designed & developedthe site »
One Joke Per Tweet is the first website I created in a string of websites to learn a few technologies. This one was for SQL (MySQL to be exact) and databases in general. It’s based on PHP; a language I’m comfortable with.
I’m glad I choose PHP. Because it doesn’t do handholding with databases, I had to type out explicit commands. This makes for terrible code in production (especially since I didn’t create a separate object), but made it a great learning tool.

The Website is straight forward; it scrapes Twitter via their API. I have a list of comedians and their Twitter IDs, so every hour, a cron job will download the latest Tweets they’ve made, filter out the ones that aren’t jokes (based on some key words mostly), and apply a score.
The score is a function: retweet count / log(number of followers) * 10. I graphed a few functions and this one leveled off the best; it didn’t give too much weight to low or high follower counts.


Netcaster
designed & developed
I love podcasts but I hate iTunes. I listen to—and watch—podcasts throughout the day. Because of that, I’ve used Netcaster daily since 2007. Like all great things, Netcaster came from a need. A need for a better user interface.

Why do I need to see a list of every single episode available, iTunes? I’ve listened to those, I only want to see what I haven’t heard. What if the episode isn’t new, but I haven’t listened to it yet? Netcaster has three episode states: new, unwatched, and watched (which are hidden).
iTunes is picky; it only reads RSS feeds with special tags; not all media on the internet has those tags. It only plays MP3 and MP4 files, no Flash videos. Netcaster plays videos from websites such as Funny or Die, YouTube, Hulu, The Daily Show, Adult Swim, and South Park Studios.

When I built Netcaster, I added a “channels” options solely to watch TWiT. Of course, podcasts don’t support live video, so I wrote my own standard. The Netcast standard never went anywhere, but I had fun writing the 8, single-spaced pages.

