<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for raph</title>
    <link>http://www.advogato.org/person/raph/</link>
    <description>Advogato blog for raph</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Tue, 9 Feb 2010 13:19:43 GMT</pubDate>
    <item>
      <pubDate>Sun, 17 Jan 2010 00:05:10 GMT</pubDate>
      <title>17 Jan 2010</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=419</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=419</guid>
      <description>&lt;b&gt;Nock, Io&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Via &lt;a href="http://blog.felter.org/" &gt;Wes Felter&lt;/a&gt;, I came&#xD;
across a fun puzzle language by my old friend &lt;a href="http://moronlab.blogspot.com/" &gt;C Guy Yarvin&lt;/a&gt;. I&#xD;
think of &lt;a href="http://unqualified-reservations.blogspot.com/2010/01/maxwells-equations-of-software.html" &gt;Nock&lt;/a&gt;&#xD;
as being in a family of languages with certain things in&#xD;
common: tiny number of primitives, definition can fit on a&#xD;
t-shirt, not quite practical, but powerful and expressive&#xD;
enough that you can imagine writing real programs in it. If&#xD;
this sort of thing appeals to you, I recommend checking it&#xD;
out. I took up his challenge to write an interpreter and&#xD;
sample program, and the core Python interpreter is 38 lines&#xD;
of Python.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Other languages in this vein include &lt;a href="http://unqualified-reservations.blogspot.com/2010/01/maxwells-equations-of-software.html" &gt;SKI&lt;/a&gt;&#xD;
combinators, pure lambda calculus, &lt;a href="http://arcfn.com/2008/07/maxwells-equations-of-software-examined.html" &gt;pure&#xD;
LISP&lt;/a&gt;, universal turing machines, and &lt;a href="http://en.wikipedia.org/wiki/Brainfuck" &gt;Brainfuck&lt;/a&gt;.&#xD;
No doubt my readers&#xD;
can come up with several more examples.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; All this reminded me of my own Io, which I designed, oh,&#xD;
about 22 years ago. Io is basically a language in which the&#xD;
only primitive is continuations. Because it encompasses&#xD;
the power of simple lambda calculus, you can implement&#xD;
arithmetic and data structures using Church numerals.&#xD;
Probably the best introduction to Io is the &lt;a href="http://www.nondot.org/sabre/Mirrored/AdvProgLangDesign/finkel02.pdf" &gt;chapter&lt;/a&gt;&#xD;
out of Raphael Finkel's &lt;a href="http://books.google.com/books?id=EV4ZAQAAIAAJ" &gt;book&lt;/a&gt;,&#xD;
and there's some more good description in &lt;a href="http://canonical.org/~kragen/raph-io.html" &gt;notes&lt;/a&gt;&#xD;
by Kragen Sitaker.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; I only wrote up half of my ideas in the SIGPLAN Notices&#xD;
&lt;a href="http://levien.com/pubs/io_a_new_programming_notation.pdf" &gt;article&lt;/a&gt;&#xD;
(PDF). The other half was&#xD;
primitives for parallelism. In addition to the pure&#xD;
language, "par k1 k2" fires off continuations k1 and k2 in&#xD;
parallel. Then "join k" invokes k with two new&#xD;
continuations, call them "alpha" and "beta". If one thread&#xD;
calls "alpha f" and another "beta x", then the two threads&#xD;
join at that point and invoke "f x". With this primitive,&#xD;
you can easily implement the full range of concurrency&#xD;
operations, including cells with state, input and output&#xD;
(hence the name of the language), etc.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; I used to think it would be a good idea to build real&#xD;
systems in Io, but now I guess I've grown up a little. For&#xD;
one, while I think it's important for any serious student of&#xD;
languages to &lt;i&gt;understand&lt;/i&gt; CPS, I'm no longer a huge fan&#xD;
of actually using it. Plus, it's much harder to implement&#xD;
things like Io efficiently than I originally thought.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; But these languages sure are fun to play with!</description>
    </item>
    <item>
      <pubDate>Sat, 29 Aug 2009 19:32:36 GMT</pubDate>
      <title>29 Aug 2009</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=418</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=418</guid>
      <description>&lt;b&gt;final draft&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; After years of work, my Ph.D thesis is finally &lt;i&gt;done!&lt;/i&gt;&#xD;
