@eldersnake@we.loveprivacy.club Yeah, itās really the last thing we need. Iād love to see X11 getting more attention ā but not like this ā¦
you know i can never get into boy groups but i have liked EXOās obsession since it came out. that āi want youā sample is just too good man https://www.youtube.com/watch?v=uxmP4b2a0uY
@kat@yarn.girlonthemoon.xyz On the one hand, all these programs have a very long history and the technology behind manpages is actually very powerful ā you can use it to write books:
https://www.troff.org/pubs.html
I have two books from that list, for example āThe UNIX programming environmentā:
https://movq.de/v/c3dab75c97/upe.jpg
Itās a bit older, of course, but it looks and feels like a normal book, and it uses the same tech as manpages ā which I think is really cool. š
Itās comparable to LaTeX (just harder/different to use) but much faster than LaTeX. You can also do stuff like render manpages as a PDF (man -Tpdf cp >cp.pdf
) or as an HTML file (man -Thtml cp >cp.html
). I think I once made slides for a talk this way.
On the other hand, traditional manpages (i.e., ones that are not written in mandoc) do not use semantic markup. They literally say, āthis text is bold, that text over here is italicsā, and so on.
So when you run man foo
, it has no other choice but to show it in black, white, bold, underline ā showing it in color would be wrong, because thatās not what the source code of that manpage says.
Colorizing them is a hack, to be honest. Youāre not meant to do this. (The devs actually broke this by accident recently. They themselves arenāt really aware that people use colors.)
If mandoc and semantic markup was more commonly used, I think it would be easier to convince the devs to add proper customizable colors.
ok i really like XLOV. 1&Only is a great song. so vibe-y and sensual. and they released it in pride month too they Get It https://www.youtube.com/watch?v=NBZgirj_C2Y
There is a missing feature Iāve been intending to add to though, which is that any link that looks like a URL that might be an image, for example, ends with .png
or .jpg
or whatever, we should just render that as an image and not expect users to wrap it in Markdown image links 
on my yarn pod nothing really embeds (not even images) so iām looking at the embed rules part of the mod settings and iām like⦠i donāt know how to do any of this ššš
how do i serve cunt like this https://www.youtube.com/watch?v=prR9miCSDlg
XLOV are a really cool k-pop group. i just adore the concept of āgender is a fuck and we are going to do whatever we wantā like thatās ballsy and epic and the members 100% sell it
Hahaha, I first thought of https://www.youtube.com/watch?v=zA52uNzx7Y4 when I read @kat@yarn.girlonthemoon.xyzās ālyricsā. ;-)
Doesnāt sound bad, I like it. The synth reminded me of some song by Beast in Black.
i signed up for omg.lol and iām really liking it. such a cozy and fun little community with a suite of fun web things. i wish the financial barrier to entry was a bit lower though (maybe like $5 for a few months on it or something) just so i could recommend it to my broke friends more, but i totally get why itās priced the way it is (solo dev!!!)
EVERYONE SAY HI TO @kiwu@twtxt.net SHEāS MY LONGTIME BESTIE AND SUPER SWEET AND ALSO LOVES IDOLS LIKE ME :DDDD
In 1996, they came up with the X11 āSECURITYā extension:
https://www.reddit.com/r/linux/comments/4w548u/what_is_up_with_the_x11_security_extension/
This is what could have (eventually) solved the security issues that weāre currently seeing with X11. Those issues are cited as one of the reasons for switching to Wayland.
That extension never took off. The person on reddit wonders why ā I think itās simple: Containers and sandboxes werenāt a thing in 1996. It hardly mattered if X11 was āinsecureā. If you could run an X11 client, you probably already had access to the machine and could just do all kinds of other nasty things.
Today, sandboxing is a thing. Today, this matters.
Iāve heard so many times that āX11 is beyond fixable, itās hopeless.ā I donāt believe that. I believe that these problems are solveable with X11 and some devs have said āyeah, we could have kept working on itā. Itās that people donāt want to do it:
Why not extend the X server?
Because for the first time we have a realistic chance of not having to do that.
https://wayland.freedesktop.org/faq.html
Iām not in a position to judge the devs. Maybe the X.Org code really is so bad that you want to run away, screaming in horror. I donāt know.
But all this was a choice. I donāt buy the argument that we never would have gotten rid of things like core fonts.
All the toolkits and programs had to be ported to Wayland. A huge, still unfinished effort. If that was an acceptable thing to do, then it would have been acceptable to make an āX12ā that keeps all the good things about X11, remains compatible where feasible, eliminates the problems, and requires some clients to be adjusted. (You could have still made āX11X12ā like āXWaylandā for actual legacy programs.)
This is your friendly reminder that you could be making #PaperObjects with #Python and #py5, you know?
https://github.com/villares/Paper-objects-with-Processing-and-Python/
(Mind you that GitHub images are mostly failing to load here today for some unknown reason)
If you like this, support my work:
https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724
https://liberapay.com/Villares
https://wise.com/pay/me/alexandrev562
#Processing #CreativeCoding
@kingdomcome@yarn.girlonthemoon.xyz I REPLIED TO THIS AND NOW ITāS NOT SHOWING WTFFFF anyway what i said was that i have some fun stuff in the daily note template already like ASCII weather forecast from wttr AND a jenny holzer quote from fortune!!! i should add more fun stuff!!!
@lyse@lyse.isobeef.org To be fair, I did first notice this a while ago. But no monitor I ever had showed burn-ins like this (be it TFT or CRT), so I didnāt know that I should have sent it back. And then it got worse over time and now I see ghost images after 20-30 minutes. :(
@prologic@twtxt.net yeah, because, you know, even if you try entering a fake date of birth, the āalgorithmsā will, move it like a Ouija board, changing it back to the right one /s. š
@prologic@twtxt.net yeah, because, you know, even if you try entering a fake date of birth, the āalgorithmsā will move it, like a Ouija board, changing it back to the right one /s. š
linodeās having a major outage (ongoing as of writing, over 24 hours in) and my friend runs a site i help out with on one of their servers. we didnāt have recent backups so i got really anxious about possible severe data loss considering the situation with linode doesnāt look great (it seems like a really bad incident).
ā¦anyway the server magically came back online and i got backups of the whole application and database, iām so relieved :ā)
@prologic@twtxt.net Iād expect a custom build like that to cost at least 50ā000⬠here in Europe. Used campers with 100ā000 - 200ā000 km already on their clock are 20-40kā¬, apparently. š
gcr
thing running with debug logs enabled that print stuff like āsending secret exchange: ā¦ā? Is this healthy?)
@lyse@lyse.isobeef.org Looks like it. š¤ Didnāt dig deeper into this, just uninstalled it. š„“
(Now why is that GNOME gcr
thing running with debug logs enabled that print stuff like āsending secret exchange: ā¦ā? Is this healthy?)
@lyse@lyse.isobeef.org Oh, huh, maybe it was just my GNOME 2 themes back then that didnāt show the icon. š¤
I like the looks of your window manager. Thatās using Wayland, right?
Oh, no. Itās still X11. All my recent Wayland comments resulted from me trying to switch, but I think itās still too early. Being unable to use QEMU (because it canāt capture the mouse pointer) is a pretty big blocker for me. This is completely broken, it just happens to be unnoticeable with modern guest OSes, so itās probably not a priority for devs.
(Not to mention that I would have to fork and substantially extend dwl in order to āreplicateā my X11 WM. And then, after having done that, Iād have to follow upstream Wayland development, for which I donāt have the resources. Things would need to slow down before I can do that.)
all that wasted space of the windows not making use of the full screen!!!1
Heh. Iāve been using tiling WMs for ~15 years now, so itās actually kind of refreshing to see something different for a change. š
Probably close to the older Windowses.
That particular theme is a ripoff of OS/2 Warp 3: https://movq.de/v/6c2a948882/s.png š
We ran some similar brownish color scheme (donāt recall its name) on Win95 or Win98
Oh god. Yeah, I wasnāt a fan of those, either. š„“
@movq@www.uninformativ.de According to this screenshot, KDE still shows good old application icons: https://upload.wikimedia.org/wikipedia/commons/9/94/KDE_Plasma_5.21_Breeze_Twilight_screenshot.png
And GNOME used to have them, too: https://upload.wikimedia.org/wikipedia/commons/9/9f/Gnome-2-22_%284%29.png
I like the looks of your window manager. Thatās using Wayland, right? The only thing on this screenshot to critique is all that wasted space of the windows not making use of the full screen!!!1 At least the file browser. 8-)
This drives me nuts when my workmates share their screens. I really donāt get it how people can work like that. You canāt even read the whole line in the IDE or log viewer with all the expanded side bars. And then thereās 200 pixels on the left and another 300 pixels on the right where the desktop wallpaper shows. Gnaa! Thereās the other extreme end when somebody shares their ultra wide screen and I just have a āregularishā 16:10 monitor and donāt see shit, because itās resized way too tiny to fit my width. Good times. :-D
Sorry for going off on a tangent here. :-) Back to your WM: It has the right mix of being subtle and still similar to motif. Probably close to the older Windowses. My memory doesnāt serve me well, but I think they actually got it fairly good in my opinion. Your purple active window title looks killer. It just fits so well. This brown one (https://www.uninformativ.de/blog/postings/2025-07-22/0/leafpads.png) gives me also classic vibes. Awww. We ran some similar brownish color scheme (donāt recall its name) on Win95 or Win98 for some time on the family computer. I remember other people visting us not liking these colors. :-D
working on a new astroJS based site and i hate being shit at web design because like i have the media for it ready (itās for my fandom creations which are all done and ready to be shared here lol) but i keep agonizing over the design T__T
@lyse@lyse.isobeef.org True, at least old versions of KDE had icons:
https://movq.de/v/0e4af6fea1/s.png
GNOME, on the other hand, didnāt, at least to my old screenshots from 2007:
https://www.uninformativ.de/desktop/2007%2D05%2D25%2D%2Dgnome2%2Dlaptop.png
I switched to Linux in 2007 and no window manager I used since then had icons, apparently. Crazy. An icon-less existence for 18 years. (But yeah, everything is keyboard-driven here as well and there are no buttons here, either.)
Anyway, my draft is making progress:
https://movq.de/v/5b7767f245/s.png
I do like this look. š
@movq@www.uninformativ.de I havenāt used KDE or GNOME for ages, but Iām sure KDE at least used to show application icons in the title bars. They proabably still do. But then, one could argue that KDE is mimicking Windows. I never thought like that, I always found KDE way superior, because I was able to configure it like a madman.
In i3, I donāt have any application icons. I remember missing them at the beginning. But I donāt even have the classical minimize, maximize and close buttons in the title bar either. Just the title. Being mostly keyboard driven and a tiling window manager, these buttons are not super useful, anyway.
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.
@movq@www.uninformativ.de Following all your Wayland endeavors, it doesnāt sound like a mature and usable thing to me yet.
I was drafting support for showing āapplication iconsā in my window manager, i.e. the Firefox icon in the titlebar:
https://movq.de/v/0034cc1384/s.png
Then I realized: Wait a minute, lots of applications donāt set an icon? And lots of other window managers donāt show these icons, either? Openbox, pekwm, Xfce, fvwm, no icons.
Looks like macOS doesnāt show them, either?!
Has this grown out of fashion? Is this purely a Windows / OS/2 thing?
@lyse@lyse.isobeef.org The cynic in me says: āItās not bleeding edge, itās from 2008!ā Thatās not fair, though, looks like the issue only arose in libinput in 2019. And maybe these weird mice are super rare. Dunno.
@lyse@lyse.isobeef.org yesss itās not my idea but itās sooo fun here ngl like i should use it more!!
@prologic@twtxt.net that looks like a beautiful camper! What kind of truck do you have to pull it? That could be the next thing you might need to focus on. I mean, 2,800kg gross is not feather light!
@movq@www.uninformativ.de omg YAML is so demonic like it pretends to be readable and then THE SPACING. THE FUCKING SPACING
@kat@yarn.girlonthemoon.xyz I kind of like XML because itās mostly well-defined and easy for humans to read (unlike YAML, which is a complete mess, imho) ⦠and at the same time, it can get complicated really fast. 𫤠But at least itās plain-text ā thatās the important part in this case. š
ugh my TLās once again doing the thing where it only shows like 5 twts
@movq@www.uninformativ.de @lyse@lyse.isobeef.org i like this emoji too (itās rhombus with question on my side)
I did a pretty intense workout this morning and afterwards I felt so good! I wish I remembered this whenever I feel like skipping training.
setpriv
on Linux supports Landlock.
@prologic@twtxt.net Yeah, itās not a strong sandbox in jennyās case, it could still read my SSH private key (in case of an exploit of some sort). But I still like it.
I think my main takeaway is this: Knowing that technologies like Landlock/pledge/unveil exist and knowing that they are very easy to use, will probably nudge me into writing software differently in the future.
jenny was never meant to be sandboxed, so it canāt make great use of it. Future software might be different.
(And this is finally a strong argument for static linking.)
Looks like hereās something wrong with Markdown parsing. š¤ The original twt looks like this:
>This extension was turned off because it is no longer supported
Thanks Google.
This browser was uninstalled because it absolutely sucks!
So only the first line should be a quote.
Something happened with the frame rate of terminal emulators lately. It looks like thereās a trend to run at a high framerate now? Iām not sure exactly. This can be seen in VTE-based terminals like my xiate or XTerm on Wayland. foot and st, on the other hand, are fine.
My shell prompt and cursor look like this:
$ ā
When I keep Enter pressed, I expect to see several lines like so:
$
$
$
$
$
$
$ ā
With the affected terminal emulators, the lines actually show up in the following sequence. First, we have the original line:
$ ā
Pressing Enter yields this as the next frame:
$
ā
And then eventually this:
$
$ ā
In other words, you can see the cursor jumping around very quickly, all the time.
Another example: Vim actually shows which key you just pressed in the bottom right corner. Keeping j
pressed to scroll through a file means I get to see a j
flashing rapidly now.
(I have no idea yet, why exactly XTerm in X11 is fine but flickering in Wayland.)
@lyse@lyse.isobeef.org dmenu is a great example.
There have been several attempts at porting dmenu from X11 to Wayland. Well, not exactly āportingā it, more like rewriting it from scratch. Turns out: Itās not that easy.
dmenu is super fast and reliable. None of the Wayland rewrites are (at least none of the popular ones that I know of). They are either bloated and/or slow.
It takes a lot of discipline and restraint to write simple software and not blow up the codebase. This is much harder than people think. Itās a form of art, really.
@prologic@twtxt.net Yeah, this really could use a proper definition or a āmanifestā. š Many of these ideas are not very wide spread. And I havenāt come across similar projects in all these years.
Letās take the farbfeld image format as an example again. I think this captures the āspiritā quite well, because this isnāt even about code.
This is the entire farbfeld spec:
farbfeld is a lossless image format which is easy to parse, pipe and compress. It has the following format:
āāāāāāāāāā¤āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Bytes ā Description ā
ā āāāāāāāāāŖāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā£
ā 8 ā "farbfeld" magic value ā
āāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¢
ā 4 ā 32-Bit BE unsigned integer (width) ā
āāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¢
ā 4 ā 32-Bit BE unsigned integer (height) ā
āāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¢
ā [2222] ā 4x16-Bit BE unsigned integers [RGBA] / pixel, row-major ā
āāāāāāāāāā§āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
The RGB-data should be sRGB for best interoperability and not alpha-premultiplied.
(Now, I donāt know if your screen reader can work with this. Let me know if it doesnāt.)
I think these are some of the properties worth mentioning:
- The spec is extremely short. You can read this in under a minute and fully understand it. That alone is gold.
- There are no āknobsā: Itās just a single version, itās not like thereās also an 8-bit color depth version and one for 16-bit and one for extra large images and one that supports layers and so on. This makes it much easier to implement a fully compliant program.
- Despite being so simple, itās useful. Iāve used it in various programs, like my window manager, my status bars, some toy programs like ātuxeyesā (an Xeyes variant), or Advent of Code.
- The format does not include compression because it doesnāt need to. Just use something like bzip2 to get file sizes similar to PNG.
- It doesnāt cover every use case under the sun, but it does cover the most important ones (imho). They have discussed using something other than RGBA and decided itās not worth the trouble.
- They refrained from adding extra baggage like metadata. It would have needlessly complicated things.
@movq@www.uninformativ.de Yeah thatās why Iām striking this conversation with you š Not only do I respect your opinion quite highly 𤣠But like you say (and Iāve read their philipshpy) it can be a bit āelitismā for sure. Iām genuinely interested in what we think of as software that ādoesnāt suckā. Tb be honest I havenāt really put thought to paper myself, but I reckon if I did, Iād have some opinions/ideasā¦
@prologic@twtxt.net Hm, I wouldnāt say that. Go code could fall into that category as well.
Maybe this topic could use a blog post / article, that explains what itās about. Iām finding it hard to really define what āsuckless-like softwareā is. š¤ (Their own philosophy focuses too much on elitism, if you ask me.)
My workout for today is done! I never feel like starting but when I do it it always feels great.
@eldersnake@we.loveprivacy.club Yeah well when you put it like that š¤£
Iāve been playing around with AI at home over the past few months and building my own neural networks from scratch (in Go) with genetic algorithms
Oh, is that all š¤£
That sounds like some intensive āplaying aroundā haha
The lack of suckless-like simple, hackable software these days is appalling.
@eldersnake@we.loveprivacy.club Yeah for sure! The thing that annoys me about a lot of this, is the sheer fact you canāt really self-host let alone self-train these things Iāve been playing around with AI at home over the past few months and building my own neural networks from scratch (in Go) with genetic algorithms on a few tasks and training sets, but man itās hard⢠𤣠I feel like weāre doing something wrong hereā¦
@eldersnake@we.loveprivacy.club This was an interesting read for sure! š I donāt think it had anything I hadnāt already considered in terms of the ethical/moral points of view. Iām not sure where I stand myself either to be honest. Iāve forced myself to get familiar with the ecosystem and tooling, because in my line of work as a tech lead (staff engineer in sre) you donāt want to be that one guy that ya know š Ethically/Morally though, Iām definitely with the sentiment of this post š Much like the whole Crypto hype yaers back (if yāall remember?!) this is also one of the most energy hungry pieces of ātechā (if you can call it that?) in a while. Then thereās these other issues āstealing peopleās workā, āreliance is causing humans to become cognitively weak and neural connections to shrinkā, to name a fewā¦
I hear you, @movq@www.uninformativ.de! :ā-(
At work, too. For a few weeks now when I try to log into this horrible Outlook web intershit (Because why would they fix the Evolution integration?! Itās cactus for well over a year now. Probably more like two.), it forwards me to the corporate weblogin, I enter my credentials, even do the bloody MFA crap and get redirected back to Outlook. āLoading mailboxā¦ā āPlease wait for us to log you out, do not close this window while this process is underway.ā Fuck you! I have to delete the cookies for this damn domain each and every fucking time. Otherwise, this goes in circles forever. I tried the game for 15 minutes, no joke.
But wait, thereās more! Why just fuck it up only a little bit? This week I get logged out at the middle of the day. Every. Single. Day. Not even close to eight hours since I started, no. What the hell!? I reckon I just donāt even bother reauthenticating anymore in the arvo. No more e-mails for Lyse after lunch. Fuck it. Itās just distraction, anyway, right?!
sudo
is a sandwich. š« https://www.sudo.ws/
@movq@www.uninformativ.de @bender@twtxt.net I never saw that. Neither the website nor the logo. I like the old one more, although I have to admit the story behind the new one is actually really cool: https://www.sudo.ws/about/logo/
/ME feels like melting fater than a bowl of Icecream. Weeeeeeā¦ š« š
@prologic@twtxt.net I like the last two, on the first three you sent. I looked up āCanarvon Gorgeā, and read more about it. Thanks for introducing me to it!
Just realized: One of the reasons why I donāt like āflat UIsā is that they look broken to me. Like the program has a bug, missing pixmaps or whatever.
Take this for example:
https://movq.de/v/8822afccf0/a.png
Iām talking about this area specifically:
https://movq.de/v/8822afccf0/a%2Dhigh.png
One UI element ends and the other one begins ā no ātransitionā between them.
The style of old UIs like these two is deeply ingrained into my brain:
https://movq.de/v/8822afccf0/b.png
https://movq.de/v/8822afccf0/c.png
When all these little elements (borders, handles, even just simple lines, ā¦) are no longer present, then the program looks buggy and broken to me. And Iām not sure if Iāll ever be able to un-learn that.
@movq@www.uninformativ.de Yeah, itās been a while. Didnāt feel this long, though. Not at all, Iām quite surprised. :-O
But like with every quality content, there is no publishing schedule. Eventually, @mckinley@mckinley.cc will write another article for all of us. :-)
@lyse@lyse.isobeef.org Wow. Just like Skyrim! š
Thanks @bender@twtxt.net! Yeah, so super cute. I couldnāt pet them, though. Despite very curious, they were also very restless.
I persuaded my dad to check out the fireflies with me tonight. He only wanted to go for a short trip, so we came just across a couple hundred of them. Otherwise, the thousands mark would have been exceeded in no time. He was super glad I talked him into that. :-)
It was also my first time to see them over the meadows. Those numbers donāt compare to the ones inside the forest, no question, but we probably saw 60 or so. Havenāt come across them there before, I only heard and read about that.
Note to future-Lyse next year: Leaving at 21:45 seems like a good time. We left earlier and had to wait just a few more minutes for them to come out in masses.
Too bad itās impossible to share photos or videos. My camera isnāt made for that at all, not even close.
Anyone that the Pigs donāt like sure is the perfect candidate. Without fail.
Happy for you! Mamdani looks like he will be good for NYC.
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.
@movq@www.uninformativ.de @kat@yarn.girlonthemoon.xyz Itās awful, ājustā 32°C here. When I rode my bike into town I came across some spots where the heat was stationary built up and really intense. The airflow felt like the sauna attendant poured water over the heated rocks and severely fanned the hot air with his towel.
i love pinkpantheress so much sheās so cute and fun and tapped into every aesthetic and dance music sound i love. if you like house and garage and D&B music, check her out!!!! she absolutely knows her shit too btw sheās sampled basement jaxx and adam F
https://www.youtube.com/watch?v=Xo_lPnBlfto
https://www.youtube.com/watch?v=TFWXqLSr4ZM
@movq@www.uninformativ.de I also donāt think that Iām a particularly good speaker. :-) The workshop model is a good idea, I like that.
Yeah, itās really good fun. I can highly recommend it. This is also a good way to train (new) developers to think like attackers, how to break in, destroy something or raise awareness of some classes of bugs. Then you can avoid them next time. Itās surprising to me what vulnerabilities come up during this event every time. So, absolutely worth it, win, win.
went to vote. got told i canāt vote because iām not registered. handed a form to fill out that i later learn is not in english.
go home and find out the problem is widespread among young voters like me.
fuck this country.
Theyāre all talks, not real hands-on trainings like you did.
I love listening to good, well-structured talks. Problem is, not everybody is a good speaker and many screw it up. š„“ Iām certainly not a great speaker, which is why I gravitate more towards āworkshopsā, in the hopes that people ask questions and discussions arise. Doesnāt always work out. 𤣠At the very least, I almost always have some other person connect to the projector/beamer/screenshare and then they do the stuff ā this avoids me being wwwwaaaaaaaaayyyy too fast.
We are usually drowned in stress and tight deadlines, hence events like today are super rare ⦠We used to do it more often until ~10 years ago.
Once a year the security guys organize a really great hacking event, though.
Oh dear, Iād love to participate in that. 𤯠That sounds like a lot of fun. (Why donāt we do this?!)
@movq@www.uninformativ.de Interesting internal education sessions are way too infrequent here as well. There are a bunch of āknowledge transferā meetings actually, but 90% of the topics already sound totally boring to me. The other 9% talks turned out to be underwhelming, sadly. I only attended a single one where it was delivered what has been promised. Theyāre all talks, not real hands-on trainings like you did.
Once a year the security guys organize a really great hacking event, though. Teams can volunteer to hand in their software dev instances and all workmates are invited to hack them and report security vulnerabilities. Thatās a lot of fun, but also gets frustrating towards the end when you donāt make any progress. :-) Thereās also some actual hands-on training in advance for preparation of the two days. Unfortunately, I missed the last event due to my own project being very stressful at the time.
When I had a Do What You Want Day I also show my direct teammates what I learned in the hopes of this being interesting to them as well. Iām the only one in my team using this opportunity, sadly.
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.)
We really are bouncing back and forth between flat UIs and beveled UIs. I mean, this is what old X11 programs looked like:
https://www.uninformativ.de/desktop/2025%2D06%2D21%2D%2Dkatriawm%2Dold%2Dxorg%2Dapps.png
Good luck figuring out which of these UI elements are click-able ā unless you examine every pixel on the screen.
@thecanine@twtxt.net With the teeth this looks like a vampire dog. :-D And I donāt get the reference either.
@kat@yarn.girlonthemoon.xyz I like the animations in your version much better than the ones from ExtremeTuxRacer. š And thereās no little dance at the end of a race!
Felt the need to make this stupid reference - nobody will get, most likely. Feel free to guess (the file name and todays date, are both a hint), any other notes and opinions appreciated too, idk if I ever drew a standing one, from the front, before.
Ingredientes nas receitas americanas be like
3tbsp kosher salt
1oz unsalted butter
Quando alguƩm lhes explicar vai-se sentir as ondas de choque no planeta durante meses
@prologic@twtxt.net Iām trying to call some libc functions (because the Rust stdlib does not have an equivalent for getpeername()
, for example, so I donāt have a choice), so I have to do some FFI stuff and deal with raw pointers and all that, which is very gnarly in Rust ā because youāre not supposed to do this. Things like that are trivial in C or even Assembler, but I have not yet understood what Rust does under the hood. How and when does it allocate or free memory ⦠is the pointer that I get even still valid by the time I do the libc call? Stuff like that.
I hope that I eventually learn this over time ⦠but I get slapped in the face at every step. Itās very frustrating and Iām always this š¤ close to giving up (only to try again a year later).
Oh, yeah, yeah, I guess I could ājustā use some 3rd party library for this. socket2 gets mentioned a lot in this context. But I donāt want to. I literally need one getpeername()
call during the lifetime of my program, I donāt even do the socket()
, bind()
, listen()
, accept()
dance, I already have a fully functional file descriptor. Using a library for that is total overkill and Iād rather do it myself. (And look at the version number: 0.5.10
. The library is 6 years old but theyāre still saying: āNah, weāre not 1.0 yet, we reserve the right to make breaking changes with every new release.ā So many Rust libs are still unstable ā¦)
⦠and I could go on and on and on ⦠š¤£
pledge()
and unveil()
syscalls:
@movq@www.uninformativ.de I like this idea š Very neat!
OpenBSD has the wonderful pledge()
and unveil()
syscalls:
https://www.youtube.com/watch?v=bXO6nelFt-E
Not only are they super useful (the program itself can drop privileges ā like, it can initialize itself, read some files, whatever, and then tell the kernel that it will never do anything like that again; if it does, e.g. by being exploited through a bug, it gets killed by the kernel), but they are also extremely easy to use.
Imagine a server program with a connected socket in file descriptor 0. Before reading any data from the client, the program can do this:
unveil("/var/www/whatever", "r");
unveil(NULL, NULL);
pledge("stdio rpath", NULL);
Done. Itās now limited to reading files from that directory, communicating with the existing socket, stuff like that. But it cannot ever read any other files or exec()
into something else.
I canāt wait for the day when we have something like this on Linux. There have been some attempts, but itās not that easy. And itās certainly not mainstream, yet.
I need to have a closer look at Linuxās Landlock soon (āsoonā), but this is considerably more complicated than pledge()
/unveil()
:
REBORN LIKE A PHOENIX WING ā¤ļøāš„ š¼ https://www.youtube.com/watch?v=D-w2HwG18vg
@lyse@lyse.isobeef.org Rust is so different and, at the same time, so complex ā itās not far fetched to assume that I simply donāt understand whatās going on here. The docs appear to be clear, but alas ⦠is it a bugs in the docs? Is it a lack of experience on my part? Who knows.
By the way, looks like there was a bit of a discussion regarding that name:
@movq@www.uninformativ.de Lol, what the hell!? Reports like that turn me away even more from iron oxide. Also, great naming choice on the method they made there. display()
doesnāt actually display it. But itās a Rust thing.
@bender@twtxt.net Yeah, well, itās a bit like twtxt. There is a Gopher community, but itās small. I actually donāt like that HTTP is so easily accessible. I donāt like it that much when people post links to my site on HackerNews or something like that. Too much exposure.
Gopher is a small world. Itās slow and cozy.
And much like twtxt, the protocol is simpleĀ®, so itās easier to tinker with it.
@prologic@twtxt.net yes, I never understood you using micro.blog (and paying for it, nonetheless!). I donāt like it (as a platform), and have an unexplainable dislike for its creator.
@prologic@twtxt.net I am finding writing my Notes very therapeutic. Just create a markdown file and commit, push, and itās live. Whatever comes to mind, whatever I want to keep as relevant. Silly things, more like a dump.
If I feel like it, I do. If not, I donāt. Not social, not intended for anyone to see them. I am enjoying it!
@quark@ferengi.one Itās as close as coffee as you can get. š They take the beans, apply magic, and then most of the caffeine is gone. You can also buy whole decafād beans and then grind them yourself. It does kill some of the flavor ā but itās not like youāre drinking black water.
@movq@www.uninformativ.de This was always my belief too re likes, etc.
@movq@www.uninformativ.de Hmmm, that indeed surprises me, too. Looks like I live in a moorhen shortage area. Even ducks and geese are not all that common. But then also, there arenāt any substantially sized lakes around here. Just a few smaller ponds, which I donāt visit all that often.
@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.
@lyse@lyse.isobeef.org Thatās interesting, I see them (Teichrallen) everywhere I look. 𤯠It feels like theyāre about as common as mallards (Stockenten) over here. š¤
@quark@ferengi.one Ta. Hmm, whatās wrong with the blue text color? Is it too dark on the black background for you? :-?
Normal links are blue while images are teal. I thought I differentiate the two if I easily can. The underline of URLs comes from my terminal and is not ttās fault.
Configuring colors is in the todo list. But of course, providing a sane default is definitely something Iād like to have.
@lyse@lyse.isobeef.org Nice! The final desk looks like itās right out of Skyrim. š
@lyse@lyse.isobeef.org Like this? š
@kat@yarn.girlonthemoon.xyz I never did anything remotely like this. I might have to look into it some day. It might be a good topic for a Do What You Want Day.
When I chose the MIT license for all of my software, I thought:
āShould I use GPL, which I donāt really understand? Is that worth it? Yeah, there is a theoretical possibility that some company might use my code in their proprietary product ⦠and then what? Should I sue them to enforce the GPL? Iām not going to do that anyway, so Iāll just use the MIT license.ā
And now we have those LLM scrapers and now itās suddenly a reality that these companies (ab)use my code. I can see it in my logs. I didnāt expect that back then.
GPL wouldnāt help, either, of course. (Regardless, I now think that GPL would have been the better choice anyway.)
Iām honestly considering taking my code and website offline. Maybe make it accessible through some obscure protocol like Gopher or Gemini, but no more HTTP.
(Yes, Anubis might help. Temporarily.)
Iām just tired.
Sooo many new spam feeds to mute in the twtxt.net discovery view. :-( The RSS/Atom to Twtxt feed bridge was a mistake, I believe. I guess I just have to abandon that altogether and rely on my subscriptions to interact with new feeds in order to discover legitimate new ones. Not sure if that works, sounds like a chicken-ānā-egg problem.
@kat@yarn.girlonthemoon.xyz A blast from the past! š And all of it still works, thatās quite the surprise. I mean, Iām making real phone calls here and let the modems talk over that connection ⦠Almost like in the 90ies. š
hey @prologic@twtxt.net heads up - my pod is suddenly having weird 400 bad request errors on things like posting twts, new user registration, following, and more. itās not just me because a friend is also having these issues as a new user and canāt post. i saw one exception in the logs but iām not sure if itās related, iāll link it in a reply to this
@bender@twtxt.net i LOVE katseye so much theyāre like one of my fave girl groups rn
@quark@ferengi.one Ah, I see. Hm, only problem is, IE 3 doesnāt seem to support this yet. š Nah, I donāt think Iāll go down that road ā seems like a slippery slope. š¤£