Archive for the 'life' Category

Freedom, compromise, and geek fights

Wednesday, July 7th, 2010

I’ve seen a rash of complaints lately about some absolutist flame wars and trollfests in various parts of the free & open source software community, and it leaves me kind of sad when I see people whose work I respect jumping around and saying hurtful things to each other.

I understand, of course… us geeks tend to like absolutes. Absolutes are often very handy in an engineering context — this algorithm is more efficient with our data sets under these constraints; that algorithm is less efficient. This hard drive performs better for this server load; that one is worse. We unfortunately have a tendency to apply the same sort of arguments when we don’t have a clear-cut context… and there may be legitimately different answers for different people. Which programming language is best? (The one I’m most productive in!) Which mobile gadget is best? (The one that I would buy for my needs!) Which operating system is best? (The one I like to run my applications or tune to my preferences!) Which voting system is best? Which political system is best? Which religion is best?

We quickly fall into unwinnable circular arguments where the participants talk past each other. Not only are these unproductive; they can create very angry, adversarial communities that tend to drive away new members. Especially where participation is self-selected and involves both technical and ideological goals — like free software and Wikipedia communities — there’s a constant danger of ugly geekfights.

I’ll admit I’ve flamed my share of people who disagreed with me on the Internet — more so at 21 than at 31! — but I’ve always tried to keep myself in check by reminding myself of an incident in my youth…

When I was a young lad, I was raised in what is sometimes called a Post-Christian environment. As middle-class white Americans, we inherited some of the outside trappings of the old Christian civilization of medieval Europe, but we were never really religious. We celebrated Christmas and Easter,  assumed “Yahweh” when someone said “God” instead of asking “which god?”, and understood that the “Bible” is the default holy book, with one section where GOD HATES SHRIMP and another where JESUS LOVES YOU. But we only had a token prayer at dinner, and only went to churches as tourists or funeralgoers; the one time I got dragged to my grandparents’ regular Sunday services at a Lutheran church I found the whole thing incomprehensible. Bible stories sometimes got presented to me as cultural background, but no more so than other religious tales like the similarly-ancient Greco-Roman myths which nobody believes are literal truth.

As a 14-year-old or so, I assumed that this was the normal, natural way that everyone in our post-Englightenment science-based Western culture was raised. Someone who believed in any particular religion — so concluded my adolescent brain — must then be either ignorant or stupid. If they were ignorant, then surely explaining the true facts to them would make them give a quick facepalm and finally join the 18th century. If they didn’t get the explanation, then either my explanation wasn’t good enough (let’s try it again!) or they’re just stupid and it’s time to write them off entirely.

Eventually I started realizing that my assumptions didn’t actually hold. One day, a schoolyard discussion about science and philosophy (as only 9th-graders can philosophize… poorly!) resulted in a classmate declaring that “Darwin was a jerk!” for putting forth his theories on biological evolution. Yes, one of my honors-level classmates wasn’t just religious, he was a creationist. I knew he wasn’t an idiot — he was a bright kid who did great in math, science, literature, and history. I knew his parents weren’t idiots — they were smart, successful people. But this smart, successful family believed things I found to range from the odd to the silly to the downright insane.

I’ve never been convinced about religion — and definitely not creationism! — but that day I started to learn that believing things I find to be obviously wrong doesn’t make someone an unintelligent or malicious person, even if I can point to a heap of evidence that totally convinces me how wrong they are.

At best I could accuse him of being wrong and not having the same set of assumptions and values in his decision-making process that made the opposite conclusion so obvious to me. Given time, education, and a changing environment, he might change his mind, or he might not. But my arguments weren’t doing it, and weren’t going to do it, yet I couldn’t dismiss him entirely as an idiot.

I was instead going to have to just deal with someone being wrong.

This was probably the most important lesson I’ve ever learned. It’s hard, and I mean hard, to practice it, especially as a techie geek.

