Friday, March 01, 2013

Building Hello World with Maven....

Sunday, May 06, 2012

How nice it is to come across a project like this:

I have never used an XML framework for Java that works this well. And it is well documented. And it is well supported. And it has few dependencies. And it has an Apache license. Too bad I hadn't come across it until today.

This really does put every other XML framework that I've ever used for java to shame.

It took me all of 5 minutes to go from finding the website for the first time, to incorporating it into a project to parse a xml configuration file. Amazing.

Saturday, July 16, 2011

Okular still has brain dead developers

Bringing my blog back to life made me notice my Okular post below.

Well, guess what. The developers of Okular are still clueless when it comes to data security. Their lack of any smarts in dealing with data that folks type in PDF forms is appalling.

I notified them.

And they called it a "feature".

Three different bugs have been filed. And they continue to ignore it.

I'm not sure what else can be done, other than to continue to try to draw attention to it, and tell people not to use Okular with any PDF form that contains sensitive information.

Java Utilities

If you ever need a open source embeddable java TFTP server, or a simple natural ordering sorting algorithm for java... I've got just the ticket for you

Actually, I wrote these ages ago. But they might be useful for someone out there.
Lets see how long it takes the search engines to rank these...

Saturday, February 13, 2010

Do not use Okular to fill out PDF forms!

Do not use Okular to fill out any PDF forms with sensitive information (like your taxes)!

Okular has a seriously mis-designed feature turns into a huge security hole for your personal information.

A little background:

Okular is the default PDF file viewer for KDE. It seems to work pretty well for viewing most PDF files, and, on your first look, it appears to handle PDF forms as well. You can fill out a form, close Okular, reopen the form, and your data comes back. You may or may not notice the oddity that it doesn't have a "Save" menu option...

But then you open the form you filled out with Adobe Acrobat, and your form data is NOT there.

Well, where the heck is it?

It turns out that Okular has a horribly conceived "feature" to let you store form data - but it puts the form data in a file other than the PDF document - it puts it under ~user/.kde/share/apps/okular/docdata/randomFileName.pdf.xml.

Not only is this a stupidly implemented feature - since it makes it impossible to fill out a PDF form and send it to someone else - it is a huge security hole for those of us that do things like fill out tax forms.

When I fill out my tax form PDFs - I keep the PDFs inside of a Truecrypt volume. I fully expect that my data is going to be saved within the PDF. Every other sane document editor works that way. So when close the truecrypt volume, I know that my data is secure.

Imagine my surprise, to find all of my tax data floating out in user/.kde/share/apps/okular/docdata/randomFileName.pdf.xml

This misfeature should really be removed from Okular ASAP.

I've made the okular developers mailing list aware of this issue (lets see what they do) and have also filed a bug with Ubuntu (my distro)

Tuesday, December 08, 2009

Blizzak Snow Tires - Wow!

Late this fall when the tires on our Rav 4 were worn out, we decided to try out a set of 4 Bridgestone Blizzak DM-V1 snow tires for the winter. After getting them mounted up, the first thing you notice is that they are squishy-soft. It takes a little while to get used to the mushy driving characteristics on dry pavement. Not the most desirable thing... if you put on a lot of miles on dry pavement.

But today, we got our first real snowfall of the season. So I went out and did a seat-of-the-pants comparison between our AWD Ford Edge, with essentially new run-of-the-mill all season tires, and the AWD Toyota Rav 4 with the Blizzak's.

The first thing that comes to mind is:


The Blizzak'a act like they are glued to the road! I would say that they easily had 3 times the traction of the all season tires. Stopping distances? No comparison. It was tough to even activate the ABS with the Blizzaks. Acceleration? Again, no comparison. With the all season tires, moderate throttle was all it took to coax the Edge into a 4 wheel power slide, which then had to be modulated to avoid bad things like trees and curbs. But with the Blizzak's, you simply tromp the throttle, and go. Maybe a little side step here or there... but thats it.

Absolutely incredible the traction that these tires can find in cruddy conditions.

Highly recommended.

Wednesday, August 26, 2009

Raw ( nef ) image conversion

I recently acquired a set of photos from a high end Nikon digital camera, which were in the .nef file format.

I stumbled around the web for a while, looking for a good way to convert the entire set into a format usable to mere mortals... and found an amazing lack of simple tutorials of how to do it - probably because it turned out to be simpler than I expected.

Here is the deal.

UFRaw will convert these images for you to PNG, JPG, and a few other common formats.

