Long time no diary. It seems my diary is turning into a
mensary. I don't
know if that's a real world, but a log that's updated about
once a month
could probably be called something like that.

Sketch

I've created a new Sketch mailing list at SourceForge
because the old
mailing list which was run by Olof Kylander at Frozenriver
was down. In
fact all frozenriver servers seem to be down. Nobody seems
to know what
happened to Olof and Karin and Frozenriver. I heard some
rumours from a
Gimp developer, but no real information.

Fortunately the transition went quite smoothly. As luck
would have it
I had a quite recent list of subscribers of he old list, so
I didn't
have to start from scratch again.

On the development side, the next stable version will be
released
tomorrow, hopefully. It would be mostly a bugfix release
with only a few
minor new features if it weren't for a slightly improved SVG
export
filter (it handles some gradients now) and especially the
new PDF export
filter. Thanks to ReportLab, I
was able to implement it with just about 300 lines of
application
specific code.

I've also started hacking on a PDF import filter for
Sketch. It
already works to some degree on the PDF files generated by
reportlab,
but its overall desing is still in its early stages and it
will take
some more iterations before I feel I can let it loose on the
public by
checking it into CVS.

Reading

I've been rereading parts of Goethe's <it>Faust</it> in
recent weeks.
I read it for the first time after I had seen the
Gründgens Film in
a cinema in Göttingen in IIRC, 1990 or 1991.

I'm not sure whether it's good or bad that we didn't read
<it>Faust</it> in
school. I mean, I would probably have liked it much more
than
<it>Iphigenie</it>, but OTOH, having to read
something takes
away some of the fun of reading.

Anyway, <it>Faust I</it> is probably the most often
quoted piece of
German literature. Some cool quotes:

Went to the LinuxTag
in Stuttgart
this weekend. This was the first big Linux event I attended
and it was a
lot of fun and I got to meet quite a few people I only new
through the
Internet.

One of them was Bernhard Reiter
from Intevation and FFII who gave a talk about
free GIS
software. I knew him as a Sketch
user and he
thinks Sketch would be a good basis for a free viewer of
geographical
data. Let's see how that'll work out.

I also talked with Simon
Budig about
possible cooperations between Sketch and GIMP. The
reorganizations
planned for GIMP 2.0 may provide a good opportunity to
functionality
that's useful for both projects, such as the color selectors
or gradient
editor, into libraries that both programs can use.

After the official end of the show on Sunday I had a
conversation
with Michael
Meeks and a few
of the other GNOMErs who were still there about Sketch,
libart, the
GNOME canvas, Bonobo and other things. Somehow I feel that
I'll have to
look into bonoboizing Sketch as soon as I find the time.

RMS gave a keynote on Saturday. He didn't say very much
that I hadn't
already read somewhere but it was still very interesting and
entertaining because I hadn't seen him before.

