Posts
177
Following
402
Followers
315
Dr. WiFi. Linux kernel hacker at Red Hat. Networking, XDP, etc. He/Him.

From the mid-90's to the mid-2000's videogames would scream their own name at you in the attract mode.

RESIDENT, EVIL 😡
THE HOUSE. 😮 OF THE DEAD 💀
Sega, Rally Championship! 👋☺👋
FATAL FRAME 2, CRRRIMSONBUTTERFLY 😨
Residentevil... 😡 FOURRRR!

I need a supercut video of lots of those title screens with the games screaming their names.

Fedi, please boost, does this already exist? Are you in fact the one who made it?

I'm asking not out of a desire for amusement but to help my daughter with her enunciation. Some of these voices had to carry across an arcade with all the games set to the same volume and so had to be Very Very Clear, but also with a Certain Flair

3
7
0
Edited 11 days ago

Guten Morgen ☕

Das freie GraphenOS macht Schlagzeilen:
Die spanische Polizei nennt es "Geister-Betriebssystem". Und:

" 'Jedes Mal, wenn wir ein Pixel sehen, denken wir, es könnte ein Drogendealer sein' "
"Abhörmaßnahmen wirkungslos"
"Staatliche Malware funktioniert nicht wie geplant"

"Da die katalanische Polizei aber laut eigenen Angaben ohnehin jeden Pixel-User für einen Dealer hält, ist es wahrscheinlich günstiger, selbst gleich GrapheneOS zu installieren."

;-)

https://www.derstandard.de/story/3000000278495/katalanische-polizei-geht-gezielt-gegen-nutzer-von-pixel-smartphones-vor

0
2
0

Names for avid readers 📚 by language -

English: Bookworm

Danish: Reading horse (Lesehest)

French: Ink drinker (Buveur d'encre)

German: Read-rat (Leseratte)

Indonesian: Book flea (Kutu buku)

Romanian: Library mouse (Șoarece de bibliotecă)

Norwegian: Reading horse (Lesehest)

Serbian/Polish: Book moth (Knjiški moljac / Mól książkowy)

Finnish: Reading maggot (Lukutoukka)

Swedish: Read-louse (Läslus)

Vietnamese: Bookwormweevil (Mọt sách) 

3
8
0

“I don’t know how to stop the bully [US gov’t] from beating people [oil states like Venezuela] up for their lunch money [oil energy] —but what if lunch [energy] was free, and no one was carrying lunch money?” Great allegory by @billmckibben.bsky.social@bsky.brid.gy billmckibben.substack.com/p/just-possi...

Just possibly it's the oil?

0
2
0

Thorsten Leemhuis (acct. 1/4)

Edited 20 days ago

Wanna know what the core developers discussed recently on this years summit?

Then check out the great @lwn coverage from the event now freely available:

https://lwn.net/Articles/1049982/

It includes:

* Toward a policy for machine-learning tools in kernel development – https://lwn.net/Articles/1049830/

* Best practices for linux-next – https://lwn.net/Articles/1050027/

* The state of the kernel experiment (aka the session where it was decided that the experimental stamp is coming off) – https://lwn.net/Articles/1050174/

* Better development tools for the kernel – https://lwn.net/Articles/1050177/

* Development-process discussions – https://lwn.net/Articles/1050179/

1
4
1

Thorsten Leemhuis (acct. 1/4)

Wanna know what's in store for 6.19, which is expected on February 1, 2026?

Then check out these great @lwn articles that are not freely available:

* The beginning of the 6.19 merge window – https://lwn.net/Articles/1048869/

* The rest of the 6.19 merge window – https://lwn.net/Articles/1049424/

0
3
2
re: Impressions learning Rust
Show content
@pmmeurcatpics yeah, not surprising! Certainly tracks with the experience I mentioned in the last post: you sorta run into this brick wall of type representation which you have you scale before you can do really useful things. Takes a bit of persistence to do, I suppose...
0
0
1
Impressions learning Rust
Show content
@shtrom haha, yeah, didn't run into anywhere that I needed to wrap anything, but I can certainly see why it makes sense to avoid that by default. Humans don't generally think about numbers as wrapping!

(To be slightly pedantic, *unsigned* integer wrapping is not strictly speaking undefined behaviour in C, only signed[0], but that doesn't mean it can't lead to surprising bugs...)

[0] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Integer-Overflow-Basics.html
0
0
1
Impressions learning Rust
Show content
@isomer I have not! Will give that a shot, thanks for the tip :)
0
0
0

Tangential thought:

A really funny thing is almost everything good about Rust comes down to when it was written. It has excellent LLVM integration because it was written right after LLVM happened. It has a good build system because the build system was written after pip and npm. It has great libraries because all the libraries were written between 2020 and 2024 and so they're all modern. Not sure where I'm going with this but it makes me wonder how Rust will age.

"How Rust will age". Heh.

3
1
0
Impressions learning Rust
Show content
If anyone is interested in the tool I built for this exercise, it's a simple DNS updater tool (for RFC 2136 updates):

https://github.com/tohojo/update-dns

I spent quite a bit of extra time on polish to make the code shorter and more readable as I learned more about various Rust constructs, but I have no idea if I succeeded in getting anywhere close to 'idiomatic Rust', if such a thing exists. So comments from more experienced Rustaceans are very welcome!

