Weekend Report - August 26 2003

Time for another weekend report...

Winged Migration

Not too much to report this week. We went to see Winged Migration at the Bytowne on Sunday at 16:30. Oddly enough, the place was full, full with a strange mixture of senior citizens and young families. The film was as you would expect - lots of wonderful shots of birds flying, most from within the flock. Marvelous landscapes too. Even some urban scenes (mucky East Germany (or somewhere like that) industrial sites), and a few hunters too for completeness. Violence wasn't spared - such as the big bird attaching a penguin chick, while the adjacent penguins could only squawk and wave their flippers (all talk and no action :-).

Ground Hog

The rest of last week was less beautiful. Saturday was spent crawling under the house to fix up the groundhog damage, trying to avoid the fibreglass, dust, mold, sunflower seed shells, groundhog droppings and other nasties down there. It started a few weeks ago when I first noticed strange bumping sounds underneath our back addition, and shortly after the lack of phone service. Opening the door to the crawl space let out a confused groundhog - it could tunnel in but seemingly not find its tunnel to get out. I filled in the hole. A few days later, more bumping noises, falling garden tools, wood scrapings near the door, and a stray groundhog. I filled in the hole again, this time ramming the sand down the hole with a long stick. That seems to have given them the message - no more tunnelling over the next few weeks. Besides knocking down insulation from between the floor beams, it had broken the phone extension line under there. I took out the shredded fibreglass and put in some fresh batts, stapled the phone line to the ceiling (dangling near the ground is a bad idea), then stripped and spliced together the wires, and soldered them too. Boy, was I glad to get out of there.

Basement Stairs

In other news, I finally finished painting the treads on the basement stairs. They were getting worn out (a combination of wetness left by the cleaning lady and lots of traffic down to the Ice Code Cave), so I took a few months to fix it. First was removal of the old aluminum tread protector (protectors long gone) hold-down strips - lots of rusty screws. Then cleaning out the area under the stairs (moving stuff, ended up vacuuming the whole basement floor too). Then painting the stairs in halves (left side then right side). Then doing the final coat in one shot, by painting backwards up the stairs (it dries overnight). Now we have nice slick dark gray urathane protected steps. The rest of the basement floor looks kind of ugly now...

Programming Projects

Work proceeds on the RAM file system for BeOS. The file system itself is working, but now I have to do the infrastructure. The current item is a replacement for Zip, which will save all the special stuff (attributes, indices, AGMS links, symbolic links, files, directories, etc) some of which you can't put in a Zip file. I'm using a text file format (no, not as fancy as XML) and then post-compressing it with Zlib (or bzip2 later). That isn't usually as good as zlib compressing the binary data directly, except for spam e-mails where it vastly outperforms Zip and zlib for some odd reason (about 1/4 smaller).

For your amusement, here's what my new archive file looks like, and a screen shot. Incidentially, I've got the writing code done, just need to finish the reading code.

- Alex

[AGMSFileSystemPacker Screen
Shot]

{ Create Volume
  Name=.sounds
  MaxVolumeSize=100000000
  RoughSizeEstimateNoAttributes=2477542
  Notes=This is an example archive file.
}

{ Create Index
  Name=BEOS:APP_SIG
  PrimitiveType=CSTR
  PosixSize=18432
  PosixOwner=0
  PosixGroup=0
  DateCreatedMicrosecondsSince1970=1057759330000000
  DateModifiedMicrosecondsSince1970=1057759330000000
}

{ Create Index
  Name=last_modified
  PrimitiveType=LLNG
  PosixSize=506880
  PosixOwner=0
  PosixGroup=0
  DateCreatedMicrosecondsSince1970=1057759328000000
  DateModifiedMicrosecondsSince1970=1057759328000000
}

{ Create Thing
  PosixEquivalentThing=Directory
  Path=.sounds
  Data=
  PosixOwner=0
  PosixGroup=0
  PosixMode=00755
  DateCreatedMicrosecondsSince1970=1057776601000000
  DateAccessedMicrosecondsSince1970=1061914423000000
  DateModifiedMicrosecondsSince1970=1059930256000000
  DateMetaChangedMicrosecondsSince1970=1059930256000000
}

{ Create Thing
  PosixEquivalentThing=Attribute
  Path=.sounds/BEOS:TYPE
  PrimitiveType=MIMS
  PosixSize=31
  Data=application/x-vnd.Be-directory\000
}

{ Create Thing
  PosixEquivalentThing=Attribute
  PathDoubleEscapedLeaf=true
  Path=.sounds/_trk\134057windframe
  PrimitiveType=RECT
  PosixSize=16
  Data=\0\0\270B\0\0qC\0\200\36D\0\0\26D
}

{ Create Thing
  PosixEquivalentThing=File
  Path=.sounds/CD Burn Error
  PosixSize=74089
  PosixOwner=0
  PosixGroup=0
  PosixMode=00644
  DateCreatedMicrosecondsSince1970=1059927982000000
  DateAccessedMicrosecondsSince1970=1061914423000000
  DateModifiedMicrosecondsSince1970=1059927983000000
  DateMetaChangedMicrosecondsSince1970=1059927983000000
  Data=RIFFa!\1\0WAVEfmt 2\0\0\0\2\0\2\0D\254\0\0N\256\0\0\0\4\4\0 \0\364\3\a\
\0\0\1\0\0\0\2\0\377\0\0\0\0\300\0@\0\360\0\0\0\314\0010\377\210\1\30\377data\
\33!\1\0\5\5\20\0\20\0\366\377\367\377\255\377\254\377\273\0\0\17\1\0\21\3773\
[...]
\377\356!\0\22\21\0""\377\20\0\20\21\377\0\17\000
}

{ Create Thing
  PosixEquivalentThing=Attribute
  Path=.sounds/CD Burn Error/BEOS:TYPE
  PrimitiveType=MIMS
  PosixSize=13
  Data=audio/x-riff\000
}

{ Create Thing
  PosixEquivalentThing=Attribute
  Path=.sounds/CD Burn Error/be:mediaPlayer_miniMode
  PrimitiveType=LONG
  PosixSize=4
  Data=\1\0\0\000
}

{ Create Thing
  PosixEquivalentThing=Attribute
  Path=.sounds/CD Burn Error/be:mediaPlayer_frame
  PrimitiveType=RECT
  PosixSize=16
  Data=\0\0HB\0\0HB\0\0\240C\0\0\2C
}

etc. etc.

Copyright © 2003 by Alexander G. M. Smith.