I now have a &lt;a href="http://levien.com/phd/phd.html" &gt;final&#xD;
draft&lt;/a&gt; up which is basically what I plan to submit&#xD;
formally. For a shorter presentation of this work, see the &lt;a href="http://levien.com/phd/LevienSequinCAD09_014.pdf" &gt;CAD&#xD;
paper&lt;/a&gt; which I presented in June.&#xD;
&#xD;
&#xD;
&lt;p&gt; My defense is &lt;a href="http://events.berkeley.edu/index.php/calendar/sn/eecs.html?event_ID=21552" &gt;scheduled&lt;/a&gt;&#xD;
for Sept 3, at Soda Hall. If you're in the area and&#xD;
interested in curves or font design, you're welcome to attend.&#xD;
&#xD;
&lt;p&gt; Another cool application of these curves is &lt;a href="http://www.drawmetal.com/curvemaker" &gt;CurveMaker&lt;/a&gt; by&#xD;
Terry Ross, who's using them for architectural ironwork.&#xD;
&#xD;
&lt;p&gt; It hasn't quite hit home emotionally yet that I'm done,&#xD;
largely because there are the usual last minute things which&#xD;
need doing, not to mention the other things I've pushed aside.&#xD;
</description>
    </item>
    <item>
      <pubDate>Mon, 25 May 2009 02:36:28 GMT</pubDate>
      <title>25 May 2009</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=417</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=417</guid>
      <description>I used to blog every day, now it seems I'm about at once a&#xD;
year. But there's reason to believe I might pick up the pace&#xD;
again...&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;PhD&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I've been tuning out the world as much as I can, largely so&#xD;
that I can use whatever free time I have to finish up my&#xD;
thesis. The good news is, it's almost done, and I now have a&#xD;
reasonably coherent complete draft. &lt;a href="http://levien.com/phd/phd.html" &gt;Have a look.&lt;/a&gt;&#xD;
&#xD;
&lt;p&gt; I'll be presenting some of this work at &lt;a href="http://www.cadconferences.com/CAD09_Thursday.html" &gt;CAD&#xD;
'09&lt;/a&gt; in Reno on Jun 11.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Inconsolata&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; Lots of people &lt;a href="http://hivelogic.com/articles/view/top-10-programming-fonts" &gt;like&lt;/a&gt;&#xD;
Inconsolata, and I've been getting quite a bit more email&#xD;
about it since that article came out.&#xD;
&#xD;
&lt;p&gt; I've been doing minor tweaks (such as making l and 1 more&#xD;
distinct), and now consider it pretty close to done. There&#xD;
are a batch of suggested changes people have sent as&#xD;
feedback. Some will be simple (adding endash and emdash&#xD;
glyphs) but others will take some more thinking.</description>
    </item>
    <item>
      <pubDate>Sun, 17 Aug 2008 01:58:33 GMT</pubDate>
      <title>17 Aug 2008</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=416</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=416</guid>
      <description>&lt;b&gt;Thesis back on track&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; After quite some time of my thesis (on interactive curve&#xD;
design) being stuck, &#xD;
I'm now making good progress again. You can check out the&#xD;
draft chapter on &#xD;
the &lt;a href="http://levien.com/phd/elastica_hist.pdf" &gt;history of the &#xD;
elastica&lt;/a&gt; if you like (soon also to be published as a&#xD;
Berkeley CS tech &#xD;
report).&#xD;
&#xD;
&lt;p&gt; I had a lot of fun writing that chapter, digging deep&#xD;
into the history of the &#xD;
curve and getting to know the old mathematicians like James&#xD;
Bernoulli better. &#xD;
My advisor is encouraging me to publish it stand-alone. Can&#xD;
anyone &#xD;
recommend a good place, perhaps some kind of history of&#xD;
mathematics &#xD;
journal or conference?&#xD;
&#xD;
&lt;p&gt; Next up is a similar chapter on the Euler spiral. Then,&#xD;
after that, I finish up my &#xD;
argument characterizing the entire space of 2-parameter&#xD;
splines, and I'm &#xD;
over the hump - the rest is numerical techniques and&#xD;
applications, which will &#xD;
require making a bunch of figures (time consuming but&#xD;
rewarding), but no &#xD;
difficult conceptual work.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Spiro&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; Spiro is integrated with newish builds of &lt;a href="http://www.inkscape.org/&#xD;
screenshots/index.php" &gt;Inkscape&lt;/a&gt;, which is awesome. Even&#xD;
more &#xD;
awesome is this &lt;a href="http://www.youtube.com/watch?&#xD;
v=3OaLZuFZxdk" &gt;YouTube video&lt;/a&gt; of spiro in action. (The &lt;a href="http:&#xD;
//www.disenolibre.org/" &gt;author&lt;/a&gt; also has a &lt;a href="http://&#xD;
www.youtube.com/watch?v=-ekZJ9h9PXU" &gt;three minute S&lt;/a&gt;&#xD;
using the &#xD;
original ppedit code; nowhere nearly as cool but still nice)&#xD;
&#xD;
&lt;p&gt; It looks like the word is getting out. There's also a &lt;a href="http://screencasters.heathenx.org/blog/2008/07/17/episode-067-intro-to-spiro/" &gt;screencast&lt;/a&gt;&#xD;
 from heathenx. It's still only in development snapshots.&#xD;
