Pinned toot

I never did an , so here goes:

• I like and am the developer of @ObjFW
• I'm interested in obscure CPU architectures and *enjoy* writing assembly for them (weirdest in my collection are , and 🙂)
• I'm into obscure OSes (e.g. )
• I collect retro hardware
• I am an :xmpp: advocate (decentralized & federated like Mastodon!)
• I mostly use :apple_inc:, @openbsd :openbsd: and :netbsd: as a daily OS
• I am also a @haiku 🍃 developer

@kaniini Ugh, I saw that Audacious is now using Meson. Seriously?!

Instant karma:

"Veneto’s regional council rejected a plan to combat climate change minutes before its offices on the Grand Canal, in Venice, were flooded"

Signal Foundation has ~100M USD assets. And yet Signal Desktop is still annoyingly crappy Electron app.

It literally locks up for a second or two when I write a message longer than 5 characters.

Guys, seriously. Can you please get your shit together.

Linus Torvalds: Git is a distributed version control system, which means even if you lose a remote, you still have your local copy, so your code is safe, unlike centralized VCSes.

Developer Community: wut?

Microsoft: Hmm. How about you use our Visual Studio Online and push it to GitHub, both hosted on our computers, so that you don't have a local copy?

Developer Community: Yaay! Such innovation! Very cloud! Much wow! 🎉

Trump: Thou shall not use US services.

Developers: Where's my code? 😭

I wonder what percentage of #Linux developers realize their choices not only affect different init systems on Linux, but also the BSDs:

This type of tech, #systemd and #docker being prime examples, are forms of open source vendor lock-in.

Version 1.0.0 of XEP-0423 (XMPP Compliance Suites 2020) has been released.

"There is a growing number of XMPP Extension Protocols (XEPs) that provide different building blocks for XMPP-based applications. XMPP software developers are confronted with the challenge of finding the right combination of XEPs for a given application profile. Users need a way to compare applications without resorting to comparing for individual XEP numbers."


like instead of expressing concerns politely he just merges shit instead to avoid yelling at people? i don't know, but i know that the kernels have gotten increasingly buggier. correlation doesn't equal causation, of course...
ok so far not a single skip on kernel 5.4.0-rc6, I guess this kernel may actually be stable.

i feel like ever since Linus took his sensitivity training, QA has really gone downhill in Linux

Extremely cursed thread "Falsehoods CS Students (Still) Believe Upon Graduating"

you have to say ahead of time how much memory you are going to use

you are allocated all of that at the start and you can't get more

which is kind of terrible

that's' not even to mention that

you are given a heap of a limited size, that is specified in your program's resources

that's how much heap you're given, and that's what you're allowed to allocate from

you can make temporary, small allocations outside that, but thats it

on a modern system you can just allocate willy nilly and not worry about where that memory is, and you just get a pointer, and all is good

not happenin on classic mac os

you do not want heap fragmentation

if you get heap fragmentation then if you allocate, say, 16mb of memory, even if you have 32mb free, you might not be able to allocate it because those 32mb are broken up all over the place

this is why those allocated blocks are able to move at any time - so the os can rearrange things and allocate those bigger blocks

but having locked blocks prevents that

also the place where the pointers are stored? that's yours to deal with too. those are always locked, you start with 64 and 64 more are allocated when you need them, but they're in locked blocks that will almost certainly cause heap fragmentation, so if you want to avoid that you need to manually manage allocating those in low memory as early as possible in your program

you dont get the luxury of malloc and family on a classic mac, oh no

you dont get any function to call that will just give you a pointer to a nice block of memory

you want memory? you get a pointer to a pointer to a block of memory. that block of memory can change at *any* time and you have to always dereference the pointer to the pointer to it.

you can lock the location of a block, but that can lead to heap fragmentation unless you do a bunch of stuff to manually manage the *location* of your memory

people who dont like c: "but you have to do manual memory management! thats so hard and error prone!"

anyone who has ever developed for classic mac: "lol"

This HN thread about Apple not allowing electron in the app store confirms all my worst biases about developers who use electron. "I can't possibly know what symbols are in my binary because I don't know how to run strings..." You use a framework, its problems are your problems.
Show more

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!