Entries from May 1, 2008 - June 1, 2008

Sunday
Jun012008

Laptop has three vertical lines now

Looks like my Dell Inspiron is really heading for the trash can.

Dell customer care has got back to me with some model numbers that the out of warranty replacement covers, unfortunately the bad news for me, my LCD isn't one of those part numbers.

Not sure where to go now:

  • Get the parts and replace the LCD screen myself
  • Purchase extended Dell warranty (feels a bit like getting blackmailed?)
  • Throw the laptop off my level 14 building (I'm sure this would be illegal in most places)
  • Purchase a new laptop
    • Dell again?
    • Or another brand...
Thursday
May292008

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

Friday
May232008

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.

;-)

Thursday
May222008

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.

Wednesday
May212008

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.

Wednesday
May212008

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.

Wednesday
May212008

SilverLight is better than AJAX + DOM

I just got home from the Sydney .NET User Group tonight, where they talked about SilverLight and Flex in a session focused on RIA.

I personally think the session was relatively informative to a general crowd,  but not detailed enough to go into the specifics.  I'm not sure what the intended audience was given that the SNUG crowd is pretty much all .NET guys.

I had a chat with a few guys after the session and most were unsure or even unimpressed with what SilverLight has to offer.

I find that pretty sad.

The main arguments against SilverLight were along the lines of:

  • All those can be done with AJAX

Perhaps the presentation was too general and did not focus on outlining the benefits of using SilverLight over plain old AJAX.

I think there is a very naive view of SilverLight among the audience tonight.  Probably, what we needed to convince the .NET people that SilverLight is cool is this following list of stuff that just can't be done with AJAX.

Development Scenarios

  • Dynamic loading could be done with AJAX, but you have to test it with FireFox, IE6/7/8, Opera, Safari.
    Not to mention the various combinations of operating Systems with them.
  • Did I mention mobile devices?
  • Difficult debugging scenarios - VS.NET actually makes this easier for IE and FireBug made it easier for FireFox, but essentially you are down to debugging JavaScript, which is iffy at best.
  • Mucking around with CSS and DOM is wasted time
  • SilverLight can be debugged directly in VS.NET - there is an option to switch on (default)

Vector Graphics

  • No vector graphics with the DOM
  • Try to do rounded corners with DOM and you either have to resort to some background picture trick (lots of files and connections) or stuff around with multiple layers of borders (nasty looking DOM).
  • You can't even draw a diagonal line in the DOM,
  • Let along trying to do Ink (point below)
  • There is a reason that people wanted SVG support, and to pass the ACID3 test the browser needs to natively implement SVG, and Microsoft is criticized heavily with not supporting SVG out of the box in IE8 (they probably never will).
  • People know the DOM sucked at this stuff, they wanted to stick SVG in the browser so they can stay mucking around with the DOM some more.
  • To be fair, Adobe was at the forefront of SVG development, but as soon as they picked up Flash/Flex/Macromedia, they stopped their free SVG plug-in development immediately.
  • I think SVG is a waste of time in the wrong direction altogether.  SVG was designed for a market that failed to materialize in 1999.  The reason that Flex and SilverLight are successful is because people and technology have moved on.
  • I'm convinced a SilverLight vs Flex scenario is better for the world as both companies race forward to win developer minds.
  • Finally, if you are not convinced SVG is dead, go to Yahoo! Finance's interactive chart here and tell me how much stuffing around would it be required to get those cool looking graphs to work with DOM+SVG+AJAX.

Animation

  • The SilverLight story boards is a time-based system, which is an improvement over the frame based systems in Flash. 
  • I think with SVG another protocol SMIL will be needed to achieve the same thing.

Ink

  • SilverLight supports Ink

Layout Management

  • Stop stuffing around with aligning this label/textbox with another label/textbox halfway down the screen, past the grid in between
  • The DOM simply don't support proper layout management, and hacking it via CSS is ugly, or fails to scale when the browser window size changes
  • Which is a big problem for mobile devices, apparently.

Data Binding

  • SilverLight has data binding support out of the box.  Browsers/DOM/AJAX are stuck with manual data binding, or part/full page post backs.

Framework

  • SilverLight is build with a solid set of the .NET framework library.  This includes multiple out of the box functionality that would need to be build with JavaScript
  • Working with proper collections and generics, or LINQ and LINQ to XML

Threading Support

  • Bread and butter of Windows Application development.  Threading has never worked properly, if at all with AJAX.
  • Try calling three web services at once and collect their responses and make some use of them.  Note that any or all of these asynchronous calls can and will fail.  Most DOM/AJAX implementations of the XMLHttpRequest stuffs up right about here.

