
Ten predictions (2004) - S4M
https://sites.google.com/site/steveyegge2/ten-predictions
======
friendly_chap
1\. XML databases will surpass relational databases in popularity by 2011. We
got NoSQL (esp. JSON based ones) instead of XML. Close enough though.

2\. Someone will make a lot of money by hosting open-source web applications.
Github is cool but with all the cheapskate web devs (no offense, I am one of
them) I don't think it is _that_ profitable.

3\. Multi-threaded programming will fall out of favor by 2012. Not really. We
are already in the multicore age, and it will only get moreticore.

4\. Java's "market share" on the JVM will drop below 50% by 2010. Not in 2010,
not even yet, but we are certainly on the road. No surprise considering how
shit Java is.

5\. Lisp will be in the top 10 most popular programming languages by 2010.
This failed hard.

6\. A new internet community-hangout will appear. One that you and I will
frequent. This is such a vague prediction does not even worth mentioning.

7\. The mobile/wireless/handheld market is still at least 5 years out.
Happened sooner.

8\. Someday I will voluntarily pay Google for one of their services. You don't
say? They are one of the biggest players out there, even if they are not
primarily known for payware but still.

9\. Apple's laptop sales will exceed those of HP/Compaq, IBM, Dell and Gateway
combined by 2010. No way, thanks God.

10\. In five years' time, most programmers will still be average. This makes
no sense, but anyway, we are getting better. Slowly though, version control,
more languages, testing is infiltrating even some dumber dev companies too.

\--

I give this guy a mental thumbs up for points 1 and 4, and the cynicism in
point 10.

~~~
seanmcdirmid
> We got NoSQL (esp. JSON based ones) instead of XML.

Thank god we dodged that bullet. I'm just glad people see XML for what it
really is (useful, but not that useful).

> Not really. We are already in the multicore age, and it will only get
> moreticore.

The problem is multi-threaded has never really took off, even with all the
cores we have today. There is still no silverbullet to harnessing parallelism.

> Apple's laptop sales will exceed those of HP/Compaq, IBM, Dell and Gateway
> combined by 2010. No way, thanks God.

Apple's profits on laptop sales (not other iOS devices) exceed those of HP,
Lenovo, and Dell (everyone else being dead). Apple has been in no hurry to
capture the unit shipped crown (and if we count iPads, they are already
there).

> In five years' time, most programmers will still be average.

A tautology if I ever heard one.

~~~
friendly_chap
> useful, but not that useful

\+ 1

> Apple's profits

With all respect, I have hard time seeing Apple laptops outside the US. Not
counting some fanboys who acquired the taste trough some snob blogs.

~~~
MrScruff
_With all respect, I have hard time seeing Apple laptops outside the US._

Indeed. And where I am (also outside the US) I have a hard time seeing non-
Apple laptops. Anecdotal evidence isn't really that useful when we're talking
about global trends.

 _Not counting some fanboys who acquired the taste trough some snob blogs._

Making statements like this cause you come across as overly emotionally
invested in your platform, and make others less likely to take your arguments
seriously.

~~~
friendly_chap
> Emotional investemented

No. I happen to use anything. I am not against Apple, I am against the Apple
fanboyism. And any type of fanboyism.

> Anecdotal evidence

