A new adventure

Last Thursday, I informed my managers at Yahoo! that I will be leaving the company. I have a lot of thoughts about leaving Yahoo!, and I'm going to assemble them into another post later. For now I want to talk about the new gig. A while back, Jonathan invited me out to dinner. We'd worked together for a year on the dream team that was Yahoo! Widgets before it got mothballed, and he wanted to talk about some ideas he had around entertainment, social media and the Internet. In a way that is characteristic of him, he started speaking fluently, passionately, and with all the focus of a terminal ADD sufferer about friends of his who are media types who make web content. About how they use blogs, Facebook, Twitter, YouTube, Flickr, and sites like those -- what he collectively termed "social media", a buzzwordy phrase, but usefully short. Mostly, content creators use social media haphazardly at best. Not because they're dumb, but because there are so many sites for them to use, each with different use-cases and...
6 comments

On leaving Yahoo!

Today is my last day at Yahoo!. It's been four years -- more than twice as long as I've held any other job. I remember very clearly, when I was fifteen and had had Internet access for only a few weeks, building my first web page and thinking "wow! This is fun! I wish I could get a job doing this!" Then I tried to think of big, web companies I'd really want to work for, and the first one was Yahoo!. "But they've already built their website", I thought to myself, "They don't need another web developer. Plus, I don't know Perl." So nine years later, when Yahoo! contacted me and offered me a job in the London office, it was a dream come true. I sent excited emails to friends and family, I printed out a huge "I WORK FOR YAHOO" banner above my desk at home (in a stolen copy of the Yahoo! font). I know it sounds terribly cheesy, but I really did. Joining Yahoo! was amazing. We're so *big*! We have our own fork of Apache, our own version of PHP, dozens and dozens of our own specialized products and plugins (I...
tagged with
5 comments

Seldo.Com is 10

I registered this domain ten years ago today, sitting in the chair by the window in my brother's apartment in Clapham South -- I had just moved to the UK from Trinidad, and hadn't found my own apartment yet. The 10th anniversary of this blog is a little further away -- the site was mostly static until March 2001. This morning I grabbed a quick set of screenshots of some of the oldest designs of the site; they are pretty funky.
7 comments

3 years, 3 days

It was March 18th, 2007 when Barack Obama visited Oakland and I went to see him speak in person for the first time. It was there I first heard him promise universal healthcare by the end of his first term in office. "And I want to be accountable for this," he said. Of his speech that day, I said: Above all, it was a message of optimism: yes, the system is broken, but it can be fixed, by us, right now. And this funny, sincere, incredibly, hypnotically charismatic man seems like just the right guy to do it Today, the trust he inspired has been validated, and the promise he made has been -- as far as I am concerned -- kept. Sure, the coverage is not quite universal. And lots of things won't kick in until 2014, after the end of his first term. But that's politics. It's a business of compromise, and incremental advance. But he promised the biggest change to healthcare in a generation, and here it is. Good going, Barry.
12 comments

Re-Expressed

A few weeks ago the Trinidad Express, one of Trinidad and Tobago's major national newspapers, redesigned its website. The result is an unreadable mess of tiny fonts and hundreds of blinking, flashing ads. Literally unable to read it myself, I quickly hacked-up a script that reformatted the front page. Some friends liked it, so I expanded it a bit. So now, after a few weeks of tweaking, I give you Re-Expressed: the Trinidad Express, made readable. I hope you find it useful.
7 comments

Apple's ban on intermediate platforms, and what this means for web apps

Dear web developers hoping to build apps for the iPhone: we're fucked. But Apple is shooting itself in the foot. Some background There's a big fuss right now because as part of the iPhone OS 4.0 release, Apple has explicitly banned the use of intermediate platforms to create iPhone apps (and hence presumably iPad apps, since they run the same operating system). Their motivations for doing so are the subject of debate. The supremely well-informed Jon Gruber of Daring Fireball thinks Apple is doing it to lock in iPhone as the de facto standard for mobile development, in the same way that Microsoft managed to get a lock on the PC market despite the many flaws of Windows -- by attracting critical mass of developers, and hence apps, and hence users, and hence developers, in a virtuous, monopoly-creating feedback loop. This interpretation has been tacitly acknowledged by Steve Jobs himself. However, Jobs placed the emphasis on another aspect of the post, saying intermediate layers between the platform and the...
5 comments

Towards a real distributed social network protocol

