Shallow Thoughts : : Feb

Akkana's Musings on Open Source Computing and Technology, Science, and Nature.

Fri, 29 Feb 2008

Script to add tags

Python is so cool. I love how I'll be working on a script and suddenly think "Oh, it should also do X, but I bet that'll be a lot more work", and then it occurs to me that I can do exactly that by adding about 2 more lines of python. And I add them and it works the first time.

Anyway, it turned out to be very easy to go through all existing blog articles and add tags for the current category hierarchy, being careful to preserve each file's last-modified date since that's what pyblosxom uses for the date of the entry. add-tags.py

Tags: ,
[ 19:37 Feb 29, 2008    More blogging | permalink to this entry | ]

Wed, 27 Feb 2008

Got tags working with pybloxsom

Entries on this blog are arranged by category. But all too often I have something that really belongs equally well in two categories. Since pyblosxom's categories follow the hierarchy on disk, there's no way to have an entry in two categories. Enter tags.

Tags are a way of assigning any number of keywords to each blog entry. Search engines apparently pay attention to tags, and most tagged blogs also let you search by tag.

I wanted my tags to follow whatever canonical tag format the big blogging sites use, so search engines would index them. Unfortunately, this isn't well documented anywhere. Wikipedia has a tags entry that mentions a couple of common formats; the HTML format given in that entry (<a rel="tag" ...>) turns out to be the format used on most popular sites like livejournal and blogspot, so that's what I wanted to use. Later, someone pointed me to a much better tag explanation on technorati, which is useful whether or not you decide to register with technorati.

Next: how to implement searching? The simplest pyblosxom tags plug-in is called simply tags.py. All the others are much more complex and do tons of things I'm not interested in. But tags.py doesn't support static mode, and points to a modified tags.py that's supposedly modified to work with static blogs.

Alas, when I tried that version, it didn't work (and an inquiry on the pybloxsom list got a response from someone who agreed it didn't work). So I hacked around and eventually got it working. Here's a diff for what I changed or just the tags-static.py plug-in.

Additional steps I needed that weren't mentioned in tags.py:

I also wrote a little python index.cgi for my blog's /tags directory, so you can see the list of tags used so far. Strangely, tags.py didn't create any such index, and it was easier to make a cgi than to figure out how to do it from a blosxom plug-in.

