Tom 7 Radar: all comments

[ next 25 ]

14874. Tom 7 ( – 19 May 11:10:43 "April" 2024 ]
Awesome, thank you!
I think the Widths table is a likely explanation. That would be redundant with the information already in the embedded font, so it would make sense that some readers would care and others would just use the font metrics. I have the widths from the TTF so it should be pretty easy to add that.

I am working on the video this weekend, so I will try not to let this distract me :)
14873. mixmix ( – 14 May 23:48:01 "April" 2024 ]
OK, so I've spent a bit more time investigating the rendering issues some of the folks are having.

Turns out, there's actually plenty of PDF validators out there. I used one from whose output looked reasonably constructive. Basically, I was immediately yelled at for a bunch of missing keys, one of which was Widths.

I checked (page 255), and apparently it is really required. I couldn't find what a reader is supposed to do in case of its absence, so I guess it's implementation specific.

Then I went to see what pdf.js (which is what Firefox uses under the hood) does, and to my surprise instead of reading the actual glyph widths from the font data, it relies on BaseFont metrics:

If the referenced BaseFont is not a real thing, it falls back to Times Roman for serif typefaces and Helvetica sanswise:

A fun side note: because Font18 and its brothers (which is what Palatino goes by after are not known serif typefaces, nor do they contain the word "serif" in their name, pdf.js treats them on par with Helvetica.

I also was curious why reprocessing your paper seemingly fixes all issues so I compared the original with what macOS Preview exports it as, and it seems like it completely revamps the whole thing and even embeds the kerning values.

Speaking of kerning, it's apparently not very portable to rely on a PDF reader in hope it'd apply it. TIL: it may not and in some cases it absolutely doesn't. I didn't read too much of your code (trying not to spoil the fun), but if you in any way rely on kerning to position the word pieces, I suggest you use the TJ operator instead of Tj.

I hope all these discoveries don't distract you from making the video to which I'm really looking forward!
14872. Anonymous ( – 14 May 07:55:05 "April" 2024 ]
I would pay for an online version of the monofixed version of the algorithm!
14871. Tom 7 ( – 11 May 11:08:14 "April" 2024 ]
Right? I don't get it! I wish there was at least some kind of validator that would tell me "this is broken" instead of just looking wrong on some platforms. :(
14870. Anonymous ( – 11 May 04:33:09 "April" 2024 ]
I can confirm that the version of the paper(s) attached to this post have kerning problems on both android and desktop firefox. Okular shows problems with kerning as well, however the wrong kerning looks different from firefox. Librera FD on android renders correctly. The version in SIGBOVIK proceedings looks fine in every program though. Shurely the "Portable Document Format" can't experience non-portable behavior, right? Right?
14869. Anonymous ( – 10 May 01:26:53 "April" 2024 ]
Great paper(s) as always! No apparent kerning issue on chrome or android.
14868. Anonymous ( – 06 May 07:31:05 "April" 2024 ]
So you are telling me I read through that whole paper with kerning from hell and it was just a display bug???
14867. Anonymous ( – 04 May 09:58:39 "April" 2024 ]
Firefox uses pdf.js to render PDFs under the hood, I checked its latest version but didn't see any warnings/errors despite the garbled kerning. I spent about half an hour trying to figure out what's going on but unfortunately found nothing. I suggest you generate a test PDF and create an issue at There's plenty of people who actually understand how PDF rendering works (unlike me).
14866. Tom 7 ( – 03 May 09:44:54 "April" 2024 ]
And recordings: Supposedly someone did record the event, but I don't have the video (yet). The director's cut for this project will be the YouTube video, although I'm not opposed to completionists watching the live recording!
14865. Tom 7 ( – 03 May 09:42:17 THPS Rules! ]
jonas: Thanks for the bug reports :) I think all the cases of extra spaces are a known problem where certain constructs (often it's a comment) result in adjacent text nodes that don't get fused. It's surprisingly hard to fix well, since the right fix would be to finish the somewhat delicate hand-written bytecode that concatenates layout nodes. I just ran out of time to get that done before the deadline, although since the deadline I've rewritten that part of the compiler so that it's not as bad to hand-write bytecode, so I plan to fix this one soon. The spaces burn my eyes too!

Regarding the ones where space seems too narrow, sometimes this is apparently the actual metrics for Palatino italics when mixed with roman (but I agree it looks bad and should be tweaked). Other times it is a consequence of hacks (in the paper's code) to work around the problem (with the language implementation) described above. Most should be fixable. Of course I absolutely deserve to be taken to task on these things.

Fixed the typo! It's a miracle if that's the only one, since I didn't have any spell checking support!

Colorful graph: Yeah, this is described imprecisely. 00 actually means 1 thread, and 01 means 2 threads, and so on. I just looked and the data are correct, but I didn't do the +1 when generating the image. It's fixed in case I regenerate that.

Others: Thank you for your enthusiasm! There is a video coming. I have essentially all the content now and I am still alive.
14864. Tom 7 ( – 03 May 09:25:30 "April" 2024 ]
I generated the PDFs myself so there's possible I made a mistake, or possible that Firefox just doesn't support something I'm doing. :( I should try to fix this since I actually may use BoVeX for future papers. If anybody has any ideas (even like, an error message) I'm definitely interested!

Concentrating on the video for now though!
14863. Tim McCormack ( – 02 May 22:49:26 "April" 2024 ]
Yeah, at first I thought the aggressively bad kerning was part of the joke, but the example monospaced paragraphs are *really* messed up in both Firefox and also in whatever my default PDF viewer is in Debian.

I took a look at the SIGBOVIK PDF and it looks *way* better. (Page 131 intra-diegetic/135 extra-diegetic for others who want to read it there.)
14862. Anonymous ( – 02 May 11:29:39 "April" 2024 ]
What is this? A crossover episode?

It's great seeing y'all get together! Thanks for sharing!
14861. DigiNova ( – 02 May 05:57:22 "April" 2024 ]
noone can be a better speaker/candidate/chief guest of a "comedy" show titled "An Evening of Unnecessary Detail" orz
big fan of all three in ascending order of respect++ from left to right in the image
14860. Anonymous ( – 01 May 22:51:40 "April" 2024 ]
I'm not sure why, but Firefox on macOS absolutely chokes on the Badness 0 PDFs (both versions); the kerning is all over the place.
14859. SIGSTKFLT ( – 01 May 11:03:14 "April" 2024 ]
I thought you would have learned my name by now, Gboard! DX
14858. SOGSTKFLT ( – 01 May 11:02:18 "April" 2024 ]
Is there any recording of your An Evening Of Unnecessary Detail talk perchance?
14857. Anonymous ( – 01 May 09:51:54 "April" 2024 ]
Looking forward to the video! Typography, compilers, maybe even a little bit of chess sneaking in, all sprinkled with your dry humor and beautiful hand-drawn artwork. What can be better? I hope the video gets at least as long as last year's one.
14856. Reziac ( – 25 Apr 10:32:58 Do we do Dewey or Rehoboth or both? ]
Long-term effects of Covid are mostly due to thyroid damage (this is known from a rather extensive tissue study, but hasn't trickled down to general medicine). If you're having such issues, it's wise to run a full thyroid panel (not just the mostly-worthless TSH test; need to check freeT3 levels, and the several thyroid antibodies).
14855. A.A. ( – 17 Apr 14:36:04 THPS Rules! ]
looking forward to the video. Actually checked your "channel" to see if I had somehow missed the notification.
14854. Eli Z. ( – 12 Apr 14:54:47 THPS Rules! ]
@Anonymous The original metroid guide is in the papers' bibliography,
14853. jonas ( – 08 Apr 21:24:33 THPS Rules! ]
The papers for Badness 0 are so much better than the presentation suggested! Had I known, I'd just have skipped the presentation entirely. That said, here are a few comments.

In page 132 and 146, in “since mathematics does not obey the rules of project management”, the space after “mathematics” seems to be wider then the other spaces in the same line. I wonder why this is.

In the colorful chart on page 134 and 149, given that the x axis is the number of CPU threads used, what does the column labeled “00” mean? I don't care what the colors and numbers in the chart even mean, but this part somehow bothers me.

Still on page 134, in the description of that same chart that I just said seems to contradict the chart, where it says “The x axis of the graph is the number of CPU threads”, the space after “x” is too narrow.

In page 138 and 139, in text “The tt function” and “value "FixederSysLight" to the layout” and “FixederSys family.[25] Functions like b and it apply”, all of which are in lines where the spaces are spread wider than normal, the space after text typeset in FixederSys seems to be too narrow. (The space after the footnote mark also appears to be too narrow.)

In page 141 and 157, in “But it can certainly be more satsifying.”, the last word is either a typo or some pun that I don't understand.

On the same pages, re the achievement system in BoVeX, I'd like to remind you that you still haven't awarded yourself an Xbox style achievement box for completing Pac Tom level II in expert mode. I find this more jarring now that I know you still care about giving achievements.

Pages 142 and 158, re “challenge your paper's reviewers to a game of chess against a strong engine embedded within your document”. A suitable starting point for such a thing would be Óscar Toledo's nanochess from . One of its versions runs on a 6502 CPU, which is great for this project because you can say that it's a trivial task to just get any of the thousand 6502 emulator implementations from the internet and wrap it as a BoVeX runtime primitive, but then actually spend weeks perfecting the details of a 6502 emulator that you implement on your own from scratch. I should have mentioned this back in 2019 when you wrote Elo World, but I didn't really understand your request for “easy to describe algorithms for playing chess” until you published the paper, and then it was too late.
14852. Anonymous ( – 08 Apr 18:45:53 THPS Rules! ]
I want to see the original metroid guide!
14851. jonas ( – 08 Apr 18:39:38 THPS Rules! ]
The proceedings volume of SIGBOVIK 2024 is now avaliable at . This includes Tom7's articles and much more. Have fun reading, everyone.
14850. jonas ( – 05 Apr 19:19:03 THPS Rules! ]
Video recording of Tom7's SIGBOVIK presentation about his new typography system is at

[ next 25 ]