Kasperian Moving Parts

kinda like Batman, but with a wife and 3 kids

Monday January 19, 2009
by Jason 'vanRijn' Kasper
0 comments

KPilot 4.2 Progress (woot!)

I spent a crapload of time this weekend, going through all the old and crufty KPilot bugs we’ve done a really horrible job of keeping up-to-date on, and triaged the bejeebers out of the list. I think we had ~ 150+ a few months ago. I went through the last 100 of them individually today, and was able to close out 93 of them, woot! A lot of them were problems that had been fixed in KDE 3.5.x, or had been directly addressed  more recently in our KDE 4.2 work, or had been indirectly fixed via our KDE 4.2 work. A lot of them were also the low-hanging fruit you’d expect with “it don’t work so good” and not much more to go on. But all told, we now have a very clean KPilot bugzilla bucket, with 12 open bugs (of which, 10 are wishlist items). We’re all set for the next onslaught of bugs from the upcoming KDE 4.2 release. =;D

I also did some more sync testing with KPilot today and am quite pleased with the results. Thanks to Bertjan’s excellent GSOC work from the last 2 years, we have a really solid syncing solution, and my confidence in it is only growing stronger, the more testing that I do.

So, with this little memento, and a renewed resolve to not be jealous of all the Camp KDE folks enjoying Jamaica whilst I spent 3 hours, shoveling snow today, I now turn in for the night.

KPilot Bug Fixing Mayhem!

Tuesday January 13, 2009
by Jason 'vanRijn' Kasper
6 Comments

KPilot 4.2 progress

I discovered a nasty little data corruption bug in KPilot last night and have put some fixes in for it just this morning. The good news is that we didn’t lose any data. We just gave you a lot more data. =:) So, if you’re helping to test KPilot for our KDE 4.2 release looming Any Day Now (TM), please update from svn (branches/KDE/4.2/kdepim/kpilot) and test again. There is still one little nasty behavior that I see that I need to find a fix for tonight, though. With our new core conduit design for KDE 4.2, KPilot keeps its Handheld -> PC mappings in its own XML file–one per conduit. This is a Really Good Thing (also TM). However, it seems that we don’t do a 100% perfect job just yet in being rigorous about validating this XML mapping file and when it gets messed up, bad things can happen. So, if you’re hitting weird problems with KPilot from KDE 4.2, try removing the XML mapping file for that particular conduit in ~/.kde/share/apps/kpilot/conduits/<PalmUserName>/mapping and re-syncing. That will force KPilot to do a “first sync” and re-create this mapping from both data sources. I’m not saying that’s a good answer, and I’m going to look at finding a solution for the real problem tonight, but it may come in handy for someone out there who’s seeing weirdness.

Saturday January 10, 2009
by Jason 'vanRijn' Kasper
13 Comments

Random Musings About a Good Week

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.

Monday December 22, 2008
by Jason 'vanRijn' Kasper
10 Comments

OpenSUSE 11.1 and nVidia == AWESOME!!

Stark contrast to my last post, I know, but I felt it was only fair to blog about the wonders of OpenSUSE 11.1, even/especially with my little nVidia chip. First off, I still think there’s something wonky going on with X and/or nVidia’s driver in taking so long to start that kdm ends up giving up and committing hari kari, but my little workaround in extending ServerAttempts and ServerTimeout in kdmrc seems to be at least good enough to keep me from committing hari kari myself. And quite honestly, that’s about as much time as I want to spend on debugging it. =:/

But I updated to the KDE 4.2 beta2 packages again today and am absolutely loving OpenSUSE 11.1. Things are blazingly fast and well-put-together, and best of all, my faith is totally restored in OpenSUSE after I reinstalled from scratch again. So what changed between my last post and now? A few things:

Yesterday when I installed the KDE 4.2 beta2 packages, I also pulled in the unstable Qt45 packages as well. Maybe that caused some harm? *shrug* All I know is today, I didn’t do that and I’m not seeing any problems.

I think I was using my old xorg.conf file (that worked perfectly well in OpenSUSE 11.0, mind you) yesterday, which still had a bunch of tweaks that I added over the last year to get nVidia to play nicely with KDE4. Today, I am just using the default xorg.conf, as written by sax2, and things are REALLY fast and stable. And based on a few comments I’ve seen (hi jospoortvliet!), it’s very likely that this is the true cause of my problems from yesterday. Here’s what my old Screen stanza looked like. Does anyone know exactly which one of these might be causing nVidia to hurl its little guts out in OpenSUSE 11.1 with xorg 7.4?