And as long as I'm posting pyblosxom diffs, here's the little filename diff for 1.4.3 that I apply to pyblosxom whenever I update it, to let me use the .blx extension rather than .txt for my blog source files. (That way I can configure my editor to treat blog files as html, which they are -- they aren't plaintext.)

Anyway, it all seems to be working now, and in theory I can tag all future articles. I'll probably go back and gradually add tags to older articles, but that's a bigger project and there's no rush.

Tags: ,
[ 16:04 Feb 27, 2008    More blogging | permalink to this entry | ]

Tue, 26 Feb 2008

Quick GIMP Tip: Middleclick to open images

I've wished forever that GIMP could open files and URLs as easily as Mozilla (and Netscape before it) does by selecting the filename in another app then middleclicking to "paste" in the toolbox. (Note: in Mozilla this is controlled by the middlemouse.contentLoadURL preference, and Ubuntu users have to enable it explicitly.)

Well, it turns out GIMP has that feature too, and has had it for a long time. The reason it had never worked for me is that it only works if you click on one (any) of the tool buttons. I was clicking in empty areas of the toolbox window, because it feels weird to click over a button when I don't mean to use that tool.

Now that I know to middleclick on a tool button, middlemouse open works great for Unix paths, file: URLs and even remote URLs (assuming you have Open URL working, of course, which on some systems may require installing gimp-libcurl or gimp-gnomevfs).

Nice! That'll save me some gimp-remote calls.

Tags:
[ 16:21 Feb 26, 2008    More gimp | permalink to this entry | ]

Sun, 24 Feb 2008

Recycled Salamander

When Dave went to take out the recycling bin this afternoon, he found a surprise under it.

[Arboreal salamander in the backyard] It was motionless at first, and Dave worried that he'd hurt it moving the bin. But it was just resting; eventually it woke up and moved off to find a damper and less exposed spot.

My best guess is that it's an Arboreal salamander, Aneides lugubris ... and probably the same species as the baby salamanders from a few years ago.

It's fun to see amphibians in the backyard: makes me feel like the environment isn't a lost cause yet. I still don't see many frogs these days, but last week walking through a Google parking lot after a talk there was quite a frog chorus, so they're around even if they're not easy to see.

Tags:
[ 16:44 Feb 24, 2008    More nature | permalink to this entry | ]

Wed, 20 Feb 2008

A Curious Advertisement

[Ad: Parenting Instincts] I encountered the curious ad (shown at right) in the Sunday paper.

The bold text says: "You use parenting instincts every day. Trust the one that says he's not learning the way he should." The small print isn't any clearer: basically, if your child is having trouble learning and might need a different approach, call this phone number right away.

The image shows a spoon, rubber banded to a toy airplane. The spoon is overflowing with ... what? It looks a little like dog kibble, or possibly deer or rabbit droppings. Or slightly furry peas. All I can tell for sure is that the pieces are dark (perhaps brown) and almost but not quite spherical.

And why has one fallen out? Perhaps the pieces of kibble are metaphorical children. And your child has fallen off the spoon, and won't be getting to go for a ride strapped underneath a jet.

So, parents, if your child seems to be struggling in school and you think he or she may need a different approach to learning, don't let your child fall off the spoon! Put some dogfood in the spoon and rubber-band it to a toy plane! Then call the number. Act now, before it's too late!

Maybe if you call early enough, they'll even let you use their spoon and toy plane.

Tags:
[ 20:34 Feb 20, 2008    More humor | permalink to this entry | ]

Obama's too good a speaker

In election news today, we have the report Wounded Clinton eyes big contests on Barak Obama's widening lead over Hillary Clinton:
Mrs Clinton continued to try to depict Mr Obama as a man of fine words but little action.

"It's time that we move from good words to good works, from sound bites to sound solutions... This campaign goes on!" she said

Hey, wait ... isn't that a sound bite against sound bites?

McCain joined in the fun, saying "I will fight every moment of every day in this campaign to make sure that Americans are not deceived by an eloquent but empty call for change."

So let's see if I have this straight: the worst that either Clinton or McCain can think of to say about Obama is that ... he's a really good speaker.

Hmm. Time was when people thought being a good speaker was actually a good thing to have in a president. Isn't that something presidents are called upon to do now and then?

Tags:
[ 19:43 Feb 20, 2008    More politics | permalink to this entry | ]

The mysterious vanishing planes

BBC was full of interesting news today.

Definitely the most interesting story was the one about the F-15 pilots rescued off Florida. It begins:

Two US fighter pilots have been rescued after their jets went missing over the Gulf of Mexico, the Air Force says.

Air Force spokeswoman Shirley Pigott said the pilots were rescued after their F-15C Eagles disappeared on a training mission.

The disappearance had triggered a search involving Coast Guard personnel, helicopters, planes and boats.

The Air Force has not yet determined if the planes collided or otherwise malfunctioned. The weather was clear.

Wow, that's quite a story! Not only do we have fighter planes disappearing in midair, but even after the pilots have been rescued, no one has any idea whether they collided.

Tags:
[ 19:15 Feb 20, 2008    More headlines | permalink to this entry | ]

Sun, 17 Feb 2008

Easy layer mode changing in GIMP

There's been some discussion on the gimp-developer list about that unwieldy layer mode option menu you see in both the Layers dialog and in drawing tool options.

Bill introduced the topic by suggesting a redesign of the menu to use two side-by-side columns instead of one. That makes the menu more compact and vastly shortens the average mouse movement needed to change modes.

But Sven didn't like the side by side option, pointing out that it implies some equivalence to modes that end up listed next to each other.

More discussion ensued, with Bill posting a screenshot of the unwieldy menu to illustrate how bad it is (including the bizarre gtk "the top half of the menu is blank" misfeature that always looks like a bug but is apparently intentional).

That Mode menu has always bothered me. Typically when I'm using layer modes, I try lots of them one by one to see which mode works best. But that's difficult with the current very tall menu, especially (as Bill pointed out on IRC) if you need to jump back and forth between two modes that aren't close to each other in the menu. And gtk option menu's behavior doesn't help, where clicking on it pops up the menu but not necessarily with the current item selected -- sometimes the previous item is selected, so you can't just arrow down once and assume you'll get the next mode.

That night after going to bed I got to thinking about it. I realized that the Mode menu problem was similar to the problem selecting a font from the combo box in the Text tool options -- I usually find it much easier to bring up the Fonts dialog and choose a font from there. What I really wanted for layer modes was a "Modes dialog".

And suddenly it came to me that I could solve most of my problem with a simple "Next mode" script. Once I had that, I could bind it to a key, or "tear off" the menu it was in so that it would stay visible and I could click it repeatedly. It took about ten minutes the following morning to write the script in python.

Cool!

I posted my solution back to the list, and some discussion ensued on IRC. Bill pointed out that enabling tear-offs for the existing Mode option menu (which can be done in two lines of C code) gives essentially the Fonts dialog I wanted. Several of us thought that was a great idea. But when Bill posted to the list, Sven nixed the idea, saying tear-offs were deprecated. (They're not officially deprecated in GTK, or at least the GTK documentation doesn't say so and I can't find anything with google; but in any case Sven apparently doesn't like tear-offs and won't allow adding any new ones in GIMP.)

Fortunately, gimp-python comes to the rescue here too. Writing a mode-dialog.py turned out to be a little trickier than "next mode", only because it took me a while to realize I needed to call pdb.gimp_displays_flush() to update the display after changing the mode of the current layer (thanks Alexia and Bill).

So now I have both "next mode" and a separate mode dialog, making layer mode operations so much easier!

Tags:
[ 12:50 Feb 17, 2008    More gimp | permalink to this entry | ]

Sun, 10 Feb 2008

The Grampians

The Great Ocean Rd drive had been lovely, but now my plans took me away from the coast and north, to the national park known as the Grampians.

I didn't know much about the Grampians -- going there was a whim. My Australian wildlife book said it was a good place to see kangaroos, emus, and koalas, and that as an island of old sandstone sticking up out of a sea of younger basalt terrain, they had a lot of relict species which aren't seen much in other parts of Western Victoria. Beyond that, I knew nothing.

I didn't have much of a road map, either. Although the Grampians are more or less straight north from Warrnambool, the maps I had weren't entirely clear about how to find the highway going north to Hall's Gap. But it looked like it should be easy -- just find the highway going to Dunkeld (one of the maps even had the highway number) and if I kept going past Dunkeld, eventually I'd end up in Hall's Gap. Easy!

So I headed west out of Warrnambool, keeping an eye open for the highway numbers. Nothing for a while, then a sign for a highway heading toward Caramut. I stopped and checked the map; Caramut was the next town east of Dunkeld, so I figured the next highway would likely be my turn-off.

A few miles later, I saw another highway sign ... but it was for Hamilton, the next town west of Dunkeld. Hey, wait a minute! What happened to that highway on the map that went straight to Dunkeld?

So that's how I found myself sailing along on one-lane unmarked country roads in the pleasant farming country north of Warrnambool. It's all bucolic green rolling hills and fields dotted with big hay rolls, crisscrossed with relatively straight roads. The roads reminded me enough of California's central valley (though the Victoria terrain here was much greener and prettier) that I felt relatively sure I'd be able to find my way in the right direction eventually. (We'll just ignore for the moment my skewed sense of direction caused by the sun being in the wrong part of the sky.)

After the road narrowed to a single lane, I quickly learned the protocol for oncoming cars: slow down barely at all, edge over onto the wide, smooth left shoulder and keep driving. The other car does the same, and everything works out fine.

Gradually, I saw the tips of the rocky crags that must be the Grampians looming out of the haze far ahead. I started seeing Dunkeld signs, and after a few twists and jogs, I arrived at Dunkeld itself, a tiny but picturesque looking town in the Grampian foothills, one just large enough to have a cafe where I was able to get a latte for the road.

North of Dunkeld the terrain becomes more winding and wooded, with vaguely exotic looking trees just different enough from the eucalypts we're used to in California that it looked a bit exotic. I'd been keeping my eyes peeled for roadside kangaroos all along, without seeing one, but I did see some road wildlife -- something that looked like a big stick lying on the road, until I realized the big stick was moving -- rather rapidly -- across the road. I slowed enough to make sure I avoided the blue-tongue lizard and watched it disappear in the roadside brush. Besides the one blue-tongue and the constant presence of sulfur-crested cockatoos in the trees above, the woods were remarkably quiet.

The last part of the road to Hall's Gap follows the valley between two high ridges of upturned sandstone. In a way it's reminiscent of the drive from Banff to Jasper in the Canadian Rockies -- of course the elevation and climate are totally different, but there's the same striking sense of following the trough between two adjacent up-tilted hogbacks. You can see that in aerial photographs (my wildlife book had one illustrating the Grampians) but I didn't expect it to be so obvious from the road. (I later had excellent looks from the other end, from some of the park lookouts north of Hall's Gap.)

And before long, I arrived at Hall's Gap. I checked in to the apartment I'd booked; then since it was still quite early in the day, plenty of time for a hike, I backtracked to the park visitor's center to inquire about trails.

On the ranger's advice, I made the hike to "The Pinnacle", a relatively hike over sloping and pitted black sandstone, winding through a slot canyon and up onto a clifftop. There were lots of other hikers on this popular trail despite the steep climb and the hot weather, and everyone exchanged cheerful words of encouragement and tips ("There's a nice cool spot to rest just a little way ahead", "You're almost to the top!"). The view at the end was spectacular and well worth the climb, with panoramic views of Hall's gap, the long valley between the two upraised ridges, and the farmland stretching for miles to the east.

Happy but thoroughly overheated from the hike, I took a quick shower then whiled away the time before dinner exploring some of the park's scenic overviews, during which time the weather clouded up and began to sprinkle. By the time I got back to my room it was raining buckets. This seemed to set off a black cockatoo outside my window, who flew from tree to tree screeching incessantly.

For dinner I'd already bought a ticket to the Australia Day BBQ and aboriginal dance at the Brambuk Aboriginal Cultural Centre. The festivities had be hastily re-arranged due to the rain, so we were treated to a prevew of the evening's digeridoo while they moved the BBQ to somewhere sheltered from the rain.

The BBQ was excellent ('roo, beef and sausage) and the digeridoo I heard impressed me. I'd heard recordings, of course, and Americans blowing into 'doos they'd brought from Australia, but I'd never listened live to someone who really knew how to play. It's a whole different experience: the 'doo is very directional, and the effects of the changing sound as the player moves the instrument around gives the experience much more presence than you can ever hear in a recording. I wish I could have stayed longer ... but I had too much to do before hitting the road in the morning. On the short trip back to my room I was treated to views of herds of kangaroos grazing in the fields on the outskirts of town.

I headed out fairly early Sunday morning. I didn't have much of a plan: just drive back to Melbourne in time to check in at the college and drop off the rental car. I didn't expect to start the morning with one of the trip's great sights: herds of emu grazing in fields by the side of the road below the sandstone knobs of the Grampians peeking through the morning fog. Lovely!

Halfway back to Melbourne, I stopped to check out the town of Ballarat, but it was disappointing. Somehow I'd gotten the impression of it as a scenic and remote mining town, akin to the California desert town of the same name. But it was just an ordinary little Victoria town, with some old buildings and a main street full of pricy cafes and shops. I arrived back at Melbourne a bit earlier than planned, which was just as well since it took four or five circuits of the university before I finally found a way to sneak in to Trinity college (as another car came out). I checked in to my room, dropped off the Elantra, and joined a group of fellow conference-goers in the search for linux.conf.au registration.

Tags: ,
[ 13:33 Feb 10, 2008    More travel/melbourne08 | permalink to this entry | ]

Fri, 08 Feb 2008

Random LCA Comments

Here I am in LA at the start pf SCALE, still catching up on blogging LCA and the Australia trip.

I didn't write about the Lightning Talks session just before the closing ceremonies. I love lightning talks -- to make a point in three minutes you really have to condense your talk to the single most important point.

Alas, I didn't come up with a topic in time, so I didn't give a lightning talk myself. But there were some excellent talks! Some of them included:

Paul's demo concluded to overwhelming applause, and there wasn't much question as to who had won the lightning talks session. I believe Paul won an Asus Eee (nice prize!) (Oops, Paul tells me after reading this that it was nothing quite that cool, but he did get a very nice book voucher), and deserved it for a very polished and funny talk. You can watch the video of Paul's Lightning talk on youtube.

Other observations from the week of LCA 2008:

Linus was around and listening to kernel talks, but not presenting. Rusty's "LCA for Newbies" presentation on Sunday night included a bullet point on "Don't fanboy the speakers" presumably applies, and everybody behaved themselves pretty well (myself included).

I stayed in Trinity College. We didn't have wi-fi in the dorm rooms like last year, only in the common room; but actually it was just as well to have a good reason to hang out in the common room and talk to people. The bathrooms were co-ed, but the doors closed so there was enough privacy.

But the weirdest thing about Trinity was the corridor and outside doors. Every corridor had doors at both ends, usually locked doors that required a card key from one direction, and the push of a button from the other direction. Sometimes an alarm went off if you didn't wait quite long enough between pressing the button and opening the door (fortunately, pressing the button again cancelled the alarm). It was very strange to walk down the building corridor continually pushing buttons and then carding back in; I have to wonder whether the high security was worth it. The outside gates were worse: to get out to the street you need a card key, there's no button press allowed. (Fortunately on the weekend most of us checked out, they left one of the outer gates open so we could leave even after we'd returned the card key.)

There were tons of Asus Eees around. Turns out other Linux geeks find that little laptop just as interesting as I did! Everybody seems quite happy with them, and I mostly saw them being used as real laptops ... in contrast to the many OLPCs, which were numerous but mostly being used as toys to network with other OLPCs. I saw more and more of them as the week progressed -- turns out a lot of people were heading over to a nearby computer store to buy one, either because of hardware problems with their normal laptop, or just for a toy.

(In contrast, here at the first day of SCALE I haven't seen a single Eee yet, nor any other small laptops besides my own Vaio.)

I talked to someone who'd tried one with a projector, one of my main concerns with the very low resolution Eee. He said it drove the projector just fine ... but only at the Eee's native resolution of 800x480. Hard to imagine giving a GIMP talk (or, indeed, any sort of technical talk) like that. Bummer!

I also got a good look at one of the modern Toshiba Librettos (a year-old model). Lovely machine, smaller but thicker than the Eee, but much more capable (also much more expensive). The keyboard was noticably smaller than my Vaio or the Eee, but quite well designed and apparently it's no problem typing full speed on it once you adjust to the size.

Other interesting small laptops I noticed were a couple of Vaios (the 10-inch models descended from my SR17), a couple of Toshibas and Lenovos, and a couple of rare birds like Val's uber-cool grey-market Panasonic.

Also highly popular were Macs. Some were running Linux, but a surprising number were running OS X; I wasn't able to get an estimate of percentages.

Tags: ,
[ 13:49 Feb 08, 2008    More conferences/lca2008 | permalink to this entry | ]

Tue, 05 Feb 2008

Synaptics and USB mouse simultaneously

A month or so back, I spent some time fiddling with the options for the Synaptics touchpad driver. The Alps (not Synaptics) trackpad on my laptop has always worked okay with just the standard PS/2 mouse driver, but in recent kernels it's become overly sensitive to taps, registering spurious clicks when I'm in the middle of typing a word (so suddenly I'm typing in a completely different window without knowing it).

I eventually got it working. I tried various options, but here's what I settled on:

Section "InputDevice"
        Identifier      "Trackpad"
        Driver          "synaptics"
        Option          "SHMConfig"             "true"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"
        Option          "MinSpeed"              "0.5"
        Option          "MaxSpeed"              "0.75"
# AccelFactor defaults to .0015 -- synclient -l to check
        Option          "TouchpadOff"           "2"
        Option          "Emulate3Buttons"       "true"
EndSection

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ExplorerPS/2"
        Option          "ZAxisMapping"          "4 5"
        Option          "Emulate3Buttons"       "true"
EndSection

Life was groovy (I thought). Fast forward to LCA, a few days before my talk, when I decide to verify that I can run my USB mouse and the slide-advancing presentation gizmo through a hub off the single USB port. Quel surprise: the USB mouse doesn't work at all!

I didn't really need a mouse for that presentation (it was on GIMP scripting, not GIMP image editing) so I put it on the back burner, and came back to it when I got home. As I suspected, the USB mouse was working fine if I commented out the Synaptics entry from xorg.conf; it just couldn't run both at the same time.

A little googling led me to the answer, in a thread called Can't use Synaptics TouchPad and USB Mouse -- it wasn't the first google hit for synaptics "xorg.conf" usb mouse, so perhaps this entry will help its google-fu. The important part I was missing was in the "ServerLayout" section:

        InputDevice     "Trackpad"              "AlwaysCore"
        InputDevice     "Configured Mouse"      "CorePointer"

Adding "AlwaysCore" and "CorePointer" parts was what did the trick. Thanks to "finferflu" who posted the right answer in the thread.

Tags: ,
[ 22:54 Feb 05, 2008    More linux | permalink to this entry | ]

Mon, 04 Feb 2008

Indian Gaming Props 94 through 97

Finally home from Melbourne and with a good night's sleep behind me, I finally had to take a look at the Indian gaming propositions on tomorrow's ballot: Propositions 94 through 97.

There are a bunch of issues here which I'm not going to try to write about: you can read the legislative analyst's summary and the pro and con arguments in the Supplemental Voter's Handbook. But the really interesting part of the is the section at the back of the SVH: the TEXT OF PROPOSED LAWS section. It's always good to take a look at a law's actual text before making a decision. Sometimes they surprise you. Especially in this case.

Ready to follow along? Okay, we'll start with Prop 94. Open your SVH to page 44 (or use the PDF or Google's HTML translation) and start at SECTION 1. (Presumably there's some way to get to these links via www.sos.ca.gov/elections/ but I didn't have much luck finding it.)

SECTION 1. Section 12012.49 is added to the Government Code, to read:
12012.49. (a) The amendment tothe tribal-state gaming compact entered into in accordance with the Indian Gaming Regulatory Act of 1988 (18 U.S.C. Sec. 1166 to 1168, incl., and 25 U.S.C. Sec. 2701 et seq.) between the State of California and the Pechanga Band of LuiseƱo Mission Indians, executed on August 28, 2006, is hereby ratified.
(b) (1) In deference to tribal sovereignty, none of the following shall be deemed a project for purposes of the California Environmental Quality Act (Division 13 (commencing with Section 21000) of the Public Resources Code):
(A) The execution of an amendment to the amended tribal-state gaming compact ratified by this section.
(B) The execution of the amended tribal-state gaming compact ratified by this section.
(C) The execution of an intergovernmental agreement between a tribe and a county or city government negotiated pursuant to the express authority of, or as expressly referenced in, the amended tribal-state gaming compact ratified by this section.

... hey, wait a minute, where are the details? The proposed law continues in this fashion, referencing "the amended tribal-state gaming compact ratified by this section" over and over. Remember, this is the actual wording that would become part of California law if these propositions are approved.

Dave looked into this more. Turns out these Indian gaming compacts are complicated by an amusing legal problem: since each reservations is technically a foreign government, negotiation has to be done by the Governor's office, not legislated by the state legislature. But the agreements the Gov makes have to be ratified by the legislature or the voters.

Okay, so what we're voting on is whether to ratify the agreement the Governator reached with the set of tribes under discussion (mostly along I-10 in Riverside County, plus one down near San Diego).

Great. So ... where are these agreements we're voting to ratify?

Not in the Supplemental Voter's Handbook, that's clear enough. So where can we find them?

Dave went to Google, and thought he found something -- wait, no, it turns out it's even more complicated than that. See, there are lots of earlier revisions of the compacts, too.

Apparently when the time comes to get it ratified, how it generally works is: Someone writes up a bill that sounds harmless and has nothing to do with the actual issues being discussed ("Proposed: that we will provide the Pachenga Indians with educational information on tooth decay prevention for their schools"). This is made public, and sits in the public place for bills under consideration until the last minute, when it is amended to add whatever the real subject of discussion is. Then everybody votes on it (probably without reading the amendments), and the agreement is ratified.

But something went wrong in the process this time, and somehow the agreements weren't ratified and ended up getting sent to the voters.

Okay, that's all very entertaining, but meanwhile we still need the text of the agreements we're being asked to ratify. Where are they?

After much searching, Dave thought he had a lead: Denise Moreno Ducheny's page has a link for SB 174 - Tribal gaming: compact ratification. which supposedly corresponds to Prop 95. That link doesn't work for me (I get "The connection has been reset: try again later" -- either it doesn't like Firefox on Linux or it wants cookies or something) but it worked for Dave in Safari, and it turns out it was one of these pre-amended versions, not the version we're actually being asked to vote on.

But he finally found what apparently are the final versions of the compacts, linked from a press release on the governor's site. Note that you can't get there by actually searching the Governor's site (searching for tribal compact gets you three press releases that don't include that one). Here's a direct link to the Pechanga agreement and the San Manuel agreement. You're on your own for the rest.

Anyway, the PDFs on the Governor's site do appear to say pretty much what the legislative analyst says they say. So the analysis in the Supplemental Voter Handbook is probably fine and you cat vote on that basis. That's assuming you believe that those PDFs, findable only through google and not through any official link, are the real ones that are being voted on. The filenames both include the word "final" -- isn't that all you need to know?

Me, I'm not too happy about being asked to vote on a basis of "We won't show you the actual text, just trust us". I don't like the idea of laws that reference unknown other documents, stored in an unspecified place and possibly subject to who knows what sorts of revisions. I'll probably vote no for that reason.

Tags:
[ 17:54 Feb 04, 2008    More politics | permalink to this entry | ]

Fri, 01 Feb 2008

The Final Day

How can it be the last day of LCA? Wait! I'm not ready for it to end yet!

Well, at least Friday was a pretty full day, starting with the keynote, Anthony Baxter's "One Snake Enter, Two Snakes Leave" covered the two upcoming Python releases: 2.X (a minor stability/feature release) and 3.0 ("the release which will break all your code").

I hadn't seen him give a technical talk before, only the talk he'd given on flashy talks last year at the LCA Speakers' Dinner, and I was curious about how well his style worked for a real talk. Very well, as it turns out -- he was entertaining, clear and still plenty technical. The video of the keynote is well worth checking for anyone who programs in Python and needs to know about the upcoming changes.

Next up was Ralph Giles' "Seeking is Hard", an explanation of the Ogg container format (as he recovered from running across campus to find a needed video adaptor to get his Mac to talk to the projector). I got a little lost in the discussion early on distinguishing packets from pages (someone asked what the motivation was for each, and that would have helped me too).

But the core of his presentation -- why seeking is hard (for a media format that has to encompass video as well as audio) -- was clear and interesting. Seeking means finding a file location corresponding to a specific time offset; Ralph discussed the difference between seeking to a file position directly proportional to the time (which works only in uncompressed formats no one uses any more), using a seek table (a good optimization, but they're often wrong so you can't count on them) and the real solution, putting timestamps in each page. He covered problems like keyframes (a video frame from which a set of subsequent frames are calculated, so you can't seek and then start playing right away; you have to search backward to the last keyframe) and multiple tracks (you have to seek in each track to get them all in sync before starting to play).

Quite interesting, and I understand video formats a little more than I did before (which was "not at all").

Of course, you have to laugh at the title of Matthew Garrett's talk: "Suspend to Disk: Why it doesn't work, can't work and never worked in the first place (and what to do about it)." And we kept laughing throughout the talk. Who knew that kernel swsusp was such a funny topic? But the talk was informative and detailed as well as funny ... a strong contender for best talk I saw at the conference.

After lunch, Keith Packard of Intel told of "Pain and Redemption on the Linux Desktop." At the beginning of his talk, Keith announced Intel's release of a Programmers Reference Manual for their graphics chipsets -- some 1700 pages of detail used in their current driver, all released under a Creative Commons license (no derivative works). Horray, Intel!

The meat of the talk was a discussion of problems with the current X model, and fixes for them, including lots of information about who was working on what. Sort of a "state of the server address".

Tags: ,
[ 00:44 Feb 01, 2008    More conferences/lca2008 | permalink to this entry | ]