Searching txt.sour.is

Twts matching #work
Sort by: Newest, Oldest, Most Relevant

Mu (µ) is now getting much closer to where I want it to be, it now has:

  • A process stdlib module (very basic, but it works)
  • An ffi stdob module that supports dlopen / dlsym and calling C functions with a nice mu-esque wrapper ffi.fn(...)
  • A sqlite stdlib module (also very basic) that shows off the FFI capabilities

šŸ˜…

⤋ Read More

** December Adventure, 2025 **

At the end of my #DecemberAdventure, I re-learned what I learned last year:

that 20 minutes a day can be surprisingly productive,

that I am happiest in writing code when it’s just for me or for a small group of people I know personally.

I find stats and data tracking antithetical to the experience of feeling joy, so I’ve got no bona fide numbers about this, but this year’s [December Adventure … ⌘ Read more

⤋ Read More
In-reply-to » On my way to having windows and mouse support:

At around 19 seconds in the video, you can see some minor graphical glitches.

Text mode applications in Unix terminals are such a mess. It’s a miracle that this works at all.

In the old DOS days, you could get text (and colors) on the screen just by writing to memory, because the VGA memory was mapped to a fixed address. We don’t have that model anymore. To write a character to a certain position, you have to send an escape sequence to move the cursor to that position, then more escape sequences to set the color/attributes, then more escape sequences to get the cursor to where you actually want it. And then of course UTF-8 on top, i.e. you have no idea what the terminal will actually do when you send it a ā€œšŸ™‚ā€.

Mouse events work by the terminal sending escape sequences to you (https://www.xfree86.org/current/ctlseqs.html#Mouse%20Tracking).

ncurses does an amazing job here. It’s fast (by having off-screen buffers and tracking changes, so it rarely has to actually send full screen updates to the terminal) and reliable and works across terminals. Without the terminfo database that keeps track of which terminal supports/requires which escape sequences, we’d be lost.

But gosh, what a mess this is under the hood … Makes you really miss memory mapped VGA and mouse drivers.

⤋ Read More

Well, you girls and guys are making cool things, and I have some progress to show as well. šŸ˜…

https://movq.de/v/c0408a80b1/movwin.mp4

Scrolling widgets appears to work now. This is (mostly) Unicode-aware: Note how emojis like ā€œšŸ˜…ā€ are double-width ā€œcharactersā€ and the widget system knows this. It doesn’t try to place a ā€œšŸ˜…ā€ in a location where there’s only one cell available.

Same goes for that weird ā€œĆ¤ā€ thingie, which is actually ā€œaā€ followed by U+0308 (a combining diacritic). Python itself thinks of this as two ā€œcharactersā€, but they only occupy one cell on the screen. (Assuming your terminal supports this …)

This library does the heavy Unicode lifting: https://github.com/jquast/wcwidth (Take a look at its implementation to learn how horrible Unicode and human languages are.)

The program itself looks like this, it’s a proper widget hierarchy:

Image

(There is no input handling yet, hence some things are hardwired for the moment.)

⤋ Read More

@shinyoukai@neko.laidback.moe Because you might not want to commit all changed files in a single commit. I very often make use of this and create several commits. In fact, I like to git add --patch to interactively select which parts of a file go in the next commit. This happens most likely when refactoring during a feature implementation or bug fix. I couldn’t live without that anymore. :-)

If you have a much more organized way of working where this does not come up, you can just git commit --all to include all changed files in the next commit without git adding them first. But new files still have to be git added manually once.

⤋ Read More
In-reply-to » Question to my fellow Vimers: Which snippet insertion mechanism are you using or can you (not) recommend?

@lyse@lyse.isobeef.org Well, I used SnipMate years ago (until 2012). IIRC, it’s more than just ā€œinsert a bit of text hereā€, it can also jump to the correct next location(s) and stuff like that. Don’t remember why I stopped using it.

Then I used nothing for a long time. Just before Christmas, I made my own plugin (… of course …), which does everything I need at the moment (and nothing more).

It can insert simple templates and then jump to the next location:

https://movq.de/v/67cdf7c827/sisni%2Dpython.mp4

And replace a string after insertion:

https://movq.de/v/67cdf7c827/sisni%2Dheader.mp4

(It’s not public (yet?) and it also uses vim9script, so I guess it wouldn’t work on your system.)

⤋ Read More
In-reply-to » @lyse Yeah I remember you said some days back that your interest in compilers was rekindled by my work on mu (µ) šŸ˜…

@lyse@lyse.isobeef.org I can tell you this right now, writing assembly / machine code is fucking hard workā„¢ šŸ˜“ I’m sure @movq@www.uninformativ.de can affirm 🤣 And when it all goes to shitā„¢ (which it does often), man is debugging fucking hard as hell! Without debug symbols I can’t use the regular tools like lldb or gdb šŸ˜‚

⤋ Read More
In-reply-to » Whoo! I fixed one of the hardest bugs in mu (µ) I think I've had to figure out. Took me several days in fact to figure it out. The basic problem was, println(1, 2) was bring printed as 1 2 in the bytecode VM and 1 nil when natively compiled to machine code on macOS. In the end it turned out the machine code being generated / emitted meant that the list pointers for the rest... of the variadic arguments was being slot into a register that was being clobbered by the mu_retain and mu_release calls and effectively getting freed up on first use by the RC (reference counting) garbage collector šŸ¤¦ā€ā™‚ļø

@lyse@lyse.isobeef.org Yeah I remember you said some days back that your interest in compilers was rekindled by my work on mu (µ) šŸ˜…

⤋ Read More
⤋ Read More
In-reply-to » My little toy operating system from last year runs in 16-bit Real Mode (like DOS). Since I’ve recently figured out how to switch to 64-bit Long Mode right after BIOS boot, I now have a little program that performs this switch on my toy OS. It will load and run any x86-64 program, assuming it’s freestanding, a flat binary, and small enough (< 128 KiB code, only uses the first 2 MiB of memory).

@movq@www.uninformativ.de I think I can get binaries even smaller with a bit more work and effort šŸ¤” But yeah still working on the native code generation (at least for macOS targets)

⤋ Read More
In-reply-to » This one is a slightly more 3D looking, as well as the first one, with the tail swirled. Media

@prologic@twtxt.net Not even entirely sure how I did it myself, but likely a lucky combination of the new tail swirl, the legs closer to the screen being bigger and the head looking slightly to the side (eye & ear position), with bottom part of the hair, going behind the snout. The white is just an outline, around most of my works, so I don’t think that plays a part.

⤋ Read More

2025 end the year rewind:

Compared to only 3 new artworks in 2024 and next to no work, on other projects, this year I not only met the self-imposed goal of monthly pixelart, but exceeded it by 50%, with 18 additions in total.

Relicensed the majority of canine faction owned art and projects, under two less restrictive Creative Commons licensees*. This also applies retroactively, to everyone who used/archived our art and projects, back when the old license didn’t allow it.

Disappointed by the current state of the Internet and continued lack of competition among browsers, completely reworked the main website* and made Smol Drive** (a new image gallery project), both made to be compatible with as many web and Gemini browsers, as possible.

*see https://thecanine.smol.pub
**see https://thecanine.smol.pub/smolbox

⤋ Read More
In-reply-to » Hey EU friends šŸ‘‹ wtf happened to the EU Internet today for about 40 minutes or so?

@prologic@twtxt.net @movq@www.uninformativ.de A crocodile had bitten the big submarine internet cable that connects Australia to Europe. The investigations revealed that some construction work last week accidentally tore up the protective layer around it. That went unnoticed, unfortunately, so marine life had an easy job today. For just 40 minutes, they were quite fast in repairing the damage if you ask me! These communication cables are fricking large.

Just kidding, I completely made that up. :-D I didn’t notice any outage either. But I didn’t try to connect to Down Under at the time span in question.

⤋ Read More

Pickers ā€˜living in squalor’ claim their end-of-season bonus was unfairly withheld
Ten pickers who worked at Hallmark Cherries’ orchard in NSW complain about poorly maintained accommodation and failure to pay an end-of-season bonus. ⌘ Read more

⤋ Read More
In-reply-to » Wow, @movq, so many tables. No idea what I expected (I'm totally clueless on this low-level stuff), but that was quite an interesting surprise to me. https://www.uninformativ.de/blog/postings/2025-12-21/0/POSTING-en.html

@lyse@lyse.isobeef.org I was surprised by that as well. šŸ˜… I thought these were features that you can use, but no, you must do all this.

By the way, I now fixed the issue that I mentioned at the end and it works on the netbook now. 🄳

Image

⤋ Read More

@zotero@zotero I noticed that some combinations of XFCE appearance (light) themes and Zotero made the menu ā€œdisappearā€ (black on black) as the window title was dark. Changing the Zotero to a dark theme or changing the XFCE theme worked (but then, I liked the dark window title on a light theme best…). Should I try to open an issue about this, or is it a XFCE issue? I don’t want to burden the maintainers but it was a bit disturbing not to find the menus…

⤋ Read More

https://li-ma.nl/

«Our online catalogue comprises the largest media art collection in the Netherlands. Search through more than 3,500 works of art, from video-art pioneers from the 1960s to up-and-coming talents and well-known contemporary artists working with the latest technologies. New works are continuously added. The works are available for screenings, exhibitions and research.»

Via @ranoya@ranoya

#NewMediaArt #CreativeCoding #DigitalPreservation

⤋ Read More

Got a nice conspiracy theory for you:

https://mastodon.social/@mcc/115670290552252848

Actually wait I just thought about this and realized that the precise timing of the ACTUAL GitHub seed bank, by which I mean the Arctic Code Vault, on 2020-02-02, makes it more or less a perfect snapshot of pre-Copilot GitHub. Also precisely timed before we all got brain damage from COVID. This is the only remaining archive of source code by people with a fully working sense of smell

(Bonus points because the Arctic World Archive is located in Svaldbard and that’s the name of the AI in Stacey Kade’s ā€œCold Eternityā€.)

⤋ Read More
In-reply-to » My current PC is from 2013, so I never even bothered to check, but as it turns out: My motherboard still has a serial port. 🤯 I thought these had long died out by then. To be honest, I didn’t have the need for one, either, not until recently … So I completely lost track if PCs have these things or not.

Bought more cheap slot plates (with bad reviews and people complaining about the pin order, because I could’nt find a product without such reviews), but those are simply correct now and just work. 🤪

⤋ Read More
In-reply-to » Use more WebP, I guess.

Webp, though it has been around for a long while, wasn’t fully supported on all browsers until recently. The other formats has been in use for such a long time, proving to work just fine, that the advantages Webp provides haven’t been seemingly enough to merit a switch.

Google is also the one behind Webp, and, well, people don’t trust, nor like, them much.

⤋ Read More
In-reply-to » Use more WebP, I guess.

Webp, though it has been around for a long while, wasn’t fully supported on all browsers until recently. The other formats have been in use for such a long time, proving to work just fine, that the advantages Webp provides haven’t been seemingly enough to merit a switch.

Google is also the one behind Webp, and, well, people don’t trust, nor like, them much.

⤋ Read More
In-reply-to » In case you haven’t seen it yet:

@prologic@twtxt.net Here you go:

(LTT = ā€œLinus Tech Tipsā€, that’s the host.)

LTT: There was a recent thing from a major tech company, where developers were asked to say how many lines of code they wrote – and if it wasn’t enough, they were terminated. And there was someone here that was extremely upset about that approach to measuring productivity, because–

Torvalds: Oh yeah, no, you shouldn’t even be upset. At that point, that’s just incompetence. Anybody who thinks that’s a valid metric is too stupid to work at a tech company.

LTT: You do know who you just said that about, right?

Torvalds: No.

LTT: Oh. Uh, he was a prominent figure in the, uh, improved efficiency of the US government recently.

Torvalds: Oh. Apparently I was spot on.

⤋ Read More
In-reply-to » My current PC is from 2013, so I never even bothered to check, but as it turns out: My motherboard still has a serial port. 🤯 I thought these had long died out by then. To be honest, I didn’t have the need for one, either, not until recently … So I completely lost track if PCs have these things or not.

But it is weird that none of the slot plates (that I can find) appear to have the correct pin order. šŸ¤”

The two mainboards I have here use this order:

2468x
13579

But the slot plates use this:

12345
6789x

I tripped over this at first and wondered why it didn’t work.

Has this changed recently or what? 🄓

⤋ Read More
In-reply-to » I kind of hate conventional commit messages: https://www.conventionalcommits.org/en/v1.0.0/#summary

@prologic@twtxt.net Bwahahaha! I tried to establish some form of ā€œconventionā€ for commit messages at work (not exactly what you linked to, though), but it’s a lost cause. šŸ˜‚ Nobody is following any of that. Nobody wants to invest time in good commit messages. People just want to get stuff done.

I’m just glad that 80% are at least somewhat useful – instead of ā€œwipā€ or ā€œshit i screwed upā€.

⤋ Read More

My current PC is from 2013, so I never even bothered to check, but as it turns out: My motherboard still has a serial port. 🤯 I thought these had long died out by then. To be honest, I didn’t have the need for one, either, not until recently … So I completely lost track if PCs have these things or not.

All I needed was one of those slot-cable-thingies. (And if the order of pins is correct, then it actually works. 🤦)

Image

Cool! One less USB device. 😃

⤋ Read More

It was though year. I finished my PhD, yay! Now, I’m on vacation from my main job, as educator at Sesc, and yesterday I wound down some last freelance work obligations. I really need a break.

I want to rest, make some ā€œprintsā€ of my drawings for friends, go to my local museums and have coffee/tea with friends, and that’s it!

Today we celebrate 18 years of our local #Python users group, #GruPySP, and I’m going to meet friends from #GaroaHackerClube, that’s a great start :)

⤋ Read More

@bender@twtxt.net Mate, I don’t know how you do it, but the frequency of words I haven’t come across before is actually quite high in your work. I noticed it in your twtxt messages in the past, but your notes are also full of them. I love it, always learning something new. Thank you for teaching me without knowing. In case you’re wondering, ā€œyesternightā€ and ā€œsqualidā€ are the ones I stumbled across today. :-)

⤋ Read More
In-reply-to » AoC Day #1 solution (mu): https://gist.mills.io/prologic/d3c22bcbc22949939b715a850fe63131

I actually can’t progress to day two till I get home 🤣 – I haven’t pushed the code for the mu compiler yet šŸ¤¦ā€ā™‚ļø So no-one can check my work even if they were so kind 🤣

⤋ Read More
In-reply-to » I have to say. A well designed Hypermedia Driven Web Application such as yarndā€˜ using HTMX is just as good, i'd not better, than one written in React.

Even on piss poor in-flight Wi-Fi it works pretty well šŸ‘Œ

⤋ Read More
In-reply-to » I have a question! I'm looking for a small personal camera(specifically good for videos because that's what I'll use it for) that's cheap enough for a teen to afford but also actually good. Do any of you tech people have any good recs?

@kiwu@twtxt.net It also greatly depends on what kind of videos you plan to record. When you go, let’s say, diving, the specs need to be probably more suited to that type of environment. What about zoom, macro shots, wide landscapes, and so on? When typically mounted on a tripod, I’d say builtin image stabilization is not required, but for more action shots, this is fairly important to not get sea sick. :-)