For example, to convert all .nef files in a folder into PNGs:

ufraw-batch --out-type png16 --exif *.nef

Or Jpegs:

ufraw-batch --out-type jpeg --exif *.nef

However, I did run into a snag here - that may very well be specific to the camera that the pics came from. For some reason, I'm ending up with 10 rows of corrupt pixels at the top of each and every image. So, I needed to crop every image by 10 pixels. ufraw didn't appear to be able to do that.

So, then I tried ImageMagick (which actually uses ufraw internally to convert the raw images into something it can read) - it can do all sorts of editing while processing images.

Here is the ImageMagick command I used to convert .nef files to Jpg - and chop 10 pixels off the top of the images along the way:

mogrify -path output/ -quality 100 -chop 0x10 -format jpg *.nef

Alas - another snag. ImageMagick loses the EXIF data for the picture while doing this conversion. I reported that issue - and it was acknowledged and FIXED in less than 1 day.

However, I used this two step alternative to convert the raw files, chop off 10 pixels, and maintain the EXIF data, since I didn't have the fixed version yet:

ufraw-batch --out-type png16 --exif *.nef
mogrify -path . -quality 100 -chop 0x10 -format jpg *.png

Wednesday, April 22, 2009

Great Customer Service!

Why yes, great customer service does exist! Believe it or not.

Usually people only post customer service horror stories to the web. In this case, I want to call out a company with GREAT customer service.

Several years ago, I got a Corsair 1 GB USB Flash Drive - it was expensive when I got it - but it was awesome.

I kept it on my key chain, dragging it around every day. At some point along the way, I lost the cap to the drive. I sent them an e-mail asking if I could get a new cap, and they just mailed one out, no questions asked, free of charge.

Then, about 3 weeks ago, my drive died. Well, mostly died, anyway. It would only work if you flexed the case _just_ right, and held pressure on it in certain spots. Obviously, something had come loose from the circuit board.

I sent them an e-mail. They immediately issued an RMA, sent me the address to mail the drive to. I mailed in the drive, and they shipped me back a brand new, 8 GB replacement drive.

Yes - not only, did they replace my several year old, well used and now broken USB drive with no hassle - they upgraded it from a 1 GB to 8 GB. And all that I had to pay was the shipping to return the old drive.

If your thinking in investing in a modern large and expensive USB drive, I highly recommend Corsair - they will take care of you if anything goes wrong with your investment.

Tuesday, March 03, 2009

Windows Wireless Hell....

In the interest of doing something with this blog, I'll post this to try to save someone else's sanity.

So, we own a Dell Inspiron 600m - which came with an Intel 2200BG wireless chipset. Big deal, you say - so you have a laptop that can do wireless. Whoop-tee-do.

Except, that frequently, this laptop can't do wireless _reliably_. Why? Well, that is a long story.
To be specific, this laptop found it nearly impossible to get a DHCP address from a wireless router. Sure, the connection would come up. You could put in your password for whatever encryption scheme you were using on your wireless network. The wireless router would report that it issued an address to the laptop. Yet... the laptop, just sat there, in a state of utter uselessness, with no ip address. Isn't that special?

First stop, blame Microsoft, of course. I mean, come on. It's obvious. Microsoft completely hosed up the wireless GUI interfaces (not to mention the driver interfaces for us poor developers) back in Windows XP and earlier, so it seems plenty reasonable to me that Microsoft has also managed to screw up the DHCP protocol over wireless. From what I've seen, they still haven't wrote a decent one in Vista... so we still have this mess with all of these 3rd party developers writing their own wireless control programs.

So I switch over to the wireless management interface that Intel provides for the 2200BG chipset. Now, note that, at the time when I started this battle (several years ago) Intel's GUI sucked quite a bit too. But I was hopeful that it would fix the DHCP problem. It appeared to. Sometimes. Until you sneezed. And then the DHCP problem would come back. Sigh.

Perhaps it is a driver problem. Dell, in typical Dell fashion, had shipped this laptop with a rather old version of Intel's driver for the 2200BG wireless chipset. I think to myself - I'll bet Intel has fixed this. I mean, seriously - there is NO WAY they are shipping this chipset in millions of laptops when it can't even do DHCP more than 20% of the time. Go poke around Intel's website, and find - yes - there is a newer driver!

