Home Menu ↓

Blog

Scroll

A couple weeks ago I built my own EPUB reader called Scroll, and since then have pretty much moved off Marvin. Here’s what Scroll looks like (light and dark themes):

scroll.png

Thus far I’ve read two books using it, and while there are still a few small issues, overall I’m very happy with it. I don’t plan to release it anytime soon, but as a not-even-close-to-the-same-thing substitute, here are some notes:

  • I’d made decent enough progress with epub2pdf that it was usable, but reflowability and theme-changing are nice, and having quick navigation between books is even nicer, and printing a book to PDF in Firefox is slow, and browsers already natively support the HTML that’s inside EPUBs, so I abandoned the PDF route.
  • Scroll (after both the noun and the verb) is a PWA without a backend. It’s actually just static HTML files: I wrote a script that concatenates all the HTML in an EPUB into one long HTML file, with some processing to fix links and wrap things and bake the table of contents out. Then there’s a little bit of vanilla JS for the reader functionality (saving the debounced current scroll location to localStorage (I wish Safari supported scrollend), restoring it on the pageshow event, calculating pagination, jumping to pages, switching themes, etc.), and another vanilla JS file listing the current books (so that I don’t have to re-build all the other book files when I start reading a new book).
  • While I said “pagination” above, I’m not actually chunking the book into pages; I’ve chosen to stick with vertical scrolling for now instead of horizontal paging, primarily because being able to make sub-page progress is nicer than I realized. That said, I still want to know how many “pages” I’ve read, so I use the scroll percentage (scrollTop divided by scrollHeight, super simple) multiplied by a rough heuristic of 1,200 characters per page, ignoring whitespace. It’s not perfect but it’s good enough for my needs.
  • I added a slight blur to the text so that it feels a little less digital. For now I’ve opted against a background image, but I may change my mind about that.
  • Whenever I add/remove a book, I copy the baked files to a private directory on my server
  • I’ve saved the root HTML file (which is just a list of the current books, loaded via JS) to my home screen as a PWA

Reply via email

Links #131

Mandy Brown responds to Alan Jacobs, including a compelling peasant woodland metaphor borrowed from Anna Tsing’s The Mushroom at the End of the World (which I need to read). “A peasant woodland is one in which human participation and activity help the woods become more productive for humans and wildlife both—not through anything shaped like a plan but rather through a kind of call and response, an improvisation in which all the critters and creatures of the forest are players among us.” This way of thinking about the web seems healthy.

Helena Zhang’s Departure Mono, a monospaced pixel font. Fun.

Nathaniel Roy on Knopf’s logo variations. Also fun. I wish more publishers did this. (Maybe they do.)

Naz Hamid on being content with an older iPhone. I used to upgrade my phone consistently every two years, but this is the first year where I don’t feel like I need to. Freeing.

Devin Kate Pope on fearing home cooks. “The U.S. food system disconnects people from their food and each other. […] We, the people, are really remarkably capable of cooking everything and anything. Why am I more comfortable buying frozen tamales made by a corporation flown into my town than from the lady up the street? Who is the suspicion serving? Who profits when people are scared to eat food made by their neighbors?” Good point, one I hadn’t thought of much before. (Even though my favorite food in other countries is typically street food sold by small vendors, which is close to the same thing.)

Gareth Edwards on the imminent disappearance of the .io domain because of the sovereignty transfer.

Mandy Brown on staying in the gap, referring to Ira Glass’s taste gap story about creative work. I think of the original quote quite often and like this expansion of the idea. “The gap between your abilities and your taste is not a gap to be crossed but one to be cultivated.”


Reply via email

Booknotes 3.20

Nonfiction

  • Pure Invention, by Matt Alt, published 2020. A fairly quick read about Japanese pop culture and its influence throughout the world via exports like anime, Hello Kitty, Nintendo, and emoji. (Speaking of which, I didn’t know that the iPhone initially flopped in Japan because it lacked emoji at first.) Alt also has a related newsletter which I just discovered while writing this up. I’m not hugely into Japanese pop culture myself, but this was anthropologically interesting and worth it, I felt.

