foone , Englisch
@foone@digipres.club avatar

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.

0x13ee ,
@0x13ee@eattherich.club avatar

@foone someone told me programming is like art

MegaMichelle ,
@MegaMichelle@a2mi.social avatar

@foone

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.

rzeta0 ,
@rzeta0@mastodon.social avatar

@foone

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

drewdaniels ,
@drewdaniels@mastodon.online avatar

@foone optimizing can be fun. Sometimes it looses readability to optimize.

nora ,
@nora@blob.love avatar

@foone this is why @scream's code is a triangle

ReverendMoose ,
@ReverendMoose@mas.to avatar

@foone 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.

KuttKatrea ,
@KuttKatrea@mast.lat avatar

@foone 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?

otfrom ,
@otfrom@functional.cafe avatar

@foone this is why I chose clojure those years ago. Most fun I had programming since logo and I could actually get things done.

Guile scheme and fennel are looking like possible new things for me

teamonkey ,
@teamonkey@mastodon.social avatar

@foone I miss _why :(

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

grrrr_shark ,
@grrrr_shark@supervolcano.angryshark.eu avatar

@foone I'd do more of it if my day job didn't often suck the joy and energy out of it for me :(

shaknais ,
@shaknais@mastodon.social avatar

@foone
Well, @drewdevault is making a Unix-style OS just for kicks. In a language he built for fun.

micha ,
@micha@mastodon.gamedev.place avatar

@foone 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/

researchbuzz ,
@researchbuzz@researchbuzz.masto.host avatar

@foone That's the only kind I do! 😂

eniko ,
@eniko@peoplemaking.games avatar

@foone 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"

boss ,
@boss@jotboard.masto.host avatar

@foone sometimes i'll manually take whitespace out of a js function for fun then reindent it, sometimes this'll even help me find bugs

zunderscore ,
@zunderscore@mastodon.social avatar

@foone 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.

Farbs ,
@Farbs@mastodon.social avatar

@foone Did you follow the Bob Ross Game Dev Twitter account? It was fantastic, and ended too soon.

nightclaw ,

@foone I quit CS for healthcare way back and now only program for fun. It's the best.

dragonarchitect ,
@dragonarchitect@rubber.social avatar

@foone 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.

foone OP ,
@foone@digipres.club avatar

@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!

dragonarchitect ,
@dragonarchitect@rubber.social avatar

@foone "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 ,
@kateyagi@denden.world avatar

@foone 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.

foone OP ,
@foone@digipres.club avatar

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.

foone OP ,
@foone@digipres.club avatar

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.

foone OP ,
@foone@digipres.club avatar

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.

foone OP ,
@foone@digipres.club avatar

we need a bob ross of programming

foone OP ,
@foone@digipres.club avatar

PBS's The Joy Of Programming

clairely_undaunted ,
@clairely_undaunted@mastodon.triggerphra.se avatar

@foone except every episode ends with the host screaming

therieau ,
@therieau@mastodon.cloud avatar

@foone Oooh. I know a guy.

therieau ,
@therieau@mastodon.cloud avatar

@foone 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.

foone OP ,
@foone@digipres.club avatar

@therieau yeah it's the kind of thing the BBC would do in the 80s

therieau ,
@therieau@mastodon.cloud avatar

@foone 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 ,
@nuxi@mastodon.sdf.org avatar

@foone closest I've seen is the Coding Train guy, but he's less Bob Ross, more Richard Simmons

raven667 ,
@raven667@hachyderm.io avatar

@foone 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.

fallcounty ,
@fallcounty@social.lol avatar

@foone Y'know, I've been working on getting setup to do livestreams of programming as part of a dev log for my game. Might steal this idea for that

suetanvil ,
@suetanvil@freeradical.zone avatar

@foone

...happy little binary trees...

blackmad ,
@blackmad@xoxo.zone avatar

@foone 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 ,
@kid37@fnordon.de avatar

@foone There's no bugs. There are just happy little coding accidents.

justafrog ,
@justafrog@mstdn.social avatar

@foone I'm 0% professional, and only poke at it because it tickles my brain sometimes.

I would probably hate doing it for a living.

A lot.

Making the computer go beepboop for fun is a very different thing than shipping a product.

jussi ,
@jussi@ser.romu.casa avatar

@foone Programming for the Right Side of the Brain

mbrdev ,
@mbrdev@mastodon.social avatar

@foone I vote for @shanselman to host

monorail ,
@monorail@glaceon.social avatar

@foone 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

gvwilson ,
@gvwilson@mastodon.social avatar

Mozilla's @mconley has done more than 350 episodes of "The Joy of Coding" and they're great https://mikeconley.ca/joc/ cc @foone

NireBryce ,
@NireBryce@hachyderm.io avatar

@foone
the guy writing Komorebi has this going on kinda https://youtu.be/0zX289iBOd4

whvholst ,
@whvholst@eupolicy.social avatar

@foone Happy little binary trees?

skyfaller ,
@skyfaller@jawns.club avatar

@foone Was this why's (poignant) Guide to Ruby?

RedstoneLP2 ,
@RedstoneLP2@redstonelp2.com avatar

@foone "we don't write bugs, just happy unintended features"

synec ,
@synec@messydesk.social avatar

@foone happy little binary search trees

casey ,
@casey@sharetron.com avatar

@foone https://thecodingtrain.com/ is maybe a little more Levar Burton in tone but is about making something so I associate it with Bob Ross

BoydStephenSmithJr ,
@BoydStephenSmithJr@hachyderm.io avatar

@foone 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.

afeinman ,
@afeinman@wandering.shop avatar

@foone I keep meaning to start a YT channel "This Old Code"...because one needs to exist...

splorp ,
@splorp@mastodon.social avatar

@foone I think Bill Atkinson was always the Bob Ross of programming.

990000 ,
@990000@mstdn.social avatar

@foone this would be a hit actually

supernovafiles ,
@supernovafiles@mastodon.gamedev.place avatar

@foone
Programmer: creates a variable
Me: nice
Programmer: creates a second variable
cause everybody needs a friend
Me: holding back tears nice

The4thCircle ,
@The4thCircle@mastodon.gamedev.place avatar

@foone

No programmer is that chill about "Happy little accidents"

unvisual ,
@unvisual@mastodon.nu avatar

@foone 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

villares ,
@villares@ciberlandia.pt avatar

@foone maybe it's Daniel Shiffman... In used to say I wanted to be like Dan Shiffman when In grew up.

gimulnautti ,
@gimulnautti@mastodon.green avatar

@foone With the world full of AI shit code in a couple of years, I’m sure there will be a need for it. 😏

PalmAndNeedle ,
@PalmAndNeedle@norden.social avatar

@foone some happy little variables... :blobcatgiggle:

bjompen ,
@bjompen@mastodon.nu avatar

@foone there are no mistakes, only happy little OHH FUCK I JUST DEPLOYED A BACKDOOR TO PROD!

obdriftwood ,
@obdriftwood@mastodon.social avatar

@foone There is one: @drchuck

richard ,
@richard@disabled.social avatar

@foone I would watch that show! Although I earned two certificates in programing and database (more than 10 years ago so they are wildly obsolete), I can use basic skills to put together a Wordpress site, but last night I spent over 2 hours trying to get Digital Ocean Ubutnu, Mailgun, Docker, and an open source package from Gitbub to all talk to each other and I just couldn't do it. I gave up. I failed. My skills are far behind basic. I really need training, to be up to date.

colinstu ,
@colinstu@birdbutt.com avatar

@foone AK’s hacking videos kinda fall under that category https://youtube.com/@awesomekling
@RavenWorks

TomSwirly ,
@TomSwirly@toot.community avatar

@foone 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.

snep ,
@snep@y.diskcat.com avatar

@foone Bob Root

pir ,
@pir@piaille.fr avatar

@foone ""Ever make mistakes in life? Let's make them bugs. Yeah, they're bugs now.""

vincew ,
@vincew@masto.nyc avatar

@foone I'm pretty sure that was @rbates during his RailCasts years

majcher ,
@majcher@dice.camp avatar
birv2 ,
@birv2@pkm.social avatar

@foone Dan Shiffman!

JenMsft ,
@JenMsft@mastodon.social avatar

@foone "Just a happy little helper function"

range_marten ,
@range_marten@dotnet.social avatar

@foone TBH I think there are people like this in the shader art community. Nobody has Ross's great hair though!

kwf ,
@kwf@social.afront.org avatar

@foone I nominate Daniel Shiffman and his Coding Train YouTube channel

fshwsprr ,
@fshwsprr@hachyderm.io avatar

@foone 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 ,
@jamie@boothcomputing.social avatar

@foone

Now here is a happy little function...

PeterSommerlad ,
@PeterSommerlad@mastodon.social avatar

@foone

only when they practice TDD, because the "little mistakes" can easily be fixed then...

stormsweeper ,
@stormsweeper@dice.camp avatar

@foone bill atkinson sorta was that

RL_Dane ,
@RL_Dane@fosstodon.org avatar

@foone

Tsoding?? (cc: @sotolf)

DodoTheDev ,
@DodoTheDev@front-end.social avatar

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

🙋🏻‍♂️ I volunteer as tribute!

DavBot ,
@DavBot@nerdculture.de avatar
NafiTheBear ,
@NafiTheBear@bears.town avatar

@foone I would do it, but I'm getting to excited, when I explain things to ppl.

mentallyalex ,
@mentallyalex@beige.party avatar

@foone I have alerted the one person I think would best represent the Bob Ross of programming. I hope he finds inspiration

rzeta0 ,
@rzeta0@mastodon.social avatar

@foone

Daniel Shiffman ?

VoxSomniator ,
@VoxSomniator@chitter.xyz avatar

@foone Happy little octrees...

byteborg ,
@byteborg@chaos.social avatar

@foone
"Look at this nice but lonely method here. Let's make a beautiful little coroutine so it's got a friend..."

ferrata ,
@ferrata@hachyderm.io avatar

@foone we've only got bo bros 😞

chrisamaphone ,
@chrisamaphone@hci.social avatar

@foone pretty sure that’s julia evans

JetForMe ,
@JetForMe@geekstodon.com avatar

@foone Are you familiar with Sebastian Lague? https://youtube.com/@SebastianLague?si=4Ncu4Fm9_7Z-J9dn

moppi ,
@moppi@chaos.social avatar

@foone 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

jpostma ,
@jpostma@clusterfucks.nl avatar

@foone I think most of my work classifies as happy little accidents to be fair.

Ollivdb ,
@Ollivdb@nrw.social avatar
SenseException ,
@SenseException@phpc.social avatar

@foone The 503 wasn't a mistake. Just a happy accident.

claudius ,
@claudius@darmstadt.social avatar

@foone
That would be Daniel Shiffman on the Coding Train for me.

benroyce ,
@benroyce@mastodon.social avatar

@foone

"happy little tree structures"

jens ,
@jens@social.finkhaeuser.de avatar

@foone I kinda want to do that job, but I fear I may be more Gordon Ramsey instead, and just curse all the time in several languages.

mspcommentary ,
@mspcommentary@mastodon.online avatar

@foone 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?

MegaMichelle ,
@MegaMichelle@a2mi.social avatar

@foone

The Bob Ross of programming is Ben Eater.

supernovafiles ,
@supernovafiles@mastodon.gamedev.place avatar

@foone Sebastian Lague

bassadin ,
@bassadin@freiburg.social avatar

@foone i make happy little accidents all the time

toxo77 ,
@toxo77@ruhr.social avatar

@foone
Yeah, but We have javidx9 aka one lone coder
https://m.youtube.com/@javidx9

3rz ,
@3rz@freiburg.social avatar
Landwomble ,
@Landwomble@mastodon.cloud avatar
thanius ,
@thanius@mastodon.chuggybumba.com avatar

@foone NES Hacker on YT

demofox ,
@demofox@mastodon.gamedev.place avatar

@foone Inigo Quilez fits the bill pretty well for graphics programming
https://youtu.be/BFld4EBO2RE?si=hDjTs5CrvzsuzVEb

nanochess ,
@nanochess@mastodon.social avatar

@foone 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."

douglascodes ,
@douglascodes@mastodon.social avatar

@foone
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.

18+ Frances_Larina ,
@Frances_Larina@sfba.social avatar

@foone

That's my daughter. She programs for the joy of it.

brandon ,
@brandon@the-gathering.space avatar

@foone 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).

villares ,
@villares@ciberlandia.pt avatar

@foone this is how I feel about ...

irenes ,
@irenes@mastodon.social avatar

@foone 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

thejpster ,
@thejpster@hachyderm.io avatar

@foone @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 ,
@gunstick@mastodon.opencloud.lu avatar

@foone 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

fahrbier ,

@foone "The Coding Train" on youtube is pretty close!

crowbriarhexe ,
@crowbriarhexe@tech.lgbt avatar

@foone 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

foone OP ,
@foone@digipres.club avatar
wolf480pl ,
@wolf480pl@mstdn.io avatar

@foone 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...

foone OP ,
@foone@digipres.club avatar

@wolf480pl yeah, but thrilling things are fun because they're done for fun. Your boss isn't making you skydive, usually

pkw ,
@pkw@mastodon.sdf.org avatar

@foone Also so many professional programmers are arrogant gate keepers.

tcatsuko ,
@tcatsuko@mastodon.social avatar

@foone “…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.

ali1234 ,
@ali1234@mastodon.social avatar

@foone

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 ,
@jsoo@floss.social avatar

@foone 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

fishidwardrobe ,
@fishidwardrobe@mastodon.me.uk avatar

@foone 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?"

TomSwirly ,
@TomSwirly@toot.community avatar

@foone 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 ,
@johana@chaosfem.tw avatar

@foone can confirm. 🔥 🕳️

jaystumpf ,
@jaystumpf@corteximplant.com avatar

@foone 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!

mdione ,
@mdione@en.osm.town avatar

@foone

  • 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 , you're halfway there.

I wish it was that easy on the Ops side.

shibbles ,
@shibbles@hachyderm.io avatar

@foone 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! 🤤

sabogato ,
@sabogato@sunbeam.city avatar

@foone that's one thing I like about scheme. I doubt I'll ever get paid to write it, so I can just play around. It is also very interactive.

esther_alter ,
@esther_alter@mastodon.social avatar

@foone we have that, it's called procgen

mistergibson ,
@mistergibson@sunbeam.city avatar

@foone I suggest Ruby for elegance

  • Alle
  • Abonniert
  • Moderiert
  • Favoriten
  • random
  • haupteingang
  • Alle Magazine