Search Results: "tar"

7 February 2007

Clint Adams: Statement from the fambly of the nut

[astronut arrested] The family of Benjamin Seidenberg released this statement today: The family will not be granting interviews at this time, but does want to issue the following statement in response to numerous media requests. We are naturally saddened and extremely concerned about the serious allegations being made against Benjamin. We love it very much, and right now, our primary focus is on its health and well-being. Benjamin is a very intelligent, accomplished individual. As an honorary pamp-commando of the International Bacalao Organization (IBO) and dubbed the Lauren Jarrett of the Cornell Orthodox Union Dining Society, it has resisted the evil temptation of search engines for over 18 years with a mildly-blemished record. Benjamin attained the rank of Golancipel, and sailed as a Hackergotchi Specialist aboard the Good Ship Lollipop in August 2003. Personally, Benjamin is an extremely caring and dedicated sibling and loinfruit to its brother and parents, respectively, although we amended our life insurance policies to remove him as a beneficiary last week. Considering both its personal and academic life, these alleged events are completely out of character and have come as a tremendous shock to our family. We are anxious to allow the facts to develop so that we can better understand what happened, and why. We hope that the public will keep an open mind about what the facts will eventually show and that the legal system will be allowed to run its course. Finally, we are very grateful for the expressions of love and support that we have received from family and friends, and we ask for your continued thoughts and prayers for our family.

Meike Reichle: Planet weirdness or Dear Lazyweb

Should you be reading this blog via planet.debian.org, you may have noticed, that since a few days my posts stay on top of the page much longer than they should, usually for a few hours, and then start wandering down with the rest. The problem is: I am not editing my posts. Checking my rss feed shows a pubDate, e.g. Tue, 06 Feb 2007 20:26:00 CEST for my last post, and that pubDate doesn't change. Could it be a problem, that the pubDate is in CEST rather than, say, UTC? Or that it doesn't give the offset? I am using blosxom and this began happening when I removed the until then unconfigured timezone plugin from /etc/blosxom/plugins/ because I wanted the date of my posts to be at my local time and that (actually) works without having the timezone plugin, so I thought I wouldn't need it. I've now replaced it and set the timezone to CEST. This didn't affect the pubDate of my rss, but maybe it will fix my planet problem. If not, any other ideas how to fix this would be most welcome. UpdateAs I've been made aware by several people, we currently have CET, not CEST. Thanks for mentioning :) I am still trying to find the reason for all this. In the meantime, please excuse my planet b0rking.

Matthew Garrett: 7 Feb 2007

Since ncm asked so nicely, here's an article on how ACPI suspend/resume actually works. Or doesn't, as the case may be.

Ross Burton: Asynchronous Flickr Library, version 0.2

Flickrpc 0.2 is released. This has several improvements: Basically no new features but it now works on Python 2.5 without an external ElementTree, the code is cleaner, and it's LGPL instead of GPL. Grab a tarball here or the bzr tree here. NP: The Good, The Bad, And The Queen

Evan Prodromou: 17 Pluvi se CCXV

I got in late last night, and I've been trying to get caught up on all the various aspects of my life. I spent some time on the plane writing up my RecentChangesCamp 2007 notes, which aren't yet done. But I hit the ground running today. All charged up from a weekend of wiki talk, I decided to exercise some DoOcracy and organize this month's Wiki Wednesday here in Montreal. It wasn't really that hard -- I just made sure that the great meeting space at La Bande-passante was available, then updated the Montreal Wiki Wednesday page and sent out a link to the RoCoCo discussion list for good measure. I'm pretty excited to start discussions about RoCoCo, the Montreal RecentChangesCamp coming up May 18-20. We're about 3 months out, and although Anne and Antoine have done a ton of prep work, we still have a lot to do to get ready. tags:

Wiki Wednesday Portland Speaking of WW, I find it hard to believe that Portland, the so-called "Wiki City", doesn't have its own Wiki Wednesday event. I'm sure everyone there is burnt out right now, but it'd still be really useful. tags:

OpenID and CardSpace So, it seems like everybody and their dog is nattering about Bill Gates's announcement that Microsoft will be supporting the OpenID single sign-on solution in some future version of CardSpace. This is probably quite good for people who are using Microsoft desktop platforms, and obviously very good for those of us who already have OpenID deployed (like Wikitravel does). But I wonder if Windows Live ID users will be able to fully participate in the already growing world of OpenID-enabled sites. It would be cool if a Live Spaces URL, like http://evanprodromou.spaces.live.com/, it's possible someone smart is going to create a Live-ID-to-OpenID bridge, like idproxy is for Yahoo IDs. tags:

Meike Reichle: Second and third day in Luxembourg

Right, back from Luxembourg and here's how the other two days went: I woke up pretty early on Friday. Damn sportsmen, seems they all jump out of bed at 6 am, to happily (and noisily) engage in their respective sports. Horrible. I've never heard so many people be in such a good mood at such an early hour.
Breakfast was great though! I spent the rest of the day at the LinuxDays site. It was situated in the ground floor of the Centre de Recherche Public Henri Tudor and consisted of two rooms for talks and workshops and a tiny exhibition area with tables from Lilux, CAcert and a book shop. (Oooh, the temptation!!) It was also possible, to sit in the nearby cafe, which was right next to the exhibition area. Unfortunately LinuxDays.lu don't provide any kind of hacking centre (read: chair + table + power plugs), but the friendly people from CAcert offered me a seat at their booth/table so I could do some work. My talk went quite good. I didn't feel as comfortable giving it as I usually do, since it weren't my slides. But I still think it went quite well and there were some interesting questions afterwards. There aren't any recordings of the talk, but the slides can as usually be found in the talks section of my homepage. The third day started as the second one, but this time I stayed in bed and watched the Sendung mit der Maus instead of getting up at such an inappropriately early hour. I had actually planned to travel back to Hildesheim by train, but the very nice guys from quintessenz.at offered me a ride to Mannheim, which made my journey back home a lot more pleasant and also much more comfortable, since I could then take a direct train from Mannheim to Hildesheim. Concluding, I'd like to thank the organisers of LinuxDays.lu for the really good service! (I've never before been at a Linux Day where speakers were provided with such a lot of stuff. (Free hotel, travel reimbursement, free food AND a book from the book shop! Yay!) It's been really fun, speaking at this event and I can recommend it to anyone. LinuxDays.lu may not be the biggest or most popular Linux Day, but it's a really nice local event and very professionally organised! PS: So, where are the pictures I promised?
They are in a directory on my home machine, and this will remain the only place they're at until I've found a simple script to generate web galleries (such as album, galrey, jigl, shalbum ...) that manages to generate a gallery that doesn't use tables but CSS or I found the time to rewrite or produce an according template for any of these scripts. Grrr.

David Nusinow: We've Moved!

For several months now, the XSF has been discussing, planning, and preparing to move from our old reliable svn repository to our new distributed git repositories on git.debian.org. As of a few minutes ago, that move is complete.

I'd like to thank the Alioth admins for setting up git.debian.org and letting us hammer it with the whole xorg codebase. Also deserving the lion's share of the credit for this move is Thierry Reding, who wrote the infrastructure and did a lot of debugging of the conversion script that came with git to let us make this move. It was a huge task, and I'm still amazed at how quickly he managed to pull it off.

I'm really excited that this is finally done. I've been wanting to have our codebase in some sort of distributed system ever since I started working on xorg a while back. Because I was deriving packages from Ubuntu, who was in turn deriving packages from us, it seemed like having the whole thing in a distributed system would have made my life a lot easier. It would also potentially make it easier on other derivatives who customize the X packages, like Knoppix. For a while I thought we were going to move to mercurial, but once X.org itself moved to git, it only made sense to follow suit. I'm excited at the benefits that this move will provide us, which will hopefully translate to faster updates and higher quality packages for Debian users. And this is only the beginning of what's going to come during the Lenny release cycle.

6 February 2007

Joey Hess: mysteries of plumbing

What better place to be on a cold snowy day than lying on my side in a crawl space under my porch, in a muddy pool of water, getting sprayed on my glasses until I could hardly see. Yes, I had a plumbing disaster today, though I was able to fix it without waiting for a plumber or wasting hours of running water. Seems that somehow, whether influenced by the cold or what I don't know, an "T" on the pipe going into my water heater started leaking out of an unused fixture. I couldn't find anything that could have been blocking that before, so how it suddenly started gushing water I don't know. It was easy enough to screw in a pipe plug and fix it. It's amazing how closely the process of fixing plumbing parallels fixing a software bug. Update: It was probably an old pressure relief valve that failed somehow.