Last week Facebook announced its Open Graph protocol. It sounds exciting, but is unfortunately a completely misleading name, being neither open, nor a graph, nor a protocol. Instead it is a Facebook social Data API, but since they already had one of those and it was broken you can see why they felt the need to re-brand. Elsewhere on the web Google and others are working on the OpenSocial APIs, which are at least accurately named. But they are just a standard way of accessing everybody's isolated walled gardens. Neither effort do anything to achieve the inter-operation of social networks that I imagine when I hear the names. What would an open graph protocol really look like? The reason the web works is because it is independent, decentralized, and simple. There is no prescribed ideal for the way web pages should fit together. Indexing is independent of representation, and indexing is open to anyone. The web is a graph, a real graph, where no node is more important and any path is possible, and the protocol...
6 comments

A letter from a mother

I've already posted this letter from the mother of a gay son to her local newspaper in Vermont to delicious, but it's worth putting in as many places as possible. It's really brilliantly written. The phrase in particular that I wish every anti-gay religionist in America was required to read before opening their mouths ever again: If you want to tout your own morality, you'd best come up with something more substantive than your heterosexuality. You did nothing to earn it; it was given to you. I want this on a t-shirt. And a billboard. And written in the sky.
tagged with
6 comments

In defence of SQL

If this title does not interest you, here are some alternative, linkbait titles: Why ORM is the Dumbest Idea Ever Why NoSQL is a Terrible Idea OMADS: the future of data storage Why SQL Will Eventually Conquer The World A little history SQL was invented in the 1970s at the same time that "large-scale" (read: millions of rows) data stores came into existence. It triumphed over other query languages not because it was particularly great (though it was easier to read), but because it was standard. Everybody building a data store could write to the SQL standard without having to re-train all their clients and customers. It reduced friction all round. It was a huge success. SQL is awkward There's no escaping that SQL, as we use it day to day, is not pretty. Keep in mind that what SQL is really designed to express is relational algebra, a type of logic essentially invented by the ridiculously clever E.F. Codd (along with nearly all the other theoretical underpinnings of relational databases). If you're not...
12 comments

Arrington is completely wrong about women in technology

Michael Arrington's post on TechCrunch today about who to blame for the lack of women in tech was even more offensively wrong than I was expecting from the title, and that's really saying something. It goes off the rails right in the first paragraph: Success in Silicon Valley, most would agree, is more merit driven than almost any other place in the world. It doesn’t matter how old you are, what sex you are, what politics you support or what color you are. If your idea rocks and you can execute, you can change the world and/or get really, stinking rich. wrong, wrong, wrong and wrong. It matters enormously how old you are -- either too young to be taken seriously as an entrepreneur, or too old to be taken seriously talking about new tech. Your color is ridiculously important, because the people with money, who are almost exclusively men and mostly white, are more comfortable talking to other white men, and your nationality even more so, because of visa restrictions. Even your politics are important,...
4 comments

San Francisco city guide map, for the prospective resident

Update 2013-03-24: People continue to find this map very useful, so I've made a minor update to include the up-and-coming La Lengua neighborhood. A friend of mine is moving to San Francisco, and asked me for advice on where are the nice places to live. This is a sufficiently common question that I decided to do a proper answer, in the form of a custom Google map. I mentioned it on Twitter and it got quite a lot of responses, so here for posterity is my guide to the neighbourhoods of San Francisco: View San Francisco Neighbourhood guide in a larger map Where possible I've made comparisons to equivalent areas in London, as that's where my friend is moving from. Comments and suggestions are welcome; Twitter is probably the easiest way. Update: this map is obviously extremely subjective. Many people love the Richmond, and huge numbers of people think the Marina is great. I make absolutely no claim to objectivity, so don't yell at me.
5 comments

The obligatory I-am-getting-older post

Few people, when they are fifteen, have any idea what they want to do with their lives. A lot of people, when they're eighteen years old, don't know what it is they want to study at college -- it's a momentous decision that shapes the rest of your life; how could you possibly make it without knowing what it's really about? After college, the same sort of fear paralyzes people: what do I do now? What sort of job do I want? Where do I want to live? At all these stages, overwhelmed, some make bad choices, while others luck out. I'm not one of those people. Through a fantastically unlikely combination of timing and aptitude, I was born at pretty much exactly the right time to be present for the popularization of the Internet and the birth of the web, the medium by which I am endlessly fascinated and to which I am perfectly suited. At age fifteen, before I even had Internet access at home, I was building my first web page. After a few days of that I was pretty clear that this was what I wanted to spend the rest...
tagged with
6 comments

PHP needs to die. What will replace it?

It's time for PHP to die. And I say this as a die-hard PHP developer currently converting an existing Ruby on Rails codebase to PHP. History repeating The reason I know PHP has to die is because I've seen this before. Roughly a decade ago, PHP killed Perl. Not completely, of course; it still clings on in some environments, it has a sizable legion of die-hard fans, and legacy apps will need to be maintained in it for decades to come. But as a language for newcomers, and especially for web developers, it was already dying in 1999 and was mostly dead by sometime around 2005. As a newcomer to web development around then, it was clear both that this would happen and why: Perl was ill-suited for the new application environment. Pages of tedious boilerplate CGI were required in Perl to achieve PHP's basic, default behaviour. The language was full of anachronistic features -- pointers (update: sorry, references), inconvenient hash structures, and a dozen other little language quirks -- that made web development...
73 comments