I’ve got a Nikon Coolpix S9300. I typically only take photos, but it also works for the occasional video. Free hand moves are quite difficult, but when mounted to a tripod, this is not too shabby. There’s absolutely no way around a (makeshift) tridpod when zooming in, though. The audio is definitely not the best, especially wind destroys everything. If I recorded more video, I would certainly want to have an external microphone.

⤋ Read More
In-reply-to » @aelaraji Thanks for the account! I figured out one thing at least so far, my WAF was blocking some of the AP requests. Fixed that. Anyway, holiday time 🤣 Back in ~2 weeks.

Oh my god! 🤣 It works! 🄳 My first Twt into the Fediverse (stil some improvements to be made of course), but still 😳 Wow! 🤩

⤋ Read More
In-reply-to » @prologic I will share later my GoToSocial 10 lines (or less) config.yaml, and 4 lines Caddyfile, and you will see how easy it is.

@bender@twtxt.net That’s not the problem. The problem is the complex DNS setup and delegation. I’ve gotten it working once before, but it’s not that easy if you don’t intend to run it on the APEX Domain.

⤋ Read More

So blackholing my Gitea instance’s DNS for the day seemed to have worked 🤣 (if only I had a real target I could have made their fucking crawlers DDoS themselves šŸ˜‚) – Let’s also see if enabling DDoS proection on the Edge via Vultr’s DDoS capability also helps? šŸ¤”

