Don't plagiarize your cover letters!

Monday 10 February 2014, 08:39

The text below pretty much speaks for itself. Bold highlighting and numbered footnotes in [square brackets] are mine; all the rest is as I received it. Some irregularities of spacing and punctuation, visible in the original email, aren't obvious in the HTML. Names of the students are redacted because (after finding several more copies on the Web) I imagine the students are relatively innocent victims of bad advice. Name of the institution not redacted because I hope others who receive such letters and look for them on the Web will be able to easily find this posting.

TikZでマック・ペイントの床しいタイリングを描きましょう

Friday 13 December 2013, 13:09

TeXとLaTeXで画を書いたらTikZは便利とポピュラーです。 みんなはきれいなグラフィクスを作っています。 たとえば、これがtexample.netから一つのクリスマスツリーです。

[クリスマスツリー]

しかし、ただのグラフィクスには興味ありません。 今日は1984年からノスタルジックの画を書きましょう。 マック・ペイントを思い出しませんか? そう…

プリティプリントの試作

Saturday 7 December 2013, 10:07

今年「TeX & LaTeX Advent Calendar」に入りました。 14日に私の書き込みを書きます。 それ前このサーバにGeSHiと言うプリティプリントソフトを備え付けています。 この書き込みはGeSHiのテスト・ポストです。

Firefox mouse copy and paste in Twitter

Wednesday 27 November 2013, 12:41

PROBLEM: Since just before the Twitter IPO, when they changed their site code, mouse copy-and-paste no longer works on Twitter's Web site viewed in Firefox. Where before one could highlight text with the mouse and then middle-button click to paste it somewhere, now that either causes the former contents of the clipboard to be pasted, or the string "witter.com". Copy and paste still works if and only if once uses explicit "copy" and "paste" commands with the keyboard or menu bar, but that is much less convenient, and is annoying to discover on the fly. Observed in several versions of Firefox under Linux; similar problems have been reported with other browser and other operating systems. Problem is specific to Twitter.

SOLUTION: In "about:config," set "dom.event.clipboardevents.enabled" to "false." Explanation below the cut.

Hypergeometric tail inequalities: ending the insanity

Monday 25 November 2013, 17:10

Back in 2009, I posted some notes I'd prepared on hypergeometric tail inequalities to this Web site - mostly so that I could find them easily myself, should I need to in the future. In the years since, that set of unpublished notes has become one of my most-cited works. I'm not sure how I feel about that, but whatever; I have stuck it on arXiv to make future citations easier and increase the chance that they'll spell my name right.

Tsukurimashou 0.8

Monday 26 August 2013, 13:18

I've posted Tsukurimashou 0.8, the latest version of my Japanese-language font project. This version contains 1502 kanji, including all through Grade Four. There are relatively few infrastructure changes for the fonts in this version, but Kleknev is new in this release (still at alpha status) and IDSgrep 0.4, released a few days ago and included in this package, contains some new and exciting speed enhancements.

UPDATE: I presented Tsukurimashou at TUG 2013 in Tokyo this October. You can read my slides (PDF file) on the conference Web site, and see some photos from my trip in my photo gallery. The paper will appear in TUGboat 2013.3, which will be posted on TUG's Web site (initially members-only, eventually open-access, or visit your library) in the near future.

Papers from the recent past and near future

Wednesday 21 August 2013, 12:03

I just got back from a trip to multiple conferences in Ontario, and that makes it a good time to update my publications page. Most people interested in my academic work are likely to find out about it from other sources, but I'm going to post some brief and relatively non-technical introductions here as well for my general Web site readers. The official versions of these papers are mostly behind paywalls, but there are also unofficial "preprint" versions available to all.

Removing things from Firefox's location bar NO REALLY

Sunday 21 July 2013, 06:40