[http://en.wikipedia.org/wiki/Usage_share_of_operating_system...](http://en.wikipedia.org/wiki/Usage_share_of_operating_systems)

"For example, most desktop and laptop computers use Microsoft Windows"

~~~
MrScruff
_No. I happen to use anything. I am not against Apple, I am against the Apple
fanboyism. And any type of fanboyism._

'Fanboy' is a pejorative term used on the internet to try and infer
irrationality in others. It's like hipster. It doesn't make you magically
qualified to judge others opinions or motivations just by using it.

 _"For example, most desktop and laptop computers use Microsoft Windows"_

That is not anecdotal, though it's also not the fact being discussed. Note
that I'm not trying to argue that Apple sells more laptops combined than the
other main manufacturers, I don't believe they do.

~~~
youngerdryas
He knows very well it is a pejorative term, that is why he used it.

------
moron4hire
On the Lisp thing, looking around the programming world in 2004, you didn't
see proliferation of functional concepts like you do today. In those days,
"functional" meant Lisp, at least popularly. I think the big lesson of Lisp
has been disseminated, though, and that is that it is more productive to write
code-that-writes-code.

But I also think we learned a broader lesson that it's better to not pigeon-
hole people down into a single paradigm. So what if Company A uses only the
functional bits of your language and Company B uses only the object oriented
bits, thus making their code "incompatible". Their code would be incompatible
even if they could 100% agree on programming paradigms, naming conventions,
API patterns. Because programming is so much NOT the syntax of the language,
as long as it is not specifically restrictive.

~~~
stiff
Being a "Lisp" is a very broad category and I always wondered about people
calling Lisp a functional language. I would love to see a list of things that
are today considered functional that originated in Lisp, I think there is not
that many of them in the end. However, there is a ton of things that have
nothing to do with being functional that originated or got popularized by
Lisp: garbage collection, lists as the fundamental data structure, dynamic
typing,... One could just as well consider it the first "scripting" language,
a spiritual predecessor to Python, Ruby, maybe Smalltak to a extent? Many Lisp
dialects do not stress the functional part all that much and lots of Lisp code
is written in a way that is very imperative. In the end I think many other
factors contributed much more to the popularization of functional programming.

And if you take Common Lisp as an example of a Lisp, there are still tons of
interesting things that are far from being mainstream. Multiple dispatch,
conditions system, macros, ...

~~~
nessus42
_> Being a "Lisp" is a very broad category and I always wondered about people
calling Lisp a functional language._

I don't understand how anyone who has studied programming language history
could not understand that Lisp, and APL to no small extent, are the languages
that initially defined what it means to be "functional".

Scheme, which is a hugely influential dialect of Lisp, is unambiguously
functional, and Lisp in general is clearly derived from lambda calculus, which
is the origin of functional programming.

~~~
stiff
I understand this, see my comment above, but when you speak of "the
programming language Lisp", the way you speak about Python or Ruby, it most
commonly refers to Common Lisp, that is and was the most popular
implementation and its common usage was hardly functional. Part of the
confusion is also that what today goes as "functional" is not only about
functions as first-class objects but also very much about minimizing mutable
state and this isn't something that was emphasized by first Lisp
implementations.

~~~
nessus42
_> it most commonly refers to Common Lisp_

That's not my experience at all. "Common Lisp" is used to refer specifically
to Common Lisp. "Lisp" refers to the entire Lisp family. When I took SICP at
MIT, Sussman and Ableson referred to Scheme as "Lisp" more often than they
referred to it as "Scheme". Check the online video taped lectures if you don't
believe me.

Additionally, lists in Lisp are the definitive persistent functional data
structure. Sure, you can use rplaca and rplacd to modify a list, but this is
very rare (not to mention dangerous) to do. Also, courses taught using Lisp
typically focus on recursive solutions.

------
swah
"Important Note: the predictions themselves don't matter! Most of them are
probably wrong. The point of the exercise is the exercise itself, not in what
results. You should try this experiment yourself — it may show you things
you're thinking that you weren't really aware of. And other people might find
it interesting reading, even if there are factual errors or whatever"

------
justin_vanw
Lisp will never be popular. Everyone likes to kiss the ass of Lisp, and talk
about how transformative and powerful it is, then they go and write a bunch of
Python or Ruby or Lua or Perl or anything other than Lisp, because infix is
just much much more readable. When was the last time you went to a math class
and the professor wasn't using infix notation? Even the Common Lisp Hyperspec
has to resort to infix notation to explain things. Look at all the infix
notation:
[http://www.lispworks.com/documentation/HyperSpec/Body/f_car_...](http://www.lispworks.com/documentation/HyperSpec/Body/f_car_c.htm)

Otherwise, this is pretty spot on. I would say that XML databases should be
replaced with JSON or schemaless databases (there was no json back then) and
then this prediction is spot on as well.

~~~
lkrubner
I got a new job in December. This company mostly uses Ruby and PHP. I was
given an assignment for which they scheduled 2 weeks. I wrote the whole thing
in Clojure, my new favorite language. I got it done in 1 week (6 days). After
I was done, I asked if it was okay if I used Clojure. The folks I work with
had no problem with that. They asked were impressed with my speed, part of
which I attribute to Clojure.

I am the first person in this company to use Clojure, (although there is a
small team in London that now uses Scala, and there is an official goal to
move toward JVM technologies). I use it because it lets me work very fast. I
have spent many years writing Ruby and PHP. I used to use them because I
thought they were fast, and Java was slow. But one's point of reference shapes
one's preferences.

Let me put it like this: I started using PHP in 1999. At that time, I felt
strongly that this was the easiest way to write web apps. Java was verbose.
The Struts framework was monstrous to the point of being offensive. Perl was
ugly. I had never heard of Ruby. I became an evangelist for PHP, trying to
convince companies that its use would make web development much more pleasant
and faster.

Later I did some Ruby On Rails development. I like this language, though I
have never understood the smug sense of superiority of some Rails developers,
especially in their attitude toward PHP. In my mind, these are 2 similar
languages with slightly different strengths and weaknesses, but at roughly the
same level of power.

PHP was for a long time a Wild West of development. Every developer built
their own CMS and then used it for everything. At some point after 2006, this
changed. Ruby On Rails was a huge influence. By 2008, the only jobs I could
find, for either Ruby or PHP, were using monolithic frameworks: Rails,
Symfony, Drupal or Cake. I found myself bogged down reading endless
documentation. I recall losing whole days trying to track down a bug in
Symfony and then finding it was because of a setting in an obscure YAML file.
The situation was not as bad as Struts, but I felt that somehow the world had
taken a wrong turn. Once upon a time lightweight scripting languages offered
freedom from Java and Struts -- and when you make that comparison, both Ruby
and PHP seem like heaven. Bruce Eckel summed up the spirit of the change here:

"But for someone who has invested Herculean effort to use EJBs just to baby-
sit a database, Rails must seem like the essence of simplicity. The
understandable reaction for such a person is that everything they did in Java
was a waste of time, and that Ruby is the one true path."
<http://www.artima.com/weblogs/viewpost.jsp?thread=141312>

To me, Clojure is interesting for 2 different reasons:

1.) the language

2.) the eco-system

