Fading Memories

About

Ramblings about books and other things that will soon fade from my memory.

Boudewijn Rempt

index | rss1.0

There's more...

Creative Commons License
The original artwork is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.

Categories, too

Find


Archives

Other things here at rempt.xs4all.nl

2007-12-29

Holidays

Inge Wallin is visiting us with his kids for New Year's Eve. And while we also make trips like taking a ride on a real steam train, we manage to do some hacking on the side. In fact, Inge declares he's being really productive right now:


2007-12-27

A sketch for the season

First, the sketch I made for this year's seasonal greetings. It's actually our house and our church: the church is downstairs, we live upstairs. I tried to keep to the style of the Dutch painter Anton Pieck. Our part of town looks, especially if there is a little snow, just like his calendar illustrations anyway.

Read more ...


2007-12-23

I don't sketch enough

For the past few years, since I started hacking on Krita in 2003, I have spent nearly all my spare time on Krita and KOffice. In the beginning, I did remember to spare a little time for actually drawing and painting, but quite soon I stopped doing event that. And whenever I picked up my pen, pencil or brush I noticed that what little skill I may have had had detoriated quite a lot.

Read more ...


2007-12-15

Algebra

Everyone who knows me even slightly, knows that I am not a mathematical genius. I'm very glad that people like Casper Boemann, Cyrille Berger and Emanuele Tamponi or Michael Thaler handle that part of Krita. But it becomes a problem when your eldest daughter has a problem with her maths homework, and you cannot help her.

I've tried reading up on mathematics, and Mathematics for Computer Graphics is exactly the right level for me. But ever since Simon Stevin invented a purely Dutch vocabulary for mathematics in 17th century, it's been very hard to read about maths in English and then explain in Dutch. Especially since the text book Naomi's school uses refuses to talk mathematics, instead offering unexplained shortcuts and "steps to follow".

Enter KAlgebra

With this application we can explore the formulas in her book and discover how they work through experimentation. And for any given solution, we can then work backwards and discover the right steps ourselves. It's a very nice, polished application. Sure, there are things that could be improved: a floating palette with things like unicode power symbols would be easy, a mode that adds brackets to show the order of evaluation of a formula or a way to generate the steps necessary to solve an formula would make it even more educational. And the crosshairs could have a snap-to-grid mode.

Of course, there's also KMplot. That has the palette with symbols, It turned out to be just a tiny little bit more difficult to get started, The big problem here being that I couldn't choose the plot I needed among the various kinds of plots provided: cartesian, parametric, polar, implicit, explicit. Handling the graph is not as easy as with kalgebra, either.


The End is Nigh!

For application developers, the biggest problem in the past two years has been that we could not develop against released KDE packages. We had to keep up with the joneses: keep checked out qt-copy, kdelibs, kdesupport, kdepimlibs and kdebase, keep them compiled, just to be able to get to a point where we could work on KOffice.

It's unavoidable, of course, and not a big problem for me personally. This dual core X61 61 bits OpenSUSE tablet can compile kdelibs before breakfast (if I start the compile before going to bed). By the way -- with the current kernel, OpenSUSE is incredibly stable. Suspend and resume is as reliable as with my old Pismo Powerbook under OS X -- and faster.

But it makes it really hard to attract new developers, people who'd like to report a bug and are prepared to compile koffice svn just to check whether it's already been fixed. Those are the people who tend to stay around and even help out with development after a while. Asking them to also compile all of kde is often just a bridge too far.

But yesterday night I managed to clean out my installation of all previous attempts, install the OpenSUSE KDE4 rc2 packages and succesfully compile KOffice against them. Yay! We're getting really close to the end of the road, and I'll try to keep developing against released packages only from now on.

It also marks my switch to KDE4 as my default environment. Things work quite well. Oxygen is drop-dead gorgeous, especially after making the window color #CFCFCF. I love all the subtle details. I wish I could have the scrollbars always in the gorgeous green color, instead of only when I hover over them. KWin's effects work great on OpenSUSE. Kickoff has completely won me over: I've added a couple of favourites, and that made all the difference. Dolphin rocks -- I hadn't expected that, I must admit.

Sure, there are irritants: the fish kio slave doesn't seem to work. I get a login prompt, but no directory listing. The panel is a little high, especially on my 1024x768 screen. I cannot get the pager to show up to the right of the K-menu button. Migrating my feed list from akregator3 to akregator4 baffles me. KWrite doesn't word-wrap, but glyph-wrap. There are still lots of glitches and bugs -- but life is very much worth living, and I salivate at the thought of what goodness will be built on top of these foundations.


2007-11-21

OpenSUSE 10.3 weirdness

And then, all of a sudden, my OpenSUSE installation is acting weirdly. If I try to start krita through the minicli, nothing happens. If I start krita with an url through the minicli, everything is fine and krita starts and loads the image in the url. If I start yast2 through the minicli, the main window pops up -- but when I click on one of the modules, nothing happens. If I go to a shell, or even to a text console, and I start yast2 from the command line -- nothing happens at all. And finally, if I click on single click installation link for KDE4 on the OpenSUSE wiki, nothing happens either.

I'm baffled, baffled as a bathroom geyser.

Update

Apparently, somehow -- and it looks like a kernel bug --, my /tmp directory was full with YaST temporary directories. This morning's kernel upgrade should have fixed that. Yast runs again -- and I can install KDE4 rc1 and see whether KOffice compiles against it.


2007-11-19

Art Pen

