[HN Gopher] The secret inside One Million Checkboxes
       ___________________________________________________________________
        
       The secret inside One Million Checkboxes
        
       Author : todsacerdoti
       Score  : 2125 points
       Date   : 2024-08-29 21:20 UTC (1 days ago)
        
 (HTM) web link (eieio.games)
 (TXT) w3m dump (eieio.games)
        
       | asolove wrote:
       | This part is so important:
       | 
       | > 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.
        
         | metadat wrote:
         | This is very sweet, and I'm sure I'd have responded infinitely
         | better to this than what I received growing up..
        
         | bjackman wrote:
         | 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.
        
           | diggan wrote:
           | 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.
        
           | mauvehaus wrote:
           | 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.
        
           | seattle_spring wrote:
           | 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.
        
             | jszymborski wrote:
             | The first time I heard a Chuck Norris joke was via "net
             | send" in a high school computer lab.
        
         | eythian wrote:
         | 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!
        
         | Sohcahtoa82 wrote:
         | 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.
        
           | seattle_spring wrote:
           | 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.
           | 
           | At least it taught me how to be a better parent
        
           | Klathmon wrote:
           | 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...
        
             | johnnyanmac wrote:
             | Yeah, pretty sure I would have simply been suspended for
             | pulling off the GP's prank. Maybe even expelled, but then
             | parents would talk it down. Your event would definitely
             | have me gone. Sorry your experience was like that.
        
         | jszymborski wrote:
         | 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.
        
       | nhggfu wrote:
       | what a wild ride.
        
       | mportela wrote:
       | This is what I pay internet for
        
       | eieio wrote:
       | author here :)
       | 
       | 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!
        
         | JadoJodo wrote:
         | Hi! I missed the site but I have enjoyed reading about it
         | after. As much as I enjoyed the last article, I enjoyed this
         | one even more.
         | 
         | Thank you for both the site and the articles.
        
         | switchbak wrote:
         | This sounds like a perfect recipe for an episode of the
         | Corecursive Podcast!
        
         | Yenrabbit wrote:
         | 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.
        
         | isoprophlex wrote:
         | 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)
         | 
         | Seeing that felt so good, so joyful :)
        
         | cabbageicefruit wrote:
         | Perhaps you have said this elsewhere, but why shut the site
         | down?
        
           | eieio wrote:
           | A few reasons!                 * 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.
        
             | switz wrote:
             | I enthusiastically agree - and really all that matters is
             | that you feel good about it. As a software engineer who's
             | built (and shut down) many projects, I have always been
             | envious of art forms in which the artist gets to create a
             | piece of work and then "finish" it. We are often at the
             | mercy of perpetual maintenance.
             | 
             | Well done and nice execution.
        
               | 8n4vidtmkvmk wrote:
               | I don't think I've ever officially shut anything down.
               | Endings are too sad for me.
        
               | Fuzzwah wrote:
               | Just because you've never officially shut anything down,
               | things have still ended. May as well throw a party.
        
             | michaelwilson wrote:
             | "More than anything, I think it's good for things to end"
             | 
             | You know who else said this (in spirit)? Bill Watterson,
             | author of Calvin and Hobbes.
             | 
             | There are few other people I'd be proud to be in the
             | company of :-).
        
             | travisgriggs wrote:
             | My parents put it as "it's best to quit while you're having
             | fun". Took me years to appreciate it. I've passed it on to
             | my kids. They're finally starting to get it.
        
               | Cthulhu_ wrote:
               | I wish they did that with The Simpsons lol
        
         | thatswrong0 wrote:
         | I loved this. It's really.. endearing and adorable? And it's
         | what I wish the internet was used for more.
         | 
         | Thanks for the writeup!
        
         | janniehater wrote:
         | Excellent writeup! I'm curious, why did this scenario make you
         | cry?
        
           | LoganDark wrote:
           | I'd guess tears of joy!
        
         | vrosas wrote:
         | Would you be willing to open source the backend code for this?
         | Would love to take a look!
        
           | isoprophlex wrote:
           | This is not what you're looking for, but I built something
           | quite like OMCB to satisfy my curiosity:
           | https://github.com/jarombouts/yougottaclick
        
         | cryptoegorophy wrote:
         | 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.
        
         | dtaht wrote:
         | 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.
        
           | ArnoVW wrote:
           | Speaking from experience: hang in there. It may seem
           | irrecuperable. It may take a long time, but you will recover.
           | 
           | Best of luck to you.
        
         | cnr wrote:
         | Great and very emotional (at least for me) story. Thanks for
         | sharing.
         | 
         | It's always nice to hear that internet is still fun for ppl
        
         | ainiriand wrote:
         | 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.
        
         | circadian wrote:
         | 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. :)
        
           | the8thbit wrote:
           | 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.
        
           | klik99 wrote:
           | 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
        
         | spieswl wrote:
         | Your story brought a huge smile to my face. Thank you for
         | sharing, those kids are alright.
        
       | insane_dreamer wrote:
       | I never heard of OMCB before, but it's the kind of site that I
       | would love for my teenage kids to find and play with the way
       | those teens in the discord channel did--providing opportunity for
       | creativity and engineering.
        
       | larodi wrote:
       | If this really happened, on both sides - author, and haxor, well,
       | ... there is still hope for this world. Amen.
        
         | Sophira wrote:
         | As one of the people who found the original Discord server back
         | when the site was live, I can attest that this is absolutely
         | true.
        
           | memorabilia wrote:
           | You were one of the elites!<3
           | 
           | How did you find the link? Please share... Really interested
           | to find out.
        
             | Sophira wrote:
             | In my case, I kind of worked backwards from the way eieio
             | found it. I was at the very bottom of the million
             | checkboxes when I noticed there was a repeating pattern.
             | And if you zoomed out enough, and sized your window large
             | enough, it looked like this:
             | https://matrix.theblob.org/omcb-repeating-pattern.png
             | 
             | It was obviously a bot, but it definitely wasn't random. It
             | was a pattern that repeated every 208 checkboxes. At first
             | I thought it was a barcode, but it wouldn't scan even when
             | I turned it into a form that should scan. Then, I figured
             | it could potentially be a binary code, so I tried treating
             | the repeating pattern as binary, with the checked boxes as
             | 1s and the unchecked boxes as 0s. That got me the URL that
             | eieio talks about in the original article.
             | 
             | Once I was there, I discovered from the other members that
             | I had taken a more arduous route than I needed to; it turns
             | out that the site's API was such that it sent its initial
             | state as a base64-encoded version of the full binary state
             | of the board. Decoding the base64 and looking at the end of
             | the data would also have gotten you the same URL, and as
             | such many of the people in the server were bot developers
             | who had done exactly that because they wanted to reverse-
             | engineer it.
        
       | data-ottawa wrote:
       | 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.
        
         | 8n4vidtmkvmk wrote:
         | 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.
        
           | pxx wrote:
           | 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
        
           | b3lvedere wrote:
           | 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. :)
        
           | Cthulhu_ wrote:
           | We had multiple copies of Unreal Tournament on burned CDs and
           | hidden on network drives like that too, good times.
        
         | Cthulhu_ wrote:
         | 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.
        
           | yard2010 wrote:
           | 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
        
         | seattle_spring wrote:
         | > 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!
        
       | Scoundreller wrote:
       | > To do this I said - a checkbox has two valid states. It's
       | checked or it's unchecked
       | 
       | Ah, i see someone has been burned by true, false and null before!
        
         | aidenn0 wrote:
         | https://thedailywtf.com/articles/numb-to-truth
        
           | trescenzi wrote:
           | https://developer.mozilla.org/en-
           | US/docs/Web/CSS/:indetermin...
        
             | 8n4vidtmkvmk wrote:
             | That's actually useful, but annoying it doesn't have a
             | corresponding HTML attribute. And also.. it can be both
             | checked and indeterminate, which is fun.
        
       | jeanlucas wrote:
       | That was so fun to read! It's nice to see internet's creativity
       | at best. Plus: one more data point proving that creativity
       | flourishes when resources are limited
        
       | rafram wrote:
       | This is an awesome post and sounds like it was an awesome
       | experience.
       | 
       | I'd be interested to see an alternate-history version of this, in
       | a universe where it was built with a serverless architecture. My
       | hunch is that a lot of the late-night hacking sessions wouldn't
       | have been necessary, but when it went down (due to resource caps)
       | it would've been _down_ down, not just slow.
        
         | fragmede wrote:
         | You'd have a serverless Lamda hit Elasticache/Redis and then
         | still run into scaling issues because the code you wrote wasn't
         | optimized. Given enough Lamdas and no connection pooling,
         | you'll still exhaust Elasticache and have to do something about
         | it. You'll run into the question about how the bandwidth bill
         | is going to look like in the morning and want to figure out a
         | way to not bankrupt yourself before going to sleep. Worse, AWS
         | is known to gouge for bandwidth, and Lamda doesn't give you the
         | same absolute rate limit control as the author's setup did.
         | 
         | If you're just gonna give up if/when you hit eg Redis rate
         | limits, that doesn't inspire confidence in serverless.
        
       | jackmalpo wrote:
       | we are so back
        
       | airstrike wrote:
       | This is peak internet. Thanks so much for sharing. What a lovely
       | read.
        
       | move-on-by wrote:
       | 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.
        
       | bravoetch wrote:
       | This would make a great talk at Defcon. Wholesome hacking at it's
       | best.
        
       | discr3t3 wrote:
       | I was an intern with you when you were at Deepfield ! This is
       | super cool to see!
        
         | eieio wrote:
         | Ah hello! Glad you enjoyed it, and hope post-Deepfield life (if
         | you're not there anymore) is treating you well :)
        
       | renewiltord wrote:
       | Hahaha, you legends. Brilliant stuff from the kids. Love it.
        
       | adityapurwa wrote:
       | 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.
        
         | maxbond wrote:
         | > 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.
        
           | adityapurwa wrote:
           | Thank you. Now that you mentioned it. Maybe it was a burnout.
           | 
           | If you don't mind sharing, what did you do to improve your
           | mental health?
        
             | maxbond wrote:
             | Let me disclaim that this is a work in progress and that I
             | am not a doctor.
             | 
             | Part of it was that I had a breakdown. That was unpleasant.
             | But ultimately it was part of the process. (Not to say this
             | is necessarily true of everyone!) This forced me to quit my
             | job. I have a one track mind, so I couldn't really do the
             | work on myself I needed while I was working. I hope this
             | isn't necessary for you or anyone else though.
             | 
             | When I was breaking down, I lashed out at the people in my
             | life. I made things very hard for them. But they forgave me
             | and supported me. Sometimes I have a mad instinct to smash
             | everything and start over. But they didn't let me push them
             | away.
             | 
             | Reading the Zhuangzi helped me to conceptualize why I
             | allowed myself to be burned out and didn't do anything
             | about it until I was a wreck. In particular, there's a
             | refrain about people who are useful being ground down by
             | being put to use. I realized that I invested my identity in
             | being useful to others, and my team especially, because I
             | didn't respect myself enough to be useless. I didn't value
             | myself outside of being valuable to others. That attitude
             | will inevitably burn you out.
             | 
             | Studying Zen and Taoism and meditating has helped a lot.
             | Partly it's just a very different perspective from what I'm
             | normally exposed to, so it broadens my horizons and helps
             | me take things less seriously. The Zen notion of
             | "practicing" with a problem is a perspective I find really
             | valuable.
             | 
             | I started therapy and I started taking an antidepressant.
             | This was a mixed bag, my therapist ended up moving away and
             | I think I need to change my medication, but I think it was
             | an important step. Something I struggled with was that I
             | didn't understand the mechanism of action behind therapy
             | and I didn't really see any benefit in any particular
             | session. But I've also had to accept that I just don't
             | understand what I need in my life, I think I do but I'm
             | constantly proven wrong, so not being able to see why
             | something is helping doesn't actually mean it isn't.
             | 
             | Similarly, my medication doesn't seem to do anything. But
             | there have been a few times I've had a really hard day, and
             | then when I'm taking my meds in the evening, I realize I
             | had forgotten yesterday. I also think the lows haven't been
             | as low.
             | 
             | About a year and a half after my breakdown, I had a
             | profound spiritual experience I'm not entirely comfortable
             | discussing, you might call it a breakthrough. None of these
             | things caused it. But I think they were all preconditions.
             | I'm not "fixed," and in the intervening time I've had
             | depressive episodes and panic attacks on occasion. But I
             | was "fixed" for ten glorious days, and it proved to me
             | that, regardless of whether such a thing can be permanent,
             | it is possible.
        
               | adityapurwa wrote:
               | Thank you for taking your time to write this, it gives me
               | a valuable insight. Wishing all the best for you, me, and
               | others out there who're struggling.
        
               | maxbond wrote:
               | <3
        
               | pythux wrote:
               | I just wanted to thank you for sharing your experience in
               | such details. Wishing you all the best on your path to
               | recovery and beyond.
        
               | hakanderyal wrote:
               | Thanks for posting this. It's helpful to read about how
               | others deal with burnout.
               | 
               | Your post reminded me this quote is from a book written
               | in Turkish by a psychologist that had a profound impact
               | on me related to this topic:
               | 
               | "Every rise and ascent to a higher level represents the
               | death of our lower personality at the level we leave
               | behind. Then, we can gently return to that level and
               | whisper to the ear of the actor playing that role with
               | love, understanding, and affection, 'Yes, you are me, but
               | I am not just you!' This way, we can end the dominion of
               | that role in our lives. We both free it from an existence
               | it actually hates and offer ourselves an opportunity for
               | growth! The biggest obstacle in abandoning the role, that
               | is, the lower personality, is not knowing the existence
               | of a higher level - the fear that if the role goes away,
               | we will fall into a void."
        
           | nox101 wrote:
           | 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.
        
             | jefurii wrote:
             | I've been burned by that "why should I do it if it's
             | already been done" feeling. I'm still grappling that but
             | the thing that helps me is a quote from Brian Eno where he
             | basically says "f--- originality". Don't try to be
             | original, just do the thing and it will be unique because
             | it's you who did it.
        
           | johnnyanmac wrote:
           | 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.
        
         | briansan24 wrote:
         | Writing code for the joy of it, those were the days
        
           | sneak wrote:
           | I'm in my 40s and I still do this all of the time. Computers
           | can still be your hobby and not just your job.
        
           | ChrisMarshallNY wrote:
           | 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.
        
             | johnisgood wrote:
             | Yeah, the side of programming I love is when I write code
             | for free, or contribute to open source projects.
             | 
             | > 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.
             | 
             | You are right.
        
           | mezzie2 wrote:
           | 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.
        
         | Risord wrote:
         | 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.
         | 
         | [https://youtu.be/X-iSQQgOd1A?si=aqriiWmcqqphOiuI]
        
           | montag wrote:
           | He is a Savant.
        
         | loneranger_11x wrote:
         | Hear hear!
         | 
         | >It was fun, it was challenging, it was rewarding, it was
         | amazing.
         | 
         | This cannot be overstated
        
         | M4v3R wrote:
         | 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.
         | 
         | [1] https://news.ycombinator.com/item?id=41306128
        
           | futureduck wrote:
           | Thank you for this.
        
         | agys wrote:
         | "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.
        
           | Cthulhu_ wrote:
           | 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.
        
         | c-oreills wrote:
         | > think its still blue, but for an eye washed in silvers,
         | everything looks gray.
         | 
         | This is a lovely phrase. Is it an idiom or your own creation?
        
           | adityapurwa wrote:
           | 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.
        
             | c-oreills wrote:
             | Ah, nice. I initially interpreted silver as age (grey hair)
             | but that made me intrigued: age can make you jaded but can
             | also give perspective to appreciate the good.
             | 
             | It works on different levels, I guess. =)
        
             | zelphirkalt wrote:
             | I interpreted it to mean "many shiny new tools" so that any
             | project just feels like "nothing special" any longer,
             | queueing up with all the other shiny tools.
        
         | Cthulhu_ wrote:
         | 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.
        
         | egeozcan wrote:
         | Every time I want to have that good old feeling, I create three
         | files in a new directory on my home server: index.php,
         | index.css, index.js :)
         | 
         | 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.
        
         | toppy wrote:
         | You comment deserves at least two upvotes.
        
         | HenryBemis wrote:
         | (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!
        
         | wruza wrote:
         | 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.
        
         | wongraf wrote:
         | What a beautiful sentence "for an eye washed in silvers,
         | everything looks gray"..
        
         | atum47 wrote:
         | 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)
        
         | r3trohack3r wrote:
         | 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)
        
       | r_hanz wrote:
       | Enjoyed the site personally when it was up, enjoyed this post
       | even more. tyvm
        
       | archeantus wrote:
       | I love this story but I wish I understood it better. How did
       | people find their way to the URL if they didn't have DB access?
       | Did they inspect the traffic with a proxy and see the db file
       | going back and forth? I'm just trying to understand what one of
       | these teens had to do to find their way onto that channel where
       | they were hanging out. What steps did they have to figure out on
       | their own?
        
         | zulban wrote:
         | When you loaded the page you got the state of each of the one
         | million checkboxes. That's the data. People just wrote computer
         | code to read that. You can also check a box to write, manually
         | or with computer code. So you can read and write. Usually you
         | talk to a database with a language like sql but in this case,
         | checkboxes work too ;)
         | 
         | Once you have the data, folks just tried looking at it in
         | different ways to see what was there.
        
           | hunter2_ wrote:
           | I guess the question might be more along the lines of... Does
           | JavaScript watch each checkbox and POST to some URL when the
           | local user toggles one? Does it poll some URL to learn about
           | changes from the server? Maybe web sockets?
        
             | MarkSweep wrote:
             | The author has another post that describes how the website
             | worked, including how it changed over the course of its
             | existence. But briefly, yes, web sockets are used to stream
             | updates from the server.
             | 
             | http://eieio.games/essays/scaling-one-million-checkboxes/
        
       | apsurd wrote:
       | The video is very good. You seem like a natural. I watched it
       | all. Thanks for the story ^_^
        
       | pajeets wrote:
       | this reminds me of the one million pixels website
        
       | dheera wrote:
       | See also:
       | https://en.wikipedia.org/wiki/The_Million_Dollar_Homepage
        
         | romanhn wrote:
         | I'd say the mechanics are more similar to
         | https://en.m.wikipedia.org/wiki/R/place
        
       | sweca wrote:
       | This is a really heartwarming story
        
       | hunter2_ wrote:
       | > 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.
        
         | abraae wrote:
         | 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.
        
           | MattJ100 wrote:
           | Out of curiosity, what tech do you reach for when building
           | something like this?
        
             | abraae wrote:
             | Selenium
        
             | hunter2_ wrote:
             | For mine, I just used a $1/mo VPS with a cron job running a
             | bash script that used curl to poll the parking system and
             | determine if its response was interesting. I used "copy as
             | cURL" from browser dev tools to find something usable
             | (which incorporated a slightly fragile, but very long
             | lived, session token corresponding to my "cart") and I
             | actually had to use curl-impersonate [0] for Cloudflare bot
             | detection to stay out of my way. And then curl to alert me
             | via Pushover.
             | 
             | [0] https://github.com/lwthiker/curl-impersonate
        
           | foobarian wrote:
           | 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.
        
           | hunter2_ wrote:
           | > the operators always deny it
           | 
           | I assume they deny _knowing_ about bots. Nobody knows you 're
           | a dog, as the saying goes.
        
         | maxbond wrote:
         | 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.
        
           | hunter2_ wrote:
           | 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...
        
             | maxbond wrote:
             | It works the same, the price is just $0. I'm sure I'm
             | missing nuances since I don't know this resort's business,
             | but here's what I'd propose.
             | 
             | You let people register interest by Monday (potentially
             | weeks in advance). You draw N lots on Tuesday. People get
             | an email, they have the option to reserve a space and 24
             | hours to exercise it. M people do so. On Wednesday you draw
             | N - M lots. You keep going until either you've assigned all
             | the spaces or you've run out of time.
             | 
             | People will still exercise a greedy strategy, and they
             | might cancel their interest ahead of time, but if the
             | lottery hasn't started that's a free operation. If they
             | click the link and indicate they aren't interested any
             | longer, we can offer the spot to someone else immediately.
             | If they never click the link, then it gets bumped to
             | Wednesday. Hopefully that's tolerable.
             | 
             | How far you may register in advance and how long you have
             | to exercise your option are variables that you can tune. If
             | you're getting overwhelmed and failing to assign spaces,
             | you reduce one or the other.
             | 
             | Last minute cancellations or spots that people repeatedly
             | failed to click the link for, need to be assigned ASAP to
             | avoid a dead weight loss; for these, you can fail back to
             | the old system. Maybe you email everyone who hadn't gotten
             | a space, and the first to click the link wins. If that were
             | the edge case instead of the norm, it probably wouldn't be
             | a big deal to give it to the bot folk. At that point,
             | they're playing an important role in making this market
             | efficient, the sort of HFTs of the ski resort.
             | 
             | Alternatively, you can do just one round and then go to
             | first-to-click. That gives the people who aren't botting
             | room to breathe, at least.
             | 
             | (After typing this all out though, I do see that this is
             | conceptually simple but complex to implement.)
        
             | kelnos wrote:
             | > _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?_
             | 
             | No, when you get the "you won a spot" email, you have to
             | click to confirm. Probably it should be set up to give you
             | 12-24 hours to do so, and if you don't, it draws a new
             | person and sends them an email.
             | 
             | I was surprised to read your initial post about it being
             | hard to get spots. I went four times this past season...
             | though I think maybe only once on a weekend (in January),
             | and it was easy to get a parking reservation. Maybe that
             | was early enough in the season that people hadn't written
             | many bots yet. Bummed that it's going to be a pain next
             | season.
        
               | hunter2_ wrote:
               | The deadline to cancel without penalty is 9am day-of. In
               | reality people will cancel at all different times, but
               | for this exercise of designing out enough of the stampede
               | conditions, let's say the first cancellation occurs at
               | 8:55am day-of. So now it sends the "you won" email --
               | maybe the recipient even knew they were at the top of the
               | waitlist so they can anticipate this. They've only got 5
               | minutes of cancellation window themselves! There is no
               | way of giving another 12-24 hours RSVP time.
               | 
               | Now here's where it gets interesting: this means a
               | rational no-bot human ought to ignore the whole system
               | until 9am day-of, at which point the greedy "just in
               | case" reservations have all been canceled, so all
               | reservations are real people, and the ridiculousness of
               | the system has led enough people to find alternative
               | transportation that plenty of spots are available for
               | easy taking, right? If no-show penalties are enforced
               | properly.
               | 
               | I was out there in early March and this consumed me for a
               | few weeks leading up to it, but it was fun.
        
           | concordDance wrote:
           | > After this window closes you draw lots.
           | 
           | Couldn't someone use a bot to register interest a million
           | times so they have a much higher chance of winning the lot
           | drawing?
        
             | kelnos wrote:
             | IIRC they require that you submit your license plate number
             | when you register for parking, so no, you could only
             | register once per vehicle.
        
               | maxbond wrote:
               | And you'll need to address this whichever approach you
               | take. If you can't pin them down to an identity, you'll
               | probably need to take a deposit.
        
               | RomanHauksson wrote:
               | I wonder if you could register using all the plate
               | numbers from a nearby car rental place, then try to rent
               | the corresponding car if it gets chosen.
        
               | hunter2_ wrote:
               | Rental cars actually add an interesting aspect to all of
               | this: if you use a disposable (not also used to buy your
               | ski pass) email address and the license plate of your
               | rental car for a reservation, the resort will have no way
               | to penalize you for being a no-show! Any attempt at
               | collecting a fine, prohibiting future business, etc.
               | would be against a useless email address and plate number
               | that you don't reuse the next time you visit.
               | 
               | Also, once you've managed to get a reservation, the
               | system allows you to modify the plate number on your
               | reservation, presumably to allow for renting after
               | reserving.
        
               | deepsun wrote:
               | Type many fake invalid license plates, and cancel them,
               | freeing a spot at a time of your choice.
        
               | hunter2_ wrote:
               | You don't need to cancel a reservation in order to
               | convert it from a bogus plate number to your actual plate
               | number. Changing your plate number is already permitted
               | by the reservation system.
        
           | 4hg4ufxhy wrote:
           | What stops you from sybil attacking the lottery and selling
           | to highest bidder?
        
             | ipsento606 wrote:
             | yeah it only works if you have some kind of ungameable
             | unique id for each participant
             | 
             | if it's parking, you could conceivably make people enter
             | their license plate number when they enter, which would
             | allow you to detect duplicate entries, and is reasonably
             | hard to game if you have some enforcement mechanism on the
             | actual parking side of things
        
         | eiiot wrote:
         | 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 :)
         | 
         | (the project is https://dmvfilter.com if you want to check it
         | out!)
        
         | jddj wrote:
         | 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
         | 50EUR to the right person and have one in a few days.
        
         | Cthulhu_ wrote:
         | 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).
        
         | seattle_spring wrote:
         | At least you were actually using the parking spots for yourself
         | and friends. Bots become truly problematic when they're used
         | for reselling.
        
         | appplication wrote:
         | 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!
        
         | onelesd wrote:
         | 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.
        
       | langcss wrote:
       | Reminds of something I thought of as a kid. You know the two way
       | switches for a light bulb: where both switches can turn the same
       | single light on and off. You probably have one.
       | 
       | What if it were a 100 way switch and you had the challenge of
       | keeping the light on (maybe everyone else is trying to keep it
       | off). This is like just one checkbox in this game. It is cool to
       | see this exists and someone figured out how to keep the lights
       | on.
        
         | Perz1val wrote:
         | It's just a XOR gate, isn't it?
        
       | arrowsmith wrote:
       | Side note but just wondering what you use to capture those little
       | screen recordings as gifs?
        
       | peterbozso wrote:
       | This is exactly the kind of content I visit HN for. Thank you!
        
       | Uptrenda wrote:
       | Bro thinks we need to look at their hello world bit shifts and
       | basic js.
        
       | venins wrote:
       | https://web.archive.org/web/20240830020803/https://eieio.gam...
        
       | AlexDragusin wrote:
       | > the inevitable tug of war over how much moderation is required
       | to prevent a digital space from becoming an uninhabitable
       | cesspool.
       | 
       | I am wondering what is it in humans that it must follow this
       | pattern ending in a cesspool? This would make a very interesting
       | study in human psychology and hopefully gaining enough
       | understanding to maybe improve this condition.
       | 
       | On the other hand, antagonists also help driving progress as
       | well, the pendulum like back and forth is also very beneficial to
       | humanity.
       | 
       | How do we reconcile these?
        
         | razakel wrote:
         | I have a work-in-progress theory that permissiveness for _some_
         | level of misbehaviour is what is necessary for freedom.
         | 
         | For example, as Gibson put it, Singapore is Disneyland with the
         | death penalty. Now, how many Singaporean artists can you name?
         | 
         | But you know who Banksy is.
        
       | BrandoElFollito wrote:
       | When I was at the university, I was frustrated with how the Unix
       | servers were managed (IBM AIX 3 to give you a timeframe).
       | 
       | I social-engineering-hacked my way in and fixed some stuff (very
       | basic stuff, I knew nothing about administration back then). Then
       | went to the sysadmins to explain.
       | 
       | They offered me to join their team and this _drastically_ changed
       | my future (for the best).
       | 
       | The annoying kid can be a godsend sometimes, I always try to
       | remember that when sighting at what they did or attempted too do
       | (this cover both my kids and the young recruits in my team)
        
       | eiiot wrote:
       | As a current student and self-taught developer this is one of the
       | best representations I've seen about what makes the world of CS
       | fun. You have a bunch of people with a crazy idea that's just SO
       | niche and they're able to use their brains to create something
       | beautiful of immense value.
        
       | shahzaibmushtaq wrote:
       | I like every simple boring idea executed in an interesting way.
       | Making things for sheer fun and presenting them to the world is
       | just a few hours away.
       | 
       | I am sure if we all count the silly ideas together that we have
       | in our head or somewhere in diaries like _One Million Checkboxes_
       | the numbers could be close to one million. Maybe this is a
       | message to all of us, we shouldn 't be afraid to test our ideas.
       | 
       | I can't wait any longer to start working on my ideas ASAP.
        
       | jo-m wrote:
       | This reminds me of the Pixelflut multiplayer Canvas project:
       | https://wiki.cccgoe.de/wiki/Pixelflut
        
       | LoganDark wrote:
       | This is why I've always encouraged people to hack my games.
       | Exploits that ruin other players' fun will obviously be moderated
       | accordingly, but if they're just doing cool stuff, I don't want
       | to ruin their fun!
        
       | memorabilia wrote:
       | Hi, I read the twitter thread and also watched the video. The
       | people are really awesome and creative!
       | 
       | I'm just learning about the codes and I did not understand some
       | things, so I'd be very grateful if anyone helps me to understand
       | these things...
       | 
       | 1. The 1000x1000 image is the million checkboxes in 1000 rows x
       | 1000 columns right?
       | 
       | 2. Do they create the image directly with the checked and
       | unchecked boxes, or we have to convert them to binary/ASCII etc
       | to see the image?
       | 
       | 3. The site can have only 1 1000x1000 image, right? So to make
       | the image change, someone has to overwrite the present image with
       | the help of another bot?
        
         | sillysaurusx wrote:
         | 1. Yes
         | 
         | 2. Directly
         | 
         | 3. Yes
        
           | memorabilia wrote:
           | Thank you for answering. The process is very hard to
           | comprehend for me. These guys are so creative!
        
           | memorabilia wrote:
           | Did only one bot acted on the page at a time or multiple bots
           | controlled the checkboxes at once when there were many small
           | pics/elements to form the 1000x1000 image? I meant to ask did
           | multiple people draw on the canvas at the same time or it was
           | only one person/bot at a time?
        
             | beepbooptheory wrote:
             | Maybe I am misunderstanding the question but it seems like
             | there were/are various bots at work here, but in principle
             | a "single" bot could do these things, and is certainly how
             | they handled animation. But even a single bot could be
             | running many times over, or be otherwise multi-threaded.
             | 
             | It does seem important that as far as the page was
             | concerned you couldn't, say, check two boxes at the exact
             | same time. So whatever work they did to coordinate the
             | animations had to happen through tons of single requests.
        
             | eieio wrote:
             | (i'm the author)
             | 
             | there were a bunch of bots run by different people, but for
             | the most part they coordinated in the discord so that they
             | weren't fighting over the same "territory"
             | 
             | at one point there was a group not in the discord trying to
             | draw in the same place as the people in the discord, which
             | lead to the bots constantly changing checkboxes to try two
             | different images! but it was mostly cooperative
        
               | shombaboor wrote:
               | what was the technical nature of the bot, a local shell
               | bash/python script running constantly to make curl-esque
               | requests the clicks on defined parts of the grid? Or
               | something on top of the browser like a chrome extension?
               | I'm curious because I wonder what the defense would be
               | against it (I'm naive to such things).
        
               | eieio wrote:
               | Most of the bots were in python or node afaik. Bash would
               | be a little hard because you had to send data over a
               | websocket.
               | 
               | They had some notion of the squares they were watching
               | and what their values needed to be (to draw the images).
               | And then they subscribed to the full state of the grid
               | (which my API made really easy to do) and would respond
               | by sending websocket requests to check boxes when they
               | got toggled to the "wrong" value.
               | 
               | I'm sure people did other things - lots of people wrote
               | scripts in the browser console. But I think the above is
               | basically what people in the discord did.
               | 
               | I had some basic protections in place. There's some
               | client-side rate limiting that prevents the really
               | trivial "run the script in the console stuff" and then
               | some server-side per-IP limiting to prevent really
               | aggressive botting. Plus my server got slow at some
               | points which inadvertently slowed people down.
               | 
               | The big difficulty with the server-side stuff is that you
               | don't want to be too aggressive with IP based limiting
               | because sometimes a large group of people resides behind
               | a single IP (like at a school) and you want to make sure
               | that all of those people can play. So it's a balancing
               | act.
        
       | ainiriand wrote:
       | What an amazing story. I think I also think about my younger
       | self, just a bit dumber! Thank you for posting this.
        
       | codeptualize wrote:
       | I love this. Got me a bit nostalgic. This is the type of stuff we
       | used to do in high school with too much time and a lot of "would
       | it work if..?", but nothing anywhere near this level though,
       | amazing!
        
       | ndr wrote:
       | The internet is still cool, the kids are all right. I'm more
       | hopeful now, thanks OP and thank you discord kids!
        
       | isaacremuant wrote:
       | When I saw the checkboxes image at the beginning I immediately
       | thought of Reddit's place so it was only natural people would
       | draw on it with bots.
        
       | wickedsight wrote:
       | This story kinda makes me nostalgic for the 4Chan that I
       | experienced before it became a QAnon driven cesspool. Back then,
       | between all the gore and other unmentionable stuff, there was the
       | community that formed the 'Anonymous' of that time. Some
       | highlights for me from that period were:
       | 
       | - botting Rick Astley to win 'Best Act Ever' at MTV EMA in an
       | effort to 'Rick Roll the world' [0] - botting to help a random
       | average looking lady win a cruise and a cover shoot for a fashion
       | magazine, ahead of actual models - faxing tons of black pages to
       | Scientology centers
       | 
       | This also helped me end up with a career in IT, so I really
       | understand the sentiment of the writer and I appreciate how they
       | interpreted these acts of 'vandalism'.
       | 
       | 0: https://www.theguardian.com/music/2008/nov/07/rick-astley-
       | be...
        
       | weinzierl wrote:
       | > 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.
       | 
       | When I started college, the WWW was quite new. I quickly learned
       | to view pages with NCSA Mosaic at the CIP pool, but had no clue
       | at all how all of this worked. I was determined to find out,
       | though.
       | 
       | I read somewhere that you needed a patchy server to make your own
       | pages. So I googled Apache on Altavista, was briefly surprised
       | that the first hit wasn't about the tribe, and carefully followed
       | all the instructions without knowing what I did.
       | 
       | After a while I could see my test page in Mosaic and happily went
       | home. It was late already, I was tired, so I pondered if I should
       | boot my computer and dial-in to find out if I could see my page
       | from home as well.
       | 
       | I did not understand much, but I figured, if _I_ could view the
       | page from home, _everyone in the whole world_ must be able to see
       | it.
       | 
       | This thought left me no peace, so I did it and to my biggest
       | surprise it actually worked![1]
       | 
       | I didn't sleep much that night. Having grown up in a rural place
       | without even a library, this absolutely rocked my world.
       | 
       | About two weeks later I received a notice from the university,
       | that I wasn't allowed to run services on university resources
       | without permission, so I had to shut it down. But apart from
       | that, nothing bad happened, I am very glad they reacted
       | reasonably.
       | 
       | [1] Our computers had public IPs and firewalls were yet to come.
        
         | coreyh14444 wrote:
         | Not your core point, but it is fun to remember that NAT wasn't
         | always a thing, and many networks just PCs with public internet
         | addresses and no firewalls. Even NetBIOS worked over the plain
         | Internet back then. You could just \\\x.x.x.x\c$ and it would
         | work a decent percentage of the time.
        
       | aduermael wrote:
       | Great story, it added a delightful touch to my breakfast! ^^ Kid
       | developers are free from all the modern (not always in a good
       | way) tooling and routines of the professional world. I'm working
       | on a platform that's kind of an open-source Roblox alternative,
       | and it attracts profiles like theirs. They're so creative and
       | always eager to help, reporting bugs and potentially harmful
       | hacks. Cheers to them!
        
         | Tepix wrote:
         | Agreed, this is my favourite story on HN in a long time!
        
       | dhype wrote:
       | Awesome read! thanks for sharing this story.
        
       | yard2010 wrote:
       | This reminded me of Archer Scavenger Hunt[0]
       | 
       | From Wikipedia: Shortly after episode 2 aired, a viewer noticed
       | that a serial number featured on the computer screen in the
       | episode was actually hexadecimal ASCII code for a website URL.
       | This URL was the first step in an extensive interactive online
       | "scavenger hunt" which animator Mark Paterson had devised as a
       | side project to the season, which was awarded the Primetime Emmy
       | Award for Outstanding Interactive Program for 2015.
       | 
       | [0] https://figgis.agency/walkthrough
        
       | hacker_88 wrote:
       | Reminds me Reddit Place
        
       | thread_id wrote:
       | 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 cooperate."
       | 
       | https://www.newyorker.com/magazine/2018/03/19/reddit-and-the...
        
       | heraldgeezer wrote:
       | We've got "be gay do crime" - love that
       | 
       | of course, ya gotta
        
       | astrobe_ wrote:
       | It reminds me the Contact movie [1]:
       | 
       |  _Arroway [the protagonist] discovers the signal contains over
       | 63,000 pages of encoded data. Hadden meets with Arroway and
       | provides her with the means to decode the pages. The decoded data
       | reveals schematics for a Machine that may be a form of
       | transportation for a single individual._
       | 
       | Actually, IIRC there's a subplot in which an autistic child draws
       | pages over pages of 0 and 1 while watching TV noise; the protag
       | discovers they represent something, by chance, when looking at
       | the pages tiling the floor, from a balcony.
       | 
       | [1] https://en.wikipedia.org/wiki/Contact_(1997_American_film)
        
         | eythian wrote:
         | Wasn't that from the X-Files? Or maybe I'm misremembering. I
         | think I'm thinking of this:
         | https://x-files.fandom.com/wiki/Conduit but I also remember it
         | being seen from a balcony, so maybe I'm conflating two things
         | I've seen together.
        
           | BubbleRings wrote:
           | Yeah, you are right, the "TV noise" sub plot is not part of
           | Contact.
        
       | bckmnn wrote:
       | That is a wholesome story. Thanks for letting it play out like
       | this. In a world of increasing abstractions that hide the
       | details, it's great to encourage the next generation to
       | experiment and explore.
        
       | eimrine wrote:
       | When I firstly saw the Million Checkboxes website I was
       | disappointed by the impossibility to see all picture at once. Now
       | I know this was my fault.
        
       | pavel_lishin wrote:
       | 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.
        
       | crapbass wrote:
       | i'm one of the people who was in the mentioned discord server: it
       | was really fun :) me and my friends had a lot of fun drawing
       | stuff, we drew the calmjak, jet lag the game logo, the bottom
       | right qr code (covered up by some other person's art though) and
       | other stuff (they're visible on the "the grid at it's most
       | chaotic" image)
        
       | kaycebasques wrote:
       | https://nekoweb.org is another great place to get back in touch
       | with the fun side of computers. There are lots of teenagers just
       | figuring out how to make basic sites, which is heartwarming in
       | its own right, but there is also some really creative, impressive
       | stuff.
        
       | mehulashah wrote:
       | This restore my faith in positive human creativity. It makes me
       | wonder what I can do to encourage the constructive collaboration
       | among the younger generation. I agree that todays doom scrolling
       | has destroyed so much of todays potential.
        
       | 3pt14159 wrote:
       | This blogpost reminds me of the type of content that was more
       | frequent on HN back years ago.
        
       | personality1 wrote:
       | Say this was a malicious actor, how would one place a
       | block/filter for this type of activity? Track each IP request and
       | rate limit on an individual level?
        
       | cdelsolar wrote:
       | That email server story could have been written almost verbatim
       | by me. In high school (this was around 1998 or 1999) I also wrote
       | a mass-mailer bot to spam my friends. I showed my friend how to
       | do it, then he modified it a bit but left it running too long and
       | it ended up crashing the school's mail server. I was terrified
       | for a bit because I thought this is the kind of thing that gets
       | you expelled, or suspended. But our CS teacher (Hi Mr. Zamansky)
       | talked to us for like 10 seconds, essentially saying "hey guys,
       | knock it off, ok?" and it was all good.
        
       | psadri wrote:
       | One of the most profound lessons I learnt early in my career: if
       | you give people a "canvas" you will be surprised/blown by how
       | they use it.
       | 
       | Found this out with one of the first Yahoo UGC products,Yahoo!
       | Travel Trip Planner. Again with Yahoo! Pipes and then again with
       | Polyvore.
        
       | mrmetanoia wrote:
       | this warmed my frigid heart. so glad to see this sort of curious
       | spirit endures :)
        
       | bnchrch wrote:
       | This was already such a fun and interesting project, but its even
       | cooler to watch the community give back to it in the same spirit!
       | 
       | On the note of community, I would kick myself if I didnt link the
       | Elixir clone it inspired. As I think its the best example of how
       | powerful the primitives of elixir are when it comes to massive
       | and distributed concurrency
       | 
       | https://github.com/PJUllrich/twomillioncheckboxes
        
       | dang wrote:
       | Related:
       | 
       |  _Scaling One Million Checkboxes to 650M checks_ -
       | https://news.ycombinator.com/item?id=41079814 - July 2024 (51
       | comments)
       | 
       |  _One Million Checkboxes_ -
       | https://news.ycombinator.com/item?id=40800869 - June 2024 (305
       | comments)
        
       | bix6 wrote:
       | Beautiful
        
       | mattw2121 wrote:
       | Love stories like these. I miss the old internet where people
       | just created things for the shear joy of it. I've tried my hand
       | at two different things so far, but neither has found much steam.
       | 
       | https://toggles.codewalkers.net/ https://trust-
       | trials.codewalkers.net/
        
       ___________________________________________________________________
       (page generated 2024-08-30 23:00 UTC)