I'm getting ready to commit some rather big changes to libcomprex. Originally, there were two separate structures used in the files tree: CxDirectory and CxFile. I've been wanting to create an iterator interface, which can be used to process all files in an archive, all directories in an archive, or all files AND directories in an archive, in a single for loop. This was very tricky with two structures (read: I couldn't find a clean solution). So, I created a new structure, CxFsNode, and added all the file and directory-specific stuff as structs inside a union in CxFsNode. CxFile and CxDirectory are now typedefs of CxFsNode.
Amazingly, this seems to have broken nothing (well, except my renaming of a couple functions for consistency, but that was needed anyway). Next, I'll be creating the iterator interface. I plan on removing the file list in libpackman with a CxArchive, to remove a lot of duplicate code, and to properly represent the inner archives of packages. This should also let me do some other things rather easily, such as just calling cxOpenArchiveStream() in a package module to retrieve the archive, as opposed to opening the archive, looping through all files, building a new tree, and then deleting the CxArchive structure.
I've learned to hate ants over the past few weeks. Our town is just covered in ants right now, and we have a good share of them inside our house. They are taking over the new room and my room. I've killed many ants with Windex, paper towls, and vaccuum cleaners (which work quite well at killing ants). I've even had my stepdad (who runs a pest control company in town) spray where they were originally coming in. However, that was only a temporary solution.
The ants are back!
Tomorrow, I'm pulling out everything.. bookshelves, desks, everything. I'm going to have him spray every wall, the window, the door, and any other place the little creeps can come in from. I'm sick of these ants, and I do not plan on putting up with them all summer.
At least I don't have to deal with the giant red flying ants that came into town earlier this month. Those things are really nasty.
Update: The little bastards are mocking me. I found out where they're now coming from... right behind my computers. I've already pulled out some of the furniture. Hopefully the next round of pesticide will keep them away for a long time. I am going to be staying up for awhile, constantly monitoring that hole, and eating up every ant that comes through with a vaccuum cleaner.
Camera and USB hubs
I discovered I could hook my camera into my computer via USB and Linux will recognize it just fine. The first time I plugged it in, I got a new /mnt/camera mount point. It works just like the memory stick. Fun stuff :)
While at Costco the other day, I picked up some USB hubs for $20. They are Power Sentry USB hubs, and come in packs of 2. They are very tiny and light-weight, and are also stackable. You plug it in and it opens up 4 new ports. It can run either on AC power, or off the power from the USB cable coming in from the computer, and it will give an indicator saying whether or not AC power is needed. I've been needing one of these for awhile, as I've used up all my USB ports.
My X10 is acting up again. I try to dim the lights just a little bit, and it will do nothing for a few minutes, but then dims all the way down. I have to go up to the light switch and turn it off and then back on. But then it dims again! I have to repeat this 5 or 6 times before I can get my light working again.
My parents told me a couple of days ago that their room's light decided to just go on and off every so often one day. Seems that you could put on a great haunted house by simply installing malfunctioning X10 units ;)