Searching We.Love.Privacy.Club

Twts matching #C
Sort by: Newest, Oldest, Most Relevant

Deals: AirPods Pro 2 for $170, $100 Off Apple Watch Ultra 3, & More
AirPods Pro 2 are fantastic earbuds and offer advanced features like hearing aid functionality for mild to moderate hearing loss, active noise cancellation, high fidelity sound, water and sweat resistance, Spatial Audio, custom fit, transparency mode, ear detection, a USB-C charging case, and more. AirPods Pro 2 – $170 (down from $249) Apple Watch Ultra … [Read More](https://osxdaily.com/2025/11/01/de … ⌘ Read more

⤋ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

@movq@www.uninformativ.de Yeah, give it a shot. At worst you know that you have to continue your quest. :-)

Fun fact, during a semester break I was actually a little bored, so I just started reading the Qt documentation. I didn’t plan on using Qt for anything, though. I only looked at the docs because they were on my bucket list for some reason. Qt was probably recommended to me and coming from KDE myself, that was motivation enough to look at the docs just for fun.

The more I read, the more hooked I got. The documentation was extremely well written, something I’ve never seen before. The structure was very well thought out and I got the impression that I understood what the people thought when they actually designed Qt.

A few days in I decided to actually give it a real try. Having never done anything in C++ before, I quickly realized that this endeavor won’t succeed. I simply couldn’t get it going. But I found the Qt bindings for Python, so that was a new boost. And quickly after, I discovered that there were even KDE bindings for Python in my package manager, so I immediately switched to them as that integrated into my KDE desktop even nicer.

I used the Python KDE bindings for one larger project, a planning software for a summer camp that we used several years. It’s main feature was to see who is available to do an activity. In the past, that was done on a large sheet of paper, but people got assigned two activities at the same time or weren’t assigned at all. So, by showing people in yellow (free), green (one activity assigned) and red (overbooked), this sped up and improved the planning process.

Another core feature was to generate personalized time tables (just like back in school) and a dedicated view for the morning meeting on site.

It was extended over the years with all sorts of stuff. E.g. I then implemented a warning if all the custodians of an activitiy with kids were underage to satisfy new the guidelines that there should be somebody of age.

Just before the pandemic I started to even add support for personalized live views on phones or tablets during the planning process (with web sockets, though). This way, people could see their own schedule or independently check at which day an activity takes place etc. For these side quests, they don’t have to check the large matrix on the projector. But the project died there.

Here’s a screenshot from one of the main views:

This Python+Qt rewrite replaced and improved the Java+Swing predecessor.

⤋ Read More
In-reply-to » There are no really good GUI toolkits for Linux, are there?

@movq@www.uninformativ.de Don’t you worry, this was meant as a joke. :-D

There was a time when I thought that Swing was actually really good. But having done some Qt/KDE later, I realized how much better that was. That were the late KDE 3 and early KDE 4 days, though. Not sure how it is today. But back then it felt Trolltech and the KDE folks put a hell lot more thought into their stuff. I was pleasantly surprised how natural it appeared and all the bits played together. Sure, there were the odd ends, but the overall design was a lot better in my opinion.

To be fair, I never used it from C++, always the Python bindings, which were considerably more comfortable (just alone the possibility to specify most attributes right away as kwargs in the constructor instead of calling tons of setters). And QtJambi, the Java binding, was also relatively nice. I never did a real project though, just played around with the latter.

⤋ Read More

Not so proud to be American — ā€˜fed up’ expats renounce citizenship
Steve Hendrix, Ā Ā  - Ā msn

_Stephan:Ā Today, I got the third email I have received since August from an SR reader living overseas telling me they are giving up their American citizenship.Ā  I have known many Americans living overseas, but until recently, I couldn’t remember any of them telling me they were giving up their American citizenship. However, as this article describes, renouncing American c … ⌘ Read more

⤋ Read More

The Linux boot process: from power button to kernel
You press the power button. A second later a wall of text scrolls by, or a logo fades in, and eventually Linux appears. What happens in between is not magic. It is a careful handshake between tiny programs and a very literal CPU. This part follows that handshake until the very first line of C code inside the Linux kernel runs. ↫ 0xkato’s blog Exactly what it says on the tin. ⌘ Read more

⤋ Read More
In-reply-to » That was a very non-fun day at work.

