Spent basically the entire day (except for the mandatory walk) fighting with Pythonâs type hints. But, the result is that my widget toolkit now passes mypy --strict.
I really, really donât want to write larger pieces of software without static typing anymore. With dynamic typing, you must test every code path in your program to catch even the most basic errors. pylint helps a bit (doesnât need type hints), but thatâs really not enough.
Also, somewhere along the way, I picked up a very bad (Python) programming style. (Actually, I know exactly where I picked that up, but I donât want to point the finger now.) This style makes heavy use of dicts and tuples instead of proper classes. That works for small scripts, but it very quickly turns into an absolute mess once the program grows. Prime example: jenny. đ©
I have a love-hate relationship with Pythonâs type hints, because they are meaningless at runtime, so they can be utterly misleading. Iâm beginning to like them as an additional safety-net, though.
(But really, if correctness is the goal, you either need to invest a ton of time to get 100% test coverage â or donât use Python.)
@lyse@lyse.isobeef.org The thing is thatâs hard to avoid if TYPE_CHECKING, but documentation tools such as pdoc donât support that ⊠so itâs either type hints or API docs. đ€·
I hope I can eventually find a way out of this mess âŠ
Here am I looking at the different tcell.Key constants and typing different key combinations in the terminal to see the generated tcell.EventKeys in the debug log. Until I pressed Ctrl+Alt+Backspace⊠:-D Yep, suddenly there went my XâŠ
So far, it appears as if I can have either only Ctrl or Alt as modifiers. But not in combination. And Shift is just never ever set at all. Interesting.
Iâm trying to implement configurable key bindings in tt. Boy, is parsing the key names into tcell.EventKeys a horrible thing. This type consists of three information:
- maybe a predefined compound key sequence, like Ctrl+A
- maybe some modifiers, such as Shift, Ctrl, etc.
- maybe a rune if neither modifiers are present nor a predefined compound key exists
Itâs hardcoded usage results in code like this:
func (t *TreeView[T]) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) {
switch event.Key() {
case tcell.KeyUp:
t.moveUp()
case tcell.KeyDown:
t.moveDown()
case tcell.KeyHome:
t.moveTop()
case tcell.KeyEnd:
t.moveBottom()
case tcell.KeyCtrlE:
t.moveScrollOffsetDown()
case tcell.KeyCtrlY:
t.moveScrollOffsetUp()
case tcell.KeyTab, tcell.KeyBacktab:
if t.finished != nil {
t.finished(event.Key())
}
case tcell.KeyRune:
if event.Modifiers() == tcell.ModNone {
switch event.Rune() {
case 'k':
t.moveUp()
case 'j':
t.moveDown()
case 'g':
t.moveTop()
case 'G':
t.moveBottom()
}
}
}
})
}
This data structure is just awful to handle and especially initialize in my opinion. Some compound tcell.Keys are mapped to human-readable names in tcell.KeyNames. However, these names always use - to join modifiers, e.g. resulting in Ctrl-A, whereas tcell.EventKey.Name() produces +-delimited strings, e.g. Ctrl+A. Gnaarf, why this asymmetry!? O_o
I just checked k9s and theyâre extending tcell.KeyNames with their own tcell.Key definitions like crazy: https://github.com/derailed/k9s/blob/master/internal/ui/key.go Then, they convert an original tcell.EventKey to tcell.Key: https://github.com/derailed/k9s/blob/b53f3091ca2d9ab963913b0d5e59376aea3f3e51/internal/ui/app.go#L287 This must be used when actually handling keyboard input: https://github.com/derailed/k9s/blob/e55083ba271eed6fc4014674890f70c5ed6c70e0/internal/ui/tree.go#L101
This seems to be much nicer to use. However, I fear this will break eventually. And itâs more fragile in general, because itâs rather easy to forget the conversion or one can get confused whether a certain key at hand is now an original tcell.Key coming from the library or an âextendedâ one.
I will see if I can find some other programs that provide configurable tcell key bindings.
@movq@www.uninformativ.de Thanks! Iâll have a look at SnipMate. Currently, Iâm (mis)using the abbreviation mechanism to expand a code snippet inplace, e.g.
autocmd FileType go inoreab <buffer> testfunc func Test(t *testing.T) {<CR>}<ESC>k0wwi
or this monstrosity:
autocmd FileType go inoreab <buffer> tabletest for _, tt := range []struct {<CR> name string<CR><CR><BS>}{<CR> {<CR> name: "",<CR><BS>},<CR><BS>} {<CR> t.Run(tt.name, func(t *testing.T) {<CR><CR>})<CR><BS>}<ESC>9ki<TAB>
But this of course has the disadvantage that I still have to remove the last space or tab to trigger the expansion by hand again. Itâs a bit annoying, but better than typing it out by hand.
The tt URLs View now automatically selects the first URL that I probably are going to open. In decreasing order, the URL types are:
- markdown media URLs (images, videos, etc.)
- markdown or plaintext URLs
- subjects
- mentions
I might differentiate between mentions of subscribed and unsubscribed feeds in the future. The odds of opening a new feed over an already existing one are higher.
I cleaned up all my of AoC (Advent of Code) 2025 solutions, refactored many of the utilities I had to write as reusable libraries, re-tested Day 1 (but nothing else). here it is if youâre curious! This is written in mu, my own language I built as a self-hosted minimal compiler/vm with very few types and builtins.
I just completed âPrinting Departmentâ - Day 4 - Advent of Code 2025 #AdventOfCode https://adventofcode.com/2025/day/4 â Again, Iâm doing this in mu, a Go(ish) / Python(ish) dynamic langugage that I had to design and build first which has very few builtins and only a handful of types (ints, no flots). đ€Ł
I just completed âLobbyâ - Day 3 - Advent of Code 2025 #AdventOfCode https://adventofcode.com/2025/day/3 â Again, Iâm doing this in mu, a Go(ish) / Python(ish) dynamic langugage that I had to design and build first which has very few builtins and only a handful of types (ints, no flots). đ€Ł
Thinking about doing Advent of Code in my own tiny language mu this year.
mu is:
- Dynamically typed
- Lexically scoped with closures
- Has a Go-like curly-brace syntax
- Built around lists, maps, and first-class functions
Key syntax:
- Functions use
fnand braces:
fn add(a, b) {
return a + b
}
- Variables use
:=for declaration and=for assignment:
x := 10
x = x + 1
- Control flow includes
if/elseandwhile:
if x > 5 {
println("big")
} else {
println("small")
}
while x < 10 {
x = x + 1
}
- Lists and maps:
nums := [1, 2, 3]
nums[1] = 42
ages := {"alice": 30, "bob": 25}
ages["bob"] = ages["bob"] + 1
Supported types:
int
bool
string
list
map
fn
nil
mu feels like a tiny little Go-ish, Python-ish language â curious to see how far I can get with it for Advent of Code this year. đ
@kiwu@twtxt.net It also greatly depends on what kind of videos you plan to record. When you go, letâs say, diving, the specs need to be probably more suited to that type of environment. What about zoom, macro shots, wide landscapes, and so on? When typically mounted on a tripod, Iâd say builtin image stabilization is not required, but for more action shots, this is fairly important to not get sea sick. :-)
Iâve got a Nikon Coolpix S9300. I typically only take photos, but it also works for the occasional video. Free hand moves are quite difficult, but when mounted to a tripod, this is not too shabby. Thereâs absolutely no way around a (makeshift) tridpod when zooming in, though. The audio is definitely not the best, especially wind destroys everything. If I recorded more video, I would certainly want to have an external microphone.
And regarding those broken URLs: I once speculated that these bots operate on an old dataset, because I thought that my redirect rules actually were broken once and produced loops. But a) I cannot reproduce this today, and b) I cannot find anything related to that in my Git history, either. But itâs hard to tell, because I switched operating systems and webservers since then âŠ
But the thing is that Iâm seeing new URLs constructed in this pattern. So this canât just be an old crawling dataset.
I am now wondering if those broken URLs are bot bugs as well.
They look like this (zalgo is a new project):
https://www.uninformativ.de/projects/slinp/zalgo/scksums/bevelbar/
When you request that URL, you get redirected to /git/:
$ curl -sI https://www.uninformativ.de/projects/slinp/zalgo/scksums/bevelbar/
HTTP/1.0 301 Moved Permanently
Date: Sat, 22 Nov 2025 06:13:51 GMT
Server: OpenBSD httpd
Connection: close
Content-Type: text/html
Content-Length: 510
Location: /git/
And on /git/, there are links to my repos. So if a broken client requests https://www.uninformativ.de/projects/slinp/zalgo/scksums/bevelbar/, then sees a bunch of links and simply appends them, youâll end up with an infinite loop.
Is that whatâs going on here or are my redirects actually still broken ⊠?
Iâm still looking for people, podcasts, events talking about #Python without assuming everyone is a software developer or a âdata scientistâ.
Why are data journalists, type designers (Guidoâs brother!), Blender wizards, FreeCAD hackers, hobbyist game makers, casual automation buffs, robot tweakers, MicroPython enthusiasts, creative coders, educators, biologists, astronomers and other scientists, consistently ignored?
Are we f*ing invisible? One of Python Brasil keynoters kind of just did that. My heart sank. Other talks, like the Art&FLOSS one, by Jim Schmitz, lessened my pain.
Where is the follow up for that 2017 keynote by Jake VanderPlas?
Iâm still looking for people, podcasts, events, talking about #Python without assuming everyone is a software developer or a âdata scientistâ.
Why are data journalists, type designers (Guidoâs brother!), Blender wizards, FreeCAD hackers, hobbyist game makers, casual automation buffs, robot tweakers, MicroPython enthusiasts, creative coders, educators, biologists, astronomers and other scientists, consistently ignored?
Are we invisible? One of Python Brasil keynoters kind of just did that. My heart sank. Other talks, like the Art&FLOSS one, by Jim Schmitz, lessened my pain.
Where is the follow up for that 2017 keynote by Jake VanderPlas?
I have now permitted the following media types:
image/*
audio/*
video/*
text/*
I canât disable a bloody loud beep from my Lenovo laptop âkeyboard panic, you canât type right nowâ. Online docs mention a UEFI setting that is just not there.This đ© makes me so angry.
@bender@twtxt.net We could â Itâs just never became âstrong enoughââą of a demand that I ever extended the possibility of supporting other mime types.
$1000 Bounty: GitLab Security Flaw Exposed
How a $1000 Bounty Hunt Revealed a GraphQL Type Check Nightmare Allowing Maintainers to Nuke Repositories
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/1000-bounty-gitlab-security-flaw-exposed-dd30978 ⊠â Read more
Just typing twts directly into my twtxt file.
Details:
- Opening my twtxt file remotely using
vim scp://user@remote:port//path/to/twtxt.txt
- Inserting the date, time and tab part of the twt with
:.!echo "$(date -Is)\t"
- In case I need to add a new line I just
Ctrl+Shift+u, type in the2028and hitEnter
- In order to replay, you just steal a twt hash from your favorite Yarn instance.
It looks tedious, but itâs fun to know I can twt no matter where I am, as long as can ssh in.
Hmmm đ§ Iâm annectodaly not convinced so-called âAIâ(s) really save timeâą. â I have no proof though, I would need to do some concrete studies / numbers⊠â But, there is one benefit⊠It can save you from typing and from worsening RSI / Carpal Tunnel.
@movq@www.uninformativ.de Where the heck did you find that? What is that thing? Yeah, totally looks like an attempt to make some garbage feel more solid. Unless this steel plate is actually used for attaching bolts from the other side or something like that. Which I highly doubt, given that there are muuuuuch cheaper options to install various types of nuts in plastic.
Yeah, this goo makes it just harder to disconnect. I bet it doesnât add water protection to the connections at all.
@movq@www.uninformativ.de Speaking of âclusterfucksâ. Every fucking time I try to type something on my fucking goddamn iPhoneâs little tiny ass on-screen keyboard it ends up typing out âI love you!â đ€ For fucks sake đ€Šââïž â Given the size of the fucking goddamn on-screen keyboards on these things and folks with limited/poor vision, canât we figure out what I meant to type instead of spitting out total garbage nonsense that I had no intention of typing that makes me just look silly and stupid?! đ€Ź Ask @bender@twtxt.net how many times this has happened on IRC whenever Iâve been on my phone đ±
It took 10 years to build, but does it deliver the perfect toast?
A team of Australian researchers spent a decade developing a toaster that watches the slices for you, so every type of bread is done to your liking. â Read more
Itâs Sunday, and tomorrow I donât have to work, as I have two weeks of vacation. The first time since May. My only breaks from work were when I hurt my hand and wasnât able to type for a week, and two free days last week, but those also werenât really relaxing for me. So I am very much looking forward to the next two weeks! I really feel the exhaustion from the last few months with work sometimes being stressful, the start of my fiancĂ©eâs teacher training, and some other topics. But this year again showed me that bi ⊠â Read more
Rare Jurassic âsword dragonâ prehistoric reptile discovered in the UK
A near-complete skeleton found on the UKâs Jurassic Coast has been identified as a new and rare species of ichthyosaurâa type of prehistoric marine reptile that once ruled the ancient oceans. â Read more
Where fish feed ingredients come from key for sustainability, new study finds
A new study led by researchers from the University of Tasmania, in collaboration with international partners including The University of Manchester, has found that the environmental footprint of aquaculture feeds is influenced more by where ingredients are sourced than by the types of ingredients used. â Read more
Chemists create red fluorescent dyes that may enable clearer biomedical imaging
MIT chemists have designed a new type of fluorescent molecule that they hope could be used for applications such as generating clearer images of tumors. â Read more
OSINT: Google Dorking Hacks: The X-Ray Vision for Google Search
You type in some keywords, scroll past 10 pages of useless results, and wonder why the internetâs hiding the good stuff. Sound familiar?
[Continue reading on Inf ⊠â Read more
[$] Kernel hackers at Cauldron, 2025 edition
The GNU Tools Cauldron is almost entirely focused on user-space tools, but
kernel developers need a solid toolchain too. In what appears to be a
developing tradition ( started in 2024),
some kernel developers attended the 2025 Cauldron for the
second year in a row to discuss their needs with the assembled toolchain
developers. Topics covered in this yearâs gathering include Rust, better
[BPF type\âšformat (BTF ⊠â Read more
Tiny RISC-V Development Board with WCH CH32V317WCU6 Available from $6.80
The nanoCH32V317 is a compact development board created by MuseLab to simplify prototyping and embedded system development. It integrates USB connectivity, Ethernet support, and a straightforward programming interface through USB Type-C, providing an accessible platform for engineers and hobbyists working with RISC-V microcontrollers. The board is powered by the WCH CH32V317WCU6, a RISC-V microcontro ⊠â Read more
MacOS Tahoe 26 Feels Slow? Try These 6 Performance Tips
Some Mac users who have updated to macOS Tahoe 26 feel like the new operating system runs slower than their prior MacOS installation did. Reports online suggest there can be general sluggishness and lagging performance, sometimes with frame rate drops and stuttering animations on the screen, or even when typing. Other users in various forums ⊠Read More â Read more
@alexonit@twtxt.alessandrocutolo.it Holy fuck! đ€Ł I just realized how bad my typing was in my reply before đ€Ł đ€Šââïž So sorry about that haha đ I blame the stupid iPhone on-screen keyboard âšïž
I bought an iPhone (as my third smartphone)
I never thought I would do this, but I bought an iPhone. Itâs a pretty cheap iPhone SE 2. Gen (2020) used from eBay, like the device I got issued from my work. Itâs so tiny and itâs really difficult to type even a short text like this. â Read more
@zvava@twtxt.net I never used any of the social media platforms, thatâs why Iâm probably ignorant.
I donât understand the concept of a retwt. Just quote the (relevant) parts from whereever and comment on that. Or post a link instead of a quote. Sounds simple enough. :-) Thatâs also has the benefit that it works with every source, no matter what. Since itâs called retwt, Iâd imagine this to only work (well) with whatever messages the system itself offers. But I could be wrong. What would be the benefit of having a dedicated message type or structure for âhey, look at thatâ messages in your opinion?
Hmm, whatâs a content warning?
@movq@www.uninformativ.de Holy shit, thatâs insane! :-D I tried it, but iâm absolutely terrible at these type of games. Iâm having trouble with the keys to move around. Maybe after ages I would pick it up and it becomes natural. I just was never a real gamer.
I will definitely try to read through the code, though! This looks sick. 8-)
Three weather services with three different forecasts. We got a little bit rained on, so at least some of them were not completely wrong. The timing was off by an hour, though. And nobody expected the Spanish inqui^W^Wthunder either. It was a nice walk.
Oh cool, as I type this, lighning and thunder very close by now. At most a kilometer away. Glad Iâm home and not in the woods anymore. And heavy rain kicks in, too.
@lyse@lyse.isobeef.org Yeah, removing the cover will probably help. Iâll have to try. đ And, yes, the scrolling is pretty annoying (and kind of ruins the experience a little bit).
The printer isnât that loud â at least not for a dot matrix printer. đ Itâs been ~30 years since Iâve last seen them in person, but I remembered these things to be louder. Iâm typing on my Model M, maybe that contributes to the perceived noise on this video. Hereâs an isolated recording of that keyboard: https://movq.de/v/ddc98b03d8/2022-02-21âmodel-m-goes-brrr.ogg đ€Ł It really sounds like that when youâre typing fast. Brrrrt.
Iâve got a prototype of my hardcopy simulator going. Iâm typing on the keyboard and the âdisplayâ goes to the printer:
https://movq.de/v/56feb53912/s.png
https://movq.de/v/235c1eabac/MVI_8810.MOV.mp4
The biiiiiiiiiig problem is that the print head and plastic cover make it impossible to see whatâs currently being printed, because this is not a typewriter. This means: In order to see what I just entered, I have to feed the paper back and forth and back and forth ⊠itâs not ideal.
I got that idea of moving back/forth from Drew DeVault, who â as it turned out â did something similar a few years back. (I tried hard to read as little as possible of his blog post, because figuring things out myself is more fun. But that could mean I missed a great idea here or there.)
But hey, at least this is running on my Pentium 133 on SuSE Linux 6.4, printer connected with a parallel cable. đ
(Also, yes, you can see the printouts of earlier tests and, yes, I used ed(1) wrong at one point. đ€Ș And ls insisted on using colors âŠ)
Since 2020, Iâve been putting together one playlist every year, in which each track represents one month of that year. However, I also have assigned each season two specific songs, which does not change year-to-year: Spring: âA Little Bit Of Loveâ by Weezer and âGretelâ by Alex G; Summer: âDumbâ by Roe Kapara and âEndless Bummerâ by Weezer; Autumn: â1979â by The Smashing Pumpkins and âThe Dead Come Talkingâ by Roe Kapara; Winter: âRed Water (Christmas Mourning)â by Type O Negative and âChristmas Time (Donât Let The Bells End)â by The Darkness
@movq@www.uninformativ.de Are you sure?
because there is virtually no market for these devices anymore, meaning new ones are very, very expensive.
I think dot matrix printers are still pretty common in many Point of Sales (POS) registers right? At least here in AU theyâre very common. I had a quick look myself today, there seems to be quite a solid market for these types of printers. In fact even EPSON still sell Dot Matrix printers themselves đ€Ł
The XMPP Standards Foundation: MongooseIM 6.4 - Simplified and Unified
MongooseIM is a scalable and efficient instant messaging server. It implements the open, proven, extensible and constantly evolving XMPP protocol, which is an excellent choice when it comes to instant messaging. To communicate with other XMPP entities, the server uses three main types of interfaces, listed in the table below.
XMPP InterfacePurposeConnection typeReworked in v ⊠â Read more
@itsericwoodward@itsericwoodward.com Also just a heads up, GIF(s) arenât supproted as an Avatar type on yarnd (what runs twtxt.net). Iâd change this to something thatâs more supproted like PNG, JPEG, etc.
@movq@www.uninformativ.de having to go to a gopher proxy to see a text document better served on readily available web servers⊠đ€, but I digress. Verbatim text:
What's Missing from "Retro"
~softwarepagan
------------------------------------------------------------------
You know, often, when I say I miss older ways of computing or
connecting online, people tell me "there's nothing stopping you
from doing that now!" and they are technicay correct in most cases
(though I can't, for example, chat with friends on MSN ever
again...) However, let me explain that while this type of thing can
*sort of* fill that hole in my heart, it isn't *the same.*
Say, for example, I wanted to connect with others over a BBS. This
wouldn't offer the same types of connections it used to. While
there are BBSes around with active users, they're no longer there
to discuss movies, Star Trek, D&D, games, etc. They're there to
discuss *BBSes.* The same can be said for Gopher, old-school forums
and all sorts of revival projects (such as Escargot, Spacehey,
etc.) Retrocomputing enthusiasts, while they have a variety of
interests, are often in these spaces to discuss the medium itself
and not other topics. This exists at a stark contrast from how
things were in the past, where a non-tech-inclined person may learn
the tech to connect with likeminded others (as I did as a
Zelda-obsessed kid.)
The same can be said of old media. People will say "well, nobody is
stopping you from watching old shows/movies now!" Again, they are
technically correct. I can go home right now and watch *Star Trek:
The Next Generation* to my heart's content. It will never again,
however, be current, or new. When something is new, it serves as a
shared cultural experience. Remember how "Game of Thrones* felt in
the mid-to-late 2010s? Yeah, that.
It's sad. I sustain myself on a mixed diet of old things, new
things, and new things intended for old millenials like me who like
old things. It can be bittersweet.
apt manpage of Ubuntu recently, which, for some reason, uses blue text in one place:
Ah, so apparently they donât like writing manpages anymore and instead use XML:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/apt.8.xml
And then they use XSLT on top and what not:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/manpage-style.xsl.cmake.in
Itâs not even explicitly blue:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/apt.ent?ref_type=heads#L17
Abstractions upon abstractions upon abstractions.
@prologic@twtxt.net haha yeah for the youtube rules i just copied the first JSON block in your screenshot (i typed it out) and it miraculously worked! yayyy
/short/ if it's of this useless kind. Never thought that they ever actually will improve their Atom feeds. Thank you, much appreciated!
@kat@yarn.girlonthemoon.xyz @movq@www.uninformativ.de Sorry, I neither finished it nor in time. :-( Thatâs as good as itâs gonna get for the moment: https://git.isobeef.org/lyse/gelbariab/-/tree/master/rss-proxys?ref_type=heads
The README should hopefully provide a crude introduction. The example configuration file is documented fairly well, I believe (but maybe not). You probably still have to consult and maybe also modify the source code to fit your needs.
Let me know if you run into issues, have questions, wishes etc.
Hereâs an example of X11/Xlib being old and archaic.
X11 knows the data type âcardinalâ. For example, the window property _NET_WM_ICON (which holds image data for icons) is an array of âcardinalâ. I am already not really familiar with that word and Iâm assuming that it comes from mathematics:
https://en.wikipedia.org/wiki/Cardinal_number
(It could also be a bird, but probably not: https://en.wikipedia.org/wiki/Cardinalidae)
We would probably call this an âintegerâ today.
EWMH says that icons are arrays of cardinals and that theyâre 32-bit numbers:
https://specifications.freedesktop.org/wm-spec/latest-single/#id-1.6.13
So itâs something like 0x11223344 with 0x11 being the alpha channel, 0x22 is red, and so on.
You would assume that, when you retrieve such an array from the X11 server, youâd get an array of uint32_t, right?
Nope.
Xlib is so old, they use char for 8-bit stuff, short int for 16-bit, and long int for 32-bit:
That is congruent with the general C data types, so it does make sense:
https://en.wikipedia.org/wiki/C_data_types
Now the funny thing is, on modern x86_64, the type long int is actually 64 bits wide.
The result is that every pixel in a Pixmap, for example, is twice as large in memory as it would need to be. Just because Xlib uses long int, because uint32_t didnât exist, yet.
And this is something that I wouldnât know how to fix without breaking clients.
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz I spent so much time in the past figuring out if something is a dict or a list in YAML, for example.
What are the types in this example?
items:
- part_no: A4786
descrip: Water Bucket (Filled)
price: 1.47
quantity: 4
- part_no: E1628
descrip: High Heeled "Ruby" Slippers
size: 8
price: 133.7
quantity: 1
items is a dict containing ⊠a list of two other dicts? Right?
It is quite hard for me to grasp the structure of YAML docs. đą
The big advantage of YAML (and JSON and TOML) is that itâs much easier to write code for those formats, than it is with XML. json.loads() and youâre done.
** Of fairies, compost, and computers **
Lately Iâve buried myself in reading fiction. Stand outs from among the crowd are, of course, Middlemarch but also a lot of sort of scholarly fairy fiction; works that follow the scholastic adventures of studious professorial types in vaugely magical settings. Namely Emily Wildeâs Encyclopedia of Faeriesâ, Heather Fawcett and The Ten Thousand Doors of January, Alix E. Harrow.
Iâve also been working on a handful of personal utility programs. I ⊠â Read more
To really annoy my neighbors and everyone in a 5 mile radius, I might take my Model M and type a blogpost on the balcony. đ
[$] Improving iov_iter
The iov_iter interface is used to
describe and iterate through buffers in the kernel. David Howells led a combined storage and
filesystem session at
the 2025 Linux Storage,
Filesystem, Memory Management, and BPF Summit (LSFMM+BPF) to discuss ways
to improve iov_iter. His topic\âšproposal listed a few different ideas including replacing some
iov_iter types and possibly allowing mixed types in chains of ⊠â Read more
Snake bite victims urged to seek help regardless of what type they think it is
A coroner this week has been looking into whether there should be more education about snake bites after 11-year-old Tristian Frahm died when he didnât get medical assistance. â Read more
âFit, healthyâ 13-year-oldâs family rocked by rare cancer diagnosis
Kobi Jones was at football training when he started to experience chest pain. Not long after that he was being treated for a type of cancer all but unheard of in people of his age. â Read more
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
The diabetes program lifting people out a âreally dark placeâ
When Kelly Anderson suddenly lost her daughter, she became depressed and rapidly gained weight. A community exercise program helped turn her life around. â Read more
Bridge Types
â Read more
What is Cross-Site Scripting (XSS)? Completely explained with types. â Read more
@thecanine@twtxt.net right. Spell checkers are not AI. Full grammar checking, and correction? That one I have not seeing, but on AI. So, what I meant was, let the grammar gaffes show; we type as we speak (most of the time). About spelling mistakes, well, let them be corrected as we have done since 1971(?).
@thecanine@twtxt.net @movq@www.uninformativ.de So I actually agree with you! I think Dustin is taking a bit of a âdeep and darkâ path here (depression), and there are many parallels to other types of activities that we can all talk to. âAIâ or âLLMâ(s) here should be no different. Use them, Donât use them. I donât really see how it takes away our creativity or critical thinking.
Exciting Cybersecurity Careers That Donât Require Coding
Do you believe that cybersecurity is only for programmers who are bent over keyboards, typing code after code to ward off hackers? RethinkâŠ
[Continue reading on InfoSec Write-ups »] ⊠â Read more
** âBefore injection, understandingââââWhat every hacker needs to master before exploiting a NoSQLâŠ**
NoSQL database types
[Continue reading on InfoSec Write-ups »](https: ⊠â Read more
Two main types of cats exist. đ â Read more
Honestly for these types of services, there probably isnât much point, as the layer4 module in Caddy doesnât do inspection/filtering anyway I think? đ€
Pallene: a statically typed ahead-of-time compiled sister language to Lua, with a focus on performance
Comments â Read more
** Blog Title: Not Your File: How Misconfigured MIME Types Let Me Upload Evil Scripts **
Hey there!đ
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/blog-title-not-your ⊠â Read more
Announcing Kyverno Release 1.14!
TL;DR We are excited to announce the release of Kyverno 1.14.0, marking a significant milestone in our journey to make policy management in Kubernetes more modular, streamlined, and powerful. This release introduces two new policy types⊠â Read more
@kat@yarn.girlonthemoon.xyz You donât need to change the directory first in line 11, you can just create the directory, thatâs sufficient since youâre having an absolute path.
The echo in line 13 is useless, you can simplify this to: newdir="$WD/$now" If you reversed this line with the previous one, you could make use of the variable in the directory creation: mkdir "$newdir".
In line 16, pull the directory change out of the loop upfront. The loop body doesnât modify the working directory, so no need to reset it with each cycle. In fact, you could even spare the cd altogether when you simply tell find where to look: find "$basedir" -type fâŠ.
I didnât try it, but if I read the manpage correctly, you should be able to simplify line 19 as well:
-C Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
Hence, remove the cd and put the -C "$WD" as the first argument to tar. Again, I didnât try it. Proceed with caution.
Finally, you donât need to specify the full path to rm in line 21. I bet, /bin is in your PATH. When you removed the previous cd from my last suggestion, the relative path that follows wonât work anymore. So, just use the absolute path that you already have in a variable: rm -rf "$newdir"
I hope you find this tiny review a wee bit useful. :-)
tar and find were written by the devil to make sysadmins even more miserable
@kat@yarn.girlonthemoon.xyz @movq@www.uninformativ.de @prologic@twtxt.net Yeah, Iâm also having them in my repertoire for ages, so Iâm used to the weird command line options. From todayâs perspective, theyâre not consistent with the rest of the typical shell utilities, thatâs for sure.
Regarding find | grep foo, I recommend find -name '*foo*', prologic. Also, I regularly use -type d and -type f to find directories or files.
Ten Startling Discoveries About Ozempic
Ozempic is the new so-called miracle drug that, over the past few years, has taken the world by storm. The semaglutide meds are in high demand. The original use for the injection is to treat type 2 diabetes. But since people discovered it also helps them lose weight, everyone from Oprah Winfrey to Elon Musk [âŠ]
The post Ten Startling Discoveries About Ozempic appeared first on ⊠â Read more
** Crinkly chip bags **
I usually read pretty fast. Iâve been intentionally reading Middlemarch slowly. Chapter by chapter. This forced restraint makes reading Middlemarch feel sort of religious in pace and intention.
I fell back down the type theory hole, and have once again thought to myselfâwhat about Haskell?â andâwhat about algebraic data types?â These thoughts are questionable and my motivations dubious, but here I am again imagining tiny type carrying backpacks strapped to little guys â bees, beetles, and other crawlies.
My part ⊠â Read more
Arduino Uno Gets Upgraded with Integrated Ethernet and USB Type-C
The UnoNet is a microcontroller board based on the ATmega328PB, designed with the same form factor and pin layout as the Arduino Uno Rev 3. It integrates Ethernet via a W5500 controller and includes a USB Type-C port, RJ45 connector, DC barrel jack, ICSP header, and reset button. The ATmega328PB is clocked at 16 MHz [âŠ] â Read more
Luckfox Core1106 Smart 86 Box with Touchscreen, RS485 Interface, and Optional Wireless Connectivity
The Luckfox Core1106 Smart 86 Box is a development board designed for integration into standard 86-type wall enclosures. Based on the Luckfox-Pico-86-Panel series, it features Rockchipâs RV1106G2 or RV1106G3 processor and is intended for use in smart home interfaces and industrial control systems. This device uses a single-core ARM Cortex-A7 proces ⊠â Read more
Using C++ type aliasing to avoid the ODR problem with conditional compilation, part 1
Comments â Read more
âMonosyllabic repliesâ refers to responses that consist of a single syllable. These types of replies are typically brief and concise, often used in situations where a simple, direct answer is given. Examples include words like âYes,â âNo,â âOkay,â or âSure.â
đ Can I imply youâre not interested in things like âLIkeâ, âReportâ, etc?! đ
yarnd v0.16 is released and the next round of specification updates are done and dusted, who wants me to have another crack at building Twtxt and activity pub integration support?
@prologic@twtxt.net not me. I hate monosyllabic replies, specifically on the written medium, so I am just typing this to make it longer. But that doesnât change the truth, and that is, I donât want, nor care, about twtxt, and Activity Pub integration. đ
[$] Better debugging information for inlined kernel functions
Modern compilers perform a lot of optimizations, which can complicate debugging.
Song Liu and Thierry Treyer spoke about a potential improvement to
BPF Type Format (BTF) debugging information that could partially combat that
problem at the 2025 Linux Storage, Filesystem,
Memory-Management, and BPF Summit.
They want to add information on selectively inlined functions to BTF in order to
better support tracing tools.
Trey ⊠â Read more
Meson 1.8.0 released
Version 1.8.0
of the Meson build system has
been released. Notable changes in this release include the ability to
run rustdoc for Rust projects, support for the c2y and gnu2y
compiler options, and a new argument ( android_exe_type) that
makes it possible to use the same meson.build file for
Android and non-Android systems. â Read more
Some gopher browsers handle type i and spaces better than others.