Donating and Travel
So, I've finally decided to enable donations on SourceForge for my projects, and myself. I've noticed several people have also searched specifically for Beef, Stopwatch, and a few other projects I blogged about, to get to my site. I would love to work on these projects more, but time and money just do not allow that right now, so I've set up these donation methods to allow others who want to see these projects get finished up as much as I do, to help with that by providing a little monetary support, as well. Believe it or not, it can be a bit difficult to work on open source projects without being able to pay for internet access, electricity, or a place to live. I also made up a quick little tango styled donation button to use on my sites for this:
On another note, the Boston Summit, and Speck Hack Fest are both coming up soon. If you haven't booked your trip for either of these yet, please check out Skyhopper Travel, where you might save some money on your trip. You can also check out the Deals page if you are in the US, for possibly very cheap weekend trips during the summit. You might have to wait another week or two for dates during the summit weekend, but in general a 2-night, 3-day weekend in Boston, including hotel and flight from Washington, DC, starts at around $200 round trip. Most of you will probably be spending more than that on just the hotel alone.
So, save a few dollars, help your fellow hackers make it to an event or
two, and let's all make GNOME kick ass together.
Stopwatch
The calendar widgetry is but one piece of code I've been playing with. I have also been wanting to write a GNOME client to the SlimTimer service, using their REST API. So, I bring to you Stopwatch, a task/timer program I've started, based on some of the ideas in the SlimTimer web interface. Currently, I've only got authentication working, though I haven't hooked it up to gnome-keyring yet, as I plan to. The screenshots below show the initial window, and a mock-up of what the tasks view will look like, when I get that code written.
<center>
</center>
And of course, I've drawn an awesome Tango styled icon for it as well...
<center>
</center>
I haven't put the code in a public repository anywhere yet, though. I hope
to have it actually be usable sometime tomorrow. It will be nice to use it,
instead of the pop-up web UI that I have to use now. It would be nice though,
if SlimTimer had due date and maximum time support for tasks. It
would be signficantly more useful if it did.
GNOME Summit, Calendar Widget
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.
<center>
</center>
Recent Hacks
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:
<center>
</center>
2 Aug 2008 (updated 2 Aug 2008 at 01:06 UTC) »
GNOME: People or Objects?

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.
Syndicated 2008-08-02 00:03:54 (Updated 2008-08-02 01:06:17) from dobey's blog
Senility in Tabs
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.
7 Jul 2008 (updated 7 Jul 2008 at 18:06 UTC) »
Istanbul
Not Constantinople.
Syndicated 2008-07-07 15:35:27 (Updated 2008-07-07 18:06:57) from dobey's blog
iPun
It's been a while since my last post, so I figured it was about time I put up another. My 60GB iPod photo is hanging on by the last thread of existence. And I've only got about 13GB of music on it. To have Apple fix it, would cost at least $250, and I can get a brand new 80GB Classic for that. So instead, I decided to get a hard disk and fix it myself for much less. Found a 20GB drive on Amazon for about $35 with shipping and everything. Still waiting for it to arrive, but should be here soon, and then I should be able to listen to all my music reliably. Currently with the bad disk, the iPod just locks hard at random, doesn't support sync, lost all my playlists, and fails to be generally useful. It runs the battery down quite fast in its current state as well.
I see Apple did release a 3G iPhone finally though. Too bad it's a year late on the scene. All the noise over the iPhone died out last summer, and I don't see everyone talking about lines down the street to get the 3G model. Maybe the overly expensive EDGE access on AT&T is fast enough. I switched to Sprint several months ago, as they came out with an unlimited everything plan, and the Mogul (built by HTC) does everything the iPhone can do, and more, got an update to enable EVDO rev. A. Plus I get a nice little discount, for being a referring travel agent.
Now if I could just get a private jabber server set up with all the transports
I need to IM with everyone on my contact list, and get SSH working on my phone.
Better UI would also be nice. Having to actually use a scrollbar, or the wheel,
on a touchscreen phone is a bit annoying when i'm used to flicking the screen
on the N800/N810.
Emblems, Tags, and Change
Decade of Decadent Desktops
With all this talk about change, I wonder if anyone is really getting the bigger picture. On particular thing in Andy's post about the decadence of GNOME stood out among the rest to me. His comments on input methods and the types of hardware we're using. It's not GNOME that is falling away due to some missing lack of innovation. It's the Desktop PC concept in general. Over the last 10 years, there have been leaps and bounds in terms of technology growth. The wireless internet. Camera phones. PDA and phone integration. Tablet PCs. The world is moving away from the desktop. It's really only a fitting metaphor for programmers, and data entry roles in an office, any more. And GNOME, being a desktop, doesn't fit the new methodologies. Nor do Windows Vista or Mac OS X. They might have pretty shiny panels, or 3d zoom effects, but in the end, they are still desktops. Windows Mobile is still even very similar to the desktop version of the OS. It's got a panel, start menu, and feels like you're stuck in it's convoluted world. We need to do more than just make a shiny panel, and pretty effects, to "break free from the decadence." We need to work on ways to empower the user, rather than trap them into our metaphors.
Back to Reality
One very common issue that has come up in my eyes more, as I go back into cleaning up gnome-icon-theme to remove old icons, and prepare it to be relicensed to LGPLv2.1+, is that we have a lot of useless emblems. The original idea of using emblems for metadata searching in the Eazel Nautilus was indeed a noble one, but I think they went ahead on the implementation a little too headstrong. Emblems have two distinct uses in the current implementation. You can set some as custom tags on a file or folder, and some are hidden from the user choices, and only presented to display certain properties of files or folders to the user. The former, I think, should be considered to be tags and not emblems. As tags are more specifically the same as categories, it would probably be best to pull category icons and let the user choose from them, and allow the user to set custom tag/category icons as well. As for emblems, these would be the latter type of usage, and the icon theme could provide all the necessary emblems to represent properties of files and folders. This would give us the clear separation we need, and allow the themes to be metter maintained and handled.
Currently, I am working on removing a number of these emblems as we speak.
A large number of them either duplicate other emblems or categories, or they
just make no sense to have, such as the "distinguished" emblem. What exactly
is it distinguishing? I thought all the emblems were to be used for that.
Hi Hater
This blog is awesome. I think
Alex missed the point,
though.
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!