But it’s one of the foundations of our modern pluralistic democracies, and basically comes down to the social contract of “don’t oppress me, and I won’t oppress you”. My freedom to be an agnostic/atheist comes with the responsibility to tolerate Christians, Jews, Muslims, Buddhists, Hindus, etc… and even Creationists, to an extent. I’m willing to accept that compromise because they’re bound to it, too — it keeps “them” from ostracizing me as a heretic, burning me at the stake, stoning me to death, or just refusing to let me vote, own property, or run for public office just for being an agnostic/atheist, Christian, Jew, Muslim, Buddhist, Hindu, etc. We just have to work out a reasonable compromise — we teach the actual state of science in public-school science class, and it’s up to each religious group to explain to their children the specific ways, if any, that their religious worldview differs from centuries of evidence-based scientific research so that even the creationist kids still learn the cultural context of how our post-Enlightenment society works, even if they disagree with it.

So please… before you go flaming people for being traitors to the cause, or not getting it, or whatever… consider whether what you’re saying is actually going to add anything useful to the conversation, or if you’re just piling more noise on a never-ending geekfight. If we can avoid killing our neighbors over fundamental religious differences, we really ought to be able to live with someone else occasionally saying something nice about a product line you dislike.

The Awful Tooth: missing Wikimania

Monday, July 5th, 2010

Let that be a lesson to all the aspiring young computer programmers out there: stay in school, and brush your teeth!

