Programming
#POSIX [#C](https://snac.bsd.cafe?t=c) #programming So, you want to launch some external tool. Ok, `fork()`/`exec()` is simple enough. But you don't want to "care" for it (`wait()`) if it's running longer. Ok, just fork some intermediate child, `init` will adopt it when this child exits. But wait ... you **do** want to know if execution itself fails ... or if the tool exits "somewhat quickly" with an error. Okay, this will be interesting ... Seriously, I'm quite unsure whether this code here is correct. But it's surprisingly large for that "simple" job. <https://github.com/Zirias/xmoji/blob/master/src/bin/xmoji/xdgopen.c#L56>
#Python 3.13 released with new and improved interactive interpreter, experimental free-threaded build mode, experimental JIT, support for type defaults in type parameters, and more <https://pythoninsider.blogspot.com/2024/10/python-3130-final-released.html> #OpenSource #programming #Linux
#X11 #programming #tales – the *magic pager powers!* 🤩 There's a general problem with windowing systems and desktop environments. You can do stuff with windows like, bring them to the front, activate them, move them to a different virtual desktop, and so on. That's nice until something bad happens like a user accidentally typing sensitive stuff into a wrong window ... or maybe just annoying the user. So, windowing systems started to do things to prevent this. E.g. they just ignore something an application wants to do ... or replace it with something different (hey, this window wants to be activated, let's flash it in the taskbar instead). But then, there are very valid usecases where e.g. bringing a window to the front is most likely **exactly what the user wants**. While implementing single-instance mode (which I plan to make optional of course!) in #Xmoji, I had such a usecase. So, the user only wants to have a single instance of that app running. Yet the user starts it again ... 🤔 the natural expectation would be that the already running instance appears on the screen *as if it was newly started*, which is, of course, on top ... Well, enter #EWMH (which is used for communication with the window manager additionally to #ICCCM in all "modern" environments). They identified that **pagers** always have valid reasons to do anything to windows. So, they added a field to lots of requests, the "source identifier", which must be set to `1` if the request is issued by a "normal" application, and to `2` if it is issued by a pager. Window managers are required to **always obey the pager**. Now for the magic trick: What if we just tell the window manager "hey, I'm a pager"? Oh, I **love it**! 😂 (*sudo make me a sandwich* style, just better). Of course that's sarcasm. The initial problem just can't be solved that way. It can only be solved in individual applications, that just shouldn't do unexpected nonsense with their windows. 🙄 Side note: #Windows does it differently. An application on a windows desktop can only "self-activate" if the currently active application explicitly passes permission. That's a lot more boring (I can't just pretend something and make the desktop obey me 😞), but also doesn't solve the problem. While I could certainly cover my usecase in Xmoji that way (I mean, the new instance can pass that permission to the already running one), I'm sure there are lots of other valid usecases for e.g. activating a window that just can't be done on a Windows desktop...
Has anyone understood and is using <memory_resource> in C++17..? #cxx #programming
i am in love with the cover art on al sweigart's python game programming book it was switched out with some more corporate art a year later. #programming
Jeroen Koekkoek, one of our lead developers, has collaborated with @lemire@mastodon.social to create a blazingly #DNS fast zone file parser that is now part of our authoritative nameserver NSD. They have now published a paper outlining how they enhanced parsing throughput using data parallelism, specifically Single Instruction Multiple Data (#SIMD) instructions available on commodity processors. #programming <https://www.authorea.com/1222979>
Versatility, Speed. Pick Two. October 23 and 24th, come see the magic. And, the crime we use to get it. <https://www.p99conf.io/> #p99conf #ScyllaDB #DevTalk #programming ![video/mp4](https://lemm.ee/api/v3/image_proxy?url=https%3A%2F%2Fcdn.pony.social%2Fmedia_attachments%2Ffiles%2F113%2F069%2F140%2F490%2F295%2F861%2Foriginal%2F7eb077cebddf867c.mp4)
Is the new #zed editor mostly hype rn? I can believe it’s good and cool ( built in graphics and collab seem to me like good ideas). But as someone who happily stayed with sublime (with LSPs a likely game changer) … takes like “it’s fast!”, “LSP!”, “it now has snippets!” … along with people telling me it has a plug-in system, but doesn’t (cf python/lua runtimes of sublime/nvim) give me massive hype vibes and honestly just feels very “2020s-tech”. #programming @programming@programming.dev