⤋ Read More

Tired to re-enable the Ege route to git.mills.io today (after finishing work) and this is what I found 🤯 Tehse asshole/cunts are still at it !!! 🤬 – So let’s instead see if this works:

$ host git.mills.io 1.1.1.1
Using domain server:
Name: 1.1.1.1
Address: 1.1.1.1#53
Aliases:

git.mills.io is an alias for fuckoff.mills.io.
fuckoff.mills.io has address 127.0.0.1


PS: Would anyone be interested if I started a massive global class action suit against companies that do this kind of abusive web crawling behavior, violate/disregards robots.txt and whatever else standards that are set in stone by the W3C? šŸ¤”

⤋ Read More

since there are quite literally no note taking apps that work for me, i’ve began writing my own! to get started real quick i adapted the core part of bbycll’s backend and it works so nicely — which speaks volumes to the quality of the code! should really break it out into a custom framework. i’m also realizing how easy it would be to get bbycll v1 ready…but this is probably more important since it’ll allow me to get my life in order ^^’

⤋ Read More

https://fokus.cool/2025/11/25/i-dont-care-how-well-your-ai-works.html

AI systems being egregiously resource intensive is not a side effect — it’s the point.

And someone commented on that with:

I’m fascinated by the take about the resource usage being an advantage to the AI bros.

