Linux Razer Naga Driver

I’ve been looking around awhile for a “driver” to quickly change keymappings on my SWTOR Gaming Mouse (which is actually just a Razer Naga with a special look), without having to muck about with X configuration settings. Never really found anything very satisfying. So I finally decided to just hack up the nostromo_n50 configuration tool that Paul Bohme wrote ages ago. I’ve already hacked on it some in the past so I was aware of how it worked mostly. It was a pretty simple conversion really. The source is at


Razer SWTOR/naga mouse

Razer SWTOR MMO gaming mouse

I might go back sometime and change the ui from fltk to Qt. Mainly because I know Qt much better, and could make my frontend look a bit nicer. But I’m happy for now. I can now play WoW without having to redo keybindings in game.

Posted in Coding | Leave a comment

I need to update my BLP importer extension

I was searching for Gimp BLP using google again. And I saw that my plugin was listed under “The GIMP non-Free extensions” originally posted in a blog article. The reason given: “Some relevant files do not have a license note”. Apparently I wasn’t strict enough with adding the GPL headers to my sources. Oops. I’ll have to go back and correct it. So I’m re-reading as he suggested on that site. I also need to update some other code that I used GPL as a license in. After I get it updated I’ll send him an email to update his list.

There’s some other changes I would like to make later. Maybe I’ll have some more time for personal projects in a month or so. I’m planning to migrate my plugin to use a, slightly modified, libsquish to handle dxt decompression, AND *compression*. Then I can use the Gimp to export BLP images also.

I would also like to support BLP version 1 files later on. Like the ones used for Warcraft 3.

Posted in Coding | Leave a comment

kc rpg

I found the source code for a tiny game my friend made a long time ago when he was a brand new programmer. I was searching for anything about my old highschool website (the now defunct And noticed that kc had posted some programs online with links back to his homepage on that server. I had almost forgot about this game. kc pitted me as the arch enemy (an evil dragon/monkey). As far as I know he never really finished the game though. So here I present kcrpg remix (I ported his code from c to javascript). I also added an ending of sorts. I decided to try to leave as much of his original code as intact as I could. Spelling mistakes, high-school kid noobish code, etc. So it’s pretty easy to cheat the game (in fact I found it difficult to get far without cheating). I’ve also updated all references to from CybreNurd (my old online alias back in high school) to Xilcoy. It was fun remembering the good ol’ days of AiS. For those that don’t know, it means adventures in supercomputing. Basically it was an intro to programming class. Anyway I hope you enjoy this port of the “classic kcrpg”.

KCRPG (remix)

Open in a full window

Posted in Coding | Tagged | Leave a comment


After a bit of work (about 4 hours) I’ve got my old blog entries imported into a wordpress database. I did it all manually through phpmyadmin. I could have also written a custom importer plugin. But since it’s a one time thing, it would have been a bit silly. I’m sure I made some minor mistakes but I’m not too concerned about them. Maybe the comment counts are off on some pages. Or you might see things like “-percent” in place of “%”, because I could have messed up when I had to convert my subject lines to acceptable slugs. Let me know if you find any issues and I’ll go back and fix them.

My blog has come a long ways from it’s original form. Initially I just wrote my “journal” all into one big file called journal.html. It started getting unwieldy so I broke it up into multiple HTML files. Then I learned how to use perl and I converted the files to plain text files to be read by a simple perl cgi script. Then after I started college my buddy kc asked me to install PHP on the high school server. Soon I had converted perl scripts to PHP. Later I converted all my text-file blog entries, into items in a database. Then I added a comment database so my friends could leave me messages. After that it’s pretty much stayed the same until now. I continued to make small improvements (image gallery, captchas, cms).  I’ve also had to transfer the database between servers more than once. And now I’ve finally stopped using my own home-brew solutions for what is now called blogging. It’s a bit sad to see it go. After all I put a lot of time and effort to it over the past 10 years. I simply haven’t had time to properly maintain the codebase. I do have time for minor hacking of code though. I’ve been doing that quite a bit lately on my other blog, “Taiwexans”. For now I’d like to go back through old posts and categorize/tag them. Many of my old blog entries would fall into the “rants and ravings of a madman” category I’m afraid. Looking back at some of my earlier college entries, I think that I’m a little more sane these days. At the least my later posts seem to be more mellow. Many of my old entries make me feel like Picard in this pose

famous picard face palm

That reminds me. I don’t think everybody knows this yet, but I decided that my Chinese name should be: 畢凱 (bì kǎi). I chose it for several reasons:

  1. I think it sounds like “Coy B.”
  2. 凱 (kǎi) is a nice character that means triumphant
  3. I like the way the tones flow
  4. But mostly because it’s also the way Picard was translated into Chinese 🙂
Posted in Blogging, Coding | Tagged , , | 1 Comment

Patching linux to play WoW

Today I tried to play World of Warcraft (using wine in linux of course) and I was no longer able to login. I got a segfault whenever I tried to login. Which was weird because nothing I was using the same version of wine and WoW that worked perfectly a week ago. So I did a quick search through winehq bugs and found the problem. It was caused by some code changes in the linux kernel between 2.6.32 and 2.6.34. This kernel patch should fix it though. The other solution would have been to downgrade my kernel back to 2.6.32, but I upgraded for a reason… My laptop wasn’t going into suspend mode correctly in 2.6.32 because the /proc/acpi/event wasn’t firing like it should have. It was apparently fixed in later kernels though because now I can suspend my laptop when closing the lid with no problem.

Ok so for all of you out there saying “that’s why I use Windows” (John Harris). I would like to see you be able to patch your windows kernel when something goes wrong. When you find a bug in windows all you can do is pray that somebody at Microsoft will fix it (or pay thousands of dollars to get it fixed). I love free software :).

