Still alive; kpilot memofile conduit coming along nicely

I should have known better, but I dove straight into code with my kpilot memofile conduit. To be fair, I had no clue about kpilot’s code base or classes, so it wasn’t a waste of time or anything. It was necessary, and now I have a decent understanding of how things work within kpilot. But I reached a point in my conduit where the code needed to be designed/architected, not just thrown in, so I took a break from coding for a day and looked at design. I used umbrello (kde’s UML tool), and it does a fairly nice job. My only complaint is that it doesn’t do live round trip code syncing/generation, but I due to the fact that both Poseidon and Visual Paradigm for UML don’t offer that either with their free versions, I suppose I shouldn’t complain. I don’t suppose anyone knows of a good UML tool that does live round-trip well with C++???

Anyway, I sketched out on paper 4 sequence diagrams, one for copyHHToPC, copyPCToHH, a common initialization diagram, and HotSync. I then used umbrello to import the single memofileconduit-action.h, and from there, generated a class diagram and from that class diagram created 2 new classes. Umbrello allowed me to create the attributes and operations in my class diagram that I had created on my sequence diagrams. Since it doesn’t do live round trip, though, I just had it generate code for the 2 new classes so that it didn’t touch my existing conduit class. And now, it’s just a matter of moving the code from my conduit class into the 2 new classes and writing the code for the necessary methods. =:)

If you’ve used RUP at all, you know this already, but using their methodology makes coding SO much easier. I love it because it cleanly separates the intelligent design of software from the implementation/coding of it, making sure that both get done more cleanly, better, and most probably only once to be done right. I’ll get off my soap-box now, I suppose.

I need to come back and put my sequence diagrams into a UML tool (probably umbrello) when I’m done flushing them out. I’ll likely export them to JPEGs and include both the JPEGs and XMI file in the source code for my kpilot memofile conduit so that at the least, they will make the flow of the program easier to understand and maintain.

Not a bad weekend, then. =:)

Stage two of memofile conduit: check!

I actually had this done 3 days ago, but forgot to say so….

My kpilot memofile conduit now copies and saves all memos from my Palm (Clie) to a selected directory as files, the same way gnome-pilot’s memofile conduit does.

That is all.

Happy Thanksgiving (or) On your mark, get set, go

Happy Thanksgiving, all in America. I wonder if anyone even thinks about what Thanksgiving was originally intended to be anymore?

For many, Thanksgiving is all about getting ready for Black Friday. Heck, I can’t claim to be unaffected by this myself, honestly. =:) If anything, I was pretty caught up in the excitement of trying to get a sneak peek at the deals before they came out. =:) But, now that they have come out, and I’ve spent a couple of hours looking through the advertisements that landed in my driveway, cleverly disguised as the morning newspaper, I think it’s all kind of silly.

That’s not to say that we of the Kasper clan won’t be venturing out tomorrow morning at the ungodly hour of 6:00 a.m., to try our first attempt at navigating through the dreaded Black Friday rush. =:D

But it does give me pause to think that perhaps we as the American people have completely lost touch with reality.

Now go eat yer Turkey….

Stage one of KPilot memofile conduit: check

Woot! After a late-night hacking session (well, I must be getting older… 12-midnight is now “late-night”!!!), my KPIlot memofile conduit:

- shows up in Kpilot’s config dialog
- accesses the MemoDB database
- lists all memos in all categories

Coming along nicely…. =:) Next: understand gnome-pilot-conduits’ memofile.

Ooh–nice surprises with KMail

I just noticed also that KMail’s next/previous message keys are Right/Left Arrow, whilst Up/Down Arrows ALWAYS scroll the message. THIS MAKES TONS OF SENSE!!! I always hated in Evolution how if you hit the Up arrow while the message list is focused, you go to the previous message. In other words, you either had the message pane selected and up/down moved between messages, or you had the message preview pane selected and up/down scrolled the message. This makes kmail tons more user-friendly, IMO!! Nice thinking, kmail guys!! Also, the fact that you can configure your keyboard shortcuts in KMail (in ANY KDE application) is WAY more user-friendly than Gnome’s model which doesn’t let you do this without becoming root, searching through XML files, etc., and editting the XML files by hand to change the keyboard shortcuts. KDE even allows you to have more than one shortcut assigned to a given action. See, little things like this have always made KDE more user-friendly to me.

Awesome job, KDE guys!! =:)

Introducing… a memofile conduit for KPilot

So, the Knotes conduit in Kpilot doesn’t work for me, and several others. After talking with Adriaan de Groot for a while yesterday, I’ve come to the following conclusions:

  1. Knotes is not the right application to be syncing a Palm’s memos with. It doesn’t know anything about categories, etc.
  2. KJots is close, but that’s still not right either.
  3. There is no correct memo editor for KDE yet, that is designed to cater to the things that a Palm’s MemoDB provides.

