It’s been a while since I’ve blogged (I blame Twitter), and I had an interesting week, this last, so I figured I’d blog about it. Probably should be a bunch of individual posts, but blef and here goes….
Yesterday was an awesome end to an otherwise already pretty good week. I got to play Tetrinet with my team at work and while this may not seem like a big deal, it was to me. Being that I’m currently working remotely, it’s very easy to feel isolated and alone and disconnected most of the time. Until I figure out how to build a virtual presence robot (like Twiki, maybe, except instead of Â Dr. Theopolis hanging around his neck, it would be a webcam of me?!?), I don’t get many opportunities to feel a part of my team and get the kind of feedback that you normally get in a job by seeing how people react to you just by being around them. But anyway, it was a WHOLE lot of fun. I had never heard of, much less played, Tetrinet before yesterday, and I got my butt kicked soundly. But the camaraderie and laughter and fun was exactly what I needed.
On Tuesday, I got to spend the whole day in my dining room with a friend and co-worker from VMware and got some really cool Linux work done. It was actually some really sweet stuff that he did earlier in the year as part of his internship, but part of it got backed out due to Windows build issues. We worked through all of the issues (and found a couple of problems in GlibMM along the way) and he brought me up to speed with the features and implementation details and we did a pretty good job at documenting it all to boot. I can’t say exactly what it is, just yet, but if you’re a fan of VMware’s Unity mode (guest VM windows showing up inside your host, like normal windows instead of being contained inside the guest OS window), this work will make things just that much cooler. I’m working on Unity stuff for our next Workstation and Player releases and I’m hoping we get to include this coolness!
I’ve been using the Logitech VX Revolution Cordless Laser Mouse for a couple of years now and it is extremely cool. The neatest thing about it (other than the fact that it works perfectly in Linux and has a gazillion buttons, and the little storage compartment inside the mouse for the USB dongle) is the scroll wheel. They call it a “hyper-fast scroll wheel” and it is just that–you give it a good flick and it keeps going and going and going… awesome fun and really useful for long documents/web pages. But last week, I saw the Logitech Optical Marble Mouse and after reading all the reviews and talking to a friend who had 5 of them and loved them, I decided to give it a try, and I absolutely love it. It has the same kind of scrolling awesomeness as the VX Revolution wherein you flick it with your fingers and it keeps going much longer than a normal mouse wheel (albeit not nearly as long as the VX), but it also keeps your hand stationary to help prevent or improve RSI problems. It took just a few hours to get used to it after having used a normal rodent for decades, and it is now my favorite mouse. But it does take a little bit of configuring…
Silly me, but I am so used to having to hack things to do my bidding in Linux that I wasted a bunch of hours researching how to get the Marble Mouse to do horizontal and vertical scrolling. You see, the mouse only has 4 buttons, and no scroll wheel, so you use X’s EmulateWheel option and then tell it which mouse button to use (EmulateWheelButton) so that when you hold that button down and move your mouse, instead of moving the mouse cursor, it scrolls in that direction. REALLY cool! It seems, however, that the particulars of how to configure this mouse in X changes with each vesion of X, or at least between distributions. BUT, if you’re using OpenSUSE 11.1 as I am, just use YaST and change one of your mouse definitions to be the “Logitech TrackMan Marble FX (PS/2)” (even though you’re connecting it through USB), and you’ll find that it works beautifully (DOH! Should have tried that first!!!). I set my EmulateWheelButton to “8”, which is the little button on the left side of the mouse. I’m LOVING it! BTW, if you’re using Ubuntu Intrepid, there’s a drastically different way to get this working involving either HAL fdi files or a simple xinput script. Anyway, if you find yourself using this mouse and getting stuck on how to get it to scroll, add a comment to this post and I’ll provide more details.
I also got a chance to spend some time on Ye Olde KPilot this week, which felt really good. Truth be told, it’s darned necessary and scary, since KDE 4.2 is nearing release any day now. But I fixed a bunch of KPilot issues (layout, configure dialog, crashes, sync problems) and even got KPilot to successfully sync my calendar and contacts once. I need to spend some more time this weekend in trying out different sync scenarios to make sure we’re rock solid before the release, but the good news is that contrary to previous versions of KPilot, we’ve tried extra-special-hard to not lose your data. You may find that (right now), we err on the side of giving you Â more data than less, meaning possible duplicates until we get those bugs fixed. So, right now would be a really good time for all you KPilot users (both of them?) to come on out and help us test KPilot. We have about a week to find and fix any problems. =:/ Oh, and I also went through the open Ubuntu KPilot bugs and triaged them a bit too, which felt good.
Along those lines, I actually did get a chance to talk to a couple of KPilot users this week (both of them, I think!!) and look through some problems they were having. I spent a large chunk of time looking into a bizarre problem a Kubuntu KPilot user was having from the Kubuntu 4.2 beta2 packages. Along the way, I learned how to find the kde_plugin_version in one of our .so’s (“gdb foo.so” and then “p kde_plugin_version”), and I added some debugging that should have been there all along anyway in KPilot, so it’s not all bad. But it turns out that the Ubuntu KPilot package is missing libkpilot_akonadibase.so, and so none of the new conduits work. I’ve discussed things with Jonathon Thomas on the Ubuntu bug page and this should be fixed for the next Ubuntu KPilot packages.
Before I started testing KPilot, though, I needed to get my PIM data in order. I’ve been meaning to put my contacts and calendar into Google for a while now, and this was the perfect time to do that. So I found this neat LifeHacker page about using Dropbox and KeePass for synchronizing all your private and important information, and cleaned up my contact information and put everything that could be considered sensitive or important into KeePassX, which is REALLY nice, and I highly recommend it. Excellent functionality, good strong encryption, and a beautiful Qt4 GUI to boot. I’ve not looked into using Dropbox yet, but that’s just an added benefit. After that, it was a simple matter of wasting 3 hours trying to format my kaddressbook-exported-to-csv file into something that Google likes, pulling my hair out, finally giving up in frustration, saving my std.vcf file to a shared drive, opening it up with OS X, importing it into the Mac address book, and then using A to G to create a CSV file and then importing that into Gmail’s contacts. *sigh* What a pain in the butt!! Someone seriously needs to write a Python script for this or something. Honestly.
I also discovered, much to my chagrin, that Firefox and Konqueror both consume ungodly amounts of memory with a 16-meg web page (to the point of exhausting all of my real and virtual memory and crashing X), like the error page I was getting from our internal sandbox compile machine, but Opera handles it beautifully. So I’m using Opera again, quite happily. Oh, and since Google now allows you to customize your Gmail keybindings, I can finally get around the annoyance of “#” not working for “delete”!! I’ve set up “d” for “delete” and now my Opera/Gmail experience is glorious again. Now, if we could just get THEMES in Google Apps For Your Domain, that would be AWESOME!
And in closing, the latest Street Fighter IV videos from shoryuken.com look amazing! I’m going to have to go to GameStop today and plunk down my pre-order money.