Fiction

  • Witches of Lychford, by Paul Cornell, published 2015, fantasy. Rather liked it. Dark, atmospheric (British village), and good writing to boot. A while back I got the first novella for free somewhere, then forgot about it until recently when I saw someone mention it (I think on r/fantasy) and decided to give it a go. Looking forward to the other Lychford novellas.
  • The Boys, by Katie Hafner, published 2022, fiction. I heard about this via Eliot Peper’s review, which said it had “the best plot twist I’ve experienced in a long time.” Color me intrigued. I’m happy to report that yes, that was indeed a heck of a plot twist, one I did not see coming at all. Wow. I felt like the book ended well, too. And then I got to the author bio at the very end and realized that Hafner also wrote Where Wizards Stay Up Late (a history of the Internet) some thirty years ago. I haven’t read it yet but have been meaning to for years. Small world!
  • Penric and the Shaman, by Lois McMaster Bujold, published 2016, fantasy. Part of the Penric & Desdemona series. Enjoyed it, though I was admittedly also using it as the testbed for my new ebook reader (more on that soon) so I wasn’t fully focused on the story.

Reply via email

Links #130

Mandy Brown on personal sites. Particularly this part:

A website is, among other things, a container. The shape of that container both constrains and makes possible what goes within it. This is, I think, one of the primary justifications for having your own website. Not just so you can own your stuff (for some meaning of “ownership,” in a culture in which any billionaire can scrape your work without permission and copyright only protects the rich). Not just so you have a home base among the shifting winds of the various platforms, which rise and fall like brush before the fire. Not just so you can avoid setting up camp in a Nazi bar. But also so that you can shape the work—so that you can give shape to it, and in that shaping make possible work that couldn’t arise elsewhere.

Alan Jacobs on POS instead of POSSE, for personal sites. This is largely where I’m at nowadays, though I do reluctantly post art to Instagram and Facebook (for now, anyway).

Tracy Durnell on the secret power of a blog. “If you only write when you’re sure you’ll produce brilliance, you’ll never write.” I need to remember this.

Katie Clapham’s lovely Receipt from the Bookshop newsletter. “I open the draft when I open the shop, detail the day’s customers and transactions, and then send it out to readers before I go home.” I love this idea, and the newsletter itself is good, too.

Richard Rutter on the problem with superscripts and subscripts. I didn’t know about font-variant-position, cool. Also see Richard’s TODS default OpenType stylesheet.

Dan B. on how to build anything extremely quickly via the power of outlining.

Steven Arcangeli’s oil.nvim, a Neovim plugin that lets you edit your filesystem like a buffer. Cool idea.


Reply via email

Booknotes 3.19

Nonfiction

  • The Cause, by Joseph J. Ellis, published 2021. Fascinating history of the American Revolution (specifically 1773–1783), warts and all. I haven’t read enough other books about the topic to know how it fares in comparison, but I learned a lot. The main two things that struck me were a) the precariousness of the Revolution all along the way and b) the hypocrisy of seeking freedom from Britain while still holding slaves.
  • Shift Happens, by Marcin Wichary, published 2023. A fascinating deep dive into the history of keyboards (typewriters, computers, phones, etc.). It took me five months to read this (it’s just over 1,200 pages), but it’s good and worth it. Lovely typesetting, too. And some fun Easter eggs.

Fiction

  • Nettle & Bone, by T. Kingfisher, published 2022, fantasy. A fairy tale with some dark elements, but it never felt particularly dangerous. Enjoyed it.
  • The Butcher of the Forest, by Premee Mohamed, published 2024, horror/fantasy. A dark fairy tale that did in fact feel dangerous (which I think I prefer, at least in fairy tales). Quite liked it. The ending was great, too. Looking forward to reading Mohamed’s other books.
  • Komarr, by Lois McMaster Bujold, published 1998, science fiction. Part of the Vorkosigan series. Loved it as usual, and Bujold continues to be one of my favorite authors. I’ve been metering these out so I don’t finish the series too quickly (one a year or so, as I believe I’ve mentioned before), but I think I’m going to shift strategies and read them every few months instead so I can finish (and then reread them down the road, along with Bujold’s other books).

Reply via email

Five new art pieces.

How Great Shall Be Your Joy:

How Great Shall Be Your Joy

A Place to Manifest Himself:

A Place to Manifest Himself

“Come, Lord Jesus” hymn print:

“Come, Lord Jesus” hymn print

Descending Out of Heaven:

Descending Out of Heaven

“This Is the Christ” hymn print:

“This Is the Christ” hymn print

Reply via email

Links #129

Robin on AI. “I want real things by real people.” Yes, exactly.

Anastasia Bizyayeva on how every online map of China is wrong, in the sense that the satellite images don’t line up with the street map vectors. Fascinating.

Marco Giancotti suggests you don’t have time to read books that won’t change your life. A high bar, but quality clearly matters far more than quantity, and perhaps there’s something to keeping the bar this high. I’m not quite this strict about my reading, but who knows, might be worth trying.