I’ll unfortunately be missing this year’s Wikimania and WikiSym conferences in Gdansk, Poland as I’m recovering from a tooth extraction. It seems to be going ok, but it’s got me totally wiped out — I can barely make it across San Francisco by bus, this ain’t time for me to hit the planes. :(

Those of you who’re also coming to OSCON in Portland later this month, I’ll see you there. The rest of you, I’ll catch ya on the internets!

The sad, sad tale

So when you’re a young man or lady, at some point you have to make a lot of Important Life Choices, such as what to do about your wisdom teeth. These molars are pretty far back in the mouth, and not hugely useful in actual chewing. Moreover, they’re more likely than other teeth to suffer from either bad impaction when they’re new (coming in at funny angles, or butting up against other teeth and screwing things up — they’re entering an already-full mouth) or bad decay later on (since they’re hard to reach they can be hard to clean, greatly increasing the chances of decay).

My teeth were coming in reasonably straight, so as a lad I made the decision to leave them. For many years this served me just fine, but SECRET TOOTH DECAY was my enemy, stealing into my jaw in the night to chip away at one of the ol’ wizzy teeth. A few weeks ago the decay crossed some limit and basically the side of the tooth fell out to reveal a gigantic cave system rivaling Carlsbad Caverns.

Other minor cavities were easily patched up by my local dentist, but this one was gonna need a removal. I was hoping I could push it back until after my packed June-July travel schedule, but it started acting up again last week when I was in Montreal for RecentChangesCamp and to coordinate the StatusNet 0.9.3 release.

Rather than wait and hope it didn’t crack, collapse, or get infected while zipping about Central Europe, I thought I’d better go ahead and get it taken care of while I was on the ground in SF for a few days. If I was lucky, I’d be recovered enough to pack myself up with some painkillers and still make it, and if not I’d have time for a fuller recovery before OSCON.

The actual procedure was quick and easy — local anesthetic does wonders, and I got over my fear of dental procedures as a kid (I find it quite interesting to sort of follow along, actually). Recovery though… well, let’s be honest. Recovering from a wisdom tooth removal is gonna lay you out a bit. This is pretty much a best case — upper jaw, not impacted, reasonably exposed, other teeth not affected. But between the pain, the mental fuzziness from the vicodin treating the pain, and the general tiredness from the body redirecting some of its efforts to healing a wound, I’m still pretty out of it a few days later. It’s particularly aggravating for a knowledge worker liker myself — the wound itself doesn’t prevent me from doing what I do, but the medicine means I just can’t concentrate enough to get much done either for work or fun! Grr!

So… BRUSH AND FLOSS YOUR WISDOM TEETH REGULARLY if you got em!

The trading post: MacBook Air 1.86GHz/2GB/128GB

Monday, June 14th, 2010

Hey there my San Francisco buddies, and farther-away buddies who might be willing to pay shipping!

It’s laptop shuffle time at the Vibber house… I’m replacing my MacBook Air as my mobile & webdev machine and am looking for a good home for it… For just US$1150, you can become this ultra-thin laptop’s sponsor. All it needs is a place to plug in and a good meal of electrons every day, and it’ll be your best travel buddy!

I’ve used the box for MediaWiki and StatusNet development, general web surfing, and a little light gaming. Memory and disk performance are a bit tight for a really hardcore workstation (I wouldn’t use it as a mobile video editing studio, that’s for sure!) but it’s perfect for mobile webdev/notes/surfing/skyping and beats the pants off any netbook I’ve tried.

This machine has been to such exotic locales as:

  • San Francisco!
  • Orlando!
  • Paris!
  • Montreal!
  • Los Angeles!
  • Seattle!
  • Berlin!

Purchased from Apple as a refurb in September 2009 with 1 year “like new” warranty — it’s still eligible for purchase of a 2-year AppleCare warranty extension, if that sort of thing floats your boat. Apple still lists this model (full specs) at the refurb price of $1349 that I paid; specs are about the same as the current $1499 base-model MacBook Air but with the 128GB SSD drive.

Machine shipped with Mac OS X 10.5 and a 10.6 install disc; I’ve wiped the drive and put on a fresh install of 10.6. Accessories included: 45W power brick, US 2-prong plug and 3-prong plug w/ extension cord; USB ethernet adapter. Note that VGA and DVI adapters are not included; like other current Apple models it has a native Mini DisplayPort connector and needs an adapter for pretty much any external monitor.

Why I’d recommend it: compared to a netbook, the Air is much more powerful and has a keyboard that won’t hurt your hands. Compared to an iPad, the Air actually can run arbitrary programs and be used for software development. Compared to other full-size laptops, it’s delightfully thin and light, which your shoulders and back will appreciate if you need to travel regularly or cart it to the office on public transit.

Why I’m replacing it: I’ve picked up a MacBook Pro 13″ (same form factor & screen size, but 1kg heavier) primarily for the huge increases in battery life in the last couple product generations. I prefer the lighter weight, but I have a lot of long-distance travel this year and a battery that can actually last me through a cross-country flight or a full day of conferencing is going to serve me better right now… I just have to be really hardcore about keeping extra crap out of my bag!

The good: thin, light, and beautiful! At just 3 pounds, this thing is a joy to carry around when traveling; it really does make a difference to my back. CPU/gfx performance are decent enough for light webdev and a little gaming.

The bad: SSD disk performance is relatively sluggish, which may be painful if you do a lot of compiling. Running heavy CPU for a while can lead to the machine slowing itself down to stay cool. Battery life is similar to the previous generation of MacBooks (theoretically 4-5 hours; I get 2-3 hours of real usage).

The annoying: 2GB RAM is adequate for most needs but cannot be upgraded; folks working with virtual machines will find this awkward. Single USB port can be overly confining when traveling, especially if you need to use the USB ethernet dongle at the same time as anything else. No built-in CD/DVD drive may be a problem for some uses (remote disc is supported if you have another Windows or Mac machine with a CD drive, but has limitations. External USB drives will work, but be warned that Apple’s $99 Air-branded external drive does not work with USB hubs — it must be plugged directly into the Air’s single USB port, leaving you unable to use a USB keyboard, mouse, hard drive, Ethernet adaptor, or iPod.)

If interested, drop me a line. If there’s no excitement it’ll end up on eBay.

One year

Friday, May 21st, 2010

A year ago today, I got married to an awesome lady who loves and accepts me, who’s been my amazing partner through all the good times and bad in the last three years. Marti, you rock!

Moving to StatusNet

Monday, September 28th, 2009

I’d like to share some exciting news with you all… After four awesome years working for the Wikimedia Foundation full-time, next month I’m going to be starting a new position at StatusNet, leading development on the open-source microblogging system which powers identi.ca and other sites.

I’ve been contributing to StatusNet (formerly Laconica) as a user, bug reporter, and patch submitter since 2008, and I’m really excited at the opportunity to get more involved in the project at this key time as we gear up for a 1.0 release, hosted services, and support offerings.

StatusNet was born in the same free-culture and free-software community that brought me to Wikipedia; many of you probably already know founder Evan Prodromou from his longtime work in the wiki community, launching the awesome Wikitravel and helping out with MediaWiki development on various fronts. The “big idea” driving StatusNet is rebalancing power in the modern social web — pushing data portability and open protocols to protect your autonomy from siloed proprietary services… People need the ability to control their own presence on the web instead of hoping Facebook or Twitter always treat you the way you want.

This does unfortunately mean that I’ll have less time for MediaWiki as I’ll be leaving my position as Wikimedia CTO sooner than originally anticipated, but that doesn’t mean I’m leaving the Wikimedia community or MediaWiki development!

Just as I was in the MediaWiki development community before Wikimedia hired me, you’ll all see me in the same IRC channels and on the same mailing lists… I know this is also a busy time with our fundraiser coming up and lots of cool ongoing developments, so to help ease the transition I’ve worked out a commitment to come into the WMF office one day a week through the end of December to make sure all our tech staff has a chance to pick my brain as we smooth out the code review processes and make sure things are as well documented as I like to think they are. ;)

