
My name is
David Robins:
Christian, lead developer (resume), writer, photographer, runner,
libertarian (voluntaryist),
and student.
This is also my son David Geoffrey Robins' site.
MythTV is go
News ·Thursday October 26, 2006 @ 22:46 EDT (link)
And we're up and running, after a couple of all-nighters and a few evenings' work. Let me continue where I left off Wednesday morning: links successfully emerged, and I also installed screen for convenience. I used various sources all over the web to tweak various settings and learn things, so there's no way I can mention them all; the Gentoo and MythTV wikis were of course foundational in setting everything up.
(Let me offer this disclaimer if there are any scoffers reading this: Although a TiVo or a similar pre-built PVR may be cheaper (although monthly subscription costs are more and I pay none), I'm building this box for more reasons than cost, among them, the experience—until now I knew nothing about computer-TV I/O, volume management, infrared devices, etc.—and the freedom of having complete control over my system—nobody can make me watch anything, or expire my recordings, or prevent me from exercising fair use rights. Also, can you play games or browse the web on a TiVo?)
This is going to be long, so it probably merits some headers.
Kernel: I set up the kernel (Linux 2.6.17) with the necessary drivers and settings, using GRUB as the bootloader, managed to get it to boot fairly quickly.
Graphics: I started by trying to get the system to recognize the graphics card, which meant using the proprietary nVidia drivers, and following these instructions. No trouble there, except the generated xorg.conf had the wrong mouse device, which was easily fixed. I installed the nVidia kernel module (modprobe nvidia) and was able to startx and was greeted by the uncomplicated frank ugliness that is twm, but at least it worked. I'm still working with the monitor; nothing's connected to the TV or cable yet.
TV Capture: Next, the TV capture card, the Hauppauge PVR-500 (MythTV page). I found out that I needed IVTV (yep, another wiki), and a few more kernel drivers (Gentoo told me what I was missing when I tried to install). IVTV's versions match particular kernel versions; for 2.6.17 I needed the latest 0.7, which turned out to be 0.7.1. I had to "unmask" this and the pvr-firmware package for AMD64, since the Gentoo maintainers hadn't officially declared them safe yet. modprobe ivtv worked flawlessly and dumped bunches of information about the PVR-500 and its dual tuners to the kernel log, viewed via dmesg. The previous link also had some steps for testing the device (just grabbing a random stream), which didn't work until I changed the input source to be 0, the tuner.
Setup: I was able to run mythtv-setup in the X session I'd started, and set up the capture cards and outputs and tweak a few other sessions. It's a strange little application; it hides the mouse so everything has to be done with the keyboard using a UI that looks like Motif.
Remote: I'd purchased a Microsoft MCE remote from the company store, which I now attempted to set up. The IR receiver is USB; I determined it was the newer MCE remote, so I emerged lirc with the lirc_devices_mceusb2 USE flag, installed the module with modprobe lirc_mceusb2, installed the configuration file for the remote as /etc/lircd.conf, and started lircd, the Linux infrared remote control daemon. I had to add one button later, but in all it worked fine; irw showed the correct interpretation for the various keypresses. (lircd translates the data received from the IR receiver into usable data about keys pressed, and broadcasts that data on a socket which programs such as MythTV can listen on.)
Program Guide: The standard for receiving channel data for MythTV is the Zap2it.com TV and movie guide, which offers free subscriptions to an XML feed, so I set that up and ran the mythfilldatabase script to grab a sufficient quantity of listings and store them in the local listings (MySQL—their choice, not mine) database; I also set up a cron job to synchronize the listings daily.
TV Out: Next I connected the machine to the TV; the nVidia card had S-Video output, but since the TV's S-Video input was already being used for the DVD player, I used an included S-Video to component video dongle included in the package, and then used RCA ("composite") cables (same connectors) to connect it to the TV. I read further and found out the Option directives needed in xorg.conf to tell it to output to the TV. First I dialed back the resolution a bit and deleted all of the depth lines except 24-bit. It worked reasonably well; X came up on the TV and I could run mythfrontend, but the colors were wrong; black and white, with some pink tones. I borrowed the S-Video cable from the DVD player, and that fixed the colors; just recently I learned how to do component out with nVidia cards on MythTV (thanks to Freenode #mythtv-users).
Cable in: Eventually I hooked our cable to the TV capture card (between my wife's shows...). When I did the default-record test, I just got static, since I wasn't tuned to a channel, but it was black before, so something was being read. I emerged the minimalist evilwm and set it to exec /usr/bin/mythfrontend via .xinitrc (note that MythTV runs as a non-root user, although it needs to be in the audio and video groups naturally, which is a good thing). When I ran startx as that user the MythTV menu came up; I selected the first option, "Watch Live TV", which promptly did nothing. I forget what the issue was; it may have been permissions, but I resolved it, and was able to navigate around our cable lineup, but it was super-grainy and very splotchy in the lower channels.
Shopping trip: Unfortunately it seems grainy video is endemic to the Hauppauge PVR-500MCE with the Samsung chip (ones with the Philips chip are fine), and mine had the Samsung chip. I returned it and was going to get dual PVR-150MCEs, but they only had one in stock so I'll need to pick up a second one later. (I also picked up an ASUS DVD writer for my other machine to make backing up the system—photographs take up a lot of space—easier.) I also picked up a 2m Monster component video cable ($55! but cheaper than the series 2 which was $75) (and Broken Arrow, The Butterfly Effect 2, and The Wicker Man) from Circuit City, a 4-way RF (cable) splitter (the dual PVR-150s each need a signal, as does the cable modem, and they don't make 3-ways) and a phone plug to RCA connector from Radio Shack, and a (wired, since it's USB) X-Box controller ($25, vs. $40 from Target) and a wireless keyboard and mouse (Optical Desktop 4000) from the Microsoft company store. Amazingly the wireless keyboard/mouse worked right away, standard PS/2 connectors, and the PVR-150 card required no changes to work correctly, and it produced an excellent picture.
Finishing up: I installed all of the various MythTV plugins (except MythFlix), but I haven't had a chance to play with them yet. There are still a few things to iron out with the system: it seems to be getting the wrong data for channels 2 and 3; on boot, it complains about a filesystem check error, but there's no actual problem and /etc/fstab is fine; also, I need to set it to boot directly to MythTV which means having it autoload some modules and then run startx as the MythTV user. Not difficult, just things to do.
Altogether it's a great system and we're very happy with it. It's name is cirith-ungol, joining minas-tirith, khazad-dum, and imladris (R.I.P. barad-dur).
Update: looks like autoloading the needed modules is just a simple matter of adding them to /etc/modules.autoload.d/kernel-2.6; done. Startup scripts can be added to /etc/conf.d/local.start; added su mythtv -c /usr/bin/startx. Still not sure about the fsck issue, but commercial flagging is now working.
The MythTV box has arrived!
News ·Wednesday October 25, 2006 @ 00:10 EDT (link)
I picked up my MythTV box from Hard Drives Northwest (HDNW) today; I'd expected it Friday and was then told Monday; they were waiting on memory, which seems to be a strange thing to be lacking. AT suggested I write up the experience of building the system on this site, which I plan to do. Anyway, let's start with the specs. I started with some ideas from an O'Reilly article and tweaked it after reading various sites; for example, I didn't want or need the pcHDTV board he recommended, preferring the Hauppage PVR-500 with the dual tuners; also, he wanted to record digital TV received over the air, I wanted to track cable. I ended up with the following:
- AMD Athlon 4600+ (dual 2.4 GHz processors)
- MSI K9N Platinum AM2 MB
- Antec mid-tower case with 450W SP-450 power supply, glossy black
- nVidia 7600GS silent (heat sink instead of fan) graphics card with TV out
- Seagate 320 Gb 7200 RPM SATA2 HD
- Hauppauge DVR-500MCE (dual tuners), with hardware MPEG-2 compression
- 2 Gb RAM; NEC DVD-burner; no keyboard, mouse, floppy, monitor, or OS
Total cost: $1453.56 (including tax). I also picked up:
- Windows MCE remote, purchased at Microsoft company store (includes IR
receiver/blaster)
and may get a Microsoft IR keyboard/mouse too (sometimes it's nice to be able to type from the couch, e.g. to look up actors in a movie to satisfy those annoying "I know I've seen him somewhere..." moments).
I set it up next to the TV, hooked up to an old monitor—and a new keyboard—for the setup phase. I had to run a network cable to my study since although the cable comes in there and goes through the cable modem, it then goes into the wall and emerges into the study where it goes through minas-tirith for NAT and firewalling. It needs to sit inside the network; these days, machines aren't safe outside. I booted my old Knoppix 3.8.1 CD; booted fine, but couldn't find the network interface cards (dual Gigabit, whee); I checked the book and found they so I just downloaded and burned the latest Knoppix, 5.0.1... and yes, it detects the network devices, and even configures them via DHCP. Unfortunately I have to borrow the bluetooth mouse from the laptop station; I thought I had a few old mice hanging around, but I seem to have gotten rid of them.
Now, though, the screen display is super-dim (I can peer at it and see the applications and the mouse cursor, but it's really dark); before it was just fine. It happens when Knoppix runs X, but persists when I return it to console mode. It's not the monitor settings; time to STFW again... and the web says that it's a driver bug (duh!) and provides links to updated nVidia drivers and a workaround: connect the monitor to the DVI output using the analog adapter. This works, and the network is indeed setup—Slashdot comes up just fine in Konqueror—so on with the show.
Using the Knoppix LiveCD let me skip to step 4 in the Gentoo Linux AMD64 Handbook. I decided to set up a 100M /boot partition and 1 10G / partition (both ext3), and then I learned about LVM, the Linux Logical Volume Manager, and used it to dedicate the rest of the 320G drive to a /video partition (using IBM's JFS, since either it or XFS are recommended to get decent performance with video files, which tend to be large). Now I'm downloading the AMD64 stage 3 tarball from a Gentoo mirror site (stage 1 and 2 installs are no longer supported, so I'm glad I got to, um, enjoy one while they were still in vogue).
So I reach the chroot stage and hit another snag: since the Knoppix CD is 32-bit but I'm building a 64-bit system, the running kernel can't load the /bin/bash image from the stage 3 tarball. Looks like I do have to burn the Gentoo-specific AMD64 LiveCD.
While you're waiting for the CD to burn, feel free to browse the recently reanimated photo site. Well, semi-animated at least. Give me a moment to disable access to an old photo of my SSN card (and to implement said disablement). Note that it only includes old photos taken on my old Sony DSC-F707 (mainly January-July 2002). I need to re-import the newer photos to the database, and also some old info files (and show the category descriptions, once they're populated).
One annoying thing about the Gentoo LiveCD that had me tearing my hair out at first is that it doesn't let you su to root until you run and pass a few screens of their installer (then you can exit it). Before I went to sleep at 0830 (!) I did emerge links (links is a console web browser, but can also use some graphics, and hence also installs X and other deps) and let it run.
A short story about attributes
News ·Tuesday October 24, 2006 @ 02:13 EDT (link)
There is a way which seemeth right unto a man, but the end thereof are the ways of death.
Once upon a time there was a developer that needed a database to track photographs. But this database needed to be "future-proof"—what if more information needed to be added later? "Aha!" thought the developer, "I'll just create a table of attributes. Two, actually, one for integer attributes and one for string attributes. Each attribute will have an index, yea, CAPTION shall be 1001, CATEGORY shall be 1002, etc. Images shall be described by sets of (image id, attribute, value) pairs." And the developer saw that it was good, although only two attributes, both captions, were ever added to the database over several years.
Experienced architects will realize that this developer, um, who looks a lot like me, actually, had actually invented a database within a database, and done a fairly stunningly poor job at it, at that, for the following reasons:
Every type needs a new attribute table, and all text will be lumped together as text columns, which probably isn't the most efficient way to work.
On any decent database, empty or null varchar columns don't take up much (if any) space. Premature optimization is the root of all evil; unless there are hundreds of possible attributes, a regular flat table will suffice (given the hits I get, a flat file would work, but the interface isn't nearly as convenient).
With regular tables, the data can be properly typed (and constrained), and the database can make intelligent decisions about types.
So, let this be a lesson to y'all. For those interested, the image directory now has columns id (autogenerated index), name (can be transformed to the image filename), caption (description for the directory or image), date (date the photograph was taken, from the imported file date), access (whether the photograph is viewable externally). I'm still fine-tuning a few things, like how to break up photographs into linear sets; I'd rather do it by event than by when I decided to dump the photos from the camera, which is how they are now. I do have two more tables for tags (categories): category (id and name), and category_map (unique image and category pairs, with foreign key references and on delete cascades).
Note to self: use cdrecord -dev=ATA -scanbus to check and cdrecord -dev=ATA:n,n,n -v -speed=n -data cd.iso; in particular, don't use ATAPI or SCSI device with 2.6 kernels; ATA is superior (according to the LKML, although all methods give some sort of bizarre warning).
2007 Corolla CE, silver
News ·Monday October 23, 2006 @ 16:44 EDT (link)
I was working on the previous version of this entry, and Firefox spun itself up to 99% CPU and ate it. Unfortunately I was viewing another tab at the time (nothing complex, either, Firefox just chose to up and die), but fortunately I only had a few bullet points which I hope I managed to reconstruct. Even open source software fails.
Also, this page was down due to some reconstruction work: I moved some older photos from my Sony DSC-F707 into the new format to begin an indexing project which will make indexes publicly viewable. Thanks to my father in law for noticing that the page was down. I'd deleted a symlink that I thought was unused; simple fix, update the generated link pattern.
I fixed a running toilet downstairs on the weekend; looked at a few articles online, determined it was the flapper; I'd shut off the water to it last week and finally got around to picking up a new flapper at the local hardware store; installation was simple. Looks like the old one wore a little around the edges (it also looked a little cheap; instead of a chain it had something reminiscent of a those slotted luggage tag ties) necessitating replacement. I was inordinately pleased with myself when that took care of it; no more running toilet.
We bought a new (2007) Corolla CE from Toyota of Kirkland on Sunday, trading in Honey's old lemony Volkswagen Golf TDI (the D is for diesel). We're glad to be rid of the Golf, and know the Corolla will last/hold its value for a long time. She's very happy.
I tried to scan a DVD cover to add to DVDSpot with my old HP ScanJet 4100C, but it overheated or something, and eventually refused to come on at all, so it's been consigned to the wastebasket and I'm in the market for a new scanner. Ooh... an editor got around to approving my addition, so I can now add Entrapment and put it back in the shelf.
Went to Costco for the first time today, got a phone with three remote units, should cover the place, and we can retire the dying phone in the bedroom (won't hold a charge, even with a new battery). We're basically only on call this week, so I'll stay home and wait for the word (the word on Word?) tomorrow.
The DVD scanning system
News ·Friday October 20, 2006 @ 00:16 EDT (link)
Everyone knows that Rhode Island really isn't a state, it's just a joke perpetuated by New Englanders on the rest of the country for their own amusement.
New England is really one state, it just gets twelve Senatorial votes and has a particularly byzantine internal tax code.
Days of major terrorist attacks in New York: 1, ever.
Number of major earthquakes on the West coast: about 5 or 6 in the past century, spread out from California to Alaska.
Percentage of years in which Buffalo, New York has freeze-your-ass-off winters: 100.
I drove into Seattle to pick up my scanner this morning before work; no trouble, found the guy's building, parked conveniently (so probably illegally) right outside, called up, and picked up the scanner and receipt. It worked as soon as I plugged it in; I scanned some codes from the book to turn it into a "keyboard wedge" scanner which means it simulates typing in the barcodes it scans and hitting enter. I immediately started scanning my juice cans, books, whatever.
Later on at home I wrote some HTML::Mason perl code so I could scan in DVDs and have it automatically fetch title, cover art, genre, length, etc. from DVDSpot, using WWW::Mechanize to fetch the pages and images. I just added the View All code. Interesting: IE shows the entire tooltip (title attribute), but Firefox cuts it off rather early.
The scanner, the DVD list, and feedback for eBay. Only four DVDs couldn't be matched via DVDspot: Entrapment (fullscreen and "Special Edition", but that usually doesn't matter), the Anacondas Collection (but I suspect scanning the two DVDs it contains would work), Transporter 2, and Lara Croft Tomb Raider: The Cradle of Life.
Honey finished the Mario game on her Nintendo DS that we picked up Monday. She also put in her notice at AMEC Earth and Environmental (last day November 2).
Today someone posted this link about Southwestern Baptist Theological Seminary instituting a ban on speaking in tongues to the internal Christians at Microsoft list. I refrained from posting something along the lines of "just exactly how is that bad"? They may be baptists, but at least they know some things are just batcrap insane.
Sacramento, California
News ·Wednesday October 18, 2006 @ 23:10 EDT (link)
Moon
Blazing Trees
We took Alaska Airlines flight 390 from SEA to SMF, arriving on time just after 1900. Bob's wife Jill and son Raven were there to meet us, and he came through the same terminal about half an hour later; it was good to meet Jill and Raven and see Bob again. The GPM (Guest Profile Management) group at Hilton seems to be progressing well, didn't sound like there was anything too exciting in the pipeline, but always plenty of work, and Peter's trying to convert everyone to Java and I hope he fails (nothing personal, Java's just a crummy way to code). Anyway. We drove back to their place in Roseville just to pick up a few things, then headed over to their condo in Truckee* in two vehicles so Jill could head back early. Nice condo, three stories, entryway, our bedroom and Raven's and a bathroom on the first, living quarters on the second, their bedroom on top. It was late enough when we got in that we didn't stay up long.
* Origin of the name: Indian guide was saying "it's okay" in his language so that the white explorers would know he wasn't hostile, but they thought it was his name so they named the town that.
Jill, Raven, Bob
We did some light hiking Saturday morning through nearby woods, to the condo "village", taking the two dogs, Molly and Maggie, with Bob and I taking many photos (which reminds me, need to copy them off; now doing so in background). Later we introduced Bob and Jill to the card game Euchre (and I just learned that the dealer's partner having to go alone on ordering up the dealer is a Canadian variant). I also put together some Lego spaceships with Raven, we watched some Mythbusters episodes, and SpongeBob SquarePants, since we'd never seen the show (it's not bad). Sunday they made us pancakes and Jill and Raven headed home; Bob took us around Lake Tahoe, with, of course, many stops to take photographs (which reminds me, I need to process the photos I just copied from my camera). Many beautiful vantage points decorate the lake, which is mostly in California and partly in Nevada (so this was also our first time into Nevada, whose demarcation is indicated by the upspringing of casinos).
We were all set to be in good time for our flight back at 1945, when tragedy struck: there was (reportedly) a head-on collision on US-50 ahead of us (I can't find a link); some people that ran ahead said there was a five-car pileup, but there was no evidence of that. We were about a mile and a half back from the crash, and there were perhaps another 10 miles of cars coming the other way; it delayed us two hours and caused us to miss our flight (we raced to the airport and got there at 1925, but the ticket agent wouldn't give us tickets; at least, though, she waived the $100 fee to change the ticket to 0700 Monday morning). So we crashed at Bob's, and observation of his TiVo system made me again desire to build a MythTV system, more about which later. We got up at 0500, flight left 0700, paid $66 for parking, and slept a bit and then RAS'd into work.
To catalog DVDs, I'm purchasing a WLS 9000 laser barcode scanner (works for Joel) from eBay (cheaper, and the model has been discontinued, current one is about $350). I'm hoping to pick it up from the seller tomorrow in Seattle, in fact (for speed rather than to save the $10 shipping). When I get it I'll set up an HTML::Mason-powered page to enter barcodes, view our collection, search, etc., using DVD information pulled from DVDspot, a free site that tracks DVDs by UPC and provides relevant information such as title, length, cover art, aspect ratio, etc.
Polarized mountain
Slow day at work today, so I finished Of Mice and Men (Steinbeck; good story, somewhat sad ending) and started on Virtual Light (Gibson). Played a few games of Warcraft, too, but didn't win any; sometimes that's the way it goes. I was doing well as undead but for want of a Necropolis at my expansion, the game was lost.
About the MythTV system: we stopped in to Hard Drives Northwest, where I'd gotten my Acer laptop a year or so ago, and custom ordered the system: AMD 4600+ 2.4 GHz box, 320 Gb HD, 2 Gb RAM, Hauppauge PVR-500 (dual tuner) capture card, nVidia 7900GS TV-out graphic card, no monitor, keyboard, mouse, or OS; should be ready by the end of the week. I hope it's sufficiently quiet, but if not, there's a decent article about replacing fans with heat sinks etc. to quiet it down.
And finally some Fark links: here's one on a letter to a Senator who wants to become an illegal alien for the tax benefits and one on a judge who orders a woman to stop breeding at the state's expense.
Hi Mom, I'm on the TheDailyWTF
News ·Monday October 9, 2006 @ 21:47 EDT (link)
So this morning I was reading The Daily WTF as I often do, a site that exhibits bad code, bad management, or both, and I came across the latest smorgasboard, and lo and behold I saw some perl code referring to a $gst which is Hiltonese for guest, and a record, thus:
P. C. apparently inherited code originally written by an evil genius from deep inside his volcano headquarters.
@{$gst}{keys %{$rec}} = values %{$rec}; # muhahahaha
The code immediately looked familiar, as did the comment. I did some checking, and sure enough, it's part of the User.Notify transaction in the gpm::user::User (sic.) module. Many that read the article didn't think the code itself was worthy of a "WTF?!", even with the comment. In fact the first thing I thought was, as another commenter noted, that it had unnecessary braces, although I might have left them in for clarity. As I recall, that line replaced a lot of messy code, and was (and still is) an eminently compact solution. Yes, I'd do it again—but with less braces: @$gst{keys %$rec} = values %$rec. I dropped Peter a line thanking him for the mention, but our mail server was slow (those twits down in Exchange think it's funny to run their beta code on our production systems periodically), so a few hours later I got a note from Bob about my recent eminence.
This Saturday we went looking for garage sales, since Indian summer is extending so beautifully; I was specifically looking for bookcases, and I wasn't disappointed. For $35 (down from $55.50), we picked up two small (4-shelf) bookcases (one new, $5 and another a little more worn but larger, $7, both down from $10), a small table ($10, down from $20), Honey got an (unused) purse ($5, down from $7), Remember the Titans ($3), and six books: The Blind Assassin ($1), To Kill a Mockingbird, The Red Badge of Courage, Of Mice and Men, A Farewell to Arms ($1; $0.25 each), and Our Dumb Century (a compilation from the Onion, free with the DVD). A pretty decent haul, all-told, and now our remaining stacks of books have homes.
Finished Police Quest 3 yesterday. Not much of an accomplishment since I already beat it back about 10 years. If you're counting, we're at King's Quest V and Space Quest IV (not started yet), and Leisure Suit Larry 2 (not on the boat yet, but won the lottery and trip). I loaned them to BB at work since he wanted to see how well they ran under XP (very well, Vivendi did a good job packaging them, using the open source DOSBox; no configuration required or possible). I watched The Manchurian Candidate—not bad for a black and white, interesting idea, and we saw the new Fast and the Furious, Tokyo Drift; standard but decent action flick, but it froze at 00:00 and we had to skip a track and rewind, so I'll be returning it for a new copy.
Some Joel test scores (all out of 12): Microsoft, 12, athenahealth, 9, Hilton, 10, and a job in I was talking to a guy in Kentucky about on EFnet today, 4 (ouch, but apparently it's up from 2 due to a clueful senior VP). The Joel test is a quick way to assess programming shops.
A few hundred years ago some chaps had the novel idea that people (well, white, male, land-owning people, but it's the principle of the thing!) should be able to choose their leaders, and those people should represent them. It was a good idea, so what went wrong, and why is it now that the richest people, through their corporations and something called "lobbying", primarily because "corruption" and "votebuying" was already taken, now speak for us all? Can this be fixed?
How about direct democracy, with the representative vote as a fallback? We didn't have the technology when this nation was founded, but we surely do now (Diebold nonwithstanding). People would vote using set-top boxes or telephones or The Internet, or boxes at the corner store, or something accessible enough that your dog can do it, because anything more would be discriminatory, but that's another rant for another time. If people aren't interested in an issue, their elected representative's vote is taken instead. If you didn't vote for anyone, you don't get to vote directly, either; wait another 2/4/6 years and remember to take a few minutes out of your busy day this time. So, most of the time the majority cheerfully goes about their business and lets their representative, well, represent, but when something near and dear to them comes up, and they're worried that he'll be lured from the straight and narrow by greenbacks, well, they can step in and press a button. It'd also be nice if a sufficient number of interested people could propose bills, too (I think they can now, but it's really hard for the common man, which makes it effectively impossible).
A variant is to let people vote for whoever they want, and winner doesn't take all; the person you pick gets to case your vote, but only if they're among the top n in the nation do they get an office in Washington.
It has to be in a politician's best interest not to accept lobbying funds. If it's forbidden, it'll happen anyway. If you vote with the people that gave you money, and not the voters, we'll take your vote away and vote ourselves, and now we don't trust you, and maybe we'll pick someone else next election. Do we even need politicians at all? A few, sure; I think the senate level is an important balance, but the house of representatives could be dumped entirely (so now the default is no vote at all, so only those that care to vote on an issue are heard). What can go wrong with that? Mob rule? That mob is the majority, and that mob elects people, so why not let them make the decisions in things that affect them and things they care about? I lean libertarian anyway, and I think people should be responsible for their own, which mainly means my property taxes should be cut by two thirds because I don't have any sprogs in school. (Is school a common good? Perhaps, so cut said taxes by only half; parents should be responsible for their children's upbringing, and if they can't afford it, don't let them loose hooligans on us all, just take the kids away and sterilize them to prevent it happening again.)
Overpopulation is killing my trees
News ·Sunday October 1, 2006 @ 23:07 EDT (link)
Duvall is planning some expansions and annexations (of bordering parts of unincorporated King County), which will probably mean that some of the trees behind our property will vanish, and our cul-de-sac will become a "U". This is annoying, because I feel there are already enough people, so there's no need to kill my trees. Of course, it's in every politician's interest to have more people in their district, so you won't find any resistance there. Yes, I'm in favor of breeding licenses; feel free to call me a fascist. I know in the grand sceme of things if nobody reproduces we'll run out of people (there are some that don't think that's a bad idea). But we're not there yet.
Give every couple the right to have as many kids as will maintain a replacement rate; put the decimal points into a lottery (my original plan was to put them on the open market, but I don't know if I want only the rich having many kids, although at least it indicates they can probably take care of them; to prevent this happening with the lottery, of course, one must limit entries to one per citizen/couple and disallow adoption for a period). The lottery is one big pool out of which would come not only the right to have a child, but the right to immigrate; deaths and emigrations add to the pool. We'd also want to have some weighting for area; Oklahoma can support a lot more new people than D.C. Rather than a child tax credit, require parents to pay extra; we're way past needing to give people incentives to spawn. I don't think we (as a nation, or even a species) need to build a new house ever again, except to replace an existing one. Want a new housing development? Buy an existing one of equal size, and let it go back to nature, then you'll get your permit. Ah, pipe dreams.
Oh boy, a real prize today. We made it back to Northgate Bible Chapel this Sunday, finally, and driving back down 145th towards the I-5 S entrance a little after noon, this bald (shaved, not old) bull-headed guy comes careening into my lane—not ahead of me, or behind me, but right over. Black Volvo station wagon, WA 475 PSV. I honked at him and he backed off, but he almost forced me into oncoming traffic (dude... if you can't plan your turns better, go around the block and try again). He was yelling something out the window at me when he got onto the Interstate, but I had no idea what he said (probably nothing all that complimentary, however).
One more, dark blue Toyota Sienna van, WA 905 MOS, driving extremely slowly (time to dust off the term "Sunday driver"), probably 10 mph under the speed limit, including riding the brake all the way down Novelty Hill. A little annoying.
There's (another) Slashdot article about how globalization is killing U.S. jobs, but it appears as if the tide has turned and there aren't nearly so many people claiming that it's for the Common Good™ and if you've been fired from your network administration position, well, you should really just turn around and become a lawyer, because, hey, the mortgage will pay itself, going barefoot is better for the kids anyway, and law degrees are cheap and don't take long to complete. (Oh yes. Tongue, cheek, implanted firmly; make no mistake.) This one chap makes a good point about manufacturing capability and it's a little scary, because if one or more powerful nations decided to attack us (or do something that would call for making good on a threat, i.e. if, say, China decided that it wanted Taiwan "back" tomorrow), could we ramp up fast enough without nukes? Nearby, another good point: the term "anti-globalization" has been made into a joke (say "outsourcing" or "offshoring" instead), associated with fringe kooks, which is unfortunate. And there's a strong theme of "it's becoming a race to the bottom": which nation can make their slaves work the longest for the lowest wages, and make the cruddiest goods that people will actually buy?—and that we should be raising the standard of living of our trading "partners" (with tarriffs, etc.) rather than lowering them.
I'll go on the record, as I have in the past, to say that nations should do what is in the interest of the majority of their citizens (not just the rich) and should look to the future. It's possible that even letting me in on a T.N. visa back in 2002 wasn't in the U.S.'s best interest, although it's too late to go back on that, just like you can't set all the anchor babies adrift, although, I did go to Memphis, TN which isn't exactly known for its tech sector. I'll also say this: I don't care about so-called "fair", I want my team (country) to win: and by that I mean employment and continued high standard of living. And you know, this also ties in with the overpopulation argument: if there are limited resources, and unlimited people, well, start making less people (and growing more resources, if you can).
I put up our dining room blind; it wasn't too much trouble, just put up a few brackets (drill some holes, switch to a Phillips bit, put in some screws), slide the blind in, close everything off. We cooked roast beef (Honey's mother's recipe), with potatoes and carrots (well, Honey cooked it, I did some peeling). It was very tender after it had cooked all day. I hope I'm not making anyone jealous. :-)
Our Sierra Quests arrived in the mail recently: we got the King's Quest (7), Space Quest (6), Police Quest (4), and Leisure Suit Larry (5) sets; it's been a real blast from the past playing a few this weekend (PQ1VGA, PQ2, LSL1, SQ1VGA; started LSL2, PQ3, and SQ2; I'd played many of the King's Quest remakes recently already). We also got the original Star Trek season two, and Gattaca, another one that had been lost in the move.
October is breast cancer awareness month. Some people are turning their websites pink.
No deal
News ·Thursday September 28, 2006 @ 21:04 EDT (link)
I have issues with the new Deal or No Deal game show; it's so very content free. For those that don't know it: there are 26 boxes containing dollar amounts from 1¢ to $1 million; the player picks a box at the start, and then has to pick a series of boxes which are revealed and change the amount he is offered for the closed box he picked at the start. First he picks five boxes, then an offer is made, then maybe three more, then eventually one at a time (so, if the boxes that are revealed are high, the offer goes down, and vice versa; it's somewhere around the average value of the remaining boxes). My problem with it is that it drags out so long. It's really a five minute show: pick five numbers, here's your offer, yes or no; if no, pick three more numbers, another offer, and then more numbers and more offers. You couldn't speed up Jeopardy this way, for example; the questions legitimately take time to ask and answer.
I finally got a haircut. According to the friendly woman that cut my hair it'd been 12 weeks since my last one.
Net::SSH2 has a spinoff module, POE::Component::Generic::Net::SSH2, although it incorrectly states that Net::SSH2 is blocking (it's not, see the poll method). He also makes an unprofessional comment in the perldoc about the libssh2 documentation (not mine, that's the C library backend).
I'm still not sure if I want to file for citizenship; I can now, and I suppose it won't hurt and I'm past the age where I need to register for the SS (that's Selective Service, not the Schutzstaffel), and as a permanent resident I can still be drafted anyway. Also they don't really care about dual citizenship any more (although they couldn't do anything about it if they did, except refuse to grant U.S. citizenship, since citizenship is solely between and individual and the government granting it). It's $400 to file, too, and probably a lot of hassle making (another) fingerprint appointments etc. (hopefully they still have my prints on file from last time, but what are the chances that anyone up there talks to anyone else for good? Sure, if I checked out Mein Kampf from the local library they'd be all over me like hot lead on an alien*... but to do good, never).
* "Like a fat kid on a smartie" is so overused. Guy Lane used to like "like white on rice" though.
So I just googled "Guy Lane" and first found the one I was looking for in a UW bulletin (talking about graduating seniors on the Warriors hockey team in 2001 after a win) and on Nigel Barham's blog Pray and Obey; seems he's a missionary in England (he has a great name for it) and is concerned about all the abortions they're having there and in Europe (he mentions Down's syndrome and Godwinizes himself; I disagree, I think it's better not to bring a child into the world to suffer that much) and all the Roman Catholic priests and occult workers in Italy, but I repeat myself. Excuse me while I drop him an email; we were at Waterloo together, and his brother Ted and I were in Ottawa for a while, attending Rideauview and helping out at AWANA.
We've booked a trip next month to fly to California and visit an old friend from my days at Hilton in Memphis, TN, flying on Alaska Airlines, the same airline that brought me here for the initial interview and moved us out here. They give out little cards with pictures and Bible verses on them; they were a great encouragement when I first got one on the long trip out here from Boston. It'll be our first time in California, so we're fairly excited. Also it'll be good to see Bob again and meet his family.
And ack, I really need to put up those blinds in the dining room. A TV show gave me a good idea for it... instead of getting a dining table, we could put a ping pong table in there (it was a pool table in the show, but we prefer ping pong).
A rocking chair and two end tables
News ·Sunday September 24, 2006 @ 14:43 EDT (link)
For I am not ashamed of the gospel of Christ: for it is the power of God unto salvation to every one that believeth; to the Jew first, and also to the Greek.
For therein is the righteousness of God revealed from faith to faith: as it is written, The just shall live by faith.
This time we got up bright and early Saturday to catch the early stuff, and picked up a rocking chair (short enough for Honey's feet to touch the floor, even!), two end tables for the couch downstairs, a couple folding stools, and another computer chair for $35. The rocking chair was a bit big but I put it in the trunk and put a tarp cord around it and it was fine. We're still looking for some bookshelves and maybe a corner table, and a gently used dining room set would save a lot over a new one (we found a potential one but the guy's wife had run out without leaving a price, and he couldn't get her on the phone). Watched When a Stranger Calls, not all that impressed; finished Belgarath the Sorceror, on to Polgara.
On Sunday we checked out Avondale Bible Church, and happened to be there for a potluck dinner. (And they're not trying to give the pastor $80k and pay for a new building, either, like our friends in Collierville—the "we'll take your paycheck and tell you how much you have left" folks.) Nice place, nice people, and they're even starting a traditional service October 15, which we prefer; it seems the newer Christian church music gets, the more watered down the message, the more repetitive the lyrics, and the more aimless the melody—and the more the "performers" at the front begin to think that they're rock stars. On the way home we picked up a blind for the dining room window from Home Depot (they cut it down for free, 71" wide, minus a quarter inch on each side). I wanted to look at computers but the store was closed... second time they caught me out, too, I do believe. Watched Starship Troopers (seen it, fun movie, a bit intentionally over the top) and finished rewatching the Alien quadrilogy.
When we got back I went out and made a weeding pass over the front and back gardens while Honey took a nap; picked up three lawnmower bags full, but the back of the back is under control; either RoundUp™ is as good as they say or it's bad weather for growing weeds.
Oh, and I'm going to release Net::SSH2 0.09 to CPAN Monday night—I realized it was due when I replied to a guy looking for help with SFTP and told him to turn on debug output with the Net::SSH2::debug class method, and then realized that was just added in 0.09 which wasn't out yet.
<Previous 10 entries>