Section “Screen”
Identifier     “Screen0”
Device         “Device0”
Monitor        “Monitor0”
DefaultDepth    24
Option         “RenderAccel” “True”
Option         “UseEdidFreqs” “False”
Option         “TwinView” “1”
Option         “TwinViewXineramaInfoOrder” “DFP, CRT”
Option         “AddARGBGLXVisuals” “True”
Option         “DisableGLXRootClipping” “True”
Option         “DamageEvents” “True”
Option         “TripleBuffer” “True”
Option         “UseEvents” “True”
Option         “FlatPanelProperties” “DFP: Scaling = Centered; CRT: Scaling = Centered, Dithering = Enabled”
Option         “OnDemandVBlankInterrupts” “True”
Option         “PixmapCacheSize” “2000000”
Option         “AllowSHMPixmaps” “False”
Option         “BackingStore” “True”
Option         “metamodes” “CRT: 1680×1050 +0+0, DFP: 1680×1050 +0+0”
SubSection     “Display”
Depth       24
EndSubSection
EndSection

So, in addition to things being extremely awesome in general in OpenSUSE 11.1, I am totally thrilled to finally be able to use powerdevil (it is REALLY nice!!!), and really happy to finally have working hotplug/usb-drive mounting working in KDE 4.2!!!! (it failed hard in OpenSUSE 11.0 due to some hal permissions problems that I never figured out), and zypper (package management) seems to be even faster in OpenSUSE 11.1. And these are just a few of the things that I’ve noticed in the last couple of hours of X not crashing. =;)

And, of course, KDE 4.2 is continuing to to shape up and look, feel, and perform absolutely marvelously, and OpenSUSE 11.1’s beta2 packages are a great way of testing it out.

As for me, I’m just thankful to have a functional laptop again and I hope to get some good KPilot testing and bug squashing done during the next few days of Christmas vacation.

Merry <almost> Christmas, all, and to the OpenSUSE 11.1 guys, a huge thanks again for the awesome new distro. You guys just plain rock! =:)

Monday December 22, 2008
by Jason 'vanRijn' Kasper
23 Comments

OpenSUSE 11.1 and nVidia?

So, first off, OpenSUSE 11.1 has to be the sweetest, best put together distro, like ever. Really amazing, quality stuff.  The new installer has some excellent improvements, and package management has never felt zippier (zyppier??) However, there are a few problems that I’ve hit that I’m still trying to figure out after 2 days of fun and frolic.

First off, I have a laptop (meaning I cant change the video card) with an nVidia chipset (meaning I’d like to change the video card). So while OpenSUSE 11.1 works really nicely with the open source “nv” video driver, it can’t do any compositing, 3d, OpenGL, etc., etc. (meaning no wobbley windows or cube goodness or translucency or… you get the idea…).  So I followed these nice little 1-click instructions and installed the latest stable nVidia drivers, rebooted, and up came X with nVidia’s drivers quite nicely. So far so good. And then I clicked “logout”. And that’s where things started to fall apart. It looks like what’s happening is that nVidia’s X driver gets killed when logging out and trying to log back in again. I poked around a bit and saw in a log somewhere that kdm was timing out waiting for X and ended up giving up. So I bumped up some values in /usr/share/kde4/config/kdm/kdmrc in the “X-:*-Core” section (Core config for local displays). I changed ServerAttempts to 5 and ServerTimeout to 45, and it seems to help. Mind you, the underlying problem is still there, and X takes a LOOOOONG time to restart with the nVidia drivers, but at least this keeps kdm from failing altogether and me from getting stuck without an X session and an unusable console display (when this happens, and I’ve booted with the default vga= line, the console is totally unusable).

Secondly, one of the main reasons for my sticking with OpenSUSE is its exceptional support for KDE 4.2/trunk packages. So I installed a bunch of stuff from the KDE:KDE4:UNSTABLE:Desktop repository and discovered that X crashes far too randomly and regularly. This, combined with the above problem of X being unable to restart, using the nVidia drivers, made for a lot of ugliness. I reinstalled once already and am a little leery of bringing in the unstable 4.2/trunk packages. And yes, I’m aware that I’m trying to use something labelled quite clearly as “UNSTABLE”, but I’ve been using OpenSUSE’s excellent “UNSTABLE” KDE 4.2/trunk packages for 6+ months now without any problems whatsoever. And it’s been with the same version of the nVidia driver as I am now using. So… it must be something in the new versions of the kernel or xorg packages that’s causing problems? Is anyone else seeing this other than this guy (who never got his questions answered)?

