Tuesday, 23 February 2010

UPDATE: HP C7280 Ink System Failure

UPDATE: We had another paper jam recently and it caused what seemed to be this same fault. Moving gear back to it's correct position solved problem.

I had this problem today.

Ink System Failure... 0xc05d0381 (I did get another code after resetting the printer as well.)

It may have started two days ago when our first piece of paper jambed.

Note to self: when removing jammed paper, reassemble the pieces to see if you got it all out.

It worked fine today, but tonight it started making horrid gear-grinding noises. Then I got the 'Ink System Failure' message.

I tried a number of suggested remedies (see the 'fixyourownprinter' forum) but all they succeeded in doing was to factory default my printer - now I had to re-enter that very long wireless router SSID code again.

But it is such a pleasure with the HP Setup UI (did any HP tester actually use it? The input field doesn't even show all the characters so the last 3 are entered blind!)

After several power cycling events, I decided to investigate. I noticed how the ink pumps on the print head seemed to work - a black arm attached to a white gear is allowed to rotate about 1/2 a turn. The black arm is connected to a metal shaft which rocks a spring-steel sheet that depress some rubber boots. Like you might have on a lawn mower.

The printer head can move all the way to the left. When it does, the gears engage with some other gears to drive this pump.

In the picture you can see 2 white gears in the middle of the picture. The left one can rotate around the larger one and can rest in two possible positions.

The position shown in the photo seems to be the correct position. The incorrect position is to the right of the larger gear. My little white gear was in the incorrect position so I moved it.

Now my printer complained that I had a jam. And indeed, I still had a small piece of paper stuck in the area where the head parks itself.

I removed it with chop-sticks and all was well. The printer cycled ink through the cartridges and was happy again.

Friday, 19 February 2010

Buying new Tyres? What do Tyre Markings Mean?

Buying new tyres?

  1. If you live in Australia, spend $10 or go to a library and get the Choice test for tyres that your car uses (or something close).
  2. Look at the recommended tyres and decide what features you want more than others. 
In my case, I want best wet weather cornering and braking, followed by dry weather cornering and braking - then price.

I need 205/65R15, 215/60R15, or 225/60R15 tyres. I have 7" wide rims (15x7J) so I can use 8" to 9" tyres (205 - 225 and maybe 235).

You can change widths and profiles if your rims are the right width and you consider speedo errors.

For example  a 205/65R15 has the same circumference as these:

  • 215/60R15 (1.3% error),
  • 225/60R15 (0.5% error), and 
  • 235/55R15 (1.2% error). 

Here is my Math.

Circumference = pi * ( rim_size * 25.4 + 2 * ( profile / 100 ) * width )

A worked example might help.

For 225/60R15, C = pi * (15*25.4 + 2*60/100*225) = 2045mm

What to look for.

  • Tread Wear 300+ (3 time 'standard' tyre life) 
  • Traction (braking in the wet) AA or A 
  • Temperature A 
Other Markings

The tyre manufacture date is also on tyres. It seems to be stamped in rather than the other text which is raised. Look for something like 2309 - meaning 23rd week in 2009.

Here are photos of the Treadwear, Traction, Temperature, tyre size and date from one of my old tyres.

Treadwear 300
Traction A
Temperature A

Tread width 225mm
Profile 60% (of 225mm)
Tyre Radial (R)
Rim 15"
96V load and speed rating

Manufactured in the 49th week of 2007

Car Tubeless Tyre Repair

I have just 'repaired' my first car tyre.

We ran over a No. 2. No, not that sort, a real No. 2... The sort that is fixed with 1" nails to fence posts... Only it wasn't fixed to the post anymore.

Both nails punctured the tyre.

A neighbour once showed me how to repair a Bob-Cat tyre so I thought I would have a go. It only had to last a week until I put a new set of tyres on the car anyway.

I bought a tubeless tyre repair kit ($15) and one repaired hole is good and the other is a wait-and-see repair.

C Pre-Processor Niceness

I haven't programmed in C for years. 

I have forgotten a little, but I am finding that I am remembering more as I write and test my code.


The C Pre-Processor is so nice.

This has to be one of the nicest asserts that I have ever used:

ASSERT( 1==0 ); 
which outputs something like this:
ASSERT: "1==0" failed in pc-clisp.c line 672. 
All built with CPP macros:

This turns abc into "abc" - nice. You can use #x in your macro, but the wiki page used QUOTE so I have taken their advice.
#define QUOTE(x) #x
_TEST does the hard work. If the test is false it prints the failed message to stderr with the test, file and line number.
#define _TEST( type , test , action ) {\

  if( !(test) ){ \
    fprintf( stderr ,\
      QUOTE(type) ": %s failed in %s line %d.\n" , "\"" QUOTE(test) "\"" ,\
      __FILE__ ,\
      __LINE__ );\

ASSERT uses the generic _TEST to run the test and if it fails, to exit the program.
#define ASSERT( test ) _TEST( ASSERT , test , exit(1) )
You might like to define TEST and CHECK as well.

TEST just runs the test and prints any failed message.
CHECK, instead, returns false on a failure.
#define CHECK( test ) _TEST( CHECK , test , return (1==0) )
#define TEST( test ) _TEST( TEST , test , )
 For more information, see the wiki entry.

Wednesday, 10 February 2010

The iPad and the new GoogleOS

I like it.

Apple's insistence on using storage to differentiate pricing is an OK idea, but the price difference between models is hard to support.

Anyway, in my last post I dreamt of my ideal device. Now that the iPad has been seen by most, you could visualise my ideal device as an iPad that folds in half.

It, of course, needs a camera, needs to work as a phone and needs to run ChromeOS, but otherwise it is close.

Folded in half it would be about 7.5"x4.8" (190mm x 120mm), 1" (25mm) thick.

The Future

I think the PC has matured and is in decline. 

Netbooks have harmed the laptop market. Their low cost and high portability has meant that laptops and desktop have had to cut margins to sell. Microsoft too, has probably had to reduce margins to ensure their OS - old as it is - is the de-facto standard. I recently saw that Aldi advertised a 17" Core II Duo laptop with everything you could need for $900 AU. Even though it is many times better in almost every respect, the market wants laptops to be sub $1000 AU.

Where a big laptop fails is it's size. Consumers have their adequate 15" laptop or their 22" desktop and it still does the job just fine - even with Windows XP. They now want to be free to roam around their homes or around town with a take-anywhere Netbook.

They have their big-screen touch phones too. Great as a phone and as a media player but they are not too good at web browsing. So a market is born: a small screen web browser.

The Netbook was first and does the job by scaling down a laptop so that it is ultra portable. Apple thought better, and made a smaller device that still offered a 10" screen that could be used in portrait or landscape. And they added 3G for that always-on experience.

What the iPhone, Androids and Nokia's have shown, is that the new killer-app is an app store. A place to buy your software, be it office applications, games, music, video, books or just cool toys.

The OS is irrelevant.

The design is far more important than the hardware. Low powered computers are fast enough - adequate. You don't need to worry about storage, frame rates, resolution and interfaces since they have everything that you typically need. Now it is more important to consider looks, weight, portability, battery life and Apps.

What Apple and Google have also done is to reduce the risk of malware by selecting the ARM microprocessor and a more secure-by-design operating system. ARM processors don't allow some of the techniques used to cause a PC to execute foreign code, and UNIX and Linux have demonstrated that they are resistant to malware.

Apps too, are more likely to be web apps - based on HTML and JavaScript. These can be easily sandboxed to protect the OS and other core applications and services. Google also has their Native Client which allows native compiled code to run safely and securely on a PC or ARM machine.

A new OS will enter the scene.

Perhaps a few. Windows will decline as more devices are sold with Android, Linux and OS-X. I don't think Symbian will survive either.

If the OS is irrelevant then it will shrink and become a specific purpose, custom OS for the particular device. If all the applications run in a browser then applications will no longer depend on OS services. Instead they will mostly depend on browser services - the browser is the new OS and it includes the secure, windowing/graphics environment for games, music, videos, office applications and browsing.

Recently Google released a new programming language called Go. To me, it seems to be a descendant of a language designed at Bell Labs called Newsqueak. Rob Pike developed Newsqueak and is also developing Go. Ken Thompson, who also worked at Bell Labs, is also part of the Go development effort at Google. Both Newsqueak and Go are used to do systems programming - a language to build or experiment with operating systems. Why would Google want that - they use Linux don't they?

Ken Thompson and Rob Pike both worked on Plan 9 and it's descendent, Inferno, which was open-sourced in 2005.

I think Google is looking to use Go to compile a descendant of Inferno to become the base OS for Google and Android. Why? Go makes concurrent programming easy, and future servers and appliances are going to have lots of CPUs and GPUs.


This is a video (2007) of Rob Pike talking about Newsqueak, Plan-9 and a toy window system.