PHP needs to die. What will replace it?

It's time for PHP to die. And I say this as a die-hard PHP developer currently converting an existing Ruby on Rails codebase to PHP. History repeating The reason I know PHP has to die is because I've seen this before. Roughly a decade ago, PHP killed Perl. Not completely, of course; it still clings on in some environments, it has a sizable legion of die-hard fans, and legacy apps will need to be maintained in it for decades to come. But as a language for newcomers, and especially for web developers, it was already dying in 1999 and was mostly dead by sometime around 2005. As a newcomer to web development around then, it was clear both that this would happen and why: Perl was ill-suited for the new application environment. Pages of tedious boilerplate CGI were required in Perl to achieve PHP's basic, default behaviour. The language was full of anachronistic features -- pointers (update: sorry, references), inconvenient hash structures, and a dozen other little language quirks -- that made web development...
4 comments

Three gay teens kill themselves every day

The twittersphere and blogs have been alight this week with a string of high-profile suicides by gay (or perceived to be gay) teenagers, starting with Billy Lucas, who was 15. Then there was Seth Walsh, a 13-year-old who hung himself and was taken off life support after ten days. Then Asher Brown, another 13-year-old, shot himself in the head. Then 18-year-old Tyler Clementi jumped off the George Washington Bridge after fellow students broadcast video of him having sex on the internet. And on Wednesday Raymond Chase, a 19 year old, hung himself. Their deaths are unbearably sad, and deserve all the attention they've been getting, and all the hand-wringing about teen suicide, and gay teen suicide in particular. I encourage you to check out Dan Savage's It Gets Better project, and watch Ellen's plea to end bullying. But we need to be clear: this is not a sudden surge in gay teen suicides. This isn't even a complete list of the gay teen suicides that happened in September. For that, we'd need nearly a hundred...
9 comments

It gets better

[I tried to make an It gets better video, but it didn't work. If I spoke it sincerely I kept bursting into tears, and speaking it insincerely sounded robotic and terrible. I am much better with the written word, so inspired by Tom, here's my contribution. This is a message to gay kids. You can read it if you're not a gay kid, but you're not the intended audience.] Hi. So I know this is several paragraphs long and you were born into the age of YouTube so you may not get to the end of this. In which case, here's the summary: it gets better. It's really bad now, it may even get worse, it will become unbearable, but somehow you'll bear it anyway. And then it will get better. When I was fifteen and sixteen, I thought about suicide quite a lot. Not vague unfocused intentions, but specific plans of where, when, how high up I would start and how hard I would hit the ground. I was going to do it because I had realized I was gay, and I couldn't face it. My parents were pretty conservative, especially my father, and...
6 comments

Why I really, really hate Instagram

Update 2012-01-09: OMG you guys, stop linking to this already! The new versions of Instagram save the un-filtered versions by default, and the new filters are in any case a lot more subtle than the first version. Instagram no longer destroys data, so I no longer hate it. Please stop sending me flame emails. I love data, so I really hate Instagram. I suppose it would be more accurate to say I really hate the users of Instagram, for what they do to their photos; Instagram is merely the enabler. The behaviour I take issue with isn't even the default behaviour of the app. But I'm uncomfortable applying such a strong word to such a large group of people who are mostly just trying to be cute and aren't considering the larger consequences of their collective action. So instead I hate Instagram, for enabling the senseless destruction of data contained in these photos. Consider the digital camera on a mobile phone. Even on high-end mobile phones, it is already a pathetically inaccurate instrument. Even a...
240 comments

A few words about Wikileaks

By now you have probably heard about Wikileaks (currently unavailable via its main domain, apparently due to political pressure, but still available at wikileaks.de, wikileaks.fi, and wikileaks.nl). Wikileaks is a tough case to take a position on. On the one hand, Julian Assange (it is hard to separate the website from the man, though he obviously has a lot of people assisting him) is clearly a bit of a tinfoil-hat guy, and also a shameless self-promoter (though I do not for one second believe he is a rapist, and since the women involved have both withdrawn their allegations, nor apparently do they*). His claims as to the volume of documents they possess, as well as who does and does not support him, are murky. He is an attention-seeking ideologue. But on the other hand, Wikileaks has done some things I find it hard to condemn. The Afghanistan war diaries were a worthwhile effort. While not nearly as damning as the hype would have you believe, they genuinely shed light of the hopelessness and...
6 comments

@linklog and the delicious shutdown

