floof.org

the world needs more recreational programming.
like, was this the most optimal or elegant way to code this?

no, but it was the most fun to write.

dan 💾 mastodon (AP)
10 PRINT “THIS!”
20 GOTO 10
speskk mastodon (AP)

> was this the most optimal or elegant way to code this?
> no

Me implementing anything

Dan Piponi mastodon (AP)
I'm in it for the bits that make my head explode. I try to keep that stuff away from work. But exploding heads, especially mine, are fun.
my favorite IOCCC (obfuscated C code competition) entry is the flight sim that's in the shape of an airplane.
1
G. Gibson mastodon (AP)
I suggest Ruby for elegance
Esther Alter mastodon (AP)
we have that, it's called procgen
Shib Willoughby mastodon (AP)

This is me when I get to manipulate the DOM with vanilla JS.

document.getElementbyId()?
element.classList.add()?
element.addEventListener("click", doThing)?

Yes pls let me chew on this juicy, logical, non obfuscated code! 🤤

cause like, yeah, it's good to know how to write optimal code and how to make it elegant and easy to maintain, sure!

but one thing you have to maintain is your brain. If you're constantly driving your programming brain at maximum speed, maximum awareness of all possible caveats and vulnerabilities, always considering "how will I maintain this code in ten years time?" you're going to burn yourself out.

You're associating programming with a high-stress high-attention activity. That's going to make programming something that's categorized in your brain as no fun, never relaxing, never something you do just cause it would be interesting... you're going to start dreading it, even just a little. "oh well, let's get this over with."

That's not a good way to think about it in the long run.

we often say that programming is more an art than a science, but we need to treat it like one too.

Sometimes you need to paint a sunset not because someone paid you to paint a sunset, but because it'd be fun to paint a sunset.

we need a bob ross of programming
1 1
PBS's The Joy Of Programming
1
except every episode ends with the host screaming
bob therieau mastodon (AP)
Oooh. I know a guy.
bob therieau mastodon (AP)
I like this a lot. A project every season? You follow along and you're pointed to learning resources on a PBS landing page for the show. This would be nice resource for resource-strapped schools.
1
@therieau yeah it's the kind of thing the BBC would do in the 80s
bob therieau mastodon (AP)
Shit, we could do this on Twitch, but we wouldn't have nearly the audience. Think how many people have broadcast-ready facilities in their homes. Show, round-up show, podcast, learning guides. This could be a big deal.
nuxi mastodon (AP)
closest I've seen is the Coding Train guy, but he's less Bob Ross, more Richard Simmons
Raven667 mastodon (AP)
I've played with Scratch a little with the kid and that could be a fun show, just animating the sprites and interacting in interesting ways. I'm not sure how many episodes you can do, but neither was Bob Ross I'm sure.
...happy little binary trees...
blackmad mastodon (AP)
misread this as PSB’s Joy of Programming and now I’m looking forward to a public service broadcasting concept album / song cycle about such a thing. I can almost hear the whooshing sound of a reel-to-reel warming up opening the piece …
kid37 mastodon (AP)
There's no bugs. There are just happy little coding accidents.

i know your whole point is that we shouldn't only ever try to be practical, but as an additional bonus, i genuinely think all the hours of code golf i did for fun have made me a better programmer

not that any "normal" code i ever write looks golfed at all, but you learn so much about a language when you're digging into the weeds looking for ways to save bytes

Greg Wilson mastodon (AP)
Mozilla's @mconley has done more than 350 episodes of "The Joy of Coding" and they're great https://mikeconley.ca/joc/ cc @foone
Nire Bryce mastodon (AP)
the guy writing Komorebi has this going on kinda https://youtu.be/0zX289iBOd4
Walter van Holst mastodon (AP)
Happy little binary trees?
Nelson Chu Pavlosky mastodon (AP)
Was this why's (poignant) Guide to Ruby?
1
RedstoneLP2 mastodon (AP)
"we don't write bugs, just happy unintended features"
john spurling mastodon (AP)
happy little binary search trees
Casey Kolderup hometown (AP)
https://thecodingtrain.com/ is maybe a little more Levar Burton in tone but is about making something so I associate it with Bob Ross

