Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Burgr – Books in Your Terminal (blubsblog.bearblog.dev)
335 points by memorable on Feb 24, 2023 | hide | past | favorite | 80 comments


This is neat, but why would you want to read books in a monospaced font? Proportional and serif fonts exist for a reason: they make long paragraphs of text more pleasant to read. Words can be better identified by their shape, which makes them easier to distinguish at a glance.

I suppose you could have a separate terminal configuration with a different font for this app, but standalone reader apps or, better yet, e-ink devices, do a much better job of making text easier to read for long periods of time.


Wholly agree, but to each their own.

I, and many people, just don't want to read a book in monospaced font, sat at a desk with a desktop PC/laptop.

I'd take a Kindle/e-reader over that setup any day. I can read in bed, on a bench outside, in 10/15 minute gaps throughout the day, can make a 2 hour train/bus ride fly past. The most pleasant of all is sitting under a tree on a spring/summer day.

Neat project nonetheless. Any reading is better than no reading.


>This is neat, but why would you want to read books in a monospaced font?

You might be surprised. For example, Chinese and Japanese very commonly use monospaced fonts.

On a less pedantic note, personally I find monospaced fonts slightly easier to see and read. Everything is uniform and organized, which makes eye movements simpler and easier.


> Everything is uniform and organized, which makes eye movements simpler and easier.

Unless you’re reading one letter at a time, consciously moving your eyes from one to the next, I’m struggling to see how that would be the case.


To be fair, writing systems like those have much more uniform characters. They don't have these immense width differences like with i and m.


Chinese and Japanese characters have many details. In low resolution (like old terminals) they are almost illegible.


We are still quite far from having truly "pleasant to read" long-form text in our computers or browsers. Real typesetting programs use optimized line setting and micro-adjustments in typography to make long stretches of text a bit easier on the eyes, but there's no support for this either in browsers or in most word processors intended for basic office use.


Some people find it more accessible for themselves.

Isn't it great to live in a time with so many options?


While I agree that dead trees and e-ink are far superior to reading in a terminal, it's not so bad, even with aging eyes.

In some ways is kind of soothing, as long as you have the brightness and contrast set appropriately.

Back when the internet was all text, there were people in the UK who would transcribe their favorite television shows into text files. UUCPing or cating these scripts into a local machine was the only source of British humor in some parts of the world.

I read the entirety of Red Dwarf as fan-transcribed text files on a terminal 15 years before I was able to see it in video.


As a kid in my sophomore year of high school, I read the whole 3.0.0 Jargon File on the 15" CRT of my 386 - in Turbo Pascal, because it was the only thing I had that could open so large a file. (A whole megabyte! I messed around with building an index and a per-entry viewer, but never got very far because my motivation was limited by being able to just read the file directly.)

I'd "borrowed" the Turbo Pascal installer via an understanding undergrad at the local college, who was perfectly eager to help expand my horizons; the Jargon File came by way of the shovelware directories that old video game magazine cover CDs used to have. Poor as I would later come to know it to be, it was still my first real exposure to the idea of a subculture built around computers and their use, and the first thing that gave me to realize that there might be a larger social context into which my until then small-town and very solitary style of weirdness might fit - which I like to think was more or less what the fellow nerds who put together the CD master had in mind. (That, and maybe a bit of "how you gonna keep him down on the farm?" puckishness...)

I wouldn't want to go back to just reading from a CRT, though. Phone screens being as far from ideal as they are, they're still much better at rendering text, and considerably wieldier especially in bed.


My favorite quote regarding typeface preference:

"Readers read best what they read most." - Zuzana Licko

Also, if you want to go down the rabbit hole, some good studies have been conducted on this subject [1].

[1] https://www.nngroup.com/articles/best-font-for-online-readin...


Monospaced fonts are not hard to read, if you like what you're reading, after a couple of minutes you won't even notice the font anymore. Besides, coders are used to read long texts in monospace, and people used to do that before GUIs without issues.


Because they want to do so.

Does it need any other justification or explanation?


I'm not looking for a fight or justification, relax. Was just genuinely curious why someone would prefer this.


I’ve never read books from a computer, it’s always a phone, a tablet, or an eink reader. Somehow reading a long-form text without being able to hold the medium in my hand feels wrong.

Am I missing a convenient experience? I’d like to hear stories from computer-using readers.


Sure, i use epy[1] and every month i d/l my books from amazon that i have bought, dedrm[2] through calibre and save the epubs to a folder. Its not a particularly arduous task.

When i want to read i have an alias setup along the lines of:

epy "$(fzf)"

its a nice interface ;-)