The 2 work in combination of course.

When I got done with my 2 week assignment, which I did in 1 week, I ran "lein
uberjar" and gave a single binary to the sysadmin, so he could roll it out to
the production machines. He asked where the other files were. I said "There
are no other files, all the HTML, CSS, Javascript, images and code are in this
one file." He asked how to start it. I gave him a simple 1 line startup
command. He started it up and was amazed. He said, "That's it?" I said,
"That's it." He said "Why can't they all be this easy?" He was used to dealing
with complicated Capistrano and Jenkins commands for roll-outs.

To me, Clojure has that simplicity, speed and elegance that I was looking for
in 1999, when I stumbled on PHP and decided PHP was the wave of the future.

I suspect the Great Age Of Lisp is still ahead of us. Stuff like Clojure makes
me think there is a vast potential here, still waiting to be unlocked.

~~~
justin_vanw
So, if I were to do your two week assignment in one day, in C, would that mean
that C is much better than Clojure?

What if I gave your Sysadmin a make file that would build a Debian package or
RPM package rather than expecting him to maintain some complex and silly
deployments system? The sysadmin would be my new best friend, but would that
imply that the _language_ I used was better?

You are doing some seriously sloppy thinking here.

~~~
lifeisstillgood
I have to disagree - he was talking about the eco-system of clojure as well as
the language.

We do get mixed up with complicated frameworks at the expense of simple (dare
I say composable) solutions. Clojure is small and simple enough that it has
not yet had the weight of working in a thousand different environments imposed
on it.

------
xiaoma
This really is an impressive display of foresight. It appears that all the
reading Steve mentioned doing paid off. The act of discussing his predictions
here on HN is foretold in prediction #6. And those that were off, were still
pretty warm.

~~~
S4M
When reading the article, I had the feeling that prediction #6 was actually
FaceBook.

~~~
Samuel_Michon
Facebook already existed when this was written. HN was just around the corner
and fits a lot better, imo. I figured "you and I" referred to developers and
entrepeneurs, not the general public.

~~~
yen223
I don't think Facebook was _big_ at the time, was it?

~~~
stinky613
If you were in college in 2004 it was pretty unavoidable

~~~
bruceboughton
Facebook didn't launch 'til February 2004. Initially it was only available at
US Ivy League colleges and, then, in 2005 at some international universities,
but it was not "unavoidable" in 2004.

<http://en.wikipedia.org/wiki/History_of_Facebook>

