When I bought a kindle a few years ago I set it up and then immediately put it in airplane mode. It hasn’t been online since, and it’s awesome. Can recommend.
How do you manage content on it? While I could probably use my work Windows computer, at home I only have linuxes (and well, wife’s macs) and last time I tried a while back, I couldn’t get calibre to manage my kindle content.
I just plug in the usb and it pops up in the nautilus sidebar. Then I put the .mobi file in the correct directory on the Kindle (I think it’s called documents) and they show up when I turn the Kindle on.
Someone once suggested I use Calibre, but I’m not quite sure what I’m supposed to use it for.
I thought you couldn’t access Kindle because the something was proprietary, like drivers or something. Maybe that’s changed, I’ll have to try again.
As for calibre, its a nice ebook library management software that can also be used to sync stuff with your eReader. Filtering, sorting, metadata etc. Looks a little nicer then having to manually navigate directories in a file manager, but since I can’t use it for that purpose, it’s not really relevant anyway.
I think the reverse is more likely actually: That you used to be able to access these things, but now you no longer can. Give it a shot, see if it works :)
Calibre sounds great, and I’ve only heard good things about it. I think I just have different needs.
I feel like the author mentioned this a bit, but not as the main reason: you get what you pay for. “The problem here is that we never differentiate between the types of updates properly” - if you pay enough, you’ll get exactly the updates you want/need. You’ll even get your own custom branch maintained forever. You can’t expect that from open source maintainers though, and even Microsoft will start ratcheting the maintenance cost higher each year.
Realistically we need the updates because either we want to access new content, or use new functionality, or support new hardware. Those needs don’t apply to you only if you freeze your whole environment and hardware. In that case you lost a part of “general purpose” computing and specialised. That’s fine, but it’s not what consumers expect. And if you’re that specialised, you know it, and you can afford better release management where it matters.
I find updating the operating system my 8 GB Apple Watch 3 annoying. There is a deactivate, wipe, install (and hope it updates) process because there just isn’t enough storage space on the device. However, I feel grateful to Apple for the choice to update my watch.
I think the idea that if something is painful, do it frequently so it isn’t as painful makes some sense at least. I’ll never remember the correct order of steps to follow when I need to update my apple watch. It is a hand me down and I’ve only updated it twice so far. It won’t be an issue if I buy a newer Apple Watch so I don’t want to spend too much time learning the nuances. With Fedora, it is a learning environment so if something goes wrong, as long as I save my .ssh and .gnupg folder, I can always wipe the machine and reinstall Fedora.
That just leaves Angular. Here as long as I stay on the road more traveled, I am OK. The angular team does a fantastic job with updates that unless you need to support older browsers, you should always™ update to the latest version as soon as possible. There are minor bugs once in a while such as https://github.com/angular/angular-cli/issues/20907 but there is always a way forward.
In all three cases, updating is a deliberate choice that I get to make. So far, outside of Microsoft, I have yet to come across a $work computer that does not disable automatic updates with policy. I’m sure I don’t need to say this as I’m sure Microsoft has all the metrics about this. Give people an easy way to update but don’t force it on us. I find it interesting that even Microsoft Edge does it better. It does not automatically restart the web browser but rather shows amber and then red icon warning you so you can take the action to restart the browser at your convenience. I don’t think most people would even mind automatic windows if you could say don’t automatically reboot windows, ever.
These days Fedora defaults to btrfs so the process can be even simpler. Take a filesystem snapshot, update, if anything’s wrong, revert the snapshot. Using snapper automates this too.
Angular updates are usually a breeze, https://update.angular.io/ does a nice job guiding you through it. Sometimes some library will not be ready, but these days even that is rare, just update stuff frequently, usually there’s no problems at all.
One person’s “too often” is another’s “they fixed my bug quickly, I didn’t have to wait a year for another release”. In the extreme case, Pipewire gained what feels like most of its functionality and polish over the last year in pretty frequent updates.
Yes, and this brings out a very specific problem. I can’t use an LTS distro if I want some bleeding edge software (and for my work, I often need some), but I also can’t use a bleeding edge distro because I have to update stuff every day.
I think things like NixOS are solving this problem partially, I just can’t get myself to try it. (Plus I suspect there’s a tradeoff to be made even in this case).
Are you actually blocked on some very system-specific issue? Usually software doesn’t really depend on the distro - for specific apps you usually have the choice of: compiling it yourself, private repos, nix, containers, snap, flatpak, appimage, and possibly others.
But when I used a centos version of whatever, I remember some software in the repos being to old versions. I don’t remember it being as pronounced in Ubuntu LTS or mint, but still occasionally this world happen.
Nowadays I mostly run fedora, but that’s on the other side, daily updates.
Maybe one day we’ll learn how to write software that is secure enough to be left without updates for 5 minutes. This would remove an entire dimension from the update matrix, making the problem more manageable.
“Never update anything” actually sounds kind of reasonable. At my job, we use statically linked executables for exactly this reason; once you have the executable, you won’t have problems with any dependencies since everything it needs is inside it.
My pessimistic view:
There are so many “new” “technologies” popping up everywhere that it’s pretty hard to keep track of everything. It’s not like it’s enough to learn one thing and do it well, you need C, C++, bash, python, SQL plus a couple more specialized languages to do anything these days. Additionally, each of these things is getting more complicated. Not just on a programming language level, but also the projects themselves (both software and hardware) are getting both broader in scope and more specialized. So this leads to more bugs, which neccesitates fixes after releases. This is a self-reinforcing effect, since you need to update if one of your dependencies has had a significant update. So this all leads to a world in which programmers are just endlessly updating dependencies and plumbing to get obvious things to work.
What i’m saying is that most of the integrations, dependencies and other software should be kept “in-tree” for most tools and packages out there. To hell with dynamic linking, use stable and minimalistic packages where needed, much like Windows does instead of Linux. Not only that, but put anything and everything you will ever need within the standard library or one or two large additional libraries. When eventually people will want to do more, provide pushback and curb their enthusiasm, make them do less instead of more.
+1!
If things don’t work out that way, then eventually we’ll just have bunches of clueless code monkeys that execute npm commands that they don’t understand to use frameworks and mechanisms which they have no hope of understanding to create as much value as quickly possible in the short period before all of that goes to hell and there’s the eventual breakdown of nothing working and noone having any idea of why. I’m exaggerating slightly, but sooner or later software projects out there will exceed the cognitive capabilities of any single person - the only question is whether that will happen in 50 or 500 years.
I think you’re missing the best / ironic part of this timeless story. The system will exceed the cognitive capabilities of contemporaries…but businesses still need to be run. And hence we will make new standards, frameworks, and libraries that are slimmer with fewer dependencies and complexity. But they will not solve the same required use cases…increase in complexity. Etc.
“The Foundation” for Software Engineering: Time is a Flat Circle :)
When I bought a kindle a few years ago I set it up and then immediately put it in airplane mode. It hasn’t been online since, and it’s awesome. Can recommend.
How do you manage content on it? While I could probably use my work Windows computer, at home I only have linuxes (and well, wife’s macs) and last time I tried a while back, I couldn’t get calibre to manage my kindle content.
I just plug in the usb and it pops up in the nautilus sidebar. Then I put the
.mobi
file in the correct directory on the Kindle (I think it’s calleddocuments
) and they show up when I turn the Kindle on.Someone once suggested I use Calibre, but I’m not quite sure what I’m supposed to use it for.
I thought you couldn’t access Kindle because the something was proprietary, like drivers or something. Maybe that’s changed, I’ll have to try again.
As for calibre, its a nice ebook library management software that can also be used to sync stuff with your eReader. Filtering, sorting, metadata etc. Looks a little nicer then having to manually navigate directories in a file manager, but since I can’t use it for that purpose, it’s not really relevant anyway.
I think the reverse is more likely actually: That you used to be able to access these things, but now you no longer can. Give it a shot, see if it works :)
Calibre sounds great, and I’ve only heard good things about it. I think I just have different needs.
I feel like the author mentioned this a bit, but not as the main reason: you get what you pay for. “The problem here is that we never differentiate between the types of updates properly” - if you pay enough, you’ll get exactly the updates you want/need. You’ll even get your own custom branch maintained forever. You can’t expect that from open source maintainers though, and even Microsoft will start ratcheting the maintenance cost higher each year.
Realistically we need the updates because either we want to access new content, or use new functionality, or support new hardware. Those needs don’t apply to you only if you freeze your whole environment and hardware. In that case you lost a part of “general purpose” computing and specialised. That’s fine, but it’s not what consumers expect. And if you’re that specialised, you know it, and you can afford better release management where it matters.
I loved reading this article.
I find updating the operating system my 8 GB Apple Watch 3 annoying. There is a deactivate, wipe, install (and hope it updates) process because there just isn’t enough storage space on the device. However, I feel grateful to Apple for the choice to update my watch.
I also have an old Dell Optiplex that I use over SSH. I installed Fedora on it so this weekend (likely today), I’ll update it to Fedora 35 using https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/
I like playing with Angular and keeping up with what they are up to. There is a simple Github actions project that I can glance at https://github.com/mycanary/mycanary/commits/master
I think the idea that if something is painful, do it frequently so it isn’t as painful makes some sense at least. I’ll never remember the correct order of steps to follow when I need to update my apple watch. It is a hand me down and I’ve only updated it twice so far. It won’t be an issue if I buy a newer Apple Watch so I don’t want to spend too much time learning the nuances. With Fedora, it is a learning environment so if something goes wrong, as long as I save my .ssh and .gnupg folder, I can always wipe the machine and reinstall Fedora.
That just leaves Angular. Here as long as I stay on the road more traveled, I am OK. The angular team does a fantastic job with updates that unless you need to support older browsers, you should always™ update to the latest version as soon as possible. There are minor bugs once in a while such as https://github.com/angular/angular-cli/issues/20907 but there is always a way forward.
In all three cases, updating is a deliberate choice that I get to make. So far, outside of Microsoft, I have yet to come across a $work computer that does not disable automatic updates with policy. I’m sure I don’t need to say this as I’m sure Microsoft has all the metrics about this. Give people an easy way to update but don’t force it on us. I find it interesting that even Microsoft Edge does it better. It does not automatically restart the web browser but rather shows amber and then red icon warning you so you can take the action to restart the browser at your convenience. I don’t think most people would even mind automatic windows if you could say don’t automatically reboot windows, ever.
These days Fedora defaults to btrfs so the process can be even simpler. Take a filesystem snapshot, update, if anything’s wrong, revert the snapshot. Using snapper automates this too.
Angular updates are usually a breeze, https://update.angular.io/ does a nice job guiding you through it. Sometimes some library will not be ready, but these days even that is rare, just update stuff frequently, usually there’s no problems at all.
Agree, upgrades are annoying. Some software more then other. Like Fedora vs OpenBSD (Fedora’s kernel and other packages are updated too often).
Not sure about this one though:
One person’s “too often” is another’s “they fixed my bug quickly, I didn’t have to wait a year for another release”. In the extreme case, Pipewire gained what feels like most of its functionality and polish over the last year in pretty frequent updates.
Yes, and this brings out a very specific problem. I can’t use an LTS distro if I want some bleeding edge software (and for my work, I often need some), but I also can’t use a bleeding edge distro because I have to update stuff every day.
I think things like NixOS are solving this problem partially, I just can’t get myself to try it. (Plus I suspect there’s a tradeoff to be made even in this case).
Are you actually blocked on some very system-specific issue? Usually software doesn’t really depend on the distro - for specific apps you usually have the choice of: compiling it yourself, private repos, nix, containers, snap, flatpak, appimage, and possibly others.
Nothing specific, just a small rant.
But when I used a centos version of whatever, I remember some software in the repos being to old versions. I don’t remember it being as pronounced in Ubuntu LTS or mint, but still occasionally this world happen. Nowadays I mostly run fedora, but that’s on the other side, daily updates.
Maybe one day we’ll learn how to write software that is secure enough to be left without updates for 5 minutes. This would remove an entire dimension from the update matrix, making the problem more manageable.
“Never update anything” actually sounds kind of reasonable. At my job, we use statically linked executables for exactly this reason; once you have the executable, you won’t have problems with any dependencies since everything it needs is inside it.
My pessimistic view: There are so many “new” “technologies” popping up everywhere that it’s pretty hard to keep track of everything. It’s not like it’s enough to learn one thing and do it well, you need C, C++, bash, python, SQL plus a couple more specialized languages to do anything these days. Additionally, each of these things is getting more complicated. Not just on a programming language level, but also the projects themselves (both software and hardware) are getting both broader in scope and more specialized. So this leads to more bugs, which neccesitates fixes after releases. This is a self-reinforcing effect, since you need to update if one of your dependencies has had a significant update. So this all leads to a world in which programmers are just endlessly updating dependencies and plumbing to get obvious things to work.
/rant
+1!
I think you’re missing the best / ironic part of this timeless story. The system will exceed the cognitive capabilities of contemporaries…but businesses still need to be run. And hence we will make new standards, frameworks, and libraries that are slimmer with fewer dependencies and complexity. But they will not solve the same required use cases…increase in complexity. Etc.
“The Foundation” for Software Engineering: Time is a Flat Circle :)