@aelaraji@aelaraji.com Yeah and I think I can basically pull the crowssec rules every N interval right and use this to make blocking decisions? â Iâve actually considered this part of a completely new WAF design that I just havenât built yet (just designing it).
Oh fuck me! I had basically turned off the route to git.mills.io last night and went ot bed at ~2AM after unsuccessfully trying to control the attacks (bad bots) that were behaving like a DDoS attack. Tried to re-enable the route this monring and *BOOM, theyâre back! As-if they never stopped?! what da actual fuq?!
Anyone have any clever ideas of what I can do here to allows normal users, like you nice folk and block ths obnoxious traffic?!
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].
After fixing this rookie mistake, the tests still all failed. Hmmm. Did I still cut the wrong twelve characters? :-? I even checked the Go reference implementation in the document itself. But it read basically the same as mine. Strange, what the heck is going on here?
Turns out that my vim replacements to transform the Python code into Go code butchered all the URLs. ;-) The order of operations matters. I first replaced the equals with colons for the subtest struct fields and then wanted to transform the RFC 3339 timestamp strings to time.Date(âŠ) calls. So, I replaced the colons in the time with commas and spaces. Hence, my URLs then also all read https, //example.com/twtxt.txt.
But that was it. All test green. \o/
@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.
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.)
@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 Uh, that actually looks not that terrible. Somehow, I remember Swing GUIs being way uglier.
As for Visual Basic, I only had to use VBA once in my life. That was in the beginning of my career when I inherited a project from a leaving coworker. Fuck me, was that awful. Just alone the damn compiler error dialog box popping up in my face all the time while editing and the compiler already trying to parse the unfinished and hence of course uncompilable code. Boy, that left a lasting impression on me. I ported everything to Java very quickly. Luckily, the code base wasnât all that large at that point in time. I had to add a bunch of new features after that, so I was very glad that I convinced my workmate/project manager to do that first. We didnât even need a GUI, the button in Excel was transformed to a command line program that just generated the large file.
But I cannot comment on the VB GUI designer, I never used that. Your screenshot looks very similar to the Delphi one, though. Only towards the end of my Delphi days I found out about the possibility to make the widgets snap to window edges and corners (I donât remember how that was called), so that resizing the windows was actually possible without messing up their entire contents.
Switching to Linux, Delphi wasnât an option anymore. For some reason I couldnât use Kylix. Maybe it was already dead by the time I changed OSes. Or I couldnât get it to run. I just donât remember. I just recall that the unavailability of Delphi was the reason it took me a while to actually settle on Linux. I then fully switched to Java. The GridBagLayout was my absolutely favorite Swing layout manager. I reckon I used it 98% of the time, because it was so powerful and made the windows resize properly, just as I had learned to do in Delphi shortly before.
Up until discovering Swing, I used Javaâs AWT for a short amount of time. That was very limited I think and I hit the limits fairly quickly. Later at uni, we had one project making use of SWT. Didnât convince me either. I could be wrong, but I think there was also a SWT GUI designer plugin for Eclipse. If there really was, that one wasnât in the same street as Delphiâs (there must be a reason I forgot about it ;-)).
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:
https://movq.de/v/de26d5edb3/s.png
I wouldnât dare doing this with GTK.
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.
(When I switched to Linux, I quickly got stuck with GTK and that only had Glade, which wasnât super great at the time, so I didnât start using it ⊠and then I never questioned that decision âŠ)
Just FTR, in case this wasnât obvious, the âright to repairâ (if there ever is one) needs to be more than just âyouâre legally allowed to repair stuffâ.
I just fixed this thing by replacing two capacitors. Great, but this was an absolute shitshow and it took several days. So many obstacles, everythingâs tiny, connectors glued together, ⊠It worked in the end, but I was so close to giving up.
Being legally allowed to do something is basically worthless if itâs not feasible to actually do it.
Ireland plans to make a $1,500 a month basic income for artists permanent â Read more
@arne@uplegger.eu Yeah SSE + HTMX is basically all you need really. The whole complicated/complex JavaScript ecosystem is overkill.
Unbelievable Security Hole: JWT Secret in a Series-B Funded Company
It started as a routine penetration test. Little did I know I was about to uncover one of the most basic yet catastrophic securityâŠ
[Continue reading on ⊠â Read more
Network Layers Model (Networking Basics) - Computerphile â Read more
@lyse@lyse.isobeef.org In my case it was a silver necklace, a hummingbird with a wing connected with the cold welding I mentioned using thin brass wires.
It made it in a goldsmithing class (I went to a private craftmanship high-school) so no phones allowed (no photos of it) and no âtake homeâ of the works.
Hereâs a rough sketch of it drawn by memory, the dots in the wing is where it connects to the body.
The technique is basically the same as i described, but the scale is much smaller, the whole piece was about 5-6 cm on the largest side.
The rivet was made by drilling a hole through the parts, than with a short and thicker drill you widen the hole on the surface to let the rivet settle flatter on the piece, then with a rubber hammer you hit it to flatten the head until itâs snug on the hole, lock them together by doing the same on the other side.
Note that widening the hole with a thicker drill head wonât make a difference with bigger holes, mine had holes of about 1-2 mm of diameter maximum.
Hereâs a sketch of what is going on for clarity.
@bender@twtxt.net We have quite a few that are basically part of our friendly neighborhood. They knew we wonât chase them aware, scare them, etc. In fact some of us find little cockroaches to feed them, tose âem up in the air and watch them sweep in and grab the little suckers đ€Ł
War on America, Chicago Theater of Operations
Ruth Ben-Ghiat ,  Professor of History New York University -  Reader Support News | Lucid Substack
_Stephan: Ruth Ben-Ghiat is an American history professor and political commentator. She is a scholar on fascism and authoritarian leaders, and a professor of history and Italian studies at New York University. She is absolutely correct. What amazes and saddens me is that millions of Americans sit at home basically reading social media ⊠â Read more
âI cannot abideâ: Biting dissent blasts Supreme Court for âplainly misjudgingâ case
Nicole Charky-Chami,  Senior Editor -  Raw Story
_Stephan: Like the country itself, the Supreme Court is divided between the majority of corrupt justices who are basically helping Trump and the Republicans to make the United States a nation controlled by a fascist authoritarian oligarchy, and a minority of justices who follow precedent and the laws. The minority ⊠â Read more
Hi everyone, hereâs a little introduction of my twtxt client (still WIP).
The client Iâm developing is a single tenant project that runs entirely in the browser (it might use an optional backend).
Itâs entirely based on native web-components and vanilla JS, it is designed to act closer to a toolkit than a full-fledged client, allowing users to âDIYâ their own interface with pure html or plain javascript functions.
Users can also build their own engines by including a global javascript object that implement the defined internal API (TBD).
Iâm planning to build a system that is easy enough to build and use with any skill level, using only pure html (with a homebrew minimal template engine) or via plain JS (Iâll be also providing some pre-made templates too).
Everything can be self-hosted on any static hosting provider, this allows to spread twtxt within communities like Neocities and similarly hosted websites (basically any Indieweb/Smallweb/Digital garden website and any of the common GitHub/Lab/Berg/lify Pages).
It will be probably named something like TxtCraft or craf.txt but Iâm not really sure yet⊠đ€ (Maybe some suggestions could help)
Iâm still in the experimental phase, so thereâs no decent source-code to share yet, but it will soon enough!
Pretty happy with my zs-blog-template starter kit for creating and maintaining your own blog using zs đ Demo of what the starter kit looks like here â Basic features include:
- Clean layout & typography
- Chroma code highlighting (aligned to your site palette)
- Accessible copy-code button
- âOn this pageâ collapsible TOC
- RSS, sitemap, robots
- Archives, tags, tag cloud
- Draft support (hidden from lists/feeds)
- Open Graph (OG) & Twitter card meta (default image + per-post overrides)
- Ready-to-use 404 page
As well as custom routes (redirects, rewrites, etc) to support canonical URLs or redirecting old URLs as well as new zs external command capability itself that now lets you do things like:
$ zs newpost
to help kick-start the creation of a new post with all the right âstuffââą ready to go and then pop open your $EEDITOR đ€
@prologic@twtxt.net the simplest thing to do is to completely forgo hashing anything because we are communicating using plain text files right now :3 while i agree hashes are incredibly helpful in the backend im not sure it has a place outside of it, it basically eliminates two core design principals of twtxt (human readability and integrating well with unix command line utilities) and makes new clients more difficult to build than it should be
index.md a prehook and a few utilities:
@bender@twtxt.net Yes I did about a week or so ago. It took me a lot of effort to get the content even rendered in the first place. LOL I had to basically export my blog as HTML (can you believe that?!) â The Hugo export just didnât work at all đ€Ł
@zvava@twtxt.net love the direction this is heading, hope this soon evolves into a basic Android app, usable with any instance.
@lyse@lyse.isobeef.org Iâm looking for an OS that runs better than Windows (đ€ź) and through which I can do basic stuff like read RSS feeds and browse geminispace; but which I can also learn from.
Hmm, gnu.org is slow as heck. Shorter HTML pages load in about ten seconds. This complete AWK manual all in one large HTML page took a full minute: https://www.gnu.org/software/gawk/manual/gawk.html Is there maybe some anti AI shenanigans going on?
In any case, I find the user guide super interesting. My AWK skills are basically non-existent, so I finally decided to change that. This document is incredibly well written and makes it really fun to keep reading and learning. Iâm very impressed. So far, I made it to section 1.6, happy to continue.
@dce@hashnix.club Ooops đ Hope you still have enough money for the basics đ€ Iâm doing okay though!
@movq@www.uninformativ.de Right now Iâm basically just blocking entire ASN(s) at this point and large blocks of IP(s) from Anthropic, OPenAI, Microsoft and others.
** Make awk rawk **
A friend online recently replied to something I wrote about awk by saying:
[âŠ] itâs a danged shame [awk] didnât continue to evolve the way Ruby, Python, PHP have evolved over the decades.
I had exactly this thought while working on my slightly unhingedâlets see if I can implement a basic scheme using awk by writing an assembler and VM in awk,â skwak. Which eventually lead me to start noodling on how to layer in some modern niceties into awk, without breaking awkâs portability.
⊠â Read more
Desktop SSH->Pinephone->here. This is crazy. Sxmo is the best UI for the Pinephone, and maybe phones in general. Insane: basically dwm on a phone with gestures and built-in yt-dlp + mpv (among others).
@prologic@twtxt.net well, the ones down there (on your list) are pretty minimal, basic even. Yet, their pricing is super high (number wise, havenât checked the equivalent from AUD to USD).
Someone did a thing:
https://social.treehouse.systems/@ariadne/114763322251054485
Iâve been silently wondering all the time if this was possible, but never investigated: Keep doing X11 but use Wayland as a backend.
This uses XWaylandâs ârootfulâ mode, which basically just gives you a normal Wayland window with all the X11 stuff happening inside of it:
https://www.phoronix.com/news/XWayland-Rootful-Useful
In other words, put such a window in fullscreen and you (more or less) have good old X11 running in a Wayland window.
(For me, personally, this wonât be the way forward. But itâs a very interesting project.)
Hahaha, Iâm sure there were well over one thousand fireflies today! Basically at all times I could watch at least 15 of them around me. At better spots where one could see a few meters into the forest, there were easily 30 individuals, probably more. One even landed on my small finger. I didnât feel anything at all, but my finger glowed. :-) Awwww! After a 20 meters ride it took off.
But it looks like I have to go already at 21:30 at sunset the next days. Today, I left the house at 22:00 and all the above happend in the first half. The second half of the walk was rather boring, maybe just around 70 glowworms in total. The extremely busy route yesterday was virtually dead this time I came around. They all have already gone to sleep, or something like that.
I also encountered two toads. I nearly stepped on the first one, but it luckily jumped to the side in time. No animals harmed.
I did a âlectureâ/âworkshopâ about this at work today. 16-bit DOS, real mode. đŸ Pretty cool and the audience (devs and sysadmins) seemed quite interested. đ„ł
- People used the Intel docs to figure out the instruction encodings.
- Then they wrote a little DOS program that exits with a return code and they used uhex in DOSBox to do that. Yes, we wrote a COM file manually, no Assembler involved. (Many of them had never used DOS before.)
- DEBUG from FreeDOS was used to single-step through the program, showing what it does.
- This gets tedious rather quickly, so we switched to SVED from SvarDOS for writing the rest of the program in Assembly language. nasm worked great for us.
- At the end, we switched to BIOS calls instead of DOS syscalls to demonstrate that the same binary COM file works on another OS. Also a good opportunity to talk about bootloaders a little bit.
- (I think they even understood the basics of segmentation in the end.)
The 8086 / 16-bit real-mode DOS is a great platform to explain a lot of the fundamentals without having to deal with OS semantics or executable file formats.
Now that was a lot of fun. đ„ł Itâs very rare that we do something like this, sadly. I love doing this kind of low-level stuff.
Okay, hereâs a thing I like about Rust: Returning things as Option and error handling. (Or the more complex Result, but itâs easier to explain with Option.)
fn mydiv(num: f64, denom: f64) -> Option<f64> {
// (Letâs ignore precision issues for a second.)
if denom == 0.0 {
return None;
} else {
return Some(num / denom);
}
}
fn main() {
// Explicit, verbose version:
let num: f64 = 123.0;
let denom: f64 = 456.0;
let wrapped_res = mydiv(num, denom);
if wrapped_res.is_some() {
println!("Unwrapped result: {}", wrapped_res.unwrap());
}
// Shorter version using "if let":
if let Some(res) = mydiv(123.0, 456.0) {
println!("Hereâs a result: {}", res);
}
if let Some(res) = mydiv(123.0, 0.0) {
println!("Huh, we divided by zero? This never happens. {}", res);
}
}
You canât divide by zero, so the function returns an âerrorâ in that case. (Option isnât really used for errors, IIUC, but the basic idea is the same for Result.)
Option is an enum. It can have the value Some or None. In the case of Some, you can attach additional data to the enum. In this case, we are attaching a floating point value.
The caller then has to decide: Is the value None or Some? Did the function succeed or not? If it is Some, the caller can do .unwrap() on this enum to get the inner value (the floating point value). If you do .unwrap() on a None value, the program will panic and die.
The if let version using destructuring is much shorter and, once you got used to it, actually quite nice.
Now the trick is that you must somehow handle these two cases. You must either call something like .unwrap() or do destructuring or something, otherwise you canât access the attached value at all. As I understand it, it is impossible to just completely ignore error cases. And the compiler enforces it.
(In case of Result, the compiler would warn you if you ignore the return value entirely. So something like doing write() and then ignoring the return value would be caught as well.)
@bender@twtxt.net Both Gopher and Mastodon are a way for me to âbabbleâ. đ I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesnât really work for me. Itâs too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (Iâm not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons donât really support following hashtags, which is a must-have for me).
Iâll probably keep reading Fedi stuff, I just wonât post that much, I think.
Having some fun with SIRDS this morning.
What you should see: https://movq.de/v/dae785e733/disp.png
And the tutorial I used for my C program: https://www.ime.usp.br/~otuyama/stereogram/basic/index.html
How can one write blazing fast yet useful compilers (for lazy pure functional languages)?
Iâve decided enough is enough and I want to write my own compiler (seems I caught a bug and lobste.rs is definitely not discouraging it). The language I have in mind is a basic (lazy?) statically-typed pure functional programming language with do notation and records (i.e. mostly Haskell-lite).
I have other ideas Iâd like to explore as well, but mainly, I want the compiler to be so fast (w/ optimisations) that ⊠â Read more
A bill from our ISP in 1998.
Weâre talking about a month here, 1998-07-27 to 1998-08-26.
Basic fee: 7.50 DM (about 6⏠today).
Online time: 516 minutes, 23.53 DM (about 20⏠today).
Thatâs just the ISP costs, if Iâm not mistaken. The underlying phone calls were pretty pricey as well.
How to Adjust Font Smoothing in macOS Sequoia & macOS Sonoma
Font Smoothing is a longstanding feature in MacOS that aims to make rendered screen text more legible, and it works by subtly blending the edges of display fonts with the background by using anti-aliasing. The idea is to reduce the jaggedness of screen text, but in practice nowadays it basically makes screen fonts on the ⊠[Read More](https://osxdaily.com/2025/06/04/how-adjust-font-smoothing-macos-sequoia-sonoma-v ⊠â Read more
Over the past few weeks Iâve been experimenting with and doing some deep learning and researching into neutral networks and evolutionary adaptation of them. The thing is I havenât gotten very far. Iâve been able to build two different approaches so far with limited results. The frustrating part is that these things are so ârandomâ it isnât even funny. Like I canât even get a basic ANN + GA to evolve a network that solves the XOR pattern every time with high levels of accuracy. đ
Status report on optional Rust in FreeBSD support
Shawn Webb has published a status\âšreport on work to provide basic support in FreeBSD for userland components
written in Rust.
We introduced a new BSD makefile, located at
share/mk/bsd.rust.mk,
that enables building a Rust application during buildworld. As of ⊠â Read more
How to Use Surfshark DNS on Mac, iPhone, iPad
Did you know that your internet service provider default DNS servers almost certainly track and log your online activity? Basically this means that every time you visit a website or use an internet-connected application from your Mac, iPhone or iPad, your ISP is aware of that. Many ISPâs will not only log and track your ⊠Read More â Read more
@bender@twtxt.net basically because we donât readily use or support range hunters when requesting feeds itâs ideal to keep feed small for the time being at least until we think about writing up a formal specification for this, but itâs also only for Http hosted feeds
@bender@twtxt.net Basically the way Iâm reading this is 1 RPM. This is a rather aggressive rate limit actually. This basically makes Github inaccessible and useless for basically anything unless youâre logged in. You can basically kiss âpursuingâ casually, anonymously goodbye.
Imagine if I imposed that kind of rate limit on twtxt.net?! đ€Ł
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 đ§
i started a little thing on my dreamwidth and called it a flash prompt box. basically itâs a limited time thing where people can prompt me for stuff iâm offering, like short fanfiction, photoshop-edited user icons, music recs, and a bit more! iâm having sooo much fun with it so far itâs been a blast just making stuff for friends :)
also more friends are making their own posts with the same concept which is SO cool to see
Move beyond basic threshold alerts! Define clear Service Level Objectives (SLOs) and measure Service Level Indicators (SLIs) to track real user impact. Use Prometheus to alert when your SLOs are at risk, ensuring you focus on what truly matters to your users. #Monitoring #SRE #Prometheus
Release Candidate of iOS 18.5, MacOS Sequoia 15.5, iPadOS 18.5 Available, Public Release Coming Soon
A release candidate build for iOS 18.5, iPadOS 18.5, and MacOS Sequoia 15.5 is now available for users enrolled in the beta testing programs. For users not in the beta testing programs, what this basically means is that the final versions of these system software releases is coming soon, perhaps even next week. macOS Sequoia ⊠[Read More ⊠â Read more
@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 đą
@kat@yarn.girlonthemoon.xyz Yeah right now Iâm trying to see if I can âspread the CPU usage of fetching N feeds across M durationâ so basically âsmoothâ out the spikes in CPU usage.
git checkout main && git pull && make build. Few bug fixes đ
@prologic@twtxt.net done! hey i got a question, you got any clue why my feeds arenât updating? maybe it has to do with the new cache flag but i messed with that a bit and didnât notice a difference. basically itâs like i have to manually restart yarnd to see new posts itâs really weird lol
Republican posts video defending law that declared slaves âthree-fifthsâ of a person
Sarah K. Burris,  Senior Editor -  Raw Story
_Stephan: I think it is very important to recognize that Donny â2 dollâ, as Lawrence OâDonnell called him on his program tonight, when Trump said basically that American children have too many toys, is just the leader of a racist fascist coup, but far from the only person perpetrating this destruction of the feder ⊠â Read more
i donât think any of you know what a fan listing is but basically it was a fandom thing in the 2000s where people would make websites that other people could sign up for to show theyâre a fan of something. more info here.
anyway i made a fan listing kinda thing in PHP to learn the language. it was fun af
RVPC Adds BASIC Interpreter to âŹ1 Open Source RISC-V Computer
The RVPC, a fully open source hardware and software retro-style computer project built around the CH32V003 microcontroller, now supports a BASIC interpreter. This update further expands the capabilities of the âŹ1 RISC-V-based system, which already features VGA output and PS/2 keyboard input, despite its extremely limited resources. Originally conceived as a DIY challenge, the RVPC [âŠ] â Read more
Barnes: Parallel ./configure
Tavian Barnes takes on\âšthe tedious process of waiting for configure scripts to run.
I paid good money for my 24 CPU cores, but ./configure can only
manage to use 69% of one of them. As a result, this random project
takes about 13.5Ă longer to configure the build than it does to
actually do the build.The purpose of a ./configure script is basically to run the
compiler a bunch of times and check which runs succeeded. In this
way it ⊠â Read more
@xuu@txt.sour.is Hahaha, thatâs cool! You were (and still are) way ahead of me. :-)
We started with a simple traffic light phase and then added pedestrian crossing buttons. But only painting it on the canvas. In our computer room there was an actual traffic light on the wall and at the very end of the school year our IT basics teacher then modified the program to actually control the physical traffic light. That was very impressive and completely out of reach for me at the time. That teacher pulled the first lever for me ending up where I am now.
cacher branch? đ€ It is recommended you take a full backup of you pod beforehand, just in case. Keen to get this branch merged and to cut a new release finally after >2 years đ€Ł
@kat@yarn.girlonthemoon.xyz Yes see UPGRADE.md â I believe @xuu@txt.sour.is is now running this live after a couple of hiccups and a bug fix. So yeah if you can, that would be cool, basically looking for early beta testers (I was the alpha tester đ€Ł)
@kat@yarn.girlonthemoon.xyz my rule of thumb is try not to drink any caffeine past midday. This is basically based on experience and the half-life of caffeine in your system.
@bender@twtxt.net I use it. Itâs not the feature I use the most in the fediverse, but I communicate this way with several friends. For example, itâs the main way I talk to the original creator of the twtxt-el repository, the way people greet me for the first time or the way they notify me of some bugs in the software I maintain. I can even tell you that itâs the main way I talk to some maintainers of the Emacs community. If there are any of you reading my words, speak up!
Why not have the same? There are things I want to say to @prologic@twtxt.net in private, why should I have to send him an email or private IRC? Or an public twt.
Of course, hereâs a topic weâve already talked about: what is twtxt for you? For me it will always be a social network, in microblogging format, but an asynchronous way of communicating. And having a tool to control visibility is basic đ
I look forward to hearing from you @eapl.me@eapl.me !
@movq@www.uninformativ.de Oh, thatâs beautiful!
I opened up all the photos in new tabs and went through them. For a second, I wondered that it was snowing at your place right now. :-D
That made me realize that so far we basically had nearly no April weather whatsoever. May might be full of it then, letâs see. :-)
Basic Orange Cat Activities â Read more
Burp Suite Beyond Basics: Hidden Features That Save Time and Find More Bugs
đFree Article Link
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/burp-suite-beyond-basics-hidden-f ⊠â Read more
SqliteCache backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache (which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? đ€
@kate@yarn.girlonthemoon.xyz Iâll cut a release soonâą, but still a few more things to iron out đ€Ł One of the new challenges is figuring out what to do with the âDiscoverâ view now that is has an unconfined limit, on my pod (at least) itâs now basically just ânoiseâ đ€Šââïž
$10,000 worth GitHub Access Tokens | Secret Search Operators
Secret but basic GitHub dorks & search operators that can lead to $10k bounty worth Acess Tokens.
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/10- ⊠â Read more
@bender@twtxt.net @ionores@twtxt.net Yep, itâs extremely seldom that a photo turns out looking better than reality. Very rarely does that happen. But basically never with sunsets. ;-) Maybe once a leap year Iâm very surprised to wonder how that subject wasnât better in person but actually on film.
Trump approval rating now? What polls say of president today amid tariffs pause, China trade war
Chris Sims,  Digital Content Producer for Midwest Connect Gannett -  IndyStar
_Stephan: We are experiencing a coup created by a man who sees himself as above the law, basically the self-appraisal of every aspiring dictator, and yet if you look at the polls reported today you see that between 42 to 47% of Americans still approve what ⊠â Read more
SqliteCache backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache (which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? đ€
@abucci@anthony.buc.ci Apologies, the basic summary is as follows:
- Decided to rewrite the cache backend.
- It will now be a SQLite backend going forward.
- Iâm planning on no data migration.
oh out of boredom yesterday i made my blog available via markdown files too so you can use charmbracelet/glow to read them in your terminal :)
basically i just set up a file directory on a path of my blog, organized the MD files by year, and so in theory you can navigate to that path and choose a folder, then copy a link to a markdown post and run this:
glow -p https://bubblegum.girlonthemoon.xyz/md/2025/2025-03-31%20premature%20reflections%20on%20sudden%20responsibility.md
and then as long as you have glow installed, you can read my posts from the terminal :D itâs so cool
This is sooo cool, it reminds me of learning QBasic (and then Visual Basic) in the 90s
Easylang story
https://easylang.online/apps/story.html
@bender@twtxt.net I was a bit confused at first what that is: Apparently, itâs the source code of Altair BASIC: https://gizmonaut.net/soapflakes/EXE-199711.html
(Of course they have a user agent filter. đ Canât download that PDF with wget.)
XMPP Interop Testing: Enabling Tests
Our project creates a framework that allows anyone to easily add XMPP standards compliance tests to the test phase of
their build pipeline. Prior to our most recent release (version 1.5.0) a test execution would basically run all tests
in the test suite. We provided an option to exclude certain tests, but in essence, the bulk of tests would execute.
This behavior is generally preferable when testing an XMPP server implementation. A benefit of exclusion-based
⊠â Read more
Erlang Solutions: Elixir Tutorials
Elixir is a functional language that combines modern syntax, broad metaprogramming capabilities and the power of BEAM â Erlang Virtual Machine. It has a vast community which is constantly growing due to its resilient concurrency model and programmer-friendly approach. Our tutorials are focused on showcasing language capabilities and helping any newcomer gain enough knowledge to start actively utilising Elixir in their projects.
In this sec ⊠â Read more
Hi, So i made a little MVP registry crawler tool for twtxt. It now has a basic UI to play with. It has a somewhat full history back to about 2018-ish. Plus some interesting bits that were timestamped to earlier.
Find it here: https://watcher.sour.is
Code base is found here: https://git.sour.is/sour-is/xt
Hi, So i made a little MVP registry crawler tool for twtxt. It now has a basic UI to play with. It has a somewhat full history back to about 2018-ish. Plus some interesting bits that were timestamped to earlier.
Find it here: https://watcher.sour.is
Code base is found here: https://git.sour.is/sour-is/xt
In Mexico you couldnât register the word Sonora (state), nor Taqueria (kind of restaurant) as there are two common words, but perhaps the combination of both is trademarkable, Iâm not sure, so many âtaqueriasâ here donât file a trademark request. Itâs usually âTaquerĂa [LAST_NAME]â or âTaquerĂa [PLACE]â.
At the same time, the word âtaqueriaâ was trademarked in UK, like it would be âParisâ or âPubâ I guess, so basically Sonora Taqueria didnât reply to the cease and desist, based on:
[Lizbeth GarcĂa]: A brand may not use a word that is generic or descriptive of the products or services it is putting into circulation on the market.
Since he (Ismael, Taqueriaâs representative) didnât get any response, he decided to leave it in the hands of his law firm.
In early 2023, after all the noise on the internet and the mobilization caused by this case, an agreement was finally reached with TaquerĂa to settle the matter peaceably.
In March 2023, Michelle and Sam decided to register the Sonora TaquerĂa brand and logo with the UK Intellectual Property Office.
(I didnât submit a proposal of my own, because it would basically just be a duplicate of another one. đ )
Anyone interested in the PicoCalc? https://www.clockworkpi.com/product-page/picocalc #basic
Perfect!
I now also implemented basic replying by hitting a as in answering. Whatâs missing is automatically adding mentions in the message text template. Thatâs gonna be a bit more tricky, though.
tt.) Now, this is the second attempt in tt2.
Righto, now with added basic subject support. Hopefully!
i really wanna learn golang it looks fun and capable and i can read it kind of but every time i try it iâm immediately stuck on basic concepts like âwhat the fuck is a pointerâ (this has been explained to me and i still donât get it). i did have types explained to me as like notes on code which makes sense a bit but iâm mostly lost on basic code concepts
NXPâs FRDM i.MX 91 Board Provides Low-Power Solution for Linux-Based IoT Systems
Following the release of the FRDM i.MX 93 board, NXP has launched the FRDM i.MX 91 development board, a compact platform based on the i.MX 91 applications processor. It is intended for early-stage development and evaluation of industrial and IoT systems that require basic Linux support, integrated connectivity, and hardware-level security. The board features a [âŠ] â Read more
Siri Still Struggles to Answer Very Basic Questions
Siri launched on the iPhone 4S all the way back in 2011, and yet it still struggles to answer some of the most basic questions.
Daring Fireballâs John Gruber today highlighted a recent post from a Reddit user wh ⊠â Read more
@eapl.me@eapl.me @bender@twtxt.net @prologic@twtxt.net Not including a photo was a stupid move, sorry. There you go:
This particular one is 95mm wide and 185mm high. Fairly compact.
I can only use it figure out distances to other dates and to do some basic calendar math. Iâm not able to actually schedule anything. But I grew up with a month calendar like you have there where all appointments of the entire family was recorded.
By far most of my paper use is drawing random stuff on scratch paper during meetings. :-D
PicoCalc Brings Classic Computing to ClockworkPi v2.0 with Raspberry Pi Pico
The PicoCalc is a compact computing platform designed to recreate the experience of early personal computers. Running on 260KB of memory, it allows users to code in BASIC, explore Lisp, interact with a UNIX-like environment, and run retro games and digital music. Its modular and open-source design makes it adaptable for various applications. Built on [âŠ] â Read more
Local and State Police are Joining Trumpâs Deportation Force
Francesca DâAnnunzio,  David McHam Investigative Reporting Fellow -  Texas Observer
_Stephan: Here is the fact-based truth about what is going on with deportation. Two things stand out for me. The first is that the Trump coup is actually deporting fewer people than Bidenâs presidency did. The second is that Trump is now basically militarizing local and state police exactly as Hitler did. If you track the ⊠â Read more
Erlang Solutions: Top 5 IoT Business Security Basics
IoT is now a fundamental part of modern business. With more than 17 billion connected devices worldwide, IoT business security is more important than ever. A single breach can expose sensitive data, disrupt operations, and damage a companyâs reputation.
To help safeguard your business, weâll cover five essential IoT security basics: data encryption, strong password policies, regular security audits, employee awareness tr ⊠â Read more
@prologic@twtxt.net Tolerant yes, but in the right places. This is just encouraging people to not properly care. The extreme end is HTML where parsers basically accept any input. Iâm not a fan of that. Whatever.
McMahon Hearing Shows Trump âDead Set on Destroying Public Educationâ
Jessica Corbett,  Senior Editor -  Common Dreams
_Stephan: Another MAGAt lackey testifies basically to her intent to destroy public education. It is part of the coup we are undergoing. It has not passed notice of the oligarchs that the less well-educated men and women are the more likely it is that they will vote for Republicans. Thatâs why they want to end public education. It not only ⊠â Read more
@andros@twtxt.andros.dev I suggest to not touch it and work on a different project instead. :-D
No, in all seriousness, thatâs a tough one. Try to figure out the requirements and write tests to cover them. In my experience, if there is no good documention, tests might also be lacking. It goes without saying that you have to understand the code segments first before you can begin to refactor them. Commit even earlier and more often than usual, this will help you bisecting potentially introduced bugs later on. Basically baby steps.
But it also depends on the amount of refactoring required. Maybe just scrap it entirely and start from scratch. This might not be feasible due to e.g. the overall project size, though.
Pineboards Introduces Modulo Carrier Boards for Raspberry Pi CM5 and CM4
Pineboards has introduced the Modulo4, Modulo5 Basic, and Modulo5 IO PoE+ carrier boards, adapting Raspberry Pi Compute Modules to the Raspberry Pi 5 form factor. These boards maintain compatibility with PCIe HATs, cases, and cooling solutions, with the Modulo5 IO PoE+ adding PoE+ support for network-powered operation. Pineboards indicates that with the release of the [âŠ] â Read more
@arne@uplegger.eu Ohjemine, TYPO3! O_o Lass mich schreiend davonlaufen!
Mit dieser absoluten Katastrophensoftware vor dem Herrn haben wir mal ein Studienprojekt gemacht. Die hat alle Vorurteile komplett ĂŒbererfĂŒllt. Angefangen von Fehlerseiten, die statt 4xx oder dergleichen immer mit HTTP 200 ausgeliefert wurden oder auch, dass das generierte HTML leider einfach ungĂŒltig war. Ăber die Implementierung von Löschen durch einen Deleted-Schalter in der Datenbank, das Speichern von Passwörtern im Klartext bis hin zu völlig umstĂ€ndlichen Bedienungskonzepten. Alles hat immer brutal viele Schritte gebraucht. Das Zeilennummernrumgeeier im TYPO-Script erinnerte eher an Basic. Uns kam es auch so vor, als ob man damit nicht ernsthaft was sinnvolles machen könnte.
Zu allem Ăberfluss hatte irgendwer noch ein ganz hundsmiserables Buch ausgegraben, das als Vorbereitung dienen sollte. Ich kann mich zum GlĂŒck weder an den Titel noch den Autor erinnern, aber ich weiĂ noch, wie das komplett inkonsistent geschrieben war. Anfangs gabs mehrere Seiten zu Unicode und UTF-8 wurde angepriesen, aber alle Beispiele haben dann auf ISO-8859-1 gesetzt. Gezeigter Beispielcode war hĂ€ufig unterste Schublade. Selten hab ich so merkwĂŒrdige ErklĂ€rungen gelesen: âWenn Sie die Sicherheitswarnhinweise stören, kommentieren Sie doch bitte im Quelltext die die()-Funktion in $ZEILE aus.â Oder ein anderer Klassiker: âAusgeschrieben wĂŒrde der Code wohl folgendes tunâŠâ. War sich der Autor also nicht ganz sicher, ob sein Codeschnipsel vllt. doch in Wahrheit was ganz anderes tut.
Seit diesem gigantischen Trauma (das hat mich wirklich sehr nachhaltig geprÀgt, wie man Dinge nicht machen sollte) hab ich erfolgreich einen Bogen um das TYPO3-Universum gemacht.
Ich kann nur hoffen, dass es zwischenzeitlich ein wenig besser geworden ist. Aber Deinem Kurzbericht zufolge scheint da ja immer noch der Wurm drin zu sein. Mein Beileid! :-(
For many years I have found Flask to be too basic a tool for modern development. But since I create APIs using Flask with Pydantic to validate the input data, some middlewares for parsing and Blueprint to separate the code into modules⊠I must admit that I am super comfortable, fast and easy to test.
#flask #python #pydantic
Federal Judge Temporarily Blocks Trump Administration Freeze On Federal Grants And Loans
JoNel Aleccia, Moriah Balingit, Collin Binkley, Matthew Daly, Lisa Mascaro, Adithi Ramakrishnan, Amanda Seitz, Michael Sisak, Lindsay Whitehurst and Tammy Weber,  Reporters -  Huffington Post | Associated Press
_Stephan: Criminal Trump basically shut down the government today, despite his administrationâs denial, but this move has been blocked by ⊠â Read more
Federal DEI websites go dark after Trump order and threat of âconsequencesâ
Robert King and Ben Leonard, Â Â - Â Politico
Stephan:Â In full accord with Project 2025, the American government is being restructured so that only Whites, and preferably males, are treated fairly. All DEI issues or basic civil rights are no longer protected. The United States is becoming South Africa in the 1960s.

^-- SC2046: Quote this to prevent word splitting.
For more information:
https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
Most likely not all that problematic in this application, but itâs good to know about this underlying concept. Word splitting is basically splitting tokens on whitespace, this can lead to interesting consequences as illustrated by this little code:
$ echo $(echo "Hello World")
Hello World
$ echo "$(echo "Hello World")"
Hello World
In the first case the shells sees two whitespace-separated tokens or arguments for the echo command. This basically becomes echo Hello World. So, echo joins them by a single space. In the second one it sees one argument for the echo command, so echo simply echos this single argument that contains three spaces.
@kat@yarn.girlonthemoon.xyz definitely a fun way to get better at bash scripting by hand (AKA learn how it works besides the extreme basics i know) and use gum to make them cute too