They’ve created software that cannot (practically) be replicated as open source software / free software, because there is no community of people with sufficient hardware / data sets. It will inherently always be a centralized technology.

Fascinating and scary.

⤋ Read More
In-reply-to » One day I'll like to elaborate why I'm against the usage of Anubis (and its derivatives) for the rampant crawlers

@shinyoukai@neko.laidback.moe I’m mostly against it because it forces Javascriptā„¢ on the client(s) at a blanket level. Doing ā€œProof-of-Workā€ explicitly IMO is fineā„¢, but not at an Ingress/Edge level IMO – Which is why I haven’t adopted it myself.

⤋ Read More

Not a day goes by at work, where I’m not either infuriated or frustrated by this wave of AI garbage. In my private life, I can avoid it. But not at work. And they’re pushing hard for it.

Something has to change in 2026.

⤋ Read More

Fark me šŸ¤¦ā€ā™‚ļø I woke up quite late today (after a long night helping/assisting with a Mainframe migration last night fork work) to abusive traffic and my alerts going off. The impact? My pod (twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but still…). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:

+# Who: Tentcent
+# Why: Bad Bots
+132203

Total damage?

$ caddy-log-formatter twtxt.net.log | cut -f 1 -d  ' ' | sort | uniq -c | sort -r -n -k 1 | head -n 5
  61371 43.134.51.191
    402 159.196.9.199
    121 45.77.238.240
      8 106.200.1.116
      6 104.250.53.138

