[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)