Friday, December 27, 2013

Breaking Out of the Blog Engine Cycle

Looking back at 2013, I can't help but notice that every web app I made is basically a blog engine.  Each app has some type of Post model, possibly a Comment model, a view for a list of Posts, a view for the details of a Post, and a way to filter them based on users, tags, etc.

I hereby declare 2014 as the Year of Breaking Out of the Blog Engine Cycle.

Sunday, December 15, 2013

Gateway Hackers

I made another thing:  Gateway Hackers.  It's a Hacker News-like link aggregation site with a focus on the the Greater St. Louis Area IT/design/startup audience.

The feature set is minimal, but the site is functional.   You can create a site account or log in using Github or Twitter.    Once you have an account you can submit links, comment, and create a profile (here's mine).

Links are displayed in reverse chronological order since the site isn't popular enough to warrant a scoring system.  I try to post a link or two every day, with a focus on quality.   I personally like links that teach, inspire, bring folks together, or promote the St. Louis IT community.   The site has a code of conduct, modeled after the Speak Up! Community Code of Conduct.

There's a Twitter account you can follow that tweets link submissions.

Motivation
I wrote the site for a few reasons:

  • I can't help myself…I have a web-app creation habit.
  • Things here are starting to heat up, and I wanted a place for St. Louis IT folks to share and discuss tech stuff.
  • I like the HN/Reddit UI for news.
  • The quality of Hacker News has diminished.  


Future Plans
If the site gains any kind of popularity, I'd like to add the following:

  • A directory for St. Louis meetups and user groups.
  • A process that submits links a few days in advance of upcoming events.
  • "Ask Gateway Hackers" posts.
  • A monthly "Who's Hiring" post. 

So, fellow Gateway Hackers--sign up, log in, and participate!

Sunday, September 29, 2013

2013 Clojure Cup Postmortem

Gearing up for getting down.

I was exhausted after submitting Clojurians as my entry for the 2013 Clojure Cup.  I figured that people who say "I could write that in a weekend" were full of crap, but now I know it for sure.  Keeping up the energy level and sustained focus over a weekend of hard-core coding is tough stuff, even for a simple site like mine.  There are so many little things that go into building even the simplest functional web app.   Despite some sore eyes, it was a fantastic experience.

Here are my thoughts on doing a 48 hour programming competition:

Breaks

The importance of breaks cannot be overstated.  Taking periodic breaks, moving around, and drinking fluids is a must.  When I say break, I mean away from the computer.  It is very easy to check the clock and realize you've spent the last 2 hours staring at the monitor typing away.   It happened to me a couple of times.  A timer might not have been a bad idea.  Not taking breaks away from the computer made seemingly simple problems that cropped up harder to deal with, especially as it got later into the evenings.

Support

If you have a family, having a supportive one is a must.  I was an MIA husband and father for much of this weekend, although we went out on Saturday afternoon to eat some St. Louis pizza (I don't care what Jimmy Kimmel thinks).  I'm lucky to have a family that allowed me to hole-up in the kitchen and let me work peacefully.  They were great and I owe them something fun.

Comraderie 

Engaging with the folks in the #clojurecup irc channel was worth it, especially for a team of one.  I liked seeing how helpful everyone was towards one another.  It was also fun watching the live feed on the Clojure Cup page.  Seeing other Clojurian's setups was cool--people from all over the world were tweeting pics.

48 hours is not a lot of time

Although I prepared on paper quite a bit for the competition, I had to cut features as time started running out.   Time went from adequate to scarce very quickly.  In this competition you had to set up a VPS from scratch in addition to writing your web app.  I'm lucky that my setup and install went smoothly.

Knowing the tools

I put off learning some tools (particularly ClojureScript and Pedestal) because I didn't think there would be enough time to learn them beforehand and be useful in them when it mattered.   Not being 100% comfortable with Clojure and some of the libraries I used cost me some time, so this was a good choice.  I struggled with a few things that would not have been a problem for experienced Clojure programmers.   Having said that, I learned a lot in a very compressed amount of time.

Tero Parviainen

I want to give a huge thanks to Tero Parviainen and the Clojure Cup organizers.  Tero put a great face on the competition and was quick to help out anyone with questions or problems.  The amount of work required to pull something like this off must be huge.  He handled it admirably.

All in all, I had a blast and I'm proud to have been a part of Clojure Cup 2013.  What a rewarding experience.  Good luck to everyone who finished!   See you next year?

If you're a Clojure developer, go check out my app Clojurians and register yourself!  If you find it useful, vote for me when voting opens on Tuesday!

Update: Clojurians now has a permanent home at http://clojurians.org.  The source is available at GitHub.