this is my favorite story from running the site, and possibly the best story I've ever been a part of. I'm not a big crier but I have cried so many times thinking and trying to write about it over the past 2 months. And of course, the process of discovery (and going from panic to excitement) was pretty crazy too.
One of my favorite things about this is that it validated one of the core beliefs I have when making these things - that you need constraints for the small group of people that are jerks, but that for the most part those constraints are fodder for the largely-good and very creative folks that play around on the internet.
I had a massive "discussion" (argument) with a friend the other day, they were convinced that the internet is just a place full of trolling and nasty commentary and social media was the thing likely to ruin things for our children. My position was that if you spend your life looking at X, Facebook or whatever then, sure, it can seem a bit of a hellish landscape, but the Internet is and can be so much more than that.
This article is perhaps one of the finest examples of this and I applaud you massively for writing the site, looking at how people used it and then taking the time to share the experience.
It's made me really happy reading it and I'll be sharing it lots. A wonderful experiment, well played and much respect. :)
While you're right that the Internet contains a lot of wonder and exploration, the vast majority of people (and kids) will not interact much with that part of the Internet, if at all. Additionally, social media platforms have collapsed what would have been standalone, somewhat magical experiences into their own uniform platforms. I've heard someone say that kids today tend to think in terms of "apps" and not "websites", because rather than having everything scattered across a lot of small, independently maintained, websites, there are instead a few web apps that contain 99% of what you want to get at.
That means that if you really want to "surf" the web these days you have to dig deep and avoid getting sucked into a social media platform. And when you do dig deep there's not that much out there, because the people who would be maintaining their own web page now just have a facebook page for their business and a twitter account for their personal posts.
I was about to comment something similar but you said it so well - this is the internet at it's best, bringing people together to have fun in interesting ways. I remember when it was all like this, but you can still stumble across little moments like this
Thank you. I enjoyed the sense of play and this story more than anything I have read about the internet in a long time.
I am def burned out, and need to come up with something frivolous. I am reminded of Richard Feynman´s story of spending 10 years depressed after the war, and him finding joy of the physics in a spinning disk one day at lunch, so he could disregard what he had done before.
Fantastic telling of it in both text and video form. Great to celebrate these people doing the kinds of things we learned so much from! Thanks for sharing.
Thanks for the great writeups, this one, the one about scaling, and your work in general. It's been very inspiring.
Also, you're absolutely right about largely good and creative people.
I built a OMCB clone because the concept possessed me; i threw it online, a day later, okay a couple of dicks, whatever. Holy shit someone put a huge Hokusai's The Great Wave in there! (My version uses a fixed width/height, a big scrollable canvas, so that was easy to spot)
* More than anything, I think it's good for things to end! I figured interest in the site would die off over time (and it started to), and I thought it was better to close things out providing a special experience for the people that used it than to keep it up to get a few more users
* Costs started adding up; donations stopped matching them. I coulda figured out how to lower my costs but I wasn't excited about it.
* While the site was up I felt an obligation to make sure someone hadn't found some trivial workaround to deface the thing and I didn't want to do that anymore.
I'm very pro ephemeral stuff! So I feel good about the decision. But it's a good question.
The Discord URL message that eieio found could be found without relying on 1000x1000, imagery. The other pictures did described in the article did, though.
As for your question, the answer is yes. Bear in mind that the question you're asking is essentially the same as "if you resize your browser window so you can see a specific number of checkboxes per row, are there any drawings you can see?". And people definitely did draw stuff in widths other than 1000! It was just at a vastly smaller scale and done manually.
That said, I do want to try analyzing any available data to see what I can find, for sure.
That resonates with playing call of duty demo or something like that, free game and only one multiplayer map it was abused for loopholes and bugs because of lots of jerks in a small place and you know every pixel of the game.
If you can believe it I found a hack in the early days of PayPal and I was able to buy anything for 1 penny when I was like 15. I just tested it in a couple of e-shops (that was the name back then) and it worked, but I cancelled the order just after checkout just to make sure I was not in the blame for anything coming home that was not expected by the family. Also I was scared of the FBI haha. The only thing I exploited this bug for was to buy all the computer e-books from one of the first publishers. I absolutely devoured the UNIX and x11 ones.
I don’t know. Reading this made me tear up a bit. I learned software engineering when I was in junior high school. I learned it because I sucked at math, and I want to write programs that solve my homework. Then I continue writing LAN chat, HTTP server, Anti Virus, and a lot more things just because it was fun to do.
It was fun, it was challenging, it was rewarding, it was amazing.
Now that I’m working, with the endless stream of new technologies, the debates of X considered harmful, J is better than K, and a barrage of never ending new things. It started to numb my mind.
Somehow, those joyful feeling of engineering no longer feels like the blue sky. I think its still blue, but for an eye washed in silvers, everything looks gray.
Reading this story somehow light up that childhood feeling of me learning software engineering. It can still be fun. I can still write things for the sake of me and not for the sake of exit nor a new shiny SaaS.
Thank your for writing this. It gave me a ray of hope that it can still be fun.
> Somehow, those joyful feeling of engineering no longer feels like the blue sky. I think its still blue, but for an eye washed in silvers, everything looks gray.
Beautifully said. I'm glad to hear that you feel hope for rekindling this feeling. It sounds like you've already figured this out, but I want to highlight that this a symptom of burnout, and that people who resonate with this should take it seriously.
I remember once I was helping someone at work who was learning Python. They were having trouble understanding how binary file types worked. When it clicked for them, they were so delighted.
I realized I hadn't felt that way in years. It wasn't long after that I realized I was too burned out to stay in my position, and needed to take some time to work on my mental health.
I'm not sure it is burn out for me. I think part of it is it feels less special. Maybe that's selfish or delusional on my part. Basically, I used to feel like I was doing something at least somewhat unique. Now, via Youtube and Github, I see that everyone is doing the same thing and repeating the same stuff so I end up with a "why should I do it if it's already been done" feeling.
It's similar to blogs. I ran blog since 26 years ago. Before Facebook, posting and sharing on the net felt special. After Facebook, everyone was posting so blogging was no longer special.
I get that doing it for the fun of the doing itself is a thing. Cooking might be the perfect example. Yet I have a similar problem there. More often than not I learn that a recipe is too much work and it's just better for me to enjoy and appreciate that someone else is willing to make it professionally, and better. One motivation is dishes I can't find at local restaurants. But I still often come to the same conclusion. That it's too much work and I should just wait and really enjoy the dish the next time I'm in a place where it's possible to get it.
I have similar feelings these days, but I don't think it's burnout for me. I still love programming and making cool stuff.
I think it's just natural cynicsm when you see what the industry does. Making you cross moral boundaries to keep a job, the realization that the best workers may not be guaranteed job security, that there so much cool tech but you may mostly be stuck with CRUD work for business, etc.
I'll still keep at it as I still have much to learn. But reality can be more disappointing than the dream.
At the time I was lost joy of coding too but I was able to found it again.
One key point was to ignore learning new tech if it was not absolutely necessary and focus just creating new things. I think it all started from Sebastian Lague's video which reminded how beautiful coding can be.
Same! It reminded me of a story about the latest Phrack issue called "Calling All Hackers" [1] and made me hopeful that indeed the hacker spirit is still present in the younger generation and will always be, as long as we older folks encourage it instead of trying to hammer it down. Makes me remember the times I was a teen and I was writing code because I wanted to, not because I needed to. Sometimes I used these skills for good, other times for stupid crap like hacking the "competition" and I'm ashamed of this, but all in all this experience made me who I am today and I'm grateful that I had it. And I'm happy the next generation is still finding joy in coding.
Thank you. I wrote it as I was inspired by the Silverwash from Witch Hat Atelier, a disease that causes the eye to see grayscale. Its also because silver is a symbol of money, and as an adult; the responsibility to provide for our family, pay here and there, taxes, tuitions, mortgage, etc - can make life feels bleak.
There is a similar quote from Bojack Horseman „You know, it's funny; when you look at someone through rose-colored glasses, all the red flags just look like flags.“
Not really relevant. But the quote reminded me of the show.
Sometimes it's good to just step away and do something random. Do Advent of Code but non-competitively, just make it work in a random language without following best practices. Pick up pico-8 and write a crappy game or script with two-lettered variables because you don't have the space or arsedness for longDescriptiveVariableNames. Play games like TIS-100 or Shenzen I/O, making sure to print out the manuals and put them in the oldest folder you can find, and / or spill coffee on it.
That's because we can't grow. You want your easy-to-use distilled library? Too bad, here convoluted hallucinated framework and it's an industry and community standard. Or you can get nothing, ha-ha. Going off the "grid" returns you there in no time.
I've found a personal set of tech that is bearable and static and am building up the swiss army tool kit that is either easy to use, or at least I am familiar with and can steer. It's just for me, no link available. My personal garden of programming. The downside is I can't interact with the "industry" that much, which I considered harmful anyway.
“I program like we programmed 15 years ago” told me once my friend and engineer which I consider one of the best graphics programmers around: his projects are fast, beautiful and innovative.
This is, I think, how I felt writing Go. Not necessarily 15 years ago as I was doing Java then, but an "older" but simpler and more straightforward style of programming.
Want to create a database connection? Write "database.connect(host, username, password"). Want to inject a dependency? Just set it in a struct in your main method. Want to create a production build? "go build *.go". Put it in a makefile if you want.
Versus the modern approach, writing YAML to instruct your cloud service to set up a database, docker images that get env vars from somewhere magic, XML or magic auto-injection or however backend works nowadays, typechecking and transpiling, etc.
I’m 62, and write code every day. For free, and I still regularly release apps. Most of my work (not all) is open-source.
I love it.
The secret is that I no longer work for people that destroy my work, treat me badly, or force me to do it in a way that destroys creativity, Quality, and velocity.
Being “frozen out” of the tech industry was painful, but it resulted in the first truly happy work I’ve ever done. I’m doing what I dreamed of doing, back then. Out of necessity, I have a much-reduced scope, but I still get a lot done.
However, all those decades of shipping software, on someone else’s dime, made it possible for me to do things the way that I do it now. It gave me the ability to pay the bills, and the Discipline and habit, to write (and ship) good software.
This is why I've never taken a coding job despite having played with code since I was a toddler (I'm 36 now). To me, coding is a creative endeavor and I just cannot do creative things for pay/on a deadline. It's the same reason I prefer not to write fiction for money.
I feel like we have an entire generation of engineers lost in the SaaSification, over-abstraction, over-branding of everything.
I think we need to give junior engineers permission to not care about "whats becoming an industry standard" and "HN front page frameworks/vendors/tooling/etc". It's okay to stop caring about whether or not what you ship is perfectly engineered; the state of the art isn't close to perfect either when you get into the guts of it.
For ongoing skill development, spend more time reading books, manuals, and research papers. Spend less time following software thought leaders on YouTube and X, less time chasing the shiny new thing on the HN frontpage.
Just build. Roll up your sleeves. Find the flow. And just build.
(Note: this is really bad advice if your goal is to learn how to LARP as a senior engineer, land a comfy job at FAANG, go on the conference circuit, and build an audience on social)
From time to time I write code just for the heck of it. That endless debate on how you could've done this better with x instead of y don't happen in a personal project. Unless you're a jerk to yourself (like I sometimes am)
(while reading the article..) In the beginning I was like a slow "whoooooaaaah" (mouth 20% open). Then as I scrolled down more and more the 20% became 80%.
A m a z i n g !!!!
So we _can_ have good things! And (most) people _are_ nice and cool and fun!
> The adults in my life were largely not mad at me. They asked me to knock it off, but also made me a t-shirt. I don’t think I’d be doing what I do now without the encouragement that I received then.
Teena need a place to be moderately mischievous, with semi-real social outcomes, but also some boundaries and help to not take it too far.
And adults who aren’t authorities over them except insofar that they have cool talents the kids want to learn.
Back in 1999 while I was in high school, I played a goofy harmless prank on one of the school computers.
I created a 2-page slideshow presentation. Both of them had the same black background with grey text that appeared to be a DOS session indicating that Windows was deleted, except one had an underscore at the prompt. By telling the program to automatically advance the slides every second, and to loop the presentation, it gave the impression of a blinking cursor. It looked like a broken computer, but simply pressing Escape would get out of it.
Of course, it's worth mentioning that these were Macs, so they didn't even have DOS or Windows.
Anyways, a teacher saw it and thought I had hacked/broken the computer and sent me to the principal that didn't think it was funny and punished me by making me spend the second half of my lunch period with the school IT guy for the next 2 weeks so I could shadow him and see how much vandalism he has to deal with.
When I saw him the first time, he was like "Wait, what did you do?" and I recreated it. He thought it was funny as hell and thought it was ridiculous for them to act like I broke a computer.
We had a lot of fun hanging out. Even after my punishment was over, I still frequently went to his office to chat or walk around and fix computers.
I love that story, and that's actually such a fantastic punishment IMO (even if it was a bit unwarranted).
I did some similar harmless "hacking" in my high school that accidentally ended up crashing a major switch causing the whole schools network to die for the day. I told my programming class teacher right away, but unfortunately in my case the superintendent decided to press charges.
In the end all it taught me was to never never trust anyone, not exactly the best lesson for an already introverted teen to internalize...
Heh. I made a Visual Basic 6 program that showed a static screenshot of the desktop. I did this because I only got a few hours in the evening to use the family computer, but if i ever got up to use the bathroom my dad would "play one game of bejeweled real quick" that would sometimes end up taking the entire evening.
When I tried using it, he lost his fucking shit and went berserk.
Yes, I had a similar experience in high school. I ended up modifying a virus that infected a bunch of computers and causing problems, so I got kicked out the lab until the next year (but this was late September, so no biggie.)
The next year I mentioned to the teacher that I had something I wanted to play with, can I please get access to a PC (the lab computers were Acorns), and so he gave me after school access to the accounting classroom, more storage on the network drive (50MB when everyone else had 5!), and basically free reign if I didn't break things. So I didn't, and was running Tierra on piles of machines overnight, just to see it doing cool things, and getting in in the morning to save everything and reboot them. It certainly set me up well for the future.
And didn't break things, because I didn't want to kill the golden goose!
Our high-school had an intro to programming class which taught folks how to use VB6 in a computer lab. It was exceptionally self-driven and gave me a lot of rope to do whatever I wanted.
The PCs in the lab were very slow, and a known prank (taught to everybody at some point by virtue of being a victim) was to hold Win+E, spawning hundreds of Explorer windows and bringing the PC to its knees. Sometimes you could wait it out, but a stealthy pranker could hold it so long a restart was required.
Well, I created a little VB6 programme named "DoraTheExplorer.exe" which would do exactly that when you clicked on it. I put that on the schools shared drive (where you could sometimes find portable executables of the original Halo game until the admin found and deleted it).
My prank was successful for a short while until, however, it became quickly evaded by folks just hitting Alt+F4 quickly and exiting the Dora Programme.
I then discovered you could get the programme to launch another instance of itself on exit, but this was also countered by spamming Alt+F4 rapidly.
Finally, I hit my magnum opus. A hydra. Everytime you'd close dora.exe, it'd open two more. It was an ICBM in the Explorer prank wars and defeat was declared.
The admin knew about this the whole time, and they were generally chill. They made it clear that if anyone lost work or if it caused harm, then I'd be held responsible. But that never happened because everyone knew what dora.exe did, I was too proud not to tell folks :P People only clicked on dora.exe for the dumb pleasure of crashing their PCs and trying to see if they could evade it.
Very grateful for that class and the generally chill environment I was in.
I did almost exactly the same thing at my school (brought down the system with a VB6 script that wrote infinite text files to networked storage). They sent my mum a letter accusing me of terrorism.
At the time I thought I was pretty ridiculous and unfair (lucky my mum agreed), but now looking back with adult eyes I also see it as an almost criminal level of disregard for the job of raising children. Just absolutely irredeemably small-minded, truly pathetic, it makes me so angry to think that there are still young people growing up in that environment and being taught by those people.
People are afraid of what they don't understand - Someone, at one point
The adults in that situation didn't understand the full (or rather, how small) scope of what happened, so for them it looks wildly different than to you or me. To them, computers are black boxes that are not to fuck with, and the ones who do, are only out after destruction and ruining things. That's why they react like they do.
Not to excuse the behavior, they should of course have talked with people who understand what happened before trying to address it, but lack of resources, knowledgeable people and understanding often leads to being able to.
Similarly, I at one point (before I'd consider myself a programmer) worked as a customer support agent contracted out to a popular fruit technology company, saw efficiencies in how things were done manually and hacked together a browser extension. At first just me and my colleague next to me was using it. Eventually, it spread and eventually management found out.
Instead of trying to elevate the processes and seeing that things could be better, they decided to eventually get rid of me, too risky they said.
I wasn't screwing around with the network in high school, but got called in to the principal's office to answer some uncomfortable questions because (and I swear on my life I am not making this up) I knew how to change the desktop background on my account. This apparently made them suspicious of me. Simpler times, I know.
It was an early lesson in the fact that there are a lot of people doing IT in schools who, frankly, suck at their job. Most of the good IT people are getting paid way more elsewhere. The crappy ones are working in an environment where easily 1 in 50 of the students know more than they do and some of them feel threatened and lash out when someone is outing them for being lousy at their job, intentionally or otherwise. Like you did (disk quotas much?). Like they suspected me of.
Fixing the structural problem would require paying IT people in schools a rate that more closely matches what they'd make in industry. Fixing the social problem would require hiring people who understand what you and the author figured out: that nurturing people and directing their impulses productively yields better long-term outcomes for everyone.
Yup, absolute insanity. My good friend was expelled because he used "net send" while our teacher was giving a presentation. Wasn't even anything vulgar.
> The typical ways that folks - especially folks who don’t program - bump into bots are things like ticket scalping and restaurant reservation bots. Bots that feel selfish and unfair and antisocial.
This reminded me of how a ski resort, Palisades Tahoe, implemented free but scarce parking reservations for weekend parking last winter. Since it's one of the most popular ski destinations from the Bay Area, you can imagine that bots were written. Every time new spots would "drop" (become available for the following weekend) I think on Tuesdays and Fridays or something like that, they'd be gone in seconds. Clearly bots! So naturally I had no choice but to write one. It just alerted me (via Pushover) when cancelations would lead to open slots, it didn't actually reserve spots on its own, but that was good enough to get the job done for me and my crew.
Several Reddit threads had non-bot-writers discussing that bots must be slurping everything up. I felt so antisocial, but really had no choice.
It's a shame because the solution is very simple. You have a period of time where people can register interest which is long enough that everyone can do it at their leisure. After this window closes you draw lots. Whoever wins the lottery gets the opportunity to buy (eg by receiving an email with a magic link). If they don't, you draw another person and offer it to them.
Otherwise you have an "auction" where instead of giving the resource to the people willing to pay the most, you give it to the people with the best programming skills (who then turn around and flip it to the people willing to pay the most). Which is pretty unfair, since programming is a specialty, and since presumably we're in a context where giving it to the people who pay the most isn't considered acceptable (or we would just hold an auction).
I believe this is used in parts of the sneaker/fashion industry.
That's good if there's something to buy, but in my scenario it's free. The resort's goal isn't to charge for this parking, it's to ensure that the number of vehicles on the roads leading to their parking lot doesn't exceed the number of parking spaces. So if they have N parking spaces, they allow N reservations to be made, but people are cautiously greedy and make a reservation (when the opportunity begins on the prior Tuesday) before they even know that they're planning to ski that weekend, leading to near-immediate depletion. If the weather isn't looking great, they'll eventually cancel their reservation (lest they get on the resort's no-show shit-list, which ultimately leads to the resort refusing your business -- you must cancel or be found to have parked) and those cancellations are what the bot alerts on.
How would a lottery work for this situation? Everyone thinking of maybe skiing signs up on Monday, then on Tuesday an email is sent to N people saying "you won the parking lottery," then someone canceling last-minute (to avoid the no-show penalty) causes another "you won" email to go out randomly to the wait list? What if the person on the wait list doesn't see that they've won at the last minute, do they get a penalty for not having proactively removed themselves from the wait list upon deciding to ignore email the rest of the week? I guess this could work, but it's pretty dicey...
During Covid I was forced to write a bot just to sign up for swim lane reservations at our local pool. Spots opened up at midnight two calendar days before. Most folks looking to regularly swim at 7am don’t make it a habit of starting up to midnight, and all spots were always booked up by the time I would wake up at 6am. So I wrote myself a bot, which was surprisingly fun and effective!
I use a bot for booking overnight huts on the more popular hiking trails in my country. They become available for booking online at a fixed time each year and are all taken a few seconds later. Using a bot is the only reliable way to get one.
Amusingly there are news articles every year about whether or not people are using bots to book these huts and the operators always deny it vehemently. Whereas I know my bot is up against loads of other bots.
We used to run into the same issue booking camping spots in Massachusetts, which open many months in advance. I don't know what the situation is nowadays but it used to be very competitive, with spots vanishing in seconds after opening.
Amusingly, one camper family we came across said they manually register at the stroke of midnight, but they all do it together from like 6 computers in their house.
The government services booking system has received this treatment in some parts of some southern european countries. Organised groups have monopolised the system and go on to sell appointments.
It's an open secret that you can either battle the bots to try to get an appointment slot in 6 to 12 weeks, or you can pay 50€ to the right person and have one in a few days.
I had to do similar during the first summer of COVID to get my boat onto Lake Tahoe. Lake Tahoe (and most lakes in CA) requires boat inspections immediately prior to getting onto the water (mostly to prevent Quagga contamination). Those inspections had to be scheduled online during COVID, and there was similar supply & demand to what you describe for parking, so I wrote a bot that notified me (also via Pushover) when a slot became available.
Once I got the reservation I had to tow the boat 9 hours, praying the whole time I didn't have a drop of water on the boat, for which most inspectors will immediately fail you and send you away. The inspection crew there turned out to be pretty awesome though, and they actually washed my whole boat down with hot water which apparently kills any (baby? egg? idk) Quagga muscles.
It's so funny you mention this, I actually just launched something super similar today for the California DMV (as a Bay Area student). It checks for openings from cancellations and notifies people.
There's a special kind of magic that comes from meaningfully improving your life from software :)
I should write a bot for making a parking reservation at work too. At least if there's no-shows people get told off for it (I wonder if they get barred from the parking reservation if they really take the piss after that though).
I really enjoyed this post, it brings me back to when I was in high school learning java and I made an app that took over your whole screen with a grid of “x” buttons where only one of them actually closed the window. When someone left their computer unlocked I would pop in a a floppy disk and run the program then leave.
We had an IT guy at our school who would always ask us what we were up to which we would answer honestly. He never got mad at us for figuring out how to get Halo CE or Starcraft or other games running over the network, but he did tell us to knock it off when we got too bold.
My friend memorized his SC CD key so he could reinstall it quickly. Good times
We had a network file share so no floppy necessary. Very easy to hack everyone's computers.
I wrote a script that would read the title of all your open windows and close free games.com or whatever the popular game site was at the time. Shouldn't be playing games in class right? I felt bad when it closed some 3d modelling program because of the save file name he chose. Oops.
if you're just playing on LAN, both 1234-56789-0123 or 3333-33333-3333 work as a cd-key for original StarCraft. installing Brood War on top doesn't even need a cd-key
Back when i was a teenager i was so excited when me and my friends found (technical) loopholes in stuff. It was a game in itself. Getting away with cheating, getting away with "hacking", etcetera. We did some things that may have cost someone some revenue, like writing down cd keys and other stuff, but we meant no harm. No real big damage was done.
Nowadays i have two teenagers myself. Whenever some/we suspect they are "up to no good" i will try and remember my own teenage years. Then i tell them something like that i think that was awesome and i'm proud, but don't get caught again. :)
The shared computers at our school (college equivalent?) were locked down in theory, that is, you had to get the IT guy to grant you internet access, otherwise you could only use things like Word and the like.
We found a workaround; if you opened up notepad, went to the open file dialog, then I forgot the next step but it would open up the file explorer, which turned into Internet Explorer if you entered a URL in the address bar.
Of course, we also had copies of Linux that booted off of CDs, but they were a bit too obvious.
I think there was something like this that allowed you to bypass the password on Win95 - you click help, then something, then it opens the file explorer
> He never got mad at us for figuring out how to get Halo CE or Starcraft or other games running over the network
I had found out that Quake 2 could be run without admin privileges, so I installed it on a bunch of computers throughout my school. Lots of people got into it, but I ended up getting in huge trouble including suspension and parents being called because I "ruined the Internet." The IT person insisted that networked games take up all of the bandwidth and that i had "hacked the computers" to gain admin permissions to install.
As an aside, I seem to have a story for lots of comments in this thread!
This is reminiscent of a story in the New Yorker about Reddit - there is a part of the story that describes r/Place:
Last April Fools’, instead of a parody announcement, Reddit unveiled a genuine social experiment. It was called r/Place, and it was a blank square, a thousand pixels by a thousand pixels. In the beginning, all million pixels were white. Once the experiment started, anyone could change a single pixel, anywhere on the grid, to one of sixteen colors. The only restriction was speed: the algorithm allowed each redditor to alter just one pixel every five minutes. “That way, no one person can take over—it’s too slow,” Josh Wardle, the Reddit product manager in charge of Place, explained. “In order to do anything at scale, they’re gonna have to coöperate.”
I was one of those hating on the bots. Thank you for this post, I needed it. I too got in trouble at school for programming things I shouldn’t have. But I’ll forever be grateful to the math teacher who said I was allowed to use programs on my TI-83+ calculator as long as I was the one who had written them and I didn’t share them with anyone else.
Once back in the day, when I used to admin a vBulletin forum, we installed an arcade system. It was a fun way to play games, and earn pointless currency ("XMB Bucks") to lord over each other like it mattered.
But a few months after that, I realized that the arcade had a hidden sub-forum feature, that was being very actively used by a bunch of people. They managed to bypass the registration screen on vBulletin, and somehow register directly for this hidden arcade feature. They'd been chattin' it up, like a colony of rats living under our floorboards.
this is my favorite story from running the site, and possibly the best story I've ever been a part of. I'm not a big crier but I have cried so many times thinking and trying to write about it over the past 2 months. And of course, the process of discovery (and going from panic to excitement) was pretty crazy too.
One of my favorite things about this is that it validated one of the core beliefs I have when making these things - that you need constraints for the small group of people that are jerks, but that for the most part those constraints are fodder for the largely-good and very creative folks that play around on the internet.
Happy to answer any questions folks have!
This article is perhaps one of the finest examples of this and I applaud you massively for writing the site, looking at how people used it and then taking the time to share the experience.
It's made me really happy reading it and I'll be sharing it lots. A wonderful experiment, well played and much respect. :)
That means that if you really want to "surf" the web these days you have to dig deep and avoid getting sucked into a social media platform. And when you do dig deep there's not that much out there, because the people who would be maintaining their own web page now just have a facebook page for their business and a twitter account for their personal posts.
I am def burned out, and need to come up with something frivolous. I am reminded of Richard Feynman´s story of spending 10 years depressed after the war, and him finding joy of the physics in a spinning disk one day at lunch, so he could disregard what he had done before.
Best of luck to you.
Thanks for the writeup!
Also, you're absolutely right about largely good and creative people.
I built a OMCB clone because the concept possessed me; i threw it online, a day later, okay a couple of dicks, whatever. Holy shit someone put a huge Hokusai's The Great Wave in there! (My version uses a fixed width/height, a big scrollable canvas, so that was easy to spot)
Seeing that felt so good, so joyful :)
I guess next time you pick a prime (or a semiprime) if you want to make it harder (or easier) for people to guess a good shape!
As for your question, the answer is yes. Bear in mind that the question you're asking is essentially the same as "if you resize your browser window so you can see a specific number of checkboxes per row, are there any drawings you can see?". And people definitely did draw stuff in widths other than 1000! It was just at a vastly smaller scale and done manually.
That said, I do want to try analyzing any available data to see what I can find, for sure.
Thank you for both the site and the articles.
It's always nice to hear that internet is still fun for ppl
I'm spending too much time here.
Deleted Comment
It was fun, it was challenging, it was rewarding, it was amazing.
Now that I’m working, with the endless stream of new technologies, the debates of X considered harmful, J is better than K, and a barrage of never ending new things. It started to numb my mind.
Somehow, those joyful feeling of engineering no longer feels like the blue sky. I think its still blue, but for an eye washed in silvers, everything looks gray.
Reading this story somehow light up that childhood feeling of me learning software engineering. It can still be fun. I can still write things for the sake of me and not for the sake of exit nor a new shiny SaaS.
Thank your for writing this. It gave me a ray of hope that it can still be fun.
Beautifully said. I'm glad to hear that you feel hope for rekindling this feeling. It sounds like you've already figured this out, but I want to highlight that this a symptom of burnout, and that people who resonate with this should take it seriously.
I remember once I was helping someone at work who was learning Python. They were having trouble understanding how binary file types worked. When it clicked for them, they were so delighted.
I realized I hadn't felt that way in years. It wasn't long after that I realized I was too burned out to stay in my position, and needed to take some time to work on my mental health.
It's similar to blogs. I ran blog since 26 years ago. Before Facebook, posting and sharing on the net felt special. After Facebook, everyone was posting so blogging was no longer special.
I get that doing it for the fun of the doing itself is a thing. Cooking might be the perfect example. Yet I have a similar problem there. More often than not I learn that a recipe is too much work and it's just better for me to enjoy and appreciate that someone else is willing to make it professionally, and better. One motivation is dishes I can't find at local restaurants. But I still often come to the same conclusion. That it's too much work and I should just wait and really enjoy the dish the next time I'm in a place where it's possible to get it.
If you don't mind sharing, what did you do to improve your mental health?
Deleted Comment
I think it's just natural cynicsm when you see what the industry does. Making you cross moral boundaries to keep a job, the realization that the best workers may not be guaranteed job security, that there so much cool tech but you may mostly be stuck with CRUD work for business, etc.
I'll still keep at it as I still have much to learn. But reality can be more disappointing than the dream.
One key point was to ignore learning new tech if it was not absolutely necessary and focus just creating new things. I think it all started from Sebastian Lague's video which reminded how beautiful coding can be.
[https://youtu.be/X-iSQQgOd1A?si=aqriiWmcqqphOiuI]
[1] https://news.ycombinator.com/item?id=41306128
This is a lovely phrase. Is it an idiom or your own creation?
Not really relevant. But the quote reminded me of the show.
I've found a personal set of tech that is bearable and static and am building up the swiss army tool kit that is either easy to use, or at least I am familiar with and can steer. It's just for me, no link available. My personal garden of programming. The downside is I can't interact with the "industry" that much, which I considered harmful anyway.
Want to create a database connection? Write "database.connect(host, username, password"). Want to inject a dependency? Just set it in a struct in your main method. Want to create a production build? "go build *.go". Put it in a makefile if you want.
Versus the modern approach, writing YAML to instruct your cloud service to set up a database, docker images that get env vars from somewhere magic, XML or magic auto-injection or however backend works nowadays, typechecking and transpiling, etc.
I love it.
The secret is that I no longer work for people that destroy my work, treat me badly, or force me to do it in a way that destroys creativity, Quality, and velocity.
Being “frozen out” of the tech industry was painful, but it resulted in the first truly happy work I’ve ever done. I’m doing what I dreamed of doing, back then. Out of necessity, I have a much-reduced scope, but I still get a lot done.
However, all those decades of shipping software, on someone else’s dime, made it possible for me to do things the way that I do it now. It gave me the ability to pay the bills, and the Discipline and habit, to write (and ship) good software.
I would have done everything in Perl for maximum creativeness but didn't have the time to bring myself up to date with the current version.
I think we need to give junior engineers permission to not care about "whats becoming an industry standard" and "HN front page frameworks/vendors/tooling/etc". It's okay to stop caring about whether or not what you ship is perfectly engineered; the state of the art isn't close to perfect either when you get into the guts of it.
For ongoing skill development, spend more time reading books, manuals, and research papers. Spend less time following software thought leaders on YouTube and X, less time chasing the shiny new thing on the HN frontpage.
Just build. Roll up your sleeves. Find the flow. And just build.
(Note: this is really bad advice if your goal is to learn how to LARP as a senior engineer, land a comfy job at FAANG, go on the conference circuit, and build an audience on social)
Deleted Comment
A m a z i n g !!!!
So we _can_ have good things! And (most) people _are_ nice and cool and fun!
>It was fun, it was challenging, it was rewarding, it was amazing.
This cannot be overstated
Dead Comment
> The adults in my life were largely not mad at me. They asked me to knock it off, but also made me a t-shirt. I don’t think I’d be doing what I do now without the encouragement that I received then.
Teena need a place to be moderately mischievous, with semi-real social outcomes, but also some boundaries and help to not take it too far.
And adults who aren’t authorities over them except insofar that they have cool talents the kids want to learn.
I created a 2-page slideshow presentation. Both of them had the same black background with grey text that appeared to be a DOS session indicating that Windows was deleted, except one had an underscore at the prompt. By telling the program to automatically advance the slides every second, and to loop the presentation, it gave the impression of a blinking cursor. It looked like a broken computer, but simply pressing Escape would get out of it.
Of course, it's worth mentioning that these were Macs, so they didn't even have DOS or Windows.
Anyways, a teacher saw it and thought I had hacked/broken the computer and sent me to the principal that didn't think it was funny and punished me by making me spend the second half of my lunch period with the school IT guy for the next 2 weeks so I could shadow him and see how much vandalism he has to deal with.
When I saw him the first time, he was like "Wait, what did you do?" and I recreated it. He thought it was funny as hell and thought it was ridiculous for them to act like I broke a computer.
We had a lot of fun hanging out. Even after my punishment was over, I still frequently went to his office to chat or walk around and fix computers.
I did some similar harmless "hacking" in my high school that accidentally ended up crashing a major switch causing the whole schools network to die for the day. I told my programming class teacher right away, but unfortunately in my case the superintendent decided to press charges.
In the end all it taught me was to never never trust anyone, not exactly the best lesson for an already introverted teen to internalize...
When I tried using it, he lost his fucking shit and went berserk.
At least it taught me how to be a better parent
Remember kids. It will be your turn to free a young soul one day, and you should give same as you once received.
And having already a turn or two myself, I can report it feels great!
The next year I mentioned to the teacher that I had something I wanted to play with, can I please get access to a PC (the lab computers were Acorns), and so he gave me after school access to the accounting classroom, more storage on the network drive (50MB when everyone else had 5!), and basically free reign if I didn't break things. So I didn't, and was running Tierra on piles of machines overnight, just to see it doing cool things, and getting in in the morning to save everything and reboot them. It certainly set me up well for the future.
And didn't break things, because I didn't want to kill the golden goose!
The PCs in the lab were very slow, and a known prank (taught to everybody at some point by virtue of being a victim) was to hold Win+E, spawning hundreds of Explorer windows and bringing the PC to its knees. Sometimes you could wait it out, but a stealthy pranker could hold it so long a restart was required.
Well, I created a little VB6 programme named "DoraTheExplorer.exe" which would do exactly that when you clicked on it. I put that on the schools shared drive (where you could sometimes find portable executables of the original Halo game until the admin found and deleted it).
My prank was successful for a short while until, however, it became quickly evaded by folks just hitting Alt+F4 quickly and exiting the Dora Programme.
I then discovered you could get the programme to launch another instance of itself on exit, but this was also countered by spamming Alt+F4 rapidly.
Finally, I hit my magnum opus. A hydra. Everytime you'd close dora.exe, it'd open two more. It was an ICBM in the Explorer prank wars and defeat was declared.
The admin knew about this the whole time, and they were generally chill. They made it clear that if anyone lost work or if it caused harm, then I'd be held responsible. But that never happened because everyone knew what dora.exe did, I was too proud not to tell folks :P People only clicked on dora.exe for the dumb pleasure of crashing their PCs and trying to see if they could evade it.
Very grateful for that class and the generally chill environment I was in.
At the time I thought I was pretty ridiculous and unfair (lucky my mum agreed), but now looking back with adult eyes I also see it as an almost criminal level of disregard for the job of raising children. Just absolutely irredeemably small-minded, truly pathetic, it makes me so angry to think that there are still young people growing up in that environment and being taught by those people.
The adults in that situation didn't understand the full (or rather, how small) scope of what happened, so for them it looks wildly different than to you or me. To them, computers are black boxes that are not to fuck with, and the ones who do, are only out after destruction and ruining things. That's why they react like they do.
Not to excuse the behavior, they should of course have talked with people who understand what happened before trying to address it, but lack of resources, knowledgeable people and understanding often leads to being able to.
Similarly, I at one point (before I'd consider myself a programmer) worked as a customer support agent contracted out to a popular fruit technology company, saw efficiencies in how things were done manually and hacked together a browser extension. At first just me and my colleague next to me was using it. Eventually, it spread and eventually management found out.
Instead of trying to elevate the processes and seeing that things could be better, they decided to eventually get rid of me, too risky they said.
It was an early lesson in the fact that there are a lot of people doing IT in schools who, frankly, suck at their job. Most of the good IT people are getting paid way more elsewhere. The crappy ones are working in an environment where easily 1 in 50 of the students know more than they do and some of them feel threatened and lash out when someone is outing them for being lousy at their job, intentionally or otherwise. Like you did (disk quotas much?). Like they suspected me of.
Fixing the structural problem would require paying IT people in schools a rate that more closely matches what they'd make in industry. Fixing the social problem would require hiring people who understand what you and the author figured out: that nurturing people and directing their impulses productively yields better long-term outcomes for everyone.
This reminded me of how a ski resort, Palisades Tahoe, implemented free but scarce parking reservations for weekend parking last winter. Since it's one of the most popular ski destinations from the Bay Area, you can imagine that bots were written. Every time new spots would "drop" (become available for the following weekend) I think on Tuesdays and Fridays or something like that, they'd be gone in seconds. Clearly bots! So naturally I had no choice but to write one. It just alerted me (via Pushover) when cancelations would lead to open slots, it didn't actually reserve spots on its own, but that was good enough to get the job done for me and my crew.
Several Reddit threads had non-bot-writers discussing that bots must be slurping everything up. I felt so antisocial, but really had no choice.
Otherwise you have an "auction" where instead of giving the resource to the people willing to pay the most, you give it to the people with the best programming skills (who then turn around and flip it to the people willing to pay the most). Which is pretty unfair, since programming is a specialty, and since presumably we're in a context where giving it to the people who pay the most isn't considered acceptable (or we would just hold an auction).
I believe this is used in parts of the sneaker/fashion industry.
How would a lottery work for this situation? Everyone thinking of maybe skiing signs up on Monday, then on Tuesday an email is sent to N people saying "you won the parking lottery," then someone canceling last-minute (to avoid the no-show penalty) causes another "you won" email to go out randomly to the wait list? What if the person on the wait list doesn't see that they've won at the last minute, do they get a penalty for not having proactively removed themselves from the wait list upon deciding to ignore email the rest of the week? I guess this could work, but it's pretty dicey...
Couldn't someone use a bot to register interest a million times so they have a much higher chance of winning the lot drawing?
Amusingly there are news articles every year about whether or not people are using bots to book these huts and the operators always deny it vehemently. Whereas I know my bot is up against loads of other bots.
Amusingly, one camper family we came across said they manually register at the stroke of midnight, but they all do it together from like 6 computers in their house.
I assume they deny knowing about bots. Nobody knows you're a dog, as the saying goes.
It's an open secret that you can either battle the bots to try to get an appointment slot in 6 to 12 weeks, or you can pay 50€ to the right person and have one in a few days.
Once I got the reservation I had to tow the boat 9 hours, praying the whole time I didn't have a drop of water on the boat, for which most inspectors will immediately fail you and send you away. The inspection crew there turned out to be pretty awesome though, and they actually washed my whole boat down with hot water which apparently kills any (baby? egg? idk) Quagga muscles.
There's a special kind of magic that comes from meaningfully improving your life from software :)
(the project is https://dmvfilter.com if you want to check it out!)
We had an IT guy at our school who would always ask us what we were up to which we would answer honestly. He never got mad at us for figuring out how to get Halo CE or Starcraft or other games running over the network, but he did tell us to knock it off when we got too bold.
We had a network file share so no floppy necessary. Very easy to hack everyone's computers.
I wrote a script that would read the title of all your open windows and close free games.com or whatever the popular game site was at the time. Shouldn't be playing games in class right? I felt bad when it closed some 3d modelling program because of the save file name he chose. Oops.
Nowadays i have two teenagers myself. Whenever some/we suspect they are "up to no good" i will try and remember my own teenage years. Then i tell them something like that i think that was awesome and i'm proud, but don't get caught again. :)
We found a workaround; if you opened up notepad, went to the open file dialog, then I forgot the next step but it would open up the file explorer, which turned into Internet Explorer if you entered a URL in the address bar.
Of course, we also had copies of Linux that booted off of CDs, but they were a bit too obvious.
I had found out that Quake 2 could be run without admin privileges, so I installed it on a bunch of computers throughout my school. Lots of people got into it, but I ended up getting in huge trouble including suspension and parents being called because I "ruined the Internet." The IT person insisted that networked games take up all of the bandwidth and that i had "hacked the computers" to gain admin permissions to install.
As an aside, I seem to have a story for lots of comments in this thread!
Last April Fools’, instead of a parody announcement, Reddit unveiled a genuine social experiment. It was called r/Place, and it was a blank square, a thousand pixels by a thousand pixels. In the beginning, all million pixels were white. Once the experiment started, anyone could change a single pixel, anywhere on the grid, to one of sixteen colors. The only restriction was speed: the algorithm allowed each redditor to alter just one pixel every five minutes. “That way, no one person can take over—it’s too slow,” Josh Wardle, the Reddit product manager in charge of Place, explained. “In order to do anything at scale, they’re gonna have to coöperate.”
https://www.newyorker.com/magazine/2018/03/19/reddit-and-the...
Except reddit admins / mods abused Place, bypassing the timeouts, to place as many pixels as they wanted.
But a few months after that, I realized that the arcade had a hidden sub-forum feature, that was being very actively used by a bunch of people. They managed to bypass the registration screen on vBulletin, and somehow register directly for this hidden arcade feature. They'd been chattin' it up, like a colony of rats living under our floorboards.