So, after discussing these with Adriaan, I’m going to break out my coding lederhosen and create a Directory/Filesystem-based memofile conduit for KPilot so that I can start syncing my notes again. =:) My goals:

  1. Understand enough about KPilot’s internals to be dangerous.
  2. Understand enough about gnome-pilot-conduits’ memofile to be dangerous.
  3. Port/recode gnome-pilot-conduits’ memofile to a KPilot conduit.
  4. Look at the design of the new MemofileConduit after it’s working in KPilot and see if redesign/cleanup is needed.

Progress:

- I now have a displaying/functioning-but-not-doing-anything-useful-yet Memofile conduit in my local KPilot code. =:)

Using KDE now

me, sort of So, I have just come out of a self-imposed exile from KDE (you remember them, right? the team that wrote KHTML–the HTML rendering engine that Apple uses?). A while ago, a friend of mine challenged my manhood by saying that Gnome had everything I wanted if only I would get used to it.

I’d been using KDE as my Desktop environment previously to this exile for a good couple of years. The problem was that, then, the applications that I need/use most (web browser, PIM/e-mail application, IM client, IRC client) were VERY weak in KDE’s side of the court. KMail/KOrganizer/Kab/etc. just were not as polished and functional as their Gnome counterparts (Evolution, Gaim, etc.). So I used KDE as my desktop, but used mostly Gnome/GTK apps inside of it. And I was happy. =:)

But then, as I said, my friend laughed at me and called me names for using more memory, etc., etc. So I fell for it and insisted on putting up with Gnome’s lack of configurability, quirks, etc., etc., and I was reasonably happy for a good 6 months or so.

Then boredom kicked in, and I felt the itch to try KDE 3.3.1 out, having not used it in a long time. And let me just say, WOW. The KDE guys have always impressed me with their software, and they have definitely done an outstanding job. I’m not sure whether the majority of the credit should go to the KDE team or Fedora’s KDE packagers, but this is one solid desktop. It is every bit as (if not more) snappy as Gnome is, and I really appreciate the configurability in KDE. I guess that’s either a love-it or hate-it thing, by the way. Most of the negative comments I’ve seen about KDE are centered around the argument that it is too configurable, with too many options. Well, to that I say a pre-emptive “SSHHHH”. (Oh–and by the way, show me where you can configure your mouse cursor in Gnome again? Oh yeah, that’s right, you can’t…. You have to do it yourself or download gcursor, whereas KDE has allowed you to do this for the last year….) KDE just feels much better than Gnome to me. Leave it at that and check your weapons at the door–I’m not interested in a holy war today.

Anyway, where I was going with this was…. The applications in KDE have finally gotten to where I can use them!! =:) Heh. Here’s a short list of the apps that I’m using/not using and why. My goal, by the way, was to use ONLY KDE apps–to give them all a fair trial. I’ll likely update this post as I work with/through some of these things.

  • Kopete is an AMAZING piece of work! It is REALLY solid-feeling, with many nice touches (like the buddy list animations!!). My only complaint with it is that it doesn’t handle proxy connections. I have 2 accounts (jabber and MSN) that I have to go through a proxy to be able to connect to, and without the ability to do that, I have to use Gaim for the time being–not that Gaim is bad in any way–it’s VERY good. It just means that I can’t use only KDE apps.
  • Kmail/Korganizer/Kaddressbook/Kontact : WOW! Awesome job guys!! This is really quite solid now. And KMail actually does a much nicer job of displaying the meeting requests than evolution’s frame-within-a-frame approach!! And Korganizer’s interface is cleaner IMO than Evolution’s is. Little things count here, like being able to drag/drop an appointment from one day to another in week view.

    My main complaints are around little quirks, such as:

    • Group scheduling : it takes far more to schedule an appointment in KMail/Korganizer than it does in Evolution. I would LOVE to see this get easier and simpler for the user. Evolution does this very well, IMO.
    • Related to the above : accepting incoming meeting requests don’t seem to work. I got one from my friend the other day, sent from an Outlook mail client, and Kmail displayed the meeting request correctly, with “Accept” and “Decline” links at the bottom of the e-mail, but clicking “Accept” did not either reply to the sender, nor did it place the appointment in my calendar. Slightly disappointing. On the good side, though, sending requests finally works correctly!! =:)
  • KPilot : I use my Palm to hold the right half of my brain (and so that I don’t have to carry an organizer around, etc.), so integration between my Palm and my PIM is absolutely essential. A couple of years ago, KPilot was light-years behind gnome-pilot, honestly. Its interface was clunky, its kpilotDaemon didn’t work correctly, and its conduits didn’t work correctly. It was simply not useable. BUT NOW, WOW! Its interface is way better than gnome-pilot’s, its conduits work as good if not better than gnome-pilot’s/evolution’s (I have had many problems with evolution 2.0.x’s conduits). But KPilot’s address book and calendar conduits have not failed me yet. My only complaint with KPilot is that it does not have a reliable MemoPad conduit. The KNotes conduit doesn’t work for me (and several others, apparently). So I’m going to pull on my coding lederhosen and create a new conduit for KPilot that works the same way that gnome-pilot-conduits’ memofile does. But more about this in another post….
  • Integration between all applications (KMail, as a good example) and the underlying DE : MUCH better in KDE than in gnome, IMO. KDE has always done this better than Gnome. Gnome 2.8 is a HUGE improvement in this area, but it is still way too difficult to open something that the DE doesn’t know about in Gnome. KDE makes this so simple that it’s a pleasure to deal with. In Evolution, if you get an e-mail that has an odd attachment that it doesn’t know how to handle, your only choice is “save as”. Yuck. With KMail/any KDE application, you simply right-click and say “open with…”. =:) And KDE remembers your choice if you want it to so you don’t have to do that again. =:) Silky smooth.
  • I’m using Beep media player (a gtk2 port of xmms, which is WAY nicer already than xmms) instead of a native KDE music app. I honestly do want to use a KDE app for my music, but Fedora has chosen to not allow any KDE apps to be able to handle the mp3 format. I understand why, and that’s a different issue. But the problem is that whereas with Gnome apps, one is able to remedy this pretty easily by downloading gstreamer-plugins-mp3, I haven’t found an equivalent method for getting KDE apps to handle mp3’s, short of recompiling KDE, which I’m not aching to do right yet. Anyone know how to fix this??
  • Kdevelop : WOW, this has really gotten good!!! I am amazed at how much they’e done with it. If I could just figure out how to get it to do code insight like JBuilder does, I’d actually pay money for this!

