Tell HN: WarGames (1983) is mind-blowing
I can't believe I hadn't watched this movie till now. It just blew my mind. Being a hacker, tinkering, solving problems was the dream I ever imagined doing. This just rekindled my dying spirit of hacking. Just wanted to share my exhilaration.
63 comments
[ 4.6 ms ] story [ 146 ms ] thread[1] https://www.amazon.com/Family-Favorites-Collection-Henry-Tho...
I'm making a joke but it actually is really good. I have re-watched it as an adult and I still loved it, but it feels like the type of movie that wouldn't be good if you didn't have the nostalgia factor.
Stressful, like The Secret of Nimh.
Edit: According to IMDb, it was!
Try to do the stuff you've been doing but without the resources that have been at your disposal. Build a simple Twitter clone API using only C APIs. Roll your own HTML layout renderer in Open GL. What if NGINX and Apache didn't exist? What would you do then?
Watch "Halt and Catch Fire" as an engineer. Listen to the problems they're solving and try to solve them yourself.
At the end of the day, hacking is about creative problem solving.
Thanks for suggesting Halt And Catch Fire. It looks great.
It is profoundly important for engineers to periodically rekindle their sense of wonder if they wish to stay relevant and it sounds like what you are asking, if so that is super awesome.
Unfortunately for different people it is different things. So you might have to flail around and try a few things first before you get where you want to be. The good news is that it has never been as easy to try different computing things as it is today.
One piece of advice though is to be mindful of tooling. Which is to say think about the tools you use and if they help or hinder your wonder. Nothing puts the kabosh on wonder like slogging through a click and type interface for an hour for each attempt at making progress. So think about tools as well as what you're using those tools for. Perhaps take a week to try different ways of editing source code for example to find one that is the most frictionless.
Finally, before we get to some suggestions, YOU MUST change how you 'score' your progress internally. On thing I have seen again and again is people who have been coding professionally for a while their 'score' is "projects completed in unit time" the bigger the number the better they feel, that was how their boss scored them and they adopted it for their own use. There are learning curves on things and if you score your self by completions you will become disillusioned. But if you can allow yourself to adopt a score of 'interesting things learned' over unit time, then you will be much more likely to be successful. Trust me learning that you don't like functional programming is just as important as successfully blinking an LED on a demo board.
Here are some things which have helped me or people I know.
Raspberry Pis - It is a very inexpensive computer that people look at for teaching but it is also a great little server and can run everything the "big" internet servers tend to run so if you wonder about how email systems, dns, and web servers interact? Or ways to build a "server farm" of multiple machines? You can experiment with your own "server farm" which sits on a couple of dinner plates rather than a noisy 19" rack in your basement.
Machine learning - there are lots of interesting courses online for free and a ton of data you can use to train algorithms. Building a small Neural Net is easy[1] and can trigger a lot of wonder.
Arduinos/Embedded systems - have gotten much more approachable and nothing says fun like having your hat respond when someone says something around you :-). I love going to Maker Faire and just basking in all the creativity of imaginative ways people have applied computation to problems that don't need it.
Software defined radios - the idea of writing code which becomes decoded data at the output is quite fascinating to me and I've been having a lot of fun with it lately.
[1] http://www.wildml.com/2015/09/implementing-a-neural-network-...
Go (Google) has been on my list of languages to try for a while, I should use it in a project this weekend...
[0] https://www.youtube.com/watch?v=n5GzlOpf3KA
If they still actually needed /passport/ as a word talking about if you need one or not to go to another country (EG Mexico or Canada) would have been enough.
Still, the writers got things correct FAR more often than not. Sneakers is a good introduction to hacking and security concerns.
I had a C-64 back then... and a Vic-20 before that. I have to say, that as much as it was a pain then, today I'm glad I had to use PEEK/POKE. I had to learn a lot more about fundamental logic in doing things like graphics than some of my friends that had BASICs where all you had to do was, say, CIRCLE with coords and a radius. I think it made me a better professional much later because I knew how lower level logic worked.
The book didn't really influence my 10 year old self much, though. I read Steven Levy's Hackers at about the same time, and that's what really got me started.
Admittedly it's a bit dated now but it holds the same nostalgia that Wargames does.
https://www.amazon.com/gp/product/1416507787/ref=x_gr_w_glid...
Cliff Stoll is a really interesting guy. If you haven't seen it, check out his Acme Klein Bottle site. It's delightful. http://www.kleinbottle.com/
And of course were it not for WarGames Broderick wouldn't have been Ferris Bueller. In fact in WarGames Broderick plays a more credible teenager: a clever but naïve kid always looking to have fun, rather than Bueller's manipulative mastermind character type.
The wave of nervous laughter that went through the auditorium when Elmendorf got "nuked" was memorable.
At the end of the movie, WOPR is furiously trying to determine the code to start global thermonuclear annihilation, or something like that. Everyone in the control room is panicking, trying to figure out how to stop WOPR. They keep cutting back to the 8(?) digit display of WOPR trying the codes. The letters and digits spin at a furious pace .. then the first digit locks in, while the remaining digits keep spinning. Every 45 seconds or so, another digit locks in. The amount of time it takes to lock in each digit is more or less constant. The absurdity of this continues until there is just one digit left and it is spinning, spinning, spinning, even though there are only 36 (0-9 A-Z) possible values.
Yes, I say progress bar because I know that if it were actually progressing through an address space we'd see it 'counting' much differently and not locking in until the end.
This would explain both the "progress bar" as well as the approx. constant time per digit.
https://en.wikipedia.org/wiki/ToneLoc
Whoops.
Probably still have a floppy with it in storage somewhere. :D Thanks for making that!
Thanks!
"I might be an adult, but I'm a minor at heart"
Using ToneLoc is how I got into optimizing modem strings, which got me my first job installing modems for Dial ISPs in the 90s. If you lived in the SFBA I probably made your dial experience better because of it!
One of my friends (two brothers) got arrested in 1983 when they accidentally tried to enter a Pentagon server. They called me and were so scared. The FBI took everything they owned and they ended up not going to jail but no computer's till they went to college.
Then "Capt. Kirk" who was 17 and lived in my town was buying illegal goods through credit card carbon copies. He would steal the carbons from stores trash cans (People only ripped them once. He says he did over $30,000 in goods when he got caught, he was charged with about $6,000. He ended up with a job at Compuserve on their security team.
Personally I got a few "pen tester" jobs through my Uncle and just worried about the trading of games with my software alliance with friends in UK and the Northeast. I never bought illegal goods and never spammed a area code again by the time I was 15 I was done with the darker side of hackers. My main hacks were assembly hacking the games security back then. Eagle Soft were the kings and I was a little kid that tried hard.
Watching the movie was painful in the movie theater. I knew the technology was not there and thought it was just not possible. I was a jaded Hacker in my young teens who preferred Isaac Asimov books.
After watching it, some in Congress panicked, and decided to "address the issue".
"It's yet another in a long series of diversions in an attempt to avoid responsibility."
Could someone tell me please who first suggested the idea of reproduction without sex?
Mister Potato Head! Mister Potato Head! Back doors are not secrets!
He wasn't very old. No, he was pretty old. He was 41. Oh yeah? Oh, that's old.
Goddammit, I'd piss on a spark plug if I thought it'd do any good!
Mr. McKittrick, after very careful consideration, sir, I've come to the conclusion that your new defense system sucks.
This film came out when I was a Sr. in college. My friends and I watched it several times. Access to the ARPAnet through the AMES TIP made it all so visceral.
I've observed over the years it's pretty weird the sorts of things that can effect such "rekindling"! We should collect them all in a thread. For me, at various points it was:
- Golang
- Haskell
- Sublime Text, coming from VS (as I said.. weird! =)
- Replaying old-school games!
- Learning GLSL, hacking together shadertoy.com-like ray(sphere)traced experiences (though locally)
- Linux especially all the funny little programs in whatever "AppStore-ish sort-of-clone" each distro has (all the little maths/graphics/dev/tweak tools, educational games etc)
- most amusingly, 4chan /g/ --- the infantile flair takes me back in spirit to my earliest coding days (aka I was a teen coding and joking and smoking with likeminded buddies all day & night after or during school etc)
Wonder what'll be next =) I guess most devs will do well to occasionally seek out a fresh rekindling, whenever they spent just too much time merely integrating their stuff with the various loose ends of "the whole (rest of the) real world" (formats, conversions, inane feature requrests, OS interop, compatibility adjustments across stack, lib interop, other APIs, threading, misc IO) .. all the uninteresting-yet-error-prone-and-finicky stuff that modern development is saddled with (as opposed to old-school "whip up TurboPascal/QuickBasic, write the LoB app based on CSV, compile, go home" workflows)