I never did an #introduction, so here goes:
• I like #ObjC and am the developer of @ObjFW
• I'm interested in obscure CPU architectures and *enjoy* writing assembly for them (weirdest in my collection are #Itanium, #PARISC and #SH4 🙂)
• I'm into obscure OSes (e.g. #MorphOS)
• I collect retro hardware
• I am an #XMPP advocate (decentralized & federated like Mastodon!)
• I mostly use #macOS :apple_inc:, @openbsd and #NetBSD :netbsd: as a daily OS
• I am also a @haiku 🍃 developer
@kaniini Ugh, I saw that Audacious is now using Meson. Seriously?!
"Veneto’s regional council rejected a plan to combat climate change minutes before its offices on the Grand Canal, in Venice, were flooded"
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: https://lwn.net/SubscriberLink/804254/71240d6b83844653/
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."
Extremely cursed thread "Falsehoods CS Students (Still) Believe Upon Graduating"
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
That weird dude with the mission to make sure Objective-C works on every platform this planet invented.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!