After RMS' talk the show was over for the day and the
stairs back
down to the show floor were blocked by security guys, so I
couldn't get
back in to get to the party that the
other
Bernhard had told me would be going on. Fortunately,
there was a
side entrance that was still open and they didn't have any
controls
there, so I could sneak in even though I wasn't an exhibitor
(is that
the right word here?). The party was fun with free beer,
free
Würstchen (although I was too late for those :-( ) and
live music.

Sketch

I've released a new development version of Sketch on June
24th. It
has one feature that I haven't seen anywhere else before.
You can not
only have multiple views for one document but also multiple
editors. The
difference is that if only create new views they share the
set of
selected objects, if you create new editors they manage
their own
selections. I have no idea yet how useful having multiple
editors really
is and the current implementation has some limitations when
it comes to
editing bezier curves, so I may take this feature out again
before 0.8.

The translation of the French user documentation is
underway now and
I've seen the first translated sections. It looks good so
far.

LinuxFund

LinuxFund.Org (the
Tux credit
card guys, not to be confused with linuxfund.com) started
the
beta-test for developer grants. I registered an account and
a few hours
later was informed that I was one of the first five to do
that. Wow.

I want to apply for grants to help with Sketch's
development, but
when you want to submit a project you have to accept their
"Grant
Submission Agreement" which seems to state that grants are
only
available to U.S. residents. This is perhaps understandable
in the
current stage, but I sure hope that this restriction will be
lifted in
the future. After all, in their FAQ they state that they
want to "be a
multinational foundation with fund raising and development
grant
activity all over the world". I'll have to ask them about
this.

No entry in more than two weeks, so this summarizes what's
happened in
that time.

Kirschblüten Feuerwerk

Friday evening was the annual (?) Kirschblüten
Feuerwerk
(Cherryblossom Fireworks) here in Hamburg. It's sponsored by
a Japanese
trade organization (or something like that) and takes place
above the
Außenalster (Outer Alster), a lake in the heart of the
city.

The fireworks were really beautiful. The only thing that
literally
stood in the way of properly enjoying this were all those
trees and
bushes that line the Alster. The best place to watch this is
probably on
the water.

It was way better than the "Millennium Fireworks" but
that's mainly
because back then the smoke from all the private fireworks
that had been
going on since around 11pm had gathered into a cloud right
above the
Alster and blocked the view.

Hacking

Not as much as I would have liked, but I got some work
done on Sketch to reactivate the
localization code in
the development branch and I started with the fill dialog.

When I started the 0.7.x development series, I wanted to
have a new
set of dialogs that would allow the user to make better use
of Sketch's
style capabilities, but at the moment I think it would be
best to copy
more or less what's available in 0.6.x and add really new
interfaces
later. Completing the port to GTK is more important than a
completely
new style interface and I'm not sure just what that new
interface should
look like.

Friday night I Released yet another stable version,
0.6.7, because of
the file loading bug. The bug is grave enough for this, even
though it's
only a one line fix.

ILOVEYOU

Many articles on this email virus/worm correctly state
that in
principle it would also work on Linux, if the mail clients
would let the
users execute attached scripts too easily. However, then
they go on to
say that at most it could destroy that user's files but
wouldn't harm
the rest of the system.

But the user's data is very likely the most precious data
on that
system! Well, that's the case for me at least and probably
many other
people. Imagine the virus would delete the TeX-files for the
thesis you
have to turn in tomorrow or the source tree for your latest
but yet
unpublished program! This kind of data is hard and maybe
impossible to
recreate unless you have recent backups (which everybody
hopefully has)
while restoring the operating system from CDs/Internet only
takes a few
hours.

What can protect open source system from mail and macro
viruses is
that open source programmers probably won't make insecure
settings the
default and put suitable warning messages into the program.

Microsoft defends itself saying that the customers want
programmable
applications. Scriptable applications are all well and good,
I'm using
the perhaps most flexible and scriptable mail program
existing for Unix
myself, but that's no excuse for making the default
configuration so
insecure. I'm sure gnus will never automatically execute an
elisp script
just because it's attached to a mail and I happen to select
it, unless I
explicitly configure it that way, in which case I get what I
deserve.

I haven't seen the virus myself, but from what I read,
the name of
the VBS file ended in .txt.vbs. This is a clever trick,
because
apparently many mail programs on Windows don't display the
file
extensions so that the file name the users saw looked just
like a normal
txt file. These are usually opened in Notepad, so double
clicking on it
doesn't seem to be a security risk. Hiding information from
the user can
be a dangerous thing.

Anyone got a spare brown paper
bag?
They're not very common here in Germany...

Sketch 0.6.6 contains an awful
bug. It
can't load any vector graphics files because the plugins
aren't
initialized properly. Unfortunately this was hidden on my
development
account because my startup script did some things that hid
this bug and
even my test account had this.

I thought the pre-releases would help find this kind of
bug before a
release, but even though this bug was present in both 0.6.6
pre-releases
nobody reported anything about this.

On a lighter note, I read the archives
of the gnome-icon-list
this evening. I had heard about this list from Fred
yesterday, who said
that in early April he had announced the clip-arts he and
the co-authors
of the Sketch documentation had drawn (in Sketch, of
course). The
clip-arts were very well-received ("Dudes, these ROCK. I
love them",
tigert), as was to be expected.

Since the standard format for vector graphics in GNOME
will probably
be SVG -- Raph is working on an
SVG-renderer
for Nautilus after all -- I'll have to improve the SVG
filters sometime
soon, unless somebody else steps forward.

Spent a few more hours on AutoTrace. Martin had fixed
most memory
leaks, but there were still a few more present. Now there
are only 6
left. At least this number is independent of the input
image, which
probably means that they're somewhere outside the actual
tracing or
curve fitting code and hopefully easier to find.

I also discovered that the number of mallocs I mentioned
yesterday
wasn't correct. Some mallocs were counted twice. The real
number of
mallocs for that image is 1 127 388. I've now
replaced the
hacked malloc/free/realloc counting code that only counted
calls through
the macros autotrace uses in most places with a cleaner
implementation
that uses the hooks provided by glibc. That way I really get
all calls
and it requires far fewer changes in the sources.

Still, the code is decidedly ugly. In this particular
case, open
source doesn't mean better code quality. These memory leaks
probably
weren't a problem in limn which was 'only' a command line
tool that was
executed over and over again. But some people want to use
AutoTrace as a
library someday, so they have to be eliminated.

AutoTrace is in what you might call the 'bugly duckling'
phase of
development. It's buggy and maybe a bit cumbersome to use
and somewhat
limited in what it already can do, but it has the potential
to someday
turn into a beautiful swan. Of course even with a swan
gliding
majestically through the water you normally don't see the
hectic
paddling underneath...

Anecdote

This evening some guy started singing a capella (does one
say that in
English?) in the street right in front of my window. Another
guy was
filming him with a video camera. His intended audience were
apparantly
some peope in a flat above mine.

Among others he sang Tom Jones' "Sex Bomb", Sinatra's
"My Way" and
Presley's "In the Ghetto", some of them slightly modified.
He was quite
a good singer good even.

After a few last minute bug fixes and changes, I put the
last
finishing touches on Sketch 0.6.6
today and
released it. I had some problems with the web-page update
because
SourceForge wouldn't let me log in. A few hours later it
worked again,
though.

A couple of days ago, Martin Weber contacted me about
adding color
support to the output filters for the next release of AutoTrace,
so
modified the svg, sk and eps/ai filters accordingly. It took
just a few
lines.

He also asked me to look for memory leaks and as it turns
out the
situation is awful. On one particular image, autotrace makes
1 452 546 mallocs, but only 290 458 frees.
Most of the
leaks are hard to find because of inconsistent use of
malloced vs.
automatic variables and strange data-structures, e.g.
there's an array
of structs that also seems to be a linked list.

This isn't Martin's fault, however, because these leaks
are already
present in limn, a part of the GNU fontutils on which
autotrace is
based. I gave him the advice to reimplement the algorithm
from scratch.
That seems to be the sanest solution.

There seem to be a few Terry Pratchett fans on advogato.
I haven't
got the time to read all the diaries here, but at least mjs, stephane and
dria have referred to him or his
books.

For those who don't know him yet, PTerry (as he's usually
called on
alt.fan.pratchett or alt.books.pratchett because of
Pyramids) is
mostly known for his Discworld books, a series of at
the moment
24 volumes of comic fantasy. The first few were just fantasy
parodies,
the newer have grown into their own special brand of comic
fantasy.

