|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|