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.