February 2003 Archives


| | Comments (0)
Jared is back, now for Mac OS X. Sweeeeet. If you have not heard of Jared, or heard Jared, I don't know whether to pity you or congratulate you.

Now Playing: Desert Rose - White Heart (Power House)



| | Comments (0)
I am using LAME to generate thousands of MP3s from a single AIFF, with different permutations of VBR, bitrate, frequency, etc., and using them to test MP3::Info for the forthcoming release. So far, the only blip was when I set VBR with 320 kbps and it didn't show up as a VBR file, but then I realized there's not much point to a VBR with the minimum bitrate as the maximum bitrate ... use.perl.org

Top Journal Posters

| | Comments (0)
As of right now, ziggy and gnat are tied at 499. I trail with a respectable 451. TorgoX is, of course, #1, closing in on 1,000.

Update: er, 452! use.perl.org

President's Day

| | Comments (0)
Tomorrow is President's Day in the U.S. That means President Bush gets to make a wish! What should it be? use.perl.org

Iraq In Further Breach

| | Comments (0)
Iraq has missles. Those missles are, according to Hans Blix speaking to the UN Security Council yesterday, patently prohibited under Resolution 687. Iraq says the destruction of those prohibited weapons, required under the same resolution, would be unacceptable.

Again: inspections are for the purpose of disarmament. They are not working; they will not work. Disarmament of Iraq is a requirement, not an option. Because inspections are not working, and will not work, we need another way to disarm Iraq.

And I would love to hear ideas for disarmament that do not amount to war. use.perl.org
Hans Blix, the chief UN weapons inspector, said today, "Many proscribed weapons and items are not accounted for."

Blix added, "One must not jump to the conclusion that (the proscribed weapons) exist. However, that possibility is also not excluded."

UN Security Council Resolution 1441 says the UN Security Council "decides that false statements or omissions in the declarations submitted by Iraq pursuant to this resolution and failure by Iraq at any time to comply with, and cooperate fully in the implementation of, this resolution shall constitute a further material breach of Iraq's obligations."

To sum up: according to the UN inspectors, Iraq is not accounting for forbidden weapons. According to Resolution 1441, Iraq is therefore in material breach.

There is no way around this.

But, can it be fixed? Can the inspections yet "work"? What does it mean that inspections "work"?

UN Security Council Resolution 687, which ended the Gulf War, is clear on the purpose of inspections. It says that the Security Council "unconditionally accept the destruction, removal, or rendering harmless, under international supervision, of:

      1. All chemical and biological weapons and all stocks of agents and all related subsystems and components and all research, development, support and manufacturing facilities;

      2. All ballistic missiles with a range greater than 150 kilometres and related major parts, and repair and production facilities."

And that to implement this, a Special Comission shall be establish for the "inspection of Iraq's biological, chemical and missile capabilities, based on Iraq's declarations and the designation of any additional locations by the Special Commission itself," as well as to accept those weapons from Iraq "for destruction, removal or rendering harmless, taking into account the requirements of public safety, of all (the weapons)."

Inspections work if Iraq is honest to the UN about all questions about their weapons, and those weapons are submitted to the UN for destruction. That is the only standard by which inspections "work," if those things happen.

Yet, Blix says, "Many proscribed weapons and items are not accounted for." Therefore, inspections are not working.

France says that inspections are working. Many people say Iraq is not in significant material breach. Both statements are above demonstrated to be false.

That said, what of war? Resolution 687 also says the UN Security Council "decides ... to take such further steps as may be required for the implementation of the present resolution and to secure peace and security in the area." The UN Security Council has already decided that if inspections do not work -- and they are not working, and there is no sign they will work -- that it will take further steps. The one thing I can say is that I am unconvinced there are not intermediate steps between inspections and renewed hostilities.

To you antiwar protestors, a word: I can't believe you will convince significant numbers of people by saying war is evil, Iraq is not in breach, inspections are working, other countries are just as bad, the US just wants oil, and other things that are wrong or miss the point. What we need are more people to make the case that though Iraq is bad, though Iraq is in material breach, though insepctions are not working, though the Security Council has decided to disarm Iraq through other means if inspections do not work, that the case has not been made that the step after failed inspections is war. Emphasize that there must be another way, that, as Colin Powell said today, war must be a last resort, and that you are not convinced we have reached the last resort. Offer alternatives. Say there are steps between inspections and war.

Make that case, and you have more of a chance of making a difference, I think. Make that case, and you can convince people like me. use.perl.org

Perl Programmers Support Terror

| | Comments (0)

Stupid iTunes

