
_why: A Tale Of A Post-Modern Genius - aaronbrethorst
http://www.smashingmagazine.com/2010/05/15/why-a-tale-of-a-post-modern-genius/
======
Jun8
Being a non-creator, the quote at the end of the article has hit me so hard, I
cannot get it off my head for hours now:

"When you don’t create things, you become defined by your tastes rather than
ability. Your tastes only narrow and exclude people. so create."

As for the programming is a science or art debate: It is' of course wrong to
make such a dichotomy. People who draw a thick boundary between these two, I
think, appreciate neither art or science. Programming _is_ a science, it's
true, but it also is a thing of beauty, much as a game of Go, or a beautiful
mathematical theorem. Any scientific endevour you do passionately is worth to
be called an art, I think (and vice versa). Let us not make the mistake that
John Keating makes when he says:

"We don't read and write poetry because it's cute. We read and write poetry
because we are members of the human race. And the human race is filled with
passion. And medicine, law, business, engineering, these are noble pursuits
and necessary to sustain life. But poetry, beauty, romance, love, these are
what we stay alive for. To quote from Whitman, "O me! O life!... of the
questions of these recurring; of the endless trains of the faithless... of
cities filled with the foolish; what good amid these, O me, O life?" Answer.
That you are here - that life exists, and identity; that the powerful play
goes on and you may contribute a verse. That the powerful play _goes on_ and
you may contribute a verse. What will your verse be?"

~~~
nandemo
I've never read much of _why's work so I don't have much to add to the thread,
except that: I did read that quote by _why some months ago and it hasn't
gotten off my head since then.

It's like a mantra, and for me it alternates between being inspiring and
depressing.

Perhaps I disagree with you. I think programming is a craft, but that's
different from art. In any case, though every time we write some code we're
creating something, I don't consider the code I write for my day job to be
"meaningful" creation (if that was the case every act of labour would be
creation and the quote would be meaningless). That's why the quote is
depressing sometimes.

~~~
j-g-faustus
The entire concept of art is relatively recent (from the Renaissance on), the
ancient Greeks considered a sculptor to be a craftsman just like a smith or
carpenter.

And the Renaissance artists had to make a living somehow, much of their art we
know today was made to order for Church, State or rich merchants.

We may consider "pure art" to be "form without function" and "pure utility" to
be "function without form". But fields like industrial design, architecture
and engineering (ex. bridges) has room for both: Aesthetically pleasing form
that merges well with their function.

If programming is art, it's the form+function sort of art. And just like with
bridge building, the form part is optional - if the program works and the
bridge does not collapse they are doing their job.

I don't consider the code for my day job to be art either. But I still think
art can arise under such conditions, generally because someone with the power
to do so goes beyond the call of duty and decides to make their bridge or code
not only functional but beautiful as well.

There are plenty of constraints that can stop considerations of form dead in
their tracks; like whether the client is willing to pay extra or wait longer
for a more aesthetically pleasing result, or how much control you have over
the final result - there are limits to how creative you can be if you are a
subcontractor for a bridge pillar, or if you are designing an ad that needs to
fit within the company's design guidelines and an existing ad series.

Still, I think art can arise in the most unexpected places, it's mostly a
matter of spotting the opportunities and deciding that it is worth the bother.

~~~
richardw
"And just like with bridge building, the form part is optional"

Sometimes function is optional as well!:

[http://en.wikipedia.org/wiki/International_Obfuscated_C_Code...](http://en.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest)

------
gdp
Articles about _why on HN seem to always take on a particularly sycophantic
quality. As a non-fan of Ruby, his contributions to programming outside of
that community seem minimal. The ethic that people appear to ascribe to him
("programming as art") is precisely the opposite to that which I generally
advocate ("programming as science"). I (and others) often suggest that the
former approach is actually harmful to software quality in many cases,
particularly within teams.

Fundamentally I think my objection is to elevating a slightly odd-ball
programmer to messianic status based on a mildly creepy fandom that manifests
primarily as people vastly over-stating the contributions of this one guy in
HN comments.

~~~
antirez
Programming as science: not consistent with reality IMHO. My argument is that
it's pretty simple to build a good computer scientist: take a guy with good IQ
and put it into a good university. But there are zero guarantees that you'll
end with a good _coder_ also, as coding is a matter of taste, tradeoffs,
design decisions, creativity, ability to think out of the box, and so forth.

The problem is that most of our industry is not ready to accept this news.
There was _no_ so important economic process like IT in the past where
creativity and art had the same impact as it is happening with programming.
Check the software and the sites you are enjoying every day: are they made by
great scientists? The big majority are not.

But at the same time, the reverse is true. If you have good scientists you can
create any complex program or system without problems. Look at all the PHDs at
google, the result is a wonderful piece of technology, from the search engine
itself to the cluster and other stuff they are running. But this is an
engineering problem indeed, so it is a perfect fit for them.

But not everything is like that in our field. This is why for instance a big
company like Google is not having a big impact in programming itself. If you
see the reality most of their products for the masses are not working well,
Ruby on Rails was not produced there, and so forth. It's not that I've
something against Google but it is the perfect example of "company of
scientists".

~~~
gdp
I don't consider programming to be a much greater skill than the ability to
install fixed wiring in a house or balance a budget. Are small business
accountants "artists"?

Accordingly, programming is not _currently_ a science. However, I think that
is a much better position to aspire to than self-aggrandizement and glorifying
a skill that is really no different than any other skill that any suitably
motivated 12 year can acquire with a couple library books and an internet
connection.

With a science of programming, we can aspire to a position where programmers
can at least claim to be engineers, and at least have good odds of most
programming projects resulting in software of reasonable quality. Face it,
there's good art and bad art, and it's subjective which is which. Programs
have objective measures we can apply, depending on what the code is used for -
developer time, performance, correctness... and a million others. We can argue
about which measures are the right ones to use, but at least these measures
exist. We can (with current technology) empirically evaluate a piece of code
in many different ways. Actually starting to apply this kind of empirical
evaluation is the first step towards programming being a science.

[Edit: OK, so the parent to this was heavily edited after I posted this, but I
can't be bothered rewriting this accordingly, so please excuse any
incongruence between this reply and the post it is replying to]

~~~
jimbokun
"I don't consider programming to be a much greater skill than the ability to
install fixed wiring in a house or balance a budget."

The vision you seem to be espousing is someone tells the programmer exactly
what to do, and the programmer does it exactly to that specification. Wiring a
house and balancing a budget are solved problems. So you seem to be saying
that programming is also a solved problem.

Which is so out of touch with reality I feel that, surely, I must be
misunderstanding you. A computer program can do pretty much anything.
Depending how you feel about the equivalence of Turing machines and human
brains, you can argue that a computer program can potentially do anything a
person can do.

With the geometric increase of computing capacity available to us, how is it
even conceivable that "programming" is equivalent to balancing a budget or
wiring a house? You seem to suffer from an incredible lack of imagination.

"However, I think that is a much better position to aspire to than self-
aggrandizement and glorifying a skill that is really no different than any
other skill that any suitably motivated 12 year can acquire with a couple
library books and an internet connection."

That is the same as saying a 12 year old can write or play a musical
instrument. Sure, they can spell words and make sentences, or know the correct
fingering for certain notes. But the potential for improvement in those
endeavors is also unbounded. The same is true of programming, in my opinion.

~~~
ismarc
An electrician is not given absolute exacting directions on what to do and
then follows them by wrote. A master electrician is given guidelines (in the
form of regulations) and then a list of what the customer wants. They then
consolidate the two into a plan for the building (locations of outlets, fuse
boxes, etc.). Once the general plan is done (what power is needed where for
what) they have to determine where at what type of wires and junction boxes
need to be places, working through the design of the building. Once the
electrical diagram is completed, it's handed off to a journeyman, who, with
other electricians, run the wires as close to the plan as possible, frequently
having to deviate slightly due to the differences in reality.

This is the absolute, most common, frequently found, frequently followed
process for developing software. There is more "wiggle room" at each step, but
it's the same exact process, whether it's one guy doing it and dreaming up the
requirements or a team of thousands of developers.

~~~
jacquesm
Exactly. Now the big difference to me is in the _kind_ of programming.

For instance, the people that write papers on new datastructures, computer
vision and other state-of-the-art developments. They're not working with
'requirements' other than 'it would be nice if you found a way to solve 'X',
come back in three years'. (well, not quite like that, but closely).

That's basic research and a definite amount of artistry is involved at that
level.

But after the paper is written up it has solidified and it becomes applicable
science, and for the person calling the API that embodies the concept it has
become 'mere' bricklaying.

~~~
jimbokun
"But after the paper is written up it has solidified and it becomes applicable
science, and for the person calling the API that embodies the concept it has
become 'mere' bricklaying."

I completely disagree.

The art for the person calling the API is often found in "building something
people want." Think of the people who frequent this website. Many of them are
writing lines of code to make something people want. Surely there is some art
to that. There needs to be an idea, building something to show customers, and
iteration on that idea taking customer response into account. The customers
have input, but the programmer decides what to write.

Just as wealthy people once commissioned portraits and told the artist what to
draw, programmers can be employed someplace where the question of what to
program is decided by someone else. But there is nothing inherent in art
prohibiting painters from deciding what to paint, or in programming
prohibiting programmers deciding what to program.

------
amix
What we can learn from _why is non-attachment to our work and not taking
everything so fucking seriously. We should see our work as art and enjoy every
moment of it!

~~~
crazydiamond
> What we can learn from _why is non-attachment to our work

Non-attachment -- Exactly how? If so why delete your work ? That shows his
attachment to it. iirc, there was some discontent over one of his libraries
being overtaken by another (nokogiri ?). There were benchmarks that showed his
lib to be slower. then he improved his lib. this went on. he did seem a bit
annoyed, if i recall.

~~~
amix
John Resig's post explains _why's non-attachment well:
<http://ejohn.org/blog/eulogy-to-_why/>

"People get way too caught up in their work. I like to think that he was able
to keep the products of his online persona separate from the rest of his life,
treating them as completely distinct entities - the perfect, clear-cut,
division between personal life, work, and play."

"Seeing the complete deletion of his online persona doesn't terribly surprise
me. Back in 2007 _why closed his main blog (RedHanded). That event truly
shocked me, but it helped me to better understand him as a person. The blog,
even though he had put years of work into it and people strongly identified
him with it, was immaterial. It didn't feel like the right place to talk
anymore so he moved on to another place, abandoning the old site."

------
nir
It was a sad day when _why left programming. I always thought he was one of
the most creative people currently working in any medium, and we were lucky to
have him choose code to express his ideas.

Does anyone have any idea what he's been doing since?

~~~
steveklabnik
> Does anyone have any idea what he's been doing since?

Basically, the Ruby community decided that if his wish was to be gone, we'd
respect that wish. Nothing has been heard since his disappearance.

~~~
koenigdavidmj
I think that any tendencies to find out stuff about him tend to lean in two
directions:

* The _why that we knew would not be averse to setting up a puzzle of this sort. * We simply want to make sure that he didn't kill himself or anything like that.

~~~
steveklabnik
Oh, absolutely. I didn't mean to say that anyone looking for him was being a
jerk. I myself, as the maintainer of one of his projects, wish he was still
around... the world needs more _why.

------
steveklabnik
I don't think I brought it up on HN yet, because they haven't updated
rubysoc.org, but Hackety did get accepted as a Summer of Code project this
year: [http://librelist.com/browser//hacketyhack/2010/4/21/ruby-
sum...](http://librelist.com/browser//hacketyhack/2010/4/21/ruby-summer-of-
code/#baa434cbae791e0f233946596ab914ae)

I'm really excited!

------
starkfist
He was sort of like a contemporary one-man open source Beagle Bros.
Unfortunately there is no place in current programming culture for people like
this. Programming is not art. It is certainly not whimsical. It is fun, but
only fun like preparing for a rocket launch or hostile takeover is fun.
Programming is science, it's engineering, it's methodology, it is bureaucracy.
More importantly it is Serious Business. Programmers like to imagine
themselves as simultaneously being as potentially intellectually important as
Einstein and as rich as a Rockefeller. There is no place in that world for cat
cartoons and goofing off.

~~~
zephyrfalcon
Surely there must be more hackers that think like _why, even if they are not
as high-profile. Maybe someone should start a (loosely knit) network of such
people. Or maybe it already exists. I for one would definitely be interested
in joining. :-)

~~~
msbarnett
It, to some degree, already exists in the guise of the Ruby community.

Which is, not coincidently, why _why's detractors tend to feel the need to
throw in a comment about how much they dislike Ruby.

------
gjm11
There really, really needs to be a leading underscore in the title. (The
article linked to gets this right. The submitter seems to be reasonably
clueful, so I wonder: did he get it right and the HN software screw it up?)

~~~
aaronbrethorst
Smashing Magazine's title lacks the underscore, but the in-page title has one.
HN's submitter bookmarklet copies the title tag's contents, and I neglected to
fix it...

update: there, fixed it. thanks :)

