It’s Been a While

There was a time when I blogged regularly. In fact, I was blogging before they called the whole affair “blogging.” (Yeah, I’m a real hipster like that.) Writing stuff and posting it online has served a few different purposes over a period time that’s soon to span multiple decades—which sounds kind of scary and old-aged when put in that perspective.

With two exceptions one of the main purposes of maintaining a blog has been to experiment with web technologies, both client and server side. This iteration is no exception. The other main purpose was, of course, to take advantage of the world wide web and the ability to for virtually anyone to publish whatever they want. Even now, with this ability so commonplace, it’s still really, really cool. It’s probably my favorite part of working in this day and age with web technologies.

The inspiration for this iteration is mostly front-end related. It’s been a few years since I’ve done any serious interface work with basic web standards like HTML, CSS and JavaScript. This is not to say that I haven’t worked with them, but professionally I’ve focused primarily on server-side code, databases, deployment and network integration. To put simply, the last time I built my own layout iPhones were brand new.

I’ve actually been itching to get something up and running for about a year but the process always goes something like this:

  1. I realize that I completely and utterly detest virtually every canned blog site out there.
  2. That’s okay though. I know code and I know databases and I know deployment! I can can just roll my own.
  3. As it turns out, doing that is boring—really boring. So, I decide to “get to it next weekend when I have more spare time.”
  4. Rinse and repeat.

Building a database-driven blog is something I can do in my sleep. It doesn’t matter if it’s in Rails, Sinatra, Django, Turbogears, ASP.NET (MVC) or PHP (gross), I can do it. I’ve done it. There’s almost nothing new to learn here.

Yes, I could use something that’s already built like Wordpress. However, Wordpress is the definition of awful. Configuring it is awful. Dealing with its themes is awful. Its codex is awful. Its love affair with MySQL is awful. (PHP is also awful.) Did I mention that Wordpress is awful? Code is not poetry people. Get over it.

Mind you, Wordpress is not the only solution, but nothing I had come across really appealed to the control freak in me, or my typical workflows. I don’t need or want a WYSIWYG editor.

The parts that interest me are the design and layout as well as the writing. Getting to that point while rolling my own blog takes more of a time investment that I’ve been willing to put in as evidenced by the fact that my domain has become my own personal Dropbox substitute.

A Ray of Light in my Inbox

(And now I’m listening to Madonna. Geez.)

The other day Ruby Weekly shows up and while looking through it I see that Ruby’s official site is moving to Jekyll. I had no idea what Jekyll was and I started reading.

At first I wasn’t impressed. No database!? Insanity man. How can you run a blog without a database? (My 16-year-old self should have interjected at this point.) Does anyone even use a static site these days?

However, I did like the way the Jekyll site looked so I started sniffing around at the code for ideas. This lead me to a few cool things that, very quickly, brought me out of the dark ages of web design and into the brave new world that is responsive design. Here’s a quick list:

It didn’t take a lot of time to get pretty excited about front-end work after looking through all of this stuff. Unfortunately, I was back to my original issue of needing to build a blog first. So I started and about an hour in I was really, really bored.

Maybe I could use that Jekyll thing to get something up and running in a hurry and then transition to a real blog later,” I thought. And so I did just that.

As it turns out, after spending a little bit of time with the Jekyll’s docs I realized that this didn’t need to be any sort of stop gap. This was the solution! My posts get composed in something sane like Markdown, I get all the advantages of a dynamic site needed for a simple blog (e.g. a templating system), deployment is brain-dead (rsync to my el cheapo host or even FTP if I’m feeling really old school) and it operates with my normal coder workflow. I’m unusually impressed and excited.

The plugins system is excellent as well. With a little bit of tinkering I added an asset pipeline and from there was good to go.

So here I am, blogging again.