@movq@www.uninformativ.de Yeah, this is similar to my 2025 GWM Cannon Ute (truck) that we recently bought. It has this app called the ā€œGWM Appā€ that lets you view various health/stats of the vehicle, open/close the door, locks, control the A/C etc, all from your Mobile Phone. – But… Guess what?! :D It has a goddamn fucking SIM card in the head unit (dash) somewhere that once you ā€œconsentā€ and agree it signs up to some god knows what local cellular service and all that wonderul functionality is controlled by, guess what… A fucking goddamn CLOUD service! da actual flying fuck is wrong with these people?! – Are we some of the only people in the world that realize how fucking dumb all this Internet-connect shitā„¢ really is?

⤋ Read More

Sam Whited: Coffeeneuring 2025
This year I haven’t blogged much at all, but it’s time for the 15th annual
Coffeeneuring and who-knows-how-many-annual Biketober challenges so here we go!
This post will be updated with each of my Coffeeneuring rides as the month goes
on, and may (or may not) contain a few fun C+1 rides that count towards
Biketober, but not for Coffeeneuring.
… ⌘ Read more

⤋ Read More

How to write a complete GNOME application in Lua
This article is intended to be aĀ comprehensiveĀ guide to writing your first GNOME app in Lua using LuaGObject. The article assumes that you already understand Lua and want to get started with building beautiful native applications for GNOME. I also assume you know how to use a command line to install and compile software. Having some knowledge of the C programming language, as well as the Make, Gettext, and Flatpak software will be hel … ⌘ Read more

⤋ 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

⤋ Read More

UNIX99: UNIX for the TI-99/4A
I’ve been working on developing an operating system for the TI-99 for the last 18 months or so. I didn’t intend this—my original plan was to develop enough of the standard C libraries to help with writing cartridge-based and EA5 programs. But that trek led me quickly towards developing an OS. As Unix is by far my preferred OS, this OS is an approximation. Developing an OS within the resources available, particularly the RAM, has been challenging, but also surprisingly doab … ⌘ Read more

⤋ Read More

Beyond Containers: llama.cpp Now Pulls GGUF Models Directly from Docker Hub
The world of local AI is moving at an incredible pace, and at the heart of this revolution is llama.cpp—the powerhouse C++ inference engine that brings Large Language Models (LLMs) to everyday hardware (and it’s also the inference engine that powers Docker Model Runner). Developers love llama.cpp for its performance and simplicity. And we at… ⌘ Read more

⤋ Read More

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

⤋ Read More

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:

https://x.org/releases/current/doc/libX11/libX11/libX11.html#Obtaining_and_Changing_Window_Properties

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.

⤋ Read More
In-reply-to » 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.

st tries not to redraw immediately after new data arrives:

https://git.suckless.org/st/file/x.c.html#l1984

The exact timings are configurable.

This is the PR that changed the timing in VTE recently (2023):

https://gitlab.gnome.org/GNOME/vte/-/issues/2678

There is a long discussion. It’s not a trivial problem, especially not in the context of GTK and multiple competing terminal widgets. st dodges all these issues (for various reasons).

⤋ Read More

We covered quite some ground in the two and a half hours today. The weather was nice, mostly cloudy and just 23°C. That’s also why we decided to take a longer tour. We saw four deer in the wild, three of which I managed to just ban on film, quality could be better, though. My camera produced a hell lot of defocused photos this time. Not sure what’s going on with the autofocus. https://lyse.isobeef.org/waldspaziergang-2025-07-10/

When the sun came out, colors were just beautiful:

Meadows with a corn field and woodland on the hill

⤋ Read More

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:

I’m talking about this area specifically:

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:


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.

⤋ Read More

It annoys me when I clone a git repository A in order to build and self-host some software, only to realize later that I also needed to clone repos B, C and D. I’m not saying that’s a bad thing–logical separation of code between, say, a client and a server is very handy–but some projects do not communicate very well when you need multiple tools to get it running independently.

⤋ Read More
In-reply-to » https://threadreaderapp.com/thread/1935344122103308748.html Interesting article on how ChatGPT is rotting your brain 🤣

@prologic@twtxt.net … or just bullshit.

I’m Alex, COO at ColdIQ. Built a $4.5M ARR business in under 2 years.

Some ā€œC-levelā€ guy telling people what to do, yeah, I have my doubts.

⤋ Read More
In-reply-to » Fuck me sideways, Rust is so hard. Will we ever be friends?

@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 … 🤣

⤋ Read More

New oil and gas fields incompatible with Paris climate goals
Opening any new North Sea oil and gas fields is incompatible with achieving the Paris Climate Agreement goals of limiting warming to 1.5°C or holding warming to ā€œwell below 2°Cā€ relative to preindustrial levels, finds a new report published by UCL academics. ⌘ Read more

⤋ Read More