So today the Wacom Art Pen arrived -- thanks are due to Cornelius Schumacher, Thorsten Zachmann and Eva Brucherseifer and Axel Jäger who busied themselves with paying, ordering, checking, sending on after a misdelivery! The art pen has a very nice feel on the tablet, a kind of resistance that makes drawing a lot of fun. And there appears to be not a single X11 application that makes use of its rotation feature.

To celebrate the new tablet I have started working again on my Chinese brush simulation. I'm working on the research done by Clara Chan. The Krita version works -- somewhat. The lines the brush bristles draw are not anti-aliased. There is some support for tilt, but not for rotation yet -- which would be quite interesting since rotation of the brush is one the ways to get the right effects when painting in the xiao pin style.

Apart from the cool things we can now develop for the tilt and rotation features there is another thing: the koffice input device architecture goes way beyond what other applications do. In an application like Photoshop or Corel Painter there is only one active tool, no matter which input device you pick up. If you paint freehand with your art pen, and then grab the mouse, click the pan tool, then pick up your art pen again, your art pen pans.

Already with Krita 1.6, you can select the pan tool with your mouse and a paint tool with your stylus. To me, this feels like a very natural style of working. If I paint with real oils, I tend to hold the active brush in my left hand, and in my right hand the palette and a quiver of other brushes of different sizes and with dabs of different colors. If I work with pencil or charcoal, I have a stick of charcoal in one hand and an old cloth in my other hand to soften the lines.

With KOffice 2.0, every input device, even every pen you've got for your wacom has its own tool. So, if you've got an airbrush, a stylus and a mouse, your airbrush can be associated with the freehand tool and the airbrush paintop, your stylus with the freehand tool and the chinese brush paintop and your mouse with the pan tool. And if you've got three styluses, each one can be associated with a certain tool or paintop. Without needing to configure stuff, of course, you can just select tool and paintop by clicking on them. We have already implemented this, but testing with different wacom input devices was a bit hard.

What doesn't work because of an unfortunate but fixable design oversight is having different active colors for different input devices: that would be the ultimate (although expensive) analogy to working with real brushes! (We'll also have to persist the state between sessions, too)


2007-11-08

Live Filter Previews

Gone are the dialog-bound preview widgets of yesteryear! Yesterday I managed to have a live filter preview in Krita for the first time:

As you can see, it's not perfect. There are some artefacts that suggest that I have an off-by-something error somewhere...

The idea is to have user-definable, draggable area that's filtered by the filter and settings currently selected in the non-modal dialog box you see top-right, automatically updated some time after you made your last change to the settings. Then, when you're satisfied you can selected to either create a live filter mask (which can have any shape, of course), or destructively filter the current layer, which takes into account the selection (of course).

The draggable and resizable part will probably only be done for 2.1; right now I'm already quite deliriously happy that we've gotten this far.

It's been a long slog getting this far: I had hoped to be done in May, but real life (like buying and renovating an old house and getting a new job) interfered. Not to mention bugs, design errors resulting in two redesigns and the occasional priority shift because we needed to refactor selections, redisplay code, the filter api and other stuff just to get here.

But what we've achieved now is pretty cool, even with all the bugs:

We've got a layer stack that can contain paint layers (with a fixed, i.e., dried, and a changeable, i.e, wet, part), group layers, adjustment layers (that act as a filter foil on top of a stack of layers), copy layers (that copy the result of another layer to a new place in the layer tree) or Flake object layers.

All these layers can contain a stack of masks: selections (containing both vector shapes and per-pixel selectedness) that you can paint on and that can control transparency, apply transformations (like rotation or moving), apply any filter or simply indentify selectedness of pixels for a particular layer.


2007-11-05

OpenSUSE 10.3

On Friday I noticed a problem with my Kubuntu installation on my Thinkpad X61 Tablet. Now only would the wireless driver regular drop dead (and then iwconfig would aver that no network device had any wireless extensions), it would also try to take 100% CPU, leaving little for my compilation processes.

On Saturday, I received the latest issue of Linux Magazine which came with an OpenSUSE 10.3 dvd. Taking this as a omen, I decided to install it on my laptop, together with a fresh Kubuntu partition and a Project Indiana OpenSolaris partition.

I've been using SuSE since version 5.0, and I'm still running 10.2 on my server. I couldn't keep my server up without Yast, which I find great for system administration. But it's been a few years since I last used SuSE, SUSE or suse on my desktop.

Some things are good, nay great: the 64 bit version is very fast. Yast is still great for system administration. Plugging in my laser printer or my digital camera pops up a helpful printer installation dialog or digikam. Not so with Kubuntu. The fonts somehow are much nicer, much smoother, especially after disabling manually all hinting. And the Intel graphics driver does work with Krita 2.0, which didn't work with Kubuntu. Wireless networking doesn't drop dead anymore.

On the bad side, and this is very bad, my expensive tablet screen doesn't work. And I cannot figure out how to fix that. The XEmacs packages with OpenSUSE is a beta and crashes on the kde-emacs scripts. No suspend-to-ram on lid close that I can figure out. And, really, the package management system is awful. Dependency resolution simply does not work out nine times out of ten. It's still incredibly slow, although much faster than 10.2. Whether I use apt4rpm, zypper or yast doesn't matter: just remove a single package can take minutes. I'm not an expert, so there may be something great about rpm that I don't see? I just want deb, dpkg and apt-get and be productive. None of the myriad non-deb package systems are worth it.

Still, it works, it's fast and I can develop again. After I've compiled XEmacs from scratch.


A pattern is emerging