The Firefox GUI becomes more annoying with each "upgrade." I don't know if they're taking bribes from Chrome, or if they took advice from the same "professional" UI designer who broke GIMP, or what, but it's really become a problem. For those who haven't given up on Firefox yet, however, and for my own future reference, here's something useful I managed to figure out after a lot of hair-tearing.

You start typing a partial URL into the location bar, and the drop-down list of suggestions appears. But there's a URL on that list that should not be there. Maybe it's something embarassing you don't want other users of your browser to see; maybe it's merely a site other than the one you want to be the match for the few characters you typed, and yet for some reason it keeps coming up as the preferred suggestion.

Two ambient tracks

Friday 10 May 2013, 06:40

I followed a link from Warren Ellis's Twitter feed to this posting about a half-day MP3: "Frolic in Brine, Goblins Be Thing" by Aairria. The idea of a work of audio art (I hesitate to call this "music" but I suppose it meets the definition) consisting of twelve hours of background noise appealed to me. But I didn't really want to spend the time it would take to download that (probably more than real time, because the MP3 is high-fidelity) on my slow home network connection and then make a block of time to listen to it, and I was also a bit disappointed to find out that the actual title is "Frolic in Brine, Goblins Be Thine" (a reference to the Ring movies), which I think is much less interesting than the typo.

The same artist has a bunch of other work online. I downloaded Sleepwalking and listened to it during one of my Sunday-morning urban hikes. It's about 65 minutes of basically just a humming noise. On the one hand, I definely got something out of it. There's more going on here artistically than one might expect from the description "65 minutes of humming." On the other hand, by the end of it I felt disappointed. I thought that it didn't live up to its possibilities. So the next step is, can I do better?

I got Csound and played with it for a while, and have posted the first of my results to a new account on SoundCloud. Below the cut (because I don't want to put external-site iframes on my front page) are embedded Flash players.

Kleknev: a coarse-grained profiler for build systems

Monday 11 March 2013, 19:12

When I was preparing the Tsukurimashou 0.7 release, I had to build the entire package several times from scratch, to verify that all the necessary pieces really were included in what I was preparing to ship. When I run the build on my development machine it normally re-uses a lot of previously-built components, only updating the parts I have recently changed. That kind of incremental compilation is one of the main functions of GNU Make. But if I'm shipping a package for others to use, it has to work on their systems which don't have a previous history of successful builds; so I need to verify that it will actually build successfully in such an environment, and verifying that means copying the release-candidate package into a fresh empty directory on my own system and checking that the entire package (including all optional features) can build there.

Tsukurimashou is a big, complicated package. It's roughly 92,000 lines of code, which may not sound like so much. For comparison, the current Linux kernel is about 15,000,000. Tsukurimashou's volume of code is roughly equivalent to an 0.99 version of Linux (not clear which one - I couldn't find numbers I trusted on the Web just now, and am not motivated to go downloading old kernel sources just to count the lines). However, as detailed in one of my earlier articles, Tsukurimashou as a font meta-family is structured much differently from an orthodox software package. Things in the Tsukurimashou build tend to multiply rather than adding; and one practical consequence is that building from these 92,000 lines of code, when all the optional features are enabled, produces as many output and intermediate files and takes as much computation as we might expect of a much larger package. A full build of Tsukurimashou maxes out my quad-core computer for six or eight hours, and fills about 4G of disk space.

So after a few days of building over and over, it occurred to me that I'd really like to know where all the time was going. I had a pretty good understanding of what the build process was doing, because I created it myself; but I had no quantitative data on the relative resource consumption of the different components, I had no basis to make even plausible guesses about that, and quantitative data would be really useful. In software development we often study this sort of thing on the tiny scale, nanoseconds to milliseconds, using profiling tools that measure the time consumption of different parts of a program. What I really wanted for my build system was a coarse-grained profiler: something that could analyse the eight-hour run of the full build and give me stats at the level of processes and Makefile recipes.

I couldn't find such a tool ready-made, so I built one.