We’ve got a great tech team here at Wikimedia, and we’ve done so much with so little over the last few years. A lot of really good work is going on now, modernizing both our infrastructure and our user interface… I have every confidence that Wikipedia and friends will continue to thrive!

I’ll start full-time at StatusNet on October 12. My key priorities until then are getting some of our key software rollouts going, supporting the Usability Initiative’s next scheduled update and getting a useful but minimally-disruptive Flagged Revisions configuration going on English Wikipedia. I’m also hoping to make further improvements to our code review process, based on my experience with our recent big updates as well as the git-based workflow we’re using at StatusNet — I’ve got a lot of great ideas for improving the CodeReview extension…

Erik Moeller will be the primary point of contact for WMF tech management issues starting October 12, until the new CTO is hired. I’ll support the hiring process as much as I can, and we’re hoping to have a candidate in the door by the end of the year.

– brion vibber (brion @ wikimedia.org)
CTO, Wikimedia Foundation
San Francisco

Update: Evan’s announce is up on the StatusNet blog.

HDTV and the video look

Sunday, June 28th, 2009

I spent some time last night playing with my parents’ shiny new HDTV, which puts my 2005-vintage 26″ set to shame.

Pretty nice set; 40-something inch, 1080p, 120 Hz whatchamahooie, and you can plug in a USB stick full of JPEGs and force your family to watch your vacation photos. Nice!

It seems to be all the rage on new sets to have motion interpolation which can take 24-frame-sourced content (feature films and most US drama and sitcom TV shows) and smooth out the frame-to-frame motion, making it look more like 60-field video. Lots of higher-end sets advertise 120 Hz or even 240 Hz, which honestly seems excessive to me — the human eye can’t distinguish much more than 60 frames per second. :)

I’m a bit torn; on the one hand, the faster frame rate makes motion look much more vivid and realistic from any objective point of view. On the other hand, audiences have been trained over the last few decades to associate the video look with “cheesier” programming — soaps, reality shows, etc — while “serious” programs are shot on film at 24fps, making them feel more like a big-budget feature film… even to the point that lots of money was spent developing HD video cameras that could shoot at the slower, less realistic 24fps instead of HD’s native 60!

We stumbled into Harold and Kumar escape from Guantanamo of all things on HBO, and ran it for a while just to get a feel for the set. At first it drove me nuts seeing a movie I’d already seen on film looking distinctly like HD video, but after a half hour I got quite used to it and rather grew to like it. Of course as a former cinema-television student I’m extra-sensitized to this stuff — my wife immediately took to the more vivid display and commented on how much better it looked than when we’d seen it in the theater!

Looks like the mass audiences are happy to embrace high-motion video… I wonder if the long-standing holdover of the “film look” over the last decade was driven more by the oversensitized film geeks in the industry than any actual audience comparison…

Let’s learn a lesson here with our software development as well — those of us who’ve been nose-deep in web sites and software UI for years aren’t necessarily the most qualified to tell what our actual users are going to be most comfortable with.

Still alive!

Wednesday, June 17th, 2009

In the last few weeks:

  • got married to my awesome lady Marti
  • saw Fleetwood Mac concert
  • took two weeks vacation in Chicago area (still sorting and uploading gajillions of pictures)
  • dragged 11-13-year old nieces & nephews all over Chicago
  • hit wacky science-fiction/fantasy cons in California and Illinois
  • sold my soul to Apple & AT&T again for a new iPhone 3G S on order (mmmm, delicious gilded cage)