And so are the three stooges. I have been wondering what Microsoft would try after having failed buying a fast-track standardization of OfficeOpen XML (and I've been wondering why nobody has sued Microsoft for break of trademark for that name). It's getting clearer: in the past few days all over the it-related web stories have started sprouting that spread the meme that ODF supporters are leaving the sinking ship, that ODF isn't a good enough standard for all document needs now and in the future and that since we'll need to interoperate with OOXML anyway, why not have it standardized. All backed up by statements from siome ODF Foundation spokesperson. But while ODF Foundation has a very grand sounding name, it's just two or three crackpots who failed to make money out of ODF and are now trying to make money out of something else.

But even though I'm not a conspiracy nut, I do think I'm detecting a pattern here. If you cannot convince people your standard is good enough, try to convince them other standard sucks, too.

And for anyone wondering what exactly is wrong with OOXML (apart from the problem that even Microsoft doesn't implement it in its own office applications), please look at the Eooxml Objections Clearinghouse.


2007-10-30

cellwriter

One thing, about the only thin Vista did better than Kubuntu was handwriting recognition. Not anymore - we've got Cellwriter now! It works just as well on my tablet as the Vista applet. Even so, if you can type, typing is much less of a hassle, trust me on this! Part of the problem is the lack of in place editing. But cellwriter definitely should be part of Kubuntu and it should be on by default in kdm when a wacom pad detected.


2007-10-18

And then...

The power supply of my ten year old hub started smoking. My 3com wireless router was already flaky -- it tended to go meekly out of the way when more modern, more powerful wireless routers came onto the air.

So, now I'm the proud owner of a Sitecom 54g turbo storage Linux-based wireless router, nas usb server thingy. Comes complete with written offer for the GPL'ed bits. It took ten minutes and a restart of the router (after changing the essid) to be up and running again. It seems hardware has improved since 1995 :-)

Oh, and it says it's a print server, too, for printers connected to a usb port. I wonder how I can get that to work...


2007-10-12

Do I Weep...

Or cry? Is this great and completely comparable to the way Dutch studios produced mass-market paintings in our Golden Age, or is this so sad that it makes me throw away my brushes, paints art books and krita's code and retire to a remote monastery on mount Athos, away from all bandwidth?

"We have 5 creating artists." Indeed...


2007-10-06

Finally obsolete

My book on Python and Qt programming -- which has always been plagued by availability problems and a publisher who managed to fail to get it into Amazon -- is finally obsolete: Mark Summerfield's Rapid GUI Programming with Python and Qt has just been published by Prentice Hall. I haven't read it, but I'm quite confident that it'll be an excellent book.


2007-10-04

Not a Link Tout

I try not to be a link tout, but I think that Kyle Wilson's essay is well worth reading -- even if it shouldn't contain anything new to anyone who has ever coded any serious software. Because, yes, software is hard.

(Software is also fun, but trust me: the fun stops when you discover that you've got a rounding bug because someone five years ago inserted a small bit of asm in a pascal-based C++ application to avoid a certain bug. That just sucks. It's been ages since I've had to fight with that kind of nonsense. Dear $DEITY: Qt just makes so much sense.)


2007-09-27

Libre Graphics Meeting 2008

The next Libre Graphics Meeting will be in Wroclaw, in Poland. They've just put their website live: http://www.libregraphicsmeeting.org/2008/. This year's LGM really was my favourite event. So much fun, so productive, exhilarating -- totally essential!

I really hope that from our community not only Krita will be present, but also Karbon and Digikam. And anyone else working on cool graphics applications! And I have to make sure that Krita 2.1 is really done and polished by that time, too.


2007-09-22

Lena

For as long as I can remember, articles on scaling images have been accompanied by proofs of prowess by scaled versions of one particular image of a particular lady, apparently called "Lena", either in black & white or in color. A quick google will bring you hundreds of projects that have one or another version in their repositories. Who started using this image? Where did it come from?

At least it's a fairly tasteful image, not like some of the images the first KImageShop developers used to showcase KImageShop. But to keep in with the wider tradition, I've started to use lena to unittest our prescaled canvas projection code. Which code is giving me considerable trouble...


2007-09-18

Windows...

My new job means using Windows, and that means a laptop with Windows on it. And since I didn't have a linux development machine anymore until yesterday, I tried to compile KOffice on Windows. I managed to compile it all right; running didn't work.

But that's no problem, because Jaroslaw Staniek had me beaten to getting KWord running (albeit without most plugins) and Adrian Page has made Krita run under Windows. In his own words:

Krita's been running on windows for a couple of weeks now, but I never got round to reporting the progress.

So now Krita is truly cross-platform: it runs on X11, OS X and Windows. I hope to get my Linux development system up and running today so I can start fixing the layer/node structure tomorrow & the qpainter redisplay code. To to start making progress again!


2007-09-17

Finally...

This morning, General Logistics Systems finally delivered my new laptop. Or rather, almost didn't deliver it. A bit of street in front of the house was broken up and the driver obviously didn't want to walk the thirty or so meters with a smallish package. So he'd written up the Addressee Not At Home slip and slipped it into our letterbox. Well, we were just as obviously at home so I contacted GLS through their mailform, asking them to phone the driver to go back and deliver the package.

Well -- you can probably imagine my surprise when that actually was what happened: the driver came back, delivered the package all the while loudly expostulating that really, he had rung the bell, obviously we hadn't heard it ring. Yeah, right... The idiomatic Dutch word is smoesjes.

The X61 tablet laptop is pretty spiffy: kubuntu gutsy installed like a dream, after upgrading to todays version sound and wireless worked. Two things aren't working yet: the wired lan connection and resume-after-suspend. The former just doesn't do anything. That's a bit of a problem since my home dir is about 25Gb and it takes a long time to restore over the air. The other issue is weird: the laptop does resume, but I have to go back to an ascii console to get the screen back. I'll investigate some more.

The Gutsy installer is pretty confusing in one area, by the way. I wanted to resize the vista partition (didn't want to delete it -- I want to see how vista does the handwriting recognition, and I want to try Corel Painter), but somehow I confused the old and the new partition and managed to give Vista 80GB instead of Linux. Which meant that my home dir didn't fit, which in turns means reinstallation time...

But twisting the lid and sketching with Krita is really a truly marvellous experience. I'll see about getting rid of the cursor and the fringe benefits (dockers, toolbox) and adding a few shortcuts for stylus-only mode.


2007-09-16

Good point!

Good points, especially relevant after reading any review of the Wacom cintiq tablet + lcd monitor in one. Of course... I hope that my tablet laptop that should arrive tomorrow (though it should have arrived Friday) will give me the same thing only in back-pack format.

(Btw, illustration art is well worth a palce in anyones akregator.)


2007-09-10

KPresenter moves

Thorsten Zachmann is the only hacker I know who became more active on becoming a father... KPresenter in KOffice 2.0 is still very far from a Keynote killer, but one thing is working now: animations. Large chunks of the functionality necessary for a presentation application are now generic in KOffice, of course: images, text, shapes. Animation is not quite smooth yet, but we'll get there! (One thing that KOffice is still missing is a "movie" shape. The problem here is that Phonon renders to a widget -- but "making phonon render movies onto a QGraphicsViewItem is on the Phonon todo, and that's more or less exactly what we need, too.)

I'll just let Thorsten explain what's going on:

I spend my last few weeks to bring back animations to kpresenter trunk. The way it was done in kpresenter 1.x was not really nice and as we use flake for all shapes now it had to be done from scratch.
At first I wrote a small test application in Qt4 so that I could find out how to do all the stuff that I wanted to do. David helped me to solve the problem that my X-Server was going to 100% CPU load when doing page effects. The problem looks like the ati driver is really slow on painting pixmaps the size of the screen. The problem is worked around by calling KApplication::kApplication()->syncX(); to make sure to content is really painted before continuing with the program. This problem did not appear with a nvidia card.
I then started to work out the framework for all the effects (page effects/shape animations) in kpresenter. First I finished the page effects. Then I went on to the shape animations. It took some time to figure out what is the best way to integrate it into flake the common base for all koffice applications so that the other applications still work as expected. The way to go was to use a different strategy during the painting of the shapes for animations.
On Sunday I finally managed to put all pieces together and fix some of the bug I had put in :-). So now the base work is done. I also put in a action to create a move appear animation for the selected shapes.
After the base work is now there I will go on to implement all the possible navigations when the animation is running as now only forward(space) works.

And here's a movie, courtesy of Jan Hambrechts:


2007-09-07

Eeek!

Today I got mail from Misco: the laptop that I ordered, and which whas in stock when I ordered it, according to their website, actually won't be delivered for at least two and a half weeks. Zut. What now? I got a work laptop, but that's Windows and besides, it's locked down enough that I cannot connect to my home network or run a life cd. Besides, I'm not supposed to use that for private stuff. I'm pretty well stuck, I guess.


2007-09-06

QGraphicsView to the rescue?

Nobody will be surprised to learn that I am rather inordinately fond of Qt. Two things happened today to reinforce that prejudice: I had my first encounter with Borland VCL code for a decade, and I demonstrated the 40.000 chips demo to my new colleagues.

Borland VCL is truly a time machine. A return to the nineties. I have no doubt that it offers many possibilities and that it is quite easy to whip up an acceptable gui. But if Trolltech gets flak for adding SIGNAL and SLOT -- how much more flak does Borland deserve for __fast_call and related things?

One requirement OmniTrans has for a more modern development toolkit is that we need to have many tens, maybe even hundreds of thousands, of graphical elements in a single model, including text, vector and raster, and we need to be able to print such a model to an A0 plotter without killing the beast. The Forty-thousand chips model shows that QGraphicsView can perform quite well with a lot of elements (although rotating is a tiny bit slow with all the elements visible at the same time...). Now I only have to hack the demo print routine to print all the elements to A0, scaled so they fit perfectly, at maximum printer resolution. But I trust in Qt! (The elements, btw, should be animated while on screen, anti-aliased, composited with an alpha channel and perfectly aligned.)

And in other news -- I'm installing KDE 4 beta2 on Rebecca's old laptop, a Gateway Solo with 280 mb of memory and a 500 Mhz celeron. This is going to be the first KDE 4-only machine in our house!


2007-09-05

Oh dear...

The usb harddisk for backups has arrived. The usb dvd player has arrived. The extra memory has arrived. But my new laptop (a hopefully-spiffy X61 tablet thinkpad), which was in stock with Misco when I ordered it there, is still not even en route -- what's more, the moment I ordered it, the "in stock" note changed into "wait 3 to 10 days for new stock".

Without a new laptop I cannot do any work on KOffice or Krita: the webserver is way too underpowered to even try developing helloworld.c on, let alone a million loc software suite. My Pismo powerbook now makes the most disquieting noise when it's plugged in -- Naomi stumbled over the powerlead and made it crash. I'm struggling to make a backup now, on the aforementioned usb harddisk.

Another thing: I won't be available on IRC much from 8:45 AM to 7:15 PM CET for the foreseeable future. If you need to know something about Krita, don't try IRC, try mailing me personally, or the KImageShop mailing list.


2007-08-31

Experts wanted

One thing that Ralph Fiergolla made very clear today in Nijmegen is that the European Commission really would like more experts from the free software community to evaluate research proposals. You don't need a Phd (I haven't got one either), but you do need a certain amount of technical knowledge, a certain amount of experience so you know what things are likely to work and what things aren't -- but if you've been coding for a half a decade or more and have been participating in free software communities for about as long, you might very well be the kind of person the European Commission needs for its evaluation process.