The linklog which appears to the left on the home page of this blog and also in my tumblr stream, as well as the independent @linklog stream on twitter, is powered by delicious. News leaked today that Yahoo!, in its great wisdom, is shutting down delicious. I'll be migrating my bookmarking to another service -- I've not yet decided which one, but pinboard.in is a strong candidate. You should expect no disruption in your service of wonderfully distracting links :-)
tagged with
9 comments

The 12 Days Of Christmas, by the numbers

So I read this tweet by Tim Siedell over the weekend, which made me think: hey, that is a lot of birds, isn't it? I mean, he's bringing her a partridge every day for 12 days, that's 12 partridges. But by the end of the song he's also bringing doves, hens, geese, and more. I started running the numbers. Then I told my friend Ricky, and together we packaged it up into this Christmas-themed infographic. Hope you like it! (Click to make it bigger!) Like this? Share it with your friends! var fbShare = { size: 'small' }; Tweet
13 comments

I want to expose your children to homosexuality

Dear Parents of the World - There is a phrase used often, when talking about portrayals of homosexuals in the media, by people who say that it's okay for people to be gay in the privacy of their own homes but they don't want to "expose their children to homosexuality". No offence, they say. I just don't want to have to explain boys kissing to my 4-year-old. To some people, it seems like a reasonable request, and you often get your way. Like the censorship of the gay kiss in Katy Perry's Fireworks video in the UK. On behalf of the gay people of the world, let me say: get over it. Let's not beat around the bush here. Yes, we want to expose your children to homosexuality. We absolutely do. It's important that we expose your children to homosexuality. But not because it makes us feel better. Not out of some desire to be politically correct, or inclusive. But because it is potentially vital for their psychological well-being. Your children are already exposed to heterosexuality on a near-constant basis in...
31 comments

Briefly, on Agile

When you say "agile", I hear "cargo cult". Agile is a process for managing software development. If you have a great team of smart people who communicate well and trust each other, they can use agile techniques to release lots of small iterations on a software project very quickly. This pattern of software release is often useful for startups. None of this is in dispute. The problem is that with its rise in popularity, it has been both misunderstood and over-applied. If you have a good software team you can use agile, but if you use agile you will not automatically get a great team. If your team members communicate well and trust each other they can use agile, but if they communicate well and trust each other they could use any other methodology up to and including no fixed process whatsoever, and be equally successful. Agile changes your release pattern, not your people. Bottom line: great teams produce great software. Great teams using agile release software every two weeks. Bad teams will produce...
tagged with
8 comments

iPhoneTracker, Extra Creepy Edition

You may have heard about Pete Warden's iPhoneTracker, an app that lets you explore the giant trove of geolocation data your iPhone has been collecting since iOS 4.0 (and possibly before). You may not know that the grid on Pete's released app is the result of his app deliberately aggregating the datapoints to a grid, in order to be a little less creepy: if you zoom in you’ll see the points are constrained to a grid, so your exact location is not revealed. The underlying database has no such constraints, unfortunately. But hey, why should he decide how much we want to expose our location? Let's get super creepy! Following some instructions from a clever friend, I made the very simple change required to increase the granularity of the data shown on the map. Before: and after: Woah! Neat, right? If you want to try it out yourself, you can follow Nicole's instructions on your own downloaded copy of Pete's source from github, or if that's too much trouble and you trust me, you can download...
tagged with
38 comments

ORM is an anti-pattern

I tweeted about ORM last week, and since then several people have asked me to clarify what I meant. I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend to stop reading at the first sentence that makes them angry (and then leave a comment about it, whether or not their point is addressed later on). What's an anti-pattern? I was pleased to discover that Wikipedia has a comprehensive list of anti-patterns, both from within the world of programming and outside of it. The reason I call ORM an anti-pattern is because it matches the two criteria the author of AntiPatterns used to distinguish anti-patterns from mere bad habits, specifically: It initially appears to be beneficial, but in the long term has more bad consequences than good ones An alternative solution...
110 comments

Wanted: statisticians

The only skills gap bigger than the one for programmers is the one for statisticians. The whole web industry is accumulating vast quantities of data and storing it, magpie-like, as if it has intrinsic value, aided by ever-falling prices for storage. But the data isn't valuable. It doesn't mean anything until somebody who knows what they're doing looks at it, sifts through it, and produces a tool that lets others use it to draw valid and useful conclusions. But hardly anybody does this. Instead we apply the most absurdly basic analyses and build whole businesses around them. We are messing around in the shallows, while the ocean of data gets bigger every day. If you want to find yourself enormously over-employed for the next decade, learn a bunch of statistics. As a bonus, find a way to fit machine learning in there, but we even have way more people who understand machine learning than understand what it is we should be teaching them.
tagged with
21 comments