Login
You're viewing the mastodon.dunklecat.dev public feed.
  • Sep 4, 2026, 10:29 PM

    does your computer need POSIX?

    tough but fair questions to consider up and down the twenty-layer dip we call an operating system these days, and millions of embedded assumptions, often made arbitrarily or capriciously in the moment by someone who was just trying to figure out how to make something work one time in the late 1990s. keep an eye out for them; they’re everywhere and they deserve to be re-examined. all of them.

    💬 1🔄 0⭐ 0

Replies

  • Sep 4, 2026, 10:30 PM

    remember, this is personal computing I’m talking about these days.

    not work computing, you’re not in charge there. not even you, mx. cto.

    so using a hard requirement for things you need for work don’t count in these exercises. this is for you stuff.

    💬 1🔄 0⭐ 0
  • Sep 4, 2026, 10:43 PM

    one of the main reasons for doing exercises like this if you’re thinking about trying to build a new type of computer system for personal use is that you start to identify whole swaths of capabilities that your current system has that you don’t even know what they are much less make use of them.

    that either eliminates a whole bunch of programming that doesn’t need to be mirrored in your new thing or it takes you down a rabbit hole that teaches why yes actually you are going to want that capability after all and a better understanding of how and why various things work in current computers and operating systems.

    you didn’t think this was going to be a short project, right?

    💬 1🔄 0⭐ 0
  • Sep 4, 2026, 10:53 PM

    another equally beneficial side effect of finding unnecessary baggage is that code that’s not in your program isn’t using resources, making your hardware requirements go down for equivalent theoretical perceived functionality, right? if you are asking the computer parts to do fifty percent less then it can use fifty percent fewer resources in the process of doing the things that it does do. I know, it sounds silly and weird to say it like that and not at all computer science-y, but I’m not talking about computer science, I’m talking about making stuff.

    💬 1🔄 0⭐ 0
  • Sep 4, 2026, 10:56 PM

    computer science is to making computers as music theory is to making music.

    having some computer science concepts under your belt can make it easier for you to make computers. knowing some music theory can make it easier for you to make music.

    but neither is a hard prerequisite. full stop.

    you can make computers without going all in on learning deep computer science stuff. it’s probably harder, but it’s provably been done. that’s where computers came from, right?

    so, you got this. whoever you are, if you want to make computers, go with the blessings of Sundog and have a good heckin’ time.

    💬 1🔄 0⭐ 0
  • Sep 4, 2026, 11:11 PM

    one of my challenges in my projects, as I set out to define the constraints to which I want to define my goal for a new personal computer for me by me, is that I have a lot of experience with a lot of different tech - different languages, different operating systems, different application stacks, what have you - so when I’m asking myself what I need to do what I want it’s easy to bring concepts and capabilities over together rather than just specifying the capability and letting the concepts be reconsidered during implementation, yeah?

    like, as an example, I am going to want programs to be able to store data in databases. I know a lot about a lot of different databases! it would seem to make sense for me to just bring one or two of the databases that I already have experience with over to my new operating system, but that’s a misstep in my opinion, for a couple reasons.

    first, modulo some very specific database engines, most database systems in the modern age do not live in a vacuum, so you are implicitly signing up to support their entire dependency stack into your new thing. so, postgresql is great, but probably not what I need on my personal computer.

    libsqlite might be a better fit, smaller, simpler model, yet sufficiently databasey, right?

    yeah, what if that’s still more database than my personal computer needs right off the bat?

    we can go smaller.

    💬 1🔄 0⭐ 0
  • Sep 4, 2026, 11:12 PM

    but there’s absolutely no need whatsoever until I have some part I want to implement that’s gonna need some sort of database!

    shave that yak in its day, friend! why the crap am I worrying about whether or not to have a relational database management system on my personal computer?

    smaller.

    💬 1🔄 0⭐ 0
  • Sep 4, 2026, 11:17 PM

    when the day comes, way down the line, when I end up saying “well, yep, I really wish I just had a database I could use for this”, that’s the day I can start to sit and re-evaluate how I feel about the current state of relational database technologies and SQL and noSQL and others and then decide what I want my database to look like and feel like and provide for the stuff I want to do with the ecosystem I’ve built to that point in mind and proceed from there.

    it’s my personal computer. it only has to comply with exactly as many standards as I say, but it has a whole world of standards to choose to implement should I decide I want that functionality. it doesn’t have to be as overwhelming as it may seem at the first thought of “wait build a personal computer and operating system?”

    💬 1🔄 0⭐ 0
  • Sep 4, 2026, 11:25 PM

    and honestly, one of the specifications that I’ve given myself for the completed projects is a full-on cheat code as well as a quick on-ramp for some hands-on-device testing throughout the projects lifetimes.

    one of my requirements is that I want to be able to use the keyboard, trackball, and display of my personal computer to connect over VNC to remote computers. it absolutely requires a standards-compliant vnc protocol client program. so I’m gonna be on the hook to implement that. I haven’t written a vnc client yet, but when I get to that point I will; it’s a knowable spec to hit, and if I’m not planning on trying to impress anyone with it I can even skip the parts of the spec that I know I’m not gonna need for my use case.

    smaller.

    but then, I have the ability to lean on “old ways” by remoting into my current laptop and using its linux environment to do whatever it is I’m trying to do that my new personal computer system isn’t equipped to do yet, and every time I have to fire up the vnc client it’s an opportunity to identify an eventual TODO for me to get to so I can move my personal computering off of the current platforms and onto mine over time, at my pace, without any more artificial deadlines than necessary. gently, thoughtfully, exploring the possibilities for my personal computering.

    💬 1🔄 0⭐ 0