From my own experience I can say that it's a fun thing to do, not extremely well remunerated, but you get to meet really interesting people. The evaluation process itself is really thorough and well-designed, and it's a good thing to have experienced. Sure, there are inconveniences, like having to read about 600 pages of dry prose and doing your real best to really understand the issues and the subject. But what's a little inconvenience in a righteous cause? And you have to read up on the relevant EU documents, too, which is a bit of work. Perhaps track the rss feed too.

But if you think you have the right stuff in you, why not go to Cordis website, and check it out, and maybe even register as an expert? The KDE community really is full of excellence -- let's make sure that the wider world benefits from that, too.


Meeting in Nijmegen

Today was my last day at Tryllian, and since my boss had given me the day off I was free to go to Nijmegen, where we had the inaugural meeting of the KDE Research Working Group. As a special guest we had Ralph Fiergolla from the European Commission's FP7 directorate. Sebastian and Adriaan hosted the meeting in the SQO-OSS project room

The meeting was quite productive: we decided on an action plan, came up with a couple of likely proposals, had an enlightening presentation by Ralph about the way the EC funding process works, and afterwards a good discussion on how a loosely-knit community of volunteers like KDE could fit into that. The EC is actively looking for project partners outside the group of "usual suspects", and well, that's where we want to fit in.