I'm not much of a Fantasy fan in general, although I read
and liked
Tolkien, but the Discworld isn't really Fantasy somehow. It
has lots of
popular science and technology terms strewn in like
"trouserlegs of
time", "quantum" and the rubbersheet model of gravity. Then
there's Hex,
a computer built with among other things an ant-farm
(complete with
"Anthill inside" sticker) in the High-Energy-Magic building
in Unseen
University. One sentence I particularly liked in Witches
Abroad
is "The witches flew along a maze of twisty little canyons,
all
alike"...

Photogenics

Another beta of a commercial graphics program was
released on
Monday, this time it was Photogenics, a
pixel oriented
painting program. I downloaded and tried this one as well.

The archive was amazingly small (ca. 360K) but that seems
to be
mostly because it's a very limited demo/beta version. It
only has very
few import filters, only one export filter (jpg), and many
of the
painting modes are not available.

The UI seems to some bugs (e.g. popups pop up in the
wrong position
and you can't use them correctly) but the program appears to
be very
stable and fast.

So far, I haven't seen anything that you couldn't do with
Gimp,
although drawing new images seems to be easier in
Photogenics, but I'm
not much of an artist, so that's not all that important to
me.

There are two things that I find interesting in
Photogenics. One is
the way drawing is handled. Drawing effectively selects
pixels and
applies an affect to the selection. The two stages are
actually
completely separate. You can change the effect thats applied
even after
you've finished drawing. That's pretty neat and I think GIMP
should have
something similar.

The other interesting thing is how undoing drawing works.
Photogenics
doesn't just save the pixels that were affected, it
remembers the actual
strokes you did with what tool and settings. This has the
big advantage
that it takes less memory but it also means that undoing a
stroke can
take very long because all previous strokes have to be
repeated.

It'll be interesting to see how Photogenics can compete
against GIMP
and PhotoPaint which Corel wants to make available for free
download.

Diaries

schoen, your diary entries
are
beautiful[1] and I for one like to read them. They tend to
be quite
long, but I don't mind. Nobody's got to read them if they
don't find the
time. And even on the recent diaries page, its easy to skim
over it.

On licenses and requirements to comply with applicable
laws: isn't
that requirement always implicitly present? I mean,
copyright and
contracts are regulated by law and laws can state that
certain clauses
in contracts or license agreements are not applicable even
when they are
written into the contract/license.

Of course, there might be differences in this regard in
different
parts of the world. But that's a more general topic. It's
not
immediately clear that a license that was written with US
law in mind
also works as intended with, say European law. Anybody
interested in how
compatible the GNU General Public License in praticular is
to German and
European law should have a look at the current issue of c't
or at IfROSS (Institut für
Rechtsfragen
in der Open Source Software)

Feetnotes:

[1]Well, OK, I probably have to explain this pun[2]. The
German word
for beautiful is "schön" and if no "ö" (o umlaut)
is available
it can be replaced with "oe".

[2]That's something PTerry's German translator likes to
do sometimes
even when it's not necessary. In Reaper Man, for
instance,
there's the following exchange between Windle Poons (a
recently deceased
Wizard who can't pass into after life because Death has been
retired...)
and the Librarian (who was turned into an orang-utan by a
magical
accident):

