saturns

🌲☕️🪩🐟

the real actual Kato. Plausibly deniably DJ.

 
This user is melanated.
Store in a cool, dry place. Refrigerate after opening

I love gifs of fish.

 
I am super cool and everyone loves me.

current avi: ME!!!!!

Pinball Game Smart And Funny


e-mail
evergreen@silvercruiser.vip
The Other Other Blue Website (not recommended)
saturnunder.tumblr.com/
Unfortunately, I'm music fans
rateyourmusic.com/~saturnunder

vogon
@vogon

back in 2013 I decided to quit my previous previous job, after about a year of gradually being "managed out" by getting assigned a desk separate from the rest of the team I was on, coincidentally not getting invited to all-hands meetings, getting assigned freestanding prototype integration work with a team that was far behind schedule and then blamed for their schedule slips, the usual shit you do to someone you want to fire but don't have any justification to fire.

I told myself that my first day free, I would write something and ship it to prove to myself that I could still write software -- so, it being 2013, I decided to write a twitter bot, in ruby, and host it on a free-tier heroku dyno.

after almost a decade, I don't really write ruby any more; heroku got acquired by salesforce and decided to cut costs by ending their free tier, after the cryptocurrency bubble made it profitable to steal compute from them and turn it into small amounts of whatever coins you can still mine on CPUs; and we're all familiar with what's happening to twitter in slow motion.

as good a time as any to let everycolorbot fade away into memory, honestly.

(source is available at https://github.com/vogon/everycolor, and since the pseudorandom number generator is built on a linear feedback shift register1 the only state you would need to start up a clone starting at the same point is the last tweet it made, which is embedded above.)


  1. which is a truly terrible way to build a random number generator, and worse for colors because it'll sometimes go on long jags of gradually dimming browns or whatever, but only needs 24 bits of state and is guaranteed mathematically (if you choose the right taps) to have a period of 2^24-1 before repeating


You must log in to comment.

in reply to @vogon's post:

One thing that has always bugged me ever since trying to make a Twitter bot related to color was that hashtags don't allow you to use all numbers. I dreamt of being able to go look up #420069 or whatever and see images of that color, but Twitter only tokenizes and allows stuff like #F42069

yep! this is actually part of why @everycolorbot tweeted the colors as "0xf42069" instead of "#f42069", both because not all colors work as hashtags and because I didn't want to spam, idk, "#facade" back in the era when the only text search twitter had was for hashtags

I loved Every Color Bot 😊 Thank you for making it! I had no idea you were the author - perhaps I knew once upon a time and forgot 🤔 Either that or internet circles are smaller than they appear. I think I've been in quiet-firing situations like those you described in your post before, but at the time I didn't really recognise them for what they were and I thought it was simply inefficient management or blamed myself. Knowing that sort of thing can even happen to super cool people makes me feel a bit better about my own experiences, so thank you for that too :)

I've just been looking at those Heroku mails piling up in my inbox with a sense of indifference. My bots were mass suspended a long time ago and I didn't bother to re-enable posting once I got them unsuspended. In fact it's more of a relief that I don't feel the need to put myself through trials like making a buildpack for Imagemagick anymore.

FWIW @vogon I'm glad you were #botALLY for any length of time. That's how you got on my radar and I've enjoyed your posting ever since.

ah rip, this is one of the most classic of twitter bots. i never followed it but it was one of those accounts that i enjoyed seeing pop up via retweets every so often

pouring one out for a real homie 🍾

it's also great because you have your generalized cipher that takes some key, and you have your key; because you are just outputting values from the cipher that are encryptions of an incrementing counter, you can also decrypt any given output with that same secret key to see what the value of the counter was, and resume from there in the same way (assuming you still have the key. if you don't you're fucked lol)