Hacker News new | past | comments | ask | show | jobs | submit login
Calibre 5.0 (calibre-ebook.com)
674 points by Alekhine 71 days ago | hide | past | favorite | 267 comments

It's a big shame that whenever anything related to Calibre is posted, top comments will often be how arrogant is author is. I used to think the same. But when I read his comments history in GitHub, he doesn't seem a dick to me at all. So I googled his name, and end up in a forum. It completely changed my mind.

Contrary to what people believe, Dovid Goyal is the most friendly programmer to his users. He spent lots of time answering questions in the forum https://www.mobileread.com/forums/forumdisplay.php?f=166. His answers include where is a menu located, how to convert a book from one format to another, helping the user to debug the exact the problem with Calibre. He has been doing this daily and is very responsive. You can expect an answer to your question in the same day. (The forum used to allow you to read user's comments history anonymously, but now you need a account to do so)

One of the reasons Calibre has become the de-facto gold standard for ebook managers is that he always tried very hard to help users, who are often non-technical (they are largely just "book people").

I think he's just a bit fed up with geeks who like to question everything at every turn; he is not the sort of person you should look to for philosophical debates on the state of software. For years, Calibre got a bad rap for the interface not looking "cool" enough, meanwhile he was busy actually helping people do what they want to do with their books, for free. Plus, his mother tongue is not English and some communications can come off as brusque even when they are just meant to be direct and to the point.

>I think he's just a bit fed up with geeks who like to question everything at every turn

TBH who doesn't hate that?

I think a lot of open source developers just gave up on their project because of ungrateful and entitled reactions from some stickler geeks.

Its funny you say this. I remember initially being turned off by Calibre because it looked like library software, and I naively thought "if it looks ugly, it works ugly". Later on I learned how wrong I was. Its so easy to use.

I can't say I'm a fan of the GUI (part of this is me not needing most of its many features, which are doubtlessly useful for others), but the Calibre command line tool `ebook-convert` is fantastic and handles conversions pandoc can't. I love Calibre for this.

>One of the reasons Calibre has become the de-facto gold standard for ebook managers

Gold standard? What the hell are you smoking? The software is absolute garbage. The reader is slow and conversion is broken. I have tried every version for years and it never improves. It can't even convert tabular data properly.

You need to scroll using the scrollbar because scrolling with the TouchPad doesn't work. Well, it kind of works, but it takes about 20 seconds to register a scroll and ends up scrolling a few pages.

Convert the PDF of "Dive Into Python 3" by Mark Pilgrim into ePub and look at the resulting mess. First page:

"AreyoualreadyaPythonprogrammer?Didyoureadtheoriginal“DiveIntoPython”?Didyoubuyit on paper?

What happened to the spaces? You will find numbers throughout pages, often in the middle of a page, which are the page numbers from the PDF.

I made a searchable PDF of my W-2 using Abby Fine Reader and tried to convert that to ePub. The end result is a blank page. I created tabular text of my computers: CPU, and GPU, and memory. I saved as PDF and converted it to ePub; the table is gone with one entry per line.

Dog shit has more value than this garbage.

I can’t say for the other features - I’ve never used Calibre - but if spaces were lost during the pdf conversion that means that the text layer did not have the spaces. Not much you can do in this case, really.

I think Kovid is awesome. He produces extremely high quality OSS for free and he's been doing it for years, while providing almost instant support to anyone that has a question. It makes me sad that people like to shit on someone doing so much good for so many people for free. By the way, kitty is amazing, it's the only terminal that properly renders wide unicode characters - even Alacritty has many bugs in this area still. And it's blazing fast, has a built in terminal multiplexer, and native wayland support.

I wonder how many commenters were just parroting what they had heard about him. I get the feeling it's not uncommon for negativity about someone to be amplified by people doing that. With enough comments saying the same thing, it's easy to believe it's true.

