I’m mostly posting over at log.andrewwooster.com these days.
The only members of the crew who didn’t come down with dysentery were Huston and Bogart, because they were drinking whisky rather than the water, which turned out to be the source of the infection.
On a related note, I’ll be headed to Africa for a month, albeit the other side of the continent, next February.
I’ll need to pack some whisky.
All the bugs in our group were difficult. One day I was assigned a particularly vexing one. I had shown a knack for tracking down tricky issues, but this one stymied me. I hammered away at the bug but I couldn’t figure out the cause. I couldn’t even think of where to go next. I was petrified.
Read the post, it’s worth it. The moral is, if you need help, ask for it. By the time I was at Apple, this was one of the things we drilled into new recruits, for precisely the reason that it could be paralyzing to be dropped into that environment. The company very much has a Do-It-Yourself culture, but not asking for help when you need it can be paralyzing and demoralizing, and totally unnecessarily so. It’s not a defect to need help once in awhile.
Before they flew east, Alvy and Ed were apprehensive. They had heard strange things about Ross Perot from a credible source, Scott McNealy, the chief executive of Sun Microsystems, a rising young star in Silicon Valley. Scott talked about how he and Ross were supposed to meet at Chicago’s O’Hare Airport to shake hands on a deal. The terms had already been negotiated by their people, but the two leaders had never met in person.
At O’Hare, Ross Perot sized up the younger man and asked: “Are you married?”
“Where do you live?”
That was all Ross Perot wanted to know.
He stormed away. The deal was off.
I heard this story awhile ago, but this is the only reference I can find to it in print.
With Flickr you can get out, via the API, every single piece of information you put into the system. Every photo, in every size, plus the completely untouched original. (which we store for you indefinitely, whether or not you pay us) Every tag, every comment, every note, every people tag, every fave. Also your stats, view counts, and referers. […] Flickr actually goes a bit farther, not only can you get your data out, but it gets enriched as it passes through the system. […] This isn’t the exhaustive list, just a few of the things Flickr does to respect, and collaborate with the people who share their time and data with us.
Anyone who writes a web service should be aiming for this. Anybody who uses someone else’s service that doesn’t provide this level of access should be asking why.
I keep losing the link to the oddly-named Drunk Men Work Here project. This is, frankly, the best (which in my quirky view is some combination of unique, creative, awesome, and data-intensive) analysis of web spiders I’ve ever seen.
For anyone interested in how to induce the internals of spiders, this is required reading.
Tonight I held my first office hours in Palo Alto at Coupa Café. Office hours are an idea I got from my good friend Buzz Andersen, who held them on a semi-regular basis at The Alembic in San Francisco, and which I endeavored to attend whenever possible.
The basic idea of office hours is that I (or whoever holds them) will be at a certain location at a certain time, and anyone who wants to talk to me, ask questions, etc, can come by and do so. It seems a bit ego-centric, but really I feel that it’s the opposite. I’m interested in what other people have to say, and feel that modern society has disconnected us from talking to one-another on a regular basis in the ways that were previously available. The sharing of ideas that were the foundation of social clubs, pubs, libraries, coffee shop discussions, and even secret societies of say, the 17th through 19th centuries have been eclipsed by water cooler discussions and team meetings. Instead of a roundtable of ideas shared in the open among a group of like-minded people, we have substituted proprietary trade secrets and patent applications, action items and Gantt charts, vapid launch parties and lavish offsites.
I feel that office hours are a good start in getting back to the foundations of the Enlightenment and, with much less importance, our industry. They are a brief pause where we can exchange ideas, talk to each other frankly, share our ideas, and come together in a spirit of pushing society and ourselves further. Many may consider this to be utopian garbage, but even on a utilitarian basis I’ve found office hours to be a welcome break from the hyper-competitive nature of our industry, and an invaluable way to exchange approaches to problems, solutions and expertise, and even industry gossip (*gasp*).
At my first office hours, the topics ranged from iPhone memory management questions to open geodata initiatives to the future plans of our respective lives and businesses. It was a lively exchange of ideas, and one I’m glad to have had. For those of you in the Bay Area interested to coming to my next office hours, I encourage you to follow me on Twitter. For people interested in holding their own office hours, I say, “just do it”. You may just be pleasantly surprised by the results.
Update: Tom Robinson of 280 North suggests using an #officehours tag in Twitter to announce office hours. I think this is a great idea, and will be using this for my future office hours announcements.
I’ve been using Trac for the new projects I’m working on, and am liking it so far. I have, however, done a bit of customization to make it fit my needs a bit better. One thing that took awhile was figuring out how to change the default ticket description.
I like having some structure to my bug descriptions, including steps to reproduce, regression information, etc. Thankfully, Trac’s template system allows you to replace output with an override template (typically found in templates/site.html) that is applied before content is sent across the wire. It was a bit time-consuming to figure out how to do what I wanted to do, but I eventually ended up with a templates/site.html file that looks something like this:
<!-- Custom match templates go here -->
<span py:if="req.environ['PATH_INFO']=='/newticket' and not req.args.has_key('preview')">
<textarea py:match="textarea[@id='field-description' and @class='wikitext']"
Your custom description goes here.
I hope this is useful for someone.
It’s been a month now since I left Apple to start a company. I’d been working on Time Machine (an interesting and challenging project) as a software engineer, with a fantastic group of people, and was in a situation that was really pretty great. So, why did I decide to leave and go do my own thing? Read the rest of this entry »
In January, I started working as a software engineer on Leopard. I was lucky enough to get to work on two of the top ten features for this release of OS X:
For the past few months I worked seven days a week pretty much non-stop on making the back end of Time Machine faster and more reliable. It was a lot of work, but overall a very rewarding experience, and I’m happy that I got to work on such a kick-ass release of OS X. Enjoy!
Now, I’m off to a beer bash for some much needed relaxation.