We now have a web based tutorial for LogiQL, the descendent of Datalog we have been developing at LogicBlox. Given my high standards, I feel we still have more work to do on the language. However, as our newly revised website points out, it is being successfully used it solve very real business problems already.

I probably should have done this quite some time ago, but it is worth mentioning that this site has no direct relationship with the other "Existential Type" blog: http://existentialtype.wordpress.com/. I certainly do know Bob and I even host the Successor ML wiki for him. I am kind of surprised he decided to reuse the name without mentioning it to me, but I can perhaps be blamed for not posting anything here in years.

Assuming anyone is still reading or subscribed to the RSS feed, you have probably noticed the marked lack of updates. There are a variety reasons for this. One is that I joined the compiler team at LogicBlox in January. As such, I am not really doing all that much typesetting or typographical sorts of things these days. Though I have been recently learning the joys of trying to produce HTML and PDF output from a DocBook source and have both look remotely reasonable. As for type systems, well, I've been doing some of that, and may be doing quite a bit more in the near future. But rather than worrying about whether I may say too much, I'm just saying nothing about that for maximal peace of mind.

So at this point I wouldn't expect much more anytime soon. I have contemplated simply shutting the site down to further simplify my life, but there is still a steady readership for my LaTeX and fonts tutorial according to the analytics.

In response to my post on quality fonts, mbana provided a pointer to a Typophile discussion on the Tex Gyre fonts. In particular, Thomas Phinney described their quality as "wildly variable". I suppose at the time I was using "quality" to more describe whether the fonts provided all the features I would expect to need, rather than only aesthetic quality. I have to admit when I did skim the specimens that they didn't look too bad to me. He did say that the glyphs based on the original URW designs were quite good, while the Greek and Cyrillic "range from mediocre to poor to largely useless". Phinney most certainly has more experience with Cyrillic and type design than me, and arguably he probably just has a much better eye than me.

Leon recommended Junicode, which provides the most important features I discussed. I do think its stems are a bit thinner than I prefer, but it seems very well done.

In my discussion of METATYPE1 and meta-fonts, Till pointed out the existence of the meta-font Antykwa Półtawskiego. At the time I told him that I thought he was misinformed because Antykwa Toruńska seemed to have been created by tracing scanned specimens. A few days ago, Peter Backes pointed out this rather egregious error in reading comprehension on my part. Currently, only the generated Type 1 font files are available for Antykwa Półtawskiego. However, it sounds like it was prepared using a rather early version of METATYPE1 and therefore the sources could possibly be incompatible with the newer versions of METATYPE1.

Peter also noted that he has also created a font with METATYPE1 called OCEANIA. It is perhaps not as "meta" as he thinks would be ideal, but during the time I've spent working with METAFONT and METATYPE1, I've definitely found that it is often quite difficult to come up with a reasonable declarative specification of a glyph.

Jeff pointed me to these extremely cool and useful web application: Detexify2. At least a few of you readers have spent time skimming The Comprehensive LaTeX Symbol List looking for the incantation required for a specific symbol. With Detexify2 you can just scribble something that roughly looks the symbol and it will tell you the name and, if necessary, the LaTeX package that provides it.

The only problem is that it lets users help train the recognizer. This can also be a good thing, but I can imagine a few malicious users (or perhaps just people with very bad drawing skills) ruining it for everyone.

Typographic Style for Computer Scientists is a short article intended to bring computer scientists up to speed on typographical issues. I started writing it several years ago, and then set it aside for other projects. Recently, I decided rather than wait for it to be “complete” and perfect that I should polish it up a little and see if people could benefit from it.

It is probably far from comprehensive, but hopefully some people will find it useful. I had been thinking of perhaps adding some material specifically on inference rules and judgments, but I am not sure what else it might make sense to include.

If you find mistakes please let me know. If you disagree on some of what I have said, let me know and perhaps I can address your concerns.

In the past forty-eight hours, I've written code in C++, F#, and Scala. On top of that, XCode, Visual Studio, and Emacs all have different default keybindings for all the most common operations. Then add in switching between US and Danish physical keyboard layouts.

I am not entirely sure how fair of a comparison I am making, but I am open to suggestions on how to better compare the hypothetical output of a font designed using METATYPE1, where a Type 1 font would be directly generated, versus a font designed using METAFONT, where a Type 1 font is generated using mftrace.

For my experiment, I chose to compare glyphs from the Type 1 version of Computer Modern maintained by the American Mathematical Society, which was presumable crafted by manually tracing the bitmap version and optimizing various aspects by hand, with glyphs generated by mftrace on 3000DPI bitmaps generated from the METAFONT source. I could imagine that it might be fairer to compare the result of using nearly identical METATYPE1 and METAFONT source to generate the Type 1 glyphs, but then I would be biasing the design process towards the limitations of METATYPE1. I had considered using the METAFONT source for AMS Euler, because the source is simply the outline and would be easy to convert to METATYPE1.

I also decided to use glyphs with plenty of curves for the test, as I figure that tracing software can probably do a pretty good job with straight lines.

In any event, I will leave it to you to decide whether you can distinguish which is version is which below. The order in which the two versions appear differs for each of the three examples below.

As you might have guessed, my opinion is that results are so nearly indistinguishable, that given the design limitations of METATYPE1, it would make much more sense to work with METAFONT and mftrace, and use FontForge or a similar tool to add hinting as a postprocessing step.