~~~
Semaphor
> then, in 2005 at some international universities

Every, if you bothered to get your university internal mail unlocked.

I had to send them a mail with the website of my German university and how our
e-mail addresses looked, about 6 weeks later I was able tor register.

------
habosa
This is a pretty incredible list of predictions. I'm not just impressed at how
'correct' some are, but also that these predictions turned out to be so
important to the tech industry.

It's interesting how everyone has a different take on #2. When I read it, I
thought of Heroku and I think that's pretty close. With the git integration
many people do `git push github && git push heroku` which is pretty cool.

As fir #10, that's not good news for all of the "Rockstars Only" job postings.

~~~
raylu
I think github.com is the best example of #2.

------
tocomment
Does anyone know why XML was so hyped when it came out? I remember reading
article after article about how great it was and how it was going to
revolutionize everything.

Looking back on it, it all seems kind of silly.

~~~
columbo
> how it was going to revolutionize everything

I think it did.

The Java->XML->XSLT->HTML or Java->XML->Webservice framework was pretty big
news in 2001. It meant you could transfer data between any number of services
using the same data set. You could take that XML and send it to a java servlet
or you could render it to html using xsl and give it to the users. You could
also flat out dump XML and have other services use it. It was the first
generally accepted webservice standard done over http.

Before XML exploded information was transferred between companies (that I
worked for) by moving CSVs around, then putting the csv into the database,
then reading the database back out... compared to that xml was an absolute
godsend.

------
snarfy
3\. Multi-threaded programming

With threads as the complexity grows you basically re-invent the OS
kernel/scheduler inside your app. You might as well use the real kernel.
Multi-process is the way to go.

------
mmiliauskas
One weird thing. Site is hosted in sites.google.com, and content is published
on 2004, however Google sites launched in 2007, which came from acquisition of
JotSpot, which was launched in 2006:
<http://en.wikipedia.org/wiki/Google_Sites>

~~~
mmiliauskas
My bad, JotSpot existed in 2004, so this might be legit. Spooky accurate
predictions though..

~~~
llimllib
Back in the day stevey rehosted his blog on 3 or 4 different blogging services
IIRC.

------
hittaruki
Status of these predictions in 2013...

1\. XML databases will surpass relational databases in popularity by 2011.
What has happened to this idea?

2\. Someone will make a lot of money by hosting open-source web applications.
github?

3\. Multi-threaded programming will fall out of favor by 2012. go? node?

4\. Java's "market share" on the JVM will drop below 50% by 2010. clojure?
scala?

5\. Lisp will be in the top 10 most popular programming languages by 2010.
Don't think this happened...

6\. A new internet community-hangout will appear. One that you and I will
frequent. I suppose this happened big time.

7\. The mobile/wireless/handheld market is still at least 5 years out. Thank-
god that was wrong!

8\. Someday I will voluntarily pay Google for one of their services. I am
still not paying but am sure a lot of people are.

9\. Apple's laptop sales will exceed those of HP/Compaq, IBM, Dell and Gateway
combined by 2010. Hm...

10\. In five years' time, most programmers will still be average.

~~~
_anshulk
#2 probably refers more to heroku than github...

~~~
dools
Actually I took it to mean more like wordpress.com and WPEngine - ie. things
that people can self host if they want to deal with the hassles of it all.

------
mcgwiz
(General response to a trend in the comments.) I believe #2 refers to things
like Wordpress.com or CloudFoundry.com. Wikipedia.org might qualify as well.
If Discourse.org offers hosted instances, (and they make a lot of revenue),
they could qualify too.

As far as I know, GitHub never opened their source.

~~~
raylu
Yes, but GitHub makes a lot of money by hosting something that is open-source:
git.

------
tomasien
Crazy to see someone talking about PG in 2004 that way (see comments section).
I assumed that comment must have come from an HR'er in 2004, but nope.
Apparently it was just someone talking about PG and LISP on the Stevey's blog
in 2004. Weird.

------
lifeisstillgood
Well, I am going to go and do my predictions for the next ten. Laser guns
right up the top !

~~~
lifeisstillgood
Not sure why I got the downvote - I am serious - Laser guns will change the
geo-politics of the world - and business has always followed those changes:

* <http://en.wikipedia.org/wiki/Directed-energy_weapon>

