Author Archives: tychay

About tychay

light writing, word loving, ❤ coding

The Innovator’s Dilemma and the impossibility of remaking an organization

One year ago today (2014-03-03):

During Tech budget and resourcing meeting for the 2014-2015 Annual Plan, one of the ideas proposed was possibly sourcing an incubator group to (re)“build Wikipedia or other major project in line with the Vision from the ground up, without prior constraints from existing technology, processes”, or communities. The idea was, even if it didn’t succeeded it would cause the organization “to think differently, to create energy around being BOLD,” and catalyze the movement.

This had some currency from many of the participants1, even the C-level2 involved, that was until a director argued that this was infeasible due to the Innovator’s Dilemma. Ignoring the obvious misreading of the book, he argued that because this might destroy the existing order inside the organization, it couldn’t be done by the organization itself, and thus the proposal died despite never going up for consensus consideration.3

Deciding that it is politically stupid to point out their Readers’ Digest understanding of a deeply-flawed business text, I instead argued that an organization built around vision, rather than profits, does not have the same constraints that allow disruptive technologies to spell their undoing.

That argument didn’t carry weight because people with more experience than me were sure that this initiative would be defunded in the next annual plan and that no one would ever get behind a project that is a direct threat to them. Incubation outside the WMF is only possibility.

It’s sad that people don’t bother to know the most basic lived history of their own industries (or have a terribly short memory).

I give you the history of Firefox:

The Mozilla Firefox project was created by Dave Hyatt and Blake Ross as an experimental branch of the Mozilla browser.

The Phoenix name was kept until April 14, 2003, when it was changed because of a trademark dispute with the BIOS manufacturer, Phoenix Technologies (which produces a BIOS-based browser called Phoenix FirstWare Connect). The new name, Firebird, met with mixed reactions, particularly as theFirebird database server already carried the name.

The project which became Firefox started as an experimental branch of the Mozilla Suite called m/b (or mozilla/browser). After it had been sufficiently developed, binaries for public testing appeared in September 2002 under the name Phoenix

Hyatt, Ross, Hewitt and Chanial developed their browser to combat the software bloat of the Mozilla Suite (codenamed, internally referred to, and continued by the community as SeaMonkey), which integrated features such as IRC, mail and news, and WYSIWYG HTML editing into one software suite.

Dave Hyatt would leave Netscape4 for Apple in 2002 and go on to architect the number one competitor to Firefox, Safari and WebKit (the core of Safari and Google Chrome). Blake Ross would work at Netscape/Mozilla until 2004 and be nominated the next year for Wired magazine’s top Rave Award, Renegade of the Year as all of Mozilla’s resources had were redirected to Firefox, a project started internally by two employees to combat the poor direction of original Mozilla project.

So yeah, Fuck you.


  1. In the months since this time whenever I mentioned this to a WMF staff member, often you’d pretty much have to hold him or her back from wanting to switch into this team if it were to exist. 
  2. Chief level, as in CEO, CTO, Vice President, etc. 
  3. Not that it would have won that given that most this would have required the sacrifice of all the Directors.

    Still, it would have been worth it just to see who cared more about the mission and who more about their fiefdom (or their job). :-) 

  4. Mozilla Foundation before it was separated in from Netscape in July 2003. 

SSA Swag

A classmate from my high school must have found my Facebook and put me back on my high school alumni list because a month ago I got an e-mail that the president of my high school was doing a swing down the West Coast. Since one of the meetups was only two blocks from where my girlfriend works, I decided to drag my unemployed ass to see what’s what.

(I managed to sneak in with jeans and sneakers, both of which violated the dress code of the building the meetup was in as well as would have earned me enough disciplinary reports to get detention in my high school — but part of being voluntarily unemployed is not giving a shit.) Continue reading about a small kid in a small, but too big prep school after the jump →

Notes from: Transitions: Making sense of Life’s Changes by William Bridges

Prefaces

William Bridges wrote the first edition in 1971 and is an ex-literature teacher.

The difference between change and Transition

  • change is situational (new job, move, birth, death); transition is psychological
  • first are events, but latter has inner reorientation and self-redefinition
  • modern society focuses on change, but if the change doesn’t “take” it won’t work

Other societies had rituals (“rites of passage”) to help individuals manage transitions at specific times. Continue reading

Breadbags

Guest blogger, Charlotte Allen, of the LA Times, berates people for mocking Republican Joni Ernst’s irrelevant, stupid, and obviously-fake anecdote:

You see, growing up, I had only one good pair of shoes. So on rainy school days, my mom would slip plastic bread bags over them to keep them dry.

But I was never embarrassed. Because the school bus would be filled with rows and rows of young Iowans with bread bags slipped over their feet.

