Dan's blog

2006-01-03 01:53 Network Manager applet
2005-11-09 09:59 XML schema design patterns
2005-11-07 11:03 Model-View-Controller and the Web
2005-11-07 10:15 Megan's Mac Mini and Breezy Badger
2005-11-07 10:00 Apache2::Reload and Class::DBI
2005-09-28 05:01 More sailing with Megan
2005-08-17 01:06 Linux on Walmart/Tatung WXGA laptop
2005-08-16 09:29 Teaching kids to swim
2005-08-16 09:26 Kava Coffee
2005-07-31 00:00 Megan's capsize
2005-07-18 00:00 Endoscopy
2005-06-27 00:00 Birth of Luke Daniel
2005-05-29 00:00 Rolling Thunder 2005
2005-05-23 21:22 Blog failure
2005-03-25 17:17 bow flex
2005-03-03 19:53 sanitation engineers
2005-01-17 20:55 U. S. Botanical Garden
2005-01-01 10:19 Holiday pact
2004-12-09 09:39 Firefox and the Common Access Card (CAC)
2004-11-14 13:43 November odds-and-ends
2004-10-23 10:00 Pregnant again!
2004-10-12 11:14 with my own eyes
2004-10-08 06:55 Walking
2004-08-04 16:43 Work Blogging?
2004-08-03 21:59 Scooter!
2004-07-30 12:02 Lateral voiceless alveolar fricative
2004-07-05 23:30 Little Egypt
2004-06-08 23:07 Gentoo
2004-06-08 22:53 new letter: hl
2004-05-11 06:09 IPv6
2004-05-02 15:15 Perl web engine (revisited)
2004-04-28 12:20 not defined (IE sux)
2004-04-09 08:23 Change
2004-03-20 09:45 Bloody ear
2004-03-11 07:17 epoz
2004-03-07 08:36 plant thieves
2004-03-07 07:50 video on linux
2004-03-07 06:53 lost interest?
2004-01-23 11:46 florida
2004-01-03 15:15 Virginia DMV
2003-12-30 00:11 minor annoyances
2003-12-29 16:07 migrating to Linux 2.6
2003-12-29 15:50 PictureFrame Linux
2003-11-23 17:13 two weeks with Megan
2003-11-15 19:47 baby pictures
2003-11-09 22:36 baby
2003-10-04 07:20 home birth?
2003-10-04 06:41 baby insight
2003-10-04 06:29 boston
2003-09-03 07:55 backup software requirements analysis
2003-08-27 14:24 NACA screws own clients
2003-08-17 10:32 puerile humor
2003-08-13 10:17 virtual tour
2003-08-13 09:55 stroller shopping
2003-08-11 23:39 fighting predatory lending
2003-08-11 22:21 TV
2003-07-09 11:23 still alive
2003-06-18 15:53 alzabo
2003-06-17 06:37 turn, and face the strange
2003-06-01 01:26 design issues
2003-05-20 03:27 eureka
2003-05-09 06:06 pain and suffering
2003-04-28 03:00 1st post

Network Manager applet
Posted by Dan on 2006-01-03 01:53:07.493125

I mentioned some time ago that I was trying to install the Gnome Network Manager applet, and had some trouble. For anyone else who had the problem, the issue was that it's not really an applet - it's a Notification Area icon. To get it to work, you must have the notification area applet running.


XML schema design patterns
Posted by Dan on 2005-11-09 09:59:01.92896

One of the hard things I think about at work is the implications of Data Modelling practices vs XML schema development practices. As an example, there are a lot of folks in the DoD who are enthusiastic about the Command-and-Control Information Exchange Data Model (C2IEDM), a data model developed by the Multilateral Interoperability Programme (MIP).

I have concern that Data Modelling, as a practice, results in good ways to represent information at rest, but that it does not do a good job of developing mechanisms to exchange information. I.e. data modellers define database structures, but do not define languages.

There is a tendency to create good data models, and then run a script to generate the associated XML schema. I worry that this is not sufficient - the resulting XML schema will be good for database replication, but not be useful for anything else.

As an aside, the documentation of the 2002 version of C2IEDM (known as the LC2IEDM) is 315 pages long. The US Air Force, (and others) use a XML schema known as Cursor-on-Target for exchange of C2 data that has 13 elements and can be reasonably documented in about 11 pages. (more here)

C2IEDM and CoT are not pure-competitors; any comparison is not apples-to-apples. In fact, they may be complementary... C2IEDM is a data model, CoT is an XML schema. In other words, CoT can be used to communicate the data that C2IEDM models.

Anyway - most of my concerns are unproven, and understanding the problem will require more thought. I was inspired to blog about this today largely because I stumbled across an article on XML schema: Best Practices called "Global vs Local" that I wanted to link to for future reference that I think has some nuggets that apply to these problems.


Model-View-Controller and the Web
Posted by Dan on 2005-11-07 11:03:04.570883

I was thinking a lot Friday about the Model-View-Contoller paradigm (aka Model 2) and how it applies to web application design. I was having conceptual issues which I suspected were largely a result of not really understanding the MVC pattern. So I'm trying to sort this stuff out.

In writing this, I ran across Andy Wardley's article, "MVC: No Silver Bullet", which shaped my thinking a bit.

The main heartburn that I have with MVC for web applications is the thought that actions are always directed by the Controller, when in fact, often it's the View that's getting the clicks. As I was building an MVC framework for my web apps, the Controller was mainly just dispatches to the Views - which doesn't seem to fit the available documentation on how MVC is supposed to work. If the View prepares the forms, isn't it the View that should know how to process the form submission?

The answer, according to what I think is the seminal paper on MVC, is this: "Each view is associated with a unique controller and vice versa." This leads me to wonder: if there is a one-to-one mapping between Views and Controllers, why are they distinct at all? In a rich-GUI environment, I suppose separating out the View and the Controller might make some sense; the View knows how to display the Model, and the Controller processes the mouse-clicks and keystrokes. Since these are very conceptually different, they deserve different classes. That said, in a web environment, the only events are HTTP requests - either page-GETs or form-POSTs - and are more intimately related to the underlying pages. For a pure GET, the Controller only has to dispatch to the right View. For a POST, the Controller should theoretically update the Model, and then refresh the View. That said, to me it makes more sense to keep the form generation code and the form processing code in the same module, which means the View. So the Controller, in a web framework, ends up being just a dispatcher.

