š§® USERS:1 FEEDS:2 TWTS:1416 ARCHIVED:89026 CACHE:2601 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1415 ARCHIVED:89011 CACHE:2587 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1414 ARCHIVED:88590 CACHE:2574 FOLLOWERS:22 FOLLOWING:14
37C3 and New Yearās Eve 2023
Another one from the vaults. The 37C3 conference took place in
December, 2023. This report was mostly written in January, 2024.
Mostly finished it at night in my cottage between 28 and 29th
December, then edited and added some stuff in July, 2025. So⦠Only
1.5 years late?
It was a little ironic, and a little sad, that I was finishing the
37C3 report during 38C3. I didnāt manage to get any tickets for me and
#3 for 38C3 and had to make do with watching the stream.
The links to the talks go to [C ⦠ā Read more
š§® USERS:1 FEEDS:2 TWTS:1413 ARCHIVED:88585 CACHE:2571 FOLLOWERS:22 FOLLOWING:14
@lyse@lyse.isobeef.org āAdvancedā, well, probably more āmatureā. There arenāt a ton of crazy features and that icon thing is the largest code addition in the last 10 years. %)
Speaking of OS/2 ⦠I just realized that Windows 3.x didnāt have icons, either. If Iām not mistaken, this only got added in Windows 95. In other words, OS/2 had this feature before Windows did, because at least OS/2 2.1 from 1993 had icons. Who would have thunk.
(Now I kind of want to know which system really introduced this feature.)
@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. š„“
š§® USERS:1 FEEDS:2 TWTS:1412 ARCHIVED:88575 CACHE:2569 FOLLOWERS:22 FOLLOWING:14
@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
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.
š§® USERS:1 FEEDS:2 TWTS:1411 ARCHIVED:88563 CACHE:2558 FOLLOWERS:22 FOLLOWING:14
@lyse@lyse.isobeef.org They are optional dependencies and listed as such:
$ pacman -Qi pinentry
Name : pinentry
Version : 1.3.1-5
Description : Collection of simple PIN or passphrase entry dialogs which
utilize the Assuan protocol
Optional Deps : gcr: GNOME backend [installed]
gtk3: GTK backend [installed]
qt5-x11extras: Qt5 backend [installed]
kwayland5: Qt5 backend
kguiaddons: Qt6 backend
kwindowsystem: Qt6 backend
And itās probably a good thing that theyāre optional. I wouldnāt want to have all that installed all the time.
@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.
Only figured this out yesterday:
pinentry, which is used to safely enter a password on Linux, has several frontends. Thereās a GTK one, a Qt one, even an ncurses one, and so on.
GnuPG also uses pinentry. And you can configure your frontend of choice here in gpg-agent.conf.
But what happens when you donāt configure it? Whatās the default?
Turns out, pinentry is a shellscript wrapper and itās not even that long. Here it is in full:
#!/bin/bash
# Run user-defined and site-defined pre-exec hooks.
[[ -r "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec ]] && \
. "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec
[[ -r /etc/pinentry/preexec ]] && . /etc/pinentry/preexec
# Guess preferred backend based on environment.
backends=(curses tty)
if [[ -n "$DISPLAY" || -n "$WAYLAND_DISPLAY" ]]; then
case "$XDG_CURRENT_DESKTOP" in
KDE|LXQT|LXQt)
backends=(qt qt5 gnome3 gtk curses tty)
;;
*)
backends=(gnome3 gtk qt qt5 curses tty)
;;
esac
fi
for backend in "${backends[@]}"
do
lddout=$(ldd "/usr/bin/pinentry-$backend" 2>/dev/null) || continue
[[ "$lddout" == *'not found'* ]] && continue
exec "/usr/bin/pinentry-$backend" "$@"
done
exit 1
Preexec, okay, then some auto-detection to use a toolkit matching your desktop environment ā¦
⦠and then it invokes ldd? To find out if all the required libraries are installed for the auto-detected frontend?
Oof. I was sitting here wondering why it would use pinentry-gtk on one machine and pinentry-gnome3 on another, when both machines had the exact same configs. Yeah, but different libraries were installed. One machine was missing gcr, which is needed for pinentry-gnome3, so that machine (and that one alone) spawned pinentry-gtk ā¦
[47°09ā²19ā³S, 126°43ā²27ā³W] Reading: 1.34 Sv
[47°09ā²13ā³S, 126°43ā²30ā³W] Raw reading: 0x68806C51, offset +/-1
š§® USERS:1 FEEDS:2 TWTS:1410 ARCHIVED:88550 CACHE:2546 FOLLOWERS:22 FOLLOWING:14
@movq@www.uninformativ.de I fully agree with you on https://www.uninformativ.de/blog/postings/2025-07-22/0/POSTING-en.html!
Although, in the first screenshot, the window title background is much darker in the new version than the old one!1!1 :-P Kidding aside, the contrast in the old one is still better.
Also, note the missing underlines for the Alt hotkeys now. I just think that the underline in the old one is too thick.
š§® USERS:1 FEEDS:2 TWTS:1409 ARCHIVED:88527 CACHE:2536 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1408 ARCHIVED:88520 CACHE:2530 FOLLOWERS:22 FOLLOWING:14
[47°09ā²08ā³S, 126°43ā²36ā³W] Reading: 1.88 Sv
š§® USERS:1 FEEDS:2 TWTS:1407 ARCHIVED:88509 CACHE:2521 FOLLOWERS:22 FOLLOWING:14
[47°09ā²22ā³S, 126°43ā²17ā³W] Raw reading: 0x687B4271, offset +/-1
[47°09ā²49ā³S, 126°43ā²27ā³W] Reading: 1.87 Sv
š§® USERS:1 FEEDS:2 TWTS:1406 ARCHIVED:88503 CACHE:2547 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1405 ARCHIVED:88497 CACHE:2550 FOLLOWERS:22 FOLLOWING:14
@lyse@lyse.isobeef.org Ja, eine kleine Inventur vorab kann auch nicht schaden. Der Bestand an Erdankern, Heringen und Gaskartuschen ist durch mich die Tage schon wieder aufgestockt worden.
Wo das Gas bleibt weiĆ ich. Warum die Befestigungen immer weniger werden, obwohl wir durchzƤhlen (!), ist mir unbekannt. Vielleicht sind wir im Zahlenraum von 1 bis 20 einfach nur noch sehr unsicher. š¤
š§® USERS:1 FEEDS:2 TWTS:1404 ARCHIVED:88485 CACHE:2544 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1403 ARCHIVED:88482 CACHE:2542 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1402 ARCHIVED:88477 CACHE:2562 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1401 ARCHIVED:88472 CACHE:2558 FOLLOWERS:22 FOLLOWING:14
[47°09ā²35ā³S, 126°43ā²36ā³W] Reading: 1.44000 PPM
š§® USERS:1 FEEDS:2 TWTS:1400 ARCHIVED:88470 CACHE:2557 FOLLOWERS:22 FOLLOWING:14
Podemos continuar a fingir que somos só espectadores no #genocĆdio em curso, mas Ć© só isso mesmo que estamos a fazer: fingir.
š§® USERS:1 FEEDS:2 TWTS:1399 ARCHIVED:88461 CACHE:2553 FOLLOWERS:22 FOLLOWING:14
The WM_CLASS Property is used on X11 to assign rules to certain windows, e.g. āthis is a GIMP window, it should appear on workspace number 16.ā It consists of two fields, name and class.
Wayland (or rather, the XDG shell protocol ā core Wayland knows nothing about this) only has a single field called app_id.
When you run X11 programs under Wayland, you use XWayland, which is baked into most compositors. Then you have to deal with all three fields.
Some compositors map name to app_id, others map class to app_id, and even others directly expose the original name and class.
Apparently, there is no consensus.
š§® USERS:1 FEEDS:2 TWTS:1398 ARCHIVED:88454 CACHE:2548 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1397 ARCHIVED:88446 CACHE:2562 FOLLOWERS:22 FOLLOWING:14
[47°09ā²50ā³S, 126°43ā²12ā³W] Reading: 1.94 Sv
š§® USERS:1 FEEDS:2 TWTS:1396 ARCHIVED:88443 CACHE:2565 FOLLOWERS:22 FOLLOWING:14
@movq@www.uninformativ.de Yeah, itās a shitshow. MS overconfirms all my prejudices constantly.
Ignoring e-mail after lunch works great, though. :-)
Our timetracking is offline for over a week because of reasons. The responsible bunglers are falling by the skin of their teeth: https://lyse.isobeef.org/tmp/timetracking.png
- The error message neither includes the timeframe nor a link to an announcement article.
- The HTML page needs to download JS in order to display the fucking error message.
- Proper HTTP status codes are clearly only for big losers.
- Despite being down, heaps of resources are still fetched.
I find it really fascinating how one can screw up on so many levels. This is developed inhouse, Iām just so glad that weāre not a software engineering company. Oh wait. How embarrassing.
š§® USERS:1 FEEDS:2 TWTS:1395 ARCHIVED:88418 CACHE:2541 FOLLOWERS:22 FOLLOWING:14
The Linux installation on my main PC turned 14 today:
$ head -n 1 /var/log/pacman.log
[2011-07-07 11:19] installed filesystem (2011.04-1)
š§® USERS:1 FEEDS:2 TWTS:1394 ARCHIVED:88409 CACHE:2543 FOLLOWERS:22 FOLLOWING:14
[47°09ā²32ā³S, 126°43ā²31ā³W] Raw reading: 0x686A1EF1, offset +/-1
š§® USERS:1 FEEDS:2 TWTS:1393 ARCHIVED:88408 CACHE:2543 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1392 ARCHIVED:88401 CACHE:2539 FOLLOWERS:22 FOLLOWING:14
Sem palavras pra descrever esta baixeza de artigo:
é citado um único estudo baseado em testemunhos de alunos (ficam de fora pais e profs), um estudo qualitativo por isso não generalizÔvel. Mm assim, os autores do artigo copiam as conclusões do estudo, e o Público tb parece estar ok com artigos decalcados
os autores do artigo são consultores que dão formação a pais e educadores sobre problemas do digital nas crianças, por isso basear opinião apenas num estudo q os ignora é ainda mais wtf
argumento de q crianças têm acesso a dispositivos fora da escola é parvo - tb têm acesso a tabaco e Ôlcool, por isso tb os devemos permitir na escola? come on
e Ć© muito conveniente clamar pela regulamentação das redes sociais sem especificar a forma (proibir anĆŗncios? introduzir idades mĆnimas? nĆ£o sabemos).
No final é o costume, os pais e profs que se desenmerdem, a responsabilidade é deles e não das empresas que criam mecanismos de viciação, claro
š§® USERS:1 FEEDS:2 TWTS:1391 ARCHIVED:88396 CACHE:2535 FOLLOWERS:22 FOLLOWING:14
Metas Europeias: āOs paĆses da UE tĆŖm de poupar, em mĆ©dia, 1,5% por ano. A poupanƧa de energia deve comeƧar com 1,3% por ano atĆ© ao final de 2025ā
Portugal: āConsumo de eletricidade em Portugal atingiu mĆ”ximo histórico no primeiro semestre [de 2025]ā
Fontes:
Francisco Ferreira da #ZERO:
āA UniĆ£o Europeia (UE) estĆ” a dizer adeus Ć ambição climĆ”tica. Esta semana, em contraste com sinais evidentes de um clima em alteração com temperaturas recordes em toda a Europa, a ComissĆ£o Europeia apresentou, com meses de atraso, a meta climĆ”tica para 2040, propondo uma redução de pelo menos 90% das emissƵes face a 1990. No entanto, esta meta inclui mecanismos de flexibilidade, como crĆ©ditos de carbono internacionais e compensaƧƵes intersectoriais, que enfraquecem a ambição necessĆ”ria num momento crĆtico de agravamento da crise climĆ”tica.
Este atraso compromete tambĆ©m as metais europeias para 2035 a aprovar na COP30 no Brasil no final deste ano e enfraquece a lideranƧa global da UE ao sinalizar falta de determinação polĆtica. Estas flexibilidades inaceitĆ”veis, pois permitem desresponsabilizar setores emissores e adiar a transição, ignorando recomendaƧƵes cientĆficas que apontavam para reduƧƵes entre 90% e 95% sem tais mecanismos. A proposta surge num contexto polĆtico adverso após as eleiƧƵes europeias de 2024, com um recuo climĆ”tico generalizado, tendo a ComissĆ£o optado por um compromisso frĆ”gil para evitar confrontos com governos menos ambiciosos, como os da Polónia e Hungria. Esta Ć© uma oportunidade perdida de promover a lideranƧa climĆ”tica europeia.ā
½
š§® USERS:1 FEEDS:2 TWTS:1390 ARCHIVED:87839 CACHE:2584 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1389 ARCHIVED:87827 CACHE:2584 FOLLOWERS:22 FOLLOWING:14
[47°09ā²51ā³S, 126°43ā²21ā³W] Reading: 1.91000 PPM
š§® USERS:1 FEEDS:2 TWTS:1388 ARCHIVED:87820 CACHE:2603 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1387 ARCHIVED:87814 CACHE:2599 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1386 ARCHIVED:87795 CACHE:2602 FOLLOWERS:22 FOLLOWING:14
[47°09ā²37ā³S, 126°43ā²07ā³W] Reading: 1.99000 PPM
š§® USERS:1 FEEDS:2 TWTS:1385 ARCHIVED:87790 CACHE:2604 FOLLOWERS:22 FOLLOWING:14
[47°09ā²30ā³S, 126°43ā²18ā³W] Reading: 1.61000 PPM
š§® USERS:1 FEEDS:2 TWTS:1384 ARCHIVED:87784 CACHE:2673 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1383 ARCHIVED:87781 CACHE:2688 FOLLOWERS:22 FOLLOWING:14
[47°09ā²21ā³S, 126°43ā²14ā³W] Reading: 1.25000 PPM
Weāre entering the ātoo hot to thinkā-season in 3, 2, 1 ⦠and weāre live!
š§® USERS:1 FEEDS:2 TWTS:1382 ARCHIVED:87766 CACHE:2684 FOLLOWERS:22 FOLLOWING:14
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.
Read Lukas 1, the announciation and birth of the prophet John the Baptist. bible.com
[47°09ā²23ā³S, 126°43ā²34ā³W] Reading: 1.72 Sv
š§® USERS:1 FEEDS:2 TWTS:1381 ARCHIVED:87759 CACHE:2692 FOLLOWERS:22 FOLLOWING:14
Exigimos ao governo de Portugal o mĆnimo. Que:
Condene a agressão ilegal ao Irão por parte de Israel e dos Estados Unidos da América;
ProĆba o uso de infraestruturas e do espaƧo aĆ©reo portuguĆŖs para qualquer tipo de apoio aos ataques;
Aplique sanƧƵes ao Estado de Israel pelas suas consecutivas violaƧƵes do Direito Internacional e pelo genocĆdio em curso na Palestina;
ReconheƧa de imediato o Estado da Palestina.
Assina-se aqui: https://actionnetwork.org/forms/parar-a-guerra/
š§® USERS:1 FEEDS:2 TWTS:1380 ARCHIVED:87754 CACHE:2699 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1379 ARCHIVED:87753 CACHE:2701 FOLLOWERS:22 FOLLOWING:14
On my blog: Free Culture Book Club ā First Woman ā Dream to Reality https://john.colagioia.net/blog/2025/06/21/first-woman-1.html #freeculture #bookclub
Saw this on Mastodon:
https://racingbunny.com/@mookie/114718466149264471
18 rules of Software Engineering
- You will regret complexity when on-call
- Stop falling in love with your own code
- Everything is a trade-off. Thereās no ābestā 3. Every line of code you write is a liability 4. Document your decisions and designs
- Everyone hates code they didnāt write
- Donāt use unnecessary dependencies
- Coding standards prevent arguments
- Write meaningful commit messages
- Donāt ever stop learning new things
- Code reviews spread knowledge
- Always build for maintainability
- Ask for help when youāre stuck
- Fix root causes, not symptoms
- Software is never completed
- Estimates are not promises
- Ship early, iterate often
- Keep. It. Simple.
Solid list, even though 14 is up for debate in my opinion: Software can be completed. You have a use case / problem, you solve that problem, done. Your software is completed now. There might still be bugs and they should be fixed ā but this doesnāt āaddā to the program. Donāt use āsoftware is never doneā as an excuse to keep adding and adding stuff to your code.
š§® USERS:1 FEEDS:2 TWTS:1378 ARCHIVED:87729 CACHE:2694 FOLLOWERS:22 FOLLOWING:14
@aelaraji@aelaraji.com I use Alt+. all the time, itās great. š
FWIW, another thing I often use is !! to recall the entire previous command line:
$ find -iname '*foo*'
./This is a foo file.txt
$ cat "$(!!)"
cat "$(find -iname '*foo*')"
This is just a test.
Yep!
Or:
$ ls -al subdir
ls: cannot open directory 'subdir': Permission denied
$ sudo !!
sudo ls -al subdir
total 0
drwx------ 2 root root 60 Jun 20 19:39 .
drwx------ 7 jess jess 360 Jun 20 19:39 ..
-rw-r--r-- 1 root root 0 Jun 20 19:39 nothing-to-see
š§® USERS:1 FEEDS:2 TWTS:1377 ARCHIVED:87719 CACHE:2687 FOLLOWERS:22 FOLLOWING:14
On my blog: Real Life in Star Trek, Gambit part 1 https://john.colagioia.net/blog/2025/06/19/gambit-part-1.html #scifi #startrek #closereading
[47°09ā²47ā³S, 126°43ā²52ā³W] Reading: 1.68 Sv
š§® USERS:1 FEEDS:2 TWTS:1376 ARCHIVED:87698 CACHE:2671 FOLLOWERS:22 FOLLOWING:14
@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 ⦠š¤£
š§® USERS:1 FEEDS:2 TWTS:1375 ARCHIVED:87691 CACHE:2671 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1374 ARCHIVED:87681 CACHE:2671 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1373 ARCHIVED:87677 CACHE:2676 FOLLOWERS:22 FOLLOWING:14
orb v0.1.0 - tiny metasearch | https://nilfm.cc/orb.html
So I was using this function in Rust:
https://doc.rust-lang.org/std/path/struct.Path.html#method.display
Note the little 1.0.0 in the top right corner, which means that this function has been āstable since Rust version 1.0.0ā. Weāre at 1.87 now, so weāre good.
Then I compiled my program on OpenBSD with Rust 1.86, i.e. just one version behind, but well ahead of 1.0.0.
The compiler said that I was using an unstable library feature.
Turns out, that function internally uses this:
https://doc.rust-lang.org/std/ffi/struct.OsStr.html#method.display
And that is only available since Rust 1.87.
How was I supposed to know this? š¤Øš«©
š§® USERS:1 FEEDS:2 TWTS:1372 ARCHIVED:87663 CACHE:2673 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1371 ARCHIVED:87645 CACHE:2661 FOLLOWERS:22 FOLLOWING:14
Transcrição:
O resultado das Ćŗltimas eleiƧƵes legislativas veio moralizar um sector da população que passou a diabolizar a āesquerdaā sem quaisquer tipos de restriƧƵes de linguagem, ācrucificandoā pessoas pelas suas posiƧƵes humanistas e antifascistas, e vangloriando, abertamente e sem pudor, por exemplo, o antigo regime. Nesse particular, tem-se destacado Gabriel MithĆ” Ribeiro, deputado do Chega eleito por Leiria que, nas redes sociais e em artigos publicados no Observador, nos tem mostrado ser uma figura controversa e polarizadora, nĆ£o apenas pelas suas opiniƵes, mas pela forma como as expressa: provocadoras, desdenhosas e, por vezes, perigosamente revisionistas.
1/n
š§® USERS:1 FEEDS:2 TWTS:1370 ARCHIVED:87623 CACHE:2689 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1369 ARCHIVED:87615 CACHE:2689 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1368 ARCHIVED:87599 CACHE:2702 FOLLOWERS:22 FOLLOWING:14
[47°09ā²13ā³S, 126°43ā²20ā³W] Raw reading: 0x684880B1, offset +/-1
Neue Spiele: Dune Awakening schlƤgt GTA-Mƶchtegern-Klon
Zwei Neuverƶffentlichungen mit sehr unterschiedlichen Reaktionen der Community: Ab sofort sind Dune Awakening und Mindseye erhƤltlich. ( Dune Awakening, Steam)
Neom: Brücke über das Rote Meer zu The Line geplant
Saudi-Arabien und die Halbinsel Sinai sollen mit einer 20 km langen Brücke verbunden werden. Das Megaprojekt Neom würde damit eine Bahnverbindung bekommen. ( Infrastruktur, Energie & Klima)
[$] An end to uniprocessor configurations
The Linux kernel famously scales from the smallest of systems to massive
servers with thousands of CPUs. It was not always that way, though; the
initial version of the kernel could only manage a single processor. That
limitation was lifted, obviously, but single-processor machines have always
been treated specially in the scheduler. That longstanding situation may
soon come to an end, though, if this patch\āØseries from Ingo M ⦠ā Read more
Huawei-Gründer: US-Chip-Handelskrieg für China ākein Grund zur Sorgeā
Ren Zhengfei ruft dazu auf, hart zu arbeiten, um den Rückstand gegenüber den USA aufzuholen. Huawei liege nur noch um eine Chipgeneration hinter den USA. ( Huawei, Prozessor)
Anzeige: Fahrradtrainer bei Amazon mit 34 Prozent Rabatt im Angebot
Bei Amazon gibt es derzeit ein attraktives Angebot zu einem Fahrradergometer von Tretmann. Es ist mit 34 Prozent Rabatt erhƤltlich. ( Sport, Amazon)
Anzeige: USB-SSD-Stick mit 1 TByte günstig wie nie
GroĆ wie ein Flashdrive, schnell wie eine Festplatte: Amazon verkauft den 1 TByte groĆen USB-SSD-Stick von Move Speed zum neuen Tiefstpreis. ( Solid State Drive, Speichermedien)