Older blog entries for chipx86 (starting at number 129)

22 Jun 2002 (updated 22 Jun 2002 at 05:32 UTC) »

GNUpdate

I fixed several bugs in libcomprex today, as well as worked on the new iterator interface for files and directories. It's not complete, but I think I'll have it working tonight. I'm anxious to get libcomprex and libpackman linked up together.

Gaim

While talking to JSeymour (Gaim's Jabber developer), we ran across a little bug that, from what I can tell, has gone unreported. When putting a period right after an e-mail address, part of the e-mail address would be truncated. For example, foo@bar.com would become foo@bar.c., and testing@123456789.com would become testing@1234567. Basically, the length of the username minus 1 is how many characters would be stripped off the end. It didn't take too long to come up with a fix that mostly worked. I got it completely fixed (I hope!) awhile later.

bytesplit

Now that you seem to be back and active, I'm going to restate my request from a week or so ago.

Please remove my certification of Apprentice. I'm not asking to raise the certification, just remove it. I do not believe certifications should be given out based on your personal feelings on a person, but instead by their contribution to the open source community, and their skill level in the field. Thank you.

As for your question about pluggable interfaces to games, I do not believe there is any existing framework for doing so, as that would be extremely complex (read: just short of impossible). Games are all different, but if a group of game developers built games using a standard framework that supported some form of pluggable architecture, it would be doable.

I may have misunderstood your question, however. I wasn't completely clear if that was what you were asking.

Update: I would like to talk to you, but I do not wish to take up the time of the readers of Advogato. Please meet me in channel #GNUpdate on the OpenProjects IRC network. I want to get all of this straightened out once and for all.

21 Jun 2002 (updated 21 Jun 2002 at 09:03 UTC) »

GNUpdate

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.

Ants

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.

X10

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 ;)

GNUpdate

I finally got around to writing the translation information page, so that potential translators know what's expected of them and how they can help. I've been meaning to write that for awhile. When I'm more awake tomorrow, I'll let the people on gnupdate-announce and gnupdate-i18n know about it.

Jenna

I spent most of today babysitting my little sister Jenna. It went surprisingly well. She's a good kid, but sometimes it's hard to keep up with her... We went swimming, to AM/PM, the playground at the local school, and played at home.

While at AM/PM, I got to talk to Deborah, one of the (cute) employees working there. She told me how she found four newborn baby birds in her backyard, and wanted to know if I knew how to take care of them. I gave her all the info I could remember from the last time I took care of baby birds. She said she may bring them in tomorrow, so I'll stop by and see how she's doing, I think.

I can't think of anything else. It's too late for me.. bed time.

TV

I purchased my new TV today. For $350 (including tax), it's definitely not bad. 27", Picture-in-Picture, 3 A/V inputs, 1 S-Video, 1 Composite in... Other goodies.. It's a nice TV. It looks absolutely huge in my fairly small room.

TVBuggy

I've resumed work on TVBuggy, a little program I'm writing which keeps track of the user's favorite shows (via keywords or explicit schedules) and then notifies the user in any user-defined way. For example, I plan on adding notifier scripts for e-mail, OSD, and maybe a custom program down the road using Evas.

It doesn't exactly keep track of the shows yet, but almost all of the back-end for storing the data and processing it is there.

Jenna

Tomorrow, I'm babysitting Jenna all day... and half of Thursday too. These should be long days :P She's fun and all, but she's much more active than I am. I figure I'll take her swimming and take her to the park. Hopefully she'll sleep in there sometime.

X10

Amazingly, I got my X10 working.

I went to use my X10 remote a few minutes ago to turn off my TV (it's an old TV, I'll talk about this in a minute). It wouldn't work. I tried other appliance modules, and they didn't work. I tried different house codes and unit codes. Still no go. I tried moving the transceiver. No good.

It was then that I noticed that the transceiver module would get hot very quickly. I took it out and brought in the one from the living room. After setting the house code to match my remote, I was able to turn on my TV. Then I tried turning on my lights..... SUCCESS!

So now I have to go get a replacement module for the living room.

TV

My current TV is a very old mono color TV with 2 antenna terminals on the back. It's not very good, and I can see the quality (what little it has) degrade over time. So, I went window shopping for a new television today. I found one that is almost like this one, but with a Picture-in-Picture feature. The price is $299 at Costco. I'm most likely going to buy it tomorrow.

Quantum for QuickBooks

My stepdad finally wanted to try the program I've been developing. I said I would package it up and put it on the computer. Unfortunately, it now crashes on my computer whenever I close it. I'm hoping that this is because I developed it in Visual Basic 6 and I now have both Visual Studio 6 and Visual Studio .NET on here. I'll package it up and put it on his computer, and hopefully it will work there. I plan on porting this to .NET, as soon as I can find a good widget library (the standard .NET one is very bad).

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

tk

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.

Camera

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.

GNUpdate

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 :/

TV

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.

bytesplit

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

bytesplit

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.

ICQ

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...

X10

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...

Camera

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.

IRLP

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.

Camera

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.

120 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!