Yeah. Functional programming. I "understood" it for a good while before, rather suddenly, something clicked and I realized what the big deal was all about.
You didn't have to want to play the game to be startled by Doom. I may be biased, because I was also startled by Wolfenstein (I was in high school when it came out, though).
Easy to take cron for granted these days, but I have to say I agree.
As for unix pipes, I once explained how one of my shell scripts worked to a longtime Windows programmer and he literally said, "Holy shit!" when the pipes concept clicked.
When I discovered I could talk to people on IRC on the other side of the world, sometime in 1993, that was a holy shit moment.
Linux was pretty incredible too: I realized that with open source, the only thing limiting me was my own ability to hack it, which is a really great feeling.
"Holy shit, I can build the same stuff that I used to build, except it will take me less time than PHP and be more stable, clean, and maintainable than Java. How the hell did I live without has_many :through before???"
Although Django is my preferred Framework of choice, the first moment I heard about all those MVC Frameworks and what they do was definately a "HOLY SHIT"-moment.
I'd heard about them for a while before actually getting in there and using them.
The first time I setup the django admin site was definately a "HOLY SHIT" moment...
Others:
* Google Sketchup (This was only last week --> It's so simple!)
* VM Snapshots
* ITunes library/playlist structure (Don't laugh... The unified library showing every song was a revelation after mucking around with winamp playlists and folders.. Also - I remember winamp really sucking on the mac at the time)
* HTML - "You mean I can publish stuff on the Internet and people can read it from across the world?" (I was about 11 at the time ('95))
You'll probably take shit for that one, but some of us will agree with you --- that screencast was excellent. Not sure has-many-through really prompted the "holy shit", though I appreciate it now.
And yes, I'm referring more to the overall feeling... It was one of those things, when I first saw it I couldn't believe it was true. I thought, "if it looks too good to be true, it probably isn't true". So I didn't try it for about 8 months. When I did finally try Rails, it turned out I was wrong. It was true, and it is on a different level than what I was used to before (Java and PHP mostly).
i didn't find rails all that interesting when i first read about it, but when i saw dhh's screencast of database migrations and rails' console, that was the "holy shit" moment that made me want to start using it.
8 -> the floppy disk. I vaguely remember using different devices with different numbers.
1 -> it's compiled - not BASIC.
After a quick Wikipedia stint I found a better definition:
In the following example, where '
*
' designates the last program loaded, or the first program on the disk, '8' is the disk drive device number, and the '1' signifies that the file is to be loaded not to the standard memory address, but to the address where its program header tells it to go—the address it was saved from. This usually signifies a machine language program, as opposed to a BASIC program.
"You mean I can bet on sporting events, and the people providing the infrastructure are don't mind me winning (because they get paid commission anyway)? And the commission is on my net winnings per market, so the transaction costs don't depend on how many bets I make? And I can name my own bid and offer prices, like on a stock exchange? And I can automatically place hundreds of bets per hour through a well-defined (and free) API? And all my winnings are tax free (under UK tax law)? Cool.
Peter Diamandis talks about it in this Stanford talk (edcorner.stanford.edu/authorMaterialInfo.html?mid=2002 ) (not loading right now). Basically, he paid $1m (I think) for a $10m insurance policy. He almost lost it because he couldn't make the payments. The Ansari family stepped in and paid the rest of the policy premium so he named it after them.
I very rarely get a "Holy Shit" feeling. I get "Oh, that's clever" or "that's neat" quite a lot though. I think perhaps the fact I'm young so take things for granted and the fact nowadays I see everything as it appears on the internet makes everything seem more like a progression rather than shocking.
I do remember visiting Google Suggest and later Google Maps and being very impressed and knowing it would change the web - until that point JavaScript has largely been seen as a toy. Gmail also really changed the landscape when it came out too.
The first time I used Opera's tabs in 2000 wasn't "holy shit" as much as a "well, that makes perfect sense" moment which are even rarer.
Nobody thinks iPhone? I only used them at experience stores, but when I first did I felt stricken by lightning. I think, holy shit, this will be the first un-Japanese interface phone to become a hit in Japan.
Wikipedia - when I first saw the potential for the ability to share and edit knowledge freely in what felt like a limitless way (that is gone now because of the deletionists)
HD TV - the first time you get to fully see actors with all their flaws gave me one of those moments, and you realise they don't look as good as they used too.
Adsense/Adwords - basically just a license for Google to print money really...
It's funny --- I am so the exact opposite on HDTV: I have one, I've seen my friends HD pictures, and I've walked past the top of the line with the demo pictures in the store, and I do not get it. Is it possible that I was born without the part of my brain that is supposed to appreciate HD? If so, I feel lucky.
That's how I am, and I feel lucky too. I can watch things that are so low quality other people can't even tell what's going on, and I see no difference
It's the same with music, right? 128 AAC sounds fine to me. The CD carriage and solid gold speaker cable set looks at me with pity. I just laugh. Suckers.
I knew someone during the bubble who lived in Manhattan, right when Kozmo and Urbanfetch arrived. He found gift certificate hacks in both --- you could order things on Mastercard web certificates (0-balance valid Mastercard numbers) and get issued a $5 transferable gift certificate before the original purchase cleared. He had scripts that would literally generate money for their sites. The Kozmo and Urbanfetch delivery guys would meet every day in the hallway in his apartment, and apparently became friends.
Anyhow, one of the things he did with them was have a limitless supply of Godiva chocolates delivered for him and his girlfriend.
Eventually, the hack stopped working.
Shortly afterwards, his girlfriend bought a package of Hershey's Kisses.
"Bleh! Inedible!" He'd always liked them before, but had trained himself to hate them by eating nothing but high-end stuff.
Chocolate, sound quality, picture quality --- and absolutely, positively, cars --- all suffer from the Godiva "Paradox". It's better to satisfice than optimize.
This is also one of the key observations in The Innovator's Dilemma. Hulu is a bigger disruptor than HDTV is. I'll happily accept crappy picture quality if I can watch anything I want, whenever I want.
> [...] He'd always liked them before, but had trained himself to hate them by eating nothing but high-end stuff.
He did not train himself to hate the low-quality product, he came to understand the difference between a high-quality product and a low-quality product. The same effect could have been discovered by tasting the two side-by-side. In a similar fashion, if you were to put an HDTV and a standard TV side by side in your living room for a while you would find yourself not watching the standard TV after a while.
Exposure to a superior product does that to you...
So, I see the logic of what you're saying, but the simple fact was, he was happy with the low-quality product. Very happy. They were Hershey's Kisses! But after 6 months of nothing but Godiva, he couldn't enjoy them anymore. Presumably, he now has to pay a Godiva premium to get the same level of happiness out his chocolate purchases.
I recommend See's. They are cheaper than Godiva, but just as good. Consumer Reports did taste tests that corroborate this a few years back. In regards to the freshness of certain ingredients, like nuts, they rated them superior. Godiva charges a premium and puts some of that into fancy boxes and marketing.
I used to be quite happy programming in C. Now, I find I am quite spoiled by the absolute dynamic power, full closures, magical seeming debugger, and everything is an Object environment I have in Smalltalk. I get paid more, but I also "pay" a premium in terms of fewer choices in places of employment.
Maybe there is some wisdom in choosing just not to know. But there is something in me that just wants to know no matter what. Even if I would've been happier otherwise.
* Blogs: The fact that anyone could and would keep a journal online for the world to see was so exhibitionist that I could barely comprehend it.
* Rails: Making web development so easy it hurts.
* Valve Software's 'Steam': Digital distribution done right.
* Microsoft Photosynth: Pure coolness. This is what the future should be like.
Doom. Large MP3 libraries. Ricochet. ISDN. Image Analogies. Software radio. Kozmo (bonus points for "WTF"). Hulu. ReplayTV. The first unlink-write4 heap overflow. My first default-free BGP4 router. The ball-and-string model (still makes me smile). Force-directed graph layout.
I got a BASIC programming book from the library when I was 11... despite not knowingly having anything to program BASIC in. Poking around in my MSDOS system files I saw this mysterious program "qbasic". Holy crap! It was there all along and I didn't know about it...
Couchdb. Easily scalable, understandable data storage using JSON and REST, built in Map/Reduce, open source, built in replication and doc revision, and it's not SQL!
Yes, and not DOM manipulation. Its the anonymous functions, closures, functional programming, scopes and contexts, etc... pair it with Rhino and the power of "dynamic scopes" and shared scopes and you have multi-threaded programming.
Its actually very well done and pretty funny if you are into WoW. I'm not sure if that makes the concept of a WoW TV show more or less scary for you :P
* The WWW: "It's so disorganized. I prefer gopher."
* Google: "Well, it gives good results, but Yahoo is 'good enough' for me
* RSS: "Who reads that many blogs?" (I still believe this, BTW; RSS is a technocrats' technology)
* Doom: "Why would I want to play a game where the sole purpose is to blow shit up?"
Things that really were on my "holy shit" list:
* Modems. "I can login to computers halfway across the world."
* VMWare/VirtualPC/SoftPC. "You mean it's like a computer, running inside a computer?"
* Napster. "Wow, free music."
* Gnutella. "Woah, no server, anywhere."
* Processing. "Those are awfully pretty pictures you just whipped up in the last 6 hours."
* GMail. "A gig of storage space. And it's searchable. And it has keyboard shortcuts. And it's got this conversation view. Where's my invite code?"
* Fanfiction. "Wow, hundreds of thousands of people trying their hand at writing stories."
* OLPC. "This'll open up a market of literally half the planet."
* Functional programming. "I'll never make a state error again."