Name: Raph Levien
Member since: N/A
Last Login: 2010-07-30 05:00:07
Homepage: http://www.levien.com/
Notes: I work on Advogato, Ghostscript, Ghilbert, and some other things.
If you're trying to reach me, all of my older email addresses have become massively infested with spam. The best one to use right now is <firstname>.<lastname>@gmail.com. Sorry if you've been trying and haven't been able to get through.
Complete list of articles by raph
After more than ten years here on and off, I'm moving my blog to Hot Lead, where I'll be talking about fonts in all their glory. Expect lots of content about web fonts, performance, font technology, tools, and more.
It's been a great ride here, and thanks to everyone who's been part of the Advogato community. I'll still be checking in from time to time, and maybe even posting. But if you want to follow what I'm doing these days, follow me at the new place.
19 May 2010 (updated 19 May 2010 at 17:47 UTC) »
Obviously, the main reason we're doing this is to have a richer set of fonts for the web. But since the fonts are all open source, they can be used for lots of other things. I'm confident this collection will shortly show up in Linux distribution. We've created a Google Code project to host the fonts in the Google Font Directory, many of which contain FontForge or FontLab source. I want to run that in open source style, and invite people working on packaging fonts for Linux and other open source projects to help curate the project.
I'm also looking forward to hearing from more font designers. We've been working directly with designers to get the fonts for the initial launch, but we want to add many more, including both existing open-source fonts (possibly with a little work to meet quality and glyph coverage goals). If you're working on a font you'd like to see in the Google Font Directory, you can use this spreadsheet form, or get in touch with me directly. Please bear with me if I don't respond immediately, though - I'm expecting to be swamped.
It's hugely exciting to be working on fonts full time now, with a great team. I'm looking forward to some great collaboration with the open source and font worlds now that we're out in the world.
17 Jan 2010 (updated 17 Jan 2010 at 01:31 UTC) »
Via Wes Felter, I came across a fun puzzle language by my old friend C Guy Yarvin. I think of Nock as being in a family of languages with certain things in common: tiny number of primitives, definition can fit on a t-shirt, not quite practical, but powerful and expressive enough that you can imagine writing real programs in it. If this sort of thing appeals to you, I recommend checking it out. I took up his challenge to write an interpreter and sample program, and the core Python interpreter is 38 lines of Python.
Other languages in this vein include SKI combinators, pure lambda calculus, pure LISP, universal turing machines, and Brainfuck. No doubt my readers can come up with several more examples.
All this reminded me of my own Io, which I designed, oh, about 22 years ago. Io is basically a language in which the only primitive is continuations. Because it encompasses the power of simple lambda calculus, you can implement arithmetic and data structures using Church numerals. Probably the best introduction to Io is the chapter out of Raphael Finkel's book, and there's some more good description in notes by Kragen Sitaker.
I only wrote up half of my ideas in the SIGPLAN Notices article (PDF). The other half was primitives for parallelism. In addition to the pure language, "par k1 k2" fires off continuations k1 and k2 in parallel. Then "join k" invokes k with two new continuations, call them "alpha" and "beta". If one thread calls "alpha f" and another "beta x", then the two threads join at that point and invoke "f x". With this primitive, you can easily implement the full range of concurrency operations, including cells with state, input and output (hence the name of the language), etc.
I used to think it would be a good idea to build real systems in Io, but now I guess I've grown up a little. For one, while I think it's important for any serious student of languages to understand CPS, I'm no longer a huge fan of actually using it. Plus, it's much harder to implement things like Io efficiently than I originally thought.
But these languages sure are fun to play with!
After years of work, my Ph.D thesis is finally done! I now have a final draft up which is basically what I plan to submit formally. For a shorter presentation of this work, see the CAD paper which I presented in June.
My defense is scheduled for Sept 3, at Soda Hall. If you're in the area and interested in curves or font design, you're welcome to attend.
Another cool application of these curves is CurveMaker by Terry Ross, who's using them for architectural ironwork.
It hasn't quite hit home emotionally yet that I'm done, largely because there are the usual last minute things which need doing, not to mention the other things I've pushed aside.
PhD
I've been tuning out the world as much as I can, largely so that I can use whatever free time I have to finish up my thesis. The good news is, it's almost done, and I now have a reasonably coherent complete draft. Have a look.
I'll be presenting some of this work at CAD '09 in Reno on Jun 11.
Inconsolata
Lots of people like Inconsolata, and I've been getting quite a bit more email about it since that article came out.
I've been doing minor tweaks (such as making l and 1 more distinct), and now consider it pretty close to done. There are a batch of suggested changes people have sent as feedback. Some will be simple (adding endash and emdash glyphs) but others will take some more thinking.
raph certified others as follows:
Others have certified raph as follows:
[ Certification disabled because you're not logged in. ]
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!