Oh -- and Adriaan is dead wrong. There is a place in the Netherlands where you can have truly excellent food for a decent price. In Nijmegen, no less. Indian restaurant Gandhi, Hertogstraat 23. I have never had Indian food that was that good. We had a couple of dishes I hadn't seen before, like lamb pasanda (sweet, with almonds). The spices were exactly right. The texture of the eggplant in the baigan bhajee was amazing: soft with a little bite but nothing of the chalk-on-blackboard squeaking that eggplant often has, while not being overcooked. Completely amazing!


2007-08-30

One down, two to go

I fixed sound and wifi on one of the Lenovo 3000 C200 laptops I bought for Menna and Rebecca's birthday. It was a bit fiddly, at one point the sound system made a noise like an angry modem. But everything is fine now, except that the speakers aren't muted if you plug in earphones. Youtube works, planet penguin racer works -- what else can a 12 year old wish for? Krita is installing now.

This is the essential link:

(The Ubuntu wiki is quite difficult to navigate: there's so much stuff that the authoritative pages often don't show up in the first few pages of Google hits.)

I'm pleasantly surprised by the performance of these laptops: they crawl under Vista, but run really smoothly with Kubuntu Feisty and even compilation isn't painful. Next the other 3000 C200, and then I'll try to fix Naomi's old Dell.


2007-08-29

Sometimes...

Sometimes I wish we could do without all this tiresome hardware. Of course, I have to do without the hardware I need for hacking on Krita for a while, since I returned my laptop to Tryllian today. Monday will be my first day with Omnitrans.

Still, that gives me time to try to get my daughter's hardware working. Menna and Rebecca are going to get a new laptop each (a Lenovo 300 C200) for their birthday, on Sunday, and I want to make sure it runs Linux before then. And running means sound and wireless network. Which is kinda hard.

Kubuntu apparently installs something called avahi and another something called network manager that insists on inventing IP addresses instead of asking my dhcp server about it. Besides, the wireless adapter is a broadcom, and I need to perform various incantations I haven't needed for years to get it working. And then, on rebooting, nothing works again. The simple Intel sound chip doesn't produce any sound, although the mixer sees it just fine. Silence is golden.

In the meantime, Naomi's laptop -- the last of the famous Dells -- is acting up. Somehow, the pcmcia wifi card no longer works. I guess it's the cradle, because the same card works fine in my ancient Pismo. So I bought a Sitecom USB wifi stick. Modules get loaded, and I've been able to use it using Feisty and Gutsy, though not after rebooting. OpenSuse and Mandriva Spring 2007 don't see it at all.

And worse, for my teenaged Amarok-addict, sound suddenly stopped working completely after I upgraded her laptop from Breezy to any of the four distributions above. Once I managed to make sound work again with Gutsy, through some recompilation of alsa modules -- but as soon as I got the usb wifi stick working, sound stopped working.

I've got a day off tomorrow, and somehow, I already know what I will be doing. And it's not hacking on Krita.


2007-08-27

Now what

Is fire engine 26742 doing outside my window? And all those chappies in yellow vests and white helmets? I don't smell fire...

And Krita, it was compiling.


2007-08-26

Er what?

I know I am person with wide-ranging interests, but how the deuce did Amazon infer that just because I like to read the Church Fathers, I'd also be interested in signal processing? And... Am I interested in signal processing? Image manipulation is special case of signal processing, of course, but I tend to leave that sort of detail to Cyrille Berger and Michael Thaler...

B.S.A. Rempt,
As someone who has purchased or rated books by Saint John Chrysostom, you might like to know that "Fixed-point Signal Processors (Synthesis Lectures on Signal Processing)" will be released on September 7, 2007. You can pre-order yours by following the link below.
Fixed-point Signal Processors (Synthesis Lectures on Signal Processing)
David Anderson
Price: $40.00
Release Date: September 7, 2007
Sincerely,
Amazon.com

2007-08-10