I think that the Sun definition of "Model 2" is pretty close to this model, and is somewhat divergent from the Smalltalk MVC pattern. (But that's okay.) Likewise, the flow picture associate with Catalyst, seen below, seems divergent because it puts the controller completely in charge, rather than having that close one-to-one relationship with the views.

Note that I'm not trying to suggest that the View does the real work. Rather, I suggest that the Model does the work, but that the View marshalls the inputs.


Megan's Mac Mini and Breezy Badger
Posted by Dan on 2005-11-07 10:15:00.702314

Bought Megan a Mac Mini for her second birthday. She loves it and it's convenient to have a computer up-and-running on the main floor all the time. (Zette and I each have laptops, but they float around and the batteries run out.)

We're using the Microsoft Wireless Optical Desktop for Bluetooth with the Mini, which works pretty okay. I had some issues at first getting them to talk reliably, but setting the Microsoft Keyboard and Mouse as 'favorite' bluetooth devices seems to have solved the problem. We'll see how useful it is to have keyboard and mouse that are battery-powered.

I also upgraded my laptop to the latest stable release of Ubuntu, codenamed "Breezy Badger". I did it mainly because I read a favorable review of Network Manager, (which aparently was not available for the "Hoary Hedgehog" release of Ubuntu), but when I installed NM, it doesn't seem to come up. Have to troubleshoot that later.



Apache2::Reload and Class::DBI
Posted by Dan on 2005-11-07 10:00:37.647139

I had some issues with Apache2::Reload and Class::DBI not playing nice together. The problem s something about CDBI not wanting to over-write existing symbols when it reloads classes. I found a hack on some japanese Perl forum for Apache::Reload, and I ported it to Apache2. Hopefully this helps somebody.

This is the modified section of /usr/lib/perl5/Apache2/Reload.pm, version 0.09:

if ($mtime > $Stat{$file}) {
my $package = module_to_package($key);
if ( UNIVERSAL::isa($package, 'Class::DBI') ){
no strict 'refs';
warn "Apache2::Reload: clear the symbol table of $package\n" if $DEBUG;
%{"$package\::"} = ();
}
ModPerl::Util::unload_package($package);
require $key;
warn("Apache2::Reload: process $$ reloading $package from $key\n")
if $DEBUG;
}


More sailing with Megan
Posted by Dan on 2005-09-28 05:01:39.739549

Went sailing with Megan again last Sunday. Had a great time tooling around the cove, and zipping out across the Potomac. After we were tied up to the dock again and I was furling the sails, Megan fell off the dock into the river. Life vest was still on; nothing hurt but her toddler pride.


Linux on Walmart/Tatung WXGA laptop
Posted by Dan on 2005-08-17 01:06:03.99181

Placeholder to fill in later.

The gist is that I bought a Tatung WXGA laptop from Walmart.com. It came with WinXP on it, as well as some Redhat derivative that was on a "hidden" partition. Probably that was the rescue partition.

EIther way, I reformatted the entire disk and first tried to install the most recent Fedora Core. The FC install CD would not boot on this laptop. (Kernel panic during boot.)

So I tried installing Ubuntu linux, about which I had also heard good things. It installed clean and worked just about perfectly the first time. It detected the unusual screen geometry (1280x820) and the wireless network card just fine. I haven't tried using USB or Firewire devices yet. Sound and 3D graphics seemed to work fine. I'm not sure if I tested Xvideo. or not.

The minor issue I had were that Ubuntu includes hibernate scripts for suspending to RAM and to disk on ACPI events. If you want to suspend to disk, you need to include 'resume=/dev/hda5' into the grub config, assuming that hda5 is your swap partition. I assume that the swap partition must be as large as the RAM, also. It also had some issue where on resume it would not restore to the correct Virtual Terminal. I recognized what it was doing, and could hit Ctl-Alt-F7, to fix it, but many Linux folks would not be so sophisticated to figure this out. I added a line somewhere to force a change back to VT7.

This seemed to work fine at first. About a week or two into using the laptop, Ubuntu offered a package upgade to the kernel. After installing it, the laptop would only suspend once - subsequent suspends would power down and then immediately resume. There were messsages in dmesg about problems with the ohci1394 driver, which I assume was causing the problem. I blacklisted that driver, since I'm not using any firewire/ieee1394 devices with that laptop currently. I'm not sure if that fixed the problem or not yet, since I have so little time to mess with it because of my two small children.

Anyway, for anyone else who's considering the Walmart Tatung WXGA laptop for use with Linux, it worked almost perfectly out-of-the-box for me. (modulo problems described above).


Teaching kids to swim
Posted by Dan on 2005-08-16 09:29:42.707907

Placehoder for an article about teaching Megan to swim.


Kava Coffee
Posted by Dan on 2005-08-16 09:26:11.296307

This is a placeholder where I want to write about my experiences blending Kava Kava with Coffee.

I tried putting powedered kava kava root in my coffee machine - with disastrous results. Wet kava kava root is very dense, almost like wet clay. It clogs up the coffee filter, and the machine overflows.

But I have an espresso machine, and I figured that the pressure and steam would force the water through the kava root powder. Disastrous results again - the kava was still too dense, and the seals on my espresso machine failed, resulting in jets of superheated steam shooting out at unexpected places and scalding off my eyebrows.

So my next experiment was to blend powdered kava kava root with coffee grounds. This actually works pretty well and produces a nice cup of coffee with a tinge of kava taste and sensation. One must still be very cautious to not put too much kava in the coffee, or the filter will clog up. An 8:1 ratio is probably okay.


Megan's capsize
Posted by Dan on 2005-07-31 00:00:00

I went sailing on my Hobie Getaway with Suzette and Megan about three times last year. The first time, the winds were light and variable, and Megan didn't like it; we spent too much time rocking in calm air. The subsequent times there was a better breeze and we made headway all the time. She was calm and happy enough that she even fell asleep on the boat.

Having first one, then two small children hasn't left me much time to sail this year. I got out once early in the season (before Luke was born) on a blustery day. Suzette was lobbying me to take Megan out, but it was windy enough that I decided against it.

Eventually, there was a breezy day with no other pressing plans, and with Zette's encouragement I took Megan out on the boat. She had a ball! The ducks and gulls were out and other boats, and she really seemed to be having fun. The Getaway an easy boat to sail, and can be single-handed while watching a toddler. Or so I thought....

Discrection being the better part of valor, I had deciced to stay in the small cove near the marina, since the winds were a bit gusty, and I was a but rusty. This was, after all, only the second sail for me of the season. Long-story-short, at some point I blew it, and we went over.

Like most of my capsizes, it seemed to happen very fast, but also had some moments of time-dilation. I was trying to heave-to, which for non-sailors, is sorta like parking the boat. To do it, you sheet in the mainsail, furl or backwind the jib, and throw the rudder over to turn the boat windward. What that all means is that you put the boat in a condition where wind will push the boat forward, but also turn her upwind. Once the boat turns far enough upwind it is "in irons" and the boat slows down. When it slows down, it will naturally turn to leeward, which puts wind back on the mainsail, and the cycle repeats. Eventually the boat finds a balance, and should sail forward at 1-2 knots, with a lot of downwind drift.

I tightened up the main, and was reaching to uncleat the jib sheet, but Megan was sitting on it. So I shifted myself forward and leeward to pick up Megan, and realized we were starting to heel over too much. I reached back for the mainsheet, but it was too late; we were going to capsize. I started to climb over the hull, like I've often done in a capsize, and had one leg over the gunwhale when I realized, "Hey! My toddler is going into the water on the other size of the boat!" So I let go and fell in the water on the leeward size, and made sure Megan was okay.

She was scared and crying a little, but took it pretty well. Her lifevest worked great. We swam around to the underside/windward side and I put us both up onto the hull, and gave her a hug for reassurance.

Some other boats came by to help, one of which was a couple with their small child (about Megan's age) who took care of her while I got the boat righted. It was much harder to right the boat than it needed to be because I forgot to loosen the mainsail. The righting bag (a big nylong bag that fills with water for additional ballast when righting) worked well, but it's hard to get it attached to the shroud when the boat is on its side.

So Megan had her first capsize, and I had a learning experience about both sailing and parenting. Once the boat was upright, I took Megan back aboard and we ended up drifting downwind into the wet slips (which is the wrong side of the marina for me), and I had a hard time getting back underway to get over to the ramps because it had become very gusty. Megan was not happy about going back out under increasingly windy and gusty conditions, but we made it back to the dock okay.

Update: She's been out three times since then (every day of Memorial day weekend) and loved it each time. She now says "Boat! Boat!" excitedly whenever we are in the Jeep, so I guess some of it stuck.


Endoscopy
Posted by Dan on 2005-07-18 00:00:00

This is a placeholder for an article about endoscopy.


Birth of Luke Daniel
Posted by Dan on 2005-06-27 00:00:00

This is a placeholder where I'd like to write about the birth of my son.



I think I'll mention growing a mustache and beard in this article too.


Rolling Thunder 2005
Posted by Dan on 2005-05-29 00:00:00

I went to Rolling Thunder this year on my moped, which was fantastic. I only saw one other moped in the sea of motorcycles, and it was another Kymco. Here are the pictures.

Ironically, after waiting around for hours to start the procession, I followed the group of cycles that I was with right past the national mall, and proceeded to get lost in DC. I wasn't planning to stay too long at whatever events were planned at the mall, but I would have stayed around long enough to check it out.

If I go next year, I should definitely remember to bring a hat and some sunglasses.


Blog failure
Posted by Dan on 2005-05-23 21:22:52.812671

So, I guess I'm not doing so hot at this blogging thing. It's been almost two months since there was an entry in the blog, and that was Suzette slipping in an entry.

I'm busy. Getting very nervous about the imminent arrival of my son.

We went yesterday to the U. S. National Arboretum. Which, incidentally is not same as the U. S. Botanical Garden.

I've been thinking more and more about doing some work blogging. To do that, I'd need to build an secured blog that would be readable by .mil hosts and folks with DoD PKI certs. I took a few moments a while back to research how to get Google to index a page without caching the contents, which I think is fairly essential for the effort to be worthwhile.

I'd also like to write some about my thoughts of the boat project one of these days, but maybe not tonight.


bow flex
Posted by zette on 2005-03-25 17:17:06.485491

it was assembled last night. we will see the change in 30 days. ha


sanitation engineers
Posted by Dan on 2005-03-03 19:53:47.101045

Women's lib activists complain that there aren't more female CEOs, and other high paying jobs, but they don't complain that there aren't more woman trash collection people. "trashwomen"


U. S. Botanical Garden
Posted by Dan on 2005-01-17 20:55:49.336579

Saw the U.S. Botanical Gardens today. Note that this is not the same place as the National Arboretum.


Holiday pact
Posted by Dan on 2005-01-01 10:19:58.086835

Let the record show that I agreed to a pact with my brother-in-law, Jeff, to not buy each other christmas gifts.

Oh, and happy new year.


Firefox and the Common Access Card (CAC)
Posted by Dan on 2004-12-09 09:39:38.996452

I meant to report for anyone else who wants to do this that I managed to get the SSP / Litronics NetSignCAC middleware to work with Firefox and Mozilla. 'CAC' is an acronym for the Common Access Card, and it's the ID card for all Department of Defense personnel (both military and civilian). It's a smartcard made by Schlumberger that stores DoD-issued x509 certificates that can be used for all the regular things that x509 certs are for: signing email, authenticating to web sites, etc.

The frustration was that using the CAC requires some 'middleware' that enables the client application (i.e. the web browser) to extract the certificates from the card. There's an industry-standard API for this called PKCS #11, and SSP has built middleware that implements it for the CAC. My IT support folks loaded the appropriate middleware, but it only worked with Internet Explorer.

So, to load the middleware with Firefox or Mozilla, I stumbled around for quite some time trying to use the 'Manage Security Devices' tab under the preferences dialog. That didn't work. What worked was bringing up the page file:///C:/Program%20Files/SSP%20Solutions/NetSign%20CAC/CryptoInstall.htm, which the contained some magic that the browser needed to install the middleware. Poof!

Alas, that wasn't enough. Once I'd done that, Firefox would pop up a dialog requesting the PIN for my CAC, but I still couldn't authenticate to web sites that require a client certificate. The problem, I believe, is bug 154246 and bug 154255 in Mozilla/Firefox Network Security Services; it can pull a client cert from a smartcard, but doesn't pull the entire chain. Until this has a better solution, the workaround was to explicitly load my certificate authorities into Firefox. I did this by sending myself a signed email, examining the certs on the email, exporting my Root CA and Intermediate CA certs, and then importing those into Firefox as trusted CAs. Viola! I can use my CAC with Firefox.



November odds-and-ends
Posted by Dan on 2004-11-14 13:43:50.505583

Megan has moved beyond walking just a few steps, to walking as a preferred mode of travel. She still falls down when encountering any small obstacle, but she's getting better everyday. She had her first peanut-butter and jelly sandwich today. While she's always been cute, she is getting more fun as she discovers how to do more things. She'll climb into her toy box, or figure out how to put one toy into another and carry them around.

In the nostalgia department, I visited the house in Orlando where I lived when I was four years old. I don't remember much about that house and I had a fair bit of trouble finding it. (The name of the street has changed from North Bay Road to Main Street) The roads were still the same dusty gravel. The current owners were the same ones that bought the house from my parents 27 years ago, and in fact, still had a toy ("park-n-play") that I recognized. (They offered to show me the toy as long as I promised not to claim it.) The lake (Lake Butler) was the same. Most of the oaks are gone, victim of one hurricane or another.

I'm thinking about building a Wiki engine for work and home. I'll do it in mod_perl, of course. There is at least one Wiki engine already (MiniWiki) that's built for mod_perl, and I'll examine that for use as a base. Feature wise, I need something that's Public Key Enabled (PKE), to provide for easy identity management for DoD users, and provides a basic level of authorization. Also, I'd like to have an associated discussion thread for each WikiNode, that does not use the Wiki editing metaphor. I can't stand the clutter of using a Wiki as a discussion board. Wikipedia does this well, I think. I also have a vision of having a easy-to-use upload and link/embed mechanism using a "clipboard frame" on the side. (But first-things-first, I have to get the basics working.) Embedding Kupu would be a nice feature also. And I saw a neat javascript drawing tool too. Hmm.

I've gone over 1000km on my scooter, which means it's due for a check-up. I've really enjoyed having the scooter and commuting on it, but it's starting to get significantly cold, and I need to have a better mechanism for staying warm while riding.





Pregnant again!
Posted by Dan on 2004-10-23 10:00:36.021476

Suzette is pregnant again!


with my own eyes
Posted by Dan on 2004-10-12 11:14:10.713555

I saw Megan walk yesterday at the airport in Providence, RI. It was pretty neat.

s/walk/toddle/g


Walking
Posted by Dan on 2004-10-08 06:55:37.412898

Megan started walking yesterday, while I was at work. Unfortunately, we were hosting some big meeting in the conference room, and I had to both attend and escort, so I couldn't come home to see it until late, and I missed it. This morning she won't walk again. Sigh.


Work Blogging?
Posted by Dan on 2004-08-04 16:43:46.833351

I'm thinking that I should start writing daily blog entries about what I do at work.  Then I can publish that sort of information to my boss and co-workers. This will require some enhancement of the blog-engine, since I don't want my "personal" blog entries to interfere with my "work" entries and vice-versa.  So I need to add a "category" field to the database, and to the management screens.

Today I downloaded the NCES SDKs (which is just the security and service discovery services, so far) and read through the FAQ's and User Guides for them.  They're java implementations, and I don't have a working Java IDE for my work computer (which is temporary anyway), or for home.  (I did once, but it's bit-rotted.) 

It's annoying to not have the comforting tools of my own machine (i.e. my linux-server) here at work.  Sure, it's just a network connection away, but my DSL line is kinda slow.  I also installed Cygwin on my work machine, which makes it passingly more useful to me.

I updated the Kupu editor last night for the Blog engine to version 1.1, because 1.0.3 was not working well with the stupid IE version here at work.  It's working, but the title property isn't updating.  Grr.  Hmm. I do have netscape 4.7 installed... I wonder if that would work.  I suppose I could just install Mozilla for win32. 

Oh, I also read some about FCS today - the DARPA C2 Experiment 4 Phase 2 report.  It's passingly interesting.

I chaired a meeting of the OSD Desktop Engineering IPT, too.  Attendance was poor (5 people), but progress was good.  I tasked a bunch of stuff to Quintin; all of which is pretty easy but should have big returns, such as setting up the central repository, etc.

Hmm.  Gotta remember to talk to Ki tomorrow.


Scooter!
Posted by Dan on 2004-08-03 21:59:05.205309

Last week I started a new job with the Office of the Assistant Secretary of Defense (Networks and Information Integration). My new office isn't in the Pentagon anymore, (Huzzah!) it's in Crystal City. The down side of this is that I'm slightly farther away from home in the new space, but the up side is that I've used this as an excuse to buy a motor scooter.

In Virginia, like many places in the US, vehicles with less than 50cc displacement engine are technically described in the law as "mopeds", and are regulated pretty much like bicycles. In other words, you don't need a motorcycle license, nor does the vehicle require license plates or registration. Most important for this area, it's perfectly legal to park them anywhere you would park a bicycle. (Parking in Crystal City currently costs about $110 USD per month.) Plus, it's fun to ride!


Lateral voiceless alveolar fricative
Posted by Dan on 2004-07-30 12:02:29.47474

So, the letter I "discovered" turns out to be known as the "Lateral voiceless alveolar fricative". My wife gets credit for finding this obscure information. It turns out to be used in Welsh.

The link above, by the way, is to Wikipedia, which is a worldwide, collaboratively developed, free encyclopedia. I find this concept to be fascinating, and it's sort of a fun hobby to help write an encyclopedia.


Little Egypt
Posted by Dan on 2004-07-05 23:30:03.09644

She walks, she talks, she crawls on her belly like a reptile! *

Well, that's not a very flattering description of my daughter, and not particularly accurate either, since she doesn't really walk yet. But this past week she both started crawling and talking. She'd been big with the "AAAAH!" previously, but she never really had any consonants. Now she can say, "Da da da da da da da."

It's not a big vocabulary, but it's still exciting.

* For those who don't understand the reference, the Coasters recorded a song called "Little Egypt" that included this line.


Gentoo
Posted by Dan on 2004-06-08 23:07:33.763175

I'm resurrecting my older computer (affectionately named 'Dustpuppy'), to be an audio server for the bedroom. (And any other tasks I can think of to offload to it.) Including serving as a wireless access point via the HostAP drivers.

I'm using the opportunity to experiment with Gentoo Linux. Wish me luck. At first glance Gentoo seems neat, but builing everything from source (which I used to do as a matter of pride) now seems merely time consuming.

I'd really like to make the thing into some sort of appliance, like I did when I developed PictureFrame Linux. If the filesystem were read-only, and served out as a network file from the server, there'd be less to get outdated and possibly break or serve as a vulnerability.


new letter: hl
Posted by Dan on 2004-06-08 22:53:06.114839

A few days ago I discovered a new letter through symmetry. I was reflecting on the stereotype that native Japanese speakers cannot distinguish between the 'L' sound and the 'R' sound. So I was reflecting on these sounds, and noted that the difference between the two is that while making the 'L' sound, the speaker's tongue touches the roof of his (or her) mouth.

'L' and 'R' are voiced sounds, meaning that the vocal cords vibrate as the sound is articulated. Some sounds are voiced, others are unvoiced. Unvoiced sounds the vocal cords do not vibrate, and the sound is generated only by the acoustics and aerodynamics of the mouth. Examples of parallel voiced and unvoiced sounds are 'F' and 'V', or 'P' and 'B'. Some languages even have 'prevoiced' sounds, meaning that the vocal cords are vibrated just before the consonant sound. The canonical prevoiced sound is a prevoiced equivalent of 'B', and is scribed in the roman alphabet as 'mb', such as Mbeki. (Name of an African politician.)

So if 'R' and 'L' are similar voiced sounds that differ in that that the tongue touches (or does not touch) the roof of the mouth, I wondered what other sounds are similar to these, but unvoiced? To me it seemed that 'S' (or perhaps 'H') is quite similar to an unvoiced 'R', in terms of mouth position. But what would the unvoiced equivalent of 'L' be? Well, there isn't one. It's an interesting sound, and an interesting intellectual effort to practice making it and trying to build words around the sound. It resembles an 'HL' sound.

Why is this useful? It's not. It just amused me at the time.


IPv6
Posted by Dan on 2004-05-11 06:09:28.647532

I'd been bemoaning the lack of IPv6 enablement in Debian, because I want to learn more about IPv6, and today I finally noticed the Debian IPv6 project. Somewhat annoyingly, ping doesn't do the right thing with IPv6 addresses, there's a separate ping6, and for reasons I don't grok yet about the Debian package system, I don't even have that; I've got fping6, which is slightly different.

Either way, I now have IPv6 goodness to play with. Apache, ssh, sshd, and mozilla all seem happily v6 enabled, and those are my major TCP/IP applications. Conveniently, tcpdump is also, although the debian version of netcat is not.

For those of you who were wondering, literal IPv6 addresses in URLs are to be enclosed in square-brackets like: http://[::1]/blog/, according to RFC 2732.


Perl web engine (revisited)
Posted by Dan on 2004-05-02 15:15:44.403601

At work we have a product called eRoom, which is a collaboration tool/knowledge management system. It's quite slick, in my opinion.

As an open source guy, I can't help looking at things and saying "hey, I bet you could do this as free software." And as mentioned elsewhere in my blog, I have this ongoing interest in building a web engine in perl. Why a web engine, of all possible projects? Well, it's an enabling technology for lots of other projects. Why perl, of all programming languages? Well, I just like it.

So what's wrong with the zillion existing web engines, many of which are already in perl? None of the ones I've played with are particularly satisfying.

There's a few projects pending that could use a web engine to run on. One of these days I intend to make a better version of Reviews Of This Book. And I built a prototype a webmail engine, but I never finished it. I promised my wife I'd build a web-based playlist editor for my mp3 archive, which is tied into her hi-fi rig. And my blog itself is not finished, in terms of the code behind it; it should have images and discussion forums and whatnot. Megan's web site is hand coded currently, and could really use some automation. There are probably some additional half-finished or half-conceived projects waiting in the wings, that I've forgotten about.

I'm somewhat inspired by Quixote, which seems to focus on web development more as programming than publishing.  That is to say, I'm looking for a framework where I can build software applications that happen to use HTTP and HTML as the user interface, rather than writing web content that happens to have some dynamic elements.

The biggest roadblock, of course, continues to be my lack of free time.  I do have full-time employment, and also have a wife and 6 month old daughter, all of which seem to take a fair amount of time to maintain.  The easiest thing I could do to free up some time is to allocate some of the hours when I'm at work, and consider any such time as self-directed training, which would not be far from the truth.  As a computer professional, most of the skills that I have are largely self-taught, and many are a direct result of working with free software.  (usually both free-as-in-speech and free-as-in-beer)


not defined (IE sux)
Posted by Dan on 2004-04-28 12:20:42.277701

I'm trying to get Kupu to work, but so far with only limited success.  I can edit text with IE now, which is good, but I can't change the title property.  It looks like it works in the editor, but when the data is posted back to the webserver, the title property is not changed by Kupu.

This was intended to be an entry about my thoughts on a Perl Web Engine (revisited for the nth time).  But that will have to wait until some other occasion.

I note in passing that superscripts, font colors, and background colors work in the editor, but are apparently not posted back to the server.


Change
Posted by Dan on 2004-04-09 08:23:45.580632

I discovered this morning that Epoz is now Kupu.
Great. One more thing to update.

Actually, I'm happy to see work on it, since it works well for me from Mozilla, but I can't get it to work from IE at all.


Bloody ear
Posted by Dan on 2004-03-20 09:45:04.983798

I started this story from the emergency room, using the hospital's wireless network and my handheld computer(a Sharp Zaurus).

I had woken up in the middle of the night, with a strange feeling in my ear, and when I touched it, my finger became wet.

That's strange, I thought. So I go look in the mirror, and I had all sorts of blood running out of my ear. Quite unexpectedly, mind you. I've never had an experience like this before.

I cleaned up as much as I could and went to research this on the net to see how serious it was. Long-story-short, I went back to bed, and went to the hospital in the morning. At the hospital, they decided that I had not ruptured my eardrum, but instead had some other site where I was bleeding. By the time the doctor looked at it, the bleeding had stopped, so he wrote me a Rx for anti-biotic ear drops and I went home.

Alas, I couldn't actually write this story at the time, because my handheld computer doesn't have a robust enough javascript engine to drive Epoz.


epoz
Posted by Dan on 2004-03-11 07:17:55.2454

I've done some significant work on the blog-engine, to incorporate a management page for myself, and to integrate Epoz.

While this is working (I'm using it now.), there are some serious debugging issues to be done. Also I need to build authentication and authorization modules.

But this should make it much easier for me to actual add stories. And to format them.


plant thieves
Posted by Dan on 2004-03-07 08:36:20.691301

One of our neighbors wasn't home when she had an arrangement of flowers delivered, and the delivery guy didn't want to leave them outside, so he dropped them off at our house, and left a note for the recipient saying that she should come by our house to pick them up.

We have a rosemary plant in the shape of a small christmas tree on our front step which is completely dead. It's just dried sticks. We were waiting patiently that night for the neighbor to show up and claim her flowers - eventually we got impatient, and Suzette tried to deliver them.

To their mutual bewhilderment, the neighbor asserted "But I already got the delivery!" And Zette saw she had taken our completely dead rosemary bush, thinking it was hers.

I'm going to have to add images to the blog just so readers can appreciate the humor of this. You have to see this dessicated stump of a rosemary bush to appreciate how funny it is that someone would think it was a gift.


video on linux
Posted by Dan on 2004-03-07 07:50:47.17709

I have a newborn, which means I have a burning need to take video that no one wants to look at. I have a digital video camera that make it possible to fulfill this fetish.

Like most digital video cameras, the one that I own has a firewire (ieee1394) port on it. I have an Apple Powerbook that also has said port. I have a DVD burner attached to my Linux server.

So I'm figuring that I can use iMovie on the Mac, capture my home movies, edit them, and make DVDs to torture my family with. Alas, not so easy!

Capturing video from the camera with the Powerbook was very easy. Hook up the camera, and OS X automatically offers to start iMovie, which has a friendly button on the display labeled "import" or somesuch. Boom. Trivial. I was pleased to note that it even automatically divides the project into clips where there is a break in the footage.

I then spent many hours with iMovie editing my masterpiece: adjusting brightness/contrast, fixing colors, adding effects/transitions, cropping out the boring parts, creating a soundtrack, etc. It was great. Eventually, I declare success, and am ready to master the DVD image... Except that iMovie doesn't do that, it only offers to export to iDVD. Which I don't have installed.

So I turn to my trusty aide, the IN TAR NET, and summon a copy of iDVD. Of course, now that I've got a zillion gigabytes of video on the laptop, I don't have room to install it, so I set up an NFS server just so I can run iDVD from the Linux box.

iDVD, however, refuses to run without a DVD burner installed. Apparently it's not designed to create ISO images. I had expected to be able to create an ISO image, which I would then go burn to DVD on the Linux box where the burner is installed. No such luck.

But I really want to be able to make my own home-movie DVDs, so I wasn't deterred at that point. I then bought an external firewire enclosure, and a firewire card for the Linux server. Once these things arrived, I was able to easily swap the DVD burner between the Linux server and the Apple Powerbook G4.

Except that iDVD still wouldn't start up, again claiming that the appropriate hardware wasn't installed. A little more research on the IN TAR NET, and I determined that iDVD only works with the Apple Superdrive; my third-party device will not work with the software. Apple sells a product called DVD Studio Pro that would work but for big bucks. Sure, I could probably find a copy "somewhere" but I'm don't approve of pirating software, which is one of the reasons that I run open source software in the first place.

So... after a week or so of gnashing my teeth and swearing at Apple, I start looking into Linux based software. After all, I bought an ieee1394 card for the Linux machine when I bought the external enclosure. This should allow me, I reckoned, to connect the camera and the DVD burner to the Linux machine and to Hell with the Powerbook. With hardy any effort I installed Kino which pretty happily captured the video from the camera, and gave me some minimal editing capability. It's not iMovie, that's for sure - it has only the bare essentials, but it imports DV (Digital Video), and provides a GUI to export into MPEG files suitable for DVD authoring.

Annoyingly, there apparently is not currently an easy Debian package for mjpegtools, which is a project that Kino uses to do the MPEG encoding. I found a debian package, but it was dependent on some other package, which I didn't have either, and couldn't find. I have years of experience building things from source, and that took no time at all.

MPEGs having been built, I used dvdauthor to covert the raw MPEG files to the DVD format, which is a great piece of software with a completely arcane interface. I then attempted to use dvdrecord to burn the DVD. This caused another world of pain, because the Linux ieee1394 implementation is somewhat unstable, and trying to send raw-SCSI commands to an ATA drive over an ieee1394 interface was just one transform too many, and I was able to lock up the operating system very repeatably. I posted the error to the Linux Kernel Mailing List, but like most lurkers with obscure bugs, was ignored.

There's another program for Linux that will create DVDs called growisofs which worked. This program does not use raw-SCSI, but instead works through the kernel cdrom driver (sr_mod instead of sg).

As an aside, I also looked at Polidori which is a nice idea, but not ready for anything. I'm tempted to contribute to the project, but I know I don't have time to do so.

I burned my movie to DVD+R media, and my set-top player rejected it as unreadable. I tried again with DVD-R media, and it worked! But the audio sounded somewhat like chipmunks gargling. As it turns out, mp2enc, the audio encoder from mjpegtools, defaults to CD-quality audio (44.1kHz), but DVD's are recorded at 48kHz. So when played back, the audio on the DVD I created was about 10% too fast, but the video was playing back at normal speed. This caused everything to be higher in pitch, but to then stretch out the audio to maintain synchronization, there were tiny gaps inserted into the sound. Hence, gargling chipmunks.

This can be fixed by adding the '-r 48000' option to mp2enc in the 'export' tab of Kino. At last, I have created a DVD that plays correctly.

This process really highlighted to me how far the user-interface problems with Linux have to go. On the other hand, at least I was empowered to do what I needed to do - the open source software made me spend hours figuring out how to make it work, but they were solveable problems. The proprietary solutions (iMovie and iDVD) are undoubtedly more powerful and easy to use, but they did not accomplish the task, because a business manager and a copyright lawyer don't want to make things easy.

Given the choice, I'll take the free software. I like freedom.


lost interest?
Posted by Dan on 2004-03-07 06:53:49.563166

So, have I lost interest in my blog?

Apparently, since I haven't made an entry in over a month. I've been busy and stressed. Megan has been sick, I have a new boss at work, etc. Not really though; I do think about adding things periodically. And I still want to build an engine to maintain it. Time is fleeting, however.

We went to visit my sister Tracy and her family yesterday. Zette will probably post pictures to Megan's web site soon.

I think I'm getting sick. Which is why I'm awake at 0700 on a Sunday, and have been up for 3.5 hours.


florida
Posted by Dan on 2004-01-23 11:46:16.340217

17 Jan 2004 Many firsts today for Megan... first bus ride, first airplane ride, first time to leave Virginia (although not the first time outside Virginia, since she was born in the capital). First time meeting Aunt Mary Jane and Uncle Bill (actually great-aunt and great-uncle, to her).

18 Jan 2004 Took Megan to the beach. Saw dolphins and some terrific birds playing in the surf. Collected shark's teeth. Saw Uncle Walter and Aunt Janet.

19 Jan 2004 Saw Uncle Walt's house in Florida. Suzette christened Megan with the waters of the Gulf of Mexico.

A few pictures


Virginia DMV
Posted by Dan on 2004-01-03 15:15:00

So I'm at the Virginia DMV, and it's the most pathetic DMV I've ever been to. I've been to DMV's in Connecticut, Massachusetts, California, Texas, and Mississippi, and this has to be the absolute worst. I went to the Arlington service center yesterday, after checking the website to make sure that it wasn't closed for the holiday. There was a page titled "Holiday closures", but it contained only a message saying "No notices." Of course, it was closed.

So I try again today, and it's incrediblly crowded. By complete chance I get a parking space on the second trip through the lot. I blow past the line so I can just get the form I need, and they're making announcements that wait is 2.5 hours and the office in Tyson's Corner has only 30 people waiting. Like an idiot, I hop in the car and go to Tyson's, where the line turns out to be around the building. I wait for an hour in line (queue) just to get in the building, and then I get a number and start to really wait.

Similarly stupidly, I didn't have the sense to bring a novel, so I'm stuck writing on my PDA to pass the time. I've also managed to read the complete rules for Curling which were on my PDA for reasons that are obscure. (To say the least.)

After about 40 minutes, they took my documents, glanced at them and sent me back to my seat while they send them to the "document verifier", which they claim will be only 10 minutes. Sigh.

I suppose I shouldn't complain. It's not like this compares to soup lines in the depression or the bureaucracy of socialist countries. If we set our sights low, we'll never achieve much.

Somehow I was amused by the Virginia state motto,"Sic semper tyrannis" on the flag outside the building. Can it be considered tyrannical to be incompetently bureaucratic? How pathetic do social services be before it's worth revolution? Isn't that basically what caused the American revolution; that the Brittish crown forced people to sail back to London to go to the DMV? I'm not sure.

20 minutes later, they called me back up to the counter to dicker some more. That took 10 minutes or so. Apparently I can only get a license for 1 year because none of the forms of ID prove I'm a US citizen... including my military ID card! My own stupid fault I suppose for not bringing my birth certificate or my passport, but also Virginia's fault for criminal bureaucracy. After this parley, I get to sit again for ten minutes in the picture-taking line.

The wait for a picture really is 10 minutes. Then I get to wait while they make my card.


minor annoyances
Posted by Dan on 2003-12-30 00:11:00.162395

I got a really cool printer-scanner-copier-fax (HP Officejet 5110) for Christmas. I want to use this to build a personal document management system - to scan all my correspondence and make a searchable, OCR'd archive.

It also complements my wife's xmas gift, which was a comparatively nice digital camera. Since the Officejet can print 4800x1200, it should produce some nice prints.

But the annoyance is that the Officejet didn't come with the required USB cable. And it's the one cable I don't have. Zette had one for her old printer, but I don't know where it is. She might have used it for her parents' printer. Hmm.


migrating to Linux 2.6
Posted by Dan on 2003-12-29 16:07:15.292531

Yesterday I migrated to the Linux kernel 2.6.0. I wanted to relate some of the hiccups that I faced in doing so.

I was motivated initially by the fact that my audio drivers skip regularly. I have a cheap C-Media soundcard, and the OSS drivers for it apparently suck. Moreover, I suddenly found that I had a use for the fact that the card has a rear-output jack. I built a small FM radio transmitter recently, and I'd like to be able to adjust the output (and output volume) for the transmitter separately from the regular speakers. Fortunately, the ALSA driver for this card doesn't skip, and can handle the rear output somewhat. Unfortunately, at this time, it doesn't do everything I want; I can play seperate audio on the rear output, with no volume control, or I can play the same audio on both front and rear with the volume the same, but I can't play the same signal on both channels with independent volume.

So, I could have switched to ALSA without swtiching to 2.6.0, but the fact that ALSA is a stock feature of 2.6 was a motivating factor to switch, and get all the scheduler and IO improvements also.

Here were the issues I faced with the migration to Linux 2.6.0:

Bottom line, it wasn't very painful to switch. It does seem snappier. I read this comment in many other people's migration stories, and I thought it was silly; are you really going to tell the difference on a dual 1.1 GHz system?

Well, as it turns out, yes. It's noticable. (Or maybe that's just placebo effect. I dunno; maybe I like my placebo.)


PictureFrame Linux
Posted by Dan on 2003-12-29 15:50:37.122197

Over the past few weeks I've been working on a project to convert my wife's old laptop into a digital picture frame as a Christmas gift for my grandparents. There was a hardware component and a software component to the project: the hardware part was demolishing the laptop and remounting it into a picture frame, and the software part was building a custom linux distribution to actually display the pictures and allow importing new ones.

It's been a fun and educational experience, which I couldn't write about in my blog for fear that Grandma would read about it and ruin the surprise. Now that the project is over, I'm embarking on a secondary project to document what I did, and what I learned.

PictureFrame Linux


two weeks with Megan
Posted by Dan on 2003-11-23 17:13:17.903304

Megan was born at 1215L on Sunday, 9 Nov 2003 at Georgetown Univeristy Medical Center. Since both she and Suzette were doing great, we left the hospital against medical advice - the obstetricians and pædiatricians all granted that everyone was fine, but they wanted to keep us for at least 24 hours for observation, just in case. Suzette insisted, and we left about 2030L.

Megan was an incredibly alert baby. She was wide awake and looking around pretty much until 0930 the next day, when she finally crashed and slept for three hours. She "latched on" and was a great feeder right at the start.

Monday she went in to the pædiatrician for an exam, and went to the laboratory for routine bloodwork.

Tuesday morning, 11 Nov 2003, she was very lethargic, wouldn't eat, and was running a temperature. We took her back to the pædiatrician, who recommended that we go to Inova Fairfax Hospital. Apparently illnesses in newborns can become serious very rapidly.

The Emergency Department wanted to put her on an IV immediately, to get a blood sample, rehydrate her and to start antibiotics. A 48-hour old baby has very small veins, and when they're dehydrated, this turns out to be significantly problematic. The nurse assigned to us tried twice to put in an IV and failed. She called the nurse on staff that day who was "the best". She tried four times, and couldn't get one to stay in, although she did get a line in long enough to collect a blood sample. Then they brought down a nurse from the Neonatal Intesive Care Unit (NICU), who brought a transdermal light used to help see the veins. She tried twice and gave up.

As a parent, this was heartrending. It was also infuriating. Why didn't they have the sense to call the NICU before they bruised all the best sites?

Also during this process they catheterized her (briefly) to collect a urine sample, and did a spinal tap.

Ultimately, they started her on a course of antibiotics via intra-muscular injections in both thighs, and we started giving her formula in bottles to rehydrate her, which she drank. We were admitted to the pædiatric ward, and spent the next three days there while we waited for the spinal-fluid, urine, and blood cultures to develop. She continued to get antibiotics in both thighs every eight hours.

Initially, the attending physician from the ED told us that it would take 48 hours for her cultures to develop and that we should keep her there at least that long. The following morning we saw one of the doctors from our pædiatric practice, who also told us to wait for the 48 hour culture reading. Then on the morning of the second day, having been at the hospital 40 hours, they told us that blood cultures often don't really develop until later, and that we needed to stay 72 hours. This was also infuriating. In addition to Megan's health, Suzette was also recovering from the delivery, and if we had known how long the stay was going to be up front, we would have made different choices in terms of Zette's health.

By Wednesday morning, however, Megan was doing fine. She was alert again, and eating both formula and colostrum from bottles. (We couldn't get her to breastfeed.) She's been doing great ever since. We'll probably never know whether she had a log-grade viral infection, bacterial infection that the antibiotics cured but didn't show up in the cultures or something else.

So we left the hospital Friday night. Saturday was a challenge for breast feeding, since she'd been on bottles pretty much the whole time in the hospital. We got an awesome woman named Lisa to come by from La Leche League, who really was a great help. Ultimately, Suzette figure out the big clue - that Megan just wasn't that hungry. The books and doctors kept telling us that she should eat every two to three hours, and she was on more of a four-to-six schedule. She was still pooping and peeing like she should, and the feedings would be long (90 minutes sometimes). Since then, it seems to me like she's gotten closer to a more "normal" schedule, but Suzette says I'm wrong. (She knows better than I.)

We all got to see another hospital today, when we visited "Mema" (Megan's maternal grandmother) at the Arlington Hospital. I'm getting quite the tour of northern Virginia hospitals lately!

Tonight is her first "rock concert", although it's really a folk concert. David LaMotte is playing at Jammin' Java. I'm a little leery of what it'll be like to have a two-week old baby out at a performance, but we'll see. David is apparently an old friend of Suzette's.


baby pictures
Posted by Dan on 2003-11-15 19:47:05.93914

As promised, I have posted new Megan pictures. I was in the process of doing this last Tuesday, when my wife Suzette asked me to come upstairs to help with the baby... Megan was unusually lethargic and wasn't eating well.

When we took her temperature, it was high. Since she was only 45 hours old at that point, we didn't want to fool around and we took her immediately to the pædiatrician, who examined her and recommended that we take her to the emergency department at INOVA Fairfax Hospital. Long-story-short, we ended up spending all week in the Pediatric ward, and so we only got home yesterday. It's been a grueling week.


baby
Posted by Dan on 2003-11-09 22:36:33.240653

Megan Sophiah Risacher was born today. Pictures will be posted to her web site when I'm ready.


home birth?
Posted by Dan on 2003-10-04 07:20:13.219583

Zette's gotten interested in having a home birth and we took a tour of the Alexandria Birth Center. It was pretty neat. I discovered yesterday that one of my co-workers's wife delivered there just two weeks ago.

She and I both are pretty happy with the idea of a home birth as being better for her, although we aren't opposed to a hospital birth. Suzette's disabilities may make it more comfortable to deliver in some position other than the typical hospital pose. Of course, the normal concern is "What if something goes wrong?", to which the answer is that you transfer to a hospital. Considering where we live there are plenty of those nearby. Little can go wrong that cannot wait for a 2-mile drive (or anbulance ride, if somehow that's necessary). The nearest fire station (i.e. the nearest ambulance) is 0.3 miles away. There are some advantages to living in the city.


baby insight
Posted by Dan on 2003-10-04 06:41:26.239

For Suzette's birthday, I bought her a session at Baby Insight. Unfortunately, when we got home, we discovered that the video tape was damaged and blank. Fortunately, the folks at Baby Insight were sufficiently cool that they let us have an additional session.

I asked a friend to convert the video to DVD, which will allow me to post some video clips to the web. Stay tuned.


boston
Posted by Dan on 2003-10-04 06:29:41.979584

Zette and I took a trip to Boston a little while ago. She's interested in taking instruction at the North Bennet Street School, and they had alumni/teachers demoing their work at two different craft fairs. I'm not so sure that I think this is a great fascination for her, partly because Boston is a bit of a hike from where we currently live, but also because I'm concerned that because of her disabilities, she's either setting herself up for failure, pain, or both. Fortunately, they have shorter duration workshops that she'll probably love without taking her away from home for long periods.

We also had a chance to revisit some of my old haunts, including MIT, Mary Chung's (which IMHO is the finest Szechuan restaurant on the continent YMMV), 41st West (my undergraduate dormitory), the Union Oyster House and a handful of other Boston-touristy things. We spent some time at the MIT museum which was very cool but also somewhat disappointing, mainly because they had Kismet on display, but they didn't have her turned on, which I think is a bummer. I can understand that it would be hard to keep Kismet maintained properly if she were still running, but it's still a bummer.

As usual, I didn't plan enough ahead to work in everything that I might have wanted. Apologies to Norm and Harris for not letting you guys know earlier that I was in town. Missed out on seeing Blue Man Group again, and I timed our departure wrong, so we weren't hungry when we passed The Traveler restaurant (which everyone calls Food and Books).

Ah well, It is good to save some things for next time.


backup software requirements analysis
Posted by Dan on 2003-09-03 07:55:27.532494

Man, do I suck at finishing projects before I start new ones!

My latest interest is backup software. I looked at AMANDA and Mondo Rescue and a zillion other things, but I wasn't really happy with any of them. AMANDA looks good, but seems to not support rotating media well. Yes, I know about cdrw-taper, which is a plugin for AMANDA to handle CD's or DVD's, but it seemed to be an incredible pain in the ass to get it to work, and there's no HOWTO or good documentation.

Mondo Rescue is probably great, but it was distinctly not debian friendly. I don't know why. If I just wait a while, this might fix itself. That is one of the beauties of open-source. The Mondo author and the Debian guys will work things out and life will be good.

In the meanwhile, I'm doing some requirements analysis of what a good backup program should do, in preparation for writing my own.

More on this later.


NACA screws own clients
Posted by Dan on 2003-08-27 14:24:45.645418

As it turns out, the buyer for my old house fell through. The agency that was guaranteeing his financing, NACA, required him to consult with them on the Home Inspection Contingency (which he had already sent to me, and I had already countered once). Before he could counter-offer my counter-offer, they determined that there were a number of code-compliance issues that they insisted on having the seller fix. Here's the catch: they could not explain to the buyer (their client) what they thought should be fixed in sufficient detail that he could actually request it. They refused to put their demands in writing, and refused to talk to my agent (the seller's agent).

So, as he was legally obligated to do, the buyer sent over a release letter, essentially bailing out of the deal. I was quite disappointed and angry, because I'd wasted two weeks of the peak selling season on a deal that fell through. Caveat vendor. Likewise, the buyer not only wasted his time and effort, but had paid for a professional home inspection of a house he ended up not being able to buy because NACA was unresponsive and uncommunicative.

For me, the story has a happy ending. My agent called me with the news on a Saturday, saying that he had the release, and would put the house back on the market in the Major Listing Service (MLS). On Sunday, I went over to mow the lawn and clean the place up (again). While I was there, a couple came by to look at the house. On Monday morning, I had a new contract from that couple, with a real financing letter, $500 better offer (net), and a requested closing date only one day later than the old contract. So cross your fingers, I've got another contract that I feel much better about.


puerile humor
Posted by Dan on 2003-08-17 10:32:40.465526

Taco Bell is conducting some sort of sweepstakes where customers can win a year's worth of free Taco Bell food, with a grand prize of a year's worth of free gas. I'm left thinking... isn't that basically the same thing?


virtual tour
Posted by Dan on 2003-08-13 10:17:36.198974

A couple of days ago, I put together a virtual tour of our new house. Note that the pictures were taken back in July, and we've made progress since then: boxes unpacked, rooms painted, baby-gear purchased, trees sprayed, pictures hung, et cetera.

I'm planning to enhance the tour script at some point in the future to allow time-travel, so that a virtual visitor can see how the place changes over time. Any bets on when, if ever, I get around to this?


stroller shopping
Posted by Dan on 2003-08-13 09:55:48.962406

So on Sunday, Zette took me to Babies-R-Us to go shopping for baby-stuff. We ended up spending 3+ hours trying to pick out a car seat and/or stroller system. In the end, we reached no firm conclusions. Because of her disability, Zette isn't sure she'll ever use a detachable infant car seat to carry the baby, and she's not sure she can realistically fold and maneuver any of the larger strollers.

We strongly considered the Graco Metrolite Travel System which is pretty lightweight. This is what I think I'd go for, given the choice, but I'm not the one with significant physical disabilites. She's more interested in a strap-on chest carrier, and a convertible car seat (meaning it converts from rear-facing seat to front-facing seat to booster seat). [UPDATE: She bought the chest carrier for cheap on eBay.]

I guess it's a sign that I'm getting into this fatherhood thing when I can spend three hours shopping for strollers and wonder where the time went.


fighting predatory lending
Posted by Dan on 2003-08-11 23:39:18.310153

I've signed a contract to sell the duplex. It's a good offer except that the buyer asked for 30 days for a financing contingency, which seems like a very long time to have my house in limbo for this market. The contract did include a pre-approval letter from an organization called NACA, but NACA isn't a financial institution, so the contingency is still there.

I'm not sure exactly what NACA really is. It seems to be an advocate organization for people who are targets of predatory lending. Or perhaps it's an collective to extort money from banks. Or both.

From what I can tell, NACA extorts banks into giving loans to working people with bad credit, usually poor to middle income people. The founder described himself as a "Bank Terrorist"... in 2000, of course. Since 2001, people would be more cautious with that label. I found that quote on the google cache of NACA's web site. That article doesn't appear in their press clippings section any more. Apparently it's been redacted. But the original article apparently ran on 2000-11-12 in The Boston Globe, titled, "Activist bringing Fleet fight to N.J.", by SAM ALI, Star-Ledger Staff.

So basically this guy (Bruce Marks, founder of NACA) provides training to people who have bad credit and want to get a home loan. In exchange for participating in at least five civil actions against predatory lenders, he'll get them the loan they want at great rates.

He then uses these people to stage protests against banks that want to merge, say, and need consent of local governments. He makes the banks look sufficiently bad that they beg him to go away. Which he does, if the bank guarantees a few billion dollars of loans through his program. Circle closed.

NACA may well do some other things that are also positive and neighborhood strengthening. Here's another nice article about them.

I think this is fascinating. It's inspired. It's devious. It's possibly criminal. It may be helping me to sell my house.


TV
Posted by Dan on 2003-08-11 22:21:38.887637

I was watching TV last weekend, and I ran across a show on the new TNN called Most Extreme Elimination Challenge. Basically, it's an old Japanese game show where contestants compete for prizes by doing silly, and sometimes dangerous stunts. Added to this is voice-over of American comics doing fake translation. You end up with something pretty humorous, if you've got a taste for slapstic comedy. Normally I don't, but maybe I was just in the right mood; the show had me laughing out loud.

Following this show was a made-up sport called "Slamball". Slamball is like basketball, except that there are trampolines embedded in the court, four on each side, near the net. And there's plexiglass surrounding the court, kinda like hockey. They portray it like it's a real sport that's gonna catch on. And who knows, it might. I found it significantly more entertaining to watch than real basketball, but maybe that's just because of the novelty. I've never been a big sports fan of any kind, really.

Suzette got me to watch the Tour de France this year, and occasionally I follow the New England Patriots, and I've gotten interested in some sailing races. Le Race and the America's Cup. I'm not a sports fan, but I might have to start watching Slamball. Trampolines are fun.


still alive
Posted by Dan on 2003-07-09 11:23:07.381017

I'm still alive. We bought the house in Arlington (closed on the 26th of June, movers did their thing 30 June). Huge thanks to my parents, sister and brother-in-law, for their help.

The baby is doing well.

I don't have DSL service at the new house yet, so I left the webserver at the old house. But I moved the database server to the new house, so unfortunately the Blog was down for a while. On the other hand, no-one reads my blog, so it doesn't matter.

Today I finally got around to installing PostgreSQL on the Webserver, so we're back in business.

I'm struggling mightily to get the old house fixed up, unpack and make the new place livable, and have a full-time job.


alzabo
Posted by Dan on 2003-06-18 15:53:33

I've done some more reading about Alzabo. Sounds good, for what it does, but it does less than I want. Looks like I'll be building my own broker class again. After thinking about it for a while, I've realized that some of the things that I didn't like about the PAESSO broker design are actually required.

I wanted to do away with the actual broker class, and just have any class that inherits from 'Brokerable' be automagically Brokered. I wasn't really thinking this through all the way; there's some setup that needs to be done. With a virtual 'Brokerable' parent class, there's no time to do the setup. In other words, everything you need to do when the Broker class is created has to happen sometime. If you don't have a broker, then you have to make a mess hiding that setup code.

Fortunately, I wrote a nice broker class before, so updating and adapting it should be quick and painless. If I wasn't buying a house, working, and getting ready to have a baby, it'd be a snap. It's probably healthy that children, family, and employment are higher on my priority list than Open Source. Shh! Don't tell anyone.


turn, and face the strange
Posted by Dan on 2003-06-17 06:37:19

Wow. So today was the first ultrasound . Turns out that it's a girl. Woohoo! I hadn't had much preference in the boy/girl debate. My grandfather wanted a boy, to "carry on the family name", but he was being morbid about how we needed to get this accomplished so that he could die in peace. Since I'm not real enthusiatic about my grandfather's death, having a girl means he has to stick around for a while, and I'm all in favor of that.

Not to say that I haven't wanted to pass on the family name, and all that, but I'm really excited either way. You get this sort of familial pressure particularly when you have an obscure surname, and you're the only male of child-raising age. I imagine if you're named "Chen" or "Smith" or "Gonzales" the pressure is significantly less.

Also, it looks like the house is going to go through, which is pretty cool also.

In the blog-engine project, I got Mason installed today. (Previously this seemed hard since I use Apache2, and didn't have the Mason prerequisites installed.) It turned out to be relatively easy. I also stumbled across Alzabo, which is described in a article in LinuxJournal. Alzabo is a perl-based RDBMS-OO mapping tool, (among other things,) which is basically what I'm looking for. I did some prototyping over the last few weeks on a "Brokerable" virtual class, but I wasn't very happy with it. (I was trying to avoid building an actual "Broker" class (i.e. by hiding the broker methods as class methods). I wasn't very satisfied with the result, largely because of the ugly hacks I'd have to do for initialization at class-load time.

For decent performance, a broker needs to cache it's database connections and/or prepared SQL statements. When a brokerable class is first loaded, the database connections aren't necessarily set up yet. So you have to prepare your database connections and queries in a lazy fashion, and it ends up being a big mess.


design issues
Posted by Dan on 2003-06-01 01:26:03

29 May 2003

So, I've been wrestling with some design issues, and also wrestling with some time-management issues.

The design issues involve a typical RDBMS-backed application design question: how should I store my objects in the database? On one hand, I could do the obvious thing, which would be to just design the tables the way I want them, and then instantiate my perl objects from that. This is the approach I took when I designed PAESSO , and the path that I've started down so far on this project.

I put a lot of thought into the PAESSO design, and in a many ways, I basically recreated a lot of the structure of J2EE in Perl. Which leads me to another approach: adopt whatever has been done to mimic J2EE, which turns out to be P5EE . Sadly, P5EE doesn't seem ready for prime-time yet, nor is it clear that I'd have any fun traveling that path anyway.

On the gripping hand, I could steal a page from JWARS and store my objects as "blobs" in the database. (Of course, I'd use the Storable representation.) This has a certain simplicity, but I always railed against it in the JWARS meetings, simply because it breaks the beauty of language independence in the RDBMS. For JWARS, only Smalltalk can understand the objects; for my app, only Perl could. Admittedly, in either case, it's unlikely that many people would want to parse the data with any other language. But there may be some. It would certainly be nice to get at JWARS data from perl. Or C++, or Java..., or anything but Smalltalk.

The time-management issue is my perpetual whine that I don't have the time to work on these things. This is largely a result of my recent marriage and impending dad-hood. (About which I'm delighted, I must say.) I am a bit melancholy at times that I don't have the time to really focus on the little projects that I've set myself; to include writing this Blog-engine.

Despite a crappy weather forecast for the week, when I left work today it was great sailing weather. But Zette had arranged to go look at houses, which is both good and bad. Over the holiday weekend (last Monday was Memorial day) we went to visit Niagara Falls, as well as her relatives in Rochester. Her cousin Mike has a small sailboat that has been in his garage for the last eight years. Cool as Mike is, I don't want to be him.


eureka
Posted by Dan on 2003-05-20 03:27:00

19 May 2003

So, the blog engine is now to such a state that the articles actually show up on the page. Now, as you might point out, I could have done that with a plain ol' HTML file. And you'd be right. But it does have a RDBMS backend. And it has a Perl front end. And therefore it's showing promise.

All the perl code is just hack to make sure the module would talk to the database. I have these grand visions of writing my own templating engine. (Doesn't everyone?) Except that mine will be more of a perl IDE than anything else. But there you go.

Suzette and I started house hunting today. It's somewhat amazing to be shopping for something that is in the half-million dollar price range. Ah well.


pain and suffering
Posted by Dan on 2003-05-09 06:06:55

9 May 2003

So, in terms of writing a blog-engine, I have to admit that progress has been glacial, by which I mean non-existent. Or almost anyway; I've done some thinking about it, and I've done some research into Mason, which looked somewhat promising, but I don't think I really like it that much.

Of all the templating engines, they're basically allowing you to write code in your HTML pages. The problem is I don't particularly like to write HTML at all; I'd much rather write code. The overall metaphor of templating engines seems to be that they are intended to extend the process of writing web pages into writing dynamic web pages. Instead of that paradigm, I'm more interested in writing applications that happen to use a web browser as an interface.

So I'm tempted to write my own templating engine, which would be more like a source code control system. I can definitely see some utility in having a framework to help keep components sorted out, but I'm not settled on the form I want it to take.

In other news, Suzette and I finally got our wedding bands back from the jeweller that made them for us. They're really pretty, but we have some reservations about the quality of the work. Sigh. On one hand I appreciate how beautiful the design is, and on the other I can see how much better the execution could have been. The rings we had were cast, but they're from a mold of a filigree pattern, and it's hard to get the little details right in a casting. I'm on the verge of trying to learn to make filigree.


1st post
Posted by Dan on 2003-04-28 03:00:00

27 April 2003

So, my name is Dan Risacher, and I'm intending to start a weblog. Or perhaps I should say that I'm *starting* a blog, since here I am, typing the first entry.

At the same time, I'm also intending to start writing a blog engine, because I'm not particularly satisfied with any of the ones extant. Why not? Well, I'm a perl guy, so I want something I can hack on in Perl. And all the perl solutions that I saw were not mod_perl based; which means they are cgi, which means that in theory, they're slow. And comparatively kludgy.

One of the problems that I have is that I have a lot of projects going at any given time, and inevitably, something gets pushed to the back burner. Sometimes I've got so many projects that I can't keep track of them all.

So right now, here's everything that I have in the queue, high enough that it gets some brain-cycles put towards it:

  1. writing a blog
  2. writing a blog-engine
  3. writing a webmail engine
  4. writing a mp3 streamer
  5. fixing my sailboat
  6. buying a new house
  7. fixing the framing on my front door
  8. re-organizing my house so there's room for all my new wife's stuff
  9. finding time to take my cats to the vet
  10. making some bagpipes
  11. doing some reading to learn what it takes to be a new dad (we're expecting around November 2003)

And that's just non-work stuff.


Fin.