Older blog entries for chipx86 (starting at number 124)

17 Jun 2002 (updated 17 Jun 2002 at 18:13 UTC) »


Unfortunately, I don't know the capacity of the disks. They were prototypes that were scrapped a long time ago, and the person who gave it to me didn't remember how big it was.


I'm experiencing the same problem as before. The memory stick is giving me "FORMAT ERROR." I'm going to have them replace the camera AND the card reader.

Updated: And now, after putting the memory stick back in the reader and then back in the camera, it works again. Bizarre.


I started work on the file tree rewrite for libpackman. It's going well, but I'm now faced with a design problem. I do not want to force developers who use this library to setup their own recursive functions for processing all files in a package, so I planned on writing an interator that recursively goes through directories. However, I'm not sure how to structure the API.

I figure I have three options:

  1. I can change pmGetPreviousFile() and pmGetNextFile() to accept both a PmFile structure and a PmFileIterator structure. This would remove the requirement of creating two new API functions, but it would also make these functions a little weird to use.

    If the developer was iterating through all files in a directory, it would look like:

    PmFile *file = pmGetNextFile(lastFile, NULL);

    And if the developer was iterating through all files in the package, ignoring directories, it would look like:

    PmFile *file = pmGetNextFile(NULL, fileIterator);

    I'm not sure how much I like that.. I'd prefer another solution.

  2. I can create new API functions for using the iterator class. They could be, for example, pmGetIterNextFile() or pmIterGetNextFile() or something. Those functions look a bit long and ugly, though.
  3. This is the method I'm leaning towards. I can add just a generic iterator structure, called PmIterator. It would contain a void * variable inside of it, which other functions can manipulate and use. Thus, to get all files, I could call pmGetAllFiles(), which would return this structure. I could then add the functions pmGetIterNext() and pmGetIterPrevious(), which look a lot better than the above functions.

Once I tackle this, I'll work on the dependency rewrite...

Father's Day

This Father's Day went pretty well, mostly. I got my stepdad Chessmaster 8000, since he loves to play chess, and we took him for breakfast this morning. Tonight, we had a party, which consisted of a BBQ and presents. It was originally intended to be a Father's Day/graduation/birthday party, but the birthday party (for my uncle and aunt) didn't happen, and the graduation party didn't happen either. It was kind of a letdown for me.

And my Uncle returns home tomorrow, so I probably won't be seeing him until Christmas :/


My TV no longer turns blue when the VCR can't receive a channel. Now it turns red. Same with the setup screen. This is very odd.


Since you certified me as Apprentice due to your negative feelings towards me, I ask that you please remove the certification. Thank you.


It's rather easy, actually. Just make sure the camera you get uses a type of storage card, like CompactFlash, Sony Memory Stick, SmartMedia, etc. Then go buy a SanDisk ImageMate reader and plug it in. I know it works in Windows and Linux (tested with kernel 2.4.19-pre10-ac2). You treat the card like any other storage device. Pull the jpegs off and do what you will of them.

I'm sure you can find applications to handle the thumbnail generation. If you use Windows, these all come with the necessary software to view the images and copy them, modify them, etc.


Well, I finally got a response back from ICQ. It's a damn shame they waited until AFTER my account was deactivated by the hijacker. ICQ is no better than the hijacker is... sigh... They designed the system so that, if your ICQ account is stolen, you can't prove it is yours easily, and even if you do and the hijacker deactivates it, they have no way at all of reactivating it. I sure don't want those programmers working on anything I'm running...


Well, my X10 light switch stopped responding to commands from the remote today. I have others that can act as replacements, but that means shutting off the power to this room and losing my 145 day uptime. It still functions as a normal light switch...


The camera, amazingly, is not broken yet ;) I've been taking several pictures, mostly of Jenna. I've been babysitting her from 15:00 to 20:00, which can sure feel like a long time.

I think I'm going to write a program soon to take the images on my memory stick, figure out which I have not saved to the computer yet (if any), preview them, and let me specify where they should go. It would also support auto-renaming of the files. It's too much work to sort through the new pictures I have taken and then manually move them and rename them.


