Getting the PalmPilot to (not) work in OpenSUSE 11.3

A while ago, I wrote about my challenges in getting my Palm to work in Ubuntu Jaunty. The challenges in OpenSUSE are different and more intractable.

A chief cause appears to be the fact that with the udev file system, the serial port attached to the Palm only shows up when the serial port is actually activated on the Palm itself – such as when the HotSync button is pushed. Until then, the device file does not exist.

What’s more, after the process is complete, the device file disappears completely. Beyond that, in this case, there are not one but two serial ports created for the Palm Pilot. It turns out that the second of these is the appropriate one to use – but I’ve not been able to confirm this.

All of the documentation on using udev and creating udev rules appears to be obsolete in one form or another:

  • The BUS parameter is obsolete; use SUBSYSTEM instead.
  • The SYSFS parameter is obsolete; use ATTR instead.
  • Comparisons now use a double equals (‘==’) instead of a single (‘=’).
  • The NAME="%k" parameter is now flagged as invalid.
  • The commands udevtest and udevinfo do not exist; use udevadm instead.

There also does not seem to be any descriptions on how to debug the rules. There is no way to test a specific rule and see what was matched (or not matched) and why. Logging can be increased but it will not tell you why a rule did not match.

In all, writing a udev rule (added to /etc/udev/rules.d) is not for the faint of heart, and you could very well be writing your own documentation as you go, as the documentation on the web and in the kernel tree will be insufficient.

The best (but woefully out of date) source is a document by Daniel Drake in 2006 – five years ago now. Linux Magazine had a nice introduction (PDF) back in October of 2006 – although udev has changed, the introduction is just as valid now as it was then.

Way back in November 2004, Craig Clasohm wrote an article on getting a Palm device to work with Fedora Core 3. Fedora is now at version 14, seven years later, and people are still leaving comments and questions on Craig’s article.

There are many different descriptions on how to make Palms work with Linux – including almost every release and version you can think of all the way up to the current day. One of the most in depth for Ubuntu is this one in the Ubuntu community documentation; for OpenSUSE there is this thread in the technical forums.

What does it take to make Palms work with Linux straight out of the box? It should not be this hard!

Lessons in Communications and Reliability Learned from Egypt

You may have already heard about what has been happening in Egypt. If not, the Arab media source Al Jazeera has a dedicated page on the topic. You can watch a live Twitter stream from Twitterfall.

As a part of what is happening in Egypt, Internet access in the country was disrupted and blocked, and cell phone service was halted. In particular, DNS servers were shut down or blocked, and web sites such as Facebook and Twitter were blocked completely. The majority of Egyptian ISPs shut down as well, effectively removing all access to the Internet to Egyptian citizens.

Here are some of the resolutions to these problems that Egyptians found:

  • Broadcast access to Internet via open wireless access points. With wireless access points set up, only one person needs to set up the Internet in order for dozens to receive it. At least one ISP in Egypt remained up (due to government and bank usage) – providing an open hot spot expanded
  • Use gateways and proxies to reach forbidden web sites. Routing traffic to other sites – sites that aren’t blocked – permits access to the blocked sites. This is a form of “forced routing” that goes around censorship.
  • Use alternate DNS servers or IP addresses or both. There are public DNS servers available to all such as Google and OpenDNS; if DNS is down one can switch to these if you know how – and use IP addresses if you don’t.
  • Use out-of-country dialup services. Several ISPs gave out public access to their dialup services for Egyptian citizens to reach the outside.
  • Use non-internet-based methods of communication. In Egypt, there were printed leaflets, as well as amateur radio. When communication via the Internet is out, there are alternatives.

There is a web page that details all the possibilities for getting communication out of Egypt.

If you can handle a man-made disaster – such as the cutoff of Egypt from the Internet, or the dismantling of the Wikileaks technical structure – then natural disasters seem pale by comparison.

We’ll pray for safety and recovery in Egypt.

Converting VOC Audio Files from Digital Recorders

The VOC file format is already not a common format, and it can be difficult to find players for VOC files. RCA went one step further: the VOC files generated by RCA digital recorders are not recognized as the original standard VOC format created by Creative Labs. One of the problems people experience with the RCA format is that none of the multimedia players will play them – and virtually none provide any useful information about the actual cause of the failure.

There is a utility available from Dave Coffin (devoc – with source) which will convert VOC files to 16-bit uncompressed WAV files. The conversion can also be done online, driven by Dave’s utility devoc.

Using devoc takes a little more work than just installing a program (unless you are using Windows – there is a binary available for Windows). These steps should get you a working binary in Linux or other UNIX environment:

wget http://www.cybercom.net/~dcoffin/rca/devoc.c
gcc -o devoc devoc.c
sudo cp devoc /usr/local/bin
devoc -p myaudio.voc

It may also be necessary to make sure that Sound Exchange (or SoX) is installed before running gcc.

Alternately, if you have the RCA software installed (in Windows only, of course) then the software can be used to convert to a different format. Unfortunately, the conversion is performed on a single file at a time – but if you’ve only a few VOC files, this would work just fine.

If you want the UNIX utility file to recognize the VOC file format, add these lines to /usr/share/file/magic:

0 string Creative\ Voice\ File VOC audio file (Creative Labs format)
6 string _VOC_Filex VOC audio file (proprietary RCA format)

To activate the changes, do:

file -C -m /usr/share/magic

An example run then gives you this:

$ file *VOC
A0000052.VOC: VOC audio file (proprietary RCA format)

Why isn’t the RCA VOC format recognized and played or converted by generally available open source tools? Who knows?

