July 24, 2008

Happy Birthday, “Meet the GiMP!”

I thought it would be to- morrow - but I checked and it’s exactly one year ago today that I published the first video.

And for cele- brations i have set up a forum for the dis- cussions that are now hidden in the comments. Let’s try out if this works - I can always close it. ;-)

I think we should keep the discussion about specifics of an episode in the comments and do all the other stuff in the forum.

There is an additional board hidden from guests and normal users, where I’ll plan the episodes.

And of course, if you write something brilliant, I’ll steal it for the show or the blog. ;-)

Share This

Guadec slides

Just a quick note to let people know that I have put my slides online. They are linked from lgo (in OpenDocument).

I'll provide PDF and HTML versions soon.

Como renderizar materiais em wireframe no Houdini?

A Sidefx disponibilizou mais um tutorial sobre Houdini no web deles, mas dessa vez não é nada relacionado com a impressionante gama de ferramentas para simulações físicas ou partículas do Houdini. O assunto do tutorial é algo muito simples, mas que ainda deixa alguns artistas em dúvida sobre como fazer; renderizar materiais mostrando ao mesmo [...]

Totem article: "Movie Magic"

Philip will be happy. The author of this article for Linux Magazine UK is full of praise for the YouTube plugin. Good work Philip!

Inching Toward Release

Bruno Postle officially released autopano-sift-C-2.5.0 and panoglview-0.2.2. He intends to release a hugin tarball release candidate very soon. This will pave the way for inclusion of hugin in coming Linux distributions. Binaries for the different platforms will follow. Stay tuned!

Tutorial de pintura digital com Blender 3D usando GLSL

Um dos vários aspectos positivos em relação ao Blender 3D é que ele é uma ferramenta completa, que se propõem a modelar, animar e até montar o vídeo da animação com o seu editor de vídeo embutido. Uma das ferramentas que poucas pessoas usam nele é o editor de texturas, que não é a opção [...]

Live from OSCON

OSCON has been pretty cool this year so far. It’s been really weird, since I haven’t been in North America too often in the past, and this is my first ORA conference, to be meeting people I’ve exchanged email with for years in the corridors, and bumping into people that I’ve been hearing about for ages. There’s also a decent scattering of people I already knew, too. Far too many to name individually without leaving people out & insulting somebody…

I arrived on Friday, and to help get over jet-lag, I decided to go out for an hour-long run. After losing all sense of orientation, and going North when I thought I was going East, that ended up being a 2 hour run.  Which was nice.

Over the weekend, the FLOSS Foundations group met, and we talked about lots of stuff - accounting, membership, CRM & donor management software that non-profits can use (there isn’t any that works well enough), merging foundations, and how umbrella foundations work (targeted funding, etc), best practices for dealing with donors (big and small), merchandising, CLAs, trademark policies, and a really interesting discussion on university outreach, the creation, aggregation & distribution of open course materials and university outreach.

All in all, a very valuable 2 days.

On Monday, I attended OMX, the first edition of the Open Mobile Exchange. Myself & Paul Cooper stepped in at the last minute to give a tag-team presentation on GNOME Mobile which went, to my mind, very well. Having 2 people was great, because it meant that all of the things we wanted to say got said (usually I end up being quite non-linear and saying “oh, earlier, I forgot to mention…”, with Paul that didn’t happen). There was a decent amount of GNOME Mobile presence in any case - Jim Zemlin had nice things to say about us, and Jenny Minor from Vernier and Lefty Schlessinger from Access gave presentations from the perspective of a device manufacturer and a platform developer.

Tuesday was a quiet day for me - finally got to have quality phone time with Anne, and attended the Maemo sprint meeting on IRC before eating with Stormy - we talked about a couple of cool things I’ve been working on for the past two days that I hope to be able to announce in the next few days.

All in all, a great conference, social & work merged, mixed, mashed, and with a spot of early-morning running & Tour de Francing.Happy happy joy joy.

Tonight: RedMonk beer tastes Good.

Wed 2008/Jul/23

  • I'm writing a little utility that generates Git repositories from some unpleasantly-formatted data. The test suite for this was really simple to write: you can simply ask git, "give me the SHA-1 hash that you have for the content" at the end of the test run (i.e. "git-cat-file -p HEAD" and parse out the "tree" hash from there). If the obtained hash matches your expected hash, then you know the test succeeded. This is much easier than comparing all of the expected/obtained content by hand.

July 23, 2008

Social Fallacies

I ran across this list of Geek Social Fallacies yesterday. It’s a pretty old list; I’m surprised this is the first time I’ve seen it. It’s pretty interesting, and, I’d wager, pretty accurate. I’ve seen these everywhere to varying degrees in the OSS world. Personally I tend to suffer a lot from #3 (though I usually recognise this one and realise that most, if not all, of my friends aren’t like me in this regard), and occasionally a bit of #5 (fortunately not often, but when I’m on the receiving end of a lack of an invitation, it can hit me pretty hard).

I see a lot of #1 among OSS contributors. Many OSS people seem to believe that everyone’s opinion has equal value, or at least should be considered with equal weight. I often see “poisonous people” who just like to rant, or don’t understand a particular community. Sometimes they’re actively malicious, and sometimes they’re genuinely trying to help, but don’t understand what’s going on to actually be useful. Often these people will never get it, and in these cases I greatly advocate cutting them off and kicking them out. Unfortunately, a lot of people see this as rude, or anti-community, or some bullshit like that. Sorry, but the real world just doesn’t work that way: some people just don’t, and can’t, belong.

As for #4, it’s often a shame. I’m fully aware that I have different groups of friends for a reason, and that in most cases, my different friends wouldn’t really get along. Not that they’d be actively hostile, just that they wouldn’t find much in common and would probably be bored with each other during extended interaction. It’s pretty rare that I introduce friends and they actually hit it off.

#2 is actually pretty rare in my experience. Personally, I tend to believe that my close friends do accept me as I am, and actually because of that, they’re the ones most likely to criticise me when I’m acting like a dick. And I (usually) welcome that.

Anyhow… pretty interesting.

Future of GPU makers