~~~
iamdave
the w shouldn't be capitalized, either.

~~~
jacquesm
_why really is a brand then.

~~~
ZeroGravitas
Why do you say that JackM?

~~~
jacquesm
Because nobody here would care if I would write 'zerogravitas' or
'ZeroGravitas' to indicate you.

It's just a moniker, a handle. As soon as you start to assign great weight to
the spelling and the special look ("It has to have an _") of a nickname then
you're definitely in branding territory.

Just like "The artist formerly called Prince" is a brand, so is "_why, they
lucky stiff".

~~~
gjm11
Some people care about the difference between "_why" and "Why". (Probably
including the man himself.)

Some people care about similar variations in brands.

So far, so good. What's not clear (to me, at any rate) is how you get from
these to "Therefore, _why's name is a brand". That would be reasonable if no
one cared about details for any reason other than branding, but that's
obviously false.

Compare: "... then you're definitely in programming-language territory."
(Almost all implementations of almost all programming languages care very much
indeed about the difference between "Why" and "_why".)

Or: "... then you're definitely in religious territory." (Some Orthodox Jews
care very much about the difference between "G-d" and "God" even though the
former is just a lightly modified version of the latter.)

Or: "... then you're definitely in music territory." (In a musical score,
adding or removing dots, little lines, funny characters, etc., can completely
change the meaning.)

