Time for another weekend report...
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 :-).
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.
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...
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
{ 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.