full Intel, NVIDIA, AMD(ATI) といえばラスタライザ GPU の三大メーカーである。 過去 5 年の株価の推移を見て、皆さんはどう思う(この先どうなると予測する)だろうか? - 今は市況が悪いからしょうがないさ… - 今は投資する時期(実質マイナス金利だし投資しなきゃ〜)、次の波への準備中なのさ. - 株価に一喜一憂してもしょうがなくね? - etc… – 以下は私の意見である. ラスタライズグラフィックス繁栄の時代は終わったと言っていいだろう。株価は正直だ。 (そもそも Intel は繁栄すらしていないけどね) この先この状況を大きく変えるにはパラダイムシフトを起こすしかない。 私はそれを担うのがレイトレだと思う(その先は GI)。 もちろん Intel, NVIDIA, AMD はこの危機的状況(?)を打破すべく、 どこもレイトレに莫大な投資をし始めている。 ただ、大手がこういうのに動く場合は Winner’s curse に陥ることが多い。 つまり、新興企業や後発企業に十分マーケットを取得するチャンスがあるということ。 そんな予測を元に、レイトレをコアとしたビジネス(そしてその先の GI も見据えて)を立ち上げるのに、 今はとてつもなくよいタイミングではないかと思っている。

Como criar metal escovado no LightWave usando nodes?

Alguns tipos de materiais em 3d constituem grande desafio para os artistas, principalmente pela complexidade com que suas superfícies são representadas. Assim como os parâmetros de renderização, configurar os materiais e texturas de um modelo 3d não atrai tanta atenção nos artistas iniciantes, como a modelagem. Por isso é fácil encontrar modelos 3d extremamente detalhados, [...]

Making of de cena futurista usando Blender 3D, Indigo e Photoshop

A quantidade de cenas e cenários virtuais sendo criados com o Blender 3d é cada vez maior, isso está tendo reflexos diretos nas revistas e meios de divulgação especializados em computação gráfica, como a CG Society e outros. Essa semana, um making of de uma cena que até pouco tempo atrás, muitos artistas diriam ser [...]

Better late than never

Back in the day, I used my paycheck to buy the top-notch MP3 player that was the Rio500. Unfortunately, I forgot it in the back pocket on my plane seat when flying over to Raleigh for my Red Hat induction. And then I used one of my first new job paycheck to buy a second generation (and very very expensive) iPod.

You could say that hacking on Walk500, a front-end to that great player is the reason why I'm hacking on GNOME these days.


I couldn't bear the thought anymore, and bought a Rio500 on eBay for $5. Hacking on it half-an-hour at a time, I cleaned up the code. The latest release of the modern era is available on SourceForge.

Vacation

I'll be back next week.


South Shore, Whidbey Island

Ray and Mo at the Space Needle

Space Needle

Seattle Ferryboat

Pike Place Farmer's Market

Seattle's Chinatown

Sam's

Seattle Underground

Chinatown, Portland Oregon

Portland Snow in July

Portland Sunset

Portland Sunset

River City Bikes, Portland

Public Garden

Rose City Sky

Kalga Kafe, Portland

Mo's Chai

Seattle's Best in Seattle

San Diego Bay Sailboat

The Fremont Troll

Deception Pass Tree

Whidbey Daises

Whidbey Woods

South Shore, Whidbey Island

Pacific Beach, San Diego

Monkey Love!

Mountains of Seattle

 

 

 

July 22, 2008

To stir or not to stir?

That is the question…

I am honoured to have become the latest GNOME personality to catch the eye of Sam Varghese.

Sam feels I was unfair in my characterisation of him as a “shock jock”. He may be right… he says himself that the definition of a shock jock is “a slang term used to describe a type of radio broadcaster (sometimes a disc jockey) who attracts attention using humor (sic) that a significant portion of the listening audience may find offensive.” Clearly, since Sam’s not funny, I was unfair. Sorry Sam.

I take issue with Sam’s massive leap (which reminds me of when my maths professors used to say “obviously it follows…” at the end of complicated theorems) when he says that I “have to fight the perception that any of [our] major sponsors is making nice noises to the other camp”.

First, as I have told Sam on numerous occasions when he contacts us for answers to leading questions, we do not think of KDE as “the other camp”. Second, Mark Shuttleworth doesn’t exactly avoid a perception that he’s a fan of KDE. Later in the same article, he says that he thinks that KDE have got a nice rate of development going, and are driving innovation better than GNOME. He’s the first top-paying member of KDE eV, which is roughly the same amount of money annually as Canonical gives to GNOME.

And Mark’s not alone. Nokia are sponsors of both Akademy and GUADEC, as well as investing heavily in both GNOME (through Maemo) and QT (and paying the wages of some KDE developers).

What Sam has trouble understanding is that I have an issue with sloppy journalism. I like the KDE developers, we get on well, and I’ve done a lot of work bridging gaps between projects - whether it be through the organisation of Libre Graphics Meeting or FOSTEL, or my participation in the FLOSS Foundations group, or the numerous conversations I have with KDE board members about any number of subjects (including Akademy & GUADEC colocating).

So when Sam sets me up as a shill, or as someone who has a problem with KDE (or considers them competitors) he’s ignoring a body of evidence that suggests otherwise. But then, with Sam, that’s par for the course.

Tue 2008/Jul/22

  • Document-centric GNOME

    Here is my presentation from GUADEC: Document-centric GNOME (ODP).

    Document-centric GNOME

    The code for document-centric Nautilus consists of the journal view and the Nautilus extension interface for journal providers. This code is not finished yet (nothing gets displayed to the screen; it's all engine code), but you can take a look here:

    git clone git://gitorious.org/nautilus/mainline.git nautilus-document-centric

    The master branch contains the document-centric code, which is built on top of nautilus-2.22.2. You can also visit the Gitorious repository for document-centric Nautilus and create your forks there.

  • John Anderson has posted a great little tutorial on Nautilus tips and tricks. Life-savers for me: the list of keyboard shortcuts and enabling the "advanced permissions" view.

Episode 053: In the USSR the Posters are watching YOU!

I have to do some corrections on last weeks episode. As I wrote in the update, I had made a blunder with the last layer.
Then we have another video from Andrew A. Gill, the guy who enlightened us about CYMK. He takes on the Comic style from episode 50 and tries to copy a style used by Soviet propaganda and today by Shepard Fairey. +Link +Link
The image on top of this post has been made by Andrew. It’s not exactly Soviet Propaganda. ;-)
Then I have a challenge for you. I got set of images from Ted. He is researching family history. So he has to work a lot with reproductions of old documents. The rules are easy: You are happy about what you get and you don’t complain about quality. Here is a set of images (26MB) for you to cut your teeth in. The goal is to enhance readability. Please document your steps. Next week I’ll tell you how to report about your results.