Posted in Coding, Gaming | Leave a comment

New wordpress blog

So I did make it back from Costco. I know you were all worried about me…

I recently created a new wordpress blog for Shao-ling and I. I plan to start transitioning more posts about our personal lives to that blog, and I’ll make this blog more about my geekier sides (gaming, programming, etc.), things that “normal” people don’t care about, and would be bored with. Of course my personal life, in general, is geeky, so I don’t know how well it will work… We’ll see though. Anyway you can check out the new blog at Taiwexans. You can view it either English or Chinese, (just click the small Texas or Taiwan flag). I still need to fix some of the internationalization, and I probably won’t post too many multi-lingual entries for now. But maybe Shao-ling will.

Posted in Blogging | 1 Comment

Greetings from Taiwan

So everybody keeps asking me to update my blog. So I guess I’ll finally do it. I’m sitting in the passenger seat of Shao-ling’s family car using my phone to write this entry, so please excuse any typos. Anyway a lot has happened since many of you last heard from me

I have been living in Taiwan for the past two months as most of you know. I’ve been very busy at my new job. And I’m usually mentally exhausted my the time I leave work each day. At least I’m getting paid relatvely well (for Taiwan). Especially considering that my normal expenses for each month is between 500 and 600 USD.

I moved into a small apartment within a week of arriving in Taiwan. It feels as if I’m back in my college dorm room. At least I have my own bathroom here. I have to share my washing machine with 4 or 5 other people, and then hang my clothes outside my window to dry. I have a few small appliances, including a mini-fridge, hot-plate, and small electric grill. Maybe I’ll upload a video so ya’ll can see it for yourself.

I’ve been slowly learning more Chinese Mostly foods right now. I need buy it every day so I get more repetition with food words than most. Maybe in a month or so I will take some classes, I’m too busy at work right now though.

Since I arrived in January, Taiwan has had two holidays. Chinese New Year and Lantern Festival. I think that Lantern Festival is actually tied to Chinese New Year somehow. We didn’t do much for Chinese new year besides relax and eat … a lot. But I got a week off from work so that was kinda nice. Except that it put me even further behind schedule for my current project. I think that the lantern festival was more interesting. In central Taipei they held a huge light show. I had never seen so many people packed into one place before. The Chinese phrase for that is “people mountain people sea”. I didn’t like the pushing and shoving but the show was neat, and all the little models being displayed were neat. Last weekend we went to a smaller town to make our “sky lanterns”. Basically they are mini-hot air balloons. You write wishes on the lantern then you light a fire inside and let it soar into the air. Guess somebody else has to clean up the mess later. It seems a bit dangerous. Uncontrolled flames flying all over the place, but it is very pretty to see them all in the air. We had to take train for part of the trip. There were so many people that you got to know your neighbor very, very well. You really have to get used to crowded places to live here.

ok I need to go now we are in Costco shopping now. More to come later.

Posted in Taiwan | 1 Comment

dead computer

A few weeks ago, the power supply on my desktop computer went out. A capacitor on the inside exploded while I was away. I bought a new power supply to replace the dead one and my computer ran fine until just a few days ago. When I came home on Wednesday, my desktop was dead again. However this time I suspect that it’s a motherboard issue, because the system has power for about a second, and then shuts itself off. So I just ordered a laptop that should be here in a week or so. I won’t be playing much wow for awhile though. Which also means I won’t be updating any addons either. I’ll have to reinstall gentoo which will take awhile, and then I have to download and install wow and all it’s patches. The laptop will be a nice upgrade though, so it’s worth waiting.

I finally started doing the Power 90 program that I ordered months ago. I’m on day 5/90, so we’ll see if I can keep up with it. I probably won’t, knowing me. I’ll try though. It would be nice to lose the gut I’ve been slowly growing over the past 7 years or so. I’m sure Shao-ling would agree 😛

I have my TEFL course this weekend. I can’t find an itinerary anywhere though. So I’m assuming it starts at 8 in the morning. But I just don’t know. Hopefully, I’m not late. I should go to bed so I can get up in few hours. Goodnight.

Posted in hardware | 2 Comments

BLP importer

Last week I spent all my spare time writing a BLP importer plugin for the GIMP. BLP for those who don’t know is Blizzard’s texture file format. I was working on my JukeBox WoW addon and I wanted to add a play/stop buttons. But I haven’t been able to open up the BLP files with the button templates. So I finally broke down and wrote my own importer. It can read any type of Blizzard BLP image, and allow it to be edited in the GIMP. Saving the file is tricky though. It’s a lossy compression scheme, so I’m having a hard time finding a way to export the image. Fortunately World of Warcraft can load TGA images. So until I can get a working BLP exporter, I can just save my images in the tga format.

If anybody wants a copy of the importer code just send me message 🙂

Posted in Coding, Gaming | 1 Comment


Halloween was pretty fun. I didn’t do anything except work and play computer, but I did dress up in costume for work. I bought a star trek TNG shirt and and some rank insignia’s. I used black hairspray for darker hair and beard. I bought a toy tricorder, and a model phaser. Only one other person did anything. She wore some cat ears. At work people were calling me commander, and making jokes about “the bridge”, “ready room”, “turbolifts”, and pretty much anything trek related. For lunch we “assembled an away team” and took a shuttle (car) to a restaurant. I think many of them had even more with it than I did. It was interesting. Hopefully I remember to upload some pictures.

In more important news… Shao-ling will have her student visa interview on Friday. I think she is much better prepared this time. She would be starting school here 2 months later. She is going to take one or two semesters of ELS. I really hope everything goes well. It will be much, much better to so close to her. So, wish her luck. 加油 Jia you Shao-ling!

Posted in sci-fi | 2 Comments