I'm excited that when it finally starts shipping in stable&#xD;
releases, lots more people will get excited.&#xD;
&#xD;
&lt;p&gt; It's also integrated into FontForge, but sadly I haven't&#xD;
gotten much chance to &#xD;
play with it myself. These days, I'm trying to use all my&#xD;
free time on finishing &#xD;
the thesis itself.&#xD;
&#xD;
&lt;p&gt; You can also see Euler spirals (also known as Cornu&#xD;
spirals or clothoids) at &lt;a href="http://nodebox.net/code/index.php/Cornu" &gt;NodeBox&lt;/a&gt;,&#xD;
and a &#xD;
nice &lt;a href="http://www.progetto-exp.org/?page_id=97" &gt;project by &#xD;
Andren Novali&lt;/a&gt; using them. It's awesome that the free&#xD;
software &#xD;
community is carrying this integration work forward even&#xD;
when I have very &#xD;
limited time for coding myself.</description>
    </item>
    <item>
      <pubDate>Sun, 1 Jul 2007 23:53:02 GMT</pubDate>
      <title>1 Jul 2007</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=415</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=415</guid>
      <description>I was very disappointed to read "&lt;a&#xD;
href="http://google-health-ads.blogspot.com/2007/06/does-negative-press-make-you-sicko.html"&gt;Does&#xD;
negative press make you Sicko?&lt;/a&gt;"&#xD;
at the Google Health Advertising Blog, and the &lt;a&#xD;
href="http://google-health-ads.blogspot.com/2007/07/my-opinion-and-googles.html"&gt;followup&lt;/a&gt;&#xD;
post didn't do&#xD;
much to ease my concerns. A large part of why I love working&#xD;
at Google&#xD;
is how seriously we take the philosophy of "don't be evil,"&#xD;
and it's&#xD;
not hard to see how some people might conclude from those&#xD;
posts that&#xD;
we're backsliding on that. But what I see on the inside is very&#xD;
encouraging - lots of internal discussion about what the&#xD;
right course&#xD;
of action is, and a strong commitment from people all up and&#xD;
down the&#xD;
community to act on principles rather than just the profit&#xD;
motive.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; Don't get me wrong, Google is in the advertising&#xD;
industry.&#xD;
It makes us&#xD;
a lot of money, and we are very good at it. In fact, I think&#xD;
that the&#xD;
type of ads that we do best -- connecting people who are&#xD;
looking for&#xD;
something specific with providers who offer it -- have lots of&#xD;
potential to improve the way healthcare is delivered in this&#xD;
country.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; But I cannot agree with Lauren's claim that&#xD;
"advertising is&#xD;
a very&#xD;
democratic and effective way to participate in a public&#xD;
dialogue." I&#xD;
think that depends a &lt;i&gt;lot&lt;/i&gt; on the kind of advertising&#xD;
we're talking&#xD;
about. At its best, it can indeed be democratic. Here's an&#xD;
example:&#xD;
it would be well within the reach of the yoga studio where&#xD;
my mom&#xD;
sometimes&#xD;
fills in as an instructor to buy some AdWords on&#xD;
"hypertension" for&#xD;
their local area. Then, when people search on that keyword,&#xD;
they'll&#xD;
see ads for the yoga studio mixed in with those for&#xD;
medications and&#xD;
high-tech hospital facilities for managing hypertension.&#xD;
Perhaps not&#xD;
&lt;i&gt;quite&lt;/i&gt; as prominently based on the size of the ad buy,&#xD;
but good&#xD;
enough.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; This type of scenario isn't even really competition.&#xD;
Most&#xD;
doctors&#xD;
would be &lt;i&gt;thrilled&lt;/i&gt; to see their patients proactively&#xD;
making lifestyle&#xD;
changes to prevent the need for expensive medicines and&#xD;
treatments. At&#xD;
the same time, if you have a serious heart problem, my mom would&#xD;
definitely want you to get good diagnostics done, etc. Different&#xD;
story, of course, if your BP is just a touch high because&#xD;
you're out&#xD;
of shape and a little stressed out, but even in that case the&#xD;
pharmaceutical industry might concede the chase after that&#xD;
particular&#xD;
bit of revenue.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; But when the insurance industry runs advertising&#xD;
campaigns to&#xD;
discredit Moore's film, that's not democracy. The imbalance&#xD;
of money&#xD;
is just too dramatic: the health industry runs somewhere&#xD;
north of a&#xD;
trillion dollars, and spends in the ballpark of three&#xD;
billion a year&#xD;
on advertising. By contrast, the production budget on Sicko was&#xD;
something like nine million. Even if you were to agree with&#xD;
every&#xD;
single point made by the insurance industry and disagree&#xD;
entirely with&#xD;
Moore, there's no way this system can be considered democratic.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; I think we can all agree that we need a healthy&#xD;
debate about&#xD;
how to&#xD;
best restructure our healthcare system to better meet the&#xD;
needs of&#xD;
Americans. Moore is a master storyteller, and the way he&#xD;
shows the&#xD;
damage wreaked by the healthcare system in people's lives&#xD;
will make&#xD;
you weep. Getting people to sit up and care is an important&#xD;
contribution to the debate, but it isn't enough. As Lauren&#xD;
points out,&#xD;
anecdotes are not a great way to get to accurate&#xD;
information. To have&#xD;
a healthy debate, we need to be looking really intensely at the&#xD;
numbers. In a free society, the insurance companies&#xD;
absolutely should&#xD;
have the chance to present their case as well.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; I also think it's just fine for Google to take their ad&#xD;
dollars, as&#xD;
long as we maintain the integrity of our search results.&#xD;
Those really&#xD;
&lt;i&gt;are&lt;/i&gt; democratic, and our commitment to those&#xD;
principles runs deep at&#xD;
Google, from the original PageRank algorithm to the &lt;a&#xD;
href="http://investor.google.com/founders_letter.html"&gt;Founder's&#xD;
Letters&lt;/a&gt;&#xD;
filed with the SEC, through the actions of the engineers and&#xD;
support&#xD;
staff I work with every day.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; But, back to ads, I personally do not weep for the&#xD;
insurance&#xD;
companies, and I frankly don't think they need that much help in&#xD;
getting their message across. This opinion is one of many;&#xD;
within the&#xD;
company, there are lots of people with lots of opinions, and&#xD;
a lot of&#xD;
thought about what it means to do the right thing. Where it gets&#xD;
interesting is when there is tension between all these goals,&#xD;
especially between running a company that is "trustworthy and&#xD;
interested in the public good" as well as profitable. In&#xD;
those cases,&#xD;
we have a spirited debate.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; In fact, I am now going to reveal one of our most&#xD;
heavily&#xD;
guarded&#xD;
corporate secrets: within Google, Godwin's Law appears to be&#xD;
suspended. Conflicts, even on really sensitive and&#xD;
contentious topics,&#xD;
tend to get treated as misunderstandings and resolved,&#xD;
rather than&#xD;
degenerating into flamewars.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; I don't know that we'll always do the right thing as a&#xD;
company, but I&#xD;
do have great faith that we will try our best to figure out&#xD;
what that&#xD;
is. I also know that when I see something wrong, I'll take a&#xD;
stand.&#xD;
This is not just me, but, believe it or not, is enshrined as&#xD;
principle I(d) in our &lt;a&#xD;
href="http://investor.google.com/conduct.html"&gt;Code of&#xD;
Conduct&lt;/a&gt;.&#xD;
For a moneymaking outfit in corporate America today, that's&#xD;
actually&#xD;
pretty amazing, and good enough for me personally. I'm also&#xD;
going to be spending some time over the next few weeks&#xD;
learning about healthcare initiatives within Google, such as&#xD;
&lt;a&#xD;
href="http://googleblog.blogspot.com/2007/06/is-there-doctor-in-family.html"&gt;Dr.&#xD;
Roni Ziegler's work&lt;/a&gt;.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; I'd go so far as to say that if the public debates about&#xD;
important&#xD;
issues like healthcare were as well-informed and considerate&#xD;
as the&#xD;
internal discussions I've seen so far at Google, then&#xD;
Michael Moore&#xD;
probably never would have felt the need to make the film&#xD;
Sicko. That&#xD;
would have been something of a shame, because, like Picasso's&#xD;
Guernica, Moore has made great art from the raw material of&#xD;
human&#xD;
suffering on a large scale. Go see it. (*)&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; *Like everything else in this blog, the movie review&#xD;
represents my&#xD;
personal opinion and does not in any way represent Google's&#xD;
official&#xD;
corporate policy.</description>
    </item>
    <item>
      <pubDate>Tue, 19 Jun 2007 21:02:09 GMT</pubDate>
      <title>19 Jun 2007</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=414</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=414</guid>
      <description>&lt;b&gt;Advogato talk&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I'm giving a talk on Advogato at Google on the evening of&#xD;
