Where and _why
August 19, 2009 4:30 PM   Subscribe

In programming, as in life, you find those who's turn a mundane task and turns it into art. In the Ruby world one of those people goes by the psuedonym of why the lucky stiff or simply _why. _why's Poignant Guide To Ruby [PDF - large, and still worth a look] is an almost transcendent look at what a programming book can be, full of cartoon foxes and wizards and even a soundtrack. _why didn't really care about making a mint off of his work instead deciding he wanted to get kids excited about programming, in a way that they could understand, teaching them by "fated appointment only" [Vid Link, 30 mins and fun]. He created a whole framework designed to make it easy for kids to get into programming called Hackety Hack. Today for some reason _why's online presence, sites and code have disappeared from the inter tubes and nobody knows _why. Though some believe its because someone pierced the veil and found his real name but many wonder if he didn't get hacked
posted by bitdamaged (83 comments total) 68 users marked this as a favorite
 
Too few people approach life as art. He seems to be one of them. I like that.
posted by chasing at 4:33 PM on August 19, 2009 [5 favorites]


.
posted by amuseDetachment at 4:35 PM on August 19, 2009


A eulogy by JQuery's John Resig.
posted by mikedouglas at 4:59 PM on August 19, 2009 [4 favorites]


Ruby - basically for people who skateboard in the office and have pink hair and/or soulpatches.
posted by Artw at 5:02 PM on August 19, 2009 [3 favorites]


why's one of a kind, and I sure hope we haven't seen the last of him.

I saw his presentation at Free Geek in Portland a few years ago, and it was like no tech presentation before or since. There was a live demo that failed hilariously. There were videos of puppets reenacting scenes from "Poignant Guide", and he brought his band, the Thirsty Cups. It was absolutely rivetting, like an absurdist theatre piece about programming.

He's famous for his surreal hijinks, but he's a phenomenal programmer too. He turns out loads of good code.
posted by chrchr at 5:04 PM on August 19, 2009 [2 favorites]


I really appreciate all of _why's past generosity. I'm not much of a hacker, but he wrote gems that made it easy for me to progress from duct-tape-and-chewing-gum AppleScript to Ruby, which made it so much easier to stick Web front-ends on small utilities and share them with fellow editors at work.

I save hours every week and understand programming in a way I just couldn't wrap my head around prior to coming across his work. There are other people doing similar things with similar languages, but _why is the guy who wrote the code that inspired me to say just last week, "Ruby is as easy as I imagined Perl was going to be back in 1994, when everybody was telling me how easy Perl was."

I'm not going to "." because it seems more final than I'm willing to accept right now.
posted by mph at 5:06 PM on August 19, 2009 [6 favorites]


I really, really hope this is some kind of strange misunderstanding or server hiccup or a hack or basically anything other than what it appears to be.

Agreed.

Otherwise, this is a serious shame. I really enjoyed his Ruby book. It made me wish I had access to material like that when I was young.
posted by threetoed at 5:07 PM on August 19, 2009


I hope _why is physically ok, and this change is in response to digital issues, whether that's hacking or response to his 'outing.' I'm curious to see how this all turns out because I think this is one of those data-points that shapes how we adapt culturally to living a life online. What is the correct response to being outed? How do you recover if your online persona gets hacked? The whole story has my we're-living-in-the-future/ghost-in-the-shell sensors quivering. Also, I hope that the mefi detective squad helps find out the facts (and respects _why's privacy) and shows their work, because I love a good detective story.
posted by gofargogo at 5:08 PM on August 19, 2009 [1 favorite]


no chunky bacon?

*sniffle*
posted by eyeballkid at 5:14 PM on August 19, 2009


I'm so amazingly sad about this.

I hope he changes his mind and comes back.
posted by edheil at 5:17 PM on August 19, 2009


Goddamn this is sad news. The internet just isn't the same without him. Please let it not be permanent. Though I won't be surprised if it is -- he seemed really really uncomfortable just with having a Wikipedia page.

I once sent him an email thanking him for his programming guide and for his drive to reach out to kids, expecting that, like a Matt Haughey or a Merlin Mann or whatever, he'd be just too flooded to respond to someone just saying "Thanks, you rock."

He replied almost immediately with a very funny and properly absurd thanks for my thanks, saying something about his next project involving attaching house pets to furniture or something like that.

