Howdy!

Welcome to my blog where I write about software development, cycling, and other random nonsense. This is not the only place I write, you can find more words I typed on the Buoyant Data blog, Scribd tech blog, and GitHub.

I love Sonic.net already

Thanks to @pemullen, I was introduced to Sonic.net some time ago. Unfortunately I never took the time in my old apartment to switch out my AT&T DSL for Sonic.net’s Fusion service; the thought of home internet downtime was just too dreadful to even contemplate changing, despite AT&T’s absolutely awful service.

Now that I’ve left that apartment, I can finally take the dive into some delightful Sonic.net service, and while it’s not even installed yet, I can tell this is going to be a wonderful relationship just by some of the support emails I’ve been exchanging with their folks.

From me:

Like an idiot I moved in last weekend instead of this upcoming weekend, so I’m now in the unenviable position of zero home internet service. In the interest of time, can you guys just ship the kit instead of sending some poor tech to Berkeley? :)

I understand that AT&T still needs to install a line, but after that I’m hoping to get up and running as soon as possible, I’m almost to the point of considering opening a book to read.

Oh the horror.

After only a couple hours Kelly R. got back to me:

Sorry to hear that you’ve been driven to such desperate measures. I know the lead time takes a while from AT&T, but we here at Sonic.net have been working on expediting our end of the install process as much as possible. I’ll keep my fingers crossed that this installation process doesn’t result in a library membership.

Read more →

Pride

This fourth of July I find myself thinking a great deal about being an American in the 21st century, and pride. In the back of my head I have that hokey country song “God Bless the USA” with its chorus:

That I’m proud to be an American, where at least I know I’m free. And I wont forget the men who died, who gave that right to me.

The concept comes off so comical to me, “proud to be an American.” What does that even mean? I am no more proud to be an American than I am:

  • Proud to have been born in California
  • Proud to be white
  • Proud to be tall
  • Proud to have four sisters
  • Proud to have a grandpa named Bob

I had no control in any of it, I won the birth lottery and just happened to be born in the United States. I just happened to have grown up to be a tall, white guy with four sisters and a grandpa named Bob, I didn’t select this configuration, it just happened to me. What’s to be proud of?

Taking pride in one’s country however, I entirely understand. I feel that one should take pride in the positive actions that we undertake as a nation, since it’s actions are theoretically comprised of our collective wills, by the same token, I think one should feel ashamed of the negative actions.

That said, I’m struggling to find things to be proud of America lately, there’s certainly a good bit to be angry and ashamed of:

  • Our participating in the secret ACTA treaty negotiations
  • The tarring of the Gulf of Mexico, a body of water I’ve spent nearly 40% of my life around.
  • Guantanamo
  • The shrinking middle class
  • Shutting down Shuttle service without a viable Shuttle replacement
  • Four horrifically expensive failed wars:
    • Drugs
    • Terror
    • Afghanistan
    • Iraq
  • A bloated federal government, with representatives who’ve forgotten who they represent (looking at you Orrin Hatch)
  • Irrational fear of nuclear power

I could go on, I could even start a whole new list of all the things we’ve screwed up here in California too, but it just makes angry, then sad, and then sleepy.

I’m sure there are plenty of things that Americans have done lately that one could take pride in, but none are coming to mind.

We have a mighty big hole to dig ourselves out of.

Read more →

Fatso Adventures: "I wonder what's down here?"

Quite the mixed bag today has been, I went to court (more on that later), I signed a lease (more on that later too), and I worked from home. Since ET and I are leaving this apartment soon, the management company has been showing the apartment during the day. Not a big deal, strangers walk around the apartment, all the windows are opened, all the lights are turned on, doors are opened and closed and if you’re lucky enough to be around, you get to field questions.

About an hour or two after the showing of the apartment was over, ET looks up from the couch and asks “Where’s Buddy” (a.k.a. Fatso). After looking in all of the usual hiding places, she grabs a can of food and taps the lid and listens. A faint meowing is heard. She opens the closet door and taps the lid again. Meow, meow, meow. I think to myself “no way in hell is that cat in the closet, so I hold the can out the window and tap, tap, tap. Meows are coming from outside of the bathroom window. The window Our bathroom window opens onto this tiny area between two buildings, and is rarely opened because the view sucks, and we don’t stink up our bathroom too much.