Finally there are some news about GiMP 2.5.2.

Creative Commons License This work is licensed under a
Creative Commons Attribution-Share Alike 2.0 Germany License.

Share This I have to do some corrections on last weeks episode. As I wrote in the update, I had made a blunder with the last layer. Then we have another video from Andrew A. Gill, the guy who enlightened us about CYMK. He takes on the Comic style from episode 50 and tries to copy a style used by Soviet propaganda and today by Shepard Fairey. +Link +Link The image on top of this post has been made by Andrew. It's not exactly Soviet Propaganda. ;-) Then I have a challenge for you. I got set of images from Ted. He is researching family history. So he has to work a lot with reproductions of old documents. The rules are easy: You are happy about what you get and you don't complain about quality. Here is a set of images (26MB) for you to cut your teeth in. The goal is to enhance readability. Please document your steps. Next week I'll tell you how to report about your results. Finally there are some news about GiMP 2.5.2. This work is licensed under a Creative Commons Attribution-Share Alike 2.0 Germany License.Share This

Wiki sobre renderização e termos técnicos de computação gráfica

Uma coisa que é inerente a todos que estão começando a ter experiências com softwares e sistemas modelagem 3d, é a adaptação aos inúmeros termos técnicos existentes nessa área. Para dificultar um pouco mais esse processo, a maioria desses termos relacionados com a área gráfica são escritos em língua inglesa. Vejo essa dificuldade, sempre que [...]

Download gratuito de personagem para o Blender 3D e participe do projeto Apricot

Um dos ideais de um projeto de conteúdo aberto é deixar os usuários participarem do desenvolvimento do projeto, junto com a equipe de criação. Nesse sentido o pessoal do projeto Apricot está indo um pouco além do esperado. Se você queria está lá no Instituto Blender, participando do processo de animação e construção do jogo, [...]

Tablet woes...

For months, everything seemed fine in tablet-on-linux-with-Qt land. Or relatively fine. I could sketch with impunity using Krita 1.x and Krita trunk (unless I tried to paint outside the image itself, that is). A first gentle reminder of the state of tablet support under Linux/X11 came when Naomi wanted to try the Gimp for a change and she noticed that there was an offset of about a hundred pixels between her pointer on screen and where the drawing went. I shrugged and told her she'd better use Krita then.

Then Krita started crashing whenever I tried to use the stylus on my tablet notebook. Lukas Tvrdy suddenly lost tablet support. Cyrille Berger went on to investigate and discovered that we were getting spurious mouse events between the tablet events. Now KOffice is pretty smart in that it tries to map every input device, every individual wacom stylus, art pen or whatever the user has to its own tool. Spurious events that belong to another input device mean that tools started switching in mid-drawing, which in turn deletes the brush engine we were drawing with before we are done drawing. Ouch. A workaround is possible, of course, but workarounds have a nasty habit of coming back to bite the developer in the fleshy parts.

But plain painting with a tablet at least used to work without crashing -- and I have no idea what has changed. And, unfortunately, there is a host of issues with Qt's tablet support anyway: ranging from being hard-coded to certain names in X11.org (stylus and eraser, cursor isn't supported at all), which means Qt effectively doesn't have tablet support on OpenSUSE, to event compression (which means that we don't get all tablet events, which in turn means ugly lines because we cannot track exactly the artist's hand movement.

For reference, these are the Qt issues we're dealing with:

None of them seem close to being closed. The last one is for OS X -- I'm not sure how good the support for tablets on Windows is since I cannot test Krita on Windows with my tablet due to Microsoft messing up their upgrades. (In order to have a Windows in a virtual machine, I first need a Windows installer, and those are not free.)

So... What now? We have basically two choices: try to improve Qt's tablet support and submit a patch to Trolltech (or try to get paid for improving it?), or re-instate our old Krita 1.x tablet code. It had the same problems with detecting devices that aren't called "stylus" and "eraser", but at least we handled the "cursor" device and we managed to handle the event compression very well. Detecting when a user had changed between tablet and mouse was quite buggy, though, in 1.6. And if we resurrect our old code, we can do so for just Krita, or for all of KOffice. Or we could disable the code that maps an input device to a tool instance, but that would suck big time for artists who have gotten used to pan with the mouse and paint with the pen (like me).

July 21, 2008

Studio harddisk online

Our good friend from Torino, Gianluca “Kino3d” Faletti, has sent us a 250 GB disk, which we’ve copied our Peach studio backup on. Browse everything online here:

http://blender-mirror.kino3d.org/peach/

Note that you can get here the original 4 x 16 bits OpenExr files too, straight from the renderfarm. Console-savy people will want to use wget -r (recursive) to get all of the exr in a directory.

Thanks Kino!

Nova maneira de vestir personagens no Blender 3D

Ao que parece os projetos que estão sendo desenvolvidos para o Google Summer of Code do Blender 3d devem ser concluídos com êxito! No último ano, alguns dos projetos envolvidos foram abortados, por isso eu estava com receio que alguns dos mais complexos projetos pudessem ser abandonados novamente, mas felizmente esse não será o caso [...]

Tutorial AutoCAD: Como funciona o Object Tracking?

Quando o assunto é modelagem ou desenho técnico, umas das ferramentas ou artifícios mais usados por artistas e desenhistas são as chamadas linhas de construção. Na semana passada, um artigo aqui do blog comentou o uso dessas linhas na modelagem com base em fotografias no SketchUp. Na modelagem 3d é até mais complicado usar esse [...]

July 20, 2008

Acts of Volition Radio: Session 32

Acts of Volition Radio: Session 32

A summer session of Acts of Volition Radio with 2/3rds Canadian content.

2/3rds Canadian content. Recorded Sunday, July 20, 2008 by Steven Garrity. Run time: 64min.
  1. Matt Mays – Building a Boat
  2. Sloan – Witches Wand
  3. Bell X1 – Rocky Took a Lover
  4. Buck 65 – Cries a Girl
  5. Guided By Voices – I am a Tree
  6. Bruce Springsteen – Radio Nowhere
  7. The Awkward Stage – The Morons Are Winning
  8. Tokyo Police Club – Tessellate
  9. Hey Rosetta! – The Simplest Thing