61k reqs over an hour or so (before I noticed), bunch of CPU time burned, and useless waste of my fucking time.

⤋ Read More
In-reply-to » All my newly added test cases failed, that movq thankfully provided in https://git.mills.io/yarnsocial/twtxt.dev/pulls/28#issuecomment-20801 for the draft of the twt hash v2 extension. The first error was easy to see in the diff. The hashes were way too long. You've already guessed it, I had cut the hash from the twelfth character towards the end instead of taking the first twelve characters: hash[12:] instead of hash[:12].

@lyse@lyse.isobeef.org Oops. šŸ˜… But yay, it’s working. 🄳

⤋ Read More
In-reply-to » My goodness, a new level of stupidity.

I just noticed this pattern:

uninformativ.de 201.218.xxx.xxx - - [22/Nov/2025:06:53:27 +0100] "GET /projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 301 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
www.uninformativ.de 103.10.xxx.xxx  - - [22/Nov/2025:06:53:28 +0100] "GET http://uninformativ.de/projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 400 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"

Let me add some spaces to make it more clear:

    uninformativ.de 201.218.xxx.xxx - - [22/Nov/2025:06:53:27 +0100] "GET                       /projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 301 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
www.uninformativ.de 103.10.xxx.xxx  - - [22/Nov/2025:06:53:28 +0100] "GET http://uninformativ.de/projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 400 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"

Some IP (from Brazil) requests some (non-existing, completely broken) URL from my webserver. But they use the hostname uninformativ.de, so they get redirected to www.uninformativ.de.

In the next step, just a second later, some other IP (from Nepal) issues an HTTP proxy request for the same URL.

Clearly, someone has no idea how HTTP redirects work. And clearly, they’re running their broken code on some kind of botnet all over the world.

⤋ Read More
In-reply-to » What do you do, when a recruiter throws you a PD or two and says the total compensation is ~2-3x what you're on now?! šŸ¤”

@lyse@lyse.isobeef.org @bender@twtxt.net Pfft, they want folks to relocate to Sydney. Fuck that 🤣 Sydney is a bit like San Francisco, I’m not actually sure which is worse. Fuck’n expensive as hell, the only palce you’d be able to afford to buy or rent is at least ~2hrs out of the city by public transport (i.e: train) and by that time you’ve just pissed your life down the toilet, because you’d be expected ot work a 9-10hr day + 2-3hrs of travel each way, buy the time you factor in having to wake up super early to get ready to travel in to work, you basically have zero time for anything else, let alone your ufamily,

Fuck that.

⤋ Read More
In-reply-to » I had no meetings this arvo, so I made an appointment with the woods in my extended lunch break. The 6°C warm sun was out all day long and there was only a very light breeze. So, a very nice autumn day.

17, 21, and 22 are my favourites. Thank you for sharing! On 17, the pulley might be dangerously hanging, but if you manage to make it work, you will have a couple of nails to use! :-D