Now i don't often read full books in the terminal, BUT i do like being able to reference bits that i remember at a VERY quick speed. I recently was talking to somoene about biases we bring to statistics and could remember reading a great anecdote about it, using rga[3] i was able to bring up the passage VERY quickly in the terminal

Like most great cli tools, its about the workflow

[1] https://github.com/wustho/epy [2] https://github.com/noDRM/DeDRM_tools/ [3] https://github.com/phiresky/ripgrep-all


This is a great workflow, and use case for terminal readers. Thanks for sharing!


I've tried it on a PC and didn't like it. I think to some extent it's having ereaders and books front-lit that makes them easier on the eyes for me, rather than having it backlit. Ironic I suppose because I stare at a laptop screen all day...


I have some ebooks on may Mac, they are usually programming books which I read while learning programming.

The rest are in my phone.


We live in a time of a Renaissance of terminal tools. I recently discovered Himalaya[1], a command line tool for email, and I really like it. I'm also interested in exploring a new tool for calendar called qcal[2]. I'm kicking around writing a chat client for GroupMe for the terminal right now. That way I could finally ditch pidgin.

Like the OP, I spend all day in tmux these days, which is in many ways the most superior UI[3]. As a bonus, CLI tools are often cross-platform and very easy to write.

1: https://github.com/soywod/himalaya

2: https://shttps://sr.ht/~psic4t/qcal/r.ht/~psic4t/qcal/

3: http://www.catb.org/~esr/writings/unix-koans/gui-programmer....


The terminal tools of today are still extremely primitive compared to the TUI-based apps of the 1980s and early 1990s, not to mention networked BBS's that could be just as complex as any modern website. They came with entire UX interaction paradigms based on the terminal that have yet to be replicated on modern machines.


If you like Himalaya, you'll probably like mblaze as well (https://github.com/leahneukirchen/mblaze)

I also find fzf to be very good for building simple UIs. In fact I saw ways to do 80% of burgr with a few lines of fzf; composable tools really are the bee's knees


Looks like the qcal link got double-pasted. Here it is if anyone else is interested: https://sr.ht/~psic4t/qcal/


I wrote something similar in sophomore year of college. It didn't work quite as well as this does because I was a noob and wrote it in C/ncurses. Got me a job because it impressed the interviewer. Read all of Kevin mitnick's Ghost in the Wires on it

https://github.com/shortrounddev/books


I primarily program in Python and C# so pardon my ignorance...whats wrong with ncurses? I am currently writing a text editor in it and it seems like a decent framework


As the other of a once popular text editor. I have been writing a new generation editor. Perhaps we could talk about important features and design ideas together and each use one another as a sounding board?


When it comes to C/C++ I am a total noob lol. I am mostly trying to learn it on my own right now since those two languages have mad staying power, so I was trying to write a text editor in ncurses


Thats fantastic, but where do I get the program? I would like to try it out but as far as I can tell there isn't a link to your github anywhere on your blog unless I overlooked it, and I don't see it in Ubuntu's repository either.


AFAICT from a previous post[^1], they won't be sharing the source code publicly. Maybe you could email and ask :)

[^1]: https://blubsblog.bearblog.dev/i-am-the-only-user/


The last line of which is

You may find you have you actually created a MVP of something that would be appreciated by many users even though I Am The Only User?!

So there's hope.

I'm reminded of my favorite Zappa quote:

The crux of the biscuit is: If it entertains you, fine. Enjoy it. If it doesn't, then blow it out your ass. I do it to amuse myself. If I like it, I release it. If somebody else likes it, that's a bonus.


It's a good piece of software indeed, but I have a question: why the fanaticism of using a terminal for e v e r y t h i n g


I don't think is fanaticism.

It's about easy of use and workflows. Most of the desktop apps and websites don't care about keyboard navigation (and usability) and you have to use the mouse no matter what.

When your main workflow is keyboard based, changing to the mouse and back to keyboard is very disruptive. When you use a tiling window manager such as Sway or i3 this is even more important.

Also, TUI applications go straight to the point, load extremely fast and barely use any computer resources.


Well-made desktop apps and websites are usable via the keyboard. It's a key requirement for accessibility.


When your vision is not very good, the terminal has one big advantage: the same font size and same contrast for everything (I use VT100 mode, so no colors).

I have recently upgraded to a 150-dpi monitor, and now pretty much all graphical programs are unusable, because I cannot even find the menu item to increase the font size without a magnifying glass, and even then most programs do not let you change the UI font size. Terminal for everything is a great remedy for all these troubles.


IIRC, an auto-magnifying glass is part of accessibility. So it's probably already included and easy to activate.


Thanks, but I'm using X11, so there is no "accessibility".


xmag has been available for at least 22 years, probably five to ten years more than that.