8/
1
0
2
Christmas PSA about not being a dick
Show content

With today being Christmas, here is your annual reminder to be nice to newbies in your spaces.

There is going to be a very sudden influx of people who are just getting into the spaces you occupy because they got a gift that acts as their gateway into that activity. Maybe you're into photography and someone just bought them their first ever camera body, or you're into music and someone bought them their first guitar, or you're an audiophile and someone bought them their first really nice headphones, or you're big into TTRPGs and someone just bought them their first ever core rulebook.

Whatever the specific activity and gift, these people are going to have no idea what they're doing, they're going to ask a lot of obvious questions, they're going to make a lot of rookie mistakes, and there's going to be a lot of them.

I cannot stress this enough: BE NICE TO THEM.

Few things will ruin someone's enjoyment of something faster than trying to join its community and getting such a rude first impression that their conclusion is "People who like this are kind of assholes. I don't think I want to do this if it's going to involve getting yelled at." Craigslist and eBay and FB Marketplace will be filled with mint condition gifts being resold to attest to this in the coming months.

You were there at the very first step once. Be the person for them that you wish you had back then. (Or if you were lucky enough, the person you did have who fostered your love of it!) Make this something they'll love just as much as you do, not something they'll want to sell and get away from as soon as possible.

Be the reason this Christmas starts a lifelong passion for them, not the reason they decide to abandon something that they would've loved because people made them feel bad for needing a helping hand.

0
14
0

Toke Høiland-Jørgensen

Edited 23 days ago
Impressions learning Rust
Show content
In retrospect, I think that one of the hurdles coming to Rust from C is that Rust forces you to do things right wrt representing everything with the right types, and manipulating them according to the rules of the type system. Which requires wrapping your head around a lot of different things at the same time before you can make any progress.

But once you *do* wrap your head around it, you get a kind of phase change feeling: suddenly things go from being obtuse and frustrating to being straight forward, and you really start to feel the power of the type system work in your favour. Which is very cool, and really shows the power of the language!

Oh, and the "when it compiles, it works" thing is definitely real; I spent very little time debugging weird runtime errors once things were actually compiling!

7/
2
2
5
Impressions learning Rust
Show content
Coming from C, error handling is another thing that takes a little getting used to. I started out doing the same thing I would do in C: have each function log an error if something goes wrong, and then return an error code.

But in Rust, you can attach the error message to the error code! With a little help from the 'anyhow' crate this becomes really easy, and you can just return errors all the way up the call stack, and if you also return them from the main function, Rust will helpfully print an error message and exit non-zero.

(For libraries you'd want typed errors, but for a CLI app like I was building, this pattern of just bubbling up the error messages works really well. The context/with_context helpers from the anyhow crate help where the default errors are not too helpful).

6/
1
1
3
Impressions learning Rust
Show content
Speaking of type safety - the Rust type system is obviously one of the things that takes a while to wrap your head around. But once you do, its power soon becomes apparent!

Especially the various safe conversion functions that can convert types to each other with from/into/parse.

Parsing an IP address? Just specify an IP address-typed variable and assign string.parse() to it, and presto! the compiler will figure out the right parser function to call, and you'll end up with the right type of variable (you still have to handle errors, though).

5/
1
0
1
Impressions learning Rust
Show content
On the subject of common crates, I am really impressed with the quality of the Rust libraries I ended up using for my small application (a simple command line utility that does dynamic DNS updates).

The clap and serde libraries for command line parsing and data (de)serialisation are great examples of this.

Simply define some structs, sprinkle a couple of macros across the members, and bam! Full featured command line argument parsing and YAML config file parsing, with the results being completely type safe and validated. All easily grok'able from the crate docs, that also have great examples to work from. Impressive!

4/
1
0
1

Toke Høiland-Jørgensen

Edited 23 days ago
Impressions learning Rust
Show content

Another thing that helped me was to start with something other than a complete beginner’s tutorial.

The Rust for C Programmers book is a great resource for someone with existing C experience; it explains the core Rust concepts concisely and in a way that makes it easy to lookup things as needed.

The other resource that was very helpful was the Blessed.rs curated list of common crates.

3/

1
0
3
Impressions learning Rust
Show content
First of all, I feel like the Rust ecosystem has significantly improved since the last time I tried this a couple of years ago: The compiler error messages are more helpful, documentation is better, common libraries are more comprehensive in their functionality. This is all very helpful for someone new to the ecosystem!

2/
1
0
1

Toke Høiland-Jørgensen

Impressions learning Rust
Show content
I've been meaning to sit down and learn Rust for a while, and have made a few attempts, but it never seemed to click in a way that stuck.

Well, the holidays have afforded me with several days in a cabin in Norway with no particular plans, which nicely lent itself to giving this another go.

Although I obviously haven't mastered the language yet, I do feel like it has clicked in a way that it hasn't before. I figured I'd share a couple of impressions from the experience here.

1/
2
8
16

oh wow, anna's archive "backed up" Spotify! they downloded 256 million songs - roughly 300TB - so you could technically, make your own spotify at home! would easily fit in a 2RU server, hmmmmm

https://annas-archive.li/blog/backing-up-spotify.html

2
3
0
Show older