I wish I could do this, but I'm no good at "patter", especially while I'm coding.

I also use a font size that I have been told is "insanely small", and I suspect video compression will make it unreadable.

But, I don't mind showing off my ~~mistakes~~ happy little syntax trees and I've (re)started coding for myself several hours each day.

I really should find an PeerTube instance or something and start streaming; I can work on video quality and viewer interaction later, I guess.

Alex Feinman mastodon (AP)
I keep meaning to start a YT channel "This Old Code"...because one needs to exist...
Grant Hutchinson mastodon (AP)
I think Bill Atkinson was always the Bob Ross of programming.
this would be a hit actually
Programmer: *creates a variable*
Me: nice
Programmer: *creates a second variable*
cause everybody needs a friend
Me: *holding back tears* nice
No programmer is that chill about "Happy little accidents"
unvisual mastodon (AP)

Watching Andreas Kling work on SerenityOS in his FIXME Roulette or Browser/OS/Language/Etc Hacking series is giving me the same vibe.

https://youtube.com/@awesomekling

maybe it's Daniel Shiffman... In used to say I wanted to be like Dan Shiffman when In grew up.
Toni Aittoniemi mastodon (AP)
With the world full of AI shit code in a couple of years, I’m sure there will be a need for it. 😏
PalmAndNeedle mastodon (AP)
some happy little variables... :blobcatgiggle:
Bjompen mastodon (AP)
there are no mistakes, only happy little OHH FUCK I JUST DEPLOYED A BACKDOOR TO PROD!
Colin mastodon (AP)
AK’s hacking videos kinda fall under that category https://youtube.com/@awesomekling
@RavenWorks
Tom Ritchford mastodon (AP)

Come now.

Programming is an engineering discipline! There are very few happy little accidents. You want code that does exactly what you intended it to.

Everyone understandably loves Bob Ross, I do too, but he isn't a good example for programmers, engineers, surgeons, or airplane pilots to follow.

Pippin friendica
@Tom Ritchford @Foone🏳️‍⚧️ "Drawing is an engineering discipline. You want a drawing that shows exactly what you intended it to. Get the drawing wrong and your building won't stand up or your part won't fit." It can be both things. Technical drawings are certainly a thing, but there absolutely is recreational drawing too.
Tom Ritchford mastodon (AP)
@pippin Writing a program that doesn't actually work doesn't seem more frustrational than recreational to me! 😀
Pippin friendica
@Tom Ritchford @Foone🏳️‍⚧️ They don't have to "not work", but they might well do something different than originally planned, and they don't have to be secure/maintainable/readable etc. Look at the demo scene. Lots of recreational programming, and probably (especially with older hardware I expect) a lot of happy accidents being discovered and taken advantage of.
Tom Ritchford mastodon (AP)

@pippin Even in the demo scene, 98% of the accidents are errors that need to be corrected or else nothing will happen (I did write "very few happy accidents", not "no".)

And hacking on old machines is even more exacting. When people get unexpected results out of old gear, it's the result of a huge amount of systematic, exploratory trial and error, much closer to science than art.

1/

Tom Ritchford mastodon (AP)

@pippin I play jazz on occasion. In an improvised solo, no individual note is "wrong", even if it was unintended or in the "wrong key". You often play a couple of "random" notes, just to see where it will lead you.

In programming, you might have 100 possible keystrokes you could make at any point, of which 95 won't generate anything useful.

No discipline is all or nothing on this: but programming is very heavily biased toward pre-planning and systematic experimentation over chance.

