5 ms·
Congrats to the dev finally realizing that the switch to python 3 was a real thing instead of, as I will quote " No, it doesn't. I am perfectly capable of maint
by acgh213 6y ago
Congrats to the dev finally realizing that the switch to python 3 was a real thing instead of, as I will quote " No, it doesn't. I am perfectly capable of maintaining python 2 myself. Far less work than migrating the entire calibre codebase."
Glad he made the sane option, I held off from converting my eBook library to the system because of the previous python2 ignorance.
- discordance 6y agoWhy? - I don't understand how Calibre's move from Python 2 to Python 3 should impact you as an end-user. The user experience should be identical. If anything, the user experience has been diminished in the move to Python 3, as the maintainer mentions some 3rd party plugins won't work as they need to be ported over.
- Larrikin 6y agoIf as a dev you know their code base will have issues based on what you know about the ecosystem why would that not be a reason to hold off on the product. If they prove themselves despite the issues you choose them, if they realize the issues with their response and adapt you choose them, and if the product blows up because of foreseen issues you predicted you didn't waste your time on a product you suspected was doomed and probably found an alternative in the meantime.
- newen 6y agoCalibre is 13 years old and widely used. There is no reason someone would want to not use it because of as trivial a reason as Python 2 to 3 except for some rationalized emotional nonsense about the Python 2 to 3 shift. Every time Python 2 vs 3 is discussed, there are a bunch of emotional people spewing vitriol about luddites or some nonsense like that. Easy for especially weakly socialized young people that many programmers are to get caught up in that.
- BeetleB 6y ago> There is no reason > there are a bunch of emotional people > or some nonsense like that > Easy for especially weakly socialized young people that many programmers are It's amusing to watch you call others "weakly socialized" when reading the rest of your comment. Social awareness is not exactly exuding from it, what with the judgments and the confident assertions.
- newen 6y agoSeems I touched a nerve there. I see a pattern and say it. Don’t take it so personally.
- ornornor 6y agoI still don’t get the rationale. It’s not like calibre somehow converts your ebooks to a proprietary format that you can’t use without calibre or that it modifies your ereader so that it won’t work without caliber either.
- BeetleB 6y agoIt's an ebook management tool. True, it's not proprietary, but if you rely heavily on it, it's a pain to switch to something else later. When you have very reasonable doubts about the future of the project, it makes sense to look for alternatives. I don't think any good alternatives exist, but if they did, I'd probably switch in a heartbeat. The lead developer for Calibre is extremely annoying. RMS is easier to deal with.
- ornornor 6y agoI for one don't really deal with Calibre's author personally. I enjoy Calibre very much, and I'm grateful to its author. But you do you, if that precludes you from using Calibre that's fine.
- BeetleB 6y agoI enjoy Calibre a lot as well and do not deal with him personally, and am grateful for what he has produced, but if there were alternatives that served my needs, I'd switch. Gratefulness doesn't mean overlooking one's flaws or loyalty.
- michaelmrose 6y agoMost of the time as a user you deal with the consequences of the developers competence or lack thereof not their personality. I'd infinitely rather use the work of a competent asshole than an incompetent saint. I've filled out bug reports and feature requests for calibre and found that even when I didn't agree with Kovid he was relatively easy to approach and responsive to dialog even when I didn't necessary agree with the response I feel like I've derived a ton of value from his work for zero dollars and zero cents.
- codegladiator 6y ago> If as a dev you know their code base will have issues If as a dev one ~not know~, assumes that their code base will have issues because its python 2, then the dev has some issues.
- snoshy 6y agoIt's a good "smell test" as a developer. It's one of the "secret skills" you earn as someone who knows how to build systems, even though it's anything but secret. As a case study in open source development, I find it fascinating. In large closed source products, these discussions and their relative dissent is held behind closed doors. I wouldn't be surprised if large parts of YouTube remain Python 2 for a long period of time. But the product owners are aware of these tradeoffs and wouldn't allow public discussion on the subject. Calibre, from what I've heard has had a historically "bad" codebase. I know nothing about it. But is it the truth?
- mdoms 6y agoCalibre is one of those pieces of software where you can "feel" the bad code base as an end user. It's obvious in the way that seemingly simple things are never improved, making changes is obviously hard. It is truly one of the jankiest software systems I have used.
- atoav 6y agoI understand what you mean, but still: it kinda works. It feels like a vehicle that has been organically modified over the years by a person who only has a welding machine and a cutting torch and a changing taste in what looks good. But hey: it drives. Of course you have to know the intricate of the machine to make it behave, but isn't that part of it's charms?
- zimpenfish 6y ago> It feels like a vehicle that has been organically modified over the years by a person who only has a welding machine and a cutting torch and a changing taste in what looks good. But hey: it drives. I have noted this quote and intend to apply it to every large software stack I work on from now on because damn if it isn't true of all of them.
- valvar 6y agoI mean the UX could be better of course, but are there any specific issues that come to mind? I've never felt that way when using Calibre. I always thought of it as a rather smooth piece of software. Unlike some other pieces of libre software, like LibreOffice...
- atoav 6y agoPython 2 is EOL, which means the language (and worse: probably all non-standard dependencies you are using) are stuck in time unless everybody decides to go with Python 2 and ditch Python 3. This would mean considerable dev time to track bugs in the language and dependencies that have been fixed by others in their Python 3 variants. And that means a dev that could have worked on new features now works to do (silly) maintenance work. This clearly does have an impact in the long run. I am working with Python myself. Everything I moves to Python 3 was a one-time effort, while the stuff where I had stayed with Python 2 means constant effort of making sure it is still safe and no major bug has been discovered in the deps. I understand the annoyance people have with this, but there aren't to much rational arguments why to use Python 2 over Python 3. In fact it would be the other way around. Before it was minor differences, but the language evolved in a good way since ca. version 3.5 and some of the solutions are really useful (typing, dealing with encodings and unicode, not having to make sure you are using floats when dividing two numbers etc.) In practise by far the biggest difference is that print foo becomes print(foo), and that is not a big deal if you ask me
- dotancohen 6y agoFor me the biggest issue was the reuse of datatype identifiers for different datatypes. Python 2 had a byte string <str> and a unicode string <unicode> types. Python 3 still has both types, but now the byte string type is called <bytes> and the unicode string type is called <str>. The new names are without a doubt better. In a vacuum. But coming from Python 2 to Python 3 and dealing heavily with encodings because I use Python for massaging machine-generated reports, the fact that they reused the same datatype identifier for bytes in P2 as for unicode in P3 really put me off. Now that I've made the change (OK, six years ago) I'm much happier with the way Python 3 handles bytes and unicode strings. I think it is a model that all languages could learn from. But it should have been called <string> or stayed <unicode> instead!
- atoav 6y agoYeah, indeed many things about that transition could have been handled better. E.g. it should have been more small incremental steps, the version 2 should have been phased out quicker, there should have been tooling to help transitions like these etc.
- IncludeSecurity 6y agoThe main developer of Calibre has had a long history of arrogant statements like that. Most famously illustrated in this bug report thread https://bugs.launchpad.net/calibre/+bug/885027 https://bugs.launchpad.net/calibre/+bug/885027 It's like...how many times do security researchers have to exploit your code (and your many "fixes") before you change your program's mounting architecture? I read this bug report when I want to feel something.
- Alopis 6y agoMy god, reading this makes me wish there was an alternative to Calibre. I already just tolerate it because it's the only ebook manager I know and there are a lot of things about the UI and how it works that bother me.
- gnur 6y agoWhat features do you use the most? I'm looking to extend a personal project for searching epubs to be more featureful when compared to calibre.
- Alopis 6y agoI mostly use the tags feature (though I wish this was better too), because I mainly use Calibre to organize my ebooks library.
- renewiltord 6y agoIt's like OpenSSL. Everyone acted like they did a terrible job in the end, but either you had alternatives and you could have linked to gnutls or you decided that you didn't have alternatives and OpenSSL was irreplaceable. Either way, the product was just way too good.
- Alopis 6y agoNo, it just means it was acceptable. Doesn't mean it doesn't have its flaws that need to be addressed. Making an ebook manager is a lot of effort for little reward, so I'm not surprised Calibre is the only one out there. I'm not sure why I'm not allowed to be unhappy with it regardless. Man, the people here are unbelievable. Calibre isn't this unassailable icon where expressing displeasure about it is heresy. What was that post about people accepting that technology sucks? Calibre sucks. But people put up with it. But somehow I'm the asshole for expressing my dislike.
- m463 6y agoReminds me of what a friend once told me: The desktop folks want the Latest Software immediately, and the server folks want nothing to change, ever. If you've ever developed for linux, you might come down on the side of the server folks. You will find that there's a web of dependencies everywhere that you will have to navigate. And the more higher-functioning what you are doing, the more likely this will become more and more complicated. If people depend on an app, develop for something like Ubuntu 16.04 or Ubuntu 18.04. It is (more) likely that people will be able to use it without trouble for quite some time. It is very stable and it is not likely updates will affect the folks using your software. They will be able to use the software for years. strangely, I wonder if arch linux might be the counterpoint to all this. You might just do continuous maintenance all the time instead of one-giant-upheaval-update every few years.
- AlphaSite 6y agoDocker honestly made the world a little easier. You’re responsible for everything above the kernel.
- kubav 6y agoIt is easier for developer but risky for end user. Docker runs as root and you have to trust application developer to use latest security patches for all dependencies.
- zaarn 6y agoThey run as root per default. Simply using the "USER <uid/uname>" directory means you run as non-root user with a specified UID. Kubernetes recommends doing that as a baseline security measure. You can also drop caps from a container so even if you are root inside, you can't do a lot of things root can.
- m463 6y agoI love docker, but I really wish they would change a couple things. I wish there was a way to say: LAYER foo RUN unpack_some_large_package RUN build it RUN install it RUN delete stuff LAYER bar because the normal way of using docker makes really really large images. and the efficient use of docker is unreadable and hard to maintain: RUN unpack_some_large_package && build it && install it && delete stuff thing is - if you do it this way you can hack gigabytes off your image sizes This is lots harder nowadays over vpn. I know there's docker squash, but that is a hack on many levels. Then there's the firewall thing and last, I'd like to have my own private repository - where docker wont' and can't pull from other machines.
- Thorncorona 6y agoI hate this take. Everytime Calibre is posted on HN, someone always brings up Kovid and complains about how the software isn't up to their standards. Then everyone circlejerks about the ways Kovid has incensed them in some way or some form by posting some comment on the internet. Imagine maintaining a 500K LOC application for free and for almost a decade, and being criticized by people for using a legacy language. Especially since no other application comes close to the functionality Calibre does. Calibre has been completely reliable on the multiple e-readers and computers I've used it on. The only reason this migration is taking place because out of the thousands of people on this forum who complain about his code, several of them decided to help him instead of continuously complain.
- Forricide 6y agoCouldn't agree more, it's been very strange reading through this thread & multiple linked launchpad threads to see how critical people can be of things they themselves can't (or aren't willing to) fix - then the understandably irritated responses being pasted out of context all over. I don't understand this hypercritical way of looking at things, especially considering how powerful and useful Calibre is. I plugged in a very old e-reader to my computer and tried a variety of things to put books on it; Calibre was the only thing that worked (including the actual ereader software!) I can't imagine how much work something like this would take to maintain.
- auggierose 6y agoWhat are you using instead? I don't see a viable alternative to Calibre currently.