His Twitter feed was pure brilliance, back when he was really at it. He gave me one of my favorite insults ever when he referred to his therapist as a "muffintime dildo scholar."
posted by middleclasstool at 5:28 PM on August 19, 2009 [4 favorites]


Why's Guide gone, XKCD still making comics? This world, this world.
posted by kid ichorous at 5:44 PM on August 19, 2009 [13 favorites]


I too sent mail to why back in the day, not expecting anything in return and got two paragraphs of awesomeness. I hope the dude turns out okay.
posted by the dief at 6:06 PM on August 19, 2009


Artw: "Ruby - basically for people who skateboard in the office and have pink hair and/or soulpatches."

Y'know, several years back I had to write a tool that would merge eight different trace files where the entries were timestamped at a resolution of 10 nanoseconds. The most straightforward way was to convert the HH:MM:SS.MMM.UUU.NN0 strings into counts of nanoseconds-since-epoch, sort that, and then format the result. So, I needed a scripting language with bignum support.

I decided to try to learn this here Perl business what the webfolk all seemed to be digging. That lasted about an hour. Perl is for people that enjoy being enigmatic.

I use Ruby now whenever I need to write a small tool, because I think it's one of the best damn languages I've seen; compact, clean, dynamic typing, imperative or functional as you wish, comes with basic libraries, etc. I'm sure I'd love a hundred other things just as well.

It may not be great for large projects; I've never tried it under those circumstances. But after the bondage-and-discipline of C++, Java and the other "real" languages, it's a relief to be able to just write a damn program that does what I mean.
posted by Rat Spatula at 6:07 PM on August 19, 2009


I have the unpleasant feeling that this is further fallout from the "Code like a Pornstar" fiasco. Sometimes you have to stop and take a look at the people around you, and decide if you really fit in... and if you really want to fit in.
posted by Slap*Happy at 6:07 PM on August 19, 2009 [3 favorites]


Ruby - basically for people who skateboard in the office and have pink hair and/or soulpatches.

A little bit more involved than that, but thanks to RoR they've evolved into somewhat of an outsider cult. Apple fanboys with actual talent. Very dangerous individuals if confronted with the shortcomings of their framework and programming language yet very proud of Corporate America Inc.'s refusal to adopt it. Oh, the conundrum. That being said, I dabbled in it for a little bit and would kindly like my time back.

In regards to Mr. Gillette, aka _why & why the lucky stiff, basically what has happened here is the programmer equivalent of Violet Blue's posts being fucking unposted from BoingBoing. And the fan boys are all worked up in a tizzy, writing eulogies and forget-you-not songs to a persona who albeit different, was rather, um, absurd and likable only within the Ruby community.

Guys, relax. You're losing your cool.
posted by jsavimbi at 6:07 PM on August 19, 2009 [3 favorites]


I really felt drawn in by his stuff, loved his approach and artistry - even though I never really had the knack for programming, he made me really want to try. Hope he resurfaces somehow.
posted by statolith at 6:10 PM on August 19, 2009


It seems to have been adequately debunked on Hacker News that why is not Jonathan Gillette, for what that's worth. Please, though, continue with the nerd rage.
posted by feloniousmonk at 6:14 PM on August 19, 2009


This sucks. _why was like no other.
posted by ericost at 6:26 PM on August 19, 2009


Isn't C# with ASP.NET MVC basically Ruby with some cruft? Excuse this if it is a silly question, but I was under the impression that they were becoming identical (or rather C# MVC was becoming a lot like Ruby rather than the other way around).
posted by geoff. at 6:37 PM on August 19, 2009


Does ASP.NET run on anything except for Windows?

Yeah.
posted by chunking express at 6:48 PM on August 19, 2009


Isn't C# with ASP.NET MVC basically Ruby with some cruft? Excuse this if it is a silly question, but I was under the impression that they were becoming identical (or rather C# MVC was becoming a lot like Ruby rather than the other way around).

Uhhh.... no. Whoever told you that was talking out their colon.

C# is essentially Java with a slightly different syntax, targeting a different virtual machine.

Ruby is a wildly dynamic, duck-typed scripting language with ties to lisp and smalltalk.

However, it may be that "C# with ASP.NET MVC" is becoming more like Ruby on Rails. RoR is a web-programming framework. As is ASP.NET. But at this point, you're comparing projects written in the language, not the languages themselves.