Whew! Ok, now I need a vacation from my vacation, and that means… back to work!

(mu)blogs are the new trades

Sunday, March 29th, 2009

Blogging and microblogging tend to get disrespect from folks who “just don’t get” the purpose for them and consider them at best mindless entertainment and at worst an attention-sapping pest.

As a second-generation programmer, I found that I “got” them pretty quickly.

My dad programs for embedded and industrial-control systems; I grew up watching him bring home stacks of trade magazines — not to read every article in detail, but to skim through as an environmental scan, updating his awareness of the state of the art. If anything the ads and editorials were far more useful to him than the articles!

As a web developer in the 2000s, I started to use blogs and microblogs much the same way: little bits of information here and there which fill in my background map of what’s current among my peers (say, everything awesome in web browser work).

Scars of the past

Tuesday, March 24th, 2009

Poking around Google Earth to optimize a hypothetical bicycle commute to the office, I noticed an unusual diagonal strip of alleys and divided lots running through San Francisco’s Mission District from about 22nd & Harrison to around Cesar Chavez & Guerrero:

Mystery line!

I figured it had to be an old rail right-of-way, but wasn’t sure what for. At first I thought it might be BART-related, since it runs right by the 24th & Mission station, but BART runs underground straight north-south to the 16th St & Mission station.

A little Googling on a portion of the strip cryptically labeled “Juri Cmns” turned up a page about the Juri Commons park which explained that the strip was originally part of the San Francisco and San Jose Rail Road. After the 1906 earthquake, the portions running through the Mission were torn up replaced with a line running nearer the bay — the same route today’s Caltrain operates on.

[Side note: I composed this post offline in Yojimbo's rich text editor and tried to copy-paste it to WordPress's WYSIWYG editor in Firefox. Total paste fail when including the picture; links stripped when pasting paragraphs only. Tried it again in Safari -- all links came through intact, just missing the image.]

Netbook trial by FOSDEM

Friday, February 6th, 2009

Welp, I’m on the plane to FOSDEM to meet up with all you fun folks over there and get some MediaWiki action going on. To get fully in the FOSS spirit, I’ve left my trusty MacBook at home and am doing the whole trip with just my Linux netbook. (Well, that and my iPhone of course! ;)

I’ve replaced the Dell-customized factory Ubuntu install with Ubuntu Netbook Remix 1.0.1, which is basically Hardy with a nice launcher and a window manager/panel optimized for the small screen; definitely a help for keeping things clear and organized. I’ve also brought along a BlueTooth mouse which’ll be nice when I get off the plane; the touchpad still feels a little awkward, and I’ve found the machine a lot more comfortable to use with an external mouse. It also doubles as a presentation remote, switching into a mode where the buttons serve as virtual page-up/page-down keys. Very nice, since I’ve become completely spoiled by using the Apple remote for my Keynote presentations.

And yes, the BlueTooth mouse worked on desktop Linux first try. Shocking, right?

So far I’m very happy — the Mini 9 is half the size and weight of the MacBook, which makes a huge difference lugging my carry-on around. More importantly, I can actually operate the damn thing in an economy-class seat on the plane! Even my old PowerBook 12″ left me too cramped to type and see the screen at the same time.

OpenOffice Presenter seems actually fairly passable for editing my presentation at 1024×600. Threw together a pretty gradient background for my slides in OpenOffice Draw… ick. :) Editing colors and gradients in OpenOffice is terrible… must make a note to see if this is improved in 3.0 and see if we can improve it if not.

I’m not 100% sure I’ve turned off the BlueTooth radio, but the plane hasn’t crashed so I guess I’m doing ok. Disabling wifi is easy through the network doodad on the panel… Battery life seems somewhere in the 3-4 hour range, though I haven’t run all the way down yet.

Currently using Tomboy for offline note-taking on the netbook… It doesn’t support images and syncing isn’t quite first-class (and the Mac build is very experimental) so it’s not ready to replace Yojimbo for me, alas. Also playing a bit with Evernote, which does most of what I want out of Yojimbo plus good web and Windows clients… but no native/offline Linux client or support for encrypted notes/passwords.


I love Wikipedia!