* [http://www.csbaonline.org/publications/2012/04/changing-the-...](http://www.csbaonline.org/publications/2012/04/changing-the-game-the-promise-of-directed-energy-weapons/)

------
eloisant
Considering that Lisp failed to get to the top 10 between 1958 and 2004, it
was pretty dump to predict it would suddenly rise to the top.

~~~
friendly_chap
Predicting that a language without a type system is the future is pretty dumb
in itself.

I give y'all an other one: "cars without brakes are the future".

~~~
stewbrew
I simply assume that with "type system" you mean "statically typed language"
since lisp is strongly typed, which implies having a "type system": bigloo &
typed racket demonstrated that static typing & lisp/scheme aren't
incompatible. That prediction was rather unlikely to come true, anyway.

~~~
friendly_chap
It is entirely unscientific, but let me approach this problem from a practical
($$$) angle:

A type system is something what effortlessly reveals programming errors before
my customers do.

------
philsnow
I came late to this thread, but I want to add an item to Stevey's list of
"trust tests" for prediction #2, "someone will make a lot of money by hosting
open-source web applications":

SOVEREIGNTY: I would strongly prefer outsourcing to large companies with C*
executives, boards, and/or founders who really "believe" in the mission of the
company, have complete financial control, and are generally unlikely to even
need or want to sell out, and generally unlikely to ever be vulnerable to a
buy-out.

When making investments of any kind in an entity that is made up of
individuals, I'm increasingly wary of the cupidity of those individuals. Very
soon I'm going to have to decide whether to send my kids to private schools or
public schools (and switching costs are high, so I want to get it right the
first time), and it strikes me that private schools may be less likely to
change drastically over the course of 8-12 years than a public school.

~~~
jonpeda
> switching costs are high

Why? switching to private school is expensive. Switching from is not. In the
public system, schools change every 3-5 years anyway.

" and it strikes me that private schools may be less likely to change
drastically over the course of 8-12 years than a public school."

Why? public schools change slow and ploddingly, after long tedious debates.

~~~
philsnow
> switching to private school is expensive

Well, _paying_ for it is expensive in terms of money, it's not the switching
that costs money generally.

The switching costs I'm referring to are "social" ones. I don't want to shop
my kids around schools if I can avoid it, because each time they'll have to
make new friends and be "the new kid" for 1-2 years.

In the public system, you change schools twice, elementary -> middle and
middle -> high school (or just once, k-8 "middle school" -> high school), and
each time you generally know lots of other kids because schools are arranged
as "feeders", and a given high school class is made up of cohorts from each of
the feeders.

> public schools change slow and ploddingly, after long tedious debates.

Public schools are beholden to state budgets, and I don't like they choices
that were made a couple decades ago when _I_ was in public schools (no music
or "arts" education at all in my k-6 school), so I shudder to think of what's
going to happen nowadays. State budgets fluctuate along with the political
climate.

That's my thinking, anyway.

------
clarkmoody
Wow, I really was expecting at least one of these comments to have meaningful
discussion of each of his predictions with facts/figures. Instead, half of the
comments are arguing about Lisp and the other half about XML / JSON.

------
zalew
> Prediction #5: Lisp will be in the top 10 most popular programming languages
> by 2010.

these lisp predictions are like the year of linux desktop, aren't they?

------
JDShu
Prediction #3 is the only one which I can't see being interpreted as being
reasonably accurate. Anybody care to explain why it might be correct?

~~~
gizmo
10 years ago I wrote desktop software with UI threads, background worker
threads, network layer threads and various helper threads you spawned on a
whim. And so did everybody else. Back then the big innovation to multi-
threaded programming was the use of RAII Mutexes[1] to avoid livelock/deadlock
scenarios.

Fast forward to today. We write complex software for the browser with
Javascript front-ends that are completely asynchronous. On the server we have
a share-nothing-architecture where hundreds of incoming requests are divided
over independent workers. There is still complex multi-threading going on in
the database and in the web browser, but most programmers don't have to deal
with it anymore. The problem of locks and deadlocks is pretty much a
responsibility of the operating system now, much like virtual memory and
writing data to the filesystem.

[1]
[http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initial...](http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization)

------
ipedrazas
Anyone willing to write 10 predictions for 2020?

~~~
franze
1) in 2020 most programmers will still be average

