• 0 Posts
  • 12 Comments
Joined 1 year ago
cake
Cake day: June 24th, 2023

help-circle
  • That’s usually the case.

    I live and work on London time. If I want to have a phonecall with someone in the Philippines, I have to be mindful that 9am for me is 5pm for them, so I’ll need to make the effort to start early to catch them while they’re still at work.

    Without timezones: If I want to have a phonecall with someone in the Philippines, I have to be mindful that their working day is 1am to 9am, so I’ll need to make the effort to start early to catch them while they’re still at work.

    I’ll still need to lookup when their working day is, I’ll still have to adjust/account for it, and I’ll still have to get up early / start work early to make that call. Getting rid of timezones doesn’t get rid of that +8 or the affects of that +8, it just renames how we communicate it.


  • aside: the little-k thing. SI has a beautifully simple rule, capital letters for prefixes >1, small letters for prefixes <1. So this disambiguates between a millivolts (mV) and megavolts (MV).

    But, and there’s always a but. The kilogram was the first SI unit, before they’d really thought it through. So we got both a lower-case k breaking such a beautifully simple rule, and the kilogram as a base unit instead of a gram. The Kilogram is metric’s “screw it, we’ll do it live”.

    Luckily this is almost a non-issue in computing as a fraction of a bit never shows up in practice. But! If you had a system that took 1000 seconds to transfer one bit, you could call that a millibit per second, or mbps, and really mess things up.


  • This has been my pet rant for a long time, but I usually explain it … almost exactly the other way around to you.

    You can essentially start off with nothing using binary prefixes. IBM’s first magnetic harddrive (the IBM 350 - you’ve probably seen it in the famous “forklifting it into a plane” photo) stored 5 million characters. Not 5*1024*1024 characters, 5,000,000 characters. This isn’t some consumer-era marketing trick - this is 1956, when companies were paying half a million dollars a year (2023-inflated-adjusted) to lease a computer. I keep getting told this is some modern trick - doesn’t it blow your mind to realise hdd manufacturers have been using base10 for nearly 70 years? Line-speed was always a lie base 10, where 1200 baud laughs at your 2^n fetish (and for that matter, baud comes from telegraphs, and was defined before computers existed), 100Mbit ethernet runs on a 25MHz clock, and speaking of clocks - kHz, MHz, MT/s, GT/s etc are always specified in base 10. For some reason no-one asks how we got 3GHz in between 2 & 4GHz CPUs.

    As you say, memory is the trouble-maker. RAM has two interesting properties for this discussion. One is that it heavily favours binary-prefixed “round numbers”, traditionally because no-one wanted RAM with un-used addresses because it made address decoding nightmarish (tl;dr; when 8k of RAM was usually 8x1k chips, you’d use the first 3 bits of the address to select the chip, and the other 10 bits as the address on the chip - if chips didn’t use their entire address space you’d need to actually calculate the address map, and this calculation would have to run multiples of times faster than the cpu itself) . The second, is that RAM was the first place non-CSy types saw numbers big enough for k to start becoming useful. So for the entire generation that started on microcomputers rather than big iron, memory-flavoured-k were the first k they ever tasted.

    I mean, hands up who had a computer with 8-64k of RAM and a cassette deck. You didn’t measure the size of your stored program in kB, but in seconds of tape.

    This shortcut than leaked into filesystems purely as an implementation detail - reading disk blocks into memory is much easier if you’re putting square pegs into square holes. So disk sectors are specified in binary sizes to enable them to fit efficiently into memory regions/pages. For example, CP/M has a 128-byte disk buffer between 0x080 and 0x100 - and its filesystem uses 128-byte sectors. Not a coincidence.

    This is where we start getting into stuff like floppy disk sizes being utter madness. 360k & 720k were 720 and 1440 512-byte sectors. When they doubled up again, we doubled 2800 512-byte sectors gave us 1440k - and because nothing is ever allowed to make sense (or because 1.40625M looks stupid), we used base10 to call this 1.44M.

    So it’s never been that computers used 1024-shaped-k’s. It should be a simple story of “everything uses 1,000s, except memory because reasons”. But once we started dividing base10-flavoured storage devices into base2-flavoured sectors, we lost any hope of this ever looking logical.


  • “target disk mode”, which this claims to be taking a lot of inspiration from, pretty much turns your computer into an external harddrive - so you can connect another machine to it for direct access. This appears to be trying to accomplish the same, but over the network.

    If you’ve ever stuffed up a machine so badly that the best idea you could come up with, was to take the harddrive out and work on it from another machine - this pretty much allows you to do that. But instead of taking the drive out and putting it an external drive enclosure, you just ask the stuffed up machine to act as the external drive enclosure.




  • I have a fairly opinionated stance on this. Except in your sudo example where you’re specifically using sudo for a reason, I document all commands as non-root, and do not instruct them to raise privs. Whether or not they have, want or need privs, and how they raise them, is their system not mine.

    It’s not exactly user friendly, but I don’t like to encourage people to blindly copy & paste commands that raise privs. That should be a conscious decision where they stop and ask themselves if & why it’s necessary.



  • We struggled with red hat because our product is usually in airgapped installations. We know how many we’ve sold, but we don’t know how many are still in use.

    Say a customer buys one unit. Then 5 years later, they replace it. And 5 years on, they replace it again. On the books that’s 3 sold. We don’t know that two were retired, we don’t know these are all the same installation. So red hat wants us to pay 3 annual licences for this, and those licences don’t end until we can prove the installation was retired. The costs effectively snowball indefinitely.

    We wanted to pay - it was the easiest route to certain federal qualifications. But we couldn’t come to an agreement on how to pay.



  • I’ll be honest, I’ll assume bad faith from Meta until proven otherwise.

    A good example here is the first version of Google chat, which federated with jabber - until it didn’t. I was quite vocal about converting my friends to it because it was an easy entrance to jabber, with a brand and interface they trusted.

    Then once it was big enough, jabber federation was cut off and we looked like the weird outsiders.

    Federating Meta will feel like a win right up until it doesn’t.


  • That 500AUD doesn’t just sit in an account and magically contribute to anything.

    Currency exchange doesn’t actually happen in a vacuum. The only reason your Bangladeshi example is able to send 500AUD to his family, is that someone who has Bangladeshi Taka wants 500AUD to buy goods or services from somewhere that accepts AUD. And there’s a very short list of countries that spend AUD.

    So that 500 doesn’t disappear to never return. That 500 is sold to someone who wants to use it to purchase australian exports.