Sep 26 2009

At the end of the day, just ship the f***ing thing!

This article about “Duct Tape Programmers” excerpts another article with interviews from great coders. I just had to share this fantastic quote from Jamie Zawinski

“Yeah,” he says, “At the end of the day, ship the fucking thing! It’s great to rewrite your code and make it cleaner and by the third time it’ll actually be pretty. But that’s not the point—you’re not here to write code; you’re here to ship products.”

I’m a big fan of “the proper amount of abstraction”, but I think its important to remember the scope of each thing we’re working on. Rock on jwz.


Aug 23 2009

SSH brute force protection – Its almost always already written

Every time I get my logwatch report and see the 20 – 40 daily brute force attempts on it, I cringe. I’ve locked it down to a point, but ultimately I prefer convenience on some level. Limiting any one IP to 2 ssh connections every 5 minutes has annoyed me as many times as it has probably saved me. Preventing root from logging in is nice too.

Ultimately though, I wanted a way to fight back against the brute forcers.. to get a step ahead of them. From seeing the success of projects like SpamHAUS and Project HoneyPot, I know that massive group collaboration works. Of course I started thinking how I’d write it in my head. Every time… for months.

Well, once I let go of my egotistical desire to write it, I found this great project, DenyHosts, which does the same thing for the brute force scanners. I just installed it, and already it has added a few IPs to hosts.deny. Go download it, run it, and stop the annoying scanners!


Jul 25 2009

Your code must suck

While attending OSCON 2009 w/ my faithful sidekick fluffy, we constantly kept finding instances of a common theme. The leading companies and projects seem to share one attribute that might shock you.

They all have at least *some* crappy code. At some point, all of them › Continue reading


Jun 8 2009

The Trans-doran Complex (How to get hired by me)

Seth Godin’s recent post about responding to discussions about things you don’t understand has got me thinking about hiring people.

When involved with a staffing decision, I look for one trait in particular above all others. If you don’t know how to say “I don’t know”, and ask for an explanation or help, then you’re not really smart. You don’t have a good process for learning. You may have a mountain of knowledge in your head, but it is surrounded by a huge, impenetrable ego shield, and so, cannot ever be added to. Its like you took the sum of what you knew, and stuffed it into a snow globe. When people shake you up.. sure.. its pretty, but thats all there is to it.

I’d rather work with people who are open to having their entire belief system about certain subjects shattered by a better idea. That doesn’t mean that you shouldn’t stick to your guns and assert your own ideas and beliefs. It just means, when challenged, be like the Zen Buddhist Aikido master and flow with the force of the attack, and when possible, use it to your advantage.
› Continue reading


Jun 3 2009

TokyoTyrant – MemcacheDB, but without the BDB?

This past April I was riding in a late model, 2 door rental car with an interesting trio for sure. On my right sat Patrick Galbraith, maintainer of DBD::mysql and author of the Federated storage engine. Directly in front of me manning the steering wheel (for those of you keen on spatial description, you may have noted at this point that its most likely I was seated in the back, left seat of a car which is designed to be driven on the right side of the road. EOUF [end of useless fact]), David Axmark, co-founder of MySQL. Immediately to his right sat Brian Aker, of (most recently) Drizzle fame.
› Continue reading


Jun 2 2009

Parallel mysql replication?

Its always been a dream of mine. I’ve posted about parallel replication on Drizzle’s mailing list before. I think when faced with the problem of a big, highly concurrent master, and scaling out reads simply with lower cost slaves, this is going to be the only way to go.

So today I was really glad to see that somebody is trying out the idea. Seppo Jaakola from “Codership”, who I’ve never heard of before today, posted a link to an article on his blog about his experimentation with parallel replication slaves. The findings are pretty interesting.
› Continue reading


May 2 2009

OSCON 2009 Here I Come

After having so much fun at the MySQL/Percona 2009 conference, I’ve decided to self-fund my trip to O’Reilly OSCON 2009.

My first step in this was adding banner ads to fewbar.com. I’ll also be juggling swords and old 386 laptops on Venice Beach on the weekends just in case my traffic doesn’t increase.


Apr 30 2009

Decision vs. Precision

I love Seth Godin’s blog. Its technology aware but focuses people, which is why we have this technology, right?

Anyway, he makes the point in his latest post titeld “I need more time” that more time doesn’t necessarily lead to better decisions.
› Continue reading


Apr 27 2009

Percona Performance Conference/ MySQL Conference 2009

Seated in the terminal here at San Jose airport, I’m reflecting on a really great couple of days spent at the Santa Clara convention center. In addition to publishing the working DBD::drizzle driver, I met a lot of very cool people, and heard some really great talks.

Big thanks go to Patrick Galbraith, who not only handled the dirty work of publishing DBD::drizzle to CPAN, but also handled the dirty work of introducing me to the likes of Brian Aker (founder of the Drizzle project), David Axmark (co-founder of MySQL), and a bunch of other really smart people.
› Continue reading


Apr 22 2009

DBD::drizzle w/ libdrizzle is a reality

After a few weeks of working hard on it, myself and Patrick Galbraith have gotten DBD::drizzle working using the new libdrizzle.

Patrick is uploading it to CPAN right now, but you can get the latest version in my Launchpad tree. I have tested it running MogileFS as well, which seems to work perfectly.

For now its just a near direct port from libmysqlclient to libdrizzle.. but we are planning on revamping a few of the things to handle multiple connections and fully non-blocking I/O. w00t.