Pippin friendica
@Tom Ritchford @Foone🏳️‍⚧️ And is it possible 98% of the lines an artist sketches are thrown away as they redraw, looking for a more satisfying line? (At least, if I tried to draw something it'd be at least 98%!) 🤷‍♂️
1
Tom Ritchford mastodon (AP)

@pippin
If a typical drawing is made up of 200 strokes, and each stroke has a 98% chance of being "wrong" and spoiling the drawing, then that would mean that 99.99999...% of drawings would be wrong.

(Nearly all drawings or paintings are built up of a large number of small gestures, and an error in any one of them isn't usually significant.)

I live with someone who's a trained draftsperson for art: this is a skill only peripherally related to what Bob Ross does.

1
Pippin friendica
@Tom Ritchford @Foone🏳️‍⚧️ Sorry, it feels like you may even be willfully misunderstanding now. 1. "98%" was just a callback to your words, not intended to be in any way an accurate number - I was trying to point out the similarity between a demo coder programming for fun and an artist drawing for fun. 2. Artistic drawings have no concept of being "wrong"; just because someone may spend minutes drawing and redrawing a line to find the "best" line to use doesn't mean any of the others were "wrong". 3. This is getting very tedious, very much buried in the weeds, and very little to do with the question of whether programming can be done for fun and as an art form, rather than as an engineering activity. I still say it can be both/either. I probably won't reply again. Thanks.
pir mastodon (AP)
""Ever make mistakes in life? Let's make them bugs. Yeah, they're bugs now.""
I'm pretty sure that was @rbates during his RailCasts years
Marc Majcher mastodon (AP)
Oh, we've got one: https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw
Bob Irving mastodon (AP)
Dan Shiffman!
Jen Gentleman mastodon (AP)
"Just a happy little helper function"
mrange mastodon (AP)
TBH I think there are people like this in the shader art community. Nobody has Ross's great hair though!
Kenneth Finnegan mastodon (AP)
I nominate Daniel Shiffman and his Coding Train YouTube channel
Matt Bacchi mastodon (AP)
He doesn't stream every week but @mconley does The Joy of Coding regularly, episode guide here: https://mikeconley.github.io/joy-of-coding-episode-guide/
Jamie Booth mastodon (AP)
Now here is a happy little function...
Peter Sommerlad mastodon (AP)
only when they practice TDD, because the "little mistakes" can easily be fixed then...
dodothedev🦤💻 mastodon (AP)

@shanselman
I'm a Ross, and my middle name is Robert...

🙋🏻‍♂️ I volunteer as tribute!

Diabetic Heihachi mastodon (AP)

His name is Thor.

https://youtube.com/shorts/SauckmAA2oI

Handsome Bear mastodon (AP)
I would do it, but I'm getting to excited, when I explain things to ppl.
Tariq mastodon (AP)
Daniel Shiffman ?
Voksa mastodon (AP)
Happy little octrees...
Karsten mastodon (AP)
"Look at this nice but lonely method here. Let's make a beautiful little coroutine so it's got a friend..."
chris martens mastodon (AP)
pretty sure that’s julia evans
Rick mastodon (AP)
Are you familiar with Sebastian Lague? https://youtube.com/@SebastianLague?si=4Ncu4Fm9_7Z-J9dn
Moppi mastodon (AP)

a litte bit of a loop here and a new Variable there

Look at this beautiful code

Now we need a new class here *now is code ugly*

Jeroen Postma mastodon (AP)
I think most of my work classifies as happy little accidents to be fair.
Oliver Vanderb mastodon (AP)
https://youtu.be/HerCR8bw_GE?si=3S4R8gw7w9G0K9IX
Claudio Zizza 🦜 mastodon (AP)
The 503 wasn't a mistake. Just a happy accident.
Claudius mastodon (AP)
That would be Daniel Shiffman on the Coding Train for me.
Mike Anderson mastodon (AP)

there is a practical side to this as well. "Happy trees" code is almost guaranteed to be easily maintained code. Most 'optimised' code I see is optimised to feed the programmer's ego and little else.

But I'm left with a big question: what is the equivalent of beating the devil out of your brush? Should I bash my keyboard against the leg of my desk?

Michelle Hughes mastodon (AP)
The Bob Ross of programming is Ben Eater.
Bastian Hodapp mastodon (AP)
i make happy little accidents all the time
Toxo77 mastodon (AP)
Yeah, but We have javidx9 aka one lone coder
https://m.youtube.com/@javidx9
demofox mastodon (AP)
Inigo Quilez fits the bill pretty well for graphics programming
https://youtu.be/BFld4EBO2RE?si=hDjTs5CrvzsuzVEb
Óscar Toledo G. mastodon (AP)
wow! Your phrase summarized it very nicely. It's true because I do programming for the money, but from time in time, I just do things for fun like the Ray Tracer in a boot sector https://youtu.be/Njtn_1jBa9c?si=oW3hqYtjsw0e-aQV and the Bob Ross comparison made me smile, because I thought in adding the happy word to my thinking discourse "wow! We can save a register here if we move this happy register there and we avoid a pop, now the stack looks like a happy stack, and we saved a few bytes. It's the little joy."
Douglas King mastodon (AP)
I was doing some AWS CDK today. Sure I could have done it a lot faster, but I spent couple hours playing around and just chilling.
Frances Larina mastodon (AP)
That's my daughter. She programs for the joy of it.
brandon mastodon (AP)
This is close to a post in my feed about a news article complaining that the U.S. lost $700 million in productivity over the eclipse. I like what you’re saying, but there is so much messaging from the owners class that insist on defining everything by value produced for them that it takes the fun out of everything (and then they go and complain about how everyone in the workplace is unhappy).
Irenes (many) mastodon (AP)

however, we recommend against making a physically accurate raytracer for sunsets

we tried to do that one weekend

the primary thing we learned was not to try to make a physically accurate raytracer for sunsets

@QuietMisdreavus I mean, there was literally no reason to write a four channel MOD player in Rust for my homebrew computer. I did it anyway. Most of my open source is “I wanted this to exist”, and for no other reason.
gunstick mastodon (AP)
it is officially an art form as demoscene is an intangible cultural heritage in some countries.
https://www.unesco.de/en/culture-and-nature/intangible-cultural-heritage/demoscene-culture-digital-real-time-animations
Holger mastodon (AP)
"The Coding Train" on youtube is pretty close!
This is also a part of why doing it in a corporate setting inevitably leads to burn out. It’s a “high stress, high attention” situation by default
This entry was edited (7 months ago)
Wolf480pl mastodon (AP)
hmm maybe there are two types of fun: the relaxing fun and the thrilling fun? After all, people do all kinds of dangerous things for fun and I don't thimk those are low-stress or low-attention situations...
@wolf480pl yeah, but thrilling things are fun because they're done for fun. Your boss isn't making you skydive, usually
Richard M^2 mastodon (AP)

“…never something you do just cause it would be interesting…”

This is exactly the reason I set aside time every year to do Advent of Code. Fun little daily projects that ultimately don’t matter in the grand scheme of things, yet I do end up learning one of two new techniques or algorithms every year from it. I know I will never see the global leaderboard, but I challenge myself to complete each day before looking up other solutions. #AlwaysLearning

Tariq mastodon (AP)

This is one reason I started a creative coding meetup a few years ago.

No expectations, no unit testing, no code reviews, no bugs, just pure fun and some luck.

Some called it the antidote to their day job.

Others said it felt like their first steps at coding as a child.

Alistair Buxton mastodon (AP)
Writing elegant code is fun. Throwing together a bunch of unmaintainable crap because you are on a deadline and management doesn't care is what burned me out.
jsoo mastodon (AP)
to me this feels like an argument for tools that do a lot of that work for you. I'm of course talking about languages
Fish Id Wardrobe mastodon (AP)
I feel as if a good way to defuse this is -- given that no program is ever complete, you always return to the code -- to limit yourself to just "How can I code this today so that the next time I see this code it won't make me sad?"
Tom Ritchford mastodon (AP)

By the same argument, you burn your brain out if you use good grammar.

What actually goes on is this: you learn how to write clear, maintainable code through practice and self-examination, and then it becomes a habit, so it takes no effort at all.

For example, I use assertions quite a lot when I initially write code, just so they go off if something goes wrong. I don't even think about it as I do it. Later, I remove most of them because they're clearly redundant.

Johana Linda Star mastodon (AP)
can confirm. 🔥 🕳️
Jay :nonbinary: mastodon (AP)
I needed to hear this a few years ago, I can't get myself to code anymore. Instant headache when I start. I hope the people who still take joy in coding believe you!
Marcos Dione mastodon (AP)

* If you have the time, defer things with TODOs. Yes, that's the path to tech debt, that's why I started with "if...".
* Write tests, positive and negative, before (TDD), meanwhile and after. As many as you can think of without straining. Real life will provide you with more. Integration tests, for each layers if possible.
* Start writing with comments and or pseudocode. If the latter and your programming language is #Python, you're halfway there.

I wish it was that easy on the Ops side.

Calyo Delphi mastodon (AP)

I've been kinda doing that with my python dice rolling script, but with the added fun challenge of also being able to provide an optional statistics report including the polynomial generating function that gets all the useful probability stats if --verbose is set.

It's more meant to be a fun trip into the math of dice probability than being a useful dice rolling script, but I get a useful dice rolling script out of it as a bonus so hey presto.

@dragonarchitect yeah that's the kind of feature you used to see a lot more of in games and such back in the day.

I think Kris Asick of Ancient DOS Games talked about this once, saying some feature feels like it's just there because the programmer thought it would be fun to add.

Like, is the script complete enough without this? Yeah. Does it really need this? Nope. Did it scratch a fun itch to add it? You bet!

Calyo Delphi mastodon (AP)

"Like, is the script complete enough without this? Yeah. Does it really need this? Nope. Did it scratch a fun itch to add it? You bet!"

Hell yeah! 😄

I just haven't touched the script in a long, long while, because I've also wanted to have a little fun diving into the wonderful world of OOP in Python, but hoo boy that's an extra level of complexity that fucks with my head a bit. 😵‍💫

KateYagi mastodon (AP)
Bash scripting is fun because you know there's no way in hell this contraption of pipes and regex is necessarily "scaleable" or "safe," but it did the thing in an intuitive, lego-like manner.
Chris mastodon (AP)
I quit CS for healthcare way back and now only program for fun. It's the best.
Farbs mastodon (AP)
Did you follow the Bob Ross Game Dev Twitter account? It was fantastic, and ended too soon.
zunderscore mastodon (AP)

I've recently gotten into writing a couple of mods for Stardew Valley, the main one being a web service that gives other apps realtime info about the game.

Is it elegant? Hell no.

Are there better solutions? Probably.

Am I needlessly reinventing bits of ASP.NET Core for my own amusement and just to say that I can? You bet.

And I doubt anyone other than me will ever find this useful. But it sure has been a fun way to spend the last 2 weeks & I'm learning stuff/refreshing old knowledge.

i think recreational programming is a big part of the appeal of programming language development for me. not "what would be the one language to rule them all" but "what would be a good language to code stuff in for fun"
Michael Nischt mastodon (AP)

Not sure if this it what you had in mind with recreational programming, but I enjoy the Tsoding streams/videos a lot.

https://www.twitch.tv/tsoding/

James T Monkey mastodon (AP)

I miss _why :(

But I also liked watching interview with Joe Armstrong. He seemed like the friendly uncle of programming languages.

1
I do maintain (exclusively for personal use) a lot of tools I use with this purpose. I don't really need a way to automatically change my wallpaper with a random post from a list of imageboards but... why not? I don't even need it to be cross-platform but... would it be interesting if it was? Its already working, do you need it to be typed Python? No, but wouldn't be a fun way to learn typed Python?
Moose Jolly Holcomb mastodon (AP)
me doing code golf knowing I'm not going to win, so just amusing myself with the inherent whimsy of making a little tiny code block.
1
Nora Reed mastodon (AP)
this is why @scream's code is a triangle
Drew Scott Daniels mastodon (AP)
optimizing can be fun. Sometimes it looses readability to optimize.
Tariq mastodon (AP)

i started an Algorithmic Art meet-up in London and I found it was wildly popular - it grew from zero to over 4700 members in 2 years!

people did it for many reasons but a common theme was an antidote to the developer day job

Michelle Hughes mastodon (AP)

I have always had a habit of having big ideas for programs and working on them in my spare time and then getting bored of them when it starts to get tedious. I used to regard these as failures, but recently, I've started to see it in this light.

Sometimes, people have art books and they just draw in there. Not because they're going to publish a comic or anything, but because they like drawing.

That's what I'm doing with my recreational programming.