It's actually insanely detrimental to the Ruby programming community that "ruby" has become synonymous with "ruby on rails". Ruby is a joyous and beautiful (if slow) language. RoR is crufty crap.
posted by Netzapper at 6:50 PM on August 19, 2009 [3 favorites]


If you didn't see it already, the Eulogy to _why link from the OP is a really great explanation of what was special about _why, from another great hacker, John Resig.
posted by ericost at 6:58 PM on August 19, 2009 [1 favorite]


Metafilter just wouldn't be Metafilter without helpful people to explain patiently why I shouldn't like the things I like.
posted by middleclasstool at 7:11 PM on August 19, 2009 [27 favorites]


_why posted a few tweets in the last few days saying approximately that "if you want to create something that lasts, don't be a programmer - your work is out of date in a year, and can't even be run in a few years" - that leads me to believe that this was done deliberately and after some thought - basically I take Resig's line.
posted by thedaniel at 7:36 PM on August 19, 2009


Netzapper, asp.net mvc is an overly generic name for an mvc framework wirtten in c#. If I were at my work pc and not my phone, I'd hook you up with some links.
posted by boo_radley at 7:42 PM on August 19, 2009


the programmer equivalent of Violet Blue's posts being fucking unposted from BoingBoing.

This seems very different. Both situations may involve drama, but _why choosing to end pull his persona from the Internet, and people being sad at this, is very different from Xeni pulling the Violet Blue posts, and then people being pissed because of BB's crew failure at moderation and communication.

Also, VB seemed to be mostly known for her drama. While there's no lack of arrogance and drama on the Ruby scene (witness Zed's Rails is a Ghetto), _why seemed to steer clear of it, and was known for actually writing good code, and plenty of it, not just talking about it.
posted by Monday, stony Monday at 7:42 PM on August 19, 2009 [1 favorite]


Ruby is a joyous and beautiful (if slow) language.

Not even that much slower than the competition, nowadays.
posted by breath at 7:45 PM on August 19, 2009 [1 favorite]


From my point of view, Ruby and C# aren't that different: they're both record + procedure + cell (state) + closure (:: pdf) languages.
posted by Monday, stony Monday at 7:47 PM on August 19, 2009


Netzapper, asp.net mvc is an overly generic name for an mvc framework wirtten in c#. If I were at my work pc and not my phone, I'd hook you up with some links.

Yeah, no thanks, though. I try to stay away from the CLR as much as possible, and webdev as well. Although, sadly, I'm being forced into it by the economy. It's like nobody has any need for a systems or network programmer anymore... hell, I can't even find mobile dev work that isn't iPhone.

I was just saying that, while somebody is building every $language On Rails, Ruby and C# aren't even in the same paradigm, much less similar.

Not even that much slower than the competition, nowadays.

Oh that's cool. I take it they finally made the jump into bytecode? Last time I used Ruby, it was still text-mode interpreted.
posted by Netzapper at 7:52 PM on August 19, 2009


From my point of view, Ruby and C# aren't that different: they're both record + procedure + cell (state) + closure (:: pdf) languages.

It took me a while to figure out how to read that... But, you're right, Ruby and C# are more similar than Ruby and Haskell or C# and erlang.

That said, so long as you're over in procedural/OO land, you can't get much more distinct than Java/C# and Ruby.

But, taking into account all the weirdness of all languages (funny how Prolog is on both sides of the chart)... yeah, they're pretty similar.
posted by Netzapper at 8:00 PM on August 19, 2009 [1 favorite]


That said, so long as you're over in procedural/OO land, you can't get much more distinct than Java/C# and Ruby.

Very true.
posted by Monday, stony Monday at 8:05 PM on August 19, 2009


This seems very different.

How so? It's bunch of people bemoaning the unexplained absence of some files stored on networked servers. With bromantic overtones emanating from a cultic following of otherwise docile mvc'ers.

Maybe _why got religion.
posted by jsavimbi at 8:18 PM on August 19, 2009 [1 favorite]


The CLR will have dynamic types in .net 4.0, and there is/will F#, which is a functional language similar to ML.

And yes, ASP.net will run on something that's not windows.

