So You Decided To Start A Blog

2015-04-23   |   tags: meta , blogging , side projects

I started this project almost a year ago as a busman's holiday in a previous life. What could be better than working on blogs for your day job than to come home and work some more on your own blog?

Some of the reasons why I wanted to write my blog (and literally in both senses: the words on this page and the code) was to experiment in my own sandbox where I call all the shots and get to play with all sorts of bleeding edge tech (read: “I saw this cool thing on HN and therefore I am going to use it”).

In practice, it turns out that using personal projects as a platform to learn new stuff is pretty effective, that is if you never want to get anything done. To summarize, this was my thought process:

  • Scala, of course, because this project will be fueled with type systems and my own sense of self satisfaction and smugness (sometimes positively correlated)
  • Markdown! Markdown editor! Nerds who write love Markdown!
  • It's gotta have a REST API backing it!
  • DigitalOcean!
  • Front end frameworks! Skeleton, ooh spooky
  • Authentication, can't have people hijacking my craft CMS of course
  • …JavaScript…! …?
  • MongoDB for end-to-end JSON! and ooh, ~reactive~ Mongo
  • Gotta use Docker!
  • *play FIFA for a few hours*
  • how do i orchestrate/deploy oh man it's been 10 hours and i havent gone outside all weekend
  • dude CDNs man, CDNs save money right gotta set up CDN
  • i'm hungry
  • okay all set up with a wobsite and deployed, now what do i write about… eh i guess i'll do that later

And so you see how bikeshedding can be a pretty fun hobby.

I ditched nearly all of that in favor of rewriting and building what amounts to a 5% of a terrible Jekyll clone. That's not to say that the rampant bikeshedding wasn't good, in this case I think doing so let me touch a lot of new tech I haven't had the chance to before. Here's hoping the initial exposure will help me later. (Or kill me by allergic reaction on second exposure. The human body is a wonderful nightmare.)

In the end, what I have is much simpler (push to deploy, hell yea), and most of all it's the bare minimum.

The bare minimum is something I learned about in a previous job, mainly because it was the punchline to make fun of a 'lazy' coworker who appeared to barely do anything. (He wasn't actually lazy, by the way.) But there's some truth to it! The bare minimum is everything. Do the bare minimum in agile development, and for you serial startup addicts, I mean, entrepreneurs out there, the bare minimum (or in your parlance, “the MVP”) is what might eventually make you cashmoney.

Anyways, the code is up here: https://github.com/longcao/merseyside. I named the project after the English county of Merseyside, where Everton FC are based.

See you soon.