Older blog entries for chipx86 (starting at number 272)


Monday is the beginning of finals week. I have one final Monday, one Tuesday, and one Wednesday. Then I'm finally done (for the semester). Unfortunately, I've lost all motivation to even study, but since I'm building all of GNOME 2.6cvs right now, I may as well go do that.


I'm hoping to do some work on GNOME soon, though I'm not sure exactly where to start. I have a patch (untested, because I'm letting jhbuild build all of GNOME cvs right now) that adds support for the Actions in .desktop files. Basically, when right-clicking a launcher item with an Actions line, you'll get a menu entry for each action.


libcomprex in CVS is finally ready to begin building some modules against, though they won't do much yet. The new API is progressing nicely, and is far better than previous versions. It feels a lot cleaner to use, and should work better and do more, once finished. I still have a long road ahead of me, as I must convert all of the old archive modules over to the new API, as well as finish up the API. I'm hoping to have a development release before the month is up.

Another sad loss...

I came home from school to some really depressing news. Ettore had passed away. I'm sorry to say I never met him or talked to him one on one, but I knew about him, and would have been honored to know him better. I was planning on contacting him soon about one of his projects. Amazing how such tragedy can happen so fast...

Gaim/Evolution Integration

I came home from school today a little surprised to see my bandwidth clogged and my screenshots of the Gaim/Evolution integration/synchronization plugin up on gnomedesktop.org. It was pretty cool :) Now I just hope it gets accepted into Gaim CVS, but I'm still not betting on it.


Work is going well on this. It'll be awhile before it's anywhere near what the old libcomprex was, but it's getting there, and is far easier to maintain and use. It's now GObject-based, replacing my own limited object framework. However, it's still a pain to write this library, due to its complexity.

The new filesystem abstraction framework will help replace the really ugly algorithms needed to open archives inside archives. Even the local filesystem is represented by CxLocalFileSystem, a subclass of CxFileSystem. CxArchive is also a type of CxFileSystem. Each CxFileSystem contains a list of all file pointers belonging to files in the filesystem, and all CxFileSystems existing underneath the filesystem.

Under the old design, all file/archive access functions would go through one evil file of code in a horrid file named io_internal.c. Depending on how you call the internal function, and what is contained in the path, you could get a CxArchive or a CxFile. However, when destroying the object you receive, there is no way to delete every other object somehow associated with that one for sure, without all these reference issues and memory leaks and such.

Now, under the new design, you always have, at minimum, a pointer to the top-most CxFileSystem that you're working with. When you destroy this, it destroys all node references under it, closes all file pointers, and then destroys all CxFileSystems under it as well. That in turn destroys those things under that. The reference problem goes away, and it's pretty clean. A lot cleaner than the CxContext I was about to implement for the old design.

Once I have most of the base written, I'll migrate all the archives and replace the old file scheme loading stuff (ftp, http, etc. access methods) with CxFileSystem implementations.

Things will change of course from the old API to the new one. In the old one, you could access a README.txt nested deep within an archive in an archive in an archive with one command. In the new API, you'll need to grab an instance of the local file system and then access it with a pointer to that. Not much harder, and far cleaner.


Well, tomorrow (actually, in just over an hour) is my birthday. I'll be turning 20. I'm not actually doing anything tomorrow, since I did stuff last weekend, so it's going to be a bit of a boring, miserable day. I'll probably either avoid home, or work a lot. That sounds fun. Maybe I'll buy myself something.

8 Dec 2003 (updated 8 Dec 2003 at 02:47 UTC) »

Once again with the lack of entries.. Ah well. I've been working on a few things lately. First, GNUpdate has been getting a rewrite. libcomprex's design was flawed, and is getting a new design, and a glib backend. This will prompt redesigns of the rest of the libraries, after libcomprex is done. I can finally get this project back on track.

I've been working on the GNOME bounty that syncs Evolution with Gaim's buddy list. It's rather cool, and works well. I finished it a few days ago, and am just waiting to hear back from The Powers That Be on the two projects.

I'm contemplating doing more work with GNOME code, and maybe contributing to a couple projects. I like the idea of integrating everything, and will probably work toward that.


Wednesday the 10th will be my 20th birthday. However, this weekend was my celebration of that. Saturday, I had a party with some of my friends. We went bowling, had some Mongolian BBQ, cake, and played games over here. It was a lot of fun. I wish it could have lasted longer, but then, all good things must come to an end :P

My girlfriend drew a picture of me, which I love. Her sisters also drew me some cool pics. I wish I could draw as well as them. Megan gave me an evil Pikachu money bank. It confused my sister a bit, but I thought it was funny.

Today, I had a family birthday. My girlfriend, unfortunately, wasn't able to come. We went to an Asian restaurant, and I got a replacement electric blanket (my sister somehow broke the old one), and an HP PSC 1210 scanner/copier/printer. No USB cable, though, so I'll have to pick one up.

I was supposed to see my dad tomorrow and have a birthday lunch and stuff. Howver, he just called a few minutes ago and told me he won't be able to make it this week.. Sucks.

I'm actively trying to find a way to make my actual birthday eventful in some way, since everything happened this weekend, but I'm currently not coming up with anything. Oh well..

Back to more code, I guess.


That'd be because we supply the Gaim win32 version upon release. We also supply the RPM, which you should be using instead of Fedora's. Yes, it's not in an apt feed, but downloading it once every couple weeks is easy :)


Nearing completion.. Only a couple more pages, and one more day to work on it. I'll sleep a lot easier when this is finished. I should probably sleep tonight so I won't feel so sick tomorrow.

