Archive for the ‘Tech’ Category

Migrating data from Palm TX to Nexus One

Friday, February 19th, 2010

I’ve used Palm OS for the past ten years, starting with a stone-age Handspring Visor, continuing with an elegant Sony Clie, and ending with a well designed Palm T|X. The calendar and the address book kept me organized. The failure of the digitizer in my T|X pushed me to find a replacement. I considered the iPhone and Palm Pre, but chose the Nexus One.

Once the Nexus One arrived, my task was to find a way to migrate my calendar, contacts, and passwords.

A coworker recommended GooSync, which he used to move from a Palm TX to a Motorola Cliq. From the description of GooSync, it sounded like neither the free version or the paid version would migrate all ten years of calendar entries over to Google calendar.

Google calendar supports import from an iCalendar file. Palm Desktop doesn’t export into iCalendar format. Jpilot on Linux does, but I found that the format is not compatible with Google’s import. So I synchronized my Palm TX with Evolution on Linux. Evolution’s iCalendar export was compatible with Google’s import.

Palm Desktop didn’t seem to be able to export in a format that Google’s contacts could understand. I used Jpilot on LInux to export each of my categories in vCard format, and imported them into Google one at a time. This worked well.

On Palm, I had used GNU Keyring to store my passwords. Android has KeePassDroid (among others). There was no easy migration path between the two. Jpilot on Linux has a plugin to display my GNU Keyring password entries. I installed KeePassX on my Linux box, and copied and pasted each password from Jpilot into KeePassX. When I finished, I copied the KeePass database onto the Nexus One.

I like the Nexus One. It’s slim, fast, and capable.

Git 1.7.0 released with sparse checkouts

Friday, February 19th, 2010

I saw that Git 1.7.0 has been released. For me, the most interesting feature is “sparse checkouts”, a feature that I use frequently in Subversion.

Working around patent threats

Friday, February 19th, 2010

Andrew Tridgell, author of Samba, says the best way to defend against patents in open source software is to 1. learn how to read patents and 2. learn how to rigorously work around patents

Open Source: Freedom from Anti-features

Friday, February 19th, 2010

It’s good to remember that a benefit of open source software is freedom from anti-features. The wiki (the second link) has examples of anti-features. E.g. I wasn’t aware of the Vista anti-feature where it slows down network connections when it detects any sound playing.

f-spot and sqlite

Friday, January 1st, 2010

I recently tried using Linux f-spot, with the intent to make it easier to browse, manipulate, manage and publish my photos. I wanted f-spot to manage my photo screen saver as well. f-spot seems to be good at importing photos, but getting photos removed is a bit more difficult.

I organize my photos by date an a directory structure such as “2010/2010.01.01 New Years Day”. The “2010″ directory contains several sub directories. Each sub directory consists of a date and a description. If, for some reason, I import photos into f-spot that I don’t want in its database, I know what directory the photos pertain to. Unfortunately, F-spot doesn’t allow me to remove photos from its catalog by filename or file path. That’s okay though, because it stores its database using sqlite.

I figured this out by running lsof -p pid-of-f-spot, and noticed a file descriptor opened to “/home/jared/.config/f-spot/photos.db”. Then I ran file ~/.config/f-spot/photos.db and it helpfully told me that it is a “SQLite 3.x database”.

After a bit of google research, I figured out I could install a SQLite manager on my Fedora system: yum install -y sqliteman, followed by running sqliteman ~/.config/f-spot/photos.db. I was expecting to see a command-line client, but to my surprise, I found a pleasant graphical interface. It was simple to browse the table schema and to run queries to update and morph the f-spot photo database. Note: I’d recommend making a backup copy of the database before altering it.

F-spot may not be everything I want it to be, but I managed to work past its limitations due to the fact that it used a well known, open data storage format.

Minimizing tracing/instrumentation overhead, injectso

Monday, December 21st, 2009

Reading these articles from lwn.net: Minimizing instrumentation impacts and Debugging the Kernel using Ftrace, reminded me of Microsoft detours and Linux injectso (updated to work with current glibc, kernels).

Modern bug trackers

Thursday, October 15th, 2009

Five years ago, I started a new job and encountered the JIRA bug tracking system, after having been subject to pathetic bug tracking systems at previous companies. JIRA knocked their socks off in terms of ease-of-use and multi-platform support (it runs in a web browser). I’ve been a pleased JIRA user ever since. Recently, I stumbled on this article about what’s new in some of the best quality bug tracking systems on the market.

Bug (issue) tracking systems have become a standard tool for any organization that develops software and have evolved greatly in the last years. InfoQ has conducted a virtual panel with people from JIRA, FogBugz, Basecamp and MantisBT about this evolution and the future developments in this field.

The virtual panel discusses integration with IDEs, project planning, story-boarding, and social networking integration.

Read more…

Safety from patent threats via membership in OIN?

Thursday, October 15th, 2009

Here’s an article that I think is worth reading. It details how the Open Invention Network (OIN) keeps open source software safe from patent threats. It also explains about patent troll companies and their financial motives. It sounds like it’s worthwhile for companies that rely on OSS to become affiliated with OIN.

http://lwn.net/Articles/353823/

Bergelt described Microsoft’s patent suit against TomTom as being a part of the software giant’s “totem strategy”. By getting various companies to settle patent suits over particular patents, Microsoft can erect (virtual) totem poles in Redmond, creating a “presumption of patent relevance”. According to Bergelt, Microsoft tends to attack those who try to create parity with it in some area, which TomTom did…. But, Microsoft was surprised to find that TomTom had allies in the form of OIN and others. Originally, Microsoft had asked for an “astronomical” sum to settle the suit, but after TomTom joined OIN and countersued Microsoft, the settlement number became much smaller.

OIN was started by six companies: Sony, IBM, NEC, Red Hat, Philips, and Novell.

Best technologies and productivity

Thursday, October 15th, 2009

I tend to wonder about the “best” technologies for a given problem. Recently, I’ve wondered why Wicket is reportedly better than Java Server Faces (though I’m using neither). Perhaps it’s human nature to look for the Next Big Thing or for silver bullet solutions that supposedly increase productivity while offering robust features.

Here’s a blog post that ponders whether a new framework or a programming language can really offer better productivity benefits over an ocean full of alternatives. The author asserts that the real time cost on a project is not in writing code, but in the following activities:

  • Communication
  • Understanding preexisting code
  • Debugging
  • Refactoring

Tools or languages that make any of those activities easier are to be coveted. Java refactoring tools outshine those available for Grails. Java is easier to read and comprehend than terse bash scripting. Some frameworks/platforms make debugging easier than others.

Using rsync with SELinux

Friday, September 18th, 2009

Last week, I needed to move /home from one Fedora computer to another, and I used rsync over ssh move the data.

On the new system, I noticed that procmail didn’t seem to be working, and neither did Dovecot. Nor could apache serve up my files. This had all been working on my previous Fedora system, which was running SELinux, as was my new system. What had happened?

I hadn’t told rsync to bring across the SELinux file contexts, which are stored in extended attributes. Here is the rsync option I should have used:

-X, --xattrs

I could have used ‘tar’ to move my home directory as well. In that case, I would have needed one of the following options: --selinux or --xattrs

I resolved my SELinux issues using the excellent SETroubleShoot, which explained what commands to run to restore the proper SELinux contexts on various files.

SELinux requires time to tune, and I use it because it enhances the security of my linux system, which serves up content over HTTP (Apache), IMAP (dovecot) and CIFS (Samba).