Mixing colors according to the book

It took many iterations, lots of code, lots of mathematics. But in the end, Emanuele Tamponi has succeeded where others have failed miserably: if you use Krita's new paint mixer to mix colors, you will get green from blue and yellow, purple from blue and red and orange from yellow and red.

This is truly an advance of the state of the art. By comparison, the Corel Painter mixer palette degenerates into ugly brown much faster.. Maybe their mixer is still based on simple cmyk addition, as Bill Baxter suspected. Of course, we still need to do work on the wetness-dryness selection UI, add a color picker functionality, a brush clean button and complex blend loading. There's always more to do.

But... Look at that wonderful green!

Oh -- and let's not forget to mention Paolo Capriotti, who helped Emanuele with some of the mathematics.


2007-07-27

I've started hacking again!

Moving is done, job-hunting is done, conferences are done -- I can start hacking again. And here's where I hack nowadays:


2007-07-21

Moved!

When you read this, your provider has already received the DNS update for valdyas.org. We not only moved house, but also ip address. We're now living in the town centre of Deventer -- look at the lovely waag, which is just a minute walking from here:

This is what the living room looked like when we bought the house:

And this is before we moved in:

By now we've not only got internet again, but most of books are out of the boxes, too:

And this is what our old living room looked like before

and after the movers took most of the stuff:

Anyway, KOffice is compiling again!


2007-07-14

Brilliant!

Emanuele Tamponi (Thrain) has managed to implement Kubelka-Monk color mixing for Krita's mixer palette. This means, simply put, that mixing works like in real life. It uses the reflectancy of pigments to reliably mix color on the computer and get the results you've been taught in primary school.

This is really unique. There is no other software available that does this. Corel Painter doesn't do this. Photoshop doesn't do this. There are some academic experiments that do this -- but it's impossible to get the code or the binaries for that.

Hip hip for Emanuele!