People are not mocking her because they’re rich coastal snobs1 and she’s some rural salt-of-the earth. They’re mocking her because everyone who used bread bags on cold, wet days back in the 70’s and 80’s knows you put them on the inside of your shoes to protect your socks, not the outside to where they would cause you to slip on snow and wouldn’t last ten yards on asphalt.

Also people of that generation know only a few would be so rich (and stupid) enough to wear nice shoes on a school day.2 This was back when shoes and clothing were expensive, and Gore-tex was still patented and only in expensive ski jackets.3

Finally, this trick is also not related to the income or urban/rural divide, since I grew up in the richest (by far) suburb in a large midwestern city, and we kept old bread bags for this very reason.

The fact that these two sentences are littered with at least three major errors shows that Joni Ernst never actually never did the bread bag trick. The fact that this right wing nut job disguised as a “guest blogger” in the LA Times is defending such obvious stupidity shows that neither did she.

In the case of Charlotte Allen, by being born in the 40’s she is too old to know about bread bags in shoes.4 In the case of Joni Ernst? Either she was too rich then;5 or she is too stupid to have corrected her too-young speechwriter.6


  1. OTOH, the blogger, Charlotte Allen, brags about how she writes for periodicals based in New York, Los Angeles, and Washington, DC and went to school in Stanford , Harvard, and USC. Speaking of rich, costal snobs? The hypocrisy… IT BURNS! 
  2. Exception: When I went to private school, we were required to wear leather shoes in school. In that case, people often wore docksiders or penny loafers which some others would call “nice shoes.” If you were worried that they’d fall victim to salt and water before you outgrew them (unlikely as you were going through puberty and wore these shoes all day every weekday), you would buy a pair of galoshes to cover them up or wear boots and switch them before class started. 
  3. Now tell me you wore 80’s ski jackets taped to the outside of your shoes and then we’re getting somewhere! 
  4. Plastic bread bags were popularized in the 70’s 
  5. We can eliminate her coming from a warm weather state since she grew up in Iowa. 
  6. Clothing got cheaper, better, and (in cold weather areas) lined in Gore-tex. 

Fair winds and godspeed, me hearties

Avast ye landlubbers!

It be Talk Like A Pirate Day, an’ in (dis)honor of me fav’rite day o the year, I be givin’ meself the black mark, an’ be walkin’ th’ plank off th’ ship o’ the Wikimedia Foundation a fortnight hence, on the 3rd of October.

Th’ scurvy dog Jared demands a parrrrrrrrlay of a photo of each of me sprogs after I shanghai ‘em onto the Foundation. In keeping with that grand pirate tradition (and because I suspect the scallywag hornswoggl’d me cloak of invisibility), I’ll appease thee with a last glimpse of me visage on the crew page before I visit Davy Jones’ Locker. Now maybe ye won’t be confus’d betwix’t me an’ me powder monkey, Howie.

I’ll leave ye buccaneers t’ fight over me booty1 an’ give no quarter as ye guide the Wikimedia Foundation t’ safe haven. Aye, she be a leaky old hulk, but take the light and liver of any a’ addled bilge-sucking blaggard that try an’ scuttle her!

In the meantime, you c’n read about me plunders on th’ seven seas on me blog. Here be the UarrrrrrrrL: http://terrychay.com/.

So let’s raise the Jolly Roger and drink some grog!

Arrrrrrrrrrrrr!

the dread pirate terry

Pirate to English translation: I’m leaving the Wikimedia Foundation. My last day is Friday, October 3. A more official email will follow with background on the logistics surrounding my departure. (I also finally posted a staff photo.) Arrrrrr.

(Dread Pirate) Terry Chay (WMF)

~~

terry chay  최태리
PHPirate
Wikimedia Foundation
“Imagin’ a world in which ev’ry single lad and lass c’n smartly plunder in the sum of all intellectual booty. That’s our commitment.

i: http://terrychay.com/
w: http://meta.wikimedia.org/wiki/User:Tychay


  1. All me vested WMF options. I be addin’ a treasure map to the Wiki, but it be revert’d. 

Ergo chair buying advice

A friend asks:

I’m in the market for an office chair. Does anyone use a backless “saddle stool” or anything else that’s more ergonomic?

I can’t comment on backless models, because I’m apparently an “OG Normcore” circa. 1980’s, and not into fads that didn’t survive that wonderful decade.

  1. If your a person who actually uses your brain, you’ll probably be sitting down, not standing. And if so, you’ll be spending a lot of your time there. A chair is a big deal!
  2. People are probably going to recommend the one they use.
  3. Good ergo chairs can run $1k+ and can last decades—mine is 14 years old and counting.
  4. It’s really a personal preference.