2) in 2020 browsers will support a multitude of programming languages
natively, most of them functional

3) in 2020 linkedin will be dead

4) in 2020 there will be a huge governmental campaign to teach kids
programming, starting in pre-school

5) in 2020 there will be an SVG that is to SVG what HTML5 was to XHTML

6) in 2020 TV will still be mostly watched in 2D

7) in 2020 Steve Ballmer won't be CEO of SonyMicro any longer

8) in 2020 we will finally have an CSS alternative

~~~
Guillaume86
2) is very optimistic (I wouldn't bet a dollar on it)

8) I'm not sure what you mean with that one, what kind of alternative? (given
you seem to exclude transpilers/preprocessors)

~~~
masklinn
> I'm not sure what you mean with that one, what kind of alternative?

I'm guessing one which better handles layouting and modularization.

I'm not hopeful though, CSS is way too "good enough", it's probably there to
stay and actual layouting features will slowly get (awkwardly) fitted into
it[0], meanwhile modularization will likely be left to components.

[0] <http://www.w3.org/TR/css3-flexbox/> <http://www.w3.org/TR/css3-multicol/>
<http://www.w3.org/TR/css3-grid-layout/> the first two are at least partially
supported in all modern browsers, the latter is only supported by IE10.

------
interviewer
Steve Yegge is usually a talented and entertaining writer. Having said that,
his strengths lie in writing about computer science and far less in actually
creating real systems. These predictions aren't very good (as time as shown)
and are on par with the poor judgment he exercised in bashing his former
employer in a 'private' post.

------
shitlord
> Prediction #5: Lisp will be in the top 10 most popular programming languages
> by 2010.

Every time I hear that, I always think of "abcd will be the year of the Linux
desktop". I want it to happen, but at the same time, I realize how absurd I am
being.

------
Mahn
Thank god JSON has taken over XML. I'm sure XML still has its uses, but it
simply is way too verbose, and frankly I have yet to find a data structure
which representation fits better in a xml like format (besides html,
obviously)

------
nehz
I believe point #3 describes a paradigm shift from thread-based programming to
a more event-based approach (which still uses threads/co-routines) rather then
implying that everything will be single threaded

------
bjhoops1
This is really impressive. Soooo close on the XML database thing - just
substitute JSON (which hardly anyone knew anything about in 2004) for XML and
he nailed it. Just one great call amongst many here.

------
cekstam
Any reason for it not beeing in the web archive?

[http://web.archive.org/web/*/https://sites.google.com/site/s...](http://web.archive.org/web/*/https://sites.google.com/site/steveyegge2/*)

------
qompiler
10\. In five years' time, most programmers will still be average.

Most programmers are average, that's the definition of average. It's like
saying in five years most people will still be average.

~~~
vincentkriek
Well, not really. If we look at programmers by skill level and number that
skill level from 0-9. If you have 100 "5ers", than the average is 5. And yes,
than most programmers are average.

If you have 50 "1s" and 50 "9s", the average will still be 5, but no one is
average.

Then again, I don't think that is what he meant.

------
bradshaw1965
10 year, very lightly hedged, mostly specific prediction is hard. Pretty good
job, I think.

------
epa
Good insights.. he was right on a lot of stuff.

------
kushti
# 6,9,10 are ok. Other predictions failed

------
icemelt8
Wow some of them are really spot on!

~~~
rplnt
And some are not. Yet?

------
lipeno
Lol, I remember reading this :)

------
polskibus
standard hindsight bias

------
zero445
wow,some of them were really true.

------
bhaik
Impressive.

------
martinced
Reading Paul Graham's _"beating the average"_ I can't help think that Steve
Yegge's prediction #5 and #10 are mutually exclusive:

Prediction #5: Lisp will be in the top 10 most popular programming languages
by 2010.

Prediction #10: In five years' time, most programmers will still be average.

There's no way any Lisp dialect could reach top ten if most programmers are
still average ; )

~~~
jonpeda
ahem.

<https://www.google.com/search?q=being+the+averagest>

[https://sites.google.com/site/steveyegge2/being-the-
averages...](https://sites.google.com/site/steveyegge2/being-the-averagest)

------
jonpeda
> Heck, they'd probably like someone to outsource their email, too.

2004 -- Was this before or after Gmail launched on April 1?

------
L0j1k
Impressive.

