Way of the Monkey
Skyhopper Travel
Book Travel and More
Book Golf Tee Times
Last Minute Deals
Calendar of Events
Projects
Tango Portfolio
Cool People
Anna Dirks
Andreas Nilsson
Andy Fitzsimmon
Frédéric Bellaiche
Hylke Bons
Jakub Steiner
Josef Vybiral
Olivier Charavel
Ryan Collier
Sebastian Kraft
Simon Pascal Klein
Steven Garrity
Tuomas Kuosmanen
Vinicius Depizzol
August 2008
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Recent Music
GNOME Summit, Calendar Widget Tue, 19 Aug 2008 23:08:14 -0400

The Boston Summit is getting closer every day. The list of attendees is still fairly short though. But if you know you're going, add yourself to the list, and help another hacker make it to town, by booking your tickets and hotel stay on this site. You might even be able to find good weekend deals for the entire weekend, for what a single plane ticket could cost. Or if you're going to any other events, or just taking a trip, please book through this site as well. Much thanks to anyone who does.

In other news, I've gotten the basic drawing bits done for the month view of a nice MVC calendar application widget, done. I started working on it a couple days ago, and so far only have about 600 LOC, including the demo app code, to get what's in the screenshot below. Just a little bit more work, and it should be usable as the month view in an actual calendar app. This is just the beginning to some other stuff that I would like to work on, but don't really have the time, and can't afford to do, right now.




Recent Hacks Wed, 13 Aug 2008 22:10:10 -0400

Today, I ended up getting a few hacks committed to SVN, and got a mostly working patch against leafpad together, to make it use GIO for file I/O. I fixed Beef to check the Last-Modified header using a HEAD request, for subscribed feeds, and got rid of the previous check to see if an update should be pulled. The previous method was just a timeout that checked against the last timestamp the update loop was run, to see if a specific feed needed to be updated. It worked okay, until I started subscribing to more feeds, and having the daemon restart, as all the feeds would just end up having very close timestamps for their last update time. Now, Beef compares the Last-Modified header, and stores that value instead. Recently, I had also ported Beef over to GIO, from gnome-vfs, for the case where embedded content might be pulled from a different protocol than HTTP(S). I also got rid of gnome-vfs in gtkhtml2's testgtkhtml program, replacing it with libsoup and GIO, at the same time. Today, though, I also committed the changes to make Encompass use GIO instead of gnome-vfs for loading data on protocols other than HTTP(S). This was a bit more work than the previous two patches, as I was using gnome_vfs_get_mime_type() to check the MIME type for URIs, so that I didn't end up streaming an exe into the HTML view. But GIO/glib doesn't have an exact replica of that functionality, so I had to end up writing a method using libsoup to check the content type. It works by requesting the first 1024 bytes of data from the server, and using that for the magic comparison with the GConentType API. It also checks the Content-Type header, and falls back to application/octet-stream on error. It's nice to click on a PDF and have it just open right up in Evince. I also haven't got the code together yet, but it will be extremely simple to pop up a dialog for RSS/ATOM feeds, so that the user can just subscribe to them.

As far as leafpad goes, I like very much how lightweight it is, and really wanted to be able to just click on patch files in the browser, and have them open right up in it. But, leafpad wasn't using GIO or gnome-vfs. And the text/plain handler that does support opening from URIs, which gets called, happened to be OpenOffice.org. Quite a bit much for just opening a small text file. I also don't seem to be able to find where the source repository for leafpad is, if there even is one. So, I took to using the tarball to create the patch. It's not a complete patch, but it does get the job done. I can open files remotely, and save to remote as well, though there does seem to be an issue with saving large files. I think there might be a bug in GIO (my sftp mount disappears off my desktop), but I'm not sure exactly, and haven't spent any time debugging it really. But here's a screenshot of www.gnome.org opened in leafpad using GIO:




GNOME: People or Objects? Fri, 01 Aug 2008 20:07:54 -0400

Recently, I'd had this book recommended to me. I immediately picked the book up, and read straight through it today. I strongly recommend it for anyone who is currently, or wishes to get involved in, the open source community. If we all take the advice within to heart, and get out of the box, so to speak, we would get a lot more done.

Leadership and Self-Deception: Getting Out of the Box is a great read, yet short and to the point. It's less than 200 pages, and I read it in the span of only a couple of hours. If it's not on your bookshelf, put it there. Everyone should read it.

Taking the content to heart in terms of usability and accessibility development, would be especially helpful in the GNOME desktop. Currently we treat end users, and users with disability, as lower class objects, rather than real people. Making the user interface better and more accessible for anyone other than us is something we often see as a burden. It slows us down, and gets in the way. We blame accessibility technologies for problems in design and code. We need to just treat these users as people too, and fully understand how they currently use the desktop, and what changes would make using the desktop better for them, as well as for us. We need to fix these problems in design and code, not avert blame, or justify them with mediocre workarounds that the users themselves can accomplish.

A good example of this is the argument about a problem in git, which hp and jclinton were having on IRC, earlier today. Havoc was explaining how and why it was a problem. Talking about why git should not allow the user to perform such action at all. Jason on the other hand, was simply arguing to justify the behavior, as there are trivial ways to resolve the issue, though such resolution must be performed by anyone using the central repository where the issue becomes a problem. Seeking to justify the behavior doesn't make the behavior any more valid. It just means there are possible workarounds or solutions that can be done, once the problem appears, and is noticed. Seeking to justify the means, just means everyone loses.

That example is great, because if whoever wrote the commands for git did some basic usability testing, and treated users as people instead of objects, the whole issue could probably have just been avoided in the first place. I'm sure there are many more examples I could come up with, especially in GNOME or KDE, but this one was fresh in my mind. And it's a great example of how just relaxing and treating people as people, could help resolve a lot of our conflicts in the community, and make our software much better for everyone.




Senility in Tabs Sat, 12 Jul 2008 12:45:34 -0400

Calum, I must agree with you.

Some of these hacks from GUADEC are a perfect shining example of why tabs can be a bad thing. Rotated text will almost always be a bad thing in a user interface. Especially in one that is translated to so many languages.

Please stop the madness of forcing such nonsense upon your users, people! It will only make things worse and harder to manage, and in the long run (or perhaps even in the short run), you will want to switch back to your pre-tabs behavior by default anyway.

Hopefully, none of the Pidgin hackers were at GUADEC and taking part in the tab histeria. I was going to try and switch to Empathy soon, but given the recent news, I think I might have to stay away from it for now. At least until Pidgin ends up in the same boat with lots of crazy tabs in the buddy list that shouldn't exist. Or maybe I should just revisit an old plan again.




Istanbul Mon, 07 Jul 2008 13:35:27 -0400

Not Constantinople.




Ninja Monkey icon based on face-monkey icon from The Tango Project