Granted, I’m know that the standing desk religious nuts claim old Benjamin as one of their own, but before you plunk 10 down, you might want to try them out before buying. In San Francisco, there are vendors for all of the top brands accessible.

The top three are:

  • Herman Miller: Invented the category with the Aeron. The Latest models are the Embody and Mirra.
  • Steelcase: The world’s largest office furniture company followed Herman Miller with the Leap. The notable ones are the Think and the Gesture. Steelcase chairs are known to be highly complex and highly customizeable (You’ll need to read the user manual to get the sitting right).
  • Humanscale: The dark horse of the elite ergonomic office chair world. Famous for the Freedom, and now the Diffrient chairs.

FYI, As I mentioned two years ago, at home I use a Humanscale Freedom that I purchased from their first store in San Jose in 2000. When I got the cushions on my chair replaced from visiting the downtown SF Humanscale offices in 2011, Marie got a Humanscale Diffrient World Chair in custom colors—another benefit of visiting the store: more color options than the website.

DSC_8400 - Version 2
Some things have changed, but a lot is still the same

Learning to curse

I forgot how much I hate the fickleness of writing software!

I finally gave up on Swift (for now). It’s a easy to pick up language because it resembles more a modern scripting language than a compiled one, and frees you up from historical artifacts like Smalltalk, C pointers, and reference counting. Plus you get awesome things like playgrounds:

Sure, it takes a little bit of chucking random “?”’s and “!”’s in your code before you get the hang of optionals, and I’d fear the performance of a basic structure like a b-tree written in Swift, but it interoperates with C and Objective-C so I don’t have to worry.

Or so I thought. Because of strong typing and the lack of built-in overloads, poorly documented character-based1 functions, here is how I inject a a random letter into a string:

let randomletter = "\(String(UnicodeScalar(65 + Int(arc4random_uniform(26)))))"

And then you find it doesn’t always release variables when you use optionals. create some optional simple objects, add them to an array reset everything and see what your NSLog() (e.g. println())) prints in your deinit:

e.g. BNRItem.swift:

import Cocoa
import Foundation

class BNRItem: NSObject, Printable {
    var itemName:String
    init(itemName name:String)
    {
        self.itemName = name
        super.init()
    }
    deinit {
        println("Destroyed \(self)")
    }
    class func randomItem() -> BNRItem
    {
        let randomAdjectiveList = ["Fluffy", "Rusty", "Shiny"]
        let randomNounList = ["Bear", "Spork", "Mac"]

        let adjectiveIndex = Int(arc4random_uniform(UInt32(randomAdjectiveList.count))) //arc4random() overflows Swift int
        let nounIndex = Int(arc4random_uniform(UInt32(randomNounList.count)))

        let randomName = "\(randomAdjectiveList[adjectiveIndex]) \(randomNounList[nounIndex])"
        return BNRItem(itemName: randomName);
    }
   override var description:String {
        return "\(itemName)"
    }

and main.swift:

import Foundation

var items = BNRItem[]()

var backpack:BNRItem? = BNRItem(itemName: "Backpack")
items.append(backpack!)
var calculator:BNRItem? = BNRItem(itemName: "Calculator")
items.append(calculator!)
backpack = nil
calculator = nil
items.append(BNRItem.randomItem())
items.append(BNRItem.randomItem())

for item in items {
    println(item)
}

// Destroy the mutable array object
println("Setting items to nil…")
items = []

creates 4 items, deletes three. Hello, memory leaks!

Then there are issues when you call C functions like CoreGraphics from Swift. My personal favorite is depending on if I restart Xcode before compiling, one of my apps compiles file or throws an error:

SetAppThreadPriority: setpriority failed with error 45

Great!

That’s not to say I won’t use it for the future. It’s just too frustrating for me to programming model (Cocoa Touch) in a language that I’m rusty at (Objective-C) in a new IDE (Xcode), translate to a language I don’t know (Swift), and not know if my errors are my own stupidity, or just the compiler is buggy.

Yes, someday Swift, and Swift playgrounds for learning the language, and perhaps even a mix of Swift and Objective-C in a iOS project, but I’m putting the language down for now until I learn Cocoa Touch.


  1. as opposed to string based functions 

Learning to smile

Learning to smile

I’ve been a manager for 2.5 years and I’ve been too long away from programming. There is something just so wonderful about being able to work again in a world where there is a right and a wrong.1

I decided to start to finally2 teach myself iOS development today for: first, because I’ve never done it before and second, because it’s an opportunity to learn a new language and re-learn an old one3 I haven’t done for over a decade.

We’ll see how it goes. I’m not optimistic.


  1. …and getting the feedback to know which is which! 
  2. This does not count. 
  3. If you call writing a median-based BPM counter for Mac OS X, “learning.” I think the jury is still out since Xcode, memory management, and the user-interface are so different now.