And it doesn't fix shit. GAH! Much internet searching later, I discover that this is a fairly common problem. Often times - it is caused by an encryption negoitation issue between the wireless router and the wireless driver. Or people just have their password wrong, etc. But yet, I still find a subset of people that seem to have my problem - and they never find a solution. For a while I go down a lot of roads checking to make sure all the necessary windows services are running, etc. But I can't get it to work.

At some point, I start suspecting that there is a compatibility problem between my particular wireless router (D-Link DI-624) and the Intel 2200BG wireless chipset. It seems that one of the companies, either D-Link or Intel has messed up the DHCP protocol. I start experimenting with different firmware versions on thd D-Link. One of the firmware upgrades even advertises that it fixes a DHCP issue. Yet... no dice. This problem refuses to go away. This entire time, another laptop in the house (with a D-Link card) works fine with the D-Link router.

I've wasted way to long on this, and I'm tired of it, so I just set up a static address on the wireless router, hard code the wireless address into the laptop, and all is good. Works fine when you don't ask it to do DHCP. Yet - every time I go to a hotspot outside of home, I have to switch it back to DHCP. Really annoying.

Every so often, I get hopeful and go through the process of upgrading Intel's drivers and management software as it becomes available. Problem never goes away. I blame the D-Link, since they stopped releasing firmware upgrades for it... and their firmware never did get very stable. I figure it has an obscure bug that the Intel driver happens to tickle.

Fast forward to the current time.

The D-Link melts down, becomes a paperweight. So I buy a new wireless router. A Linksys WRT54GL, to be exact. And then I put Tomato firmware on this great little linux box. Now, I _KNOW_ that this wireless router knows how to do DHCP properly. It doesn't get much more well-tested than this hardware \ linux-software combination.

I set the Dell back to DHCP... and it doesn't fricking work! WTF! I mean, seriously. There are literally MILLIONS of these 2200BG chipsets out in use. Why can't this wireless card get a DHCP address from a wireless router? I know that there is no way that Intel could ship a driver that is this broken for this long. And yet - the problem is even worse now. It doesn't really work at all. Go back to a static IP, and it works fine. This is _really_ frustrating.

At some point, I rolled the Intel driver back to a much older version of the driver - which actually worked better, for a little while. Then it started blue screening the system. In the process of blowing away all traces of the old drivers, and reinstalling the new ones, a dialog box comes up out of the blue.

The dialog box is "Dell Quick Set" asking me to connect to a wireless network for the first time. At this point, I have a vague understanding that "Dell Quick Set" handled power options, displayed the volume and contrast levels on the screen, etc. Quite frankly, never really paid any attention to it. And here it is, asking to taking over some portion of the wireless card management. I never knew it could do that... You don't suppose.... I think to myself.

I obliterate Dell Quick Set from the system with a vengeance. Reinstall the latest Intel Driver and Management tool - enable the wireless card - and BOOM! Almost instantly, the system connects and picks up a DHCP address. I cycle the wireless card off and on a few times with the hardware switch. Works perfectly, every time. Reboot the system. Still working perfectly. I can't believe it. For all of this time, the problem has been this POS useless Dell Quick Set program, hiding in the background hosing the DHCP request to the wireless router!

So there you have it. If you have a wireless card that can't pick up a DHCP address from your wireless router - especially an Intel 2200BG wireless chipset - make sure that you disable/uninstall/obliterate Dell Quick Set from your system. Dell Quick Set is a useless piece of crap churned out by crappy Dell developers that makes a half-assed attempt to control your wireless card - and breaks DHCP in the process.

Hopefully I have captured enough of the DHCP / Intel 2200BG / no ip address / keywords into this post so that the next person that tries to figure this out doesn't go insane trying to fix it on their laptop...

Sunday, February 15, 2009

Car Repair Stuff...

A while ago, I did a write up on how to diagnose and replace a fuel pressure regulator on GM 3800 engines. In the interest of making the writeup more visible to search engines, here is a link... Replacing a failed fuel pressure regulator

More recently, I did a documented the process to diagnose a failed ABS sensor on the cheap, and then replace a rear hub on a 2002 Chevy Impala (to fix the faulty ABS Wheel Speed Sensor). Diagnosing ABS issues / Replacing a rear hub on a modern GM car

I take no responsibility for your making your car problems worse :)

Tuesday, November 11, 2008

Hmm, I should really do something with this blog one of these days....

And look - it still works!

Saturday, February 17, 2007

Wow - they haven't deleted me yet

And, I was still able to log in. Amazing.

My real (but sometimes neglected) website is over here:

Subscribe to Posts [Atom]