E ciggy!

image

image

Just got my Titan 510 in the mail; it came with two, so I gave one to my buddy Jon for a tandem evaluatory period. So far, we’re pretty sold on the whole E-cig thing, and the titan comes with that cool blue LED =D

On Motivation

There’s a thread on WickedFire right now about motivation, and what keeps each of us burning [typically from both ends, given that the demographic there is comprised of young entrepreneurs].

I’m not stacking papers like most of the guys in that thread, but I decided to contribute anyway; I summed up my world view pretty succinctly, I thought, and I’d like to repost it here –

I do it for Burning Man.

I went to the desert two years ago and, during a particularly lucid acid trip, saw myself as a monkey for the first time. I realized that as a monkey, my primary goal is happiness, and my primary advantage over other species is my ability to build things, and that I should use this advantage to increase my happiness. I realized that there are lots of things I can build in my life, including software and businesses and relationships, but that art is my #1 priority. I want to express myself by building: dreaming, designing and implementing things that I think are both awesome and unique.

I believe that the scale and extend of the art I can produce directly correlates to how much money I make during the rest of the year, so, combined with my general desire to simply “build incredible things”, I have a very strong motivation to build amazing software, and to work my ass off year round. I want to be RICH, not so I can inundate myself with material crap, but so that I can afford myself the time and resources to channel my creations into reality, free of the current debt crunch I’m in and without limiting my supply of materials and tools.

So, my mission: I want to spend 51 weeks a year working hard to make monies by building software I can be proud of, with the evidence of my success materialized in the form of my imagination’s craziest creations, and to spend 1 week a year in the desert drinking and dancing and lighting my art on fire just to watch it burn. It’s only been 2 years since I’ve pretty much made this my world view, but so far it’s kept me motivated pretty intensely.

Skull Candy

image

My family loves christmas, but hates waiting and shit. So we devised the logical tradition of just giving each other stuff sometime in December.

Today, my bro hooked me up with new headphones, which I badly needed, and sound AwEsOmE. Plus, the leopard print fuzzy muffs will keep me warm at night in the desert!

Business cards

image

Oh shit, what’s this?

Jon’s new apt

image

image

image

image

Moving him in on lunch break =)

Love android

image

I fucking love my android phone. The app store is incredible, having a rooted phone is priceless, t-mobile gives me truely unlimited bandwidth, and this cool WP app even posts pictures!

Nagios and Munin

Finally got some server management software running at A4D, we’d been previously flying be the seat of our pants (not really; AWS has some rudimentary graphing functionality built in, but it’s not too useful for finding why a server crashed).

Now, we’ve got Nagios and Munin running. Nagios is a poller that sends us emails when a server crashes, and Munin provides fancy logs for all our applications. Setting them up didn’t take long, and the ability to see all our servers’ health in real-time on one page is priceless.

These days, I’m fascinated by innovative log examination approaches; I’ve had logstalgia running all week, and I’m fiddling with gltail. Even more than just pretty pictures, these really give you the chance to visualize your hotspots that are causing headaches. Are there any other cool tools I’m missing? Someday soon, I’d like to plug in a few spare LCDs just to display pretty server stats :)

Channeling Software

I had two interesting tabs open next to one another, and their proximity got me thinking.

One was Rico Mariani, who’s a developer at Microsoft, and an avid performance blogger. I read this post years ago, and bookmarked it, because it’s always struck me as strong evidence for using the best tools available to you. Rico’s post is about a competition with Raymond Chen, of TheOldNewThing, to write a dictionary application of some sort. To make a long story short, Chen worked in familiar C++, and Rico used C#, which was relatively new, and the .Net libraries were still somewhat unproven. Popular belief was, and often still seems today, that C++ and native code will always outperform “bulkier” frameworks with memory management abstracted away. Needless to say, the first version of the C# program slaughtered the first C++ code that Chen wrote, by a factor of nearly 11 in execution time.  In fact, Rico finished his program the same day as Raymond, and Rico didn’t spend the next two weeks rewriting the algorithm a total of seven times. But the unmanaged, supposedly “faster” code was outperformed by Rico’s first attempt until the fifth version of Raymond’s code. When Rico changed a few things in the C#, it took him less than an afternoon to shave another ~30% off the execution time, because, he says, he hadn’t even really optimized it in the first place. This new version still works only-a-fraction-of-a-second-slower-than the seventh and final iteration of Chen’s C++ implementation. I might have messed this story up a bit from memory, but the point is the same, paraphrased as my own personal twist on a Knuth quote- “Writing your own optimization is the root of all evil.” Ideally, you should use the framework for that — you know, the one that already works?

And the other article came up on my Twitter, a repost of Mark Andreessen, who’s basically akin to a Norse God on the internet. This post is literally about how he invented the <img> tag, but drives home a stronger point- that the <img> tag exists because that’s the code that shipped. For all the other companies trying to build what would eventually become a web browser, back in 1993, and for all the suggestions on the www-talk mailing list, Mark Andreessen was the one guy who wrote code for Mosaic that actually added image support. Everyone else had ideas, and most of them were great. Some people foresaw things like image interactions, or line drawing. One guy suggested an <audio> tag, which just got implemented in HTML5. Mark himself said he’d support “MIME, maybe, someday”, but apparently never got around to it. None of these people, from what I can tell, actually wrote anything. Mark wrote it. The code that shipped just worked by simple support for an <img> tag, with a src=”" attribute, which is how it conventionally remains today.

And so I deduce from these posts: Good software is software that has been written. Bad software is software that has not. The dangers of using cutting edge code are well documented; the benefits of using the latest tools are not. You should always (usually… probablly…)  use libraries, platforms and tools that other people have tested and used, where it makes sense, it will probably get done faster, and run faster, and in the event that it does not, you can rewrite a component for speed. The important part is just getting the first version to work.

http://blogs.msdn.com/ricom/archive/2005/05/19/420158.aspx

http://diveintomark.org/archives/2009/11/02/why-do-we-have-an-img-element