Not entirely sure where the cat is, I go to the other side of this little area, in the buildings stairwell and open the window, climb out, and poke around for Fatso, a.k.a Buddy, a.k.a Missing Kitty #1. I can’t see Fatso at all but I can hear him. I tapped on the hood for the ventilation shaft and I hear meowing. I tap again, meowing. Reaching my hand around under the hood, I hear more meowing but I don’t feel anything.

Thanks to a flashlight and mirror loaned from a friendly neighbor, who’s more earthquake prepared than ET and I, I was able to look down the ventilation shaft. and I see Fatso’s stupid little face, all the way at the bottom.

The inlet

Running down to the basement confirms two things, this cat is stuck, secondly, he’s stuck in the ventilation inlet to the heating system for the building. Stupid cat. While I continue to investigate possible exit strategies, something Fatso clearly hadn’t considered, ET is on telephone duty. First we call the management company, who are characteristically useless, then it’s on to the fire department’s non-emergency line. From the garage

When the calvary (see: firemen) arrive, the first thing we do is rip the hood off the ventilation shaft to determine whether we can fish the stupid cat from the depths, which after removing the hood, turns out to be about 15ft. To add insult to injury, there are a couple pieces of wood fastened into place at the top, preventing any beings larger than a 12 pound stupid cat from fitting down the shaft. Looks like we’ll have to attack it from the basement, and be “we” I mean the firemen, I’m useless.

The good boys from the SFFD find a seam in the sheet metal where the shaft attaches to the furnace and using some basic tools (pick) and their hands, are able to tear back some sheet metal so I can poke my head in the bottom of the buildings furnace, only to see our stupid cat, a.k.a Fatso, a.k.a Buddy, a.k.a Missing Cat #1, as far away as possible, entirely unwilling to exit the dark bowels of the furnace he’s occupied for nigh three hours now.

I explain to the firemen, that I can probably handle it from here since they likely have “real shit to do”, but they are unwilling to budge, waiting on “verification” of the cat; they had not actually seen the cat at all up until this point. I shove my head back in the furnace, this time with an arm and grab Fatso by the neck and drag him, against his will, from the furnace to greet the four smiling faces of the SFFD’s finest (and ET). The escape route

The firemen are kind enough to seal the now warped sheet metal enough to hold the system over until the management company can repair the damage, and after thanking them they were on their merry way, ideally to save somebody’s life, but most likely to watch Real Housewives of New Jersey back at the station while they wait for something to catch on fire or some stupid cat to poke its head where it doesn’t belong.

Fatso’s favoring his hind-legs a little right now but is all and all in good condition. I want to say he’s learned his lesson, but I’m certain he hasn’t.

Read more →

Silly Problems

In the next few weeks, ET and I will be moving out of San Francisco, perhaps for good. I am living up on the promise I made back in April and leaving. Over the past weekend I was struck by how picky I’ve become, particularly with where I live.

For starters, living in San Francisco, I live in a place with:

  • A thriving bicycle culture, which is only looking to get better
  • Hundreds of restaurants with all sorts of delicious food stuffs
  • Surprisingly few douchebags (hipsters and Mission bartenders not-withstanding)
  • Fantastic weather
  • Low violent crime

And I’m still not happy with it.

In the past, I’ve lived in places where enormous cars are a status symbol, giant belt buckles that double as shields are accepted; truck nuts. Moving here from Texas I left, stale, windless 100+ degree heat, random people shouting “faggot” at pedestrians from their cars, no tolerance drug policies coupled with binge drinking and drunk driving. To its credit however, Texas is cheap and areas like Austin are wonderful (not counting traffic). When I lived in eastern Germany, I was constantly confused, cold and more than once crashed a bike due to black ice on the roads. Before that, Northern Virginia, living dangerously close to the “south will rise again” group of folks, an area of the country where the Ku Klux Klan is still surprisingly strong, albeit more hidden than before.

Every place that I have lived has had its own unique set of problems, San Francisco included; the lack of progress for a progressive city still irritates the hell out of me.

There are so many parts of this country that unabashedly fucking suck compared to San Francisco, and I’m still not satisfied. What a silly problem to have.

Read more →

Keyboard Synergy

