Wednesday, April 3, 2013

My 15 yr. Anniversary with Mozilla

about:mozilla

Seeing everyone else's mentions/posts about Mozilla's 15 yr. anniversary got me thinking about my own experience with it. The software has had a huge impact on my life, my view of software, my view of the network, my view on security and privacy, and ethics in general.

Brief memory lane...

  • after a few days of working at Netscape, asking Lou why all the networking files were prefixed with "mk."
  • when we were going through internal conversations around whether or not the code should even be open sourced. why would we do this w/ one of our most valuable assets!?!
  • when Lou described the value of open sourcing http://lynx.browser.org/. I didn't understand what OS even was until that conversation. "it allows the community to ensure the right software gets written, and leverages perspectives and skills we could never hire."
  • spending months "cleansing" the code of "bad/offensive" language before it went public.
  • the first coming out party in SF.
  • the mozilla 1.0 release party.
  • seeing that someone re-wrote the cookie implementation.
  • seeing someone else hammer the HTTP implementation.
  • explaining Mozilla and its value to AOL, *after* they spent $4.5b to buy Netscape.
  • negotiating the spin out of Mozilla from AOL; having to play both sides of a table.
  • coordinating the timing of chofmann in Mountain View and Ted Leonsis', on the East coast, approval of the donation from AOL, such that chofmann and crew could literally pile a bunch of computers into the back of trucks to get them off campus before facilities got confused and blocked the exit of the hardware. it was this moment to me that really felt like Mozilla was born and standing on its own two feet.
  • learning that after after some incredibly short period of time (a year or so), Mozilla had accumulated $67m (or so) in default search engine fees from Google. it was unbelievable!
  • watching the .org (501c3) grapple w/ the .com in the context of "profits" in a "non-profit."
  • watching my friends and colleagues fight the greater fight... putting their lives on the line (more than I was able to contribute... something I often consider regretting).
Mozilla planted a "greater good" seed in me that has only grown over the years. No matter what the challenge is that arises in my life (professional or personal), it guides me. I'm not perfect, but the effort has given me a path that I consider noble, and it is one I pass onto my children.

Monday, March 11, 2013

Parenting & Technology Update

It's been awhile since my last update on raising kids in today's tech heavy world.

Minecraft
Total kid-world domination. The XBox is a distant memory and rarely used anymore by my 10 yr. old son. For at least the past year or so this is the only game my son cares about. Period. It's rooted in a Java app that a Swedish guy wrote awhile ago. While Microsoft paid dearly for a port to XBox, it's best driven by a keyboard and heavy duty gaming mouse. The iOS port only works in single-player mode and cannot connect to hosted Minecraft multiplayer servers; iOS devices can only play with eachother on the same LAN.

Watching my son engage with a Java app has been wild. First off, it has forced me back into the world of Java in the home (my company is a heavy Java shop, but Java on the home desktop/server feels like it died a long time ago). The client he runs on his OSX account is Java. We also invested the time to setup our own Minecraft server which he is an admin of. We whitelist his friends who want to play on it with him, and we jammed an A-record for him into DNS that points to our home IP address. Our router now port forwards the Minecraft traffic accordingly.

Minecraft has shown me the continued power of Java. Despite Apple's massive investment in App Store, the most popular thing my kid engages with is a Java app. This has yielded some challenges for me with OSX and my son's home login/account. I have him setup to only run Gatekeeper trusted code, and Java apps don't fit that bill (needless to say). Getting OSX to allow a Java app as an exception, takes some hacking unfortunately. We got it though, and his account remains "locked down" despite being able to run the Minecraft server and client.

Nearly every one of his friends is a Minecraft nut to some degree.

Windows
The other day my son asked me for a Windows laptop. Upon digging in, I realized that the majority of Minecraft users are on windows, and the client/server software tutorials are primarily on windows platforms. The result is that the first impression is that "it must run better on Windows." Obviously not true, but interesting impression on my son's part nonetheless. Without trying to undermine windows for him, I tried to explain the differences and realities, and I think he's backing off this ask for now.

