Scott Hanselman

LASIK: The Conclusion

March 13, 2004 Comment on this post [7] Posted in Musings
Sponsored By

It's been one month since my LASIK surgery, and I went to the eye doctor today for my checkup. 

The conclusion is amazing to the point of disbelief, but we did the tests several times.  You may remember I was -9.25 diopters or roughly 20/1600. 

Tangent: What does 20/20 mean? (or 6/6 in metric)

If you have 20/20 vision, it means that when you stand 20 feet away from the chart you can see what the "normal" human being can see. (In metric, the standard is 6 meters and it's called 6/6 vision). In other words, if you have 20/20 vision your vision is "normal" -- a majority of people in the population can see what you see at 20 feet.

If you have 20/40 vision, it means that when you stand 20 feet away from the chart you can see what a normal human can see when standing 40 feet from the chart. That is, if there is a normal person standing 40 feet away from the chart and you are standing only 20 feet away from it, you and the normal person can see the same detail. 20/100 means that when you stand 20 feet from the chart you can see what a normal person standing 100 feet away can see. 20/200 is the cutoff for legal blindness in the United States.

So, my vision was fairly bad, but such is the life of the four-eyed geek right?  Everyone remembers not being able to see the blackboard and telling their parents.  Next thing you know you're 30, have worn glasses your whole life and didn't go to prom. Well, maybe not that last part, but you get the idea.

Anyway, went to the doctor today, and my vision is officially 20/10.  Yes, 10.  That means I see as clear from 20 feet as a person standing at 10 feet.  So, pretty amazing.  I still have some slight visual artifacts in the right eye in complete darkness, but that gets better every day.  All in all, a significantly better result than I could have expected, especially considering when I orignally decided to get this done 5 years ago, I was told "We don't recommend LASIK for folks more than -8."  Clearly that has changed, and the technology has improved.

Anyway, I won't sully this technology blog anymore with LASIK musings, except maybe for the six month and one year checkups.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Quote of the Day

March 11, 2004 Comment on this post [0] Posted in ASP.NET
Sponsored By

Best quote from Windows vs. Linux Security Analysis:
"The scope of this analysis is to demonstrate that so far the subjects who expressed an opinion about the Linux/Windows level of security didn't have any idea of what they where talking about."

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Internationalization/I18n: Char.IsDigit() matches more than just "0" through "9"

March 09, 2004 Comment on this post [5] Posted in ASP.NET | Javascript | Bugs
Sponsored By

Raymond Chen just gave me a "duh" moment, by pointing out the obvious-only-if-you-think-about-it.  Char.IsDigit() doesn't mean 'IsZeroToNineInEnglish', it means 'is in the decimal range of 0 to 9' and darnnit if there aren't other ways (other than 0,1,2,3,4,5,6,7,8,9) to express them! :)

So let's run an experiment.

class Program {
  public static void Main(string[] args) {
    System.Console.WriteLine(
      System.Text.RegularExpressions.Regex.Match(
        "\x0661\x0662\x0663", // "١٢٣"
        "^\\d+$").Success);
    System.Console.WriteLine(
      System.Char.IsDigit('\x0661'));
  }
}

The characters in the string are Arabic digits, but they are still digits, as evidenced by the program output:

True
True
Uh-oh. Do you have this bug in your parameter validation? (More examples..)
If you use a pattern like @"^\d$" to validate that you receive only digits, and then later use System.Int32.Parse() to parse it, then I can hand you some Arabic digits and sit back and watch the fireworks. The Arabic digits will pass your validation expression, but when you get around to using it, boom, you throw a System.FormatException and die.
[Raymond Chen]

Arabic speakers (مرحبًا, كيف حالك ؟ and forgive me, it's been college since I studied Arabic) how to you handle numeric validation in JavaScript AND guarantee that the JavaScript you use on the client-side is semantically equivalent to the server-side code?

Either way, my friends, read, grok, and be enlightened.  Muy interesante.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Reminder: Update your RSS Feed Url and check your Smoke Detector Batteries!

March 09, 2004 Comment on this post [4] Posted in XML
Sponsored By

Just a friendly reminder.  It applies to me, but it could also apply to other folks.  I shall declare this day "Check your OPML File and Subscriptions Day."

If you are goodly enough to have subscribed (thank you) to my Radio RSS feed (http://radio.weblogs.com/0106747/rss.xml) please update your subscription to point to the updated feed.  I haven't been at Radio for over 6 months.  However, I have continued to update my Radio RSS feed, so you wouldn't have an interrupted experience.

Again, to recap.  Here are my feeds, Coke: RSS 2.0 or, if you like Pepsi, here: Atom 0.2.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

My TWO .NET Rocks shows are up on MSDN now

March 07, 2004 Comment on this post [1] Posted in ASP.NET
Sponsored By

I totally forgot that MSDN is hosting the .NET Rocks shows for download!

Not only can you listen to my second show from last month (thanks Rory and Carl!) but you can also checkout my first attempt from October 2003!

  • Show #2: Carl and Rory talk with Scott Hanselman about ASP.NET, declarative programming, client-side validation, caching, perf testing, blogging trends, and more. [MSDN]
  • Show #1: Scott and Carl chat about .NET, C#, Reflection, Regular Expressions, Freeware, Code Sharing, Config Files, Sockets, Multi-Threaded programming, and a laundry list of Scott's favorite utilities that you just have to check out. [MSDN]

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.