Nikhil Kothari's behaviour framework for SilverLight

Nikhil here describes a mini behaviour framework for SilverLight, and then proceed to implement a DefaultCommit, AutoComplete and TextFilter behaviours that can be attached to the SilverLight textbox.

Very cool.

http://www.nikhilk.net/Silverlight-Behaviors.aspx

http://www.nikhilk.net/Silverlight-AutoComplete.aspx

Debugging a baby

Ok, baby won't sleep, keeps waking up every 15 minutes when we put him to bed.  He screams so we do the usual checks:

  • Is he comfortable? 
    • Diapers ok
    • The cot wasn't too cold or warm
  • Must be hungry then

So we feed him some more, and because he's so tired, he sucks a bit and then falls asleep again (probably fainted from exhaustion).  We poke him to wake him up, he feeds some more.  Finally after about half an hour of feeding, we figure he has enough.  So we put him back into the cot and he sleeps.

Then he wakes up in 15mins and starts screaming again.

Rinse, lather, repeat.

Couple of things we noticed:

  • His diapers are heavy, so we had to change it very frequently
  • He is very tired, cause he doesn't have enough rest
  • This continues into the day and night
  • Honestly, we know he can't possibly be hungry.  We just don't know what's wrong to calm him down, aside from feeding him some more

Lina and I were at a lost as to what we're doing wrong.

A baby at this age (10 days old) is very simple.  There have simple needs - warmth, food, diapers, and only one output signal (scream).

They are not old enough to be over-tired and scream because they are tired.  At this age, when they are over-tired they basically faints.

They can be distracted somewhat from screaming, but they can't focus on something for long enough to make a difference - they will return to the screaming state.

I have to credit Lina with finding out what was wrong with our baby.

She found out that a normal feed is about 15 minutes.  Of course, with shorter feeds, they tend to wake up more often.

What was happening was that we were over feeding our baby.  He happily eats and eats some more, and he doesn't know to stop.  He faints from tiredness, and when we lie him down, inevitably he has reflux, and a lot of reflux, because he's so full.  So he wakes up screaming after lying down.  He isn't comfortable.

We feed him some more, poor little guy.  He continues to have reflux and wakes up screaming for the entire night.

Anyway, last night, we timed his feeds to 15 minutes max.  And he's given us 3 hour blocks of sleep.  It was much better than the day before.

There is a similar level of joy when you finally worked out what was wrong with your baby.  I'd say the experience is on par as fixing a particularly hard to find software bug.

;-)

Dell Support Australia called me back but sounded suspicious

I was talking initially to Murali - the first person that I chatted with regarding my defective Dell Inspiron laptop.

When he could not authorize someone to come fix my laptop I had it escalated to customer-care, I'm guessing that is the level two support.

I spoke with Itsenin and I think he told me a lie to get rid of me.  He told me Dell has already issued a recall of these laptops and my laptop wasn't on the list.

I think this is a poop excuse - my defect isn't as serious as an exploding battery and there would be no need for a general recall unless a customer reports that they indeed have a defective machine.

Today, Murali called me back and was asking me what did customer-care tell me.

I find this phone call extremely puzzling.  Eh, don't you guys work in the same company?  Shouldn't you just ask him?

Extremely suspicious.  I think they still haven't got it in their minds that I'm expecting this to be fixed at Dell's expense.

Which brings me to ponder a question:

What is the role of technical support?

  • Keep customers happy so they are recurring customers

or

  • Save the company money by making up crap and refusing to honour an agreed replacement

Doesn't it just cost them more to have me refusing to have the issue resolved?

Anyway, things aren't smooth, but I hope it gets better soon.

Two more SilverLight links

http://silverlight.net/forums/t/3015.aspx

A comparison of SilverLight 1.0 vs Flex/Flash

Some of the SilverLight limitations no longer apply in SilverLight 2.0 beta.

  • Linux support is handled by Moonlight - sponsored by Microsoft via Novell
  • SilverLight has data binding support
  • SilverLight has control library
  • SilverLight control library shipped with full testing tools - I assume these can be modified to do SilverLight unit testing
  • Socket programming is possible now
  • SilverLight has building download support.  Not sure about what upload support means, pushing a data into a web service?
  • Disagree with performance being slower - I would argue that both system would run equally fast.  There's no reason one should be slower than the other.
  • SilverLight is deployed in one XAP file.  The XAML is included so that it can be indexed.

The next link is a RIA test web site.

http://www.bubblemark.com/

On my machine (FireFox):

  • DHTML: 60 fps
  • Flex: 63 fps
  • Flex (cached): 63 fps
  • Java (Swing): 63 fps
  • SilverLight (JavaScript): 56 fps
  • SilverLight (CLR): a whooping 330 fps

You should free up some memory for your browser for the HTML/JavaScript tests - restarting the browser usually does the job.  If you already have 10 tabs open the DHTML/JavaScript ones won't run as well.

Seriously, you got to see this to believe it.

Removing a word from Windows Live Writer user dictionary

So I screwed up.  In my zeal to make sure my blogs are fully spell-checked, I added a misspelt word to my Windows Live Writer user dictionary.

There are no easy way (at least, as far as I could tell) to remove it.  I ended up doing the following:

Open in notepad:

%APPDATA%\Windows Live Writer\Dictionaries\userdic.tlx

Fix the spelling, save the text file back.

Restart Windows Live Writer

I hope this helps someone out there.