⤋ Read More
In-reply-to » What do you do, when a recruiter throws you a PD or two and says the total compensation is ~2-3x what you're on now?! šŸ¤”

@prologic@twtxt.net I couldn’t have phrased it any better than @bender@twtxt.net. :-)

Twice or three times the money as before sounds a bit suspicious to me. Of course, I could be wrong, but I always was under the impression, that your last jobs weren’t all that badly salaried. If the new offer is really paid this highly, it might be a shit job. For me, money isn’t everything, I’d rather opt for a lower income where the job is fun than hating to go to work every day. But if the new job ticks all boxes, go for it. :-)

Also: Consult your pillow, don’t rush it.

⤋ Read More

To everyone previously asking, what my (and other developers) endless complaining about Google, to both every EU body, with a form on their website and every relevant team at Google accomplished…
WE FUCKING WON!!!
ā€œWhile security is crucial, we’ve also heard from developers and power users who have a higher risk tolerance and want the ability to download unverified apps.ā€
-source

I was also able to work with my new webhost, to bring back ā€œšŸ•.fr.toā€ - everyones favorite vanity redirect domain, for my site, Googles changes to SSL warnings in Chrome, killed at the beginning of this year.

The lesson: I NEED TO COMPLAIN MORE

⤋ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

FTR, I see one (two) issues with PyQt6, sadly:

  1. The PyQt6 docs appear to be mostly auto-generated from the C++ docs. And they contain many errors or broken examples (due to the auto-conversion). I found this relatively unpleasent to work with.
  2. (Until Python finally gets rid of the Global Interpreter Lock properly, it’s not really suited for GUI programs anyway – in my opinion. You can’t offload anything to a second thread, because the whole program is still single-threaded. This would have made my fractal rendering program impossible, for example.)

⤋ Read More

I used Gemini (the Google AI) twice at work today, asking about Google Workspace configuration and Google Cloud CLI usage (because we use those a lot). You’d think that it’d be well-suited for those topics. It answered very confidently, yet completely wrong. Just wrong. Made-up CLI arguments, whatever. It took me a while to notice, though, because it’s so convincing and, well, you implicitly and subconsciously trust the results of the Google AI when asking about Google topics, don’t you?

Will it get better over time? Maybe. But what I really want is this:

  • Good, well-structured, easy-to-read, proper documentation. Google isn’t doing too bad in this regard, actually, it’s just that they have so much stuff that it’s hard to find what you’re looking for. Hence …
  • … I want a good search function. Just give me a good fuzzy search for your docs. That’s it.

I just don’t have the time or energy to constantly second-guess this stuff. Give me something reliable. Something that is designed to do the right thing, not toy around with probabilities. ā€œAI for everythingā€ is just the wrong approach.

⤋ Read More
In-reply-to » Lol, YouTube supports increasing the playback speed, but when you want to go to 4x, they want you to pay extra:

@movq@www.uninformativ.de Have we reached peak enshittification yet?

YouTube is completely broken for me for a week or more. The player doesn’t even load anymore. Trying to limit the search results to real videos doesn’t do shit, etc. It’s useless. But downloading the videos with yt-dlp still works like a dream.

⤋ Read More

I should work on my client again and add some new features. Like adding a new feed directly in the client and not having to go to the config first. And showing a preview of a feed before actually adding it. Also, a search would be something to add. And finally combining my User-Agent analyzer with my subscription list to spot new feeds automatically.

⤋ Read More
In-reply-to » Just a small update, on my birthday (on the 5th), I accidentally deleted the main page, of my website, so I'm using that as an opportunity, to try something new, at https://thecanine.smol.pub or gemini://thecanine.smol.pub - depending on your preferred protocol.

@bender@twtxt.net to work through both https and gemini, the site is not written in HTML, but in Gemtext, automatically converted to HTML, when needed. Gemtext is nicely explained for example here: https://garden.bouncepaw.com/hypha/gemtext . In short, it is so limited, no line can be more than one thing, so no links in a list are possible, othar than doing it through something like this primitive workaround.

⤋ Read More
In-reply-to » @bender Thanks for this illustration, it completely ā€œmisunderstoodā€ everything I wrote and confidently spat out garbage. šŸ‘Œ

@prologic@twtxt.net Let’s go through it one by one. Here’s a wall of text that took me over 1.5 hours to write.

The criticism of AI as untrustworthy is a problem of misapplication, not capability.

This section says AI should not be treated as an authority. This is actually just what I said, except the AI phrased/framed it like it was a counter-argument.