For more, see the previous Acts of Volition Radio sessions or subscribe to the Acts of Volition Radio podcast feed.

Estudo de visualização para uma galeria de arte no Blender 3D

Usar luzes como fonte de iluminação é a primeira opção quando pensamos na iluminação de um ambiente, mas existem outras opções. Quando o trabalho envolve visualização de projetos arquitetônicos é sempre bom ter mais opções de iluminação, principalmente no que se refere a possibilidade de usar os próprios modelos 3d como emissores de energia luminosa. [...]

Using objects and meshes to emit light in Blender 3D

Sometimes we have to use more than a standard light of Blender to simulate an interior scene. Let me show you a really interesting project that I have been working on. It`s only a preliminary study for an art galley, where the objective is to use mostly indirect light for the scene, and put some special lights aimed to several pieces of art. Since it`s only a study, I manage to produce and render the image in just a couple hours.

Here is the final image, rendered in Indigo and modeled in Blender 3D.

If you notice, there are two big sources of light right on the upper side of both walls. How can we do that? This is all setup in Blendigo, the script that export a scene in Blender 3D for Indigo.

First of all, we have to create an object (Mesh), to use as emitter. For this objects there is an important tip, use the most simple shape as possible, a plane if you can. With complex shapes, the render time will be highly increased.

The object that I have used is a plane. I have scaled the planes to make them fit the space above the side walls.