We've been setting up a small Linux box for the Internet Radio Linking Project, which links up Ham Radio receivers to the Internet world-wide, so that people anywhere can listen in on conversations and participate in them. I have not studied Ham Radio much, though I hope to one of these days. Last night, I contacted the people over at IRLP to setup our node. They seemed hesitant at first, since we were using RedHat 7.3, and they only officially support RedHat 6.2. However, I assured them that I, unlike many of the node owners, have a lot of experience in Linux, and could probably fix whatever goes wrong. So, he set it up last night, and aside from a minor configuration issue (which I believe to be fixed), everything is almost ready to go.

Begin your trip East. See pretty lights in Tokyo. Grow old and wonder about yesterday.


I got my new camera today! I was thrilled with it.. that is, until I put my memory stick in my SanDisk ImageMate reader, copied some pics off of it, put it back in my camera, and then saw "FORMAT ERROR!"

That scared me a bit, since I then assumed either Linux or the reader was to blame, and I had put my Grandpa's memory stick in my reader yesterday. After a lot of panic and messing around with stuff, we went back to Best Buy. They ran some tests, and we determined that the memory stick was bad. They gave me a new one, and it (so far) works perfectly!

Prototype 3.25" Floppy Pics

Some people have expressed an interest in seeing my prototype floppy disk pics. So, here they are.

Note: All prototype 3.25" floppy images are owned by me, and were not copied from other people's websites without permission. You may, however, copy these pics to show others if you wish ;)

We're off to Hulas (Mongolian BBQ) now. Yummm.


Blech. Are there any lunar modules around just waiting to be programmed?

Maybe on ebay. That sure would be fun to program :)


I haven't been able to work on this much during the past few days, as I've been busy with this little thing called "Life." I have, however, setup a gnupdate-i18n listserv for keeping translators in contact with each other, and so that I can tell them when they need to translate new stuff. It hasn't, um, caught on quite yet, despite e-mailing all the current translators (and possible future translators, who have e-mailed me) in my address book. I'll keep bugging people though ;) It'll soon be made a requirement, I believe. I'm also going to setup a document on GNUpdate.org on how people can get started in translating GNUpdate's .pot files. Maybe someday, we can work on getting the website translated, but that's a future project.

I'm debating about whether or not the linked list of files in a package (in libpackman) should be converted into a tree. The more I think about it, the more I'm leaning towards "yes." Basically, I'd like to eventually provide a way to treat a package like an archive. gpkg can kind of do that... It can extract individual files from archives. However, I would prefer a way to browse directories, say in a graphical environment. This would also let me write a module for libcomprex to treat all supported package formats as archives. I think this would be very cool.

It's not like things would be much harder to use. I'd of course provide an alternate iterator for going through all files, which would work with subdirectories in the tree. Compiling against the new libpackman with these changes wouldn't require much modification. And hey, wouldn't it be neat to eventually be able to mount a package? ;)


Oh, and in addition to the other purchases I made today, I also got a replacement chair. It's pretty comfy, actually. It's a bit stiff, but it's becoming more comfortable as I sit in it. It's also much bigger than my last chair, and has arm wrests, which I've been wanting. I feel like sleeping in it right now. I'm tired.

Sony Digital Camera

