Iâm in the process of making a big page with photos and screenshots, and this is more stuff than I expected. đ«©
So Iâve been working on GoNIX the last few days⊠Which is derived from ”Linux â At least itâs entire build process. GoNIX however has a 100% Go userland, including the init process, package and service management.
Now⊠As an experiment, because I was able to make much process on enhancing the build tools and package management, I decided to see if I could build a âDesktopâ Gui of sortsâŠ
I still wanted it to be fairly minimal and lightweight. So I went with wayland (of course) and labwc and yambar. So far Iâm liking the result đ 42 packages in the wayland-desktop meta port. Not too bad. Not sure if I can slim that down anymore⊠But trying to avoid Mesa/GL as that drags in far too much âcruftâ.
Every now and then, I think that I have carefully proof-read my message enough times and hit the âAdd messageâ button in tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up ttâs cache. This is rather tidious:
- Recall the
sqlitebrowser ~/.local/share/twtxt/tt2.sqlitefrom my shell history.
- Switch to the âBrowse dataâ tab.
- Go to the
messagestable and wait a second or two until itâs loaded.
- Sort by the
created_atcolumn twice, so that I get descending order.
- Select the first message, which is typically the one in question.
- Find the âRemove currently selected rowâ button in the tool bar.
- Commit the changes.
- Close sqlitebrowser.
So, I finally implemented the removal of messages from the cache in tt. I can now hit d and confirm the removal. Bam! Should have done that ages ago!
https://lyse.isobeef.org/tmp/tt-confirm-message-removal.png
Next up is the search, I think.
@lyse@lyse.isobeef.org Ah, I almost thought so (that you wrote it by hand), but then I looked at the source code and saw the TOC and I was like: âNaah, probably not. I would be way too lazy to do that manually.â đ And indeed ⊠ha.
Oh god, yeah, thatâs a lot of <span>. đ€ Canât really avoid that, I guess, especially if you want to do syntax highlighting of code blocks.
You wrote your own site generator, didnât you?
In parts. I write everything in Markdown (itâs online, even: https://movq.de/blog/postings/2026-05-29/0/POSTING-en.md), plus a few Vim shortcuts (to generate thumbnails, for example), and then python-markdown renders it: https://pypi.org/project/Markdown/ This process is wrapped in a shell script, like âre-render every page if the .md file is newer than the .html fileâ and thatâs mostly it. And the Atom feed generator is completely custom. đ€
Created a new website here at offgridholdout.org. In the process of configuring it up with services. Stay Tuned!
@movq@www.uninformativ.de Itâs the âLyse types the entire HTML by handâ generator. Yes, no kidding. I write articles so rarely, that I can do that once in a while. Itâs fun to some degree, but also not.
After some time, I finally recorded some Vim macros to insert <b>âŠ</b>, <var>âŠ</var>, <span class=s>âŠ</span> etc. around the tokens. This helped a little bit. But I was still questioning my mental state doing it like that. I also had to fix a bunch of the end tags by hand, because the word movement wasnât enough or the end movement went too far. Quite the annoying process for sure.
But I think the HTML looks a wee bit nicer and is maybe even semantically a little bit better than having only <span>s everywhere. I find the <span class="whatever"> just soo awfully long. Of course, I never look at the code again, but knowing, that e.g. there is a <b> and it saves so many bytes in comparison, makes me happy. It is a more elegant solution in my opinion. Not by much, but better nonetheless. Itâs a matter of simplicity. Admittedly, even I canât avoid the <span>s alltogether. Oh well. On the other hand, Iâm sure that this does not make any difference whatsoever. I bet, nobody and nothing, like a screenreader, analyzes the HTML for that, where this would be truly useful.
Oh! Maybe text browsers, though. It just occurred to me while composing this reply. :-) Haha, I lost my bet quickly. w3m picks up at least the <b> for keywords and builtin types, <u> for filenames and <i> for comments. Yey. No different styles for <var> and <mark>, unfortunately. elinks only renders the bold. Itâs cool that I had the right intuition right from the beginning, despite being unable to pinpoint it. :-)
All the <span> hell with common syntax highlighters is a downer for me that keeps me from looking more into them. If I wrote more articles, I might rig something up with Pygments. At least thatâs somehow positively connotated in my brain. Not sure if it actually deserves it, but I dealt with that in some loose form (canât even remember) years and years ago. Apparently, it wasnât too terrible.
To prepare the table of contents, I used grep and sed with some manual intervention in the end. The entire process can be improved. Absolutely.
You wrote your own site generator, didnât you?
itâs âprobabilisticâ not âdeterministicâ
Yep, I know. And when I tell that to people and tell them âif we use AI here, we lose the ability to debug this stuffâ, then all I get is: âBut itâs good enough. We donât need to debug this. Non-deterministic computing has its use cases.â
But that is just not how Iâd like to model/implement our business processes. đ€ I want something reliable, not âit mostly worksâ.
Most of the time, I take a very very long time to do anything. If I say, for example, âIâll build an IRC Web Clientâ, that may not happen for weeks, if not months, until my sub conscience has has time to process everything. Itâs like basically a âfeelingâ of internal readiness. I never talk through it, never actively think about it, it just happens.
@lyse@lyse.isobeef.org Alright. đ
Yeah, donât waste time on this. I have a vacation coming up and I wonât touch this subject, either. Fuck this shit.
I really like your style of writing, btw. Itâs much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process.
This is like the 32nd iteration of that list and it was much worse in the beginning. đ
@movq@www.uninformativ.de I really like your style of writing, btw. Itâs much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process.
Sure, feel free to include anything you want. Regarding citing, this is where twtxt falls short in my opinion. Especially with feed rotation, classic links die quickly. Message hashes only help so much. Nobody outside the twtxt universe knows how to deal with them. So, not perfect for inclusion on a web page. Linking to a thread or message on some yarnd instance might be the more user-friendly option. But the disadvantage is that itâs âjustâ a mirror, not the primary or original source. In all reality, this could be considered splitting hairs, though.
I should have probably written a proper article. That would have given me time to review the result more carefully, too. ;-) Perhaps thatâs something for the future. But honestly, Iâm not sure if I really want to waste my time and energy on that subject. So many other fun or useless things come to mind right away that I could do instead. 8-)
So, yeah, do whatever feels best to you. I donât mind being cited or linked, but I also donât mind not to be cited or not to be linked to. :-D Not a helpful answer, I know. Sorry. ;-) But anyway, thanks for asking, mate! I do appreciate it.
To finish my thought, linking to my frontpage is probably also useless, since I deliberatly do not have a table of contents there. In fact, my entire frontpage is rather silly.
Of course, @movq@www.uninformativ.de! Most of my points are also included in your list.
First of all, programming is what I really do enjoy the most. So, it doesnât make any sense at all to not do this anymore. âBut you could use your now free time to do something much cooler and more valuable!â, others might reply. Fuck no, I donât want to waste my time with other shit that doesnât fulfill me, why on earth would I want to do that?
All this hallucination reduces quality badly. In my experience, itâs also happening much more rapidly than I expected. Even though developers are still supposed to own and understand whatever has been generated under their name and even be responsible for that, the sad reality is that teammates often blindly trust the AI output. âBut I asked the AI and it told me that $this was impossibleâ, âIâve no idea either, but the AI just generated itâ are responses I get more often. What really makes my angry is when I point out a flaw and suggest an alternative and this is the reaction. It happened several times that just trying it out and seeing it clearly work to proof my point only took me half a minute, but people still did something handwavy else instead.
The learning effect is drastically reduced. The more time I spend on a topic, the better the odds that whatever I learned actually makes it over into long-term memory. Itâs like if a collegue just says âdo it like thatâ or âthis solves your problemâ, but neither explains the why or how. Somehow, people are still convinced that itâs a completely different story when you replace the human counterpart with a computer program in this equation.
Skills are unlearned. Itâs like with automation in general, just much worse. You end up in a state where youâve no clue how anything works under the hood or how to actually find out important information that are needed to solve your problem. Youâre screwed when a process breaks out of the blue. Even though it can become also rather terrible, with classical automation youâre typically still be able to decipher how exactly the thing was supposed to do something.
The energy consumption is sooo high, I absolutely do not want to be a part in burning down our planet. Iâm sure I find (and probably have long found without knowing) other ways to contribute to worsen our climate crisis.
The scraper part is already covered in detail in your list. :-)
Iâm convinced that license and copyright violations are only played down or even refused entirely because companies want to make big money quickly. With the work of others of course. Their double standards are obvious, they still try to actively keep their own stuff secret and out of any training sets. At most for internal use only. Virtually noone in charge is interested in good long-term solutions. Short-term for the win, when disaster eventually strikes, the causers are long gone, the responsibilities in other hands.
Vendor lock-in is something that lots of folks are only realizing very slowly. Itâs completely crazy to me. This drug dealer routine should be well-known by now. Itâs fucking everywhere. Yet, people are always surprised when they found themselves caught in it.
Adding new AI stuff only increases complexity. But complexity is the enemy that everybody should fear and reduce as much as possible. Of course, this is not limited to AI at all. And everywhere I look around, people in charge looooove to make things way more complicated than they ever need to be. Yet, simplicity is the real art and much harder to achieve.
I donât understand why we have to go back full force to the ambiguity of natural languages. This alone should be more than enough to realize what a stupid idea all that is. Linked to that is that the âinstruction setâ is interpreted differently with newer model versions. I mean, is has to be. Why else would somebody want to upgrade in the first place than to get more Powerfulâą Featuresâą?
Some people argue that with AI the democratization is empowered. However, in my view, the exact opposite is the case. Models are getting so large that you can basically not run them locally or even train them. So, you have to rely on whatever the vendor offers you and runs for you. In the end, this only gives the owners more power, the multi billionaires. Not exactly what I understand by democratization.
Finally, technology assessments are missing completely. Or they are faked such that mostly only the (questionable) benefits are listed. But all the negative impact is just ignored.
Letâs keep some popcorn around for when this all explodes. :-)
I should have changed the key binding from Print to Shift+Print a long time ago to launch import and upload the screenshot to my server. I was constantly hitting that stupid key on accident when I actually wanted to press [AltGr].
If I only could map a key binding to slap these damn ThinkPad T15 keyboard layout designers at Lenovo remotely in the face. Seriously, who in their right mind puts Print (in German Druck) between AltGr and Ctrl at the bottom row to begin with?! Exactly. Nobody. What a horrible location.
Somebody really has got their session handling licked. Iâm surfing in a webshop and opening another article to check on the details only to receive the error message: âAn error occurred during the ordering procedure with PayPal. Please try again later or use the normal ordering process.â
Another AI rant:
One of the âkey featuresâ of LLMs is that you can use ânatural languageâ, because that is supposed to be easier than having to learn a programming language. So, when someone says to me, âI automated this process using AI!â, what they mean is: They have written a very, very large Markdown document. In this document, they list what the AI is supposed to do.
In prose.
This is a complete disaster.
Programming and programming languages have one crucial property: They follow a well-defined structure and every word has a well-defined meaning. That is absolutely brilliant, because I can read this and I can follow the program in my head. I can build a mental model. I can debug this, down to the precise instructions that the CPU executes. This all follows well-defined patterns that you can reason about.
But with these Markdown files, I am completely lost. We lose all these important properties! No debugging, no reasoning about program flow, nothing. Itâs all gone. Itâs a magic black box now, literally randomized, that may or may not do what you wanted, in some order.
People now throw these Markdown files at me ⊠and ⊠am I supposed to read this? Why? Itâs completely random and fuzzy.
Sadly, these AI tools are good enough to be able to mostly grasp the authors intentions. Hence people donât see the harm they cause, because âit worksâ.
We already have a ton of automations like this at work: Tickets get piped through an LLM and these Markdown files / prompts determine what will happen with the ticket, and maybe they trigger additional actions as well, like account creation or granting permissions. All based on fuzzy natural language â that no two humans will ever properly agree on.
Jesus Christ, weâre now INTENTIONALLY bringing the ambiguity of legal texts and lawyers into programming.
Using natural language is NOT easier than using a programming language. It is HARDER. Have you people never read a legal contract? And that stuff can STILL be debated in a court room.
I canât begin to comprehend why we, tech folks, push this so hard. What is wrong with you? Or me?
(And, once again, weâre ignoring other factors here. LLMs use a ton of energy and ressources, that we donât have to spare. Itâs expensive as fuck. It doesnât even run locally on our servers, meaning we give all these credentials and permissions to some US company. Itâs insane.)
@bender@twtxt.net Thatâs the plan! Once Iâm happy with this v1 (and we find no other obvious bugs/issues) updating âChangesâ with user-facing / human-freidnyl changes is part of the release process!
Spent most of the long weekend working on a few coding projects⊠specifically, I pushed some updates for TwtKpr to my test instance before spending some time working on the build process and demo page for my new twtxt-parsing library⊠which lead me to make some changes to my existing fluent-dom-esm library.
So, nothing actually got finished, but the incremental updates continueâŠ
Mu (”) is now getting much closer to where I want it to be, it now has:
- A
processstdlib module (very basic, but it works)
- An
ffistdob module that supportsdlopen/dlsymand calling C functions with a nice mu-esque wrapperffi.fn(...)
- A
sqlitestdlib module (also very basic) that shows off the FFI capabilities
đ
@prologic@twtxt.net That might be a challenge, at least in 16-bit Real Mode: The OS follows the model of COM files on DOS, i.e. the size of the binary cannot exceed 64 KiB and heap+stack of the running program will have to fit into that same 64 KiB. đ (The memory layout is very rigid, each process gets such a 64 KiB slice.)
And in 64-bit Long Mode, there is no âkernelâ yet. The thing in the video is literally just a small bare-metal program.
But some day, maybe. đ
Almost all photos turned out to be blurred today. That made sorting a very quick process. Delete, delete, delete, ⊠https://lyse.isobeef.org/waldspaziergang-2025-12-26/
@lyse@lyse.isobeef.org These tables get shuffled around every time your OS switches to another process. Itâs crazy that so much is going on behind the scenes.
@kiwu@twtxt.net Assembly is usually the most low-level programming language that you can get. Typical programming languages like Python or Go are a thick layer of abstraction over what the CPU actually does, but with Assembler you get to see it all and you get full control. (With lots of caveats and footnotes. đ )
Iâm interested in the boot process, i.e. what exactly happens when you turn on your computer. In that area, using Assembler is a must, because you really need that fine-grained control here.
I rewrote all my solutions in Rust (except for day 10 part 2) and these are the runtimes on my i7-3770 from 2013 (this measures CLOCK_PROCESS_CPUTIME_ID, not wallclock):
day01/1 [ 00.000501311] Result: 1066
day01/2 [ 00.000400298] Result: 6223
day02/1 [ 00.000358848] Result: 12586854255
day02/2 [ 00.000750711] Result: 17298174201
day03/1 [ 00.000106537] Result: 17405
day03/2 [ 00.000404632] Result: 171990312704598
day04/1 [ 00.000257517] Result: 1626
day04/2 [ 00.007495342] Result: 9173
day05/1 [ 00.000237212] Result: 505
day05/2 [ 00.000142731] Result: 344423158480189
day06/1 [ 00.000229629] Result: 4076006202939
day06/2 [ 00.000279552] Result: 7903168391557
day07/1 [ 00.000204422] Result: 1622
day07/2 [ 00.000283816] Result: 10357305916520
day08/1 [ 00.029427421] Result: 84968
day08/2 [ 00.028089859] Result: 8663467782
day09/1 [ 00.000310304] Result: 4764078684
day09/2 [ 00.015512554] Result: 1652344888
day10/1 [ 00.000796663] Result: 375
day10/2 [ --.---------] Result: 15377 (Z3)
day11/1 [ 00.000416804] Result: 753
day11/2 [ 00.000660528] Result: 450854305019580
day12/1 [ 00.000336081] Result: 577
day12/2 [ 00.000000695] Result: no part 2
A little under 90 ms total.
On my Samsung NC10 netbook from 2011 with its Intel Atom N455 at 1.6 GHz:
day01/1 [ 00.003771326] Result: 1066
day01/2 [ 00.003267317] Result: 6223
day02/1 [ 00.003902698] Result: 12586854255
day02/2 [ 00.006659479] Result: 17298174201
day03/1 [ 00.000747544] Result: 17405
day03/2 [ 00.002737587] Result: 171990312704598
day04/1 [ 00.001263892] Result: 1626
day04/2 [ 00.044985301] Result: 9173
day05/1 [ 00.001696761] Result: 505
day05/2 [ 00.000978962] Result: 344423158480189
day06/1 [ 00.001387660] Result: 4076006202939
day06/2 [ 00.001734248] Result: 7903168391557
day07/1 [ 00.001295528] Result: 1622
day07/2 [ 00.001809659] Result: 10357305916520
day08/1 [ 00.277251443] Result: 84968
day08/2 [ 00.284359332] Result: 8663467782
day09/1 [ 00.003152407] Result: 4764078684
day09/2 [ 00.071123459] Result: 1652344888
day10/1 [ 00.005279527] Result: 375
day10/2 [ --.---------] Result: 15377 (Z3)
day11/1 [ 00.003273342] Result: 753
day11/2 [ 00.005139719] Result: 450854305019580
day12/1 [ 00.002857552] Result: 577
day12/2 [ 00.000004421] Result: no part 2
A little over 700 ms total.
I like this. You get performance thatâs more or less in the ballpark of C, but without the footguns.
@prologic@twtxt.net I couldnât find the exact blog post from before, one that used redirection directives in its nginx config. but I found [this one ](https://melkat.blog/p/unsafe-pricing#:~:text=Something%20else%20Iâve%20been%20doing%20this%20year,%20fine.) mentioning a similar process but done differently.
yarnd installation has been properly fixed.
cat /etc/mokou/yarnd.conf
exec=/usr/pkg/sbin/daemonize -c/var/db/yarnd -u www -p /var/run/yarnd.pid /usr/pkg/sbin/chpst -e /usr/local/etc/yarnd /usr/local/sbin/yarnd -b 127.0.0.1:[classified information]
I know this might seem a bit overengineered, but the previous command until now had the secrets exposed on the process list
@prologic@twtxt.net The periodic blacklists updates will be done automatically in the background, as for the different processing mechanisms (rules, collections of rules, remediation âŠetc) you just install/add the pre-made ones from the hub and call it a day, theyâll get periodic updates when needed. But you could easily create and add your own in case you want to block or white-list a specific behavior
@prologic@twtxt.net The main thing that I tought of is that whomever is abusing your services must be a well known actor (by range/set of IPs) that got reported by other Crowdsec users. So to my simpletonâs understanding, your reverse-proxy/web server passes the requests by crowdsec for processing, they get banned for $N hours if the source has already been blacklisted by the community or violates any of a set of behavior base rules (and even more hours for repeat offenders); otherwise the requests/responses go as per usual. Not sure if I got things right but this might help paint a better picture of the process.
Be it Java with Swing or PyQt6, it takes ~300 ms until a basic window with a treeview and a listbox appears. That is a very noticeable delay.
Is it unrealistic to expect faster startup times these days? đ€
Once the program is running, a new second window (in the same process) appears very quickly. So itâs all just the initialization stuff that takes so long. I could, of course, do what âfatâ programs have done for ages: Pre-launch the process during boot, windowless. But I was hoping that this wasnât needed. đ (And itâs a bad model anyway. When the main process crashes, all windows crash with it.)
I used to run office hours at Google and the number of people who came into my office absolutely convinced that there was no way to search a dataset without having the entire thing in memory for every process was too damn high.
@bender@twtxt.net The only problem with uploading is the procesing. Do you expect any server-side processing of the WebP or just store and host?
@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 EvolutionYou, @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;drExcept 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 againThis took so much of my time. I wonât do this again. đ
@movq@www.uninformativ.de Yeah, give it a shot. At worst you know that you have to continue your quest. :-)
Fun fact, during a semester break I was actually a little bored, so I just started reading the Qt documentation. I didnât plan on using Qt for anything, though. I only looked at the docs because they were on my bucket list for some reason. Qt was probably recommended to me and coming from KDE myself, that was motivation enough to look at the docs just for fun.
The more I read, the more hooked I got. The documentation was extremely well written, something Iâve never seen before. The structure was very well thought out and I got the impression that I understood what the people thought when they actually designed Qt.
A few days in I decided to actually give it a real try. Having never done anything in C++ before, I quickly realized that this endeavor wonât succeed. I simply couldnât get it going. But I found the Qt bindings for Python, so that was a new boost. And quickly after, I discovered that there were even KDE bindings for Python in my package manager, so I immediately switched to them as that integrated into my KDE desktop even nicer.
I used the Python KDE bindings for one larger project, a planning software for a summer camp that we used several years. Itâs main feature was to see who is available to do an activity. In the past, that was done on a large sheet of paper, but people got assigned two activities at the same time or werenât assigned at all. So, by showing people in yellow (free), green (one activity assigned) and red (overbooked), this sped up and improved the planning process.
Another core feature was to generate personalized time tables (just like back in school) and a dedicated view for the morning meeting on site.
It was extended over the years with all sorts of stuff. E.g. I then implemented a warning if all the custodians of an activitiy with kids were underage to satisfy new the guidelines that there should be somebody of age.
Just before the pandemic I started to even add support for personalized live views on phones or tablets during the planning process (with web sockets, though). This way, people could see their own schedule or independently check at which day an activity takes place etc. For these side quests, they donât have to check the large matrix on the projector. But the project died there.
Hereâs a screenshot from one of the main views: https://lyse.isobeef.org/tmp/k3man.png
This Python+Qt rewrite replaced and improved the Java+Swing predecessor.
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of processing 2. Exactly-once delivery
@prologic@twtxt.net Ah, I see. Yeah, you might be right. (Still a fragile process due to the general AI wonkiness, but it can help to some degree, yes.)
@movq@www.uninformativ.de I submitted it via the form on their website (https://digital-markets-act.ec.europa.eu/contact-dma-team_en) and got the following response:
Dear citizen,
Thank you for contacting us and sharing your concerns regarding the impact of Googleâs plans to introduce a developer verification process on Android. We appreciate that you have chosen to contact us, as we welcome feedback from interested parties.
As you may be aware, the Digital Markets Act (âDMAâ) obliges gatekeepers like Google to effectively allow the distribution of apps on their operating system through third party app stores or the web. At the same time, the DMA also permits Google to introduce strictly necessary and proportionate measures to ensure that third-party software apps or app stores do not endanger the integrity of the hardware or operating system or to enable end users to effectively protect security.
We have taken note of your concerns and, while we cannot comment on ongoing dialogue with gatekeepers, these considerations will form part of our assessment of the justifications for the verification process provided by Google.
Kind regards,
The DMA Team
@lyse@lyse.isobeef.org Cool! đ You might be interested in my own learnings and toying around with building my own container engine / tooling (whatever you wanna call it) box. I had to learn a bunch of this stuff too đ Control Groups, Namespaces, Process Isolation, etc.
@zvava@twtxt.net oh duh! Sorry, I promised I read, my brain just didnât process it right. I shall follow your progress, and offer bits and pieces of unrequested trivialities. :-)
March 4th to September 25th, 1789 : The U.S. House of Representatives compiles a list of possible Constitutional Amendments, some of which will ultimately become the Bill of Rights. The House proposes seventeen out of the many which are offered; the Senate reduces this list to twelve. During this process Senator Tristram Dalton of Massachusetts proposes an Amendment seeking to prohibit, and provide a penalty for, any American accepting a âtitle of nobilityâ (RG 46 Records of the U.S. Senate). Although it isnât passed, this is the first time a âtitles of nobilityâ amendment is proposed.
I hear you, @movq@www.uninformativ.de! :â-(
At work, too. For a few weeks now when I try to log into this horrible Outlook web intershit (Because why would they fix the Evolution integration?! Itâs cactus for well over a year now. Probably more like two.), it forwards me to the corporate weblogin, I enter my credentials, even do the bloody MFA crap and get redirected back to Outlook. âLoading mailboxâŠâ âPlease wait for us to log you out, do not close this window while this process is underway.â Fuck you! I have to delete the cookies for this damn domain each and every fucking time. Otherwise, this goes in circles forever. I tried the game for 15 minutes, no joke.
But wait, thereâs more! Why just fuck it up only a little bit? This week I get logged out at the middle of the day. Every. Single. Day. Not even close to eight hours since I started, no. What the hell!? I reckon I just donât even bother reauthenticating anymore in the arvo. No more e-mails for Lyse after lunch. Fuck it. Itâs just distraction, anyway, right?!
@movq@www.uninformativ.de I had to look it up! âIs decaf coffee real coffee?â
âYes, decaf coffee is real coffee. Itâs made from the same coffee beans as regular coffee, but the caffeine content is significantly reduced through a decaffeination process. This process involves removing 97% or more of the caffeine, leaving behind the coffeeâs flavors and aromas.â
OK then! đ
Fuck đ€Ł Building and learning about machine learning and evolutionary processes is hardâą đ€Ł
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 @prologic@twtxt.net Jokes aside, I donât think thatâs the right approach either. We had spell checkers, since I can remember, as well as other tools, like the smart image select, used mostly to remove backgrounds. These are tools, that just simplify the process of either opening up a dictionary and looking up a word, you canât remember the spelling of, or the process of placing a billion little dots around the part of an image you want to select - none of these are creative or enjoyable tasks, we already had tools for them, decades before AI. I donât think we need to go back to cave paintings, to be free of AIs influence on our creative work.
@prologic@twtxt.net @movq@www.uninformativ.de I donât even think the premise of this makes much sense. If an artist is convinced they cannot compete, with the âAIâ learning models, we already have today, they must have some self esteem issues, strange opinion on what the purpose of art is, or just be someone mindlessly redrawing already established things and not be all that good at it.
It might be connected to some typically non-artists assumption, that the more time and effort the artwork took to accomplish, the more artistic it is - this can be further twisted in these peoples minds, into the âmore pointless detail = more artistic artâ meme. AI often ads pointless and illogical details everywhere, âso itâs obviously better, than the human artist, who drew the originalâ.
Some people just enjoy having the picture they wanted or having the status of an artist to brag about and donât actually enjoy the artistic process of discovery and small decisions, made while drawing, that shape the outcome into something, only you could have created.
@prologic@twtxt.net Thatâs an interesting premise in that article:
The fun has been sucked out of the process of creation because nothing I make organically can compete with what AI already producesâor soon will.
This is like saying itâs pointless to make music yourself because some professional player/audio engineer does a better job. Really, thereâs always someone or something thatâs better than you at a particular job.
If we focus too much on âcompetitionâ, then yes, you can just stop doing anything. I donât know how common this mindset is, especially among artists or creative people. đ€ I would have assumed that many writers, for example, simply enjoy the process of writing. Am I being too naive once more? đ€Ł
@kat@yarn.girlonthemoon.xyz I only listened to you while going through my photos, so I did not pay very close attention. :-)
Since you have a proper server â haha, not just one â and hence are not limited, I suggest you learn a real programming language and donât waste your time with this PHP mess. It might have improved a wee bit since I was a kid, but it felt like some hacked together shit. The defaults also were questionable at best, it was easier to hold it wrong than right. This stands testament to bad design and is especially terrible from a security point of view.
Youâre right, programming is like any other craft. You only truly learn by actually doing it. And this just takes time. Very long time to master it. Or as close to as it gets. The more you know, the more you realize what else you donât know (yet). Itâs a never ending process. So, take it easy, donât get discouraged, happy hacking and enjoy the endeavor! :-)
@lyse@lyse.isobeef.org oooh thatâs a good point! woodworking is scary and i donât have much room for it but i do have SOME room in mind that could work for it⊠i feel like iâd just hurt myself in the process though LOL
@@twtxt.net The fact that it has an SDK and process management is quite amazing g! đ€Ż
Today I added support for Letâs Encrypt to eris via DNS-01 challenge. Updated the gcore libdns package I wrote for Caddy, Maddy and now Eris. Add support for yarnâs cache to support # type = bot and optionally # retention = N so that feeds like @tiktok@feeds.twtxt.net work like they did before, and⊠Updated some internal metrics in yarnd to be IMO âbetterâ, with queue depth, queue time and last processing time for feeds.