Or: "... then you're definitely in vanity territory." (Some people just care a
lot about appearances.)

So ... why "branding", specifically?

------
squidsoup
It was a sad day when he disappeared. _Why inspired me to learn ruby, and
reminded me that software can be beautiful (and humorous!).

------
grandalf
_why's view on messy code is drastically under-appreciated.

One can imagine how much energy is wasted revising commits and over-massaging
code just to make the author look smarter.

I'd love it if the culture were more accepting of ugly code... It has its
purpose too.

~~~
viraptor
I have a completely different feeling. It's ok if you depend on such code as
long as it's actively supported by the creator himself. As soon as you need to
modify it for your needs, or adopt the whole project, because it was dropped
-- you start to appreciate clean and consistent code. If the code is too
messy, you just end up rewriting most of it, in order to understand it. There
would be no reason to do that if the original was clean and documented.

~~~
_delirium
There are different kinds of cleanliness though, I think. I've often found it
easier to modify idiosyncratic code than code written in the Standard way,
though things vary in both kinds. I do agree documentation is rather
important; well-commented idiosyncratic code that explains the author's mental
model is light-years easier than idiosyncratic code without any explanation.

But, I do find that code written in sort of industry-standard style often is
hugely over-architected, with a lot of boilerplate and cruft, and not all that
easy to modify if I want to adapt it to my personal ends; i.e. my use-case is
a single programmer wanting to put in 5-10 hours to make a small to moderate
change. You end up in a maze of Factories and Interfaces trying to figure out
where anything is actually _done_. The idiosyncratic code often just does away
with all that architecture, which can sometimes be easier to deal with.

------
Luyt
Heartwarming... One of the first programs I ever wrote, on a PET-2001, was a
crude running elephant. Later I made it controllable with the arrow keys.

Why did this enigmatic guy disappear from the nets?

~~~
derefr
With his level of passion, I can't believe that he doesn't _want_ to come
back. I think he's just giving us all a time-out from playing his wonderful
game, to teach us to be good.

Although, if he now distrusts the Ruby community too badly, he might be
waiting for a new language espousing "programmer enjoyment" to sprout up...

~~~
jacoblyles
_Why had an abnormal personality. He had a busy internal dialogue. He acted
for his own reasons, and I don't think we will guess at them.

Humans understand new things by comparison to what they already know, so fresh
souls are often misunderstood and misclassified.

~~~
andrewvc
I think you nailed it.