(Pics will follow when I've either compiled Krita (I broke my tree) or have finished moving house, whichever comes first.)


2007-07-13

Java -- it's a weird world

So, after a foray into Javascript and into PHP I'm back, for a bit, coding Java. A stupid little web application with maybe four data objects and a webservice interface. And I am not liking it. We're using Appfuse (nice community, helpful maintainer -- no quibbles with that) to generate all the boilerplate for us. Generating boilerplate code was a cardinal sin already in 1993 when Visual C++ would clutter your application with its reams of generated MFC boilerplate, and it's still a Bad Thing.

Read more ...


2007-07-12

Moving house

Next week we're moving house. So valdyas.org will in all probability be down for a week (or more, depending on how fast our ADSL connection is moved), and I will not only be incommunicado, but I also won't be working on Krita.

Which is a pity, because after reading Dan Sawyer's July Linux Journal article on Deep Images, I feel extremely motivated. It's a pity the article isn't available on-line, except for subscribers, but it's very enthusiastic and positive. Indeed, the first word that came to my mind was "panegyric"...


2007-07-04

Made it!

People said it couldn't be done, but I've made my connection at Heathrow! Of course, my connecting plane is late now.


Paint Mixing

I hadn't time to blog about it yesterday -- much too busy attending the extremely interesting BOF track -- but, hey! Emanuele Tamponi has checked in his very first version of the color mixing palette. Using Tunde Cockshott's Wet & Sticky code as a guideline, he made sure that when you mix blue with yellow you get, indeed, green. Likewise red and blue gives purple!

I'm on my way home now, in Glasgow's airport. Yes, it still smells of fire in places. The security checks took much less time than I'd thought, though, so I could conceivable have attended the first track of today's BoF sessions and still been in time. And wifi at aKademy might be patchy, but it is free. Here, I'm paying 4 or 5 pound per hour.

Looking bad, I'm so glad I went. I finally met with Bart Coppens and Emanuele Tamponi in person. I had a lot of fun, learned that we did the right thing in our use of Interview in the Krita layerbox and how to handle gdb in Emacs. Great stuff, great people -- many new faces, which I think is great, too.


2007-07-02

Bag!

My bag is back! I've got my bag back! Not that I didn't look spruce and suave and everything I should have looked at the Lord Provost reception in the town hall tonight -- being clad from toe to crown, from outer crust to inner underwear in Burton's best -- but I'm glad to have my pocket knife, my good shoes and everything back.

Today was the e.V. meeting, an exercise in unavoidable tediousness. And when there's finally something rivetting happening, I can't blog about it, because it's e.V. stuff!

Read more ...


Wow!

I learned in response to our Krita donation drive on the Dot, people have donated more than 700 euros already! We're getting really close to the point where we want to be -- two small tablets with the assorted tools. You can still donate:

We need this hardware not just because it's cool: it's simply impossible for us to support all the features that artists need without being able to test them and verify them -- so at least two Krita developers need an Intuos with the right tools!


Monday -- and e.V. meeting

Still no luggage -- I went out to Burton's yesterday and bought new shirts, trouser, jacket, underwear, socks and shoes. Also proper shampoo. So I'm once again the spruce and natty hacker that I always strive to be.

Read more ...


2007-06-29

Later, latest

Well, I was already afraid I was going to miss my connecting flight, which I did, too. So three hours later than planned, I'm in Glasgow, in my hotel, the . It looks like a nice place: the room is small, the chair could be more solid and the shower hotter, but I've also got: a computer, internet (wired and wireless, au choix), tea, watercooker, cookies, iron, ironing board, hair dryer, television, dvd player and a very, very friendly host.

Time to go out for dinner now, buy a bottle of something for tonight and work on my presentation!


Late...

On my way to Glasgow, I'm already a bit stranded at Schiphol. Enormous queues, the flight that should have departed from our gate is delayed, too. Still, there's one hour a week free internet at KPN hotspots because I've got an XS4ALL account, and I can work on my Flake presentation.


2007-06-19

Brussels

Last week I was almost completely absent and incommunicado. But it was for a good cause: I was invited to Brussels by the European Commission to evaluate project proposals for the Framework Programme 7, strategic objective 4.2 "Intelligent Content and Semantics".

Read more ...


2007-05-24

Krita Progress

About two years ago, Adrian Page added OpenGL support to Krita. The idea was that soon we would be able to use GLSL shader programs to modify the display of, for instance HDR images. Dynamically setting the exposure. Or for painterly images, bumpmap the canvas to provide the illusion of lighting and depth. Well... This week he did it: on both NVidia and ATI cards, Krita can execute GLSL shaders in the display stack. If you have a supported card and move the exposure slider, the exposure changes while sliding:

At the same time, Casper Boemann has completed two items from our 2.0 todo list, namely printing using the image resolution and redesigning the scale image dialog to take resolution into account:

As for me... I've been working really hard on stuff that I cannot ksnapshot yet. I've added effect masks to krita: layer masks associated with filters or another operation, like transforms. These masks can be stacked, so you can non-destructively blur, sharpen, rotate, and hide pixels in your layer. I've added a new layer type, too, the Clone Layer that clones another layer. Either the original pixels or the pixels as effected by the original layer's effect masks. You can move the clone layer, apply other effect masks and every time you change the original layer's pixels, the clone layer will follow. But all I've done is just in the krita core; I need to add the user interface to be able to show off.

Oh, by the way, Marijn Kruisselbrink is using Qt 4.2's addApplicationFont method to load the musical notation font for his music notation google summer of code shape plugin. He's also working on improving the engraving. There are two tools now to edit the music: one for editing the parts, and one for editing the notes. What's really needed at the moment is line ends and frame continuations, but no doubt that'll be implemented. I mean... The Summer of Code hasn't started yet, officially, has it? Plenty of time to do implement this little thing.


2007-05-20

Jan Hambrecht is my hero!

Last weekend we implemented the basic infrastructure for loading ODF into KOffice 2.0. And this week, Jan Hambrecht (who now has a blog that's in clee's queue for adding to the planet) has been working steadily on making shapes load from ODF. I mean, like:

SVN commit 665978 by jaham: loading of ellipse shape
SVN commit 665983 by jaham: loading of the circle radius attribute
SVN commit 666027 by jaham: implemented loading of line, polyline and polygon from odf
SVN commit 666042 by jaham: move svgpathparser into flake so i can use it there to load pathes from odf
SVN commit 666096 by jaham: implemneted loading path data using the KoSvgPathParser
SVN commit 666382 by jaham: loading of enhanced path shapes from odf

And so on, and so on. Very soon my unittests will actually not fail anymore!


2007-05-11

Berlin!

So here I am... For the first time of my life in Berlin. First impressions are good! I arrived last night for the KOffice OpenDocument Hack Weekend. A little early, but that way my train fare was cut in half. I was collected at the railway station by dipesh (Sebastian Sauer) who is much younger than I had imagined. We went to the Motel One and had dinner afterwards in a small restaurant near the hotel.

Really nice place, Good food, nice people and incredibly cheap -- twenty euros for dinner for two, including drinks. On the other hand, smoking in restaurants still abounds. I was so happy in Canada where smoking in restaurants is already banned. Imagine... For the first time in a decade I could go out to a bar, enjoy the life music, the beer and the company and not come home spitting my lungs out coughing.

Since Motel One is a bit of weird place and very, very busy, I chose to forego breakfast at the hotel and wandered into the same street, the Oranienstrasse, as yesterday night's restaurant to find a bäckerei. Lucky me... A lovely croissant, good coffee and a huge glass of fresh orange juice for about two euro's. I bet the hotel couldn't have competed.

This morning I'm going to meet dipesh again and see a bit of Berlin. Then, in the afternoon, we'll meet up with the rest of the KOffice crew, register once again at the Motel One, have dinner and start hacking. I hear that David Faure's OpenDocument introductory presentation is already two dozen slides...


2007-05-08

Libre Graphics Meeting Wrapup

Well, yesterday we wrapped up the 2007 Libre Graphics Meeting. As you've no doubt gathered, it's been a blast. I really feel I've got inspiration and energy for another year of hacking from this meeting. The organizations has been excellent, the venue outstanding, the participation great (250 attendants!) -- thanks Louis!

For Krita, this will mean renewed energy, increased development, better awareness of the requirements of users, and more confidence in ourselves. For the free graphics world as a whole it's been, I think, the same. After Louis' final speech people kept saying how great it was. There will definitely be another LGM!

Where? We don't know yet. Amsterdam has been requested (but I am not organizing it! I want to get Krita 2.0 out before LGM 2008.), as has Poland. Somewhere in Europe seems likely. There has been a great attendance from the Americas, but I think Europeans were still in a majority. Besides, it's Europe's turn again.

Last night we would have gone out with ace panorama photographer Yuval Levy and Pablo D'Angelo, but I was too tired to get the thing decently fixed. And when I woke up (I fell asleep on my hotel bed almost as soon as I'd got there after the closing ceremony) -- and on waking up I just went with the flow. I was even too tired to realize that I had a) a telephone on my room and b) Yuval's business card with his telephone number. I need to get used to this business card thing!