Anyway, I’m going to spend another few days trying to iron things out. If anyone “out there” has any helpful hints or suggestions, I’d really appreciate them via comment. And, yeah, once I figure out what’s going wrong, I’ll look into filing bugs for this stuff…

Sunday December 21, 2008
by Jason 'vanRijn' Kasper
2 Comments

bbkeys 0.9.1 released (5 years later…)

I installed OpenSUSE 11.1 yesterday and there’s some… challenges… that have kept me busy for the last 2 days. But I’ll cover those in a different post…

Most relevant to the title is this: OpenSUSE 11.1 doesn’t come with blackbox or bbkeys, so I set about compiling them myself and hit some problems. Blackbox, of course, compiled and installed just fine from source. Bbkeys (which depends on Blackbox and its libbt.pc) did not fare so well. For starters, there are some includes missing that newer versions of gcc fail on. Luckily, Art Haas and Egon Braun both sent me in a patch (that I regretably have been sitting on for… a long time…) that addresses this. So I submitted it and a patch I found in OpenSUSE’s bbtools SRPM that fixes some string checking tonight and released bbkeys 0.9.1, woot. It felt really good… like old times again… putting a release together of bbkeys. ’twas a nice reminiscence, if nothing else.

The funny thing is… it’s been SO long since I’ve had to think about compiling bbkeys myself, much less coding on it, that there were quite a few cobwebs that I had to clear first before I could get things going. Pretty funny. And, thankfully, it’s been a REALLY long time since I last dealt with CVS that I fumbled around for a bit with some simple stuff (wha? “cvs update -C” instead of “cvs revert”??). And there is a small problem with blackbox’s libbt.pc that I submitted a patch for tonight, that kept me from compiling bbkeys, but after that things went smoothly.

But anyway, it felt good putting a release of my own code out there.

Saturday December 20, 2008
by Jason 'vanRijn' Kasper
1 Comment

Street Fighter IV and Keystone II Look Awesome!

I happened to see this amazing shoryuken.com post that has an awesome video about Keystone II and the next *drool* version *salivate* of the most awesome fighting game ever *slobber*: Street Fighter IV. I was also excited to see my fellow VMwarian, Tom Cannon, in the video. DANG I wish I was back in Cali to at least watch these guys playing!!

Saturday November 29, 2008
by Jason 'vanRijn' Kasper
6 Comments

Cleaning Up (and Remembering) The Old

I hate leaving things on my mental To-Do list, no matter how trivial or stupid they are. But I’ve had it on my mental to do list for like 4 years now to move all of the images I had in /bimages/ and /images/ on my web server to flickr and update the content in my wordpress database appropriately. So this morning, I took a couple of hours and did just this. Only had like 75 posts to edit, so it wasn’t all that bad. But along the way, it was pretty cool getting to see some of the really old pictures I still had in there and have some nice memories come back, such as:

streetfighter-anniversary Dang I was excited about Street Fighter Anniversary Collection. In fact, it’s the reason I bought our Xbox. Now, I’m even more excited about Super Street Fighter II Turbo HD Remix that I’ve spent the last 2 days playing on our PS3. SO much better!

splinterCell-chaosTheory I LOVE the Splinter Cell series, and this brought back memories of a hilarious e-mail exchange with the Ubisoft tech support… Even if you remove the language, you are still shooting people…

opera-8I actually paid good money for an Opera license!!!

omx-rubberband-manThe Office Max “Rubberband Man” commercials are STILL hilarious!