The AI also said that users must develop ā€œAI literacyā€, again phrasing/framing it like a counter-argument. Well, that is also just what I said. I said you should treat AI output like a random blog and you should verify the sources, yadda yadda. That is ā€œAI literacyā€, isn’t it?

My text went one step further, though: I said that when you take this requirement of ā€œAI literacyā€ into account, you basically end up with a fancy search engine, with extra overhead that costs time. The AI missed/ignored this in its reply.

Okay, so, the AI also said that you should use AI tools just for drafting and brainstorming. Granted, a very rough draft of something will probably be doable. But then you have to diligently verify every little detail of this draft – okay, fine, a draft is a draft, it’s fine if it contains errors. The thing is, though, that you really must do this verification. And I claim that many people will not do it, because AI outputs look sooooo convincing, they don’t feel like a draft that needs editing.

Can you, as an expert, still use an AI draft as a basis/foundation? Yeah, probably. But here’s the kicker: You did not create that draft. You were not involved in the ā€œthought processā€ behind it. When you, a human being, make a draft, you often think something like: ā€œOkay, I want to draw a picture of a landscape and there’s going to be a little house, but for now, I’ll just put in a rough sketch of the house and add the details later.ā€ You are aware of what you left out. When the AI did the draft, you are not aware of what’s missing – even more so when every AI output already looks like a final product. For me, personally, this makes it much harder and slower to verify such a draft, and I mentioned this in my text.

Skill Erosion vs. Skill Evolution

You, @prologic@twtxt.net, also mentioned this in your car tyre example.

In my text, I gave two analogies: The gym analogy and the Google Translate analogy. Your car tyre example falls in the same category, but Gemini’s calculator example is different (and, again, gaslight-y, see below).

What I meant in my text: A person wants to be a programmer. To me, a programmer is a person who writes code, understands code, maintains code, writes documentation, and so on. In your example, a person who changes a car tyre would be a mechanic. Now, if you use AI to write the code and documentation for you, are you still a programmer? If you have no understanding of said code, are you a programmer? A person who does not know how to change a car tyre, is that still a mechanic?

No, you’re something else. You should not be hired as a programmer or a mechanic.

Yes, that is ā€œskill evolutionā€ – which is pretty much my point! But the AI framed it like a counter-argument. It didn’t understand my text.

(But what if that’s our future? What if all programming will look like that in some years? I claim: It’s not possible. If you don’t know how to program, then you don’t know how to read/understand code written by an AI. You are something else, but you’re not a programmer. It might be valid to be something else – but that wasn’t my point, my point was that you’re not a bloody programmer.)

Gemini’s calculator example is garbage, I think. Crunching numbers and doing mathematics (i.e., ā€œcomplex problem-solvingā€) are two different things. Just because you now have a calculator, doesn’t mean it’ll free you up to do mathematical proofs or whatever.

What would have worked is this: Let’s say you’re an accountant and you sum up spendings. Without a calculator, this takes a lot of time and is error prone. But when you have one, you can work faster. But once again, there’s a little gaslight-y detail: A calculator is correct. Yes, it could have ā€œbugsā€ (hello Intel FDIV), but its design actually properly calculates numbers. AI, on the other hand, does not understand a thing (our current AI, that is), it’s just a statistical model. So, this modified example (ā€œaccountant with a calculatorā€) would actually have to be phrased like this: Suppose there’s an accountant and you give her a magic box that spits out the correct result in, what, I don’t know, 70-90% of the time. The accountant couldn’t rely on this box now, could she? She’d either have to double-check everything or accept possibly wrong results. And that is how I feel like when I work with AI tools.

Gemini has no idea that its calculator example doesn’t make sense. It just spits out some generic ā€œargumentā€ that it picked up on some website.

3. The Technical and Legal Perspective (Scraping and Copyright)

The AI makes two points here. The first one, I might actually agree with (ā€œbad bot behavior is not the fault of AI itselfā€).

The second point is, once again, gaslighting, because it is phrased/framed like a counter-argument. It implies that I said something which I didn’t. Like the AI, I said that you would have to adjust the copyright law! At the same time, the AI answer didn’t even question whether it’s okay to break the current law or not. It just said ā€œlol yeah, change the lawsā€. (I wonder in what way the laws would have to be changed in the AI’s ā€œopinionā€, because some of these changes could kill some business opportunities – or the laws would have to have special AI clauses that only benefit the AI techbros. But I digress, that wasn’t part of Gemini’s answer.)

tl;dr