The Psmiths review Jonathan Sumption’s The Albigensian Crusade and Dennis C. Rasmussen’s Fears of a Setting Sun. Love these reviews, and the books they’re reviewing are super interesting, too.

Sean Voisen on Wendell Berry writing without a computer. This stood out to me, particularly the part about writing by hand for a more embodied process.

Greg Neville’s blog on Penguin book cover designs. Fun. I’ve enjoyed the posts on the Marber grid and the Penguin classics and the classics (again).

Alice Vincent on Coralie Bickford-Smith’s Clothbound Classics cover designs for Penguin. Loved this. The accompanying video is also good.


Reply via email

Booknotes 3.18

Nonfiction

  • Sick Societies, by Robert B. Edgerton, published 1992. An anthropological critique of cultural relativism, detailing how some folk societies develop maladaptive behaviors that harm themselves or others. Fascinating book with lots of interesting (and often sad and disturbing) anecdotes. From the Psmiths’ review, which is where I heard about the book in the first place: “That’s the case the late UCLA anthropologist Robert Edgerton set out to make in Sick Societies: that some primitive societies are not actually happy and fulfilled, that some of their beliefs and institutions are inadequate or actively harmful to their people, and that some of them are frankly on their way to cultural suicide. The mere fact that people keep doing something doesn’t mean it’s actually working well for them, but just as the market can stay irrational longer than you can stay solvent, your society can stay dysfunctional longer than you can stay alive.”

Fiction

  • Death at La Fenice, by Donna Leon, published 1992, mystery. Murder mystery set in Venice. It was okay, though I don’t think I liked the writing enough to continue the series.
  • The Redoubtable Pali Avramapul, by Victoria Goddard, published 2022, fantasy. Quite liked it. The first part of the book retells events from The Hands of the Emperor and The Return of Fitzroy Angursell from Pali’s perspective, which was interesting. (I probably should have read the rest of the Greenwing & Dart books before this one, by the way. I’m planning to read the rest of Goddard’s books in publication order, which I find is usually the best way to read an author’s works.)
  • The Midas Rain, by Adam Roberts, published 2023, science fiction. Heist story. Stylistically interesting. Liked it. Looking forward to trying one of Roberts’ novels.
  • The Unselected Journals of Emma M. Lion, volume 7, by Beth Brower, published 2022, fiction. Loved it as usual. And now I’m finally caught up! Just in time, apparently — my wife tells me Brower is announcing the volume 8 release date in a few weeks.

Reply via email

Links #128

Ted Chiang on why AI isn’t going to make art, with his main argument being that art involves lots of choices. Agreed. (Truth be told, I haven’t been giving AI much thought lately. I know there are new developments — OpenAI’s o1-previews reasoning model, for example — but none of it is terribly interesting to me anymore.)

Christopher Bonanos interviews Robert Caro about The Power Broker. Also, the ebook will at long last be available (for real this time!). It goes on sale tomorrow on the Kindle store. Great book.

Jim Nielsen on sanding UI. I do this too, and clicking around a ton really is key.

Hamilton Nolan on taxing billionaires 100% over $1 billion. I’m not an economist and don’t know what ramifications this might have, but on the face of it I really like the idea.

Matthias Endler on moving slow and fixing things and the harmfulness of the Paul Graham VC mentality. “As it turns out, I’ve always been drawn to the exact opposite: sustainable growth, robust solutions, and a long-term mindset. That’s why I’ve been contributing to open source for 15 years, why I only run small, bootstrapped businesses or non-profits, and why I focus on writing and knowledge sharing.

Matt Webb on not privatizing essential parts of the economy. Yes, this. I wish this were already true.

Adam Mastroianni’s blog extravaganza winners, with several interesting linked blog posts.

Alex Tabarrok quotes Vaclav Smil on how many workers it might have taken to build the Great Pyramid of Giza. Fewer than I expected.

Adrian Roselli’s semiannual reminder to learn and hire for web standards, wherein he quotes Alex Russell: “Never, ever hire for JavaScript framework skills. Instead, interview and hire only for fundamentals like web standards, accessibility, modern CSS, semantic HTML, and Web Components. This is doubly important if your system uses a framework.”

Mark Simonson’s Type Design Like It’s 1987 demo. I’ve only watched little parts of this so far, but it’s fascinating.


Reply via email

Two new art pieces.

That All Men Might Repent:

That All Men Might Repent

Till We Meet Again III:

Till We Meet Again III

Reply via email