Page 5 of 36

Previous page

Printer held Hostage by Ink Cartridge

I’ve had a Canon Pixma MX700 multifunction printer since the beginning of the year. I’ve been pretty happy with it. It’s worked well for scanning, copying, faxing and printing. Until today. Today I needed to scan something, and was greeted with the following message when I turned it on:

U150 The following ink tank cannot be recognized.
The yellow cartridge was indicated. I though that it was an odd problem, but I didn’t care for the moment, because I didn’t want to print, just scan. But no button on the printer would bypass this error and let me scan.

I ended up calling Canon, and happily received a domestic phone rep. He had me try a couple things, but eventually decided that the yellow ink would need to be replaced. They would send me one free. I asked if there was any way to bypass the error so I could just scan, and he said there was not. If I wanted to use it today I would have to go out and buy a yellow ink cartridge. So after driving all the way across town and spending $16, I have my printer back…for now.

It seems like questionable design to cripple all the functions of the printer just because one color cartridge is faulty. A better failure mode would be to only prevent color printing. Black and white printing, and the other printer functions should still be usable. Hey Canon, how about updated firmware for this? Please?

Hiking Stevens Creek Heritage Preserve

Last week I took the boys for a hike. I decided on Steven’s Creek Heritage Preserve, about an hour’s drive south of here. In the past, I’ve enjoyed paddling and hiking Stevens Creek and its tributary Turkey Creek, so I figured this had to be a good destination (search the blog for ‘Turkey’ to see related posts). The DNR website notes that the preserve contains 15 rare plant species, so I wanted to check it out.

We got there around noon in fairly warm (for March - 78°F) and breezy weather. Soon we were geared up and on the trail. The early part of the trail was disappointing; we walked through a huge dry area of fallen pines. I’m not sure if this was storm damage or an attempt to down trees killed by pine beetles. The trail here was cleared by small earth movers and was soft. It would’ve been a mess if it was wet. Some of the trail work made the correct path unclear but we managed to not get lost.

We descended a bluff through the damaged trees and finally started seeing normal growth again. Soon we came upon a little feeder creek, and wildflowers were in bloom everywhere: purples, pinks, whites, and yellows, gently resting on a background of green. I would have loved to spend an hour photographing them all, but the boys were too busy to stop for such things. So I just enjoyed the view.

We walked along the base of a bluff with large rock faces, damp with moisture. If I were a botanist or just knew more about plants, I’d guess that some of the preserve’s rare species would be found here. Someday I’d like to identify them, but for the day we were content to wander through a beautiful place.

Soon we were walking parallel to Stevens Creek. The trail never quite gets to the bank of the river. I was hoping there would be a good spot for lunch here, but there wasn’t much to work with. The trail began climbing a hill away from the stream, so we settled for a fallen tree as our picnic table. The boys ate heartily and drank most of their juice and all of mine. Then we were ready to finish the hike up the bluff.

At the top it was dry and brown we had nice views of the other bluffs through the mostly bare trees. There were less fallen trees here. We ambled over a good flat trail. I saw my first dragonfly of the year, but it didn’t wait to be photographed. Then I was startled to come around a bend and see a small, treaded, hydraulic digger staring us in the face. It was silent and no one was around. I figured we must be getting close to finishing the loop trail to be finding vehicles out there….

I was wrong: someone had driven that thing a heck of a long way up and down hills to get it there. It was hot and dry up on the hill, and the kids were starting to drag. As the trail began to descend, I realized we had yet to get off of this bluff and back to the starting bluff. We came upon the feeder creek again and had to begin the climb through the downed trees. Everyone was tired but we kept at it.

Finally we got up the hill and arrived back at our car. The boys had done great, and we made a well-deserved stop for ice cream on the way home. It sure beat sitting around the house.

More Info.

Rough Weather

A stormy day today! There were rain and thunderstorms on and off, all day, especially in the afternoon. Our neighborhood had several trees knocked down including some big pines in undeveloped lots. A tree came down in our backyard and smashed our earliest-flowering tree as it fell. But we came out pretty well compared to other folks in the upstate.

I made an ill-advised trip to pick up pizzas for a birthday party. The skies in Greenwood were spooky with some very low hanging dark clouds. Winds and hail came as I arrived at the pizza place. Finally it abated and I was able to get the food and drive home through some heavy rains.

It may be just me, but it seems that South Carolina’s roads typically don’t drain very well. It’s been years since I lived in Ohio, but I don’t recall dealing with water in the roads as much when I lived there.

The birthday party was late on account of the weather, and attendees got to enjoy another episode of rain and hail, but the party went well, all things considered. A big thanks to everyone who braved the storms to be here.

Determining Image File Types in Ruby

Today I came across a PNG file that had been uploaded from a browser with a .JPG extension and image/jpeg MIME type. It’s too bad that MIME types are apparently unreliable when it comes to file uploads. I went looking for a way to determine the file type by actually reading the file. This is probably a solved problem, but I was unsuccessful Googling for the answer. I came up with the following Ruby method which decides the image file type using up to the first 10 bytes:

def image_type(file)
  case IO.read(file, 10)
    when /^GIF8/: ‘gif’
    when /^\x89PNG/: 'png’
    when /^\xff\xd8\xff\xe0\x00\x10JFIF/: 'jpg’
    when /^\xff\xd8\xff\xe1(.*){2}Exif/: 'jpg’
  else 'unknown’
  end
end

This works well on a small set of test files (400+ from a browser temp files directory). Let me know if there’s a case where this code doesn’t work, or if there’s a better solution in general.

Update: This idea was expanded and found its way into a gem: ruby-imagespec. Credit for that goes to Brandon Anderson, Michael Sheakoski, and Dimitrij Denissenko.

Credit or Debit???

Please tell me why the credit/debit card producers cannot put a bit on their cards to let systems automatically determine if the card is a debit or credit card? What a waste of my time and the employee’s time to ask me this question over and over again. :(

Next page