Posts by algernon@come-from.mad-scientist.club
 (DIR) Post #B6ooVBVBWiQipXLj16 by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Dumb Rusty Activitypub Groups?
       
 (DIR) Post #B6ooVBf6voMzKJzeUK by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       That'll do as a temporary name. May work long-term too, if nothing better comes along.
       
 (DIR) Post #B6ooVBnGRUtLjboACG by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Ok, quick plan!Create account on GtSBuild MVPFinishGood plan.
       
 (DIR) Post #B6ooVBwTtEGSCC7WYy by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Good plan, but also bad plan, because wtf is an MVP in this case.MVP is a thing that periodically polls the home timeline, and periodically retoots anything it has not retooted yet.At first, I won't even store the last toot ID seen, I'll just poll the timeline, iterate through the results, and retoot anything needing a retoot.Then, I'll store the last toot ID seen, and iterate through the timeline since that id.Then I'll mke it use a websocket instead of polling.
       
 (DIR) Post #B6ooVC3ZSrw4YBRBc8 by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       And then I'll build the custom frontend. I forgot that.
       
 (DIR) Post #B6ooVCAJ3pK6t4aZ72 by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Sounds simple! How hard can it be?!
       
 (DIR) Post #B6s4IgYAxaue6Jgq8W by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Tehehe. Tonight's display name1 is funny2."RFC128001" ↩︎According to me, at least. ↩︎
       
 (DIR) Post #B6w06b0o6RKuGUtxnE by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Hnghgh. Friendship with WireGuard is ending. When it works - and it usually does - it's great. But debugging wtf is wrong when it does not, is proving to be a pain in the ass.
       
 (DIR) Post #B6w0HLJGp7pYkcf72G by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       The current situation is that I upgraded a server to NixOS 26.05. My desktop connects fine to it. Other people have... problems. Like, handshake failing.On my end, the only log is No valid endpoint has been configured or discovered for peer 3.The other observed problem is that my server's end of WG appears to be not pingable (I can ping it, though).So, uhh... quick question: is oscar.onlyjunk.fans pingable for anyone?
       
 (DIR) Post #B6w0xq5ul1omOFg9Y0 by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       @wolf480pl Thanks!
       
 (DIR) Post #B6w3TxoDoHLtUXqhtI by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Friendship with WireGuard restored to some extent, because it turns out it was an IPv6 problem. Would've been nice if the client side error was something like: "I CAN'T TALK TO THE FUCKING ENDPOINT! WHAT DO YOU WANT ME TO DO?!?!?" instead of "handshake error" or something.But fine, now I know, checking IPv6 is now part of the debugging playbook!
       
 (DIR) Post #B6w3Ty2kwEyiDceJXs by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       It would also be nice if I had IPv6 at home. But alas, the routers in the house allegedly do not support IPv6.I was told - with a straight face! - that's the reason. Not kidding.
       
 (DIR) Post #B6yPvT5a8NqBED0VVo by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       Since I chose violence today, lets do some public violence then, because sometimes that's necessary to bring about change for the better. To serve as a cautionary tale.There's this blog post titled The Bloat, which goes on to explain that the author has a hairy, legacy codebase, 750(!) lines of Python in one file, and... they're never going to fix that. They lamented that they may set one of their agents on it, but they do know that AI can write code that is too complex for an AI to understand.Good job mate! That's the only kind of code an AI can "write", because it has no understanding whatsover.They showed a screenshot of "code of highest quality". It went something like this:if "description" in song:  payload["description"] = song["description"]if "generatorType" in song:  payload["generatorType"] = song["generatorType"]...and so on. And this is what they can't trivially refactor in like 5 minutes?for key in ["description", "generatorType", ...]:  if key in song:    payload[key] = song[key]Fuckin' done. Hundreds of lines collapsed into... three + formatting the bigass key array I guess. You can do this with a single regexp, nothing fancier than that.Need some mapping? Use tuples:for (payloadKey, songKey) in [("desc", "description"), ...]:  if songKey in song:    payload[payloadKey] = song[songKey]Boom. I pretty much cut down your validation.py in half in ~30 seconds.You don't need an LLM for this. You don't need AI for this. You don't need anything complicated for this. You merely user your brain instead of tokens. But I guess that's something one stops doing when exposed to much to these "AI" things. A shame, really.
       
 (DIR) Post #B6yQWNenIFUr5z4w3E by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       @wolf480pl "Please insert token to continue". "Please insert token to continue". "Please insert token to continue".This is what happens when one outsources their brain.
       
 (DIR) Post #B6yQwu7hCvS3JhFELQ by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       @wolf480pl Yes, it is sarcasm. And yes, legacy code can be emotionally draining to fix. I'll happily accept they don't want to.But then, doing the same with "AI" gotta be emotionally (and financially!) draining, since they're gonna review the results, no?In any case, it clearly bothers them enough to write a blog post about it. Could've spent a tenth of the time cleaning up the if into a for loop, and they'd have a much less emotionally draining codebase. A quick win to start! Leave the rest for later (or never)!
       
 (DIR) Post #B6yRVQvfk2yiuP5MLg by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       @wolf480pl See my previous response, but I'll expand a bit here: I wouldn't mind the blog post, if it weren't for the second to last paragraph:If and when this module will grow enough tentacles to make further changes a cumbersome, hairy, token-heavy, and error-prone effort, then I’ll have no other option than to roll up my sleeves and yell at my robot to mow down the lawn.I understand they're not happy with the code. That's fine. I understand they don't feel like fixing it. That's also fine. Sometimes shit will stay shit, it happens.But "oh, eventually I'll spend a few hours yelling at AI to fix it" is where I draw the line. That sounds painful, and expensive, and completely unnecessary. Take a deep breath, find a quick win, five minutes and a single breath later you're out. Repeat that once every few years, and voilá, you have cleaner code!
       
 (DIR) Post #B6yRxl3WVMdvRGGQNc by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       @wolf480pl He started his blog post with "my app grew its own home-brewed unplanned data structure". Nowhere else in the blog post does he mention other people working on it. It's always "I". "When will I ever get to fix this?", "I will never have a day...", "I will never care enough".
       
 (DIR) Post #B6ySDE5Sqj15ozY132 by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       But @alina, there must ALWAYS be a JSON response! You can then client.get("blah").send()?.body()?.json()?.ok, and don't even need to check the status code! Ain't that fantastic?! A uniform response, all the time, JSON, JSON, JSON everywhere!No ifs, no separate status code & body checks, just one glorious line of chained function calls! I'm literally melting from the pleasure this gives me. Ooooh... mmm... yeah, yeah... gimme more JSON. That's a good API. Yes yes yes. Good API gives more JSON.Err... sorry. Got a bit carried away there.
       
 (DIR) Post #B6ySviEM8csu3Ev3oW by algernon@come-from.mad-scientist.club
       0 likes, 0 repeats
       
       @wolf480pl I think "AI" is a few orders of magnitudes worse.
       
 (DIR) Post #B6zYidnDw9Nxm7Xcqe by algernon@come-from.mad-scientist.club
       1 likes, 0 repeats
       
       I'm just gonna leave this here, and perhaps expand on it: what follows from this stance is that I have exactly zero sympathy, and zero tolerance towards anyone using LLMs for anything1. Zero.I do not care what they have accomplished in the past, and I do not care why they felt the need to throw everyone else under the bus. They did that.If they didn't bother to read the critics, or why there's even such outrage over anything AI, that's on them.I do not care how carefully they try to use these tools. The mere fact of using them is the problem. You cannot throw people under the bus carefully, or "just a little bit, with moderation". There is no such thing.As with the linked toot, replies to this toot are going to be rejected. If you want to complain about this stance, don't. Block me instead. Or slide into my mentions out of band, and I'll block you. If you agree, the boost & favourite buttons are there.Exceptions apply. I'm talking about people who use these things willingly, by their own choice, without coercion. ↩︎