McEs, A Hacker Life
Burning DVDs in Linux
It was interesting to see
Uraeus experiencing the same problems with burning DVDs that I did originally when I got my (now dead) laptop. The surprising point indeed is that cdrecord (as shipped with Fedora) cannot burn DVD+R's (not sure about other types) but growisofs does that flawlessly.
Personally I've put the following aliases in my ~/.bashrc:
function burndvdfunc() {
f=${1--}
[ "x$f" = "x-" ] && f=/dev/stdin
growisofs -dvd-compat -Z /dev/dvd=$f
eject
}
alias burn='sudo cdrecord -overburn -eject dev=/dev/hdc driveropts=burnfree'
alias burndvd='burndvdfunc'
alias mkisofs='mkisofs -rJ -joliet-long'
alias mkdvdfs='mkisofs -rJ -dvd-video'
And now burning all kind of things has become a pleasure:
- To burn a data CD: mkisofs -V 'title' dir | burn -
- To burn a data DVD: mkisofs -V 'title' dir | burndvd -
- To cook and burn a video DVD: mkdvdfs dir | burndvd -
For mkdvdfs to work, all files should have all-capital filenames. That became a small issue last week when I was trying to burn a home-made DVD from files on a FAT32 partition on an external harddisk of a friend, as by default, vfat mounts tolower all the all-caps names. The shortname=win95 mount options does the trick, but it doesn't work with -o remount, so you have to umount and mount again.
GNOME Work This Cycle, Done
So to avoid missing the deadline again, I actually rolled out and released vte-0.11.20 and gucharmap-1.5.3 on Saturday, and pango-1.10.4 and pango-1.11.99 on Sunday, and Phil released dasher-3.99.5. Get all from
http://download.gnome.org/sourcesPango-1.10.4 is probably the last Pango release in the 1.10 branch. Vte, Gucharmap, and Dasher are just waiting for more translations before turning into final releases for GNOME 2.14, and Pango-1.11.99 is named so "Just In Case." So I'm done with GNOME work for this cycle. Can cross my fingers until the next tarballs-due before rolling some more.
I made a supposedly better, cool, Tango-based icon for Dasher. Looks like this:
. It's got a semi-transparent background. My first version had a transparent background, like this:
. The old dasher icon was this:
. Comments welcome.
That said, gucharmap can use a better icon. Filed
here.
I plan to do a separate post on all the cool stuff that went into Pango this cycle. Got to reply to the Werror posts too. Both are will be really long posts I'm afraid...
Turing Test or Dumb Humans!?
This happened today in #gtk+. Only after receiving a /msg from Dorito with the bug information and doing /whois Dorito I figured it's actually a bot; I was joking when I said "Dorito: you're a bot!"
(16:03:17) leio: let me know the number ;)(16:08:20) behdad: bug #332672(16:08:28) behdad: lazy bots(16:08:56) Dorito: behdad: lazy humans!(16:09:31) behdad: Dorito: that's why computers are for.(16:10:34) Dorito: behdad: no computers are to make fun of you!(16:13:16) behdad: Dorito: you're a bot!(16:23:20) carol: Dorito: bug 332672(16:23:48) carol: software that does not respond when it is none of her business
Desktop Libraries' Releases
[Awesome news about
Qt willing to integrate with GLib main loop]
Today was a happy day for Pango, as these releases hit the net:
- GLib 2.10.0, which is the final GLib release for GNOME 2.14. Thanks to Matthias Clasen for producing yet another great release of our beloved Swiss Army knife library.
- Fontconfig 2.3.94, which is far more stable than the previous beta of the (hopefully soon) upcoming fontconfig 2.4.0. Kudos to Patrick Lam, without whom there could not be a fontconfig 2.4.
- Last but not least, FreeType released the third release candidate for the upcoming FreeType 2.2 release, and the previous two release candidates where released during the past four days! Well doneDavid Turner and Werner LEMBERG.
Now
David Turner is my hero of the day. If you don't know, FreeType started not exposing its internal headers anymore, for sometime, all in CVS. This was known to break several major libraries and applications, including but not limited to Pango, Qt, and fontconfig. First thing David did was sending patches to each of these
rogue clients to make them not use the private headers. But as time passed, it became clear that releasing 2.2 without the private headers and symbols, would break several (mostly Debian) systems seriously, and there was no easy solution to that. See
here for details of the problem. In the past couple of weeks, David finally decided that the only way to not break lots of systems is to provide wrappers for old internal API to make applications
using private parts of previous FreeType versions still working with FreeType 2.2. That's as someone put it on the mailing list, in the level of backward compatibility that only companies like Microsoft and Sun bother to provide. Well done David.
There's one small issue with FreeType 2.2 though, that it doesn't round metrics anymore (for good), so Pango will render fuzzy horizontal strokes all over the place (
bug #327852). Not sure how exactly that should be fixed, as that may require changes in cairo... Just if we could have cairo 1.2 in the party today... But hey, they just
switched to git. Fortunately, Carl Worth is back to applying patches now. (-:
Update: After reading this post and some private discussion, David has reverted that change. Wait for Pango release now :-)
Linux Tip: tune2fs
Tiny and trivial yet useful tip: By default, ext2 and ext3 filesystems reserve %5 of the capacity of the partition for root, such that if the users fill up the partition, services running as root (as well as commands the root user runs) don't fail right away. You can reclaim that precious %5 on your /home or other user-only partitions by doing tune2fs -m 0 /dev/hdaX.
I have to look around and clean up space on my harddisk every other week, so gained some 2.5GB this way and I'm so happy about it (-:.
(I'm going to open an RFE with Fedora, to not reserve this %5 on /home partition by default.
Update: filed
here.
Update 2: Jeremy Katz comments in the bug that this reserved space is used to avoid fragmentation too. So zero is probably not the best value. Set mine to %1...)
Chelo-Kebab
Pouria is one of the coolest Iranian/Canadian friends that I've made in Toronto when I came here in 2003. Since last Summer, he's in Afghanistan as a Red Cross translator/volunteer. He writes an interesting
weblog and recently has started
a photo stream on flickr too.
Anyway, on Monday I was reading through his recent weblog entries when I hit his
Weekend in Samarqand post where he explains among other things how the kebabs in Central Asia are much better than in Afghanistan. Later he made another post with
photos of said kebabs. Damn, they look delicious!
Got past it and continued reading email, where I found a friend posting to an Iranian list this article about
History of Most Famous and Most Popular Iranian Dish, Chelo-Kabab. I couldn't wait anymore. finished mail and some bug work and headed to the nearest Iranian restaurant with Hossein for a real Chelo-Kebab. Nothing to be compared to any of the photos though. Have got to go to the Iranian area of Finch and Yonge for a real treat sometime soon...
Persian Linux Project
I'd know when the Iranian governmental
Persian Linux Project (link in Persian) sends requests for proposals. It's when multiple people send me emails on the same day about how they have become interested in this particular thing and they need my advice/help...
You Belong to Me
Watched
Broken Flowers (Jim Jarmusch, 2005) and
Natural Born Killers (Oliver Stone, 1994) on Saturday night with
a bunch of friends. Can't say I particularly liked Broken Flowers, not really Jim Jarmusch. But loved NBK. Inspiring even, and what a
sound track!
You Belong to Me
Natural Born Killers Soundtrack
Bob Dylan
See The Pyramids
Along the Nile
Watch the sun rise
On a tropic isle
Just remember darling
All the while
You belong to me...
See the market place
In old Algiers
Send me photographs
And souvenirs
Just remember
'Til your dream appears
You belong to me....
I'll be so alone
Without you
Maybe
You'll be lonesome, too
Maybe
You'll be lonesome too
And blue
Fly the ocean
In a silver plane
See the jungle
When its wet with rains
Just remember
Till you're home again
Or until I come home to you
You belong to me...
Chinese Feast
Yesterday, it was the grad visit day in the CS department where candidates for next year grad students where visiting. I was part of the theory group team of it, chatting with them over snacks, and we (the theory group) went out for dinner in a Chinese restaurant in China town when the Database and Graphics groups were partying in
Karan Singh's place.
The food was a real treat though. We tried more than ten dishes, every single one of them could make a delicious dinner in itself.
A cute (and easy) problem somebody dropped on the table: Find a polynomial-time algorithm to find a subset of the nodes in a simple graph, that is both a minimum vertex cover, and a maximum independent set, or determine that no such set exists. (Yes, it's maximum/minimum, not maximal/minimal. Yes, both min-vertex-cover and max-independent-set problems are NP-hard.)
gdbtui
Playing with gdb, I just discovered gdbtui. Very nice tool. Give it a try if you've not before.
Dear Maintainer
Please do me and several other (CVS) users a favor and do NOT turn -Werror on
under ANY condition. I will (and several other will too) appreciate if you respect our decision-making ability and freedom of choice on which compiler flags to use.
Let me assure you that I better understand about my compiler and compiler options, than your five lines of configure.in magic can ever do.
Please understand that Free Software (in particular, GNOME modules) are not your pet software only, and do NOT put what you should be putting in your ~/.bash_profile into configure.in
Thanks,
Behdad
CC:
gnome-keyring maintainer.
gnome-vfs maintainer.
gnonlin maintainer.
Releases
Let
vte-0.11.18 and
pango-1.11.5 out for next week's release. gucharmap is blocking on Behnam reworking his patch, and Phil will release dasher tomorrow as he has release access now.
Pango-1.11.5 released on 2006-02-11
Pango-1.11.4 released on 2006-02-06
Pango-1.11.3 released on 2006-01-30
Pango-1.11.2 released on 2006-01-16
Wow, that's four releases in one month!? I like making devel releases crazy like this, as Matthias pushes them in rawhide and they get a lot of testing. No major regressions so far, even though I've been committing crazy stuff (will post about in a second.) Anyway, I think I'm alsmost done with Pango for this GNOME cycle. The rest of changes that I have patches for need some more work and I don't think I can get them done in time for some testing.
By the way, pissed off at Novell and how they have a braindead bugs database that gives you an "Access Denied" even though what it means is that "You need to login." And this is the first damn time I see a registration form with those "required" stars on every single field. And they have one of those crazy little JavaScripts that tell you "Please enter a valid password that contains at least 6 characters and at least one letter and one number or punctuation character." Damn! Are their customers *that* stupid? I appreciate a password strength meter like the one gmail has, but I really doubt a 2 line JavaScript knows better than me what a good password should look like. Not incidentally, the only passwords of mine that I forget and have to beg for a new one are the ones that a crazy JS forced me to set a password other than what I originally wanted to set.
VTE is Fast now
VTE patches are in CVS. The throttling one, the faster private, and the efficient sequence handler table that I just cooked. The throttling reduces the time for a warm "ls -R /usr/lib" from above 5s to below 2s with no sensible difference on the screen.
VTE Performance Work
I've been doing some little performance work on vte, everyone's favorite terminal emulation library. See the report and patches in the performance-list archives
here. Please follow up on the mailing list for technical discussion.
bash_completion...
Now I've been in love with the
bash_completion package for a couple years now. I've always wondered about how much performance hit does it cause, by loading all the completion rules for all commands known to it in every bash shell, which is default shell in any decent Linux system, every single time... But never measured before.
Tonight, I'm writing a shell script (will post soon), and I was wondering why does it take 0.66s for it to print out usage information. Indeed it was bash_completion. First disable it, time down to 0.09s. Neat. But then I simply added a single magic line to /etc/profile.d/bash_completion.sh:
[ -z "$PS1" ] && return
so it doesn't run in non-interactive shells. That's it!
Bug Buddy Rockness!
Fer writes up about the new cool stuff going into Bug Buddy, the GNOME automated bug reporting tool.
One thing I'm sure both Bug Buddy can use, and us developers, if to have shorter URLs for bugs, like having http://bug.gnome.org/123456 redirecto to the current http://bugzilla.gnome.org/show_bug.cgi?id=123456
I'm sure somebody on the SysAdmin team would be happy to implement that :).
Update: I was just informed that in fact http://bugs.gnome.org/123456 indeed works ("bugs", not "bug", btw.) Ok, to have something proposed anyway, would be cool to have http://bugs.gnome.org/pango redirect to where it should too.
Gilmour and Preisner
As a followup to the
David Gilmour tour that we couldn't get tickets for, it
seems like he's in fact touring a new album,
On An Island, due to release on March 6, just before the tour begins. Nice move from Dave indeed.
More interesting detail of the album revealed in the linked page above is that the album features orchestrations by renowned Polish composer
Zbigniew Preisner. Now Gilmour I have always liked, as much as I like Pink Floyd, and Preisner has been my number one favorite composer. Never I expected though that they will work together... Not in my dreams!
First Dylan appears on a VictoriaSecrets TV ad, then Waters writes anti-Bush lyrics, and now Gilmour works with Preisner. These guys won't stop surprising us soon...