mike_and_the_cupcakes I still really miss my friends from Harrisburg. =:(

Die Phone, Die!I STILL HATE PHONES!

haloI still can’t play Halo or FPS games without getting nauseous and sick, even though I know it’s called something fancy (Ataxia) now. =:/

arcade_stickI’m STILL using my custom street fighter arcade controllers! In fact, I need to make a new one. I want to use all Japanese parts this time (Sanwa, most probably) instead of American (I used all Happ parts in this controller). Also, I need to figure out either where to buy or how to build a better box. The best I’ve EVER seen is Byrdo’s controllers. Dang I wish he was still building them!

ss_20000812_sawfishMy old Sawfish desktop!

ss_20000812_blackboxI STILL love my old Blackbox desktop!! Ooh, look, this is when bbkeys still had a cute little keyhole on-screen presence!

Rembrandt-wmaker-theme-miniGosh, this is ugly, but I was so proud of my WindowMaker theme at the time!

background_menu_plAnother Blackbox desktop of mine, this time showing off the dynamic background-image menu-generating perl script I wrote in action!

Ahh. Anyway, there’s my little trip down memory lane for the week. And now for something completely different….

Friday November 21, 2008
by Jason 'vanRijn' Kasper
24 Comments

Korganizer, Exchange, OWASync, Google Calendar, KPilot

I use KOrganizer to view and manage my personal calendar. My employer uses Microsoft Exchange *spit* for its calendaring solution, so I also have a calendar on the Exchange server that holds all of my work meetings and reminders. I would really like to keep everything on my Google Calendar too, so I can share it with my family. And I sync everything with my Palm so I can carry my schedule with me and get alarms when a meeting is coming up. As an aside, I’d really like to use my Nokia N810 for this instead of my Palm, but alas this is just not there yet, mCalendar notwithstanding.

So my current “solution” involves using OWASync to pull down my Exchange calendar, crontabbed shell scripts plus some KDE ical code to 1-way-merge it into my personal calendar, a constantly-running GCalDaemon that takes it all and merges it in with Google Calendar, and KPilot which does its own merging with my KOrganizer std.ics file. Um. Yuck! This sucks! And there is weirdness that happens betwixt all the moving parts when anything non-standard happens, like updated Exchange meetings, timezone translation, etc., etc. And I’m pretty sure it’s not going to work with KDE4 and Akonadi being that all of this is operating directly on the raw ics files. And I guess that’s the real answer, eventually–Akonadi–however, I don’t believe that all the pieces are there yet. *sigh*

Does anyone have any better solutions for this? The biggest missing pieces seem to be:

  • PIM (Calendar, Contacts, ToDos, Notes) software that syncs with a Linux desktop (or hell, even Google resources directly) for the Nokia N810/Maemo.
  • A KDE bridge for Exchange.
  • A KDE bridge for Google Calendar/Contacts/etc.

*grouse*

Tuesday November 11, 2008
by Jason 'vanRijn' Kasper
37 Comments

KDE 4.2 is flat out going to rock

That’s my prediction. Of course, the truth of the matter is that KDE 4.2 (trunk) flat out rocks today. Seriously. I have never been more excited about the Linux desktop than I am right now. And this, 2+ months out from our actual KDE 4.2 release. I’ve been running OpenSUSE 11 for a couple of months now, and thanks to the awesome nightly/weekly KDE 4.2/trunk packages, I’m thoroughly enjoying pretty-darned-bleeding-edge 4.2/trunk packages, but with half the carbs, and I am loving what I’m seeing! Recent KMail improvements are awesome. Plasma is getting more and more bullet-proof and gorgeous by the week. Kwin just keeps getting more and more stable and purty. Kdevelop4 and Kate are getting some SERIOUSLY cool enhancements and RAD-helping juju. Even our lowly KPilot has been getting some bugzilla lovin’ from yours truly lately, and I’m about half-way through porting the old memofile conduit to our groovy base conduit syncing goodness. Whereas a few months ago, I just could not use KDE4 as my main work environment (gots ta make a living too, don’tcha know!), I have long-since switched and am thrilled with what we have right now. (of course, BIG thanks to the Linux nVidia team for improving their X11 driver!!!)

I can just feel the momentum behind us, can’t you?

If this were a corporation, right about now, you’d expect to see some old dude get up in front of everybody, work himself into a frenzy, run around on stage (“developers, developers, developers”?), and try to get everybody motivated to keep pushing hard at making our software the most awesomest, bestest, most stablest thing you could ever want.

But we’re not a corporation (thank God!!).

And we don’t have an old, sweaty, balding dude to put up on stage and try to whip everybody into being motivated (also, thank God!).

We just have us. And that is the magic of Open Source. It is up to us to keep our momentum going, to not give up, to keep pushing ourselves harder, to keep improving our software stack, to keep squashing bugs, to try to have the best desktop environment possible.

So keep up the awesome work, everybody. You’re doing it right!! =:)