Can't wait to see Rachael. One day, and I already miss her. At least I got to talk to her on IM for a bit. Sometimes I can't believe how lucky I am.

I haven't posted much lately. I really should work on that.


Things have become quite interesting lately. We have some news coming that I'm not sure if public yet or not, but I myself am working on a few Gaim-related projects.

First, Gaim for Qtopia v0.4 is about to be released, featuring message notification and beautiful support for 640x480. It makes me want to write a similar UI for my Linux box.

Second, I'm beginning work on a text-based UI toolkit called patui, which will be the base for a console gaim. Unfortunately, writing a UI toolkit takes a while, so I'm not sure when work on nc-gaim (ncurses-gaim) will start.

We're hopefully releasing gaim 0.73 soon. It was delayed due to some logging bugs we discovered, but the sooner we can get it out, the better.

Adium is using an experimental version of our libgaim in their Adium IM client for MacOS X. I'm really looking forward to trying that out :)


Things with my girlfriend have been great. We've now been together over two months, and I don't think either of us have any complaints :) We'll be having a kind of Christmas together sometime before or after Christmas. I'm looking forward to it. I think she'll like what I got her.


School, on the other hand, is nice and stressful, as always. I have a report due Friday, and a small one due tomorrow. I've been fighting the flu, but now it's kind of winning the fight for the moment. I didn't even attend school today, which is too bad because I really needed to. I'll probably continue with the bigger report in a few minutes.

7 Nov 2003 (updated 7 Nov 2003 at 08:09 UTC) »

Domain Renewal Headaches

Once again, re-registering chipx86.com proved to be a painful task. I registered this domain through a special one-day deal that Staples had in combination with Register.com a couple of years back. The domains were $1 each, so I got chipx86.com. Since then, renewal has been hell.

Last year, my domain suddenly vanished one day. I did a whois and found it had expired 1-2 months previously, but didn't actually die until that day. Not once did I get a renewal notification e-mail. I went to go renew it, and register.com showed absolutely nothing in my account information for that domain. I also was unable to register it, as it still claimed my domain. I had to call them up and spend a couple of hours on the phone. The problem turned out to be that part of my stuff was in their database, and part in Staples's database, and nobody seemed to have an access level needed to get to all of it to make a change. They had to call me back after a couple of engineers got on the task. Two days later, I had my domain back.

I had hoped that everything was cleared up after last year's incident. Today, however, people told me my domain was no longer resolving, and sure enough, it expired September 30th. Once again, I was unable to renew it or re-register it, so I called them up again. They said that the domain fell out of the grace period, so I asked if they could just re-register it now under register.com, without the tie-in to Staples. They said no, but that they could renew it for me, so I ended up just doing that.

Looks like I'll be looking forward to this mess again next year. I sent a request through a form the lady told me about to have it transferred, but I doubt little will come of it. Ugh. I'll just have to pay for a domain transfer to some other place.


Ahh, I love this time of year! The costumes, the candy, the events!

*Shakes fist at the rain*

Yeah, it's raining. Lovely. That kind of ruins the whole costume contest and everything at school, which also kind of ruins the "not going to class so I can go to the costume contest" plans, but I'll blame it on the cookies.

My costume makes no sense. I'm some guy that got cut up and noosed and then went psycho. I'm in some dress clothes (complete with tie), with a noose imprint around my neck, scabs on my face, some bandaids, and a paper bag over it all with a little Gir-like tongue sticking out and two oddly shaped cartoonish eyes. Behind my back is a spatula cross sticking out of a golf bag. In one hand is a loaf of bread, and in the other is a cheese grater. I love it.

I'm meeting up tonight with my girlfriend and about 5 of my other friends to go trick-or-treating. I was invited to about 3 other parties and get-togethers, but I passed on those.

Ahh, going to be fun.


This week had a major downside. My $60 Zaurus case, with a 128MB CF card inside, went missing from college. Nobody has turned it in yet, apparently. Also, my combo portable CD player/radio stopped working. I knew it was going to soon, but it finally died on me. Never fun.. Tonight, I kind of made up for part of that.

I bought a CD player from Sony that plays MP3 CDs and shows ID3 info, and also picks up local TV and weather stations, along with playing CDs, CD-Rs, and CD-RWs. I haven't tested it yet, but it seems good enough for my needs.

I also picked up a Sony DVD player. I'm pretty strict in what I want as far as entertainment center equipment goes, but I only had so much I wanted to spend on a DVD player. Now first of all, I really dislike this concept of, "Let's put all the buttons on the remote control and leave none on the player!" I want to be able to navigate menus without a remote. I want to go into setup. I want to do all of that. This one doesn't let me, unfortunately, navigate menus and such from the DVD player, but it was the only one I liked that was in my price range. It plays DVDs, CDs, MP3 CDs, JPEG CDs, DVD-Rs, DVD-R+s, DVD-RWs, and DVD-RW+s. It works well enough, and was simple to setup (aren't they all?).

I had one condition, however. I wanted Circuit City to throw in a free velcro cord thing that they use to keep the remotes attached to the players. Best Buy said they'd throw one in, since I expressed an interest, and I wanted Circuit City to match that. They were a bit confused at first, but ended up giving me one, so that was good.. Should keep me from losing this remote :)

The funny thing about this player is that it came with 2 AA batteries for the remote. The remote, however, takes AAAs. Somebody screwed up :)


I woke up this morning, which kind of upset me, so I decided to register a little domain. Now, the site is nowhere near complete, and the links are all broken, but I now have destroymornings.com. It should provide at least some entertainment I guess, for me at least.

The rest of the day was good though. Got to spend time with my girlfriend, played a Go match, and had crappy pizza. Now it's time for bed.

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