I'm not sure why you'd want to stay away from .net/the CLR unless you just really don't like microsoft. Which is fair enough I suppose, but it's absolutely nothing like the hellish world of visual basic was, and their development tools continue to be the best thing about windows.
posted by flaterik at 8:22 PM on August 19, 2009


How so? It's bunch of people bemoaning the unexplained absence of some files stored on networked servers. With bromantic overtones emanating from a cultic following of otherwise docile mvc'ers.

Violet Blue was still "on the air", at her website and on others. She'd only been "unpublished" from one site, which she didn't control. People cried "CENSORSHIP!@#".

_why is, as of now, completely "off the air", except for secondary websites and (maybe, I haven't checked) archive.org. He seemingly chose, himself, to do this. People are crying "HOW SAD!".

To me, these are very different situations.
posted by Monday, stony Monday at 8:30 PM on August 19, 2009


I tend to prefer Python to Ruby if I have a choice in the matter, but I ran into the cartoon foxes thing some time ago. I liked it, although I will admit to having wished, while I was reading it, that it focused a little harder on the tutoring and less on the funny.
posted by JHarris at 8:51 PM on August 19, 2009 [3 favorites]


The CLR will have dynamic types in .net 4.0, and there is/will F#, which is a functional language similar to ML.

What do you mean by "dynamic types"?

My absolute favorite part of my favorite languages is runtime behavior modification:
import new

class NullClass:
    def __init__(self, y):
        self.y = y
    pass

nc = NullClass(23)

def f(self, x):
    print "hello world %i" % (x * self.y)

def g(self, x):
    print "spam spam etc %i" % (x * self.y)

nc.doSomething = new.instancemethod(f, nc, None)

nc.doSomething(13)

NullClass.doSomethingElse = g
nc.doSomethingElse(23)
Wake me up when the CLR will let me do that. Actually, better wait until the CLR will let me do that from a function defined in the interactive console I give the user.

[Btw, I'm perfectly aware that in Ruby, that's like a two-liner. But in Java it requires bytecode manipulation libraries; and on the CLR, I'm lead to believe that it just isn't possible due to compilation and security restrictions.]
posted by Netzapper at 8:54 PM on August 19, 2009 [5 favorites]


For those of you still reading this thread who aren't programmers and wondering what the fuss is about, here's is how I think of _why.

He created an online tutorial for Ruby (a scripting, super cool language that everyone has purported to dabble in and few have professed to work in), as the OP says. It was clear, funny, absurd.

Throughout the tutorial he plasters in comics he's drawn. Wild, inventive things that look like the cartoonist might have spent the better part of his time ingesting mescaline and making love to a large hallucinogenic mushroom. He references chunky bacon and talking foxes and non-sequiters. He peppers the entire tutorial with odd ramblings (e.g. Seven Moments of Zen from My Life [sidebar] 1. 8 years old. Just laying in bed, thinking. And I realize. There's nothing stopping me from becoming a child dentist.).

It's a brilliant work of art.
posted by eurasian at 9:07 PM on August 19, 2009 [4 favorites]


Actually, better wait until the CLR will let me do that from a function defined in the interactive console I give the user.

Pretty much exactly that was demo'd using F# at the last PDC. So, well, you just have to wait until .net 4.

Dynamic typing == the opposite of static typing? I've been in strongly typed languages for so long that I kind of forget the terminology, but that's what microsoft is calling it. It means you can do something like
dynamic bar = "i like bars";
dynamic barlength = bar.Length;
It is, oddly enough, a static type called "dynamic", and the typing is resolved at runtime.
posted by flaterik at 9:22 PM on August 19, 2009


Netzapper: "runtime behavior modification"

QFT. What the hell are programming languages for if not this?
posted by Rat Spatula at 9:24 PM on August 19, 2009 [1 favorite]


Previous threads about _why's works: Why's (Poignant) Guide to Ruby (July 2004 June 2005), Hackety Hack (April 2007; _why apparently read MeFi), MousHole (September 2005).
posted by Monday, stony Monday at 9:25 PM on August 19, 2009 [3 favorites]


If we're going to talk about types, people may want to read this, especially the "What is a Type?" section (about halfway down).
posted by Monday, stony Monday at 9:35 PM on August 19, 2009 [3 favorites]