| | Comments (0)
I have been getting a lot of complaints about ID3v2 tags of certain MP3s not being able to be read by MP3::Info. In pretty much every case, the file was written by iTunes. It turns out that iTunes is saving comments in a tag "COM ". My regex was looking for tags matching /^[A-Z0-9]{4}$/. Because, that is what, you know, EVERY TAG NAME MATCHES. ID3v2.3.0 and ID3v2.4.0 specify that the comment field is "COMM", not "COM ". I guess they did this so their own comments wouldn't interfere with the user's comments, or something; you can have multiple comments fields. But that space broke MP3::Info. And it is certainly broken:

The frame ID is made out of the characters capital A-Z and 0-9. Identifiers beginning with "X", "Y" and "Z" are for experimental frames and free for everyone to use, without the need to set the experimental bit in the tag header. Bear in mind that someone else might have used the same identifier as you. All other identifiers are either used or reserved for future use.
-- ID3 tag version 2.4.0 - Main Structure: 4. ID3v2 frame overview

So 1. it must not have a space there and 2. it must begin with X, Y, or Z if it is different from the standard set of frame IDs.

Oh well, I tracked it down, all better. Will upload sometime soon (more fixes to make). use.perl.org


| | Comments (0)
I finished moving several of my projects on SF.net to a single project, and have begun using RT for bugs. I'll set up a web site at some point that will automatically link to, for each project, the SF.net page, the RT page, the search.cpan.org page, etc.

But now that I have this main stuff done, I can move on to some coding. Yummy. I will either start with MP3::Info, or Devel::FindGlobals, or Mac::Carbon. Whichever strikes my fancy when I start, probably tomorrow. The latter two don't need much (for the current releases), so I might just polish them up and release them first. MP3::Info will actually take work.

I'll probably do Devel::FindGlobals first and work on the my file release system. I am stealing code and ideas from brian d foy and r j ray and others, probably using brian's release script as a starting point. It currently does some sanity checking, then uploading to CPAN and SF.net and releasing. I will probably add code to write out an update to the web site, automatically create HTML docs, post to my journal via SOAP, etc. use.perl.org

DV Camera

| | Comments (0)
Yesterday I ordered the Sony DCR-PC120BT, instead of the Canon Optura 200MC. From what I could tell, I would rather have been comparing the PC115 to the Optura 100MC; the PC115 doesn't have the -- to me -- entirely useless Bluetooth modem (which retails for $200 on its own), and the Optura 100MC has various features that the 200MC is lacking. I got it from B & H Photo for $600 off retail.

It's a tiny machine, and has pretty much all the features I could want. I've heard some "complaints" about the Canons producing better video (in terms of sharpness and color), but I doubt I will have any problems with it, because even the people who said that also said that the Sony was very good, just that they thought the Canon was a little better. And that it has a 1.5MP CCD means in a pinch I can use it for stills, in place of my Nixon Coolpix 995.

Now Playing: Peace Train - Cat Stevens (Teaser and the Firecat)


Oh, The OTHER Tiger

| | Comments (0)
The FBI is looking for a man named Mohammed Sher Mohammad Khan. Damn that Mowgli for sending his problems to us.

By the way, there's just something about running Homeland Alert that makes me smile and weep at the same time. At least if I am not watching the news I can know when to hide in the basement. use.perl.org
With MacPerl, you can pass a path to readlink(), and resolve the alias, because there is no actual symlink() on Mac OS. On Mac OS X, that won't work.

Aliases are resource files with the alias data in a resource of type "alis". Open the resource fork of the alias file, get the first "alis" resource, and pass it to ResolveAlias().

use Mac::Errors;
use Mac::Files;
use Mac::Resources;
my $path = '/Users/pudge/Desktop/some alias';
my $res  = FSpOpenResFile($path, 0) or die $Mac::Errors::MacError;
# get resource by index; get first "alis" resource
my $alis = GetIndResource('alis', 1) or die $Mac::Errors::MacError;
my $link = ResolveAlias($alis);
print $link;

How to create an alias? Again, in MacPerl, you can use symlink(). But not so in Mac OS X. Essentially, you do the reverse as above. Create a file with a resource fork,* make an alias to a path, and add the alias as an "alis" resource to the file. Also set the alias flag on the file. It's more complicated, of course.

use MacPerl qw(GetFileInfo);
use Mac::Errors;
use Mac::Files;
use Mac::Resources;
# workaround for Mac::Carbon bug that requires existing file
my $path = '/Users/pudge/Desktop/some other alias';
open my $fh, "> $path" or die $!;
close $fh;
# set "alias" attribute
my $finfo = FSpGetFInfo($path)              or die $Mac::Errors::MacError;
$finfo->fdFlags( $finfo->fdFlags | 0x8000 ); # kIsAlias
FSpSetFInfo($path, $finfo)                  or die $Mac::Errors::MacError;
# get target's creator, type, and alias
my $target = '/Users/pudge/Desktop/some alias';
my($creator, $type) = GetFileInfo($target);
my $alis = NewAlias($target)                or die $Mac::Errors::MacError;
# make resource file, open it, add the resource, and close it
FSpCreateResFile($path, $creator, $type, 0) or die $Mac::Errors::MacError;
my $res = FSpOpenResFile($path, 0)          or die $Mac::Errors::MacError;
AddResource($alis, 'alis', 0, '')           or die $Mac::Errors::MacError;