Personally I never participated in spreading that, but I absolutely was swayed by the negative comments to avoid touching Calibre. I already find myself fact-checking a lot of things given how much bullshit people spread, but I guess I have to step that up and be more wary about what people say here (I've been more trusting of things on HN than on sites like Twitter).

Remember this idea whenever you see people online talking about other open source projects.

9/10 people are doing exactly this: parroting what they heard with no research done.

Especially on hacker news, remember this idea so the next time you enter a thread, you won't be the one parroting things you heard from other people.

Calibre itself is awesome. I've been using it for over 10 years and it's a testament to its software excellence (which reflects on its owner/creator) that it's still an excellent and useful piece of software.

I agree. I am an enthusiastic fan of the Kitty terminal emulator [1], another of his creatures, and I am following its development (though I never managed to contribute with some code). Kovid's answers on the GitHub forum are often short and sound a bit harsh sometimes, yet he's ready to accept others' suggestions and stand corrected when needed.

If only there were more coders like him!

[1] https://sw.kovidgoyal.net/kitty/index.html

> yet he's ready to accept others' suggestions and stand corrected when needed.

I think this is fine and somebody who cant accept this needs to go outside and breathe. Sometimes you gotta put your foot down about something until you are convinced otherwise.

> yet he's ready to accept others' suggestions and stand corrected when needed.

Over the years, the community has volunteered time and time again to develop a new UI for Calibre that would at least bear some resemblance to all the other applications we use on our computer. They would do all the work. His response has always been no.

And there has been his hostility to criticisms of security flaws in his code.

You say that like you think such an endeavor would require zero of his time when in fact it would be a large undertaking for him as well in reviewing a large contribution and then having to credentialize it anyways to move forward with the project.

Also, there are an infinite amount of people who say they will do something, but won't actually do it. Has anybody who said they could do a UI overhaul actually started it and arrived at something worth sharing? The fear of the creator being "hostile" to your fork is a convenient excuse but doesn't actually stop you from maintaining a UI fork. Shit or get off the pot.

But the first thing you learn when you run a project with contributors is that contributions aren't just free work that you get to mindlessly merge into master. In fact, it's very likely that reviewing the code, correcting the code, managing the people (and their emotions), credentializing in the code, pulling the code/impl back on a viable course, dealing with UI bikeshedding, etc. are far more work than just doing it yourself. And if it's not something you think is worth that effort, then it's definitely not something you want to just outsource to "the community". And after all that, you aren't even guaranteed a UI that's better than what you replaced.

I've never encountered the term "credentializing" before. What does it mean in this context?

I can't speak towards his attitude toward security flaws, but I think his reaction to not wanting Calibre updated is reasonable.

Anytime a UI is updated, you're going to completely modify the behavior or of the people that are using it. So any change someone else is making that isn't as closely tied with the product as he is, is probably going to be suboptimal. Not only from a user experience perspective, but also from his ability to answer questions on the forum as people are asking him questions about how to achieve certain things.

This means that he'll HAVE to be closely tied with a redesign. Which is probably not where he wants to be spending a significant amount of his time.

There's also the added complexity of legacy users that are just book people, that are quite used to the design as it is, so any migration over the new one, no matter how gradual, is probably going to make the product harder for them to use.

I'm not saying I agree or disagree with him, but his reasoning is valid. This isn't a project where you just hand off to someone completely new and let them do what they want. That's how you end up with a broken product.

Goyal doesn’t have to be closely involved in the forum helping users. I question the importance of his doing so while the UI is what it is. It could be that while a small number of users are helped by his personal attention on the forum, a much larger number of users are left frustrated by the UI.

The UI isn't pretty and it can be clunky at times, but it's functional. UI is hard, and I guarantee a lot harder than you think it is just by how flippantly you've described the endeavor so far.

Also, be wary of judging someone by how they choose to spend their free time. Notice how you haven't actually lifted a finger yourself, just judged others for how they lift theirs with zero skin in the game.

He doesn't HAVE to be, but he is. Isn't that a good thing?

> It could be that while a small number of users are helped by his personal attention on the forum, a much larger number of users are left frustrated by the UI.

This is just speculation. Without data to back it up, I can say the reverse is true too.

Since there isn't a large number of users that are posting about how terrible the UI is(on the Calibre forum), it's probably functional enough and people can navigate it.

> it's probably functional enough

Buttons look like buttons, not text. It's better than modern UIs. I fear that if he gives in, this and similar small details would change so it looks nice instead of being easy to use.

I've never had any real issues with the UI. I run it locally, and sync it to a cloudserver where I run it headless. Both the local and web ui are fine IMHO. They allow me to get things done and the work.

Does it matter what's more important though? He's the only one who gets to decide what he spends his time on.

Its an open source project if the so called community actually wanted to do something we already would have different gui port.


It doesn't do all that calibre does obviously but it does most of what I need. It's not per see a fork as it only uses the same database formats and directly call calibre for conversion but it's as close as you get to a "modern" gui on top of calibre.

As usual, the people actually doing the work and the people complaining are strictly different subsets.

People have been reluctant to do that because Goyal has shown that he would be hostile to any fork and would seek to frustrate any such attempt.

<Citation needed>

Based on what else I've seen about him -- admittedly only this thread -- I would guess that while he would not assist or change his behaviours, he would not actively try to frustrate it.

Wow, I didn't realise it's the same guy. Kitty truly is a terrific piece of software, and it seems Kovid is also a terrific product engineer.

For a second I thought this was the KiTTY Telnet/SSH client [1], but it appears to be an unrelated piece of software.

[1] http://www.9bis.net/kitty/#!index.md

Oh damn it's the same guy who made Kitty? That is one fine piece of software

I tried to see if it's available for Windows but now luck or did I miss something?

Mobileread is THE forum for ebook and users there are amazing in general. And they reply fast. I once asked a question there and get 3 to 4 useful, relevant answers in 5 minutes.

Edit: as for Kovid, he's just the type of person who speaks direct to the point without any extra words. Some people are not used to that. He's very helpful and responsive for feedback/bug report and really hard-working.

I think most of it had to do with the security holes that he refused to fix that left a bad taste in peoples mouths. I think it had to do with https://bugs.launchpad.net/calibre/+bug/885027 etc.

Well, reading that thread, he fixed every vulnerability in the helper utility that had a demonstrable exploit. Some of the others he didn't fix because they were not easily exploitable: keep in mind, the utility was only used if the core os functionality was not present. That whole thread came across as "I am a security researcher who gets paid lots of money to find CVEs so you should listen to me" and Kovid taking issue with that attitude.

I once opened an issue on his kitty project, asking about right-to-left support. He answered me by saying (falsely, and condescendingly) that the problem was with the CLI apps I ran. But I had screenshotted just typing “echo یک نوشته راست چین” (or sth similar, it was months ago). I, unfortunately, replied to this with a non-respectful (but not rude) comment, which he then answered with another nonrespectful comment and closed the issue. Overall, my impression of him is that he is a kind, productive, but arrogant person; I’m thankful of the man.

>Dovid Goyal

Kovid Goyal

Wow, his name is really Kovid?? :-D

I know, I feel so bad for him.

Last week I asked him a question on MobileRead. Something simple that I overlooked on the UI and he could have been snippy about it. He answered the same day and was cool about it. In fact, I’ve probably asked 15 questions there over the years and he’s always been quick to respond and polite.

Thanks. Its refreshing to see someone giving props in the comments.

Goyal makes a lot of people uncomfortable because he is obviously on the spectrum. Of course a lot of Free Software hobbyists are, and I wouldn’t dare to exclude myself from that. But there is certainly a feeling that it would be better for a project to use neurotypical volunteers for the public-facing aspects of development, like taking feature requests. It would save both Goyal and the people posting on the various forums a lot of rancor.

It boggles that Internet strangers can make blanket statements like this.

> Goyal makes a lot of people uncomfortable because he is obviously on the spectrum.

Never mind the first question that popped up in my head (Why would you care?), but _Why would that even occur to you?_ Why would you even look at people that way to begin with?

Assuming that Goyal is on the spectrum is the charitable thing to do. It allows one to excuse his brusqueness and defensiveness as simply something he was born with. That is the conclusion I gradually made over years of watching Calibre development and a conference appearance of his on YouTube. Many of his critics probably just think that he is a jerk and egomaniac who refuses to see things from others’ perspectives.

> Assuming that Goyal is on the spectrum is the charitable thing to do. It allows one to excuse his brusqueness and defensiveness as simply something he was born with.

Alternately: His first language wasn't English.

I don't think it's appropriate to speculate about other people's neurodiversity.

Also, for the most part he is "the project".

For those who are out of the loop, the notable thing about this release is that Calibre is now using Python 3. Three years ago, Calibre author famously said he will maintain Python 2 when it reaches EOL, because it would be less work than migrating Calibre to Python 3.


And what was he supposed to say? Here comes some arrogant jerk, without any history in the project and announces that "Calibre needs to convert to Python 3" without offering any help or solution. Considering how big project Calibre is, Kovid's response was quite logical, it was easier to maintain Python 2 version. Later with actual contributors to the cause of migrating Calibre to Python 3 it became feasible.

"I'm going to maintain Python 2 myself once it's EOL, rather than port to Python 3" is not a logical response. Python is way bigger than Calibre.

I remember seeing that and facepalming, because I was considering contributing to the project but that just put me right off. Now it's on Python 3 I'm inclined to reconsider.

> Kovid has stated numerous times that any patches which work towards python3 compatibility without hurting python2 functionality or performance would be happily accepted. Oddly enough, no one has ever taken him up on that, though a number of people have insisted it is very important that he himself do that work.

Maybe a good starting point to contributing would be helping to migrate to python 3?

Now that the work of migrating is done?

Outside of the initial stance of wanting to maintain Python 2, I'm amazed at how much of a jerk the Arch distribution maintainer is being to everyone else.

Completely disagree with you on that, he comes across as someone who is tired of always being asked the same questions, who does work to solve the problem and is frustrated that a lot of people are unappreciative of Kovid's work. Given how much criticism and entitled requests opensource maintainers have to deal with, it's not a surprise to me that he'd be tired. But I do think that he is still well reasoned in the way he expresses himself.

I think he completely shut down any respectful discussion with the Debian maintainer. It's not just discussion with the requests from users where I think he was rude, though I can understand his position more, but his attitude to the Debian maintainer is unfortunate

So if A says something incorrect, B can't set the record straight because that's unfortunate and shuts down any respectful discussion?

I'm thinking that reactions to this maintainer's answers probably align to which side of the discussion one often find themselves.

I disagree as an Arch user; Eli is more than just some packager, he does a metric boatload of work for the distro and has his fingers in many pies. He is speaking from a position of knowledge and experience and replying with skilled authority on the subject matter.

I make no value proposition on his work, knowledge or the extents of his role. I simply quoted the role he mentioned in the link, which makes no mention of his other contributions to Arch.

Regardless, I find his tone and attitude quite condescending to the Debian maintainer.

But is he wrong, even if true? A Debian maintainer popped in and basically said "we're doing nothing wrong" while there's discreet evidence to the contrary, Debian has altered the upstream code based on the opinion of one person and disabled features of the software.[1]

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=640026

I don't think a volunteer who takes the time to actually reply without being outright dismissive is a jerk. They handled that thread with poise.

That’s a pretty strong and broad statement. Do you have any evidence or incidents to back that up?

...the link...

My comment is a response to the comment I was replying to, that contains the link with his comments.

They do not extend to anything outside of that, so I don't think it's a broad statement. Just my opinion on his response to the Debian maintainer and other polite requests.

I somehow missed the link in the original comment, my mistake.

Lot of negativity here.

I would just like to thank the author and people who help him for their work.

Calibre is one of the few general public facing open source application that is best in class. It's also not maintained by a huge corporation, but mostly love of one man, and a few helpers.

It also has great user support for end users.

>Calibre is one of the few general public facing open source application that is best in class.

Never though about that but its true.

Unless, like me, you downloaded it initially as an ebook reader app. I’m hopeful 5.0 isn’t as abysmal at just trying to scroll through a book.

But the rest is absolutely best in class. In fact, it’s sadly the only in class for some things, I’m afraid.

Reading is obviously an add-on. Are you using the content server view? Locally, on linux it just calls whatever program I specify to read. I'm partial to fbreader, on linux and android.

I do use the web content viewer some, but mostly I just browse and download the books I want to my device.

FYI, the web viewer seems to work offline, it caches the files locally. If you haven't tried it, it's super nice. I have a 1TB time4vps storage server, and I sync my library to that server and run a headless calibre server with simple authentication to prevent crawlers.

I'll give it a try.

You are/were evaluating it in the wrong class there I think. What viewing it provides seems intended to be functional as an extension of its role for management purposes; not ergonomic for actually reading the ebook.

The content view is pretty usable for reading, especially if you're on a locked down device that can't install a an e-reader app.

Exactly, and I use it for the other things, now. Just not reading.

Yes, I completely agree.

I'm not sure whether it's one of his expected use-cases, but his work has made it so simple for me to get things from my writing group quickly onto my kindle. Plus, my own draft stories.

As someone who spends far too long on a computer screen as it is, the simple workflow of putting things easily on a kindle has been a real positive for me. And doubly so in this time of lockdown and Covid.

If the author does browse these forums - thank you so much for your work.

Completely agree with you. Let me add my voice too to say how glad and grateful I am for all the work done by the author. He's always helpful too on the forum and friendly.

Totally agree. I'm not sure I would use ebooks if Calibre wasn't there. Sure, some things could be improved like any app, but it does the job really well. Maintaining such a big app is no small feat.

The ability to highlight and browse the highlights is HUGE. It makes Calibre really useful for language learning (e.g. by reading novels). I can now highlight new vocabulary or idioms and see them in context when I need to, without me having to copy and paste into some separate file!

Couple that with the fact that Calibre supports custom dictionary sources and it's just amazing.

The one missing feature to make Calibre perfect for me is proper support for rendering PDF. Calibre currently absolutely sucks at rendering PDFs, but some ebooks are sadly only available as PDFs.

Unfortunately Calibre is pretty bad for reading Japanese novels. Every amazon.jp novel I ripped has issues rendering the vertical RTL text properly. Each "page" is a chapter, and you have to scroll sideways on the page to move in the current chapter. Frequently, scrolling horizontally blanks after the first screen. It's a mess. I had to force my books to render in horizontal LTR via CSS to be able to read them.

Odd. Your problem might be caused by badly formatted epubs? I'm using Calibre 5.0.0 on Ubuntu and I have no problem with a Chinese novel epub in vertical layout. The mouse cursor even turns sideways for selecting text and I can use the mouse scroll wheel without any modifier key to scroll left and right.

That might have been fixed in 5, I haven't used calibre in a while. As for formatting, I rip my collection from my amazon library, so there's nothing I can do about that unfortunately.

I haven't tried it, but the linked announcement says: "Additionally, the E-book viewer now supports both vertical and right-to-left text."

Strange, I've used Calibre to convert my amazon.jp purchases and am pretty happy with it. It does convert vertical text into horizontal text by default, but the resulting text is perfectly normal without the problem you described, and you can add CSS to force vertical RTL.

There's some example and the css code they used towards the bottom of this page, if you'd like to take a look: https://webnetforce.net/post-105/

For me it used to jump to the next chapter instead of the next page when reading Japanese novels but they fixed that bug in 5.0.

I just convert all my pdf's to epub. It's a pain, but worthwhile long term. Calibre does a good job, but you need to know some regex to clean up the view and avoid stuff like repetitive title and page number.

What do you use to convert pdf to epub?

calibre will convert pdf to epub.

This release isn't compatible with DeDRM for now according to:

> This release DOES NOT work with the latest calibre beta that requires Python 3 for plugins. (Updated June 2020).


So I'll have to wait until it is. DeDRM is pretty vital as I often buy books on Amazon and read them elsewhere.

And even if not, I would not "buy" books that are in effect protected and can be taken back from me at any time, without being able to do anything about it.

It's possible to use DeDRM tools from the command line, the plugin just makes it easier.

Simply git clone https://github.com/apprenticeharper/DeDRM_tools/ and then:

  python2.7 DeDRM_tools/DeDRM_plugin/k4mobidedrm.py \
    -k ~/.local/share/wineprefixes/kindle/drive_c/users/*/Local Settings/Application Data/DeDRMPrefs/kindlekey.k4i' \
    ~/Documents/My\ Kindle\ Content/book.azw .

  python2.7 DeDRM_tools/DeDRM_plugin/ineptepub.py \
    adeptkey.der book.epub book_dedrm.epub
(I'm not exactly sure where to get adeptkey.der but I'm certain it can be extracted from an old python2 Calibre + DeDRM installation.)

Thanks. Works fine on a Mac. On a Mac, you can get your adeptkey.der running the script provided here:


Doing it from the command line is becoming more of a hassle now that Debian has stopped packaging Python 2.

I think pypy might be a simple way to get around that, iirc it's pretty self-contained and doesn't need to integrate much. I ran it from /opt for a while, but ~/.local should work too.

Did they? There's no /usr/bin/python any more in testing/unstable since last week, but python2 is still there and I don't think it's going away very soon. Even if it did, you can always grab python2 from stable.

I’ve noticed this before, DeDRM and Calibre releases occasionally get out of sync, so to speak. They typically realign eventually, since they are very co-dependant (people use DeDRM mostly from Calibre, and a lot of people use Calibre just to access DeDRM functionality).

Have the DeDRM devs figured out a perfect crack for Amazon's latest DRM (KFX)? Last time I checked the best option was to force Amazon to give you the book in an older format but then you lose all the typography improvements in KFX.

The KFX format is undocumented and has changed over time. Books containing new or unknown features may fail to convert or result in incorrect content or formatting.

KFX is more highly processed than Amazon's KF8 (azw3) format, causing some details in the markup of the original e-book provided by the publisher to be lost during conversion. The exact HTML tags and styles originally used in the book are not retained in KFX format. However, all of the text and most of the formatting should be preserved. Images may have been reduced in resolution or converted to black and white to match the capabilities of the device to which they were delivered.

PDF resources in KFX print replica books may have been split into multiple files. Links between pages across files will be broken if the PDF content is extracted.

These limitations make KFX less suitable for archival and conversion when compared with KF8. [1]

[1] KFX Input - https://www.mobileread.com/forums/showthread.php?t=291290

I find for me the most usable experience is to convert to epub, strip all the CSS and fonts, and let my device sort out the typography according to my preference. I never really understand why people think the publisher is best placed to decide the style I choose to read in.

Why bother stripping them? Any decent reader should have settings to either override individual styles or ignore the stylesheet (FBReader has both, iirc it should be available for ios as well as Android)

> I never really understand why people think the publisher is best placed to decide the style I choose to read in.

Because that's how books have _always_ worked.

My problem is more the huge number of images used in section breaks (and worse, occasionally used in chapter titles). Instead of using an image for a flourish or a section break, _please_ either find a character in your currently used font, or add a subset symbol font; using black images on a white background grabs my attention every time I change pages in dark mode, and even in light mode I can clearly see the difference in background color. Then there's the fact that a good number of them are low resolution, which, depending on reader and styling, causes them to be either pixelated, blurry, or too small to be useful in light mode.

> Why bother stripping them? Any decent reader should have settings to either override individual styles or ignore the stylesheet (FBReader has both, iirc it should be available for ios as well as Android)

Fonts are usually the biggest culprit in making epub sizes huge which on typical e-ink devices seems to affect load and page turn times.

> Because that's how books have _always_ worked.

Not really a reason to perpetuate it now we have digital media.

> My problem is more the huge number of images used in section breaks (and worse, occasionally used in chapter titles). Instead of using an image for a flourish or a section break, _please_ either find a character in your currently used font, or add a subset symbol font; using black images on a white background grabs my attention every time I change pages in dark mode, and even in light mode I can clearly see the difference in background color. Then there's the fact that a good number of them are low resolution, which, depending on reader and styling, causes them to be either pixelated, blurry, or too small to be useful in light mode.

In my experience stripping the CSS (and the fonts and images that are no longer referenced) fixes all of this.

AFAIK, it's the only format on Kindle that will use the newest layout engine which fixes justification issues (ie ragged right), kerning, hyphenation, drop caps, and some of the weird spacing issues that earlier layout engine produced.

What you are describing might be fine for novels, but for works where the typography is part of the creative result, it's not a great solution.

I'm largely reading novels or technical text as epubs on e-ink devices and the only time I've ever had issues like those you mention is when publishers have included "arty" css. I wouldn't tend to read magazines in that format, probably pdf on a tablet or desktop if I needed to.

For some of these things - like ragged right and kerning - I think you have to almost train yourself to notice them, I've been reading a long time and can't recall ever being bothered by either.

How does their DRM improve typography?

The DRM doesn't improve typography, the newer format does.

Calibre is one or those apps that I've used for many, many years and other than being a bit ugly has served me perfectly. Hats off to the developers and contributors, thank you for your fine work.

this is probably how my wife describes me


Thanks to Calibre, I can read The Economist (which I'm paying for!) on my Kindle, in a format that doesn't bombard me with animated ads like their new iPad app does.

I’d like to do that, could you give some pointers?

I have a small script that essentially does:

FILENAME=/tmp/economist-$(date +"%Y-%m-%d").mobi /usr/bin/ebook-convert "The Economist.recipe" $FILENAME --output-profile=kindle_voyage --username=[your_user] --password=[your_password] --keep-ligatures --smarten-punctuation --change-justification left --mobi-file-type new --mobi-keep-original-images

and then E-mails $FILENAME to my kindle address.

As a side note: I wish The Economist provided this service, but they don't. Instead, they started "enhancing" their mobile apps to include incredibly distracting, animated ads. I am very unhappy with how they are treating their readers. Also, what could these banners ads possibly be worth? $10/user/year? $25/user/year? Just let me pay more for my subscription and treat me respectfully.

Also, what could these banners ads possibly be worth?

I would guess not as much as the revenue lost when I said, "enough of this shit, I'll get my news elsewhere.", but less than collective ad revenue from those that don't care or can't be bothered.

Ever since Edge dropped EPUB support, I've been trying to find a suitable "just open this EPUB file" replacement. Okular is janky and renders a lot of EPUBs incorrectly.

I've found Calibre's eBook Viewer the best I've installed as of yet, though I wish I could install just that part. Calibre feels a little heavyweight for what I want. But it does what it does pretty darn well, I think the lack of alternatives is because everyone has just decided to use Calibre.

Yup. I don't get the obsession with "managing the library", just like every music player also just has to focus on managing "libraries".

I already have a perfect library management system: my filesystem. I want my book reader to just open the file I give it, and the same with the music player.

Music library apps and calibre manage a "library" because many of the features center on metadata.

A music management app can navigate a large quantity of files via more effectively than clicking through artist -> album -> track hierarchies. You can ask it to find music by a particular genre, time frame, rating, tag, etc etc.

You can ask it to show things you commonly listen to or things you haven't listened to or haven't listened to recently.

Beyond this it can offer you the ability to perform a variety of operations on your selection whether its the antiquated notion of burning it to a disk, streaming it over the network, converting it to a different format finding more music by the artist etc.

Similarly calibre offers a way to dig through a substantial collection of ebooks in a lot of different way and perform operations on same.

Example. Find all the ebooks that don't have an epub or pdf format available and convert whatever existing format they do have to epub.

Find all the books that match a particular query that aren't on the currently connected device example foo bar baz and ondevice:false

Then send wirelessly to device.

Given a bunch of books for which some pieces of metadata is lacking guess what metadata probably matches and let me review your guesses.

How many ebooks do you have? I have about 1400 currently, mostly math books, computer science books, papers. It's nice to organise that a little bit more detailed than the file system does. It is my MAIN library, I have just 20 or 30 physical books that I bought because I couldn't get them in digital form. Calibre is not optimal, but I am glad it exists.

I don't think your filesystem can send ePubs to your Kindle, which is the main point of Calibre

You could however write a very short shell script that would do that for you. I read loads and loads of PDFs on my Kindle, and I’ve got a very simple script kindlecopy.sh that copies them to an appropriate (newly created if necessary) directory on the Kindle, based on the PDF metadata. That PDF metadata, too, can be edited with much lighter-weight tools than Calibre. Entrusting Calibre with doing all this work would mean much slower performance.

I still use Calibre for copying the occasional EPUB/MOBI to the Kindle, but I could replace that, too, with a shell script. Calibre’s ebook-convert is a standalone program, you could script that without ever opening the Calibre library-management application.

Not the main point of Calibre at all, most of my books are not nicely readable on a Kindle anyway.

It also provides a great web viewer, organizes by author or series, has an (mostly good enough" search functionality, and a decent "random" suggestion option.

It will go out and find the appropriate metadata and cover for almost any book.

EDIT: Look at my second edit... END EDIT

Why not provide a stand alone binary copy2kindle (or sync2kindle) and let me use that? Instead we need to accept that in order to do a single task the tool needs to first re-organise the world.

EDIT: That doesn't mean that one can't also create a tool that manages the library on top of the various binaries. In fact if one architects the app fairly reasonably it would be very little additional effort (or could be done by third parties).

EDIT 2: WOW! Calibre has done exactly this... There is a whole range of ebook-* commands. (Thanks https://news.ycombinator.com/item?id=24587793)

Exactly this.

I understand that some people like a whole book management suite. Particularly people who don't use much tech, so it's just their computer + their Kindle + their phone.

But others need something task-oriented. I don't just mean whiny software devs like myself, but students, researchers and - in general - people juggling more devices and document types. Such a user needs a bullshit-free way to view an .epub by double-clicking on it straight in their Dropbox folder. A "send to Kindle" under a right-click menu. A "Kindle sync" that works by having it mount itself as removable storage, so that you can simply copy files over, the same way you put your music on your Android phone.

(Hell, maybe even a dedicated app would be good - one that looks like an orthodox file manager[0], showing you your files on one side, Kindle on the other, and helpfully detecting when you upload the same file twice. But that app would be orthogonal to the concept of opening a book, and to the concept of managing a book library. And I'd still want the right-click context menu integration. Hell, Windows actually had a place for it since time immemorial - the "Send To" section of the context menu!)


[0] - https://en.wikipedia.org/wiki/File_manager#Orthodox_file_man... - i.e. Norton Commander, Total Commander and friends.

calibre calls this standalone binary ebook-device I've never used it.

Filesystems are not good library managers. Same reason Gmail created labels: Data can be categorized and sorted on many dimensions.

If it works for you, great - but anything can play music / display a photo. A good library system is golden.

> just like every music player also just has to focus on managing "libraries"

IME music players usually focus on playing music and library management is usually just tacked on. Is there any other player where library management is close to as comprehensive as it is in MediaMonkey [0] (windows only)? It’s one of the extremely few I’ve seen that’s management first, player second.

[0]: https://www.mediamonkey.com/

Haven't seen anything in music space that's like Calibre for books, except on mobile. Mobile I understand (though it still annoys me to no end) - as an industry, we've decided to eschew a perfectly good abstraction of a file system, an abstraction that could be learned once and used everywhere, and instead decided that every app will have to reinvent and reimplement document management experience on its own, each in its own inconsistent way.

I know there are CLI music players, though I haven't used them much. Of the ones I did, Winamp 3 was nice; Foobar2000 was great once I switched its default layout to display folder-oriented structure of the music library. I stayed with Foobar2000 for almost a decade (now I just use YouTube for streaming), because every other player I've tried out either didn't support incremental filtering (super convenient feature), or didn't understand that I don't care about metadata on mp3s (most of the time they're missing or wrong anyway) - I want its "library" to reflect the folder structure, instead of the player adding its own VFS on top of the native FS.

And now there's the same problem with ebook readers. I've recently tried to find a Windows epub reader that would just open the file, like a PDF reader opens a PDF. I failed. Everything wants to bundle its own "book library" management. But here's the thing: I already use Zotero for managing my research documents, including an occasional epub. I want a reader that will open an epub that I double-click on in Zotero.

(EDIT: Elsewhere in the thread someone mentioned Sumatra; maybe I'll give it another shot. I previously dismissed it because I don't need another PDF reader, and I really like Drawboard PDF - I use its annotation features a lot.)

At least in the image space, photo library management is a separate category of applications from photo viewers.

I share your frustration at the modern reluctance to use the filesystem properly, but it’s not a perfectly good abstraction for this problem. Users often want to browse and sort movies or books according to multiple metadata fields (eg. title, author, date). Hierarchical filesystems are not good at this, hence the metadata that is available is often low quality, and users need “library managers” to help them collect and display it.

Re: audio, I've the same struggle, but settled on Quodlibet [1] since a year or two.

[1] https://github.com/quodlibet/quodlibet

JRiver Media Centre?

I actually absolutely get the obsession: I meticulously manage mine. I just don't need Calibre for that.

Hah. I just saw that we created our accounts ON THE EXACT SAME DAY :-)

If you're looking for an e-book reader in Linux, Foliate (https://github.com/johnfactotum/foliate/) is the best I've seen. I used to be a fan of Calibre E-book reader and had my own custom CSS for theming, but the redesigned e-book reader (I think it was Calibre 4.0) completely broke my setup. I don't know how it is these days, but it was extremely buggy and lagging when I tried some months ago. Even Bookworm (https://github.com/babluboy/bookworm) is a far better alternative than Calibre E-book reader.

In case you're referring to mobile apps, there's also FBreader. Not great, but not bad, I've used it for years to read both epub and Mobi books on my phone just fine. (bad for the eyes I know but still useful for always having a book at hand). FBReader is terrible for PDFs though, warning on that.

FBReader runs fine on desktop as well (though it looks like the Windows version is pretty old). It is simple but works, and I have read a few books using it on desktop (now I use a Kobo).

Try Readera, much nicer Ui and good pdf support.


For iOS, try KyBook 3

You can't install it separately, but you can use just the viewer part of calibre, without the library management.

Try "ebook-viewer ~/example.epub".

This is effectively how I use it now (through right click Open With on Windows), but it's pretty slow to "prepare book for first read" and such that feels like it's trying to do more central stuff than I asked for.

I've tried several epub readers after Edge dropped the support. It's probably not a popular choice, but I now use the CLI tools from Calibre to convert epub books to azw3 and then use the Windows Kindle app to open/read them.

For Windows, Sumatra PDF can read epubs.

Get yourself a small vm and you can run calibre headless in the cloud. I only open it locally to add books and fix the metadata. Then I rsync it to my vps, kill my calibre PID, and restart calibre.

I use this command:

    /usr/bin/calibre-server --daemonize --enable-auth --url-prefix=/calibre --port 8000 --enable-local-write --log /home/user/calibre_log /home/user/library /home/user/comic_library

Zathura supports epubs using zathura-pdf-mupdf

The alternatives are really really bad and Calibre is really good at what it does.

Calibre is, bar none, one of the best tools I ever used. I acquired it originally for managing and converting my Kobo ebooks, but I was amazed at how robust its ebook viewer and especially ebook production tools were. I had an ebook that was clearly of dubious origin, as its Table of Contents page was completely broken (both the actual ToC page and the auto-generated navigation page). But all of the actual test was there. Once I opened the book up in the ebook editor, I was surprised at how quickly I was able to fix the ToC and change all the references to the correct chapter documents.

It's a fantastic tool, and one of the few examples where I think the "kitchen sink" approach really works, as opposed to a collection of UNIX-style tools (although it has those, too).

Better yet, you don't even need to open the full ebook editor to access the toc editor, iirc it's available from the right click menu (might not be a default setting).

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.

I 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.

Couldn'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.

Why? - 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.

Python 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

Please understand how big codebase is. Porting pyqt stuff is not easy. If you see comments in bug, author and others already started to work on port, but they knew it will take time and they were sure of easyness of maintaining old version. It is always easy to whine than UNDERSTANDING and DOING actual work. As you're already developer, you must know that if it is that easy, author had it ported already

Plus as port itself doesn't affect any user experience, it was not emergency situation. It is just that 'we are working FREELY with our own pace, so it will take time. Actual contribution is really appriciated than complains'

There is another similar program I miss is, leafpad. It is dropped by distros as not yet ported.

I do understand that, my point was precisely that this is always a tradeoff between multiple things. If maintaining the old version is easier than migrating to the new one, you don't do it.

This balance — however — can change with time. E.g. if one of your major dependency moves to Python 3? Or gets abandoned.

I didn't say it was easy, my point was that over time more and more dependencies make a shift to Python 3 as well, which means at some point Python 2 stuff becomes harder to maintain. Whether that point happens early or late depends entirely on the project.

Additionally I nowhere said that this must be done by anyone — you are projecting here.

For 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!

Yeah, 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.

Python2 is old and has been in widespread use for years. Realistically, how likely is it that a new bug will be found that affects Calibre.

As far as I know Python 2 wasn’t EOL at the time of the statement from the author of Calibre.

So it’s kind of harsh to judge that statement in that light isn’t it?

Actually, it was. The last version of Python2 was 2010 released, with only bugfix-versions coming after this. And EOL for those bugfix-versions was also set at the time of the statement, and actually even twice, as the date was pushed back by some years.

Everyone at that time knew that Python2 is dead and that everything is in transition to python3. Most new code was written for python3 and not even compatible for python2 anymore. So it really was just one guy deciding to maintain his own fort on his own.

If 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.

It'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?

Calibre 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.

As a user I can't "feel" this bad code at all. Sure, it's has It's own philosphy of things and ocaasional bug like every software, but it's still one of the most stable and productive apps I know. there are regular updates, no big deal breakers and faults coming from the project itself. It simply works and grows, despite being so complex and powerful.

So what is this "bad codebase" you seem to feel?

I 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...

It does a lot of things and it does all of them at least reasonably well. Some parts like reading ebooks has 75 different choices but I don't think anything nor any combination of things does everything it does and any 3 choices to do 75% of what it does would doubtlessly be vastly jankier.

Not liking how something works doesn't make it wrong or broken.

I 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?

> 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.

I 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.

It'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.

I 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.

I 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.

Most 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.

> I'd infinitely rather use the work of a competent asshole than an incompetent saint.

As would I. On a higher order of infinity, I'd use the work of a competent saint over a competent asshole.

Let's not make false dichotomies.

> 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.

Calibre 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.

> 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.

Seems I touched a nerve there. I see a pattern and say it. Don’t take it so personally.

Reminds 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.

>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.

Evidently, one of the people mentioned in the calibre blogpost helping the python3 migration is an Arch Linux contributor :)

Eli Schwartz is an absolute treasure. Because Arch strongly prefers to ship unmodified upstream projects, Eli pops up all over the place fixing bugs upstream.

I've been using his Arch repo shipping Calibre with Python 3 for I think over a year. My system is updating to Calibre 5 from the main repos as we speak, so I guess I'll remove the custom repo now.

Now I'm only waiting for the Kodi 19 release before Python 2 will be gone from my system forever...

>Eli Schwartz is an absolute treasure. Because Arch strongly prefers to ship unmodified upstream projects, Eli pops up all over the place fixing bugs upstream.

Not to diminish the work of Eli, but several Arch package maintainers end up bugfixing upstream projects to keep sources unpatched. Personally done upstream contributions to several upstreams I maintain in the distribution :)

Of course! I happen to see Eli all over the place, but many others as well.

(I'm not an Arch TU or dev, but I also contribute upstream fixes for AUR packages I maintain)

Docker honestly made the world a little easier. You’re responsible for everything above the kernel.

I 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.

Is the current multi stage build process not sufficient for you?


thank you! none of the docker files I've seen used this but it has worked since 17.x

Can't you use multi-stage builds to achieve this?

thank you, i've never seen this :)

It 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.

They 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.

The 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

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.

> The 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

That's more ignorance that arrogance. He fixed what he understood, and discussed what he did not understood till he found a satisfying solution.

Personally I wouldn't trust a dev who fixes stuff blindly which they don't understand. Though, in case of security this of course can have also bad outcomes, as illustrated in this case in the process. But that makes it even more important for everyone to follow through and communicate clearly. Which did happen here at the end.

That's almost 9 years old now.

Maybe time to let it go?

Unless there are more recent examples to point to. Or the problem still is not fixed.

Yeah, he is... a character, to say the least. It's a shame because outside of Konsole, Kitty is the closest thing to iTerm in the linux space. what's holding it back from being as powerful and usable is basically not having a UI at all, and he's opposed to having more GUI at all, like on this very basic feature: https://github.com/kovidgoyal/kitty/issues/1402

Have you tried Konsole, the KDE terminal. It is absolutely terrific. It handles RTL and multibyte characters perfectly, works with tmux, has monitoring for both activity and silence, renamable tabs, horizontal and vertical splitting, bookmarks, scrolling, colour support, on-the-fly font resizing and colour scheme switching, keyboard shortcuts that do not conflict with any *sh, copy and paste shortcuts for both the normal clipboard and the X11 clipboard, supports the mouse, search functionality, I could probably go on. If iTerm has any feature that I'm missing, I'd love to hear about it.

I mention it in GP! It's what I'm using, since I use my mouse heavily to get my setup, and Kitty just isn't for mouse users.

Oops, yup, I see it now!

I wish I knew how to fit all these features of an advanced terminal to my use cases.

Good thing other people do!


Please don't post flamewar comments to HN. Generational flamewar is particularly pointless.


If you're going to stop using stuff because a key person on the project is a bit of a dick, I assume you don't use anything via Linus or Apple-era Steve Jobs.

Wait, why does a book reader ever need to "mount" anything? I don't understand.

I'm guessing because it has extensive support for connecting and communicating to eBook readers like Kindle and the likes.

Yes, precisely. It’s actually very useful, since it can rearrange files on kindles etc.

What a time to be alive.

I remember installing calibre once, because I needed to open an .epub file I had. Upon opening it, it started to "classify" stuff and build a sort of catalog, to which I kill -9'd it immediately and uninstalled it for good measure. But mounting filesystems is way, way worse than anything I imagined it was about to do!

While the filesystem issue showed stubbornness, the fact that it tried to build a catalog is perfectly reasonable, given it is an ebook management software, which happens to include an epub reader.

You really can't blame a program to do what it says to do.

I don't blame the program, I blame myself for installing a management software when all I wanted was an ebook viewer (and definitely NOT a management software of any kind).

FYI: Calibre contains a program appropriately named "ebook-viewer" that allows you to view a file (like an epub) without all the library management stuff.

Calibre is much more than an eBook reader. It's more of an authoring / reading / management suite.

It can manage eBook readers' libraries either natively or via plugins. It can work with my Kobo eReader for example. I use Calibre to convert standard epubs to kepub (kobo enhanced epub) and push to device and extract highlights from books mainly. It's also a very nice ebook library so I can search and push/read/modify what I want.

Because it's not a book-reader, but a suit of tools for ebooks. Which includes managing them, receiving data from certain source, reading them, converting beetween different formats, automating certain managment-tasks, offering a web-interface as also desktop-interface, and finally also managing synchronisation with many many ebook-readers (for which the mounting is neccessary). And it BTW has a very elaborated plugin-system which allows to add even more that what it can do out of the box.

It's more justified to call it an IDE for Ebooks.

My 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.

It'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 70 days ago [flagged]

No, 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.

What 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.

I mostly use the tags feature (though I wish this was better too), because I mainly use Calibre to organize my ebooks library.

My god, somebody did UI I don't like. Its barely tolerable, but I still use it because this world owes me and I can't sunken cost my precious time.

This comment breaks the site guidelines and is a big step in exactly the opposite direction of what we want here. Would you please review https://news.ycombinator.com/newsguidelines.html and take the intended spirit closer to heart? Note that they include:

"Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith."

"Don't feed egregious comments by replying; flag them instead."



Your comment upthread already crossed into that. The other commenter shouldn't have broken the site guidelines worse. And you shouldn't have escalated like this.

We're looking for curious, thoughtful conversation on this site. Calling other users "an insufferable prick" is so extremely far from that (regardless of how unfair or provocative someone else was) that I'm going to ban you again. You've also posted quite good comments, so obviously I don't want to ban you, but the container here is fragile and comments like this one and some of your others are just too destructive.

If you decide you want to use HN as intended, starting with "Be kind. Don't be snarky" and including the rest of https://news.ycombinator.com/newsguidelines.html, you're welcome to let us know at hn@ycombinator.com and we'll be happy to unban you.

What are you using instead? I don't see a viable alternative to Calibre currently.

I wish there was a way to define your own directory structure within calibre(i.e. tag>topic>bookname vs author>bookname) as I like to sync my calibre with drop box and browse the files from my e-reader. Right now you need calibre to browse the library the way it's setup which is a bummer for organizing everything.

If you set up calibre-server and use an e-reader app that can browse an OPDS catalog (I use Librera Pro on Android), you can get to your books in a variety of ways, including searching.

Pocketbook (Android) plays very nicely with Calibre server as well.

Yes! I always remember the name of the books but almost never remember the name of the author.

> Yes! I always remember the name of the books but almost never remember the name of the author.

Then use the search mechanism in your file manager/OS. If your library is too large, use calibre itself. Alternatively, use a script to symlink all the ebook files into a central directory.


`c:\msys2\usr\bin\find -type f -name ".epub" -printf 'mklink "%p" "c:\library\%P"\n' > links.bat && links.bat`


`find -type f -name ".epub" -exec cp -s -t /home/me/library '%p' +` (find might be able to do symlinks on its own, not sure)

I run a calibre-web docker instance on aws.

I can just upload any ebook file and in a second it's available for my family and friends. One click and it imports the necessary metadata from amazon books.

Custom shelves allows for collaboration or sharing of collections of books.

It's a great web adoption of calibre.

I hope Calibre 5.0 gets merged into it soon.


Can it let you customize the way it stores books already?

It would be awesome if I could configure it to store books in a flat directory (without creating a directory for every book), using book's first author surnames and short titles as-is (without transliterating to plain ASCII).

I love calibre. One of my favorite examples of free software. Easy to use, fully featured, great command line tools. That is all.

Glad he's finally moved to Python 3. Hope the (popular) plugins get migrated soon as well.

Obligatory- this is one of the unsung hero open source projects.

Truly amazing, useful work, run by a nice person, for valuable purpose. Author should be getting Medals of Intellectual Freedom or whatever plaudits a non-trashfire society would have to offer. And should be drinking/eating free wherever he goes.


I‘m using calibre with calibre-web [1] to browse my 80000+ pdfs and couldn‘t be happier with the workflow. Only downside: import of these pdfs took almost a whole day.

[1] https://github.com/janeczku/calibre-web

I do the same. Calibre-web is awesome!

Autocompleting metadata automatically from Amazon Books is also great. Plus multi laguage and multi user function. As well as collaborating on public shelves to create useful collections. I also let my co-workers and friends upload ebooks.

It's great.

Do you know if and when they migrate calibre-web to calibre 5? I don't know if the project is active.

I think vanilla calibre supports this web version now, at least in linux. I just install calibre on my vps and run it headless. I posted directions up thread.

This project doesn't quite have the layers on top as some open source projects[1] but it is sort of amusing to see how much of Calibre is built on the back of one guy (funded via Patreon![2]) and a handful of volunteers.

[1] https://xkcd.com/2347/

[2] https://www.patreon.com/kovidgoyal

> funded via Patreon

he was only funded via Patreon relatively recently

Porting half a million code of Python 2 to Python 3 is quite an achievement!

Kovid Goyal does great work, but this remains the worst program I use regularly.

He's chosen for himself the unenviable task of delivering software most people who use it consider irreplaceable, and trying to satisfy every feature anyone could ever want, which means it has many, many, many features most users don't want. BUT we all want a different subset of existing features, and are annoyed by a different subset of other features we don't use, making any replacement nearly impossible.

Me, I maintain a library large enough that my metadata.db file is 40,116,224 bytes. The library lives on a NAS, and I run the program on a MacBook, which is not recommended, but seems to be the best choice available to me.

Why do you consider it to be the worst program that you use?

It's quite ugly among Mac apps, since it's a Qt app. I usually avoid non-Mac apps, but calibre does what I need it to do, and there is no better option.

The feature set is truly impressive. Hard to believe it's essentially the work of one developer. I don't mean to criticize when I say it's ugly: I'm a back-end developer primarily, and I don't have any idea how to cram as many features as it has in any interface without it becoming ugly.

> It now supports Highlighting. The highlights can be colors, underlines, strikethrough, etc. and have added notes. All highlights can be both stored in EPUB files for easy sharing

This is amazing! It's always driven me batty that things I highlight in Apple Books, even when it's my own epub file, are kept internal to Apple Books and can't be exported in the epub itself.

I never thought epub had any highlighting standard though. Is this just adding <span>'s with CSS to achieve the effect? I do wish this became standard for all non-DRM'd e-readers -- the way highlighting PDF's is standardized.

I recently learned that Calibre is pronounced (by the creator) as Kalibur, not Ka-Libre!

Ka-Libre never occurred to me. "Calibre" is the same word the US spells "caliber", with the same pronunciation: https://en.wiktionary.org/wiki/calibre

Maybe because I'm dutch and I made the FOSS/Libre connection...

I've always pronounced it that way because in British English is just the regular spelling of the word (Americans spell it "caliber"). the name was doubtless influenced by the "libre" part but I never thought to say "ca-libre"

Yep. On the About page Kovid says,

> libprs500 was renamed to calibre in mid-2008. The name calibre was chosen by my wife, Krittika. The libre in calibre stands for freedom, indicating that calibre is a free and open source product, modifiable by all. Nonetheless, calibre should be pronounced as cali-ber, not ca-libre.

My experience with Calibre has been improving as of late. I'm really grateful for the snappiness of the software. I hope we can have a separate epub reader, so that I don't need to keep Calibre always open to skim through a book. Calibre is more resource intensive than I was expecting when I first downloaded it many many years ago.

It won't help with being resource intensive, but there's a good number of electron-based ebook readers around. Alternatively, if you constantly have a browser open, you could use calibre-web and simply open the books in your browser.

FBReader is also available and multiplatform (as FBReaderJ), as are a few other ebook readers.

Excellent! Calibre is a really great piece of software that I use all the time. Kudos to the devs!

I am using Calibre since a good few years. It works perfectly and has helped me immensely. As a software developer I can only imagine the amount of work that went into it.

For those interested ubooquity is a nice simple alternative.

Not sure I would call something requiring me to install Java as lightweight

I hope the Kobo utilities get ported soon, otherwise I might be stuck with Calibre 4 for a while.

I love this software and am grateful to the author for his work. Glad he's still making it

And in typical Calibre style, by the time I go to upgrade it's already at 5.0.1

Has someone ever tried to get this on to PyPi? Like pip install calibre? :-)

Awesome project. Don’t think it even has a good alternative available?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact