@zvava@twtxt.net Yes congrats and well done! Keep going! š„³
Fellow Gophers might find this interesting, too: https://flak.tedunangst.com/post/what-the-go-proxy-has-been-doing
@prologic@twtxt.net Iām doing that now as well, but I donāt think this is a good solution. This is going to hurt āself-hostingā in the long run: I cannot afford true self-hosting where I actually do host everything here at home ā instead, I must use a cloud provider / VPS for that. It is only a matter of time until my provider starts doing AI shit as well (or rather, the customers do it) and then what? I get blocked, e.g. I canāt send email to (some) people anymore. This is already bad and itās going to get worse.
It doesnāt pose a problem for my serverās performance ā yet. But if more bots/companies start doing this, my website will go down from the load.
@prologic@twtxt.net Enjoy the weekend. š„³ (I rarely drink these days. I hope my tiny little Whisky collection doesnāt go bad. š)
Iāve got a prototype of my hardcopy simulator going. Iām typing on the keyboard and the ādisplayā goes to the printer:
https://movq.de/v/56feb53912/s.png
https://movq.de/v/235c1eabac/MVI_8810.MOV.mp4
The biiiiiiiiiig problem is that the print head and plastic cover make it impossible to see whatās currently being printed, because this is not a typewriter. This means: In order to see what I just entered, I have to feed the paper back and forth and back and forth ⦠itās not ideal.
I got that idea of moving back/forth from Drew DeVault, who ā as it turned out ā did something similar a few years back. (I tried hard to read as little as possible of his blog post, because figuring things out myself is more fun. But that could mean I missed a great idea here or there.)
But hey, at least this is running on my Pentium 133 on SuSE Linux 6.4, printer connected with a parallel cable. š
(Also, yes, you can see the printouts of earlier tests and, yes, I used ed(1) wrong at one point. 𤪠And ls insisted on using colors ā¦)
@thecanine@twtxt.net I sure hope thereās going to be push back. Is it going to happen, realistically? I donāt know.
RIP Android:
https://9to5google.com/2025/08/25/android-apps-developer-verification/
Since nobody is going to push back on this (I donāt even know if that would be possible), this is going to be a reality on every platform sooner or later.
Iād guess in 20, 30 years, there wonāt be āPCsā anymore. No more home computing, no more āI just write my own softwareā. You wonāt own devices anymore, itāll all be rented and the landlord will tell you what you can do with it.
I hope that Iām wrong, but given where we are today, I donāt think that I will be.
@movq@www.uninformativ.de Nice picture, this hot air balloon has quite a large basket.
Yes, go for it! :-)
My grandpa went ballooning ages ago and liked it. The balloonist misjudged the height a bit and landed in an open-air pool. Well, not in the water, but on the sunbathing lawn just inside the fence. :-D After the ride, everybody was given a very long personal name that they had to memorize. Decades later, my grandpa still knew his assigned name.
The most important thing to know is that ā in German ā you donāt fly (fliegen) a ballon, but ride (fahren) it: https://de.wikipedia.org/wiki/Ballonfahren#Fahren_oder_fliegen Judging by the English wikipedia article, this is not an English thing, though: https://en.wikipedia.org/wiki/Hot_air_ballooning
@prologic@twtxt.net Yeah, those POS thingies are similar. Thereās āESC/POSā as a variant of āESC/Pā, if Iām not mistaken.
All I can say is, when I go to big stores like Amazon, then I have trouble finding ātraditionalā dot matrix printers for use at home. š Epson still sells them, but theyāre more expensive than my laser printer was. So yeah, they still exist, just expensive, by the looks of it.
Should I go on a tour with these hot air balloons some day? Not sure if itās scary as hell. š
@movq@www.uninformativ.de having to go to a gopher proxy to see a text document better served on readily available web servers⦠š¤, but I digress. Verbatim text:
What's Missing from "Retro"
~softwarepagan
------------------------------------------------------------------
You know, often, when I say I miss older ways of computing or
connecting online, people tell me "there's nothing stopping you
from doing that now!" and they are technicay correct in most cases
(though I can't, for example, chat with friends on MSN ever
again...) However, let me explain that while this type of thing can
*sort of* fill that hole in my heart, it isn't *the same.*
Say, for example, I wanted to connect with others over a BBS. This
wouldn't offer the same types of connections it used to. While
there are BBSes around with active users, they're no longer there
to discuss movies, Star Trek, D&D, games, etc. They're there to
discuss *BBSes.* The same can be said for Gopher, old-school forums
and all sorts of revival projects (such as Escargot, Spacehey,
etc.) Retrocomputing enthusiasts, while they have a variety of
interests, are often in these spaces to discuss the medium itself
and not other topics. This exists at a stark contrast from how
things were in the past, where a non-tech-inclined person may learn
the tech to connect with likeminded others (as I did as a
Zelda-obsessed kid.)
The same can be said of old media. People will say "well, nobody is
stopping you from watching old shows/movies now!" Again, they are
technically correct. I can go home right now and watch *Star Trek:
The Next Generation* to my heart's content. It will never again,
however, be current, or new. When something is new, it serves as a
shared cultural experience. Remember how "Game of Thrones* felt in
the mid-to-late 2010s? Yeah, that.
It's sad. I sustain myself on a mixed diet of old things, new
things, and new things intended for old millenials like me who like
old things. It can be bittersweet.
@movq@www.uninformativ.de According to this screenshot, KDE still shows good old application icons: https://upload.wikimedia.org/wikipedia/commons/9/94/KDE_Plasma_5.21_Breeze_Twilight_screenshot.png
And GNOME used to have them, too: https://upload.wikimedia.org/wikipedia/commons/9/9f/Gnome-2-22_%284%29.png
I like the looks of your window manager. Thatās using Wayland, right? The only thing on this screenshot to critique is all that wasted space of the windows not making use of the full screen!!!1 At least the file browser. 8-)
This drives me nuts when my workmates share their screens. I really donāt get it how people can work like that. You canāt even read the whole line in the IDE or log viewer with all the expanded side bars. And then thereās 200 pixels on the left and another 300 pixels on the right where the desktop wallpaper shows. Gnaa! Thereās the other extreme end when somebody shares their ultra wide screen and I just have a āregularishā 16:10 monitor and donāt see shit, because itās resized way too tiny to fit my width. Good times. :-D
Sorry for going off on a tangent here. :-) Back to your WM: It has the right mix of being subtle and still similar to motif. Probably close to the older Windowses. My memory doesnāt serve me well, but I think they actually got it fairly good in my opinion. Your purple active window title looks killer. It just fits so well. This brown one (https://www.uninformativ.de/blog/postings/2025-07-22/0/leafpads.png) gives me also classic vibes. Awww. We ran some similar brownish color scheme (donāt recall its name) on Win95 or Win98 for some time on the family computer. I remember other people visting us not liking these colors. :-D
@bender@twtxt.net That was one of the inputs into my research š§ So thatās already factored in. We bought our new truck (2025 GWM Canon) recently to replace the āol 2nd hand Nissan Navara we bought that just had too many things go wrong with it, and I donāt have time or energy to learn to be a diesel mechanic haha 𤣠ā So yes, the SCT-16 has a Tare (unladen weight) of 2150Kg and a maximum legal (ATM) weight of 2,800Kg.
I think I understand now. Americans do not go camping, we do recreational activities. I donāt think campers are a thing here, but RVs (Recreational Vehicles) are. Thatās why it would never cross my mind to get anything with fabric, that folds. No mate, we get a house on wheels, with a million miles engine. š¤£
Other than that, it looks nice!
HTTP referrers are quite broken, arenāt they?
Because of that recent storm on my blog, I had a peek at them. Thereās a lot of garbage in there. For example, https://docs.freebsd.org/en/books/handbook/disks-virtual.html is supposed to refer to one of my blog posts ā¦
Whatās going on here?
We covered quite some ground in the two and a half hours today. The weather was nice, mostly cloudy and just 23°C. Thatās also why we decided to take a longer tour. We saw four deer in the wild, three of which I managed to just ban on film, quality could be better, though. My camera produced a hell lot of defocused photos this time. Not sure whatās going on with the autofocus. https://lyse.isobeef.org/waldspaziergang-2025-07-10/
When the sun came out, colors were just beautiful:

@prologic@twtxt.net Hm, I wouldnāt say that. Go code could fall into that category as well.
Maybe this topic could use a blog post / article, that explains what itās about. Iām finding it hard to really define what āsuckless-like softwareā is. š¤ (Their own philosophy focuses too much on elitism, if you ask me.)
@movq@www.uninformativ.de So you wouldn;t consider things written in Go to be āsucklessā-esque? š¤
Iāve been playing around with AI at home over the past few months and building my own neural networks from scratch (in Go) with genetic algorithms
Oh, is that all š¤£
That sounds like some intensive āplaying aroundā haha
@eldersnake@we.loveprivacy.club Yeah for sure! The thing that annoys me about a lot of this, is the sheer fact you canāt really self-host let alone self-train these things Iāve been playing around with AI at home over the past few months and building my own neural networks from scratch (in Go) with genetic algorithms on a few tasks and training sets, but man itās hard⢠𤣠I feel like weāre doing something wrong hereā¦
In all fairness, GOG says that Forsaken is only supported on Ubuntu 16.04 ā not current Arch Linux. If you ask me, this just goes to show that Linux is not a good platform for proprietary binary software.
Is it free software, do you have the source code? Then youāre good to go, things can be patched/updated (that can still be a lot of work). But proprietary binary blobs? Very bad idea.
Option and error handling. (Or the more complex Result, but itās easier to explain with Option.)
@prologic@twtxt.net Iād say: Yes, because in Go itās easier to ignore errors.
Weāre talking about this pattern, right?
f, err := os.Open("filename.ext")
if err != nil {
log.Fatal(err)
}
Nothing stops you from leaving out the if, right? š¤
Option and error handling. (Or the more complex Result, but itās easier to explain with Option.)
@movq@www.uninformativ.de Is this much different to Goās error handling as values though really? š§š¤£š
@movq@www.uninformativ.de neither do I š and Iām going full Albert Camus mode. Embracing the Absurdism of life just to cope, itās the only choice I have left.
FFS! Canāt I just get results, accurate no BS results? No erroneous/misleading AI-Slop of a summary Iāve never asked for ? I get it, there is plenty of people who LOooove (if not worship) that shit, Good for them! But at least make it opt-in or add in some kind of āDo Not Slopā browser option (as if the āDo Not Trackā one made a difference, but I digress). Shitās only going down-hill from here, I might as well as just spin up my own Searx instance and call it a day.
@prologic@twtxt.net Iām trying to call some libc functions (because the Rust stdlib does not have an equivalent for getpeername(), for example, so I donāt have a choice), so I have to do some FFI stuff and deal with raw pointers and all that, which is very gnarly in Rust ā because youāre not supposed to do this. Things like that are trivial in C or even Assembler, but I have not yet understood what Rust does under the hood. How and when does it allocate or free memory ⦠is the pointer that I get even still valid by the time I do the libc call? Stuff like that.
I hope that I eventually learn this over time ⦠but I get slapped in the face at every step. Itās very frustrating and Iām always this š¤ close to giving up (only to try again a year later).
Oh, yeah, yeah, I guess I could ājustā use some 3rd party library for this. socket2 gets mentioned a lot in this context. But I donāt want to. I literally need one getpeername() call during the lifetime of my program, I donāt even do the socket(), bind(), listen(), accept() dance, I already have a fully functional file descriptor. Using a library for that is total overkill and Iād rather do it myself. (And look at the version number: 0.5.10. The library is 6 years old but theyāre still saying: āNah, weāre not 1.0 yet, we reserve the right to make breaking changes with every new release.ā So many Rust libs are still unstable ā¦)
⦠and I could go on and on and on ⦠š¤£
@bmallred@staystrong.run Ahhh this is an agent Iām tryining to play the game of Connect3. It uses a library written in Go Iāve been working on that supports Neuroevolution using Genetic Algorithms. Some features include: Mutation, Speciation, Lamarckian Evolution/Inheritence.
On my blog: Go Nowhere Fast https://john.colagioia.net/blog/2025/06/15/go-nowhere-fast.html #harm #rant #politics #harm
@lyse@lyse.isobeef.org Rust is so different and, at the same time, so complex ā itās not far fetched to assume that I simply donāt understand whatās going on here. The docs appear to be clear, but alas ⦠is it a bugs in the docs? Is it a lack of experience on my part? Who knows.
By the way, looks like there was a bit of a discussion regarding that name:
Hmmm š§ Not what I thought was going on⦠No bugā¦
time="2025-06-14T15:24:25Z" level=info msg="updating feeds for 8 users"
time="2025-06-14T15:24:25Z" level=info msg="skipping 0 inactive users"
time="2025-06-14T15:24:25Z" level=info msg="skipping 0 subscribed feeds"
time="2025-06-14T15:24:25Z" level=info msg="updating 80 sources (stale feeds)"
@bender@twtxt.net there you go, it shows just fine on the souris instance
When I chose the MIT license for all of my software, I thought:
āShould I use GPL, which I donāt really understand? Is that worth it? Yeah, there is a theoretical possibility that some company might use my code in their proprietary product ⦠and then what? Should I sue them to enforce the GPL? Iām not going to do that anyway, so Iāll just use the MIT license.ā
And now we have those LLM scrapers and now itās suddenly a reality that these companies (ab)use my code. I can see it in my logs. I didnāt expect that back then.
GPL wouldnāt help, either, of course. (Regardless, I now think that GPL would have been the better choice anyway.)
Iām honestly considering taking my code and website offline. Maybe make it accessible through some obscure protocol like Gopher or Gemini, but no more HTTP.
(Yes, Anubis might help. Temporarily.)
Iām just tired.
@quark@ferengi.one Ah, I see. Hm, only problem is, IE 3 doesnāt seem to support this yet. š Nah, I donāt think Iāll go down that road ā seems like a slippery slope. š¤£
prologic@JamessMacStudio
Sun May 25 21:44:41
~/tmp/neurog
(main) 130
$ go build ./cmd/ttt/... && ./ttt
Generation 27 | Fitness: 0.486111 | Nodes: 44 | Conns: 82
⦠experimenting with building and training a tic-tac-toe game, which evolves a. neural net that learn to paly the game against the best evolved champions š
@prologic@twtxt.net I remember going through your āintroduction to Golangā, I donāt remember the URL, but I vividly remember going through it, and I was lost at chapter one. So, about that āmasteringā the core in hours, āI donāt believe you.ā (insert I donāt believe you meme animated GIF here). LOL.
Ultimately, Go sits in the sweet spot on the complexity vs performance chart:
- Minimal syntax & concepts ā low learning curve
- Compiled speed ā high throughput
- Built-in CSP concurrency ā scalable by default
See Rob Pykeās presentation on Expressiveness of Go
One of the nicest things about Go is the language itself, comparing Go to other popular languages in terms of the complexity to learn to be proficient in:
- Go:
25keywords (Stack Overflow); CSP-style concurrency (goroutines & channels)
- Python 2:
30keywords (TutorialsPoint); GIL-bound threads & multiprocessing (Wikipedia)
- Python 3:
35keywords (Initial Commit); GIL-bound threads,asyncio& multiprocessing (Wikipedia, DEV Community)
- Java:
50keywords (Stack Overflow); threads +java.util.concurrent(Wikipedia)
- C++:
82keywords (Stack Overflow);std::thread, atomics & futures (en.cppreference.com)
- JavaScript:
38keywords (Stack Overflow); single-threaded event loop &async/await, Web Workers (Wikipedia)
- Ruby:
42keywords (Stack Overflow); GIL-bound threads (MRI), fibers & processes (Wikipedia)
@bender@twtxt.net Hereās a short-list:
- Simple, minimal syntaxāmaster the core in hours, not months.
- CSP-style concurrency (goroutines & channels)āsafe, scalable parallelism.
- Blazing-fast compiler & single-binary deploysāzero runtime dependencies.
- Rich stdlib & built-in tooling (gofmt, go test, modules).
- No heavy frameworks or hidden magicāunlike Java/C++/Python overhead.
@kat@yarn.girlonthemoon.xyz I donāt like Golang much either, but I am not a programmer. This little site, Go by example might explain a thing or two.
This is one of my attempts: 
$ go build ./cmd/xor/... && ./xor
Generation 95 | Fitness: 0.999964 | Nodes: 9 | Conns: 19
Target reached!
Best network performance:
[0 0] ā got=0 exp=0 (raw=0.000) ā
[0 1] ā got=1 exp=1 (raw=0.990) ā
[1 0] ā got=1 exp=1 (raw=0.716) ā
[1 1] ā got=0 exp=0 (raw=0.045) ā
Overall accuracy: 100.0%
Wrote best.dot ā render with `dot -Tpng best.dot -o best.png`
@prologic@twtxt.net where on IRC? Network, channel, nick? IRC is vast! Itās like saying, āmeet me in Australia, and we go from there!ā š
@bender@twtxt.net Ahh I see. That reminds me, I was going to start watching something someone recommended here hmmm š§
@bender@twtxt.net How do you explain mine then? Unless it was registered before me, then let go of and I re-registered it later? š¤
Also spent the morning continuing to think about a new design for EdgeGuardās WAF. Iām basically going to build an entirely new pluggable WAF that will be designed to only consider Rate Limiting, IP/ASN-based filtering, JavaScript challenge handling, Basic behavioral analysis and Anomaly detection.
The only part of this design Iām not 100% sure about is the Javascript-based challenge handling? š¤ Iām also considering making this into a āproof of workā requirement too, but I also donāt want to falsely block folks that a) turn Javascript⢠off or b) Use a browser like links, elinks or lynx for example.
Hmmm š§
Sometimes things go wrong when buying CDs second-hand. I bought an album quite cheap ā but as it turned out, they only checked the cover, not the content, so I got something else instead which is actually much more expensive. š¤£
@prologic@twtxt.net hahahahaha! Donāt you go watering that seed, mate š . I mean, we all dream about it, aināt that right?
Going to try and few up a few more UX bugs today with yarnd.
@kat@yarn.girlonthemoon.xyz No no, itās just barks at the slightest thing going on around the neighborhod š like it just goes a bit nuts often 𤣠it was a rescue dog, two years old, and it wasnāt treated very well, a street dog. I think itās just basically afraid of every human in the world š¢
You need break the routine.
I havenāt really done that lately. š¤ Maybe have another go at Rust (given its increasing importance in the Linux kernel)? Or Elixir, yes, I only had some very, very brief contact with it. š¤
I just came across an old forum posting of mine about Prolog. That brought up some memories. Prolog is pretty alien, but I do miss stuff like that because itās so different.
Just thinking out loud here. š