* Note: there is, as documented, currently a bug in Mac::Carbon where you cannot pass a path to the API where the file does not exist. Hence the open() to create the file. use.perl.org
I finally got my new PowerBook from Apple today. It first went in for a sprained ankle on Dec. 19, and it came back with cancer. Over three weeks ago they decided to replace it, and finally, it got replaced.

So my almost 9-month-old (well, now, over 10-month-old) PowerBook G4/667/512/30/AirPort/combo became a new PowerBook G4/867/512/40/AirPort/combo. I lost IrDA, and gained better AirPort reception (I can now compute from the bathroom and bedroom without the external WaveLAN card, but I installed WirelessDriver just in case). I gained a better screen, which has resolution that seems too high for my cherished Geneva 9 and ProFont 9. I am not sure about whether or not I get a new 1-year warranty, or just something like "old warranty or 90 days, whichever is longer."

I spent much of today fixing the machine up again. I am almost done with Mac OS X, just doing a fresh fink install now. My Mac OS apps are back in place, but I need to reinstall some stuff into the Mac OS System Folder. But I will just add things back to the System Folder as needed. I am keeping the 10GB compressed disk image from the old system around, so I can grab things as I find I forgot them.

I am unhappy with Apple's repair service, which broke my computer and couldn't fix it on three trips to the repair facility. And it took over three weeks to get me a replacement PowerBook once they decided to replace it. All told, I was without my computer for two days shy of seven weeks. But, I am happy to have it now. slashdot.org

DV Camera

| | Comments (0)
I am in the market for a DV camera. I don't really need any extra features, just a very good quality picture, nice interface. And it needs to work well with iMovie. It needs to be less than $2,000, and being small and having a nice long battery life is good. Anyone have recommendations? use.perl.org

The Risk of Life

| | Comments (0)
On the evening of January 27, 1967 -- nineteen years to the week before the Challenger disaster, and thirty-six before today's Columbia disaster -- Apollo I astronauts Gus Grissom, Ed White, and Roger Chaffee were inside the command module doing a "plugs out" test, making sure the module could run on its own power. At 6:31 p.m., a spark from some frayed wiring near Grissom's feet jumped through the highly pressurized environment of pure oxygen to some nylon netting, and in seconds engulfed much of the cockpit in flames. The hull ruptured in about 15 seconds, and the crew died from asphyxiation.

What was the real cause of the accident? Was North American, the contractor, cutting corners? Was NASA imposing arbitrary timelines? NASA warned North American to limit the amount of flammable materials: they had ten times the amount of velcro allowed in the specifications. North American warned NASA that the tests -- which to achieve the same conditions in space, required 17 psi of oxygen at sea level where in space they would have 5 psi -- were too dangerous.

Or was it something else? In a Mercury accident previously, Gus Grissom's module sank after splashdown. The hatch burst open, and most blamed Grissom for exploding it prematurely. An engineer on the review board proved the hatch could explode on its own, and it was decided the Apollo hatches should have a different design. The engineer in the episode two of From the Earth to the Moon noted, "It's ironic: if I hadn't proven Gus was telling the truth, the hatch would have exploded open, and Gus and the other boys would be alive today. I'm not a big fan of irony."

In the government's hearings for the accident, Senator Walter Mondale -- who wanted to see money for NASA diverted to social programs -- grilled NASA, trying to find out what went wrong, trying to find flaws to exploit. Astronaut Frank Borman explained it simply: it was a failure of imagination. We are limited. We can't forsee all contingencies. We don't know what is around the bend. No one thought there would be a fatal fire on the ground, or that a non-explosive hatch might prevent the astronauts from escaping such a disaster. No one imagined it could happen. We are all to blame, he said, for failing to imagine what could happen.

Whatever the cause, whoever was to blame, didn't matter to Grissom and his crew. Shortly before his death, he said, "If we die, we want people to accept it. We're in a risky business, and we hope that if anything happens to us it will not delay the program. The conquest of space is worth the risk of life."

I pray that we may we risk more life in this conquest, and that we may lose as little as possible. slashdot.org
<pudge/*> (pronounced "PudgeGlob") is thousands of posts over many years by Pudge.

"It is the common fate of the indolent to see their rights become a prey to the active. The condition upon which God hath given liberty to man is eternal vigilance; which condition if he break, servitude is at once the consequence of his crime and the punishment of his guilt."

About this Archive

This page is an archive of entries from February 2003 listed from newest to oldest.

January 2003 is the previous archive.

March 2003 is the next archive.

Find recent content on the main index or look in the archives to find all content.