It’s also humbling how I figured it’d come out way earlier than it did: I thought September was a reasonable release date, but it turns out writing a well-polished book takes a lot of effort and a heap of patience. That being said, I’m happy the book got to a place where I’m not scared of publishing it. Publishing is a scary thing. Once your words become ink in bookshelves, there’s no turning back. The idea of getting nasty reviews certainly haunts me from time to time, but I guess it’s just something I’ll have to learn to live with. Hopefully I get the nice kind of reviews, though.
Pony Foo as a Blogging Engine
When I started putting together ponyfoo two years ago, it was my first baby steps into the world of Node.js, coming from the .NET and C# universe. I was impressed by how little effort it took to do anything, and everything seemed to be well contained and single-purposed. I fell in love with this idea.
It was also my first jab at putting together my own MVC framework, which was a great learning experience that ultimately led me to build Taunus this year. The original MVC framework in Pony Foo was too tightly coupled to survive, but it had some nice ideas. It took a conventional approach to input validation and error messaging, didn’t use a hash router (you know, those “lovely” URLs like
/#!articles/2014), and it was decent enough to get me started.
Then I started dreading it. It did client-side rendering only. It was breaking the web. It was so very slow. It failed to let web crawlers crawl and it expected them to walk. This is probably the thousandth time I’ll say this, but the fact that Google is soon going to become a Web Walker is not enough, not yet. What about Facebook, or LinkedIn (gasp)? They’ll crawl your site too, and client-side rendering won’t help you.
Luckily, this year I did get around to rewriting the engine. It had gotten to a point where I didn’t even want to publish articles. That’s how slow it was. If I didn’t want to browse my own blog, who would?
I compiled a list of best practices and performance optimizations I put together to make the site faster. Way faster. I’m glad I did that. I would’ve probably abandoned the blog if it wasn’t for the rewrite. As part of the rewrite, I addressed several things people complained about often, such as the ability to post comments without an account, getting rid of the annoying “reading time” label that followed you around, and the hiragana bullet points.
Pony Foo as a Blog
This year, Pony Foo saw roughly 250k page views, compared to the ~100k last year. One day in particular hit 9520 page views, according to Google Analytics, and another hit 8848 page views.
Just like last year, here’s the top ten articles according to page views on Google Analytics.
- Gulp, Grunt, Whatever ~33k
- Stop Breaking the Web ~25.6k
- Choose: Grunt, Gulp, or
- My First Gulp Adventure ~17k
- CSS: The Good Parts ~14k
- Angle Brackets, Rifle Scopes ~11k
- Grunt Tips and Tricks ~6.7k
- Angle Brackets, Synergistic Directives ~4.7k
- Teach Yourself Node.js in 10 Steps ~4k
- Critical Path Performance Optimization ~3.7k
Attend all the Conferences!
When I wrote last year’s review I had a secret. I wanted to give talks at conferences. I didn’t want to write it in that blog post, but I really wanted to do it. Problem is I had never even attended a conference, let alone give a conference talk! In March I went to my first conference ever, JSFest SF. It was so much fun! I even went to a Beer.js meetup. I had never been to a meetup.
A week later I went to JSConf UY. Around that time I was asked to speak at JSConf US, and a week later at QCon NY. JSConf US was exciting, to put it mildly. The location was ridiculous, that’s the best word I can come up with to describe it. People were nice, food was amazing, and the event was carefully planned. We played with rockets, I gave interviews (!), I had fun.
I don’t think the talk itself matters; I was most proud of not running off the stage and locking myself up in a toilet stall.
Good thing my talk was on day one, since I was oblivious of everything that was happening around me until the moment I got off stage. Then I could finally enjoy the conference!
I think the most important thing in that experience was how nice and reassuring everyone I spoke with after the talk was to me. Over time I did get better, when it comes to nervousness. At QCon there was a much smaller crowd (larger conference, but it had like 10 different tracks), I had already broke the ice at JSConf so I was more relaxed, confident that I could deliver a better talk even if it was the same title.
In August I went to Zürich for the Frontend Conference, and this time I gave a different talk, Browserify All The Things. This was the first time I thoroughly enjoyed the experience. At JSConf I was scared out of my mind until after my talk was over, at QCon I was a bit disappointed at the turnout, since people were spreaded over a lot of different tracks, but at FrontendConf the audience was just right, and I enjoyed giving the talk.
Turns out Switzerland is filled with really nice people, who knew? I coincided again with other speakers (namely, Axel), which was kind of nice. I had barely even dabbled in the local scene and I was making friends with distant community members all over the world.
Soon afterwards I went to From The Front, in Italy. The conference was in a nice theater in Bologna. I gave the tooling talk again, had stupidly tasty food. Bologna is renowned for its food and foodies. When I finally got back home I decided to attend a few conferences in Buenos Aires, namely RubyConf AR, PHPConference, and JSConf AR.
Around then I went to CampJS in Australia, which I already covered elsewhere, and gave the Browserify talk again. When I came back we put together NodeSchool in Buenos Aires for the first time, which had a great turnout.
My last conference for the year was JSFest Oakland, where I gave the talk on Browserify once again. It was kind of nice, given that JSFest SF was my first conference ever and then I got to give a talk at the event a few months later. JSFest is one of my favorite conference formats, where every day there’s typically a driving theme (Browserify, Hapi, CSS, Node.js, etc), and then an after party of some sort (Gin.js, Beer.js, Dance.js, etc). What’s even better, it lasted a whole week!
Unfortunately, my reading slowed down this year. Maybe it was the conferences, maybe it was the book writing, but the fact is that I read a lot less books this year than in 2013. Here’s a list.
- Zero to One
- The Year Without Pants
- Lean UX
- High Performance Browser Networking
- NoSQL Distilled
- The Win Without Pitching Manifesto
Considering you’re reading this blog, the one you should definitely read if you haven’t already is High Performance Browser Networking. Inspired is also a great book, but it might not be as relevant. HPBN is an instant classic describing the world under the comfortable hood of HTTP and web browsers.
I failed on my mission to read about compilers and operating systems or databases, but I’ve already purchased a few books on those topics. Now I just have to read them!
Here’s hoping 2015 brings about even more conferences to attend!