Spacewar: Fanatic Life and Symbolic Death Among the Computer Bums (1972)
wheels.org
wheels.org
https://www.amazon.com/Hackers-Computer-Revolution-Steven-Le...
I picked this up randomly off a university library shelf and before I knew it, I was halfway through the book and my feet were hurting.
I love programming, but I’ve never felt myself to be part of any tribe like the people in Hackers clearly do. It all just feels so commoditized and un-magical these days!
What made the H:HotCR environment so weird and crazy and compelling was a) the fact that they were the very first to be working with this equipment, b) they worked in a university setting, and c) the weird dynamic between school administrators and the geeks.
Also the distributed Internet (e.g. IPFS) and DIY CPU (as in free FPGA tooling) communities.
I naively thought I'd find a group of people like this in college, and of course failed to. I moved around the country some looking for people, too (mostly in Berkeley, CA and Cambridge, MA)—but never had much luck. Definitely not saying they aren't out there, or that my searches in those places were exhaustive, but I did look and failed to turn anything up.
My current view is that it's difficult for at least a couple of reason:
1) It requires the group to have some some kind of unifying aim (even if it's very loose/general) and (ideally) a physical location members can return to regularly which fosters both serious work and the ability to relax/socialize/goof around. Seems like some makerspaces are pretty good with this, but from what I can tell typically don't have sufficient focus on software/CS to be of interest to me.
2) It's hard to search for these things because the results will overwhelmingly be filled with folks who don't actually feel much compelled by pure hacking but describe themselves as such for professional reasons. In my experience this is mostly what programming Meetups are about: making contacts to find jobs, or people trying to get themselves to learn some new tech, not because they are particularly curious but because it would improve their resume.
I think part of the problem may also be related to viewing the discovery/creation of such a group as something easier than it really is. I'd bet both the difficulty of finding it and the potential rewards of doing so are higher than people typically expect. Doing a few google searches and occasionally asking around town will not be sufficient.
That said—anyone else here in Tucson presently? :)
One of the reasons I found the Community Memory chapter of Hackers so inspiring (apart from the Berkeley connection) was because it described a piece of technology that brought local people together by design. Today, we can go online and find out what people are saying in any part of the world on any conceivable topic. But barring a few notable exceptions like Nextdoor, there seems to be relatively little focus on technology that connects us with our neighbors and colleagues (except in a roundabout way).
When I was a student at Cal, our Livejournal group hosted a biannual event called AnonCon, where hundreds of people would gather in a single thread and anonymously moan about finals, gossip about campus life, and discuss who they were crushing on. At the co-op where I was living at the time, this was a Big Event: people would huddle in the living room under blankets and have a merry old time reading threads and adding their own thoughts to the pile. You'd run into AnonCon participants in the real world who you'd have never thought were clued in to this sort of thing. It felt like the campus was suddenly electrified through the comments section of this simple blog post! We weren't really online, but part a quirky campus community brought together by way of technology.
It makes me wonder if maybe these kinds of communities could be kickstarted with a modern take on Community Memory: a distributed database or forum combined with some sort of physical beacon that would facilitate peer-to-peer connections between local devices. There would be no pathway to the internet: if you wanted to know what was going on in your community, you'd have to go to a particular location (or find a friend) and grab the latest snapshot of the database directly. Perhaps someone might hide a beacon in their favorite café, seed it with some comp-sci talk, and then see who shows up to trade thoughts! Idealistic communities with unified aims and physical haunts could almost emerge out of the ether — in cafés, libraries, community centers and parks.
If globally-hosted communities incentivize people to spread out, perhaps peer-to-peer communities could incentivize people to grow closer together. And maybe, the kind of unity and camaraderie evident in those oddball Hackers communities would subsequently follow.
I wonder about the two principles involved there (or the ones I've happened to pick out anyway): locality + anonymity. Seems like the anonymity supports a kind of radical latitude of expression, which is great for the initial phases of starting something new; meanwhile, locality constrains who participates in the discussion and influences the topic (to things more local) without constraining it.
Thinking about this more concretely, while I had trouble finding a group of like-minded thinkers/builders in Berkeley/Cambridge—I have no difficulty imagining that if I posted a number of random ideas I've had about programming languages or philosophy or whatever, that I would have received some interesting replies, and that some of those replies could turn into discussions, and some discussions would evolve into something no longer anonymous.
As for implementation, I most readily see it as an AR application: message boards tied to physical locations. Of course there are any number of factors in how this would be carried out that would attract (or repel) different subsets of people, or different types of discussions etc. For instance, I could see it devolving into a world-wide cover of bathroom stall graffiti if too loose, or generating little of interest if too constrained, etc.
Cool projects btw! I think we spoke briefly on here some years ago :) Also, did you ever go 'the Med' in Berkeley? Do you know if anything similar has taken its place since it shut down?
Edit: actually, I guess the 'AR' aspect of it is pretty superficial—it's just the idea of associating virtual objects with geolocations that I had in mind with it. But, at least with the current state of AR frameworks/hardware, it would probably be better to just use a more traditional 2D UI for this. But the key thing would be that depending on where you were standing in the physical world, you'd get a different set of 'terminals' (or something), which you could jump into and start discussing things.
Would be cool to keep it something super simple like that—though you'd need a way to create new 'terminals' which get pinned to particular geolocations, too. (Also 'terminal' isn't quite the right concept/term... but yeah.) Maybe each user gets one terminal that they can place somewhere... Maybe if it gets enough upvotes the user who placed it is allowed to place another.
Thoughts anyone?
1) Barrier of entry. Having to invest in a hardware beacon to kickstart your community (as well as having to go to a physical location to access it) means that "hit and run" communities and users won’t be too much of a problem. You can see this working in communities like Metafilter and SomethingAwful which charge a nominal entry fee to keep low-effort users out. But notably, the beacon wouldn't be essential: once a community is formed and the peers all know about each other, they could connect directly without having to touch the beacon first. (For convenience, it might still be useful to keep around for the same reason people use Github.)
2) Persistence. Personally, I’m reluctant to seriously commit to any centralized social networks, and I think many others feel the same way. Startups rise and fall with the blink of an eye, and it’s disastrous when the community you’ve spent years cultivating suddenly vanishes due to corporate acquihires or pivots. If a community is based on peer-to-peer protocols, and if the data for that community is stored locally on each member's phones and computers, then the life of that community is completely decoupled from the whims of its creators and the fate of its tech stack.
3) Aligned incentives. Peer-to-peer communities are beholden to no organization other than themselves. They can determine their own fates. They have nothing to fear from shareholders or CEOs. Nobody can make them function differently without their consent. And vitally, by design, there can be no temptation to take the community online for convenience. Meeting up at a physical location is an inherent and inalterable part of the system. (Though of course, one peer could manually relay the state of the community to another peer through an online channel. But that wouldn't be the typical use case and would require manual work.)
I admit that perhaps it's more of an emotional issue than a practical one. Even though sites like Nextdoor (or the same AnonCon) are tied to physical locations, all the data is still stored on some central service and could easily disappear tomorrow. Whereas a mesh-network-style community would in fact be an artifact of the real world, with all the pros and cons that this entails. Different behaviors — ones that I can't predict — would surely emerge from these differences in implementation. (But as a starting point, a central-server-based, geo-pinned community service would be really awesome, too! I'm just not sure it would be possible to deal with location spoofing.)
I like your interface idea! I can imagine "terminals" appearing in the list much like Wi-Fi hotspots or Bluetooth devices. If they were indeed paired to physical devices, perhaps some central site could help keep track of them (à la Geocaching).
I wonder if a Raspberry Pi could be seen and accessed by an iOS or Android device without an internet connection?
There's a rather large 'escape hatch' to the local nature of it all in the form of 'pubs', which are basically regular users that are internet-accessible.
But at least for the interface and some of the decisions they made, it might be worth investigating.
The main problem I have right now that keeps me from playing around with it is that I'm not currently much in the mood for Node.js development, and so far that's the only really solid/easy implementation of the whole thing.
While you are there, you also see the demos of the restored IBM 1401 (punched card computing from the early 1960's) at 11:00 on Saturdays, and Wednesdays at 3:00.
When I went there a few years ago, the PDP-1 demos were actually done by the original guys who programmed Spacewar! I don't know if they're still doing that, but it's magical to be in the presence of these pioneers. This industry is young enough that many of the original masters are still alive and eager to share their stories and achievements.
http://www.masswerk.at/spacewar/SpacewarOrigin.html
Martin Graetz was also reading a short paper on Spacewar! at the first DECUS (Digital Equipment Computer Users Society) conference in summer 1962, "Spacewar! – Real-Time Capabilities of the PDP-1": http://www.masswerk.at/spacewar/decus1962/
Funny that Atari's first game Computer Space was developed the year before the article went to press, with an old black-and-white TV and some cascading digital counter chips, similar to how PONG would later simulate ball motion. And the spaceship outlines were literally outlined on the circuit board with diodes: http://www.masswerk.at/rc2017/04/images/e02-computerspace-di...
They used to program the thing either in direct machine code, direct octal, or in DDT, In the early days it was a paper-tape machine. It was painful to assemble stuff, so they never listed out the programs. The programs and stuff just lived in there, just raw seething octal code. And one of the guys wrote a program called 'The Unknown Glitch,' which at random intervals would wake up, print out I AM THE UNKNOWN GLITCH. CATCH ME IF YOU CAN, and then it would relocate itself somewhere else in core memory, set a clock interrupt, and go back to sleep. There was no way to find it.
It is glorious.
I didn't get to play, but that was okay. Watching a bunch of (really polite) strangers huddled together, all excited about playing/watching this first graphical computer game was reward enough.
Not well-publicized: Every 5th Saturday of the months that have 5th Saturdays we hold a Spacewar! Tournament, and the prizes are Spacewar! T-shirts signed by Steve Russell and Peter Sampson (Steve wrote the main game and had help from Shag and a few others; Peter added a realistic star field, showing what one would see outside in Cambridge MA).
We ran Spacewar! for the first time during the restore on Feb 29, 2005. So we're coming up soon on 13 years...
There's a great value in that simplicity; it empowers people and arguably is a leading reason for all the innovation that has followed. As we make things more complex - UEFI, systemd, HTML5, HTTP/2, Google's AMP-based email proposal, email authentication technologies (DKIM, etc) and more come to mind - we disempower more and more people.
I'm not saying that none of the technologies above should have been implemented; sometimes complexity is worthwhile. But we should work hard to maintain the simplicity (and transparency) that creates a 'freedom to tinker' in the practical sense, not just in the legal sense.
Should the computer program the kid or should the kid program the computer?
I cannot recall though, if the game actually worked on the old IBM monochrome monitors that did not have a Hercules graphics card. I seem to remember that the developers hacked it to run graphically by manually manipulating the dots at the hardware level?! I could be wrong though.