To finish the setup of lights, there is one more thing you have to do. Like what we have seen in the use of photometric lights, what control the direction of light are the normals of the planes. So, if you don`t want to face troubles, setup the normals to point towards the right direction.

The lights that illuminate the pictures are all mesh emitter, actually all lights in the scene are mesh emitters. And to finish the setup of the scene, we have to choose the right settings for the environment. In Blendigo we can choose a set to use only mesh emitters to light the scene.

Is that all? Of course not, besides the lights we have to add textures to the surfaces. To add and render textures in Indigo, you can setup them in Blender and then add point the image file at the “Albedo” option in Blendigo.

For now this is just a study, but if the development of the project goes well, I will add a lot of small details to the scene and create a full high-res render. By now, this image suite quite well the pre-visualization of the environment.

OoO 3rd follow-up

[En] I’ve held a OoO 3rd, a gathering for offline renderer enthuasists. This time I’ve reviewed some EGSR08 papers (Follow the link to see the presentation slide) http://groups.google.com/group/oooo_renderist/files egsr08.pdf A common thing among the papers I’ve reviewed is coherency: Exploit a coherency to accelerate rendering. Yes, coherency is a key for any graphics algorithm. The authors(of the paper I’ve reviewed) are trying to [...]

Darkroom 1.0 and Import Raw in Krita

It all started on Friday when I had a look at the pictures I took in Berlin, during the KDE-Bindings meeting and on my way to the airport in the city center. I found them incredibly noisy, my digital camera is starting to age, it's more than four years old, so I was wondering if it wouldn't be a good idea to replace it. At first, I had decided to wait a little bit before buying a DSLR, but seeing how poorly hand-held camera still behave, yay they have more mega-pixels, but why is it useful if the results is completely noisy and blurry ? And you can't tell yourself that you will buy one of the low mega-pixels camera, since they also have crap results, since they sell their product on the number of mega-pixels, no manufacturer will take the time of making a good hand-held camera, sad. So I turned myself to a DSLR (help with the fact that price have considerably dropped recently).

Since new babies are introduces with a picture:





I didn't had time to use it much, but I still spend sometime yesterday afternoon taking pictures in Toulouse, but I already like it a lot, since I was able to concentrate on just taking pictures instead of spending time adjusting options, while still having the possibility to adjust them for extreme situation. Which is good, I am so used to take picture with a silver film, entry level camera Nikon F60, where the only things you can do is adjust the speed and aperture, which is about all you usually need.

Here is a view of the Capitole:





Darkroom 1.0



Back to the point, KDE applications, since that's probably all you want to hear about. One of the usual feature of DSLR camera is the possibility to save pictures as RAW file, which is basically a dump of the sensor output to memory. To be precise, there is no such things as a RAW file format, there are about hundred of them, for each camera manufacturer, model and sensors.

Now that I have a camera with RAW, I want proper support for it in Krita and in my KDE environment. Especially that I was stupid enough to shot around 20 pictures as RAW files while I just wanted to have one or two for testing.

On unix, the main application to decode RAW files in something useful is dcraw. In the KDE side we have libkdcraw, which offers a front-end to a stable dcraw version (yes one of the bad side of dcraw is that it is not a library, but a command line tool whose option changes all the time) and a configuration widget. Using that library I told myself it would be easy to write a KDE based RAW decoder. Yes, I know there are already quiet a few of them, but Darkroom is like 400 lines of code, since all the logic is either in dcraw or in libkdcraw which is shared among KDE applications.

A few hours later, here is the result:





You can get it from my website if you want to play with it. I am not to sure about its future, one things is certain, I don't want to invest much time in Darkroom, maybe on libkdcraw, or of course Krita, which would bring back improvements to Darkroom.

Import RAW in Krita



The next logical things to do is to get an importer for RAW in Krita, actually there was one in Krita 1.6, but did I mentioned that interfacing with dcraw sucked ? Well, that means the Krita RAW importer start stopping working and there was no one who had time to fix it and maintaining, that's where using libkdcraw will help us, since the maintaining burden is shared (or currently delegated).

So a few minutes after Darkroom was finished, a new RAW importer from Krita was written (things are much easier when you know the API of a library):





I have some RAWorld Domination Plan for Krita, I am toying with the idea of editing the RAW file inside Krita instead of importing it, but that's for an other time, maybe in a year or two.

Niepce - a new promise for a better workflow under Linux

Joel Cornuz has a promising project on his Blog: Niepce. Named after one of the photography pioneers it wants to bring the functionality of Adobe Lightroom or Apple Aperture to the Linux desktop. Non destructive editing is one of the goals.It depends on GEGL, so a GiMP integration is “easy” and planned.

Joel has links and more.

Share This

Thanksgiving trip visiting Gwen and Pat

.flickr-photo { border: solid 2px #000000; } .flickr-yourcomment { } .flickr-frame { text-align: left; padding: 3px; } .flickr-caption { font-size: 0.8em; margin-top: 0px; }

This is Gwen Widmer, Patrick Clancy, me, and . I studies with Pat at Kansas City Art Institute for undergrad and worked with Pat and Gwen on some early startups. You guys already know the connection with Lu.

I should write a book about all the great people I have considered mentors (and friends) in the past. I think post iSummit, I will take a few days off to plan out the next 10 years or so ;)

July 19, 2008

I'm really, really glad

That I am a Linux user. I would probably be just as happy as a BSD user or an OpenSolaris user -- and I'm really glad that I'm not really a Windows Vista user. I used to keep a Vista partition around to test Corel Painter X with (because Corel Painter doesn't install under Wine), but seldom boot Vista.

So, when I last booted into Vista, it had an enormous backlog of updates to install. Which I foolishly allowed it to do. The result? Something called winload.exe is apparently borked beyond recovery. A quick google shows that it's apparently a know problem. Right... Breaking your basic OS kernel loading during an update, that makes Ubuntu's X11 foul-up look good in comparison! At least with Ubuntu, you can get all the media you like -- my laptop came without installation media, and the recovery thing on the recovery partition seems to want to erase my whole hard disk.

Oh, well -- another 16GB of hard disk available!

Playing with the Wacom tablets

Lukas Tvrdy, the Krita Google Summer of Code student currently has one of the two wacom Intuos tablets with art pens the community has sponsored us with. (The other is with Emanuale Tamponi). One of the goals of us having these fancy tablets is making sure Krita does interesting things with features like tilt and rotation, and one of the goals of Lukas' summer of code project is to make a chinese brush brush engine that takes these parameters into account. But, of course, serendipity is always welcome:

I've asked Lukas to make sure that we won't lose this effect through over-eager debugging :-)

How to install GiMP 2.5.2 on Ubuntu 8.4

According to billstei in this comments it should work this way:

(This is a compilation of his three postings, I haven’t tried it.)

I was able to compile and install Gimp 2.5.2 (alongside the normal Ubuntu Hardy Gimp 2.4.5, so I have both at once) by following the instructions here: http://www.gimpusers.com/…

However I did the following differently:

1) I did not find it necessary to compile GLib or GTK+ as the ones already in Ubuntu Hardy were fine. So I only compiled babl, gegl, and gimp.

2) In step #5 the only export that you need for compiling is this one:

export PKG_CONFIG_PATH=/opt/gimp-2.5/lib/pkgconfig

Both the gegl and gimp configure steps will demand that you do that export first, or it will complain that you do not have babl. Make sure that you actually do have the babl you just created installed first, or else it will be correct when it tells you that you don’t have it :)

Then to run the program I made a shell script like this (per the advice on the Gimp website here: http://gimp.org/release-notes/gimp-2.5.html )

#!/bin/sh
 PATH=/opt/gimp-2.5/bin:$PATH
 export PATH
 LD_LIBRARY_PATH=/opt/gimp-2.5/lib
 export LD_LIBRARY_PATH
 /opt/gimp-2.5/bin/gimp-2.5 “$@”

Whatever name you give to that shell script file is the one you use to start Gimp 2.5. Remember to do:

chmod +x [whatever-you-called-it]

so you can execute it.

3) I prefer to use deb packaging where possible and so I use the program “checkinstall” rather than doing the “sudo make install” step for each of the 3 compiles. Checkinstall is a little buggy at times so you may not want to use it, but if you do here is some advice:

3a) Checkinstall will fail until you create some directories ahead of time (there may be some I missed, but checkinstall will let you know):

 sudo mkdir /opt/gimp-2.5/share/locale
 sudo mkdir /opt/gimp-2.5/share/icons
 sudo mkdir /opt/gimp-2.5/share/icons/hicolor
 sudo mkdir /opt/gimp-2.5/share/gimp/2.0/fonts

3b) Checkinstall will list 10 options, and option line #2 is the name of the package itself, which will be by default “gimp”. Since you already have “gimp” installed as Gimp 2.4.5 you will have to change the package name to avoid a conflict, to something like “gimp-2.5″ or similar, just so it’s different.
4) Start checkinstall like this:

sudo checkinstall --install=no

Then when it finishes you will get a deb, which you can install like this (babl package shown, similar for the others):

sudo dpkg -i babl_0.0.22-1_i386.deb

and of course the advantage is that this will show up in Synaptic if you later decide you want to get rid of it (or upgrade it).
I wish I could say all this is “easy”, but perhaps not. If it seems confusing, then just stick with the original instructions and not mine.

According to the weather report I have a lousy weekend in front of me, (my Croatian friends: it’s afternoon and 16°C in front of my window….. ;-) ) so perhaps I’ll give it a try.

Share This

July 18, 2008

Open Thread - 080719

Let’s try this - open for any comment, question and so on. Basic rules of human interaction apply.

Oh, an addition: I’ll steal the interesting parts…. ;-)

Share This

“Open Thread” postings? Forum? what else?

This comment suggested a posting from time to time where you can post any comments, without being bound to the topic of the show or posting. I like the idea. But I can also set up a forum - not that much work and I would hope for some of the interested people to step in as a moderator.

What do you think?

Share This

Off to OSCon

I only just got home Friday evening, and after a weekend with the family, and 3 working days this week, I’m off again to OSCon, for the first time. I have a feeling I’ll be seeing some familiar faces :) I’m currently posting this blog entry (which I wrote on the airport) in room 640 of the Doubletree (anyone who’s reading this & wants to grab a bite tonight, ring me at +33 677 019 213).

On Saturday and Sunday, I’ll be helping run the FLOSS Foundations meeting, then on Monday I’ll be helping out a bit with the Open Mobile Exchange day. I may take Tuesday as a relaxing/working day before the conference proper, where I’ll be giving the State of GNOME lightning talk on Thursday morning.

My main reason for going to OSCon, though, is to meet people who might be interested in availing of my consulting services. As someone who’s recently set up shop, but who has worked with free software communities for many years, I feel I’m well positioned to help companies save money by working better with communities they depend on. It benefits everyone.

My services go from presentations to managers & directors, training of developers in the dynamics of a given community and how best to work with them, to on-site consulting on specific issues like free software governance, community management and integrating free software best practises into your development team.

The transition from closed shop to free software participant is complex, and often underestimated. I can help make it easier.

I don’t much like banging my own drum on my syndicated blog, but I figure that I don’t do it very often, so… if you need someone like this, drop me a line.

GUADEC in hindsight

It’s been a hectic week, but I really wanted to write up some notes from this year’s GUADEC for posterity, and to share some of the great stuff that happened that people might not know about.

GNOME Mobile

After arriving late (very late) on Monday, I was up early to go & lead the GNOME Mobile BOF in the nice luxury bar on the top floor of the building.

The meeting location had been changed the day before, so we left people an extra half an hour to find the room. Unfortunately, we were a couple of days late to appear in the printed program once we’d decided when to hold the BOF, so some people who really wanted to be there found out afterwards.

The BOF went well - some really interesting discussions, and, I hope, some momentum to carry us through to a successful 2.24 GNOME Mobile release and a productive collaboration effort over the coming months.

We will be working on updating the website to list the active participants, collect and publish success stories from GNOME Mobile developers and users, and provide a more fruitful collaboration forum for participants.

Keynotes

I loved Leisa Reichelt and Matt Webb’s keynotes. Since I was the one who invited them, I’m glad that they seemed well received by those who attended. Matt’s keynote suffered a little by being at 10am, but unfortunately he had to fly away early in the afternoon, being the FOO that he is. Interesting factoid: the book that Matt co-authored for O’Reilly, “Mind Hacks”, was not for sale at the ORA stand. I bet that we could have set up a signing session if she had some ;)

I also enjoyed Chris Blizzard’s keynote, and Alp Toker and Kristian Reitveld’s sessions were choc a bloc with interesting technical stuff.

Unfortunately, I didn’t see Federico’s talk as I was already at the airport, and thus I also missed the closing plenary, the foundation meeting, and (with great regret) the lightning talks.

Presentations

I did get to catch some great presentations though. Clutter Guts was great - really fascinating stuff, and as always, pippin gives a mean demo.

I caught Travis Reitter’s Soylent talk, and I think I missed most of the feature presentation & demos in the first 5 minutes… which was unfortunate. It seems to me like libsoylent is aiming to provide the type of API I was kind of expecting from Telepathy… I don’t know if that’s a pair representation.

I also caught Owen Taylor presenting Big Board and the GNOME Online Desktop - promising stuff, and it seems like it’s almost at that inflection point you get in a project where it goes from a small project to one that gets adapted everywhere. It seems to be, as I tweeted at the time, like Gimmie, brought through to completion.

I think the only other presentation (outside of keynotes) I caught was my own, which seemed fairly well received. I managed to give Chris 20 minutes break before his keyboard too, which was great.

GTK+ 3

I’m not going to take any part in the whole GTK+ 3 discussion, though, except to share my own experiences with third party developers. Having worked with a company that had a GTK+ 1.2 interface that we were supporting for years for a client because the client didn’t want to pay to have it ported to GTK+ 2.x, I see where Miguel is coming from. I also understand that it would be good to have some idea of the things people don’t like in the current platform before committing to an API freeze for at least 2 - 3 years again.

Perhaps that would be a good first step - going beyond the initial rant to say “OK, what features do people not like? What do we need to change/add to the current platform to address the needs application developers have?”.

Like I said, I’m going to mostly stay out of it, except to reiterate one point I made on the marketing list - I think it’s a bad idea to connect a change in major version number in GNOME to a change in the API of the platform. GNOME version numbers indicate compelling new features to users, API version numbers convey something about the API, which users (and, by extension, press) don’t care about. We need to concentrate on the user when talking about GNOME versions.

GUADEC selection

I was happy to sit in with the board on the discussion with KDE eV when the three bids for GUADEC/Akademy 2009 were considered. Based on what I’ve learned from being involved in GUADEC organisation every year since Kristiansand, I recommended that the final cost to attendees (with particular thought for companies sending many developers from the US) be the primary deciding factor, the organising committee and their community credentials second, with the location itself being third.

While I’m happy to see the Canaries chosen as the final choice, I don’t think that my suggestions were particularly given precedence in the decision making process. In any case, I hope I’ll be able to help make GUADEC 2009 a success.

Stormy

I know what she’s thinking - “I’ve had enough publicity at this stage, let’s get people talking about GNOME” - but I am really really pleased to see Stormy come on board as the new Executive Director. When I mentioned it to her back in April, I really didn’t think that she would be interested, but I saw from that first spark of interest that she has wanted to work with the GNOME project for a long time. The stars were aligned and it has come to pass.

I know, when we decided to hire for the role a couple of years back (yes, it’s been that long) Jeff had major concerns about the title - he wanted to set different expectations to those we had of Tim. I agree with that - and I think that the board have done a good job of setting those expectations with Stormy. She is our relationships person, and we direly needed one working full time.

Outside the conference

The FreeFA World Cup has its third running this year, with 3 teams battling it out in the Turkish sun (I’m still trying to work out if we were mad dogs or Englishmen) before battling with Turkish rush-hour traffic (for some reason, Istanbul rush hour seems to be around 8pm). Others have written about it already. In spite of the considerable handicap of wearing the most heat-absorbant t-shirts, the black team won through against the red & white teams, thanks to a rock solid defense. There’s no praise like self-praise they say.

SMASHED was again a great success - this is the third time I’ve brought a bottle to a conference, after buying a Glenrothes 10yo on my way to China for the Linux Foundation Developers Summit and bringing a bottle I’ve completely forgotten to Austin for the Collaboration Summit in April.

This time, I will definitely not forget - the Glengoyne 12yo cask strength I brought was a lovely bottle among other lovely bottles. We spread the whisky love around, I hope that all the whisk[e]y lovers on the boat got at least one wee dram. Karl & John Carr were feeling a little worse for wear at the end of the evening. I managed to be a little more reasonable than those two… but only slightly. And the nightcap of reki on the pillows put paid to any hope I had of making it into the conference the following morning.

I really enjoyed getting some quality time with Luis, jrb, Lefty, vuntz and Stormy, and the many discussions I had on the rooftop, in the hallways, and on the boat. The really best thing about GUADEC is the conversations happening all the time.

Dark times and…


Hi all

During vacations all the servers of my school are shut down, so I
will be off line for the whole august. So don’t worry if I don’t seem to
answer.
In september with the regular courses, things will return to their “normal”
state. For that reason I was in a hurry to make the release before the
big black out ;)

For the next weeks I am to upload the rectified tutorials and new ones about
making clouds, using UV mapping for volumetrics,shadows, scattering etc.

Good news: In the past weeks I received a huge help from Marc, he sent me through a friend coming to Cuba a lot of resources from the internet that will keep me in the light for the vacations and I also received yesterday 2 presents: one from Grafixsuz with the BBB DVDs and another from Tony Mullen with the book “Introducing character animation in Blender”:

I just have to say WOOOW!!!!

Thanks one more time to those friends scattered across the world!!!!

Farsthary

Howto: fun blog entry while stabilizing software

Boudewijn just mentioned that KOffice was entering soft-freeze and that it would mean more boring blog entries while we work on stabilizing KOffice. Well I must disagree with that, I usually find the most annoying bugs while preparing blog entry, and when working on stabilizing Krita, it usually wake up my creativity part (mostly because it's not sucked by my coder side while designing new features), which can be turn in fun entries.

I just bought the new Super Smash Brawl for WII (yeah not the best way to concentrate yourself on bug fixing, but very good to clear your mind), which includes the infamous Mr Game & Watch character (probably for nostalgic reason, my favorite). So this has inspired me: it should be easy to reproduce it using Karbon:





And I must say, the work that was done on Karbon14 by Jan Hambrecht for 2.0 is really impressive, the curve editing is really good now (compared to older version). And the nice thing is that you can use what you have create in Karbon14 directly in other KOffice and you will benefit from the same editing capabilities:




Preview do Mudbox 2009 com uso intensivo da GPU

Uma dúvida comum aos usuários que estão começando a trabalhar com computação gráfica é sobre o hardware para esse tipo de atividade. Para ser sincero, até pouco tempo atrás um item que considerava dispensável nessa prática era uma placa de vídeo poderosa, que na grande maioria dos casos ajudava apenas no render em tempo real, [...]

Last.FM

Every dramatic change will trigger a negative reaction wave. The happy users are almost always happy in silence. But I have to express my gratitude to the last.fm redesign. Unlike pretty much all of my friends I welcome the change.

Last.FM was like an ATM. Everybody appreciates the usefulness of these devices even though they have the most terrible interface ever. They make you go through numerous menus, selecting from accounts you don’t even have, only to tell you at the end you mistyped the pin. I felt the same way about the old site. It was an amazing service but I always struggled to find what I’m looking for even though I knew it’s there (a bit like using Blender ;). All these boxes everywhere. And the cheesy aqua highlights! Everything looked the same. It was like trying to find your apartment in a Czechoslovakian panel house estate.

The new site is airy, with plenty of whitespace, the sections are nicely separated and apart from the new logo, everything is just better than on the old one. So if you happen to have been involved in the redesign and read this, there is at least one of your users that is extremely happy about the change. Thanks!

Freeze!

Well, only a soft freeze, not hard yet. But that means that we won't add new features to KOffice anymore that haven't yet been announced in our feature plan. And those features, even though in the plan, that haven't been at least a little credibly implemented by September 16th won't make the cut for 2.0.

What does that mean? Well, our blogs will become a lot more boring. We'll be doing more and more stabilisation work. And more and more bug fixing. And more and more smoothing out of wrinkles. And more and more things no-one can interpret as a "promise", even though it's only the enthusiastic articulation of a developer in the heat of the hunt.

On the other hand, we've been working on KOffice 2.0 since 2006. That's right -- we started porting KOffice to Qt4 and KDE4 March 27th, 2006. And it's no denying the road has been gruelling. Really, I totally grok the GTK people who don't want an api break for GTK 3.0. On the other hand, unless GTK gets gingered up a lot, any GTK app will be too nineties for words in a year or two.

And moving an app over to a new API is only the beginning. Frictions among KOffice developers, chasing the taillights of kdelibs, Qt4 that wasn't really as excellent as it should have been until 4.3, personal things like job or house changes, an increase in bad manners among the general public (although I remember saying the dot wasn't any fun anymore in 2006 already). Sometimes the fun and excitement was hard to find. And now we're in boring stabilisation mode again...

And I'm still worried about sustainability. I worry whether it's possible to write world class office software with more or less one part-time coder per application. Especially when that part-time aspect gets eroded by days jobs. That is why it's so great that NLnet sponsors us, with money for logos and money for Girish Ramakrishnan to really focus on some issues. But we really need more people!

You don't need to know C++ -- we can teach you that, no problem. And despite the aforementioned frictions we're a nice bunch of people, really. And we're pretty patient with questions. We cannot promise money or riches, but we can guarantee fame and fun! And we're committed -- we'l go on and on, alpha after alpha until we have something we dare call a beta -- and then we'll go on and on until we've got a release candidate.

Dockable dialogs - manipulate the GUI with PyQt and ScripterNG

With ScripterNG and PyQt you have access to the GUI and you can test new stuff easily.

Here is an example with dockwidgets, which are curently not used inside Scribus:

If you look in the lower left you can see that overlapping dockwidgets get tabbed. This is a new feature in Qt4.


This is done by the following code:

from PyQt4.QtCore import *
from PyQt4.QtGui import *

class DockDialog(QDockWidget):

def __init__(self, dlg, area=Qt.RightDockWidgetArea):
QDockWidget.__init__(self, dlg.windowTitle())
self.setObjectName(dlg.objectName() or i18n(dlg.windowTitle()))
self.resize(dlg.size())
dlg.parent().addDockWidget(area, self)
dlg.setParent(self)
dlg.move(0, 0)
self.setWidget(dlg)
self.show()
dlg.installEventFilter(self)

def eventFilter(self, obj, event):
return False
if isinstance(event, QCloseEvent) or isinstance(event, QHideEvent):
obj.hide()
self.hide()
return True
elif isinstance(event, QShowEvent):
self.show()
return QDockWidget.eventFilter(self, obj, event)


dockables = ["Properties", "Outline", "Layers", "Arrange Pages",
"Scrapbook", "Bookmarks", "Align and Distribute"]
docks = qApp.docks = {}

for tlw in qApp.topLevelWidgets():
if isinstance(tlw, QDialog):
title = str(tlw.windowTitle())
if i18n(title) in dockables:
docks[title] = DockDialog(tlw)


This is more a proof of concept and the code should not be used in production, of course. But you can see what is possible with a few lines. And it might be an inspiration how to improve the GUI of Scribus.

Making of do Wall-E

Se você é fã de computação gráfica, profissional ou mesmo entusiasta de jogos e outros assuntos relacionados com visualização gráfica no computador, você precisa assistir Wall-E. Fui assistir a animação já faz aproximadamente duas semanas, mas hoje mesmo ainda tenho vontade de visitar o cinema mais uma vez para assistir novamente a animação. O pessoal [...]

to Istanbul via Tokyo

Last week I was on the road for openPrinting. First a couple of days in Tokyo to discuss with the Japanese printer manufacturers my printing dialog design. There was appreciation and encouragement, but the best news last week was that the printing dialog is scheduled to go in all major linux distributions next spring.

With that under my belt, I spent a couple of days in Istanbul for guadec, the GNOME developer conference. I did a presentation to raise awareness among developers for openPrinting.

the 8 rules of printing interaction

For my presentation I condensed the challenges, findings and solutions of printing interaction into eight rules:

1st rule of printing: printing does not exist

m+mi works’ partner company, relevantive, performed user research at the beginning of this project. It showed that for users there is no worthwhile, productive activity between the moment they want to see something printed and the moment it comes out of the printer.

Printing, like streetlights, is infrastructure and it just has to work. This has important implications as we will see.

2nd rule of printing: printing does not exist

When I got started on this project in October 2006, I evaluated all printing dialogs for GNOME, KDE, windows and OS‑X. The overall impression was one of stagnation, a time warp back to the mid‑nineties. Only OS‑X is inching forward, getting ahead of the others.

Since then I have learned where the stagnation comes from: no one can be bothered to do the development work. This ‘can’t touch this’ approach was again palpable at guadec. Delivering an innovative interaction concept has broken this negative spiral. Alex Wauck is developing my new dialog design, for GNOME and KDE at the moment.

3 levels of printing

Taking the paradox of the first rule to its logical extreme, we introduced three levels of printing.

level 1
Printing that just works. Users know for 90% of the printing they do that ‘it will be OK’ when done like last time. As the first—and probably most important—innovation in this project, we complement today’s Print… command with ‘Just Print’, which shows no dialog and prints using defaults and last used settings.
level 2
A basics level of involvement: what printer; maybe set a quick preset; check the preview; done:
level 2 printing dialog
level 3
Detailed. Parameter. Tweaking. It is ironic that within the openPrinting project we will spend most of our time, discussions and effort on covering this single last percent of usage.

4th. wysiwyg is overrated

There is no better way to derail a discussion about printing than by using the example of printing a word/openOffice writer file. These applications are one of the few out of tens of thousands where the data is already paper‐formatted on the screen. That takes our mind off an important part of the process.

Spreadsheets; web browsers; email; MP3 collections (iTunes); anything based on a database: all these applications will have to put their data through a transformation to get it on paper, when they print. This is exactly the point where application and printing infrastructure have to cooperate most.

5 million use cases

Being a generic piece of infrastructure, printing turns out to have as many use cases as there are users. Try to take the encyclopaedic route and map these out: you will go mad with an exponentially ballooning amount of variants.

Life is easier being a printer. Each model is made in relative limited numbers for a specific market. This focus is useful for the printing dialog design. But I can not run a design project saying ‘gee, everything depends on the printer model.’ So early 2007 we surveyed the printer market and formed the following printer clusters:

This covers more than 95% of the market. I am in the process of designing a printing dialog for each cluster. Printer manufacturers can customise these best‐practice examples for their models.

6th. unknown: good printing dialog

What is the ideal layout for a printing dialog? I can tell you that only when I know the specific user’s goal (one of those five million), in the context of the application that is used and the printer that is targeted. Of all of us, only that specific user is present when these three meet.

The solution is user‐configured printing dialogs. Users shape the dialog so that they can achieve their goal for that print. The dialog configuration will be persisted as it was left, for the particular user + application + printer combination. It will be ‘just right’ next time that user prints from that application to that printer.

7th. tabs considered harmful

I am talking about the tabs, at the top of the dialog below, that segment the printing parameters into technical categories. Apart from the danger of separating parameters that were related or putting one in the wrong category—both from a particular user’ point of view—there is a more fundamental problem.

a print dialog with six tabs

Assume six tabs as shown here. And the better‐than‐real‐life situation that all printing parameters are evenly distributed over the tabs and that users actually know where to find each parameter.

  • is it not a pity to have to change tab once to set one parameter? there is a 83% that this occurs;
  • is it not annoying to have to change tab twice to set two parameters? 75% chance;
  • set three parameters, what is the worst that could happen? to have to change tab three times: still a 50% chance.

That is an untenable situation. Tabs work great in some situations—e.g. tabbed browsing, preferences dialogs—but not in a printing dialog.

8th. tags not tabs

The solution is to associate multiple printing aspects with each parameter instead of just one category. Tags instead of tabs:

mapping three tags to seven parameters

As a result from rule five, this mapping will come from the printer (PPD). Implementing rule six, users will configure their dialog by selecting the aspects (tags) that interest them, seeing as a result all parameters they need in the dialog (animated gif):

cycling trought the tags

printing rules, OK?

Those are the 8 rules of printing interaction. Stay tuned for a small encore, the guadec special: what about pdf?

July 17, 2008

Cantocore.com Launched + Home Concert Preview Next WED

Over at Fabricatorz we launched the Cantocore.com website and are continuing to push on raising funds to fund selected artists projects. If you are in SF, we invite you to come to the Home Concert Preview next WED from 7-9. Tickets to the event are $50 and may be purchased at the door, or preferably, through paypal or contact jhoover.charles@gmail.com to process payment.

NOTE: If there is some other contribution to Cantocore by writing about the shows, contributing to the blog, helping record the event, please contact me to discuss bypassing ticket price.

Good friend Christopher Willits will be performing along with Chinese musician Ma Jie“>Ma Jie. Wine and snacks will be served as well! From the RSVP list it will be a great mix of interesting folks from the area. We have a cap of 70 people, so please do RSVP today. More about the launch, project, and Cantocore.com Home Concert Preview:

Hi all, welcome to a new project which is a collaboration between Fabricatorz and Garage Biennale. Here are two levels of scale about the project:

“Art show in Guangzhou, China in September 2008 and then in San Francisco November 2008.”

And, a few more sentences…

“Garage Biennale and the Fabricatorz are bringing you Cantocore, a research project investigating contemporary art and culture between Canton (Guangdong) and cities around the world. The initial focus is a contemporary art exhibition with two versions of the same show in San Francisco and Guangzhou, China.