Over the past year or two I’ve become quite fond of tiled window managers, the jump to Awesome (which I’ve since dropped) to XMonad was a logical one. My gratuitous use of GNU/screen and Vim’s tabs and split window support, already provided a de-facto tiled window manager within each one of my many terminals. The tiled window manager on top of all those terminals has served to improve my heavily-terminal biased workflow.

One computer has never been enough for me, at the office my work spans three screens and two computers, I’ve not yet discovered a Thinkpad that can drive three screens alone; at home I typically span three screens and two laptops (let’s conveniently ignore the question of why I feel I need so much screen real estate). Tying these setups together I use synergy to provide my “software KVM” switch. As long as I’ve used synergy, I’ve had to switch from one screen to the other with a mouse, which is one of the few reasons I still keep one on the desk.

Until I discovered a way around that, thanks to Jean Richard (a.k.a geemoo) who posted this little configuration change to synergy.conf:

section: options keystroke(control+alt+l) = switchInDirection(right) keystroke(control+alt+h) = switchInDirection(left) end

With this minor configuration change, combined with XMonad, Vimium (Vim-bindings for Chromium) and my usual bunch of terminal-based applications, I can go nearly mouse-less for almost everything I need to do during the day.

Read more →

Another video of the cat





Reasons the cat meows:

  • Hungry

  • Too Cold

  • Annoyed

  • Preparing to jump off the bed

  • Jumping off the bed

  • Successfully landed on the floor

  • Happy

  • Welcoming you home

  • Appreciating being petted

  • Hungry

  • Sleepy

  • Too Warm

  • Unhappy

  • Hungry

Read more →

Being a Libor, Addendum

A couple of weeks ago I wrote a post on how to “Be a Libor”, trying to codify a few points I feel like I learned about building a successful engineering team at Slide. Shortly after the post went live, I discovered that Libor had been promoted to CTO at Slide.

Over coffee today Libor offered up some finer points on the post in our discussion about building teams. It is important, according to Libor, to maintain a “mental framework” within which the stack fits; guiding decisions with a consistent world-view or ethos about building on top of the foundation laid. This is not to say that you should solve all problems with the same hammer, but rather if the standard operating procedure is to build small single-purpose utilities, you should not attack a new problem with a giant monolithic uber-application that does thirty different things (hyperbole alert!).

Libor also had a fantastic quote from the conversation with regards to approaching new problems:

Just because there are multiple right answers, doesn’t mean there’s no wrong answers

Depending on the complexity of the problems you’re facing there are likely a number of solutions but you still can get it wrong, particularly if you don’t remain consistent with your underlying mental framework for the project/organization.

As usual my discussions with Libor are interesting and enjoyable, he’s one of the most capable, thoughtful engineers I know, so I’m interested to see the how Slide Engineering progresses under his careful hand as the new CTO. I hope you join me in wishing him the best of luck in his role, moving from wrangling coroutines, to herding cats.

God speed mooncat

Read more →

I get lippy when I drink

Most folks that know me, either virtually or otherwise, know I have opinions. Plenty of opinions, regardless of whether or not I’m qualified to comment on the subject, chances are, I will. At 21st Amendment last Friday, I was in quite a “mood” and poking fun at a few people, of course Can dutifully posted them to twitter, all of which I feel need explaining.

“no, they just apply synergy to paradigms!” - via @cansar

Some how Chris Messina and David Recordon came up in the conversation, I’m not afraid to say that I’ve known of them both for almost three years now, and I still don’t have a clue what they actually do.

“yeah, well he shops at [El] Pollo Loco” - via @cansar

Apparently Can doesn’t know you can buy Bison meat (a tasty alternative to beef), Can also thinks 6 sushi rolls are enough for lunch, suffice to say he has the eating habits of a Maury Povich baby.

“the UK has very lax [child] labor laws, before that he was a chimney sweep” - via @cansar

When discussing Apture’s advisors, Ben Metcalfe came up, smart guy, fun to hang out with but apparently worked for the BBC in his teens, which I didn’t know before Friday evening.

In the interest of full-disclosure, I was drinking.

If you’re interested in hearing me poke fun at myself, you, your startup, your colleagues or your investors, do join me at 21st Amendment next friday at 5 p.m.

Read more →

The slow death of the indie mac dev

