3 Hours Down Time due to Hosting Server Upgrade

For the 12 people trying to view the blog, my apologies. My Hosting Service upgraded the back-end database, and the support people took three hours (normal business hours) to tell me to re-apply the passwords to the DB.

[Edit]To be fair, they inform me they were discovering the solution with another customer, which I have no problem with. I was just feeling a little out in the dark about the process of resolution. But really when there’s a fire, you just put the thing out, and its over now…

But we’re back in action now. So back to work.

Don't leave development firmware on you camera...

It shouldn’t need to be said, but “Don’t leave development firmware on you camera“ in late December I was trying to fix the Lossless NEF file corruption problem on my D5100. I loaded a firmware, found it didn’t fix the problem, and then went back to studying the code. I few hours later, as a family we went off to a New Years eve party, and I picked up my camera, and snapped some real keepers.

Next day, I plugged the SD card in and found that Lightroom was

Lightroom has encountered problems reading this photo. You will not be able to make adjustments to the photo.

Arrg.

There is a good example of how to pull the preview jpeg’s, but when I did that, the preview pictures were 570x375, and thus not worth keeping, so some reading of the help file and this command pulled the embedded 4928x3264 jpegs.

exiftool.exe -b -JpgFromRaw -w _jpgfromraw.jpg -ext nef -r .

Which is better sized albeit a little over compressed. But better than nothing.

Now to solve the lossless NEF problem once and for all, and try resolve if the raw files can truly be recovered…

Nikon Patch 1.9

Nikon Patch Tool

Added D5100 support for non-brand batteries.

This is BETA software. Be warned. It’s been tested by a handful of people, no issues so far.

Altered the patch set remove the D3100 full time restriction, as it was ungraceful  and reverted to the 17 minute limt. Also in 1.8 I removed the D5100 loseless option as it didn’t work correctly.

Well that wraps up 2012

Well 2012 is over or will soon be.

Crazy year for me, we (the family)
moved countries and are still dealing with the extra stuff accumulated along the way. Also the stuff lost or damaged.

New bike was great on my ride the other day.

On the blog front. The worst year for number of posts, the best for traffic and comments. 17 posts across the whole year.

On the Nikon front. Slow but steady progress. Made some good progress on understanding how the B firmware works while Leegong has mastered the A firmware and Vicne has been kicking butt on the disassembler/emulator front. Lots of more to learn before mass hocking/injection of new code can happen but so many of the pieces are coming together or becoming understood.

Harry Potter and the Methods of Rationality

Wow, Eric referenced the fantastic fan fiction Harry Potter and the Methods of Rationality, and I have being enjoying it so much. I read up til chapter 30, then discovered the equally awesome podcast/audio book of the same material, which is equally awesome, and then I listened to all the current episodes, then dropped back to the web-site, and now am fully caught-up and was very please that chapter 86 was released in the last couple of days, and now am sad that I greedily consumed it, as now I just have to wait….

Travel == Movies == Reviews

So on the LA to Auckland flight I watched three movies, and here’s what I thought of them.

Prometheus - I really enjoyed this movie, especially if you don’t think to hard about why any of it is happening. I’d seen the honest. Groan the rolling ship, run sideways, and the rock gap. Stop thinking retrospectively..

Men in Black 3 - Wow this was a really good movie. The plot made real good sense, and behavior/actions of the characters were believable. Heck I even cried about the J/K/father twist. Really enjoyed the future seeing character.

The Dark Knight - I’d avoided this for ages, due to the whole DC/Marvell comics to movies, and having seen a few of the earlier Batman movies, and been less than impressed. But wow, this was a great/dark batman movies. Wow the joker was nuts and so chaotic. I really enjoyed it.

Long Time No Post

Well I’m still alive. I’ve been hanging out on Google+, joined a photo scavenger hunt, done non hunt related photography (posted to G+), and done a little Nikon hack work.

Oh spent lots of time planning the move back to New Zealand in October. So all in all been quite around here.

Which has been weighing on me.

-1.#IND00

Debugging a recent issue, where our _matherr handler was logging a call to sqrt with -1.#IND00 as input, and in this same scenario the system was crashing (the actual problem needing to be solved).

So to find out what input was going into the sqrt, as I suspected there was rubbish being passed in, I wanted to know what -1.#IND00 was in binnary.

I knew that passing -1.0 to sqrt would result in -1.#IND00 in the result, so I altered the code:

int main ()
{
  double d = sqrt(-1.0);
}

int __cdecl _matherr(struct _exception *e)
{
  informf( "\\nMath Error: %s, Parameters: %lf %lf, Return: %lf\\n",
    e->name, e->arg1, e->arg2, e->retval);

  union ccc
  {
    double d;
    struct {
      long a;
      long b;
    } ll;
  };

  ccc aa;

  aa.d = e->retval;

  <break point here, and inspect aa in debugger>
  if( _isnan( e->retval ) ) {
    e->retval = 0;
  }
  return 1;
}

results in the values:

aa.ll.a = 0;
aa.ll.b = 0xFFF80000;

And I posted this because Googling for -1.#IND00 got me no results.