• 0 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: January 26th, 2025

help-circle
  • Sailfish is real linux. It runs wayland and systemd with a user interface in Qt. I can enable developer mode and ssh into my phone and just sudo as much as I want, or just install a compiler and do whatever I want.

    Linux was always intended to be used like this, commercially, straight from Linus’s mouth. Development requires time, which requires money, as developers need to eat.

    I doubt there are that many people working for free on the kernel, most are paid by hardware vendors and support contracts. The balance between open source and funded development is what makes it work. Having everything be fully open, all the way through the stack, would require a fundamentally different funding model globally, basically overthrowing capitalism. I’m not saying a change of scenery wouldn’t be nice, but we can progress out from under big tech without trying to get everyone to be like Stallman.

    Now, what you are really looking for is a Hurd based phone.


  • Old sailfish user here, currently on an iPhone. The following things are why I switched.

    • No support for Bluetooth LE, either natively or in the Android emulation. (So no smart watches, bike computers, etc.)
    • Bluetooth headphones worked fine. Mostly. And not with any good codecs.
    • The native app ecosystem was small. You will need to fallback to android emulation for a lot of things. In particular, good luck getting any commercial apps natively (trains, banks, and so on).
    • The native apps that existed were clearly hobby projects, mostly written by one person for the use of that person. Which is fine, but none of the apps I used left enough of an impression for me to remember them.
    • The web browser was fine to use, but absolutely not up to standard w.r.t. security (at that time). Plenty of known issues in the underlaying engine.
    • No decent native app for maps. I never tried a native app that managed over 15fps when scrolling around. I think I also had issues with position data in android apps…
    • Finally, I was constantly switching between two very different user experienced - emulated android and native sailfish.

    Native sailfish was absolutely wonderful. It worked flawlessly when I stayed within the fearures that were available natively. But in modern society you simply can’t get away without all the android/ios stuff. At least not unless you have a lot of time and energy to fight the system, and I currently don’t have that.

    This was a few years ago, so things may have changed for the better. I’ve been busy and haven’t kept track.

    But if you want something to do - write an amazing maps app for native sailfish or get the Bluetooth LE-stuff working.


  • The wind energy used would eventually dissipate into heat anyway, this just puts AI in the middle.

    In general: all computers turn electricity into heat. After that you get to deal with the heat, which will ironically generate even more heat (fans, pumps, etc.). This is Power Usage Effectiveness (PUE). A shitty datacenter might spend over 30% of the energy on cooling. Of course, any compute will end up heating up things, so moving the heat away efficiently is a huge deal.

    I think dunkin a datacenter in water and powering it with wind is probably about as energy efficient as you can possibly get without moving into heat reuse (which we should):

    • Sea water is cold, so the temperature differential is large. This means efficient and cheap heat transfer.
    • Sea water moves, so you don’t need to actively pump it away or rely on convection to move the heat away.

    Now, the more efficient way to deal with this is that modern liquid cooled hardware can go rather hot. Hot enough to do something with the waste heat. We can heat a campus, contribute to district cooling, etc. This is of course mostly relevant in cold climates, and often only during winter.

    This design is probably a reasonably good idea from an energy efficiency standpoint. From an ecological standpoint, probably not, but I’m not qualified to answer that question.

    We should do something better with our limited resources than generating AI-slop, but there are plenty of other more legitimate compute uses (like climate research) that could benefit from similar setups.





  • Look - I can’t prevent my mom from being on facebook and playing candy crush. Nothing I say or do will make that happen. I can improve the situation by:

    • Introducing alternatives and hope they spread (Chat with your mom on Signal)
    • Reducing data harvesting during ”passive” behaviour (e.g. reduced permissions for apps. Graphene is probably the best here, but good luck getting your mom on that)
    • Reducing data harvesting by the phone vendor (Samsung, Google, Apple). This is primarily done by buying an iPhone, simply due to incentives. (Again, good luck getting your mom on Graphene).

    If I go too hard on my mom, she’ll just buy herself a cheap chinese android without telling me. Is that better?






  • They most likely run smaller pools and have their redundancy and replication provided by the application layers on top, replicating everything globally. The larger you go in scale, the further up in the stack you can move your redundancy and the less you need to care about resilience at the lower levels of abstraction.

    ZFS is fairly slow on SSDs and BTRFS will probably beat it in a drag race. But ZFS won’t loose your data. Basically, if you want between a handful TB and a few PB stored with high reliability on a single system, along with ”modest” performance requirements, ZFS is king.

    As for the defaults - BTRFS isn’t licence encumbered like ZFS, so BTRFS can be more easily integrated. Additionally, ZFS performs best when it can use a fairly large hunk of RAM for caching - not ideal for most people. One GB RAM per TB usable disk is the usual recommendation here, but less usually works fine. It also doesn’t use the ”normal” page cache, so the cache doesn’t behave in a manner people are used to.

    ZFS is a filesystem for when you actually care about your data, not something you use as a boot drive, so something else makes sense as a default. Most ZFS deployments I’ve seen just boot from any old ext4 drive. As I said, BTRFS plays in the same league as Ext4 and XFS - boot drives and small deployments. ZFS meanwhile will happily swallow a few enclosures of SAS-drives into a single filesystem and never loose a bit.

    tl;dr If you want reasonable data resilience and want raid 1 - BTRFS should work fine. You get some checksumming and modern things. As soon as you go above two drives and want to run raid5/6 you really want to use ZFS.


  • Look, there is a reason everyone who actually knows this stuff use ZFS. A good reason. ZFS is really fucking good and BTRFS has absolutely nothing on it. It’s a toy in comparison. ZFS is the gold standard in this class.

    You have four sane options:

    • mdraid raid5 with BTRFS on top. Raid5 on BTRFS still isn’t stable as far as I know, not even in 2026.
    • Mirror or triple mirror with mdraid. Have the third drive in the pool as more redundancy or outside the pool as separate unraided filesystem.
    • Same as above, but BTRFS. Raid1 is stable.
    • ZFS RaidZ1 (=raid5)

    (Not sure about bit rot recovery when running BTRFS on mdraid. All variants should at least have bit rot detection.)

    To reiterate, every storage professional I know has a ZFS-pool at home (and probably everywhere else they can have it, including production pools). They group BTRFS with Ext3, if they even know about it. When I built my home server, the distro and hardware was selected around running ZFS. Distros without good support for ZFS were disregarded right away.


  • I started experimenting with the spice the past week. Went ahead and tried to vibe code a small toy project in C++. It’s weird. I’ve got some experience teaching programming, this is exactly like teaching beginners - except that the syntax is almost flawless and it writes fast. The reasoning and design capabilities on the other hand - ”like a child” is actually an apt description.

    I don’t really know what to think yet. The ability to automate refactoring across a project in a more ”free” way than an IDE is kinda nice. While I enjoy programming, data structures and algorithms, I kinda get bored at the ”write code”-part, so really spicy autocomplete is getting me far more progress than usual for my hobby projects so far.

    On the other hand, holy spaghetti monster, the code you get if you let it run free. All the people prompting based on what feature they want the thing to add will create absolutely horrible piles of garbage. On the other hand, if I prompt with a decent specification of the code I want, I get code somewhat close to what I want, and given an iteration or two I’m usually fairly happy. I think I can get used to the spicy autocomplete.