Once upon a time I was a Mac developer. I loved Cocoa, I loved building Mac software, Mac OS X was once upon a time the greatest thing ever. I recall writing posts, and even founding a mailing list in the earlier days of Core Data, which I was using in tandem with Cocoa Bindings, which themselves were almost a black art. I was on a couple of podcasts talking about web services with Cocoa or MacWorld. I loved the Mac platform, and would have gladly rubbed Steve Jobs’ feet and thanked him a thousand times for saving Apple from the despair of the late 1990’s. As Apple grew, things slowly started to change, and we started to grow apart.

As I started to drift away, I gave a presentation at CocoaHeads presenting some of the changes and improvements to the Windows development stack, not supremely keen on the idea of building Windows applications, I was clearly on the market for “something else”. Further and further I drifted, until I eventually traded my MacBook Pro in for a Thinkpad, foregoing any future I might have developing Mac software. My decade long journey of tinkering and learning on Macintosh computers had ended.

When Mac OS X was in it’s original Rhapsody-phase, in the weird nether-world between Platinum and Aqua, Apple realized that it had been held back by not giving developers tools to build for the platform. Apple began to push Project Builder which became Xcode, which became the key to the Intel-transition and has helped transform Mac OS from a perennial loser in the third-party software world to a platform offering the absolute best in third-party software. Third-party applications of impressive quality were built and distributed by the “indie mac devs”, Adium, Voodoo Pad and Acorn from Flying Meat, Nicecast and Audio Hijack Pro from Rogue Amoeba, FuzzMeasure Pro from SuperMegaUltraGroovy, Growl, NetNewsWire or MarsEdit originally from Brent Simmons (NetNewsWire is now owned by NewsGator, while MarsEdit was acquired by Daniel Jalkut of Red Sweater Software), Yojimbo and BBEdit from BareBones, even Firefox, Camino and Opera filled the gap while Apple pulled Safari out of it’s craptastic version 2 series. Applications were used on Mac OS X instead of web applications because the experience was better, faster and integrated with Address Book, iPhoto, Mail.app, iMovie and all of Apple’s own stack.

Then came the iPhone, with its “Web SDK” nonsense. The story, at least at the time, was clear to me. Apple didn’t care about me. Apple didn’t care about its developers. Build a web application using JavaScript and AJAX (a Microsoft innovation, I might add) over AT&T’s EDGE network? Fuck you! A number of months later, back-tracking on the “Web SDK” concept, the iPhone SDK came out at WWDC with a ridiculous NDA, forbidding developers from talking about it publicly. Then the App Store was bundled with iTunes and iPhone OS, with Apple becoming the gatekeeper between indie developer, and Joe User. Of course, more recently in the long line of iPhone/developer related tragedies, the infamous Section 3.3.1. There’s also some hub-ub about the Apple Design Awards 2010, only focusing on iPhone and iPad apps which is quite disconcerting for indie mac devs, who routinely compete and win awards for the best Mac applications.

The message is clear, Apple wants to completely own users on its platform and sit between developers and their users, dictating terms.

It’s no wonder that @rentzsch, a major voice in the indie mac dev community, and organizer of the C4 conference is throwing in the towel on organizing C4 entirely (discussed in this post).

It’s not entirely clear whether the “indie mac dev” community will continue to exist for too much longer, there is some speculation that a “Mac App Store” is brewing in Cupertino right now or perhaps modifications to Mac OS X similar to what is present on the iPhone. If I were still part of the “indie mac dev” tribe, I’d feel very nervous right now about what will happen at this year’s WWDC, as Dan Wood from Karelia knows, Apple feels no remorse with stomping on Mac developers.

Worst comes to worst, I sincerely invite indie Mac developers to bring their user-experience talent and software-building energy to the weird but exciting world of web software, so long as Google keeps Facebook in check, the web should remain open for a good long while.

Read more →

Is programming with Twisted really as awful as it sounds?

Early this week Can forwarded this post on Quora to me, which asks the question:

Is programming with Twisted really as awful as it sounds?

Yes. Yes. YES IT IS. HOLY CRAP IT’S AWFUL

Here’s some good alternatives:

  • Eventlet, my preference
  • gevent, an alternative to Eventlet tied to libevent
  • Java. because let’s face it, if you’re using Twisted, you’ve already decided not to write Python, so use something with proper threading support.

That is all.

Read more →