Monday the 25th. It's open to the public - all Advogatans&#xD;
who are in the area are welcome.&#xD;
&#xD;
&lt;p&gt; Here's the &lt;a&#xD;
href="http://google-code-updates.blogspot.com/2007/06/open-source-developers-google-speaker_15.html"&gt;talk&#xD;
info&lt;/a&gt;. It will be videotaped, so if it's not convenient&#xD;
to the area, you'll probably be able to see video too.&#xD;
</description>
    </item>
    <item>
      <pubDate>Sat, 5 May 2007 08:33:10 GMT</pubDate>
      <title>5 May 2007</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=413</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=413</guid>
      <description>&lt;b&gt;Curves&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I've been silent for a long time, but am getting ready to do&#xD;
a real release of my curve editing tools.&#xD;
&#xD;
&lt;p&gt; In the meantime, under the philosophy of "release early,&#xD;
release often," there's a very rough release up at the new&#xD;
&lt;a href="http://levien.com/spiro/" &gt;Spiro&lt;/a&gt; page, as well&#xD;
as a darcs repository. Brave souls are encouraged to try it&#xD;
out, and of course patches are welcome (it's all GPL).&#xD;
&#xD;
&lt;p&gt; The timing is, coincidentally, in time for Dave Crossland's&#xD;
talk at &lt;a&#xD;
href="http://www.libregraphicsmeeting.org/"&gt;LGM&lt;/a&gt;. He will&#xD;
be doing a demo, and is encouraging people to integrate the&#xD;
core technology with other projects like Inkscape.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;PhD&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; If I am oddly quiet and rudely unresponsive, it is because I&#xD;
am trying to finish my PhD thesis - I really want to get a&#xD;
draft to my readers by May 21, which is of course very soon.&#xD;
Fortunately, I have a lot of it done. Even so, my goal is to&#xD;
spend most days doing nothing but writing and drawing figures.&#xD;
&#xD;
&lt;p&gt; Thanks for your understanding.&#xD;
</description>
    </item>
    <item>
      <pubDate>Sat, 11 Nov 2006 22:22:00 GMT</pubDate>
      <title>11 Nov 2006</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=412</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=412</guid>
      <description>&lt;b&gt;Lots of stuff&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; Hi all! I've been fairly inwardly focussed for the past few&#xD;
months, but there's a lot of stuff happening now, and I'm&#xD;
feeling more like reaching out to the world. Usually this&#xD;
time of year I start feeling like I want to hibernate, what&#xD;
with the evenings getting dark and the rain beginning, but&#xD;
this time I seem to have even more energy than usual.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;A tough logic puzzle&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; Do you like difficult puzzles? Wanna show off your&#xD;
brilliance to the rest of the world and make a little money&#xD;
to boot? Take a look at Ghostscript &lt;a&#xD;
href="http://bugs.ghostscript.com/show_bug.cgi?id=688990"&gt;bug&#xD;
688990&lt;/a&gt;. I spent more than a week trying to reverse&#xD;
engineer the imagemask interpolation algorithm used by Adobe&#xD;
PostScript, based on the original Mac implementation from&#xD;
twenty or so years ago, but was only able to come up with an&#xD;
approximate answer.&#xD;
&#xD;
&lt;p&gt; Feel free to post comments, questions, or requests for more&#xD;
test images to the bug itself. The "bountiable" keyword&#xD;
means that the solution (hopefully implemented as code) gets&#xD;
a check for, I think, $500.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Fonts&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; My font releases are moving forward. &lt;a&#xD;
href="http://levien.com/type/myfonts/inconsolata.html"&gt;Inconsolata&lt;/a&gt;,&#xD;
in particular, is just about done, and that's now released&#xD;
under the new SIL Open Font License. There are a few other&#xD;
goodies posted on my font pages, for people who haven't seen&#xD;
them in a while.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Geometry&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I met &lt;a href="http://njhurst.com/" &gt;Nathan Hurst&lt;/a&gt; about&#xD;
six years ago when I gave a talk at linux.conf.au. We&#xD;
chatted about Libart, then pretty much went our separate&#xD;
ways since then.&#xD;
&#xD;
&lt;p&gt; Libart, as you'll recall, was the graphics library behind &lt;a&#xD;
href="http://www.levien.com/svg/"&gt;Gill&lt;/a&gt;, which begat &lt;a&#xD;
href="http://www.sodipodi.com/index.php3"&gt;Sodipodi&lt;/a&gt;.&#xD;
Sodipodi, in turn, begat &lt;a&#xD;
href="http://www.inkscape.org/"&gt;Inkscape&lt;/a&gt;, which is&#xD;
starting to draw a lot of attention and users. In any case,&#xD;
Inkscape now uses Cairo for the rendering, but the&#xD;
vector-based geometry operations are still somewhat messy&#xD;
and ad-hoc, so Nathan and others have founded the &lt;a&#xD;
href="http://wiki.inkscape.org/wiki/index.php/Lib2geom"&gt;lib2geom&lt;/a&gt;&#xD;
project to address those needs.&#xD;
&#xD;
&lt;p&gt; As it turns out, I have both interest in and need of these&#xD;
kinds of basic computational geometry primitives for my font&#xD;
work, especially stroke offset, intersection (for making&#xD;
nice clean outlines), and conversion to optimized Beziers. I&#xD;
have various prototypes written in Python and so on, and&#xD;
have sent those to Nathan.&#xD;
&#xD;
&lt;p&gt; With luck, all of this stuff will come together as&#xD;
efficient, robust C++ code, and then my dream of having a&#xD;
good implementation of next-generation font tools will be&#xD;
that much closer. I'm also hopeful that, by joining forces&#xD;
with Nathan and others on the lib2geom project, Inkscape and&#xD;
other vector-based free software projects can benefit.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Spam&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; It looks like the new spam filter here is working&#xD;
swimmingly. I've long felt that the trust metric ideas were&#xD;
sound, but that they needed more time and energy on their&#xD;
implementation than they were getting. Looks like Steve is&#xD;
doing a great job on that, and I hope that the success here&#xD;
inspires other people as well.&#xD;
&#xD;
&lt;p&gt; One project people might want to take a look at is the &lt;a&#xD;
href="http://bitchun.org/"&gt;Bitchun Society&lt;/a&gt;, by Joseph&#xD;
Petviashvili. It basically implements a similar eigenvalue&#xD;
trust metric as the diary rankings here, but as a Jabber&#xD;
bot. I don't really know whether this particular&#xD;
implementation has the mojo to really take off, but the more&#xD;
trust metric toys there are out there to play with and learn&#xD;
from, the better.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Other social connections&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; I've been busy in lots of other ways too. Last night I had&#xD;
dinner with Till Kamppeter and a hundred or so other Ubuntu&#xD;
developers. We're working toward merging ESP Ghostscript&#xD;
into the main Ghostscript repository, something which our&#xD;
move to GPL-only licensing was meant to enable. We have a&#xD;
few details to iron out, but I'm very hopeful about improved&#xD;
user experience people should see as a result.&#xD;
&#xD;
&lt;p&gt; &lt;b&gt;Election&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; Last Tuesday I worked as an election judge (fancy name for&#xD;
pollworker) at a precinct up the hill in Berkeley. I've&#xD;
become pretty cynical about the political process, and&#xD;
participating in this civic ritual at the neighborhood level&#xD;
was a great anodyne to that cynicism.&#xD;
&#xD;
&lt;p&gt; I signed up largely out of concern for the mischief&#xD;
potential of all these fancy new voting machines. As it&#xD;
happened, our Sequoia &lt;a&#xD;
href="http://sequoiavote.com/productguide.php?product=INSIGHT&amp;type=Introduction"&gt;Optech&#xD;
Insight&lt;/a&gt; jammed about three hours into the election, so&#xD;
we were back to putting paper ballots into a ballot-box,&#xD;
essentially stone-age technology. Most people seemed happy&#xD;
with that, and I'm pleased to report that our precinct was&#xD;
able to account for all but one of the 800+ pieces of paper&#xD;
we started with, at the end of our 14-hour day.&#xD;
&#xD;
&lt;p&gt; My faith in democracy is much restored. I can heartily&#xD;
recommend working at the polls to fellow Advogatans. It's a&#xD;
great way to become more involved with your community and&#xD;
your country.&#xD;
</description>
    </item>
    <item>
      <pubDate>Wed, 7 Jun 2006 18:14:37 GMT</pubDate>
      <title>7 Jun 2006</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=411</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=411</guid>
      <description>&lt;b&gt;Ghostscript leading edge is now GPL!&lt;/b&gt;

&lt;p&gt; I have some great news to report. The leading edge of Ghostscript
development is now under GPL license, as is the latest 
release, &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=1897&amp;package_id=108733" &gt;Ghostscript 8.54&lt;/a&gt;.

&lt;p&gt; By switching to the GPL, we're reaffirming our commitment to the free
software world. One big reason for this decision was to reduce the
lead time between bugs being fixed in the development tree and users
seeing the fixes, especially those users dependent on Linux
distributions.

&lt;p&gt; Moving forward, we'd also like to resolve the effective fork with "ESP
Ghostscript," so that our development tree is suitable directly for
use in Linux distributions without a lot of extra patches. It would be
very nice if all the GPL patches could be incorporated into the main
tree without any license restrictions (which means that we need
copyright assignment), but realistically, we'll still have to
implement an apartheid system of some kind, so that a GPL-only
subdirectory exists that gets deleted out of our commercial releases.

&lt;p&gt; As &lt;a href="http://www.advogato.org/person/rillian/" &gt;Raph Giles&lt;/a&gt; has &lt;a
href="http://www.advogato.org/person/rillian/diary.html?start=80"&gt;posted&lt;/a&gt;
recently, we're looking for a person to oversee this integration work,
and to work more closely with the distributions and others in the free
software community. Please let either of us know if you're
interested. This might also be a good time to remind people of our "&lt;a
href="http://www.ghostscript.com/article/32.html"&gt;bug bounty&lt;/a&gt;"
program, which pays a nice little bonus for fixing bugs in our tracker
marked with the "&lt;a href="http://bugs.ghostscript.com/buglist.cgi?keywords_type=allwords&amp;keywords=bountiable&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED" &gt;bountiable&lt;/a&gt;" keyword.

&lt;p&gt; We haven't been getting a lot of development work from the free
community recently, but we continue to get extremely valuable testing,
patching, and other quality assurance. Thanks again to everybody in
the community for this - it's much appreciated, and putting our
leading edge development branch into GPL is one way of saying "thank
you." I'm excited about the potential for working more closely with
people in the free software world.
</description>
    </item>
    <item>
      <pubDate>Wed, 24 May 2006 16:26:45 GMT</pubDate>
      <title>24 May 2006</title>
      <link>http://www.advogato.org/person/raph/diary.html?start=410</link>
      <guid>http://www.advogato.org/person/raph/diary.html?start=410</guid>
      <description>&lt;b&gt;WinHEC&lt;/b&gt;

&lt;p&gt; I'm posting this from our booth at WinHEC in Seattle, having just seen the keynote by Bill Gates. There's lots of cool technology and devices, but overall I got the sense of a totalitarian vision, no more so than in the "&lt;a href="http://www.microsoft.com/whdc/flexgo/default.mspx" &gt;FlexGo&lt;/a&gt;" initiative designed for developing countries, in which people don't buy so much as rent PC's, and rely on a DRM-mode access control system that shuts the computer off if they don't pay.

&lt;p&gt; A lot of the stuff they showed at the keynote has to do with reducing the amount of manual configuration necessary. A lot of Windows Rally seems to be playing catch-up with Bonjour (formerly Rendezvous, and closely related to zeroconf, which is slowly but surely getting implemented in the free space). I think there's a lot of potential in this space, especially for first-principles research digging into the question of how much manual configuration is truly needed, as opposed to piling hack upon hack.

&lt;p&gt; Even though this is a Windows-centric conference, there are some developers who really grok the cross-platform and open source worlds. One app (which has asked not to be named) uses WxWidgets, and they're even considering OCaml. One of the main things holding them back from that would be the wx bindings, which currently only exist in very crude form. That's got me thinking again about choice of languages, and I'll probably be blogging about that. Among other things, I should take another look at wx to see whether it's Good Enough(tm) to build the cross-platform GUI stuff I need, or whether I should keep going with my own very lightweight C abstraction layer (check out the &lt;a href="http://raph.levien.com/garden/x3/" &gt;darcs repo&lt;/a&gt; if you want to play with it).

&lt;p&gt; &lt;b&gt;High DPI&lt;/b&gt;

&lt;p&gt; One of the features promised for Vista is support for high-dpi displays. In the December beta of Vista, I played with setting the dpi to 192, and the results were terrible - in many cases, fonts were scaled doubly, once by being sensitive to the dpi setting, and again by the compatibility-mode scaling. The February beta was a lot better, so it's possible that it will kinda sorta work by the time Vista ships. That said, Samsung is here showing their family of flat panels, and none of their panels push dpi past what was widely available a couple years ago.

&lt;p&gt; Apple has also been making various noises about high-dpi applications, most notably David Hyatt's &lt;a "href=http://webkit.opendarwin.org/blog/?p=55"&gt;blog entry&lt;/a&gt; on high-dpi web sites. There are all kinds of crufty ways of detecting whether the browser is high-dpi, based on CSS3 selectors and so on, but there's no clean simple way to do it.

&lt;p&gt; David obviously can't say much about Apple's future product plans, but you can probably read between the lines when he mentions his Dell laptop with 1900x1200 (145dpi) resolution, not to mention the fact that he's working on this stuff at all. Apple is in a good position to innovate here - it would fit the pattern they set with 802.11, FireWire, combo drives, and more than a few other things.
</description>
    </item>
  </channel>
</rss>
