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
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.
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. đ
@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
@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
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
@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. :-)
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â đ€Šââïž
css naked day, I missed that this year. css is messy anyway and i got a css book in german to learn the basics
@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.
MacSSL: a port of Mbed-TLS for the classic Mac OS 7/8/9
Yesterday we had SDL2 for the classic Mac OS, today we have modern SSL/TLS for the classic Mac OS. This is a C89/C90 port of MbedTLS for Mac System 7/8/9. It works, and compiles under Metrowerks Codewarrior Pro 4. This is a basic app that performs a GET request on whatever is in api.h, and prints the result out to the text box (with a lot of debug information, of course). The idea of this project was to build an âappâ of ⊠â Read more
SDL2 ported to Mac OS 9
Well, this you certainly donât see every day. This is a ârough draftâ of SDL2 for MacOS 9, using CodeWarrior Pro 6 and 7. Enough was done to get it building in CW, and the start of a âmacosclassicâ video driver was created. It DOES seem to basically work, but much still needs to be done. Event handling is just enough to handling Command-Q, there is no audio, etc etc etc. â« A cast of thousands The hardest part was a video driver for the classic Mac OS, which had to be created mostly 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? đ€
@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.)
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
@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
@thecanine@twtxt.net I donât mind the FUTO keyboard either but it is pretty basic. Going to have to try out helio
Microsoft improves Windows 11âs Start menu somewhat
Microsoft seems to be addressing some of the oddities with the Windows 11 Start menu, finally adding basic views that shouldâve been in Windows 11 since the very start. Weâre introducing two new views to the âAllâ page in the Start menu: grid and category view. Grid and list view shows your apps in alphabetical order and category view groups all your apps into categories, ordered by usage. This change is gradually rolling out so ⊠â 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.
@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.
The GNU Guix System
GNU Guix is a package manager for GNU/Linux systems. It is designed to give users more control over their general-purpose and specialized computing environments, and make these easier to reproduce over time and deploy to one or many devices. â« GNU Guix website Guix is basically GNUâs approach to a reproducible, functional package manager, very similar to Nix because, well, itâs based on Nix. GNU also has a Linux distribution built around Nix, the GNU Guix System, which is fully âlibreâ as al ⊠â 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
Android 16 Beta 1 has started rolling out for Pixel devices
Basically, this seems to mean applications will no longer be allowed to limit themselves to phone size when running on devices with larger screens, like tablets. Other tidbits in this first beta include predictive back support for 3-button navigation, support for the Advanced Professional Video codec from Samsung, among other things. Itâs still quite early in the release process, so more is sure to come, and some ⊠â Read more
I made a draft of an âencrypted public messengerâ, which was basically a Feed for an address derivate from the public ket, letâs say âabcd..eaeaâ
Anyone could check, âare there any messages for my address?â and you get a whole list of timestamps and encrypted stuff.
Inside the encrypted message is a signature from the sender. That way you âcouldâ block spam.
Only the owner of the private key could see who sent what, and soâŠ
And even with that my concussion was that users expectations for a private IM might be far away from my experiment.
@andros@twtxt.andros.dev Nope, unfortunately not. I took a look at Lisp last year (I think I used sbcl), but I havenât done anything really useful with it. I still want to give it a proper go some time in the future. I do like how flexible it can be. Rather simple, but powerful basic concepts.
Whatâs your favorite dialect?
@prologic@twtxt.net they post pretty frequently yeah, new articles like every other day basically