Lars Wirzenius: Rant: Fonecta spams me

It's that time of the year again when the homes in Helsinki get delivered no less than two sets of phone books. There's two competing companies producing them, so of course everyone should both sets, they think. Personally, I think it is ecologically irresponsible. I don't have any use for even one set: I find numbers faster and easier and more accurately on the web, and likewise maps on the web are better. Up until a few years ago, the phone books were delivered to grocery stores and people would pick them up from there. I could then happily ignore them. Then they decided to start delivering them directly to the doors of people's homes. This meant that I had to answer the door bell up to four times and tell them I don't want it. That's twice per company, since they would re-try delivery if they didn't succeed the first time. "No thank you" counts as not succeeding, of course. This year, Fonecta, one of the companies, has decided to produce the books in a size that fits through the mail slots in apartment buildings. When I came home today, I had a pile of useless, harmful crap on my doorstep. That's a good way to make potential customers happy, Fonecta, thank you very much indeed. I've e-mailed info@fonecta.com to ask them to come fetch them back. I don't want to throw them away, that just increases the garbage bill for my apartment building. If you, too, live in the Helsinki area and think that paper phone books are an outdated relic of the past, please join me in mailing Fonecta. I can't believe I'm the only one, yet both companies seem to claim every year that no-one complains.

David Welton: Popouts with Rails

In a previous article about Stuff To Do, my ajaxified priority queue program, I talked about how best to keep track of the user's state of activity, should they so desire. I opted for the popup, as that was the best compromise between simplicity, and ease of use for the end user. From an end-user point of view, it's similar to how gtalk can detach from gmail if you want to run it in its own window. The trick was to implement the popup/popout in Rails, which actually ended up being pretty easy, and, all things considered, is a pretty cool technique. It's neat to pop stuff in and out of a web page. The easy part is popping out the window:
<%= link_to_remote("Pop out " + image_tag('popout', :border => 0),
                    :url =>   :controller => 'tasks', :action => 'popout'    ,
                   :title => 'Pop the status window into a popup window') -%>
Which subsequently calls popup.rjs:
page.replace_html('status', "<i><small>status in popup window</small></i></br>" +
                  link_to_remote("<small>Restore</small>",
                                  :url =>   :controller => 'tasks', :action => 'popin'  ,
                                 :title => 'Restore the status window'))
page << 'statuspopup();'
Which is pretty simple - the first call replaces the html in the status div, and the second calls the javascript function statuspopup. This lets us replace what was in the status window with some placeholder text and a 'restore' link in case things get screwy and the user wants to simply restore the old content of the div in question. It's worth noting that we also store the popped out status in session[:popped_out] in order to let the application know that the window is "popped out". This doesn't actually pop the window itself up. The statuspopup function in javascript (located in application.js) takes care of that:
function statuspopup()  
  window.newwindow = window.open('/tasks/openstatus','status',
                                 'height=10,width=210,status=no');
  return false;
 
And then the openstatus action opens the same rails partial that the regular page does:
<%= render(:partial => '/tasks/status', ...
Meaning that you don't have to rewrite the same code in two places. So, that's all it takes to pop up a new window, and replace the contents of the old div in the html page giving the user the sense of having popped a piece of the page out into a popup. So far so good. Now what happens when the user closes the popup? Luckily, we get a reference to the window that opened the popup called window.opener that we can use to comunicate with the main window. For instance, in our case we set up an event listener to fire when the window closes:
window.addEventListener("unload", statusClosed, false);
And this, in turn, takes care of popping the window back into the main page:
function statusClosed()  
new Ajax.Request('/tasks/popin',   method: 'get', asynchronous: false  )
$('popoutlink').style.display = 'inline';
w = window.opener;
target = w.window.document.getElementById('status');
code = $('onidle').childNodes[1].innerHTML;
target.innerHTML = $('status').innerHTML;
target.style['backgroundColor'] = '#bbddbb';
target.style['backgroundColor'] = '#bbddbb';
w.eval(code);
 
Once again, pretty simple. What's happening: We also fix up the color just a bit, to mark the user as active. All in all, it's pretty useful for time tracking. In Linux, it's ver easy to set the new popup to follow you around the screen, making it so that it's not a bother at all to wave the mouse at it to let the application know you're online. All you do is set the 'on top' and 'always on visible workspace' options - at least in Gnome.

David Moreno Garza: Go Sam! Mexico is with you!

I almost felt into tears when I found out that our Sam is running for DPL on 2007 :’) Mexico is with you, Sam!