I was at Best Buy and Circuit City today, looking for digital cameras. The one I decided on buying is the Sony DSC-P71, which was the best out of what they had available. Of course, nobody had one in. There's a small possibility that Best Buy is getting one in tomorrow, but they might not. If not, I'll go buy one from Circuit City, who has promised to deliver one to my door for free within 3-5 days. Both companies are a bit evil (we've had problems with both), but then they're also the only ones in town that sell these things.

Oh, and the USB interface is supposed to work with Linux, according to what I've been told from people who have these cameras.

SanDisk ImageMate

I also bought a SanDisk ImageMate Dual Card Reader for CompactFlash and Sony Memory Stick today. I wasn't sure if it would work in Linux, since I found almost no information on the device. However, it does work beautifully. I'm sure other people are wondering if these devices work in Linux or not, so I'll say this here, in hopes that Google crawls and sees this:

The SanDisk ImageMate Dual Compact Flash/Sony Memory Stick reader (SDDR-77-07) works in Linux. This has been tested under kernel 2.4.19-pre10. After plugging it in, two new entries were added to my /etc/fstab: /mnt/flash and /mnt/flash1. The first mount device was for the Compact Flash, and the second was for the Sony Memory Stick. All that is needed, apparently, is USB support, SCSI support, and USB Mass Storage. USB HotPlug may also need to be enabled. I hope this helps somebody.


My Uncle Gary is in town! He'll be here until probably Monday or Tuesday. We don't see him too often, so it's good to see him. He was co-founder of Quarterdeck, and was lead programmer for DESQview and QEMM. It's fun to talk to him about computer-related things.

We took Jenna swimming today. She hasn't swam since she was less than one year old. The water was a bit cold, but she enjoyed it. We'll probably go more when it's hotter out.

Murphy Owns Me

Anything that can go wrong is going wrong tonight. My monitor is doing this weird vibrating thing that it always does in the summer. I moved the monitor to another outlet. I hope that'll fix it, but I'm not sure yet.

My chair, which I got only two years ago, broke tonight. I now have to spend the money I just made (plus some, digging into my camera money) on a new chair. That really is pissing me off... I liked that chair.

And last (this is a very minor one), my Intellimouse Explorer wheel feels all grimey. If I blow into it, it fixes it temporarily, but the problem comes back within a minute or two of use. Does anybody have a solution to this?


I just got back almost two hours ago (00:00 PST) from a client's house. They had some problems on their system. Basically, Windows XP wasn't working so well with their old apps, and anything below XP wasn't working with their hardware. I first met them yesterday, and spent almost 5 hours repartitioning their 100GB into 30GB for Windows 98 (in case they need it for their older apps) and 70GB for Windows XP. We set most things up yesterday, and we did the system updates today.

My payment was $150, plus a prototype Dysan Corp. 3.25" floppy disk. Yes, you heard me, 3.25", not 3.5". This thing looks like a 5.25" floppy, but shrunk to 3.25". I'll have to take pictures soon.. it's very cool :)


My little sister, Jenna, has been sick for a couple of days with a fever. When I came home, I found my mom and Jenna in the living room. Jenna was crying, but was happy to see me. I held her for awhile and rocked her to sleep. I'm going to get sick now, but it really didn't seem to matter at the time. I just hope she feels better tomorrow.


That reminds me of my trip to Disney Land a few years back. In their little space exploration area (or whatever it was), they had computers mounted in the walls. One of them had a DNS error and another had something like a General Protection Fault.

Too bad they weren't running Linux. "Core dumped" sounds a lot more appropriate for a space exhibit ;)


I sent in my monthly LinuxFund report today. This one felt good to write, as it made me realize just how much I accomplished this past month. I may start putting these up on GNUpdate.org so that people can get a feel for how the project is moving along.

I'll be doing a rewrite of the dependency framework soon, so that support for different dependency types will work a bit better. Right now, all dependencies are kind of bunched together. I just haven't gotten around to separating them. Now that the Debian package module is at a mostly working state, it's important to get that all fixed up. I'll probably spend the next day or two working on it. It shouldn't be much code.

Oh, and we got a Finnish translator today!


I've been working on my site the past couple of days. The backend is done in Ruby, which I'm beginning to really like. I've written SSI, Perl, PHP, XML/XSLT, Python, and Java backends, but never Ruby, until this site of course. A few of the changes I have made are the new theme support, weblog, and a private XML-RPC interface. I'm developing the weblog because I want better integration with my website, as well as some features such as message boards and automatic linking to things via keywords.

I plan on keeping my weblog here as well. Basically, I'd like to make a script that takes my weblog entries and outputs it both to Advogato, via its XML-RPC interface, and to my site, also via an XML-RPC interface. Simply pulling the entries off Advogato wouldn't be sufficient, since there are some tags I want to add that would be more specific to my website.

I'm contemplating adding a small "Reply" link on the bottom of each Advogato post, linking to my message board. I don't know if this would be considered annoying to anybody, so I'd like an opinion or two on this. If people don't like it, I'll leave the message board functionality to my site's weblog only.

115 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!