Context switching and keyboard skills. Part of me wishes I had those skills, but at the moment I still reach for my mouse frequently. I don't have the time or brain plasticity to learn how to terminal only, and there's always tons of setup-while-learning to do.


I had a lot of trouble remembering keybindings for Vim (and I'm still not very good at coming up with incantations to manipulate text at scale) until I installed Tridactyl for Firefox. Vimium is the Chromium-based equivalent.

If you touch type it's a great tool, you barely ever need to leave home row anymore.


Just about everything is faster to read, do, and interact with via terminal.

One of the few exceptions would be reading a novel, though :)


Yeah I like TUI apps for email, note taking, writing, coding etc but this doesn't make much sense to me!


For some, I think they reached a state of it being so flexible that other concerns, like proper typesetting in this case, are simply not important. This hasn't happened for me, at least, who tried once or twice to try to use Emacs as a mail client. There was more massive unknown tradeoffs as opposed to just using a dedicated GUI client or webmail, particularly in relation to the type of email people send (heavy HTML emails sent by default from email clients.)

Regardless, I do like a lot of things being in the terminal and tend to reach for that first or Emacs dired even for even basic file manipulation instead of the Dolphin (KDE's file manager) just because of habit. It's just easier in a lot of cases.


> e v e r y t h i n g is much faster on the terminal


GUI means slow and high latency

Terminal means fast and low latency


Its not fanaticism. Its preference. You can use GUI apps if you want, but others just find the terminal more comfortable.


Are there any terminals that can render different fonts for different parts of the ui?


Yes, though if the metrics don't match weird things happen.

e.g. rxvt can use different fonts for regular and bold text.


[flagged]


i dont know why this is downvoted, when in fact people with beards will beard

haha


Is there somewhere I could install this? I would love to be able to use it!


Really nice article. It's inspiring! I understand that you are the only user but can you share the code on github?


To put it bluntly, where the source code at? I realize OP is the only user and probably doesn't want to deal with feadback, etc, but I'd love to tinker with/use this.


Same. This looks like a REALLY good program, and I want to try it out


I had an ex-coworker who would read books in their terminal. they had no idea how to complete their job.

The optics to management: “they are always at their desk in their terminal, they’re getting work done!”

They ended up “departing” shortly after a new person joined and called it out in a meeting.


Perhaps they should have alternated reading with sessions of HackerTyper ;)


Came here hoping it was a console epub reader. But no such luck :(


I occasionally use epr to read epubs in a terminal. Works pretty well.

https://github.com/wustho/epr


I use console emacs and nov.el (https://depp.brause.cc/nov.el/) for this. You can then use emacs features like keyboard navigation and dictionaries.


I’ve been using epy/epr to read novels, and I think it’s great.

https://github.com/wustho/epy



Sadly seems like it looks abandoned and has no image support.


Generalizing this to be an epub reader would be fantastic. I'd use it, no doubt.


Especially if it could also download books from Standard Ebooks: https://standardebooks.org/


This is the most "HN" post in a while. Love it.


There's a beauty in people finding and fixing these seemingly tiny gaps in their daily lives. It reeks of the serenity in someone's world where 1) this is a problem they're willing to invest time in, 2) they have the time to resolve the problem, and 3) they seem to really enjoy it.

It's in my mind akin to the master craftsperson perfecting their work over the years.

True vocation.


Very neat project, would love to install it and give it a try.

I was reading your post on software that will run 20 years from now. What about perl?

My perl scripts, and maybe awk, too, are the only ones running after 25 years!


It's nostalgic. Reminds me of an old library search terminal.


Those were good (we had DEC Terminals). Fast to start searching, fast results back.


I love it! The double spaced text looks very easy on the eye and it will work especially well on a phone / tablet with a shell. Is burgr published and can I install it? Ship it with some free books too!


Pleasantly surprised with the reading mode UI! The dark brown/orange theme is also easy on the eyes. Would love to try it out at some point


Is there a free-access catalog of book publications, and/or an index that could be downloaded?


If you want books for free legally, project Gutenberg has a lot of public domain books. You can also get ebooks from popular bookstores like Books a Million that give you access to the file directly.

There are also...less legal places to find ebooks, but that goes without saying.


where is the burgr repository???????


is there a link anywhere to download?


if you use kitty,you can read pdf in the terminal via termpdf.py


I really like this idea. Is it possible for other users to install this (or something similar)? On mac preferably.


Does this use the Guyenburg OPDS server? That would make it compatible with other catalogs.


I would love to try this out!


I'd also love to see the code for this project!


No thanks, I'll stick to my Kindle


OP is the only user. I like that mindset.




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

Search: