It's been quite a while since I last updated this blog. I should seriously start writing more often. So, what have I been up to? With the cold weather here in New York City, it gets difficult sometimes to go out and have fun in the city. As usual, most of my time is spent on technology, software development, stuff like that. Here's a brief recap of what I've been working on:
Got a new MacBook Pro, and I love it - I finally gave in and bought myself a shiny new MacBook Pro. I'm having a blast with it. For the open-source developer in me, this has everything I could ever want. It's a beautiful and sleek machine that has gotten me highly motivated to start expanding my knowledge in different directions. While I still consider these laptops to be pricey, they're really great.
Learning Objective-C for Mac and iPhone development - Since I got a nice Mac, I figured I should start learning Objective-C, then eventually get into Cocoa and the iPhone SDK. I've always been impressed by some nicely-done open-source Mac applications, and iPhone apps have always seemed to be so creative, so I wanted to learn how to build some myself. Since I've been working for so many years on dynamically typed languages (like PHP and Ruby), it's kind of a total change of pace to go back to a somewhat-statically typed language like Objective-C. It's been a bit of a challenge, since I last used a C-based language back in my college days. But it's going along well so far.
I've compiled quite a few resources for learning all of these things. I recently purchased a book called Programming In Objective-C, which seems like the de-facto book on Objective-C, as it's pretty extensive..And there are a few good screencasts - PeepCode developed a screencast dubbed Objective-C for Rubyists, and The Pragmatic Programmers have a screencast series by Bill Dudney called Coding in Objective-C. Of course, Apple has done a fine job with their Objective-C documentation. All of these resources should get you coding in Objective-C in no time.
The iPhone development part is mostly being learned because at my day job we would like to create a nice iPhone app for users of our site. I truly think that a mobile interface will expand our user base easily, even if people say they don't really use mobile interfaces for a lot of things. I find myself using Facebook and Amazon's iPhone apps more than I visit their sites.
BarterQuest is getting better and better - It's been a wild ride on BarterQuest since we launched. We've been featured all over the place, from blogs to television shows, and we're getting more and more users visiting, registering and trading on our site every single day. I've even traded twice already, and everything has gone as smoothly as it possibly could. It's a great way to get the stuff you want by getting rid of the stuff you don't want.
If you haven't checked out our site yet, or haven't done so in a while, I highly recommend you visit us soon. We're going to be adding support for Real Estate in a few weeks, so our range of tradable items will greatly expand. And stay up to date with all that we're doing by following us on Twitter.
Learning (and liking) CouchDB - My curiosity with CouchDB started when people were mentioning it quite a bit, and some Rails libraries like CouchRest were gaining some attention. So I checked it out for the first time, and I had no freakin' clue why someone would use document-oriented databases, when relational databases did just fine.
Then a week I was working on a side project, and when trying to design my classes, I noticed that I would either have to denormalize my database tables, or be strict with normalization, but have a rather messy database schema. Then it just hit me - I finally knew the reason why CouchDB would rock in this scenario, where the data I was storing wouldn't always follow the same structure. So I got into it, and I'm really liking it a whole lot. It's something different, yet really useful in some situations. Seeing that there's a market for databases like these, like Amazon SimpleDB, it seems like CouchDB (and document-oriented databases in general) will gain much popularity in the foreseeable future.
These are just a few things I'm playing along with. It seems like there are a lot of fun times ahead in software development and computing in general. I'm just happy to be able to ride the wave.