Anyway, like I said, KDE is a REALLY solid environment. I am using Opera for my web browsing (7.60 P3 for Linux just plain kicks butt, and its developers are REALLY responsive on the opera-linux mailing list!!), Kontact/Kmail/Korganizer for my PIM, KPilot for my Pilot, and Gaim and beep media player are my only 2 GTK/Gnome apps at this point. =:)

Back to work with you now….

Abject silliness, whether you need it or not

ash and me, silly as all get-out So this time, I took my little Ashleigh to the toy store to spend her gift card so graciously given her by her thoughtful Aunt and nephews (Hi Jen, Elijah, Nate!!). And… wouldn’t you know it… there sat that same, dejected, all-alone-looking instant photo booth again. So we punished it with our silliness.

That is why it’s there, you know….

The big one here

Your use of this service has been blocked by Artemis

In case anyone else in this world gets this error message, having found themselves in the same position as me, wherein said individual is using a Linksys WRT54GS wireless router, has a Linux box behind it, running fetchmail from one’s house, through said Linksys router, and has purchased Linksys’s Parental Control feature to protect one’s home, children, self, wife, and pets….

Apparently “Your use of this service has been blocked by Artemis” is Linksys’s way of saying “hey, you’re not logged in, silly person.”

Fetchmail on the other hand, tells it to you like this:

fetchmail: Query status=3 (AUTHFAIL)
fetchmail: Your use of this service has been blocked by Artemis.

After an hour of some pleasant conversation with Linksys technical support, I tried logging out of Linksys’s Parental Control, through the computer that was getting this error about Artemis, and then logging in again, and magically, the error messages about Artemis do not show up anymore.

Whew. Let me tell you, I was pretty panicked at first, seeing this error message. I was sure that I’d been hacked and that my little Linux box had caught a nasty bug called Artemis.

Message to Linksys peoples: maybe it might make sense to word this as “Your use of this service has been blocked by the Linksys Parental Control monster, since you are not logged in or something. Please log out of Parental Control and log in again. All your base are belong to us.”

Now… back to work with you.

Installing Fedora Linux using a USB thumbdrive

This is the coolest thing since sliced mustard, just let me tell you!! =:) I spent more time trying to figure out how to do it than actually doing it. As it turns out, Fedora gives you a disk image for precisely this reason.

It turned out like this then….

1) Search Google for a good hour at least, trying to find any references to anyone else doing this.
2) Failing at #1, search for something obscure and find a link to a README for something else which mentions that the diskboot.img is intended to be used for USB thumb drives, etc., and that one should download it instead of boot.iso for this purpose and use dd to get it onto one’s USB drive. Note–I cannot find this README now, nor is it in the Fedora/images/ directory where one might think it would be.
3) Download the current diskboot.img file (link for Fedora Core 3–the most current release as of this posting).
4) run “dd if=diskboot.img of=/dev/sda” from a terminal/console.

Then it simply a matter of getting your BIOS to allow you to boot from a USB device. For me and my IBM A31 laptop, I had to enable BIOS USB or some-such, and then move the detected USB drive above my main hard drive in the boot order.

Cool stuff!! Allowed me to pretty painlessly (after I figured out how to do it, exactly) do a network install of the latest Fedora Core release.

One last tidbit… At the boot prompt screen from the diskboot.img, I use “linux xfs askmethod” to be able to install via Network and to be able to use XFS as my filesystem.

Okay, bye.