If Wikipedia is to be believed, and "A new pseudo-type dynamic is introduced into the C# type system. It is treated as System.Object, but in addition, any member access (method call, field, property, or indexer access, or a delegate invocation) or application of an operator on a value of such type is permitted without any type checking, and its resolution is postponed until run-time.", this is indeed what most people refer to when they talk about "dynamic typing".
posted by Monday, stony Monday at 9:44 PM on August 19, 2009


He deleted all his public git repositories?

What a git!
posted by schwa at 9:48 PM on August 19, 2009


flaterik - [Microsoft's] development tools continue to be the best thing about windows.

is that actually what you meant? because... well... the quality of dev. tools isn't what makes a good consumer platform...
posted by russm at 9:53 PM on August 19, 2009


I love visual studio. I also love my macbook, which I refuse to put os x on.

So yes, that's exactly what I meant. But I write server software, I don't care what OS you use when you hit the website that will eventually be getting getting data with my stuff.
posted by flaterik at 9:56 PM on August 19, 2009


Er. Refuse to put anything BUT OS X on.
posted by flaterik at 10:01 PM on August 19, 2009


I love my Dell Vostro 1500, which I refuse to put anything besides OS X on.
posted by kid ichorous at 10:05 PM on August 19, 2009




...chunky bacon...chunky bacon...chunky bacon...chunky bacon...chunky bacon...chunky bacon...
posted by erniepan at 10:06 PM on August 19, 2009


I’m bummed about this. I saw _why present at SXSW a few years ago, and owe much of my interest and knowledge of higher-order programming to studying his work, going back at least 5 years. Just a couple weeks ago, I started studying his new language called potion which seems to have been yanked along with the rest of his stuff. I hope that he returns, perhaps under some other persona, to shed some more insight.
posted by ijoshua at 10:37 PM on August 19, 2009


Wake me up when the CLR will let me do that.

Well, there's always IronPython...
posted by asterix at 11:07 PM on August 19, 2009 [1 favorite]


Actually, better wait until the CLR will let me do that from a function defined in the interactive console I give the user.

Pretty much exactly that was demo'd using F# at the last PDC. So, well, you just have to wait until .net 4.


I don't see how. The CLR, like the JVM, operates on compiled code. In dynamic languages (not dynamically typed languages), there is generally some option available to eval new source code. This can be as rigorous as LISP's everything-is-an-s-expression-anyway on up to as loosey-goosey as Python's eval(). This means that a programmer can offer an interactive console, in the program's active namespace, that accepts the host language. I do this all the time in Python.

I believe that F# is compiled and does not offer an eval() of any sort, aside from the ability to dynamically load a compiled library. If it is offering an eval(), and is executed dynamically, then it doesn't really matter that it's targeting the CLR... it's just another dynamic language that we can target to any host we want. (But it isn't, because it's compiled and doesn't offer eval()).

Dynamic typing == the opposite of static typing? I've been in strongly typed languages for so long that I kind of forget the terminology, but that's what microsoft is calling it. It means you can do something like

Dynamic and strong typing are completely different things.

Dynamic typing means that a variable may take on any type, and that functions need not declare the types of their arguments.

"Strong" typing means that the behaviors of a value are well-defined. Nearly every language these days is strongly typed: everything from python to VB to C. The only language I know of that's well-and-truly weakly typed is assembler: it's all just bytes. Even in C you have to force a pointer cast in order to break typing.

dynamic bar = "i like bars";
dynamic barlength = bar.Length;


Dynamic typing does not a dynamic language make.

It is, oddly enough, a static type called "dynamic", and the typing is resolved at runtime.

In any polymorphic language, the typing is already resolved at runtime. The only thing static typing does is catch a certain class of error at compile time and allow a few automatic optimizations.
posted by Netzapper at 11:08 PM on August 19, 2009


Well, there's always IronPython...

It does appear that I was incorrect, and there's a "dynamic language runtime" that apparently allows CLR bytecode generation at runtime.

So, yeah, I can run non-interpreted dynamic code on the CLR (text-mode interpreted dynamic code isn't interesting; the CLR is clearly Turing complete). Guess now I have a reason to check out mono.
posted by Netzapper at 11:22 PM on August 19, 2009


This is a total thread derail, but

I like to think of dynamic typing as being characterized by runtime method binding. With statically-typed dispatch, method resolution takes a well-defined path -- even in the face of polymorphism. If that path isn't apparent at compile-time because it's not a part of the declared static type, a compiler error is generated.

F# has a REPL, but is very strongly and statically typed (as befits its ML heritage). These two features are orthogonal. Don Syme had apparently worked out some kind of simple syntactical support for .NET 4's dynamic, but I don't think they ended up implementing anything. It's highly likely that the release of Visual Studio after 2010 will have a C# REPL.

IronPython and IronRuby (I've worked on both over the last 16 months) are - surprise! - both IL-generating compilers. They just happen to produce the IL at runtime on an as-needed basis.
posted by Slothrup at 11:25 PM on August 19, 2009 [2 favorites]


(I can talk about this stuff ad nauseum, so if anybody has questions about the DLR, IronPython, or dynamic in C# 4, feel free to email me. :)
posted by Slothrup at 11:31 PM on August 19, 2009


Okay, what I'm remembering is F# interactive, which appears to mostly exist as a visual studio add-in, and it's unclear if you can embed it in the way for an end-user. So you may not be able to give that console to a user, but YOU can have it, and it IS acting just like a dynamic language in that instance. Here is a page about it. The talk, which I think is quite good (and pretty entertaining), is at http://channel9.msdn.com/pdc2008/TL11/. Disclaimer: It's silverlight, which I understand some people can't or won't install.

You're right about static != strong; I had mistakenly conflated them for some reason.

Of course, you CAN just emit IL if you want dynamicish behavior with .net now. We did that where I work to make a serialization system, but... I'm not a fan of dealing with that codebase. It's not exactly what you would call a friendly technique.
posted by flaterik at 11:37 PM on August 19, 2009


Okay, I was conflating all over the place. Dynamic typing with dynamic runtime, and strong typing with static typing. I'm pretty sure there's even a bit in that F# talk about the lack of real support for dynamic.

*hangs head in nerd shame and goes back to focusing on his distaste for the managed c++ he's been working with lately*
posted by flaterik at 11:40 PM on August 19, 2009


I wondered, at first, why the Poignant Guide was linked as a PDF and not just as poignantguide.net.

Then I got to the end of the post.

AUGH. This is a sad day...
posted by Kalthare at 1:07 AM on August 20, 2009


It's a pity he delelted Shoooes and Hackety's public pages because those were real projects used by kids and parents.
posted by PenDevil at 1:19 AM on August 20, 2009 [3 favorites]


_why posted a few tweets in the last few days saying approximately that "if you want to create something that lasts, don't be a programmer - your work is out of date in a year, and can't even be run in a few years"

I understand the sentiment. One of the things I find frustrating in the Java world (to an extent) and the Rails world (all the time!) is the churn. Every year in Java there's half a dozen hot new frameworks reinventing wheels. Spring used to be a great way of avoiding the problems of JSF, then it became JSF. Java programmers sneer at perl's TMTOWTDI, but Java is mired in it. J2EE app servers like WAS are rewritten and overhauled so thoroughly every couple of years you begin to wonder if it's all planned obsolescence to sell more training courses when all the tuning knobs you understood are yanked away.

Rails is even worse, if such a thing is possible. My Rails coding experience is super-limited, but discovering the pain in trying to roll forward a few versions of my blog software (hint: rebuild my own versions of Rails and Ruby because I can't upgrade without doing so), along with the continual flux and inability to get a sane app server/deployment model going for more than six months at a time is draining.

Ruby itself, though, is very pleasant to program in. I'm using it to grind out pretty much all the little jobs I used to do in Perl.
posted by rodgerd at 3:06 AM on August 20, 2009


After listening to This Book is Made (of Rabbits and Lemonade), it's fairly clear that _why = Jeff Mangum.
posted by scruss at 4:49 AM on August 20, 2009 [3 favorites]


I'm a fan of little languages in general. Niche languages seem to bring out the best in some people. One of the first computer languages I ever did anything significant in was called Forth, and if you learned Forth back in the day, you learn it from Starting Forth.

Heh. I still get a chuckle thinking of EXECUTE, or MIN and MAX.
posted by clvrmnky at 5:30 AM on August 20, 2009


Having never heard of this guy before, or had any real exposure to Ruby itself, I just read a good little chunk of the Poignant Guide, and found it reminded me incredibly of Chris Onstad.
posted by Dysk at 5:42 AM on August 20, 2009 [1 favorite]


_why's irreverent take is (is dammit) priceless. It's inspired some other tutorials to take themselves a bit less seriously including Learn you a Haskell and Learn You Some Erlang (For Great Good!).
posted by Skorgu at 6:08 AM on August 20, 2009


An irreverent take would be fine if the content was good. I haven't read _why's ruby PDF but Learn You Some Erlang is just awful. Perhaps if the author hadn't been focusing on the cutesiness the actual tutorial wouldn't suck so bad.
posted by schwa at 6:36 AM on August 20, 2009


Dynamic typing means that a variable may take on any type, and that functions need not declare the types of their arguments.

Isn't that basically what generics in the .NET framework do? With generics you can write classes whose types can be specified when you declare them.
posted by saulgoodman at 6:48 AM on August 20, 2009


I'm gonna miss _why, and I'm really bummed about hackety, since my son is just hitting the age where he could get into programming.
But primarily, I hope he is physically OK - I owe the guy a lot, as he was my main intro to Ruby, which rekindled my love of coding, and makes it possible for me to earn my keep without being depressed all the time.

Now I'm gonna have to stop using "what is chunky bacon?" as an interview screening question.
posted by bashos_frog at 7:15 AM on August 20, 2009


Generics have more to do with templates (ala C++) than with dynamic typing.
posted by chunking express at 7:20 AM on August 20, 2009


C# really has very little in common with Ruby. I'm not sure why people are confused about this, as the comments up thread a pretty clearly explain some key differences in the language. I would say C# has much more in common with Java.
posted by chunking express at 7:22 AM on August 20, 2009


I worried about _why a little after Hackety Hack came out. Not that I knew him - I'm just another internet geek that see's the stuff we all see.

He seemed like he was doing *way* too much, and to me it looked like he was on the way to burning out. In a real sense - I did worry about his mental welfare. Anyway, I hope that he's OK, and he's just an amazing guy on his way through another amazing anonymous project.
posted by seanyboy at 7:53 AM on August 20, 2009


Generics have more to do with templates (ala C++) than with dynamic typing.

Ach so. Thanks for the clarification.

posted by saulgoodman at 8:00 AM on August 20, 2009


I would say C# has much more in common with Java

That was the idea.
posted by Civil_Disobedient at 8:12 AM on August 20, 2009 [1 favorite]


More links: His code has been mirrored. But,a as schwa pointed out on Twitter, much of the documentation, mailing list emails, and tracked bugs are gone forever.
posted by shadytrees at 8:21 AM on August 20, 2009


[Microsoft's] development tools continue to be the best thing about windows

The Visual Studio debugger is absolutely first class. The Visual Studio build system is a screaming green nightmare; the .vcproj files are not meant to be human-readable, they're never compatible across versions (we have to keep parallel sets of files for both VS2005 to VS2008, when the only thing that's different is the version number), if you try to use Configuration Manager as it invites you to, you will totally crossthread your .sln files, Custom Build steps stopped working for a couple of releases, making us change to Post Build Events (which means Clean no longer works); it goes on and on. We're up to version 9 of this thing and there's still not even any way to define a custom macro?

Xcode got all of that right; but the Xcode debugger causes RSI with all the un-twisty-arrow-clicking you must do. If I could build everything under Xcode and then debug it under VS, my blood pressure would be a lot lower.
posted by Rat Spatula at 10:47 AM on August 20, 2009 [1 favorite]


I've been very sad about _why's departure. He represented the best of the hacker ethos -- he was creative, funny, smart, a good coder, and always more interested in doing neat things than self-aggrandizement, flame wars, or any sort of drama. Hpricot is a pleasure to work with, and I've always wanted to do something with Shoes.

I hope he's OK.
posted by Zed at 11:55 AM on August 20, 2009


Did we ever find out why he dropped off the grid? Is there a single archive of his stuff out there?
posted by mecran01 at 11:58 AM on August 20, 2009


The Visual Studio build system is a screaming green nightmare; the .vcproj files are not meant to be human-readable

Yeah it's... not really the best. Though the MSBuild system that .csproj etc are on is already SO much better than vcproj. I still too often have to unload a project and edit by hand (conditional references to deal with 32 bit vs 64 bit references are the most common case).

But I don't know what's up with the c/c++/managed c++ side of things. I've been neck deep in our managed c++ berkeleydb wrapper code lately, and... it brings into sharp relief just how nice developing c# is, at least as far as the tools go. I'm very unclear why there's a difference, but there clearly is since visual studio won't let me use <choose> elements in a vcproj file.

(Apologies for the derail, but how often do we get to have this level of programming nerdery around here? I love that on metafilter, even something as contentious as language and platform discussions stay not only civil but interesting and well-informed. Well, people other than me are well-informed at least.)
posted by flaterik at 12:08 PM on August 20, 2009


[Microsoft's] development tools continue to be the best thing about windows

Nah, that would be the games.
posted by rodgerd at 3:40 PM on August 20, 2009


The C# vs Ruby discussion is interesting to me, because I first came across _why's stuff about 2 years into getting paid to program C#. His Poignant Guide was a kind of revelation to me, because, up until that point, I hadn't really connected programming with art that way. I had never actually known anyone that actually enjoyed using C#. At least, not in the same way that they enjoyed creating art. So, I was intrigued by a language that could inspire such creativity.

This was around the same time that Ruby on Rails was exploding and, while I did like Ruby on Rails, I felt like there was a lot of silly drama associated with the community that I wanted nothing to do with. Reading _why's blog and seeing what he did with Ruby, usually completely separate from the Rails community, was always refreshing.

His disappearance from the Internet (at least for now) makes me surprisingly sad, because it's made me realize that there aren't a lot of programmers that I know of that do such a good job of communicating their enjoyment of programming. Even to non-programmers. I hope that others will be inspired to fill his shoes (no pun intended).
posted by mephraim at 4:02 PM on August 20, 2009


He was just on twitter:

burying myself feet first in the woods with the hope that this will lead to a career as a much beloved and sought after mouth-under-a-rock.
posted by kudzu at 7:51 AM on August 21, 2009


He's not on twitter now: http://twitter.com/_why
posted by mecran01 at 9:14 PM on August 23, 2009


Anyone could have signed up for that account, after he gave it up.
posted by chunking express at 7:14 AM on August 24, 2009


Stumbling around I found this personal anecdote of the impact of _why, which I thought fitting to add to the thread ...

#
#82
see-el-free-i Says:
August 28th, 2009 at 1:53 am

Straight up, no chaser:

_why: I love you. I lost my love of programming back in the early 90's, beaten down and just too saddened by the cookie-cutter corpocracy cultures that demeaned coffee lovers everwhere on planet3. No more coding to pay the bills so I could play the music I want to play-- years spent painting houses and jamming out instead.

Cut to 2006--
Had a 12 year old friend who wanted to learn programming. Read 'Why Johnny can't Code'. Cried while I got my Apple II+ serial #0000333 out of the closet. Searched the web. Found hackety-hack, ruby, divine madness in your hands--

Woke up laughing. Coding for a living, teaching kids and anyone else who wants to learn how to hack. Jamming the good tunes coming through, creative flux monumental.

You never know what will happen when you let loose and show your soul with all its quirky zigzags all naked and shiny like that. You never know the good you do, really. One kind word you don't remember might just have saved a life. One time you almost gave some asshole in traffic the finger, but laughed instead. Butterflies flapping chaos into mountains of future chunky bacon coated goodness, shining down from skies of azure into keyboards of the future, hacking freedom from the fingers of the grey-faced humorless robots, laughing all the way to new life, new dreams, new futures of inconceivably absurd wonderfulness.

Ya changed my life, _why, and the life of the kids in my life who are hacking away at their futures while I type. Ya changed the life of the Ethiopian immigrant checkout guy in the scary dangerous convenience store on my corner, who is learning to hack too, all 'cos he asked what I do for a living, and I told him how I learned how to code again after almost 20 years off for bad behavior...

You are so, so loved. Disappear or reappear when you choose, it's all up to you. It's a free will universe, all the way, all the time, and I know you know that.

Just know this: you made a real difference in my life, and it's made a real difference in other lives, and the ripples ain't done spreading yet.

see-el-free-i,
ever your faithful admirer

over'n'out

posted by forforf at 12:25 PM on August 28, 2009 [7 favorites]


« Older Scaling Gumdrop Mountain   |   Steve? Newer »


This thread has been archived and is closed to new comments