Passwords

  • I never share any of my passwords with anyone... not even family. As a result, we have plenty of instances where everyone in the house has their own account for a given service. PITA, but very few services support account control delegation (kudos to XBox Live for supporting this well btw).
  • April's gotten better about not sharing her important ones (after an expensive in-app App Store lesson with my son) with our son.
  • My son has a few and he knows not to share them with anyone; including the parents. You may read that and think "no way! I'll always have the pwd to my kid's stuff." Here's my reasoning for teaching kids that they should _never_ give out your password; _ever_. If you have bi-directional trust with your kids, it's never an issue anyway. However, if/when questions do arise, you can simply ask them to login to whatever it is you have a question about. In the worst case scenario (they don't comply), you can reset the device (or the pwd to an online service). I don't want to give my kids an exception to the opsec golden rule of "never give your password to anyone," and say something like "except to people you trust." There's just no need to go there and try to explain the exception with something as important as password security.
    •  I will note that my son has an email account that only I know the pwd to. We use that for registering for services that require an email address. We host the email account ourselves so we don't have to deal with "13+" registration crud.
  • My daughter has only a couple of instances wherein she needs a password, but, I'm teaching her exactly what I taught my son; never share your password with anyone... ever.
I preach heavy on password control at our house. I view password misuse as the likely most significant issue that my kids may contend with from a socially disastrous situation in their childhood and adolescence. Our accounts and passwords are the keys to our new online lives; not to be trifled with. I'll introduce them to Multi-factor (e.g. 2-step) authentication models soon, but that just feels too heavy right now.

Texting

The only version of this that currently exists is via iMessage and it's confined to my son, April, and myself. It's not wide open yet. Interestingly though, my son considered IP based messaging to be "texting." Apple's done a good job obfuscating SMS away. It's conceivable, if network access continues to permeate everything, that he never needs a mobile number to accomplish his needs when we finally open things up. We'll see....

Latest Inventory of Kids' Stuff

  • iPad mini - son. he uses this religiously everyday. watches YouTube videos about minecraft. he has his own password that neither April or I know. if we want on it, we ask him to login, and he abides. so far there has never been any hesitation on his part.
  • iTouch - son. lost in a drawer somewhere. he couldn't care less.
  • Logitech gaming mouse. son. used for Minecraft. he wanted something that ergonomically clicked faster, and that had a physical scroll wheel with tactile feedback.
  • Nook HD - daughter. she uses this off and on, but not much. she complains about wanting "more apps."
  • Wii - kids'. collecting dust.
  • XBox - kids'. used once a week at most. EA Sports games mostly now.
  • iMac - family. each kid has their own account/login. used everyday for Flash games (daughter) and Minecraft (son). my son doesn't bother with a password here. my daughter has one that both April and I know. both kids use the iMac to access educational sites that our school uses, all of which are only compatible with desktop browsers (no iOS support).
  • Tivo & AppleTV. The kids learned our 4-digit parental control passwords and we haven't bothered to change them. So far it's been a non-issue... they don't actively seek out questionable content.
Network Access
  • an Apple Airport Extreme doles out IP addresses at our house. network names are hidden and have reasonable passwords in front of them. the kids' devices are only allowed on the network during daytime hours, and this is controlled by the Access Limits function on the router.
  • all DNS resolution occurs through http://www.opendns.com/home-solutions/ . this is an _awesome_ service that I can't speak more highly of. I don't have to worry about questionable hosts getting rendered on my network (e.g. in my house by any of our devices).
    • drawbacks are...
      • occasionally either April or I will try to access something that OpenDNS doesn't want to let through. we have it tuned rather aggressively.
      • it only works at the DNS level obviously, and we allow YouTube access (effectively impossible to shut down without being a complete societal rebel), so questionable videos still get through from time to time.
  • When we're out and about (e.g. dinner) and my son has his iPad mini and we allow him to use it (which is rare anymore... the "no devices during dinner" rule is well in place at this point), it's wild to watch him ask the server for their network password. he does so without consternation or concern. as a child, I'd have been petrified to do this as often as he does, but he just does it.

All and all things feel pretty good on the technology front with the kiddos. My biggest gripe would be total screen time (today's equivalent to yesterday's "TV time") for a given day. Screens are _everywhere_ now.

Monday, February 11, 2013

Gnip's Organization Evolution

Today timehop showed me a picture I took two years ago of a guess at an org chart that I thought Gnip (a social media company) might look like at fifty employees (approximately where we are at the moment). The timing may be off a little; I may have drawn this up a few months before I took the actual pic. Gnip is five years old, this month.


I drew it up after one of our board members suggested the exercise; "just imagine what you think you might look like." At the time, the thought of our business supporting fifty people was so far out there I could hardly imagine it. I went through the exercise, and the above picture resulted.

The actual org chart of what we look like today is of course different. Just how different is a matter of perspective. When I look at the above sketch, I'm surprised at how well it held up to reality. Some thoughts on how things actually evolved follow.
  • I learned at a First Round Capital CEO summit that the CEO should never draw up an org chart with the CEO at the top. Instead you invert the pyramid like Rand Fishkin did here. An inverted pyramid represents reality. The one I drew two years ago isn't how the CEO role works.
  • We almost never look at our team in org chart form like this. While everyone has their domains and expertise areas, we look and feel relatively flat.
  • A critical hire wasn't even on the map represented two years ago; the COO. Half of Gnip reports to our COO. I'm a technical CEO. What I'd originally mapped out, distributed much of the "business horsepower" across a handful of VP roles. Things didn't fully evolve that way in reality. While we have incredible talent (that I would hit the battlefield with any day of the week) in the leadership positions that drive Sales, Marketing, and Finance, our COO owns and manages those functions outright. Looking back, I'd likely have screwed things up with the above model; we'd likely have had stunted growth. Knowing what I know now, all of that is likely too much for a technical CEO, "alone," to pull off properly.
  • The COO, VP of Product, and VP of Engineering report to me directly.
  • We do not have an dedicated HR person. We split the functions across our Finance Director, and a remote HR contractor. I like it this way still.
  • We do not have a CTO. That level of technical leadership/representation is driven by myself ("technical CEO") and our VP of Engineering.
  • The code-level groupings for engineering are kinda close to where we are today; closer than I would've guessed they'd be after two years. Notably, the amount of continued code that has to be written in order to ensure reliability of the system, including keeping pace with continued massive growth of social data volumes from publishers, was underestimated. We feed the mainline real-time software beast a ton, everyday. I naively thought we'd write that code, and just have to babysit it. It requires constant revisions and new approaches.
  • The Product org looks today just like I'd mapped it two years ago; wild. It's small and simple, so I guess I couldn't have gone too far off the rails.
  • Finance is 2x bigger than I'd predicted. Wishful thinking at the time I suppose.
  • Marketing is bigger than I'd guessed it would be. Not surprising I suppose for a technical guy's prediction.
  • We're only just now formalizing Sales Engineer roles. We've gotten by with engineering and support handling that function until now.
  • Data Science wasn't even on the chart two years ago, and today, we have a small group doing precisely that. Gnip's Data Science function is centered around understanding the publishers we integrate with in order to ensure we can effectively market/position/sell their data. Gnip's often in a market maker position, so we have to know the data we work with inside and out. The degree to which we ultimately needed to invest here was a surprise. When I look at it now however, I can't imagine having drawn this map up without said function. That was a miss.
  • We also have an office manager and receptionist today.

Wednesday, February 6, 2013

Actions Speak Louder Than Words

We've all heard this adage a million times. I've been saying it at home, and at work, a bit over the past few months.

My son is a decent carbon copy of me (poor kid!), and if you know me, I'm generally a man of few words. If I find myself telling you about what I want to accomplish, I've already failed in my mind. I need to be showing you what I've already done.

I lead by my actions. My son tends to do the same. My daughter on the other hand has thrown out the proverbial "I'm trying" a few too many times over the past six months. The result, my inner Yoda comes out and I engage in "there is no try, only do" conversations with her.

Don't talk to me about trying. Don't talk to me about what you want to do. Don't talk to me about what you've accomplished or want to accomplish.

Get it all done and show me. That's obviously a little harsh for a child, but when you're an experienced adult on a high-functioning team, that's table stakes.

I'm way oversimplifying here of course. There is such a thing as empathy, and planning a course of action, and assisting, and sharing experiences in order to come up with a plan of attack to get something done (as an individual, and as a team). Those are all crucial pieces around getting things done, as individuals and as teams. Engagement around speculation and desire is healthy and required in order to succeed.

I'm just sayin' that actions speak louder than words. We are judged by what we did, not what we talked about doing.