After upgrading to Fedora Core 2, I’ve been generally happy with it. I decided to give my HP ScanJet 5p SCSI scanner a shot. I start GIMP 2.0 (nice by the way), and choose “Acquire -> XSane: Device dialog…”. The result is “no devices available”.
ARGH! This is yet another issue with Linux compared with Windows. Linux recognizes my scanner since it it is displayed by dmesg.
Vendor: HP Model: C5110A Rev: 3638 Type: Processor ANSI SCSI revision: 02
This is odd. So I run xsane from the command line and still the same result. Su to root and run xsane, it finds my scanner. Bingo! Permisions problem. I do:
chmod 666 /dev/sg0
Restart GIMP, and viola, I can scan. Again, from a user’s point of view, I shouldn’t have to do this. It should be automatic or during installation I should be asked “Allow non-root to use scanner?” Personally everyone should be able to use the scanner, so it should’ve been setup correctly by default.
Late last week, while using my Yamaha CRW2100S (SCSI) drive, I started getting SCSI bus errors, like the following ones:
May 30 15:54:00 firebird kernel: Current sr: sense key Hardware Error May 30 15:54:00 firebird kernel: Additional sense: Track following error May 30 15:54:00 firebird kernel: sym0:3:0: ABORT operation started. May 30 15:54:00 firebird kernel: sym0:3:0: ABORT operation failed. May 30 15:54:00 firebird kernel: sym0:3:0: DEVICE RESET operation started. May 30 15:54:00 firebird kernel: sym0:3:0: DEVICE RESET operation complete. May 30 15:54:00 firebird kernel: sym0:3:control msgout: c. May 30 15:54:00 firebird kernel: sym0: TARGET 3 has been reset.
Needless to say I was disappointed. Several Google searches for the above error pointed to two things:
1) SCSI bus termination problems
2) Drive going bad
Having figured out the termination many months ago, I ruled that out. But just to make 100% sure, I opened up the case and checked to ensure nothing came loose. Every thing checked out ok. The external zip drive was terminated as was the internal 50-pin cable (with active terminator). The 68 pin side was terminated at the card and the active terminator at the end of the cable. The termination was ok.
After checking the termination I reboot the machine to see what else I can diagnose. Then,’
“Hey what’s that weird @$$ whining noise?” CRAP! CDRW spinning with no disc in it going at all speeds. ARGH! Sure enough the drive is toast.
Now my dilemna is that there aren’t any good SCSI CDRW’s out there anymore. I looked on eBay and no one’s selling a used 2100S or 2200S. This is starting to sound like I’ll need a new IDE drive which I dread because I became a SCSI ho several years ago.
I’ll continue my quest for a SCSI CDRW or just bite the bullet and get a kick @$$ DVDRW
Here are a few I’d consider buying:
If I had my P4 machine with SATA, I’d just ditch the SCSI drives and get all new SATA drives.
Oh well, C’est la vie!
I was a bit concerned with Eclipse’s startup performance. It was taking 12 seconds to start up on a machine with dual XEON’s a gig of RAM running Red Hat Enterprise Linux (RHEL). I started digging. I came across a blog which had the following parameters:
-vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M
-XX:MaxNewSize=32M -XX:NewSize=32M -Xmx160m -Xms160m
Using these parameters my startup went down to 6 seconds!
Determined to sync my new Clié, when I got home, I booted up my crusty Windows XP partition. Installed the Sony Clié software. I did a Hotsync, and installed two trial games. Worked great. Say what you will about Windows, it definitely has a leg up on Linux.
Now that I’ve successfully synced my PDA, I decided to boot Fedora Core 2 to try my luck. Hopefully, I fair better than I did with RHEL 3.
I tried using gnome-pilot, filled in /dev/pilot as the port, and click on USB. I then click the Forward button, and chose “Yes, I’ve used sync software with this pilot before.”, and clicked Forward again. I pressed the Hotsync button on my PDA, and gnome-pilot sits there. No activity. I waited until the Sony timed out.
So I remember reading somewhere that if gnome-pilot doesn’t work use pilot-xfer.
As me (not root), I try
. Hmm. so /dev/pilot doesn’t exist. I remember that I didn’t run /sbin/modprobe (from my experience with RHEL). So I su to root, run
Then I look at /var/log/messages and notice the following message:
May 25 22:48:38 firebird kernel: usb 1-2: Handspring Visor / Palm OS converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
Lightbulb! Ok I run
pilot-xfer -p /dev/ttyUSB0 -l
as me again. Tells me I need to chmod 0666 /dev/ttyUSB0. ARGH! I become root and do as stated. Now as me again, I re-run pilot-xfer. BINGO! Success! I get back the list of items on my Sony Clié. So I take it a step further,
pilot-xfer -p /dev/ttyUSB0 -backup /home/jmrodri/palm
and I have 75 file files (.prc & .pdb). Now we’re rockin’ and rollin’.
WHEW! That was tiring. Ok let’s see if we can get gnome-pilot to work now that we know to use /dev/ttyUSB0. And again, it sits there. So I’m going to guess that gnome-pilot sucks At least pilot-xfer works. I’ll keep toying around with it until I’m satisfied.
In general Linux has potential, but it is still years behind Windows in usability. The fact that I had to deal with the /dev file system (which a normal user should not have to worry about) and use a command line application to sync my PDA, is beyond a regular desktop user. Hopefully, Red Hat Desktop has the ability to sync with PDAs, and other consumer (and business) devices, if it hopes to unseat Windows in the enterprise.
Since I’ve switched to Fedora Core 2 as my main OS, I will now attempt to get Clié to connect with Fedora via USB.
At work, I’m using Red Hat Enterprise Linux and will attempt to get the Clié to connect with it as well.
So far I’m loving the new “spatial” navigation in Nautilus. It reminds me a lot of the OS/2 days.
My only gripe is with the default association of java files to a java compiler. I will figure out how to change this tomorrow night, but 99% of the time when I double click a java file I want to open it. The 1% of the time I want to compile it, I have a script or IDE to do it since most files need to be compiled in context with other files.
Happy Birthday to my wonderful wife, Liz.
On my current project our database is highly normalized to support high volumes of data. We decided to investigate persistence frameworks with a bias towards Hibernate which has a reputation for being the best persistence framework at current. While it is well suited for a situation where you have one object per table (seems like a typical paradigm for web applications), it is not suited for heavily normalized tables.
In the past, I’ve posted about recommending Hibernate (see my JavaLobby article), but couldn’t find a proper use of it in our application. We have several tables sometimes upto three for a given object. Hibernate doesn’t seem to do this. Many have said “Hibernate can handle multiple tables per object” but few have actually explained how to do it. Many have also said, “Why don’t you make use one object per table” because we can’t change our database tables.
Other Hibernate entries
If you have examples of an object being loaded from multiple tables and the ability to use hand tuned SQL queries (without the use of HQL) feel free to comment.