'Olé'
'Oook?'
'No, Not "with milk".'

In the german translation theres a second sentence in the
last line:
'You mean "au lait"' (In the German version it's in German,
of course
:-)). Aaaarrrgggghhh. I'm glad I read it only after the
English original
and that it was the only Pratchett translation I read. I was
just
curious how good the translation was. The other volumes
don't seem to be
much different.

Downloaded the beta of Deneba's
Canvas and played around with it a bit. Like Corel's
ports of their
windows applications, Canvas uses WINE, but the executable
itself is a
native Linux ELF executable, WINE is only used as a library.

First impression: It's awfully bloated and slow and uses
100% CPU
constantly. It's certainly slower than Sketch, at least it
feels like
that. Well, it's a beta version, so maybe the final version
will be
better in this regard. On the plus side, it didn't crash so
far...

Second impression: The user interface is a bit of a
mixture between
that of Adobe Illustrator and Corel Draw. It has tons of
features of
which I've only tried a few so far, but it seems to be
strangely lacking
in some areas. It has import filters for a variety of raster
image file
formats but absolutely no vector import filters (apart from
its own file
format).

After Mediascape's Artstream,
this is
the second commercial vector drawing program that's
available (at least
in beta) for Linux and Corel Draw will follow in the summer.
Makes me
wonder when Illustrator will follow.

What does this mean for open source drawing programs like
sodipodi,
KIllustrator, GYVE or Sketch? I have no idea, but it depends
on what the
users will do. Will they even look at open source
alternatives or will
they just use what they already know from Windows or Mac?
Here, "users"
mainly refers to Linux newbies who come to Linux because its
an
alternative to Windows, e.g. because it's more stable and
cheaper but
not because they prefer open source software on principle.
Can these
users be convinced that open source is better even for end
user
applications, not just for the infrastructure (e.g. OS,
servers and the
like).

Not that the above mentioned programs don't have users or
aren't
successful (Hmm, I haven't heard much about Gyve lately),
but I do
wonder how the availability of commercial applications,
especially those
that can be downloaded for free, will affect the open source
end user
programs.

Of course, much of the above applies to all end user
software. In the
particular case of graphics applications, there are some
prejudices to
overcome and technical problems to solve before the open
source
solutions are even acceptable for professional artists.

Many professional artists seem to think that only
Illustrator and
Photoshop and perhaps Freehand are tools for real computer
artists.
Corel's programs, for instance, are only toys. Is there a
chance that
they might be persuaded to use open source tools?

At the moment, no open source graphics program really
fits their
needs, not even GIMP. The most important missing feature
usually being
support for pre-press stuff like separations/CMYK/process
colors.
Supporting commercial color models like Pantone may even
turn out to be
impossible or at least difficult in GPL programs, but I
haven't even
looked into that yet.

Enough of this rambling. There is more that I could write
about this
and I have the feeling that there's an article in here, if I
only could
frame my thoughts more coherently. Well, if I find the time,
I might try
my hand at an article.

Everybody seems to be commenting about the advogato
diaries, so now
might be a good time to share my thoughts about them.

What makes the diaries here on advogato so interesting is
that so
many people keep their diaries in one place. Before
advogato, there were
already some hacker diaries, the best known ones are
probably Alan's and Miguel's,
but they were kept separately. Here, people read each
other's entries
and comment on them in their own entries.

Suggestions

I think it would be nice if it were possible to directly
refer to one
specific diary entry of another person, so that it I wanted
to point out
that Ankh's diary entry was
really ugly, I could
refer to that so that it's clear which one I'm referring to
(At the
moment it's very clear which the ugly one is, I think).

This one would be relatively simple to implement, I
guess. If the
entries are numbered, you could just use a url like
"/person/name/diary/123".

Furthermore, it would be cool if such references were
also visible
the other way round. That is, if I were to put a comment
about one of raph's entries into one of mine,
there would be a link
under raphs entry pointing back to mine. This would be a
good way to
find out what other people think about an entry, and whether
anybody
comments on your own one.

For a start, it would perhaps be enough to scan diary
entries for
links to other entries when an entry is added or modified
and use that
information to generate the links under the referenced
entries.