It seems like every time I start playing with Sinatra, an hour later I’ve built a microapp I wouldn’t have built without it.
I suppose this one’s pretty self-explanatory.
It seems like every time I start playing with Sinatra, an hour later I’ve built a microapp I wouldn’t have built without it.
I suppose this one’s pretty self-explanatory.
Rails Rumble 2009 is right around the corner and I’m chomping at the bit to register.
Last year I had just started to toy with installing Rails and learning this crazy new thing called computer programming. I really wanted to participate but was short on skills.
This year will be different. I got together with 3 other inexperienced idiots and formed Team Fuckparty. If we can’t call ourselves Team Fuckparty, it’ll be PuckFarty but make absolutely no mistake.
We started outlining the technology stack we plan to use, and I thought it might be interesting to see what the noobs are using and excited about, because it might differ slightly from what the old folks use to build their Rails apps. The preliminary stack is shaping up to look like:
I got to spend almost all of last Saturday playing with my Arduino and hooking it up to Processing.
I think it’s missing a strobe light most of all.
Video link: Crazy Visuals, bro from Bryan Woods on Vimeo.
Recently I came across an interesting post on Daring Fireball linking to an intriguing comic:
Remember Sean Tevis, the information architect who decided to run for the state legislature in Kansas with an xkcd-style web comic promoting his campaign? He lost, but it was close, and he’s raising money in a similar fashion again. He is not accepting any money from industry or corporate lobbyists, only direct contributions from voters.
Also interesting: a poll commissioned by his campaign just before the election last year showed an incredibly strong correlation based on browser usage. IE 6, AOL, and non-Internet users were more likely to prefer Tevis’s opponent, Republican Arlen Siegfreid. Firefox, Safari, and Chrome users were more likely to prefer Tevis.
First the obligatory: “Oh, ha ha. I wonder who IE 6 users voted for in this past election.”
The the obvious: “Actually…I wonder if this could be tested.”
And so I spent some time last week putting together some static HTML files with separate Google Analytics settings in order to see if there is in fact a connection to be made between the seemingly trivial (a person’s web browser preference) and the more substantial (the same person’s political preferences and the can of worms that comes with it).
The result is Browsaticks.
Arrive at the site and you’re presented with a simple statement:
Simply make your choice, and you’ll be redirected to a page that will print your political leaning, your current browser, and your operating system.
These stats are then tracked by Google Analytics.
The results won’t be scientific or (maybe even accurate!), and I have no idea what an adequate sample size for a test like this would be, but the results could be interesting.
So anyway, feel free to check it out and pass it to your friends, and I’ll post the results if a substantial sample is created.
I don’t know about you, but I can’t wait for winter to be over.
I’m usually not so bad, but this winter I’ve had at least three, maybe four full-blown colds, which is unusual (I’m pretty consistent with my one cold a year, thank you very much).
I’m definitely in a different place in my life this winter than I have been previous years. My job requires relatively frequent travel and working from home, mostly. So how my friends and family respond when I tell them I’ve been sick is almost forgivable. Almost.
“Get out more.”
“Eat better.”
“Get more exercise.”
I’m sure you’re familiar with this scenario, and I can’t say I completely blame them for trying. After all, getting some sunlight, eating healthily, and exercising regularly are undoubtedly formulas for a healthy lifestyle. But what about the same logic applied conversely?
“If you get out more, your cold will go away.”
“If you eat more healthily, your cold will go away.”
“If you get more exercise, your cold will go away.”
I don’t know about you, but I’ve never been warned that eating a slice of pizza can actually cause the flu.
The real reason I’ve been sick is simple. Malicious bacteria or virus are in my body, rapidly multiplying and wreaking havok on my immune system.
So why does nobody say that? The correct response, if ever there was one, to “I’m sick” is “There are organisms within you, feeding off of your body and fighting your immune system.”
But the reason we divert from this fact is because it makes us feel powerless. It makes people feel so much bigger and stronger to blame their own habits than those of a single-celled brainless organism. People need to feel in charge, and there’s a whole lot of psychological science behind it that I don’t know enough about to get into.
But this same kind of failed and misguided logic is the same that governs a lot of what goes on in the tech world, too.
There are so many different possible “solutions” for bad code. Pair programming, Agile, XP, Waterfall, Scrum, Code Review, Conferences, Training, Books, Blogs, Workshops, Social networks, User groups, TDD, BDD…
The list goes on for so long, and it’s all bullshit, because if you’re consistently writing bad code it’s because you don’t know how to write good code.
There are definitely ways to ensure a good programmer writes good programmer code more often, but all of these “best practices,” when taken too seriously and to too far an extreme, become nothing more than failed logic.
“If you pair program, you will no longer write bad code.”
“If you eat salad instead of pizza, you will no longer have a cold.”
There is an infinite number of reasons or explanations for bad code, but if you’re finding that the code you’re writing isn’t as good as you’d like it to be, maybe it’s time to get to the root of the problem (you aren’t writing good code) and solve it (exercises, fundamentals, study, understanding the client’s problem or domain better, learning the design of your framework, etc).
It’s easily one of the most recognizable cliches of Martial Arts films: the Wise Old Zen Master, living alone in a picturesque dojo, who waits patiently for the as-legend-has-it warrior to climb the miles of staircase to begin receiving his own as-legend-has-it martial arts training.
The master is always portrayed as an absolutely brutal figure, unforgiving of the shortcomings shown in their young and inexperienced student. Simply finding His dojo and receiving His blessing takes years of a young warrior’s life, and the student always makes the inevitable mistake of thinking the hard part is over when they finally show up on the Master’s doorstep.
And even though we’ve seen the same images in the same plots of so many of the same tired old Martial Arts films, we remain drawn to it. We empathize with both the master and the student, which is something that happens so rarely in films. We know the student will make it through the arduous learning process and become the greatest warrior in the nation’s history.
If we’re lucky there might even be a montage.
But back to the point. The reason we feel so deeply for the two characters is that their struggle is so complex and so timeless. There are layers of external tension between the master and the student, internal struggles within themselves, and broader themes of God and Country.
It’s every great story that’s ever been told in any language ever written. It’s the story of becoming the World’s Greatest by not only wanting it more than anybody else, but also legitimately working harder than everybody else.
But that’s still not the whole reason we’re drawn to the story. There’s still something else.
Greatness through sheer will, determination, and effort is seriously undervalued in our modern culture.
Watching the cheesy movie with the up-and-coming ninja walking miles uphill with buckets of water on his shoulders strikes us because we intrinsically know that this is the only clear path to greatness, but we too often push it aside for instant gratification.
And in the world of “new media” this is even more prevalent than anywhere else. Businesses are told they need a Myspace profile, and while they’re at it they should really register for Facebook and start a group for “fans” of their business to communicate. And a LinkedIn group for social networking of the more “businesslike” variety. And this new thing called Twitter is getting really hot so we should get ourselves on that, too, and make sure we aggregate it all together with our Flickr photos from the company picnic three summers ago onto a Friendfeed page, etc, etc, etc.
And what is the goal of all of this? To “raise social capital.” Because somehow if you sponsor, brand, encourage, or “embrace” the conversations about your brand online, somehow you can convert these genuine social moments between real people into capital.
Seriously. Businesses both big and small are being tricked, by smaller and louder people taking advantage of the rapid pace and confusion, to believe that conversations between people online equates to actual dollar bills toward their bottom line.
But Facebook messages go unread, Twitter streams become RSS aggregators, and on and on until you’ve had the exact opposite effect you were looking for. You’ve become caught up in the volume and the pace without realizing the “experts” you’re allowing to advise you are really handing out flyers at the streetcorner of a dojo of their own:
It’s so easy to get caught up, confused, tricked, or swindled online, and frankly it takes so much more time and so very, very much more effort to become the master of the dojo on the hill. But which would you rather be?
Inspired by the visual art of Seldon Hunt.
Jeff Atwood posed the age-old question again today on his blog, and I thought it was worth a little more introspection as someone who was (is?) a musician first, programmer second.
The question: “Why are so many programmers musicians?” (Note: the question is coming from a programmer, not a musician, which is the first notable point. Many programmers might fancy themselves musicians, but it’s highly doubtful that a proportionately high number of musical performers write code offstage.)
REAL ARTISTS SHIP
Sure, both musicians and programmers create and release things, but we never really give either group full credit for how inherent this release cycle is to their jobs. Simply put, if you’ve written code but have never compiled a self-created working program of some kind, you wouldn’t call yourself a programmer. Likewise, you’re not a musician if you’ve never played a song.
This point is almost so obvious it’s ridiculous to waste time on, but think of all the people you know who have jobs that could go on for fifty years without a tangible “thing” being created. Most people I know who input data into spreadsheets, make photocopies, wait tables, count money, deliver newspapers, or sit in meetings throughout their day could do so from early adulthood to retirement and never build anything.
The real reason our hearts flutter a little bit when we hear the words “real artists ship” is because it’s fundamentally true (because you fundamentally can’t be a real artist without having shipped something), and also because we know that a vastly disproportionate number of all the people we’ve ever met in our lifetimes we’ll never ship anything.
The point being that if you limit the input to only people who ship stuff, you’re immediately going to see an overlap from there on.
LOUD == POPULAR
Let’s face it. Becoming popular–at least to an extent–as either a musician or a programmer has less to do with personal branding or even (dare I say it) skill as much as it does with just being louder than everybody else. It might not make you the best or the most world-famous, but you can still pretty much guarantee in the fields of music and software that as long as you’re loud enough you’ll get noticed and followed to one degree or another.
Just ask these guys:

GOING NICHE FOR PROFIT
Both musicians and programmers are raised with a similar value set. Learn the tools that are valued, get a job using said tools, profit. So of course the most unbearably boring, untalented, and uninspired losers in both fields do just that. They study CompSci or Classical Performance, learn java or the violin, and get a job in a big office building or junior high school. It’s safe, it’s secure, and it’s a no-brainer.
On the other hand you’ve got the true hacker types who realize and value success a little differently. These are the programmers who give up Java for Ruby after college, or the musicians who drop out of college entirely and bend circuits.
The irony is that the more niche you go with your career, the higher your chance of success. Right now there are a million people hoping to be a successful rapper or pop singer, and probably 200 trying to be successful power electronics musicians.
And of course since even the average musician listens to more music than they write, the demand for strange genres like power electronics rises disproportionately. If you’re able to become one of the top 20 of the total 200 power electronics musicians, you’ve found yourself in the top 10% internationally.
Obviously the same goes for programmers.
Just as in DHH’s concept of the ’surplus’ and Giles Bowkett’s idea of the ‘fringe’, as a musician or a programmer you have the ability to carve out a niche to be successful in, which is very powerful even if by the simple mathematics of “fish in the pond” numbers.
Certainly every career you can think of has its niches and maybe I’m overdoing it a bit, but I think this is a huge draw for musicians and programmers to their fields (and to the place where you can successfully be both). While I’m sure most advertisers and marketers are still working offline, I would highly doubt that specializing in “social media” as a marketer could automatically bump you to the top 10% internationally in your field, or specializing in Japanese used car sales, or kangaroo veterinary medicine, or Laffy Taffy humor writing, etc, etc, etc.
Noise musician or Merb contributor? LOL DUNNO.
SO WHAT?
The percentage of musicians who consider themselves programmers is very low. Even if it would make perfect sense thematically for him to knock out a Perl script from time to time, I’ve never seen William Basinski make a contribution to Open Source or Prurient write a badass Lisp compiler.
But there are way more “musicians” (or people who call themselves musicians) than there are “programmers” (the same).
The percentage of programmers who consider themselves musicians, all else considered, is disproportionately high.
This is for a bazillion trillion reasons, probably, but has everything to do with the specific personality traits that would draw someone to proramming in the first place.
Again, all else considered, if you consider these personality traits: