pretty much the pinnacle of achivement for feather…
Purple Workshops
My buddy Jeff Cohen of softies on rails fame has started up a company to do on-site training workshops for:
- Ruby
- Rails
- Agile
- Scrum
If your company is on the lookout for some great on-site instruction, give Jeff a shout. I’ve attended a class of his in the past, and it was excellent.
Do check it out at http://purpleworkshops.com
Plurk
After my falling out with twitter, I began seeking an alternative micro blogging site to satiate my micro blogging needs. Yeah, men have needs too, micro blogging obviously not withstanding. Obviously.
I started out with Pownce, which I do really like. However, my strange nerd man needs were somehow left unsatisfied. It’s kind of a hard to articulate, but I was sort of just left wanting, if you will. Don’t get me wrong, I’m not going to start hating on Pownce now. It’s a great site, but I wasn’t really feeling the micro-blogginess of it (yes I’m inventing words now. want to fight about it?). Also, it’s pretty sluggish.
I caught an episode of attack of the show over the weekend, where they did an expose on Plurk. At first, I was thinking big whoop, yet another twitter clone, but then it dawned on me, I’m looking for a twitter clone, but what I found was Plurk has so much more to offer.
Things I like about Plurk:
- It works
- The timeline based UI is super polished, and very shiny!
- The karma rewards system is pretty damn cool, and gives me some incentive to use it often.
- It’s very responsive. Hopefully that will hold up as the site gains more users, and traffic
- Replies on Plurks are allowed
- Nifty customization features with increased Karma
- It works
Things I don’t like:
So far the only thing that I found wrong with Plurk is the invite feature. I sent out a boat load of email invites, and no one got them. I had my friend check his spam folder too, and it wasn’t there. Not sure what’s up with that, but I have a support email in.
It seems their API isn’t quite finished yet either, but at least they’re working on it.
If you’re feeling the Twitter woes like me, give it a try, I think you’ll be very impressed with it.
Ohloh La La
I randomly just stumbled across feather on Ohloh. There’s some really interesting code metrics and such there.
Apparently they think I have the most commits, followed very closely by El. Ohloh says I’ve written more HTML than anything. Interesting. In retrospect, I guess I did do most of the markup and CSS for feather. So that does kind of make sense, especially considering the HTML to Ruby ratio:
HTML - 50%
Ruby - 32%
JavaScript -15%
Other - 3%
If you scroll down to the bottom of this page, you’ll see that we have 25 lines of PHP in there. That’s news to me. If I find out who snuck PHP into a commit, I’m going to give that person a very serious tongue lashing.
All tomfoolery aside, Ohloh is a pretty sweet site with some good info about feather there.
Speaking of Old School
Today marks the day where I’m one year away from turning 30. Time flies.
old_school
If you asked me a year ago if I’d ever return back to C development, I’d probably laugh at you. I mean we have wonderful languages now like Ruby, why would one ever want to use C again? Yeah, if you’re writing a virtual machine, an operating system or video game, C makes good sense. But for a database application? Sounds pretty nuts right? Yes, and no.
I’m going to be consulting on a project soon that is written in .NET (gasps). The CEO of Urbis, Steve Spurgat, devised an interesting, and semi-unique credibility and ranking system that we’re licensing to another company. This system requires some heavy mathematical calculations, on a large set of data. So it was my bright idea to write the calculation engine in C. This provides the following benefits:
- It’s uber fast
- We can use the same code on our Linux servers for urbis.com when it’s done.
So I started researching the MySQL C API, and found it fairly straightforward, but not very streamlined. I wanted a simple wrapper around it to shield some of the complexity and make issuing queries more straight forward.
To issue a simple select query with the API, you have to do something like this .
Not really terrible, but imagine writing code like that every time you want to get some records. The following code is more like it:
if (conn = do_connect("localhost", "root", NULL, "urbis_development")) {
if (res = find("bars", "id, name", "id = 1", conn, NULL, NULL)) {
while ((row = mysql_fetch_row(res)) != NULL) {
printf("%s \n", row[1]);
}
}
}
And out of this, the old_school library was born. It’s still in its infancy. I haven’t even started using it on a real project yet, but I think it’s a really good start. I’m definitely looking for committers, comments, suggestions, or whatever you can offer.
Wow, I haven’t written a line of C code since college (circa 1998), but it feels pretty good to go back to my roots.
OS X Chat Clients
I’d like to pose a question to all my fellow Mac heads out there: what chat client are you using? I’ve been using Adium for a few years now, and it’s finally getting to the point where I need to switch or have a serious meltdown. Well not really, but I figure the drama could be semi-entertaining? Probably not. Anyhoo…
On the surface, Adium is really pretty awesome. The user interface is outstanding, and it supports all the chat protocols I need. However, the seemingly most important aspect of any chat client (you know, sending IMs) is totally lacking with Adium. At least the MSN integration. Messages get lost all the time, and I seem to get signed off a lot as well.
I’ve looked around the Intarwebs fairly thoroughly, and can’t seem to find an adequate replacement. IChat is nice, but doesn’t support MSN, which tons of my friends use.
Help.
Bitter
For the past three weeks or so, the wonderous twitter has been completely hosed for me. Behold the beautiful 500 message I get each and every time I hit the home link.

I’ve emailed them about this, and heard screw all back. Friends of mine have been complaining about a myriad of issues while using twitter as well. I get it, they have tons of traffic. What I don’t get is why they haven’t fixed the site yet. Perhaps they’re spending all their support cycles on a potential PHP rewrite.
The developers in twitter land have complained ad infinitum about how shitty rails is with scaling, but I’m wondering if the fact that this was their first rails site has anything to do with it.
As far as I’m concerned, twitter is for the birds. Pun totally intended.
Shiny #2 - System to the Rescue
So I ran into a really strange issue in a rake task that downloads a zip file, then uses rubyzip to extract it. The download was working great, but rubyzip was puking trying to extract the file with a buffer error.
To make a long story short, instead of trying to figure out what was up with that, I decided to just use the built in system method in ruby. With system, you can call any arbitrary application that resides on the machine where the ruby code is executing. On my Ubuntu box I first installed unzip with sudo apt-get install unzip, then in my rake task system(“unzip #{path_to_zip_file}”).
Done deal. I can definitely foresee Ruby’s system method coming in handy in a lot of other situations as well.
#feather
El started up an IRC channel for us (#feather) on freenode. El and I are going to be hanging in there as much as we can so if you have a question about installation, working on your plugin or whatever, feel free to jump in. Or if you want to just shoot the shit, that’s cool too.