Port Watchers № 1
I notified people of this newsletter in March, and here finally is the first one. If you have thoughts, just hit Reply and tell me!
If you know of others who are into this kind of thing (publishing nerds), please forward this to them. There are not many of us (or are there?)!
Small email press
I perendinated sending this email because, being a publishing nerd, I didn’t want to do it until I had implemented a tool that would allow me to do it perfectly, repeatably, and with full control of every component. Well, I did implement such a tool, and you’re looking at the results.
I gave a four-screenshot dime tour of the thing on Mastodon yesterday. I don’t mean for this to be a general-purpose tool that many people adopt, but I’ll be publishing the source code on my site at some point, not least because it’s a neat way of showing how Punct can be extended to non-web media. (I even added a plaintext renderer to Punct to support this project. Regarding which: if you use a text-only email client… does this thing look ok?)
Speaking of Punct: In case you missed it, in March I uploaded a short video, Punct in Practice, which demonstrates what it is and how I use it. My original stated plan was to make this first email all about it, but ultimately all my drafts just felt self-indulgent and long-winded. If you are actively interested (or virulently anti-interested, also a valid sentiment) in some aspect of Punct, please reply and let me know what questions you’d like to see answered.
Small web
Kagi is a relatively new search engine which seems to be getting very popular lately. Every time they come up in online discussions I see nothing but praise. This bit is not going to be about their paid subscription search (of which I am a happy $5/month customer), but about their small web initiative ← just click through and read about it!
Kagi Small Web offers a fresh approach by promoting recently published content from the “small web.” We gather new content, published within the last week, from a handpicked list of blogs and surface it
I added my personal site to their small web index. Notice how very 1990s that sounds: a bunch of hobbyists adding their home-cooked websites to a big ol’ curated discoverability thing. It’s been decades since I felt that kind of energy in a web scene.
They use this index in a few ways, one of which is an RSS feed that appears to aggregate the most recent posts from all the blogs (again see the link for details). It’s one of those high-signal serendipity machines that exemplifies the best of the World Wide Web. (Maybe almost on the level of Pinboard’s “popular” page.)
NB: If you want to add your personal site’s feed to the index, there are some rules. In particular: you have to add at least two others that you don’t own (and that aren’t in there already). A lot of people seem to be missing that and getting rejected. Don’t make the same mistake! Read the other rules too!
Typst
I have been very impressed with Typst lately. I first learned of it in January. It’s a couple of things: a programming language for writing and typesetting PDFs, a command-line tool, and a web app that includes collaborative editing. It’s like if Google Docs had instant LaTeX-quality typesetting and a 21st century programming language.
I’m helping my wife edit and produce a small book she’s writing for her music studio. Lately our Saturday morning routine is: get up and feed the kids, then bring our laptops into the back yard and take on a single chapter together. We both have the Typst web app open on our laptops and can see each other selecting text and highlighting lines. Which we could do with Google Docs, sure, but since Typst is a programming environment, we can do things like “comment out” lines, keeping them in the source but excluding them from the preview and PDF. And of course, the preview we’re seeing is pretty much exactly how the thing will look in print, and it looks very good. (I wish I could share screenshots from the project — maybe in a future email.)
Will it replace LaTeX? I don’t know. But I think it could. It doesn’t yet have all of the functionality provided by LaTeX’s packages. But this is where Typst-the-language is killer: it just works so well.
Example: Unlike LaTeX, Typst does not (yet?) have a built-in facility for typesetting poetry according to Bringhurst-style best practices (centered on the longest line). But after only a few hours of poking around GitHub and the documentation (keep in mind I was brand new to Typst at this point), I was able to write the code to do exactly what I need, and, amazingly for a LaTeX veteran, I don’t hate looking at it:
#let set_poetry(my_lines) = {
set align(center)
set par(leading: 0em, first-line-indent: 0pt)
let lines = my_lines.trim("\n")
.split("\n")
.map(line => line.trim(" ", at: end))
style(styles => {
let max_size = lines.map(body => measure(body,styles).width).sorted().last()
v(1em)
block(width: max_size,
for (index,line) in lines.enumerate() {[
#set align(start)
#box(width: max_size, line)
]})
})
}
So if your computational typesetting interests extend to making hardcopies of anything, I suggest you check it out.
I plan on adding a Typst renderer to Punct at some point as well!
That’s all for now! More soon, but not sooner than a month from now. Replies with links of interest always much appreciated.
— Joel