The people united, will never be defeated!

Ross Burton: Xrandr 1.2

Since I got my 20" widescreen monitor in the summer, I discovered how bad X's support for resizing displays is. I wanted to have the ability to plug my laptop into the 20" display in the office and expand the desktop to 1680x1050, or remove the 20" display and shrink the desktop back down to the native resolution of 1024x768. It turns out that a number of factors were stopping this, and the only way to do it would have been to restart X. Because of this I ended up using the display at 1024x768 when I did use it, but mostly I stayed on the sofa. Then I heard about xrandr 1.2, the all-singing all-dancing revision of the X Resize and Rotate extension. Basically, it would solve my problem, and as luck would have it my laptop has an Intel chipset and the people hacking on it work at Intel. Yesterday after lots of poking I finally made it all work for this. This involved a lot of poking and a little black magic. The first step is getting an X server new enough. First, you'll need to update some X protocol headers. We'll start with the easy ones that have had releases (grab the latest release you can find): Then you'll need to update various other bits of X: Once this is done and X still works, it's time to brave the perilous world of git. If you've never used git before, it's quite simple for this. Go to the git browser and find the module you want to check out. Click on it, and you'll see two URLs: you want the anongit one. Do git clone [url], and then if I've specified a branch other than master, cd into the directory and do git checkout [branch]. For example:
git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel
cd xf86-video-intel
git checkout modesetting
You'll need to grab: Build it all in that order. The order is important as if you build the Intel driver against randr 1.0 instead of 1.2, it won't do what you want. By now you should have an X that looks no different. But...
$ xrandr
Screen 0: minimum 320 x 240, current 1024 x 768, maximum 1680 x 1050
VGA disconnected 0mm x 0mm
LVDS connected 1024x768+0+0 246mm x 185mm
   1024x768       50.0 +   60.0*    40.0  
   800x600        60.3  
   640x480        60.0     59.9  