Except for one point, I don’t accept any of Gemini’s ā€œcriticismā€. It didn’t pick up on lots of details, ignored arguments, and I can just instinctively tell that this thing does not understand anything it wrote (which is correct, it’s just a statistical model).

And it framed everything like a counter-argument, while actually repeating what I said. That’s gaslighting: When Alice says ā€œthe sky is blueā€ and Bob replies with ā€œwhy do you say the sky is purple?!ā€

But it sure looks convincing, doesn’t it?

Never again

This took so much of my time. I won’t do this again. šŸ˜‚

⤋ Read More
In-reply-to » For the innocent bystanders (because I know that I won’t change @bender’s opinion):

@movq@www.uninformativ.de Gemini liked your opinion very much. Here is how it countered:

1. The User Perspective (Untrustworthiness)

The criticism of AI as untrustworthy is a problem of misapplication, not capability.

  • AI as a Force Multiplier: AI should be treated as a high-speed drafting and brainstorming tool, not an authority. For experts, it offers an immense speed gain, shifting the work from slow manual creation to fast critical editing and verification.
  • The Rise of AI Literacy: Users must develop a new skill—AI literacy—to critically evaluate and verify AI’s probabilistic output. This skill, along with improving citation features in AI tools, mitigates the ā€œgaslightingā€ effect.
2. The Moral/Political Perspective (Skill Erosion)

The fear of skill loss is based on a misunderstanding of how technology changes the nature of work; it’s skill evolution, not erosion.

  • Shifting Focus to High-Level Skills: Just as the calculator shifted focus from manual math to complex problem-solving, AI shifts the focus from writing boilerplate code to architectural design and prompt engineering. It handles repetitive tasks, freeing humans for creative and complex challenges.
  • Accessibility and Empowerment: AI serves as a powerful democratizing tool, offering personalized tutoring and automation to people who lack deep expertise. While dependency is a risk, this accessibility empowers a wider segment of the population previously limited by skill barriers.
3. The Technical and Legal Perspective (Scraping and Copyright)

The legal and technical flaws are issues of governance and ethical practice, not reasons to reject the core technology.

  • Need for Better Bot Governance: Destructive scraping is a failure of ethical web behavior and can be solved with better bot identification, rate limits, and protocols (like enhanced robots.txt). The solution is to demand digital citizenship from AI companies, not to stop AI development.

⤋ Read More
In-reply-to » sorry i haven't been working on bbycll or even hanging around twtxt much at all as of late -- gf was over for a few weeks, i turned twenty years old, and have been doing extremely unnecessary things to my website

@zvava@twtxt.net Late happy birthday! :-)

Cool, your website indeed mostly works even in w3m and ELinks. Sending notifications in the about page is out of question, since it requires JS. Apart from that, this is very good, keep it up!

Not sure how I can get the deskop look and feel working in Firefox, but since I’m a tiling window manager user, I prefer linear webpages anyway. :-)

⤋ Read More

sorry i haven’t been working on bbycll or even hanging around twtxt much at all as of late – gf was over for a few weeks, i turned twenty years old, and have been doing extremely unnecessary things to my website

work in progress

⤋ Read More
In-reply-to » And maybe I should go back to using GUI designers. Haven’t used those since the Visual Basic days. šŸ¤” It wasn’t pretty, but you got results very quickly and efficiently.

@lyse@lyse.isobeef.org

The one for Delphi was quite good.

It was! I didn’t use Delphi for long, though. Dunno why, I always gravitated towards Visual Basic back then. šŸ˜…

These days I don’t deal with GUI programming anymore.

I also avoid it when possible, because … it’s exhausting, because … the tools that I have/know are ā€œsubparā€. Doing anything regarding GUIs always feels like a chore. That wasn’t the case in the VB days.

Well, I made this in ~2009 with Java/Swing and it was pretty nice to work with, custom widgets and all:

Image

I wouldn’t dare doing this with GTK.

⤋ Read More

Holly! I thing I might have figured out a way to twt like a true caveman 🤣
The sad thing tho is this caveman will have to cheat a bit in order to replay properly…
(P.S: I hope the multi-lines trick works, if not then F..rog it!)

⤋ Read More
In-reply-to » The hail we had yesterday 🤯 Media Media

@prologic@twtxt.net Ouch, I don’t want to get hit by these projectiles! :-O Is that black tube on the bottom the remains of a chair leg?

I reckon one could collect these hail stones and put them in the drinks to work around the lost air conditioning. At least if one doesn’t mind icy drinks. (I can’t stand that, because I immediately get hickup when drinking something cold.)

⤋ Read More