Isolated Storage

  • Isolated Storage
  • AJAX systems rely on ViewState or server session systems.  ViewState is passed around all the time and takes up bandwidth, and is lost when user logs off. 
  • Cookie file is far limited in size.

Network Capabilities

  • Sockets
  • Cross-Domain calls - excluding JSON with AJAX.

Serialization

  • JSON, XML, SOAP Serialization

File Processing / Upload

  • The HTML upload input control is still stuck at the 90s
  • SilverLight has read-only access and has OpenFileDialog implementation
  • Can preview a file on client side before deciding to make service call to upload them.  Doesn't even need to upload them.

 

Argh I'm tired.  That's probably too much info for one evening.

Tuesday
May202008

SL + Sockets

http://weblogs.asp.net/mschwarz/archive/2008/03/07/silverlight-2-and-sockets.aspx

http://weblogs.asp.net/mschwarz/archive/2008/03/10/silverlight-socket-comments.aspx

I didn't know SilverLight 2 supported System.Net.Sockets.Socket

This is another tick crossed off my checklist.

There are heaps of restrictions

  • no cross domain
  • allowed port range is only 4502 ~ 4532 (so only 30 ports)

Still... (dream of the possibilities)

Tuesday
May202008

Avoiding my Dell laptop like the plague

I've had my Dell Inspiron laptop for over 2 years now.  And I've always thought it was a pretty good machine and I'm pleased to have used Dell.  I've pretty much upgraded it as far as it could go, and I was considering to shell out for a new Dell laptop when this one hits three years old.

Until recently.

There are now two ugly line down the middle of my Dell laptop (see my previous rant Oh noes!  Dell Dead Line), and until Dell agree to fix it, I just get upset whenever I look at my laptop.

I turn the laptop on, see the vertical dead pixels line, then I get frustrated and I turn my laptop back off.

  • Forget about the Internet
  • Who cares about my emails
  • Never mind all the blogging!
  • Nor worry about the gaming
  • Stuff writing my applications

I had no idea that the laptop was so integral of my evenings, but currently my urge to use that laptop is next to zero.

Just like if you have an ulcer on your mouth and it's painful to eat, then all the food becomes tasteless.

Likewise, when there is a freaking defect on your LCD monitor, then anything I do on the laptop becomes tasteless.

I can't enjoy working on my broken Dell.  Thus I don't want to use it.  Honestly, I just want my machine to work properly again.

Monday
May192008

Oh noes! Dell Dead Line

Call you what you will, dead line pixels, LCD defect/failure.

I woke up last night to use my laptop to do some emails, and behold, what's this wierd blue line vertically down my screen?

deadpixelsleft

And wait, there's another one!

deadpixelsright

I popped on Google and sure enough, there's actually quite a few Dell customers that have already complained of this issue.

http://dellverticalline.com/

http://www.theregister.co.uk/2007/04/23/dell_vertical_lines/

http://www.spectrumz.com/z/dell_vertical_line_letter.html

http://www.spectrumz.com/z/dell_vertical_line.html#res

The good news is that Direct2Dell has acknowledged there is an issue, and they will offer replacements for up to 3 years from the date of invoice.

http://direct2dell.com/one2one/archive/2007/04/09/10675.aspx

But the general response on the forums is that you'll have to dog hound Dell support until they agree to send out a repair tech to visit you, but after that it's smooth sailing.  (This mirrors my previous experience with replacing a Dell part under warranty as well).

So anyway, with my fingers crossed, I contacted Dell support.  I'll be blogging the process. 

Apparently the same issue plagues the Apple laptops, but to this date, Apple has been deleting/locking threads of their customers who are complaining about this issue.  So Dell is supposedly one step ahead in the customer support area.

I remain hopeful, because it is day one. 
This is day 1.  There are 2 lines on my screen.

UPDATE - the BAD news
I called up Dell support and they absolutely refused to repair my laptop (after 1hr of talking and transferring).  This is despite what their own website says.  Apparently they have already done a recall of the affected laptops in Australia and my name wasn't on the list.
I think it's a bunch of poop really.  There was no recall mentioned in the article.  Since this problem does not affect all laptops immediately, there's no need to recall the product unless it is reportedly broken.  I doubt the so-called "recall" even happened.

Anyway, here's the email of the guy I spoke to at customer-care: Itsenin_Hamir@dell.com

Perhaps someone can educate him about the procedure in Dell.  He hasn't even heard of Direct2Dell.

Why is Dell support so painful to work with.