Want to avoid these problems? Get a different recorder that supports MP3 or WAV or WMA; there is a decent review of USB-based digital recorders at HubPages.

No matter which one you get – be sure to review your notes daily and put the todos into your system.

Disposable Mail Addresses (and Finding Alternatives)

Trashmail.net went pay-only (because of spammer abuse!) last summer, and I only discovered it recently as I don’t use these services all that much. During the search for alternatives, I found new ways to search for alternatives.

The service AlternativeTo has always been a good place to go for desktop software alternatives; now they include mobile platforms and online applications as well. The list of alternatives to TrashMail is extensive and interesting.

The other interesting item is Google’s related: operator. This can be used during searches, but at the bottom of a search there may be a link to sites similar to the one searched for. In the case of Trashmail.net, Google returns a lot of alternatives.

As an ironic twist, consider this: Google has a list of sites similar to AlternativesTo.net.

ServerFault Revisited: It’s Not Just About Servers Anymore…

I’ve mentioned ServerFault in the past: ServerFault is a web site dedicated to questions and answers about server administration. About the same time, the companion site StackOverflow was created, dedicated to programming questions and answers.

This group of questions and answers (Q&A) sites has grown incredibly, and now covers a wide array of topics. These sites all have similar capabilities and appearance, but have different (and beautiful!) design. Here are some of the current crop of topics/sites available from the brains behind ServerFault (otherwise known as StackExchange):

This is only a few; there are many more, including a Q&A site dedicated to creating new sites by user request (this is Area 51). Some of the current suggestions (in no particular order) include Q&A sites on: Emacs, Running, Japanese, Exercise and Fitness, Books, Government, Politics, Military, and many more!

So why not give the StackExchange sites a try? You’ll learn new things, teach others, and gain a reputation for knowledge in your areas of expertise.

I’m not attached to or beholden to StackExchange in any way except as a satisfied user of ServerFault and others.

A Statistical Analysis of Android Issues

I was recently researching an issue with Android phones – the oft-requested ability to record a phone call – and found that this has been an issue in Android since March of 2009 and remains classified as “New.” In fact, most of the issues in the top 1000 (according to users) remains classified as new and has not been allocated to any developers.

Thus, I started wondering about the various Android issues and their relative importance to users and developers. I downloaded the list of the top 1000 issues (in CSV format) – according to the number of stars – and analyzed these results.

Here is what I found out:

  • 63% of issues are more than one year old (12% of issues are over two years old!)
  • 86% of issues are listed as “new” (instead of “assigned” or “needsinfo” or others)
  • 10% of issues are assigned to a person
  • Average age of issues is 431 days (1 year, 2 months)
  • Average defect age is 457 days (1 year, 3 months)
  • Average enhancement request age is 543 days (1 year, 6 months)
  • Reviewed items were the oldest on average, with reviewed defects at 550 days and reviewed enhancements at 749 days.

When you rank the items by the number of stars (user importance) per day (age) some very interesting things come out. The most important issues in this ranking are the following:

  1. Change refund time in Android Market (issue #13116) – 32 days old
  2. Arabic Language Support (issue #5597) – 386 days old
  3. Nexus S reboots during an active call (issue #13674) – 8 days old
  4. Ability to limit Internet access (issue #10481) – 149 days old
  5. IPSEC VPN compatible with Cisco VPNs (issue #3902) – 484 days old
  6. Poor browser performance (issue #13404) – 19 days old
  7. Google Docs support on Android (issue #1865) – 714 days old

These items show one of two things – probably both – that either what users think is important is irrelevant to Google, or alternately, that the items are acted on and the issues tracking list ignored. People commenting on the issues are routinely asking where the Google responses are.

Another interesting item came up during statistical analysis: not one item (in the top 1000) which was listed as requested by a user or by a developer was listed with a status of Assigned or with a status of Reviewed. There were other items, but these were not listed as requested by either a user or a developer – and many of these were assigned or reviewed (or, indeed, Unassigned). I can only guess at the true meaning of this; it suggests that Google only acts when an issue comes from within Google.

In all, this statistical exercise would have been much more exciting if it weren’t for the disappointing results. I did check the main page to see if Google’s main page for Android in Google Code was obsolete; no such statement was anywhere to be found.

Statistical Analysis is Valuable for Understanding

In System Administration – and many other areas – statistics can assist us in understanding the real meaning hidden in data. There are many places that statistical data can be gathered and analyzed, including from sar data and custom designed scripts in Perl or Ruby or Java.

How about the number of processes, when they are started, when they finish, and how much processor time they take over the length of time they operate? Programs like HP’s Performance Agent (now included in most HP-UX operating environments) and SGI’s fabulous Performance CoPilot can help here. In fact, products like these (and PCP in particular) can gather incredibly valuable sorts of data. For example, how much time does each disk spend above a certain amount of writing, and when? How much time does each CPU spend above 80% utilization and when?

Using statistical data from a system could, with the proper programming, be fed back into a learning neural network or a bayesian network and provide a method of providing alarms for stastically unlikely events.

There are other areas where statistical analysis can provide useful data than just performance. How about measuring the difference between a standard image and a golden image based on packages used? How about analyzing the number of users that use a system, when they use it, and for how long? (Side note: I had a system once that had 20 or 30 users that each used the system heavily for one straight week or two in every six months… managing password aging was a nightmare…)

There are many places for analyzing a system and providing statistical data; this capability, however, has not been utilized appropriately. So what are you waiting for?

Follow

Get every new post delivered to your Inbox.

Join 39 other followers