Hello guys! It’s this time of the year again. And while I don’t exactly feel the Christmas spirit, I can’t help but reflect on what happened this year. And it has been quite the roller coaster (for me anyway). A lot has changed since this time last year. I’ve managed to accomplish many things I wanted to, mainly professionally (unfortunately not so much with my personal life).

Thinking about what happened this last year, this blog of course comes to mind. December 2013 was the time I started it. Back then, I didn’t know if it would be something people would be interested in. And more importantly, I didn’t know if it would be something I would enjoy and stick to. More than an year later, I’d like to think that it is something I’m definitely interested in and have no intention to stop doing. Yes, it takes a relatively long time to maintain (certainly more than I thought it would). But seeing that it helps others solve their problems and also allow me to write about things I found interesting and/or have dealt with at work, is so satisfying that it outweighs the negatives.

Initially, it was my intention to have new content in the blog once every two weeks. Of course, it all depended on how busy I was at the particular time. And lately, I haven’t had much free time for it. However, today I realized that there are 31 posts in the website, written within 13 months, so I guess I managed to keep up the pace.

As you might imagine, there are articles that turn out better than others. I cannot say I love all my content. That got me thinking… Which are my favorite posts from the past year. And I don’t mean which were the most popular. In fact, these two lists would be very different. There are articles that are very close to my heart that just didn’t make it. They get only a handful of views. The truth is that a post’s popularity involves many factors that are not related to it’s quality. Maybe I didn’t optimize it for SEO right. Or maybe it wasn’t something many people encounter in their daily jobs.

Anyway, lets get to the point.

Author's pick for best articles of 2014

Regular Expressions in iOS

Even though it’s mildly popular among users, the post about Regex is, by far, my favorite. There’s just something about it. I love how it turned out. I decided to work on an example in order to build the tutorial, and something just clicked. I managed to steer readers from one solution to another while explaining what works and what doesn’t. I think it was the first time an article turned out great for me.

WatchKit tutorial

The WatchKit tutorial is one of the more recent posts in this blog but it’s proving to be one of the popular ones. It provides introduction to development for the Apple Watch and features a few code examples to get you started. it’s meant for people who want a brief introduction and don’t necessarily want to get involved yet. I hope I managed to get that message through.

UIPageViewController tutorial

The UIPageViewController tutorial is, no doubt my most popular post. It’s the top most viewed practically every day. I’m not sure why that is, but I’m glad people find it useful. Ever since it came out, I’ve been trying to figure out what I did different with it and apply it to future articles, because it is clearly successful.

NSURLProtocol tutorial

The NSURLProtocol tutorial is also one of my favorites. However, since not many people know about that class and even fewer have use for it, it doesn’t get as many views as it deserves. It’s really cool that Apple decided to put it in the Cocoa framework. It can really be a lifesaver in some occasions. I was so proud to be able to use it in my SimpleEpubReader project.

Unit testing

One of the several practices I wanted to incorporate in my workflow this year was test driven development. And since I couldn’t use it in my day job, I was mainly experimenting with it in the evenings. And I also wanted to share my new knowledge with the internet via a series of blog posts. In retrospect, these posts have probably helped me learn TDD more than they helped anyone else. But still, I hope they were helpful to you as well.

Using the debugger console lldb in Xcode

Not many people nowadays really leverage the functionality given to them by the debugger. Mostly they use it to stop, step over and inspect variable values. And that’s a real shame, because you can do wonders with the debugging console. This article was my way of spreading the word about it.

UIAutomation in Xcode

Automation is something I’ve always been interested in. And if I had the power, I’d make sure Quality Assurance always tries to automate some of the  testing process. And I was surprised to read that Apple developed a tool for that. I played around with it for a while, write a couple of scripts for the applications I was working on and afterwards decided that it might be something people would like to learn about.

AVAudioSession bluetooth support

Oh, Bluetooth support… It was my kryptonite for quite a while. It is so fragile and every time, there is an use case where it doesn’t work exactly as planned. After a week or two of debugging i think I finally figured it out. And since there’s hardly any resources on that, I decided to share my experience with others.

Crash reporting in iOS

There are so many crash reporting frameworks out there that people probably don’t realize that it’s not such a big deal to do yourself. And crashes are not that hard to comprehend - it’s just the OS shutting you down because your application is misbehaving. With a little bit of Unix knowhow, you can have it all figured out.

Testing iOS and Mac applications with ipfw in unreliable network conditions

I’m really proud of this one. Why? Because it’s the very first DevMonologue article ever. My first attempt at blogging. There are many things about it I wouldn’t do today, but it still has sentimental value. I realize that there aren’t many people that would find it useful, but I think it contains some cool information - like some inner-workings of BSD’s firewall.