cross-posted from: https://ani.social/post/5909087
This is from?
“New Game!”
Thanks!
I spent these last days building a spreadsheet app for managing resources in a city builder / survival sim (Medieval Dynasty). I’m pretty sure there are plenty of ways to improve it, I know that other people have already built solutions for it that I could have used instead and I know that a much better solution would involve a proper database.
But it was fun, dammit. I need to deal with spreadsheets for work and it was a fun effective way of honing my skills with them.
On Monday, one of our students at $DAYJOB asked me what projects I do in my freetime. After I infodumped on her for half an hour, she asked in disbelief “And you do these in your freetime, without being paid?”.
Like, mate, did you not listen how feckin’ excited I got just then? Of course, I do these in my freetime.
To be fair, though, the last project I told her about is very dry. It’s a library to help automate CI builds. And the thing I’m thrilled to build is a compile-safe API for accessing the packages in your workspaces. Like, yeah, it does take a special kind of nerd to get excited about that…
I think the trill comes from the feeling that “I can do it better” if it is already done before or “I finally understand this in enough detail to build a nice abstraction” if not
Yeah, the latter is certainly a big part of it. The way to make it compile-safe is to use macros to generate code, so that my users can write e.g.
Package::my_frontend.versionand that gives them the version of their frontend package.
Writing such macros, i.e. writing code to generate code, is certainly something I haven’t done a ton of yet, because you practically cannot justify doing that in an application codebase, only in a library, so it is new stuff that I learn.But well, you did already call it a “nice abstraction”, which is another big part where my excitement comes from and where I think, the special nerdery is necessary.
Others might build projects which are visually tangible, like a sexy GUI, or which do something tangible, for example a colleague (who I will absolutely not deny his own special nerdery) is currently building a driver for a motor. If that driver works, you can see a motor moving in the real-world. Even non-nerds can at least tell that something is happening.But with my project, my success is that you can write
Package::my_frontendinstead ofPackage::from_str("my_frontend")?. And that if you rename the package tosuper_duper_frontend, that the compiler will tell you to fix the code rather than it only breaking once you actually run the build code for the frontend.
No chance of explaining to non-coders why this is exciting or even just when you’re successful.I get what you mean, I had a similar kind of feeling when I did maths in my PhD too. I think that is an aptitude for mathematical style of thinking. I also love it when things that seem dissociated from each other suddenly becomes part of a single concept when you do a nice abstraction. I guess that is one of the points of abstraction anyway (reduce the number of building blocks as much as possible while keeping the same richness in end results).
Removed by mod
10 hours of feeling like an idiot for 1 minute of feeling like a genius.
Sometimes, after that 1 minute, you realize that you were still an idiot, you just didn’t understand it for a moment
On the bright side, after 10 years of doing it, you might improve the ratio to 1 hour of feeling like an idiot and 1 minute of feeling like a genius.
Wait… Isn’t that bad… Going from 10:1 to 60:1???
Check again. Going from 600:1 to 60:1
He’s a programmer, not a mathematician.
You could have let him have his minute.
Some people call that an abusive relationship. I call it M-F.
Removed by mod
I think we’re using AI very differently. I only use it for stuff I really can’t figure out myself and then it needs 15 runs before it closes the loop and recommends the first thing that didn’t work. I don’t use it for everyday tasks, because I see how my performance and capabilities drop. AI is mostly frustrating for me.
Removed by mod
Or something more complicated than it can handle. Ask it to implement an ASN.1 floating point parser. It looks good but the closer you look at the code the more trash it is.
Removed by mod
I tried for a good 20-30 minutes to get it to generate something that worked. It just gave me a sequence of garbage. Each one looked plausible but as soon as I really read the code it was clear there were issues. Different issues each time. I wasted more time trying to get it to produce correct code than it took to write it myself, once I gave up on the AI.
For me the most productive way to use AI is to ask it to suggest a strategy and to implement that myself. If the code is simple enough for the AI to get it right, I can often write it myself with less effort. If it’s something that requires multiple reprompts to get right, I can almost always do it faster myself.
I hate programming. But I love when I try to do programming and I get to see a program thing come to life and do stuff. I have all these cute little pets that bark, “Hello, World!”
I have all these cute little pets that bark, “Hello, World!”
I finally understand the appeal of pet play.
I showed this to my friend who is currently learning python and she said “It’s like a fun ex who also is a cunt.”
Programming has no short answer for me: it feel good…when i can make something that works, then i feel utterly shitty when i can’t solve [X] problem for more than 3 hours but in the end when the project it’s done you feel great
If it’s a personal project of course, or else why would I be doing it? If it’s work maybe but probably no.