I'll add to that though. often, when people die (and _why did in a sense die),
people view everything they did through rose colored lenses. I'm with the
majority in HNers in this thread so far, still in awe of _why, however, let's
not forget the tough lessons his disappearance taught us.

While I greatly appreciated everything _why did for the community and think he
truly was an amazing person, it's clear in my mind that the way he left the
community, without notice that he would take down his sites and code, was
irresponsible. He had the right to do what he did, but that doesn't make it
ok.

I'm not angry at _why, more sad. I assume, given his eccentricities, that
there was no malicious intent behind it, which is why I find it merely tragic.
However, his leaving was a powerful reminder of the responsibilities open
source software authors have. If you make code free, you should make sure it
stays available within reason, and if you use free software, you should take
_why's disappearance as an object lesson.

~~~
steveklabnik
It was also lucky that the Ruby community had adopted git so thoroughly; the
only reason we still have his works is due to DVCS.

------
crazydiamond
I still can't figure why _why had to disappear just because his real name was
discovered. So what's wrong with that?

And why hide your real name in the first place ? Considering that he gave
presentations and made appearances, it was only a matter of time.

------
SkyMarshal
Interesting debate on whether programming is an art or science. Fwiw,
programming isn't the first field which has undergone this argument. Even
Bobby Fischer complained that chess had lost its artistry to a trend of
mechanized memorization:

 _"Fischer Random was designed to remove the importance of opening book
memorization. Fischer complained in a 2006 phoned-in call with a television
interviewer that talented celebrity players from long ago, if brought back
from the dead to play today, would no longer be competitive, because of the
progress in memorization of opening books. 'Some kid of fourteen today, or
even younger, could get an opening advantage against Capablanca', he said,
merely because of opening-book memorization, which Fischer disdained. 'Now
chess is completely dead. It is all just memorization and prearrangement. It's
a terrible game now. Very uncreative.'[336]"_

[http://en.wikipedia.org/wiki/Bobby_Fischer#Fischer_Random_Ch...](http://en.wikipedia.org/wiki/Bobby_Fischer#Fischer_Random_Chess)

~~~
SapphireSun
I never view mechanization as a bad thing. It just makes the game more intense
at the higher levels. If you're chasing the thrill, and chess can't handle
improvements in play style, maybe we should find another game that can (for
instance, go).

------
mapleoin
I keep waiting for a group of people to someday come out and say that _why was
actually a hoax. That there was actually a group of people secretly signing
their works with the same name with the goal of starting a new _programming
movement_.

------
brfox
[http://www.scribd.com/documents/8545174/Whys-Poignant-
Guide-...](http://www.scribd.com/documents/8545174/Whys-Poignant-Guide-to-
Ruby)

------
saikat
I remember reading a comment a while back (I think on HN) about some running
joke in one of his books about a cat (or maybe it was a dog?) and how _why had
actually created this whole blog to keep the joke running outside of his book.
It was hilarious and impressive, but I can't find it - anyone know what I'm
referring to?

~~~
Jeremysr
yes, the story is told by shack_a_nerd: <http://shack-a-
nerd.livejournal.com/70594.html>

------
joeyh
I've sent Andrew Looney an email suggesting he do a game based on Kaxxt.
Here's hoping!

------
zackattack
Do as I say, not as I do... but.... I love this

When you don’t create things, you become defined by your tastes rather than
ability. Your tastes only narrow and exclude people. so create.

— Why the Lucky Stiff

------
sh4na
Funny how a guy who decides to pull out of the open source community and pull
the plug on essential projects used by the community without so much as a line
of warning is depicted as a hero. Self-centered jerk is more appropriate in
this case, but it seems that the more excentric the behaviour, the more genius
you are, regardless of the fact that there are vast numbers of developers who
contribute daily, monthly, yearly, countless hours of their lives selflessly
to others, without whom we couldn't be typing all these comments right now.
But no, those aren't artists, it's this guy that pulls the rug out from under
everyone that gets the adoration. Human nature is soooo lame.

~~~
chc
Yes, it was a bit of a dick move to simply take the content offline, but the
fact is that he created this content in the first place. If he hadn't done
something very valuable, nobody would have cared when it was gone. Does one
inconsiderate act counteract all of his contributions? Even with all of his
stuff deleted, his contribution to the community was still bigger than yours
or mine, so I'm going to say no.