TV disconnected 0mm x 0mm
Now that is clever. Here you can see that I don't have anything connected via VGA, my LVDS (no idea what this stands for, but it means the laptop's panel) has a preferred mode of 1024x768 (thats what the * means), and I have nothing connected to the TV output (because Lenovo didn't wire it up). Now if I plug something into the VGA and run xrandr -s 0 (select default screen size), the external display should power on. Xrandr doesn't try to be too clever, it will leave that to desktop daemons, but by default it will try and make something appear on all of the connected displays. In this case, my 20" TFT gets a clone of my laptop panel, at 1024x768. That is no good though, I want to turn off the laptop panel (as I'll be shutting the laptop) and switch the external display to 1680x1050. This is where the black magic starts... Currently the Intel driver cannot resize the physical framebuffer in memory after X has started, so it defaults to a framebuffer of 1200x1024 (IIRC). That isn't big enough to hold 1680x1050. Also the Intel driver doesn't detect any modes from the TFT. This may be Dell being stupid, or the EDID parser in the driver being too restrictive, I don't know. Luckily we can still use modelines in xorg.conf so I added this:
Section "Monitor"
        Identifier "Dell TFT"
        # This is a standard modeline for 1680x1050 at 60Hz
        Modeline "1680x1050" 149.00  1680 1760 1944 2280  1050 1050 1052 1089
EndSection
        
Section "Screen"
        Identifier      "Screen"
        Device          "Intel"
        Monitor         "Monitor"
        # This says that when using a monitor on the output called VGA, use the
        # settings in the monitor "Dell TFT"
        Option "monitor-VGA" "Dell TFT"
        DefaultDepth    24
        SubSection "Display"
                Depth 24
                # This tells the screen to allocate a frame buffer up to
                # 1680x1050.
                Virtual 1680 1050
        EndSubSection
EndSection
With this, everything just works. If I xrandr with various displays plugged in I can see what they support and can switch modes. To make everything nice and easy I wrote a small script that I bound to an unused function key:
if xrandr -q   grep -q  "VGA connected"; then
  xrandr --output LVDS --off --output VGA --mode 1680x1050
else
  xrandr --output VGA --off --output LVDS --mode 1024x768
fi
(thanks to Eric for pointing out that I don't need to use the hex values). Simple! As you can see the new xrandr is very powerful. If you want to do Xinerama-style dual screen you can do that too: xrandr 1.2 encompasses that behaviour. The final thing to point out is how glad I am that GNOME seems to handle the screen resizing like this so nicely already. When the desktop shrinks Metacity moves windows so they are visible, and when the desktop expands the panel applets on the right stay on the right instead of sitting in the middle. The script I run when I change screens does more than I pasted here: it changes the wallpaper to match the aspect ratio, and also changes the fonts. I hope this has made sense, I know there are a few people out there who were waiting for me to test this before they gave it a go. If anything is too vague, leave a comment and I'll expand it. I should also mention that I've got Ubuntu Edgy packages for everything here in my repository. NP: Animal Magic, Bonobo

Stefano Zacchiroli: do you want my debconf7 ticket

SPAM: do you want my DebConf7 plane ticket? This is (arguably) SPAM. Yes: I've already bought a plane ticket for DebConf7. But, unfortunately, yes: Gismo's proposal is terrific. So, again, yes: I would like to go to Edinburgh by motorbike traveling as few as 2200 km on my ass just to meet you, bunch of geeks, at the next DebConf7. Hence, to conclude this unsolicited blog post, here it comes the dangerous monetary proposal: are you traveling from Italy to DebConf7, Edinburgh airport? maybe from Milan Malpensa on June 14th 2006 (12:50), going back there on June 24th 2006 (14:45 from Edinburgh airport)? Then buy my plane ticket, it's cheap! Only 50 !!

Lars Wirzenius: Personal life: Monkey see, monkey not do

I realized something about myself today: I have a relatively strong resistance to learning by imitating what other people do. The precise moment for this was when I was putting on a scarf for the first time this winter. I tend to dislike having things around my neck. Every winter I go through several iterations figuring out the most comfortable yet protective way of wearing it. Today I started tying it in a new way, which I'd seen Lynoure use. Half-way through I stopped, telling myself that I can't do it this way, because I didn't invent it myself. Only after I'd already undone the scarf did I realize how stupid this reaction was. I need to watch out for this. If I was an aspiring A list blogger, I'd now make a top ten list of annoying personal learning anti-habits.

Julien Danjou: DeFuBu contest #7

Bug Welcome to this 7th issue of the DeFuBu contest, the monthly championship of the funniest bug reported to the Debian BTS. The challengers How the vote has been done Four Debian related people voted for these bugs, Emmanuel Bouthenot, Mohammed Adn ne Trojette, Julien Louis and Jade Alglave. Full ranking Bugs Challengers The winners Notes To participate, simply drop me an email with a bug number. About DeFuBu

5 February 2007

Julien Danjou: DPL election begin

Since yesterday, the election process of the Debian Project Leader started. It's now time for nomination, as explained in the mail that our dear secretary sent (with the same paragraph twice, ahah, I am mean, I know, sorry). I really wish that this year some people are going to be really inside the project, will listen to developers and will give a big kick in the bushes. Years after years, we really need it more and more. A lot of people[1] are asking if I'm going to be a candidate this year. No, you know, I know I'm so famous and loved that I would be elected right away, but I don't think I'm the man. I prefer to give a chance to others people. And I heard that some real good developers are going to make this happening. I assure I will be behind them! If I were you, I'd stay tuned, because I believe that this year might be a real turn for Debian!
Notes [1] Not true right now, but I'm sure it will be soon.

Jon Dowland: Battery statistics

Recently I've noticed my X40's battery life appears to not be what it once was. I was curious to work out precicely what it is, so I delved into the debian packages to see what I could find. There are two popular "standards" for power management: APM and ACPI. Hardware support for the two standards varies wildly across laptops, which is why we haven't entirely ditched APM and moved to ACPI for everything. The X40 (and thinkpads in general) have great ACPI support, so I use ACPI. Unfortunately most of the packages I've found that look like they might do what I want are for APM only:
battery-stats
...periodically collect statistics...show charge/discharge patterns over time...requires APM...
ibam
...advanced battery monitor for laptops...statistical and adaptive linear methods...requires /proc/apm.
Some other tools sounded great, but also a bit self-defeating:
collectd
...reads various system statistics and updates RRD files... promising so far; the statistics are very fine-grained since the files are updated every 10 seconds. Ack! The heisenberg principle will probably kick in a bit here, if the hard disk is going to spin up every 10 seconds.
It's starting to look like it might be worthwhile porting one of these to ACPI. Ben Hutchings is going to send me some example code he uses to monitor his battery in ion3. Mental note: file patches for the descriptions of those packages which do not make it clear which interface they support.

Biella Coleman: Pharma and psychiatry joined at the hips, positive or negative?

Are psychiatry and big pharma joined at the hips ? And if yes is this a bad thing? In a recent speech, the new president of the APA sees the relationship as a little too cozy for comfort: “We have allowed ourselves to be corrupted in this marketplace with lucrative consulting to industry, speaker panels, boards of directors, and visits from industry representatives bearing gifts.” Some industry representatives and psychiatrists were not moved and responded with their assessment statement:
Unless another model is proposed and shown to be effective, we believe that the strong partnerships and collective contributions of academic, clinical, and industry-employed psychiatrists and neuroscience researchers can best maximize our potential to deliver the highest quality of psychiatric care to all who suffer from mental illness.
. It is nice to see the debate occuring within the field itself and I hope that it continues, especially with some hashing out of other models. And here is one of the most interesting ones in that it takes physical activity and cultural expectations quite seriously.

MJ Ray: TTLLP Telephones

And the award for worst-addressed post yet goes to COLT Telecommunications for:
"TTLLP
Qewstoke (should be Kewstoke)
Summerset (should be Somerset)"
The dangers of using foreign call centres for data collection, I guess. At least they got the name, street and postcode correct, so it arrived. The post itself was pretty interesting. It said that 0870 numbers will stop being revenue-shared from February 2008, which seems to be confirmed by this Ofcom press release from April 2006 which I hadn't noticed. TTLLP trades its revenue-share for hunt, voicemail, fax termination and so on, so I wonder what will happen to that service after Feb 2008? We recently signed up for numbers where we get outbound SIP to PSTN calls too. I was undecided about which number to use in future, but I guess this means TTLLP will switch to 0844 or 01934. There's a bit of flaming going on at Say Not to 0870 which reminded me to update our entry there. The COLT mailshot came with a calendar to try to persuade you to move your 0870 numbers to them and you can order your own calendar on their site - pictures are holding hands, walking under an umbrella, Brussels Grand-Place (I think), tulips, rowers maybe on Lake Ontario, a diver, a boardwalk, dandelion seeds, walking through fallen leaves, the Millenium Wheel with fireworks, illuminated pine tree, starting an avalaunche and London commuters. Can anyone spot a theme there? I don't.

4 February 2007

Erich Schubert: GUI for mp3, the MP3 validator and repair utility

mp3val is a tiny command line utility (for Windows and Unix) that knows a lot about the MP3 format and is quite good at detecting and repairing common problems. Depending on the encoder and tagging tools you used, your MP3s might be more or less broken; sometimes it's just an incorrect length information (which might then cause incorrect playing time calculations). Mp3val can correct most of these errors. Since mp3val operates on the MP3 frames and not on the decoded audio, it's fast; the operation is mostly I/O bound so it's probably as fast as your disk. Anyway, mp3val is a command line utility, and I know that some people aren't too comfortable with command line tools. Here's a screenshot of the GUI: Screenshot of mp3val GUI Download source code As you can see, it's a three button application. Select the "Fix files" toggle if you want files to be repaired, then press "Add" (while the added files are processed, the "fix" button is greyed out). Then wait for the progress bar to finish. The scrolling window below will print the warnings and errors emitted by mp3val. As you can see I have a few files with incorrect size information. There are still some improvements that could be made. For example, the application could keep track of the "broken" files, so that they could be processed using mp3val in a second run without having to recheck all the "good" files. Brokenness-statistics and an sortable list view of the detected errors would also be interesting. But I consider none of these features to be important; I'll just let mp3val run over my collection and fix the files. It never trashed a file for me so far (but fixed some that didn't work), and I can still re-rip the songs when needed (but I'll choose Ogg Vorbis then as audio format). The application is a tiny PyGTK script; that and mp3val is all you need. It should work on Windows, too, but I can't help you with that. Another "Pymp of the day" - "Python mini project", done in just an hour. :-) Python and PyGTK are great for protoyping and mini applications. I love your work. Thank you!

Next.

Previous.