Instead we sort of joined Keith Packard (Intel jumped into the breach when sponsorship failed and sponsored the LGM, making it possible), Liam Quin and a crowd of other LGM attendees. We went to "Le Taj" (if I remember correctly -- I was really tired), a high quality Indian restaurant. Those chickpeas -- to die for! Intel paid the tab -- thanks! -- and we had a great and instructive evening. It may seem silly, fifteen geeks at a table, but it was, I feel, really useful. Lots of knowledge gets spread, lots of insight is gained by lesser geeks like me.


Hugin and camera distortion

On Sunday, Pablo D'Angelo, lead developer and maintainer of Hugin presented his application to the LGM crowd. Cool stuff in itself, but the really cool thing was this:

Pablo proposes to develop a database that would contain characteristics for lenses like distortion and vignetting. Every lens is subject to those problems, and they are specific for specific types of lens. There's even a commercial company that sells a database with this information for lots of money, and there used to be a free database, too, but that was taken proprietary.

Together with that database would come a small library that applications like Digikam, Gimp or Krita could use to fix distortion, vignetting and chromatic aberration -- based on the lens used for the input image. Applications could do that at the import stage, or, in the case of Krita, as an adjustment layer or effect mask.

Hugin, because it uses large numbers of shots and analyzes them, can provide the necessary information. There would then be a web app for photographers to upload the data, which could get checked and coordinated by volunteers.

Pablo is going to get this jumpstarted real soon now by getting the CREATE community involved. And as soon as we've got a prototype, Krita will add support. This is exciting stuff!


2007-05-06

Libre Graphics Meeting is fun!

On Friday night there was a Grand Gala Dinner for all attendants. I got introduced to someone who was really, really complimentary about Krita, telling us that he thought our colour handling was much, much more logical and useful than even Photoshop's color handling. Like, wow! Lots more compliments ensued :-)

On Saturday, Cyrille and I gave our Krita talk (download the slides in ODF format). Right afterwards Cyrille presented his talk on OpenRaster.

The Krita talk went really, really well. I was almost mobbed by people wanting to talk to me after the presentation and all through the afternoon people came up to me to tell me they really liked our style of presentation, that they thought it was one of the best presentations they'd been at. And, did I have a business card for them? I should have asked the KDE promo team for a set -- and I'll be sure to do that when I get home.

During the talk someone asked me whether I intended to make Krita compete with Corel Painter. Dramatic silence... Then I said "Yes!" To which he said "Good!". It turns out his wife illustrates children's books with Corel Painter. She uses an older version -- 5.5, if I remember correctly, because newer versions are too slow for here 600dpi drawings. Seems like we've got a new hard requirement for Krita! And then someone else jogged my sleeve and told me he'd been a Corel Painter developer a few years ago -- and if I had any questions, I should be sure mail him about it.

The OpenRaster talk was great. It provided the catalyst for a great round-table discussion with all the experts present. From people who could provide input on the xml style we use to people who are really hot on color and color requirements. There are a couple of people I really. I feel outnumbered a bit compared to the large Scribus, Inkscape and Gimp teams, so Bart, Casper, Sven, Adrian, Emanuele and Jan really should have come! And then Clarence Dang for Kolourpaint, Gilles Caullier for Digikam (so he could have fight^Wdiscussion with Hubert Figueire on the best way to (ab)use dcraw) and especially Zack Rusin for general graphic goodness! I really suspect that this conference will rival and outclass siggraph in a few years, the level of energy, commitment and just plain expert knowledge is really great.

One thing I especiallylike about the atmosphere of this conference is the open-mindedness of the people around, users and developers. I'm loving meeting the Gimp people, the inkscape people, the scribus people. I've had a great talk with Peter Sikking, the Gimp usability guru. I've been going out for dinner & a beer with a group of panorama enthusiasts -- one of them took not only a panorama shoot of the restaurant table, but also of the beer glasses in the bar! (Yummy beer and interesting beer, and live music.)

Of course, there are also moments that tie in tightly with Aaron's blog. Jakub Steiner gave a presentation about photo management and editing with F-Spot and GIMP. Quite interesting to see him work with those applications, but his explanation at the end that free software was simply not ready for a 16-bit workflow so we had to make do with the 8-bit limitations of Gimp, Ufraw and F-Spot was a bit, well, parochial-minded. After all, with Digikam and Krita, you can go 16 bit from your original RAW image to the finished artwork without any trouble. Pity, but we'll overcome that.


2007-05-04

Inkscape as a Project

A couple of years ago, someone, I think it was Alan Horkan, pointed me at the Inkscape project as an example of a project that just functioned very well. I subscribed to their mailing lists and started watching them to see what made their project tick.

Today Bryce Harrington gave a talk on Inkscape the App and Inkscape the Project. The app is way cool, of course, although I'm rooting for Jan Hambrechts and Karbon. The parts of Bryce's talk on project organization really resonated with me. The things I came up with myself that I consider important for Krita and the things I picked up from watching their project were made explicit:

  • Freedom to develop whatever
  • Liberal feature inclusion process
  • Low barrier of entry for newbies
  • Lots of developers involved
  • High bus count

Krita must be fun to work on: that's really important. Users don't count as much as contributors. As soon as a user contributes -- by creating patches, documents, suggestions, testing betas -- they become contributors.

To seduce people to become contributors there must be a place for them to scratch their itch. That's why Krita, despite its core goal of becoming an application for creating original art, will always have a lot of extra features -- things that were fun to create and useful to our users.

Right, now Peter Linnell starting to talk about Scribus.


Energizing

At the LGM, we've just had Peter Sikking and Kamila Giedrojć talk about Gimp usability -- really energiz