January, 2008

Larry Osterman's WebLog

Confessions of an Old Fogey
  • Larry Osterman's WebLog

    Wow - We hired Crispin Cowan!!!


    Michael Howard just announced that we've hired Crispin Cowan!

    This is incredibly awesome, I have a huge amount of respect for Crispin, he's one of the most respected researchers out there.

    Among other things, Crispin's the author and designer of AppArmor, which adds sandboxing capabilities to Linux.  Apparently he's going to be working on the core Windows Security team, which is absolutely cool.


    I'm totally stoked to hear this - I literally let out a whoot when I read Michael's blog post.



    Welcome aboard Crispin :).

  • Larry Osterman's WebLog

    We're finally legal!


    Continuing in a stream of blog posts that started with "18 years ago, Today", "Nineteen years ago", and "20 years and going strong", today Valorie and I celebrate our 21st wedding anniversary.  We can finally go out and have a drink to celebrate :)[1].

    I'm still as much in love with Valorie as I was on the day we were married, oh so many years ago.  It's been a long wonderful road. 


    Valorie is without question my best friend, and I love her.



    Happy Anniversary, Dear.


    PS: One of the cards might be a bit hard to find this year.


    [1] Of course, since Valorie doesn't drink and I only rarely drink this doesn't really change things, but whatever :).

  • Larry Osterman's WebLog

    What's this untitled slider doing on the Vista volume mixer?


    Someone sent the following screen shot to one of our internal troubleshooting aliases.  They wanted to know what the "Name Not Available" slider meant.



    The audio system on Vista keeps track of the apps that are playing sounds (it has to, to be able to display the information on what apps are playing sounds :)).  It keeps this information around for a period of time after the application has made the sound to enable the scenario where your computer makes a weird sound and you want to find out which application made the noise.

    The system only keeps track of the PID for each application, it's the responsibility of the volume mixer to convert the PID to a reasonable name (the audio service can't track this information because of session 0 isolation).

    This works great, but there's one possible problem: If an application exits between the time when the application made a noise and the system times out the fact that it played the noise, then the volume mixer has no way of knowing what the name of the application that made the noise was. In that case, it uses the "Name Not Available" text to give the user some information.

  • Larry Osterman's WebLog

    Playing Librarian...


    Those of you who know me (and my family) from beyond my blog know that among my our many passions, one of the biggest is books.  And we've got a lot of them.

    A couple of years ago, Valorie got me a Flic barcode scanner and a copy of the program Book Collector.  I've been using it steadily since then adding the books from the biggest of the 4 different libraries in our house (yeah, we've got 4 separate libraries in the house, I did say we read a lot of books - they are: grown up fiction, kids fiction, non fiction and teaching materials).

    Since I was fortunate enough to take the month of December off this year (one of the benefits of working at Microsoft for as long as I have is that I get a lot of vacation time, some of which was due to disappear), I decided to take on the project of working through the books in the big library.

    Since I've been working on it pretty much every day off and on for the past 4 weeks, I've looked at a LOT of books recently.

    I've developed a pretty good workflow (it could unquestionably be improved, but this one works) for the process of scanning books:

    1. Start Book Collector.
    2. Head into the library from my computer with the Flic scanner in hand.
    3. Start where I last scanned.
    4. Take a book off the shelf: 
      1. If the back cover contains a UPC code, check the barcode - if it starts 978 or 979, scan it and go to step 5.
      2. Open the book to the inside front flap.  If it contains a UPC code, scan it and go to step 5.
      3. Put the book on the "to be scanned manually" pile.
    5. Take the books on the "to be scanned manually" pile back to the computer.
    6. Plug the scanner into the computer, which will cause the UPC codes to be read in and let the program search for the books.
    7. Add the books found by the scanner to the program.
    8. For each book on the "to be scanned manually" pile:
      1. Check for an ISBN number on the back of the book (usually near the UPC code).  If it's there, enter it and go to step 9.
      2. Check the spine of the book.  If one of the numbers there looks like an ISBN number, enter it and go to step 9 (I often combine step 8.1 and 8.2 together).
        1. If the number on the spine looks like an ISBN number but is 1 digit too short, try typing it in but add an "X" for the last digit.
      3. Look at the page after the title page of the book - sometimes there's an ISBN number there, if so, enter it and go to step 9.
      4. If no ISBN number is found, put the book on the "to be entered manually" pile.
    9. Have the program scan for the ISBN numbers you just entered, verifying each one as it's found, then add the books if they're correct.
    10. For each book on the "to be entered manually" pile:
      1. Enter the title and author for the book manually
      2. Search for the book.
      3. Walk through the items found adding the best fit ("best fit" can be subjective, I try to find an entry with accurate cover art or an accurate publishers number - but the only books that fall into that final set of books are typically more than 20 years old, so your ability to find accurate information on those books is spotty).
    11. Pick up the books you took from the library and to back to step 2.


    That's it.  So far I'm up to just short of 3000 books scanned, and I'm in the middle of the letter "S" in the biggest of the 4 libraries.  I've added more than 2 thousand books to the program this  month (wow).

    Some things I've noticed in the process...

    • We have a lot of books.
    • As far as the scanning process goes, books fall into roughly five categories:
      1. Those with ISBN numbers on their UPC code - this includes most graphic novels, hard cover books and trade books.  Many new paperback books have ISBN13 numbers on their UPC code, but some still don't.
      2. Those with ISBN numbers in a bar code on the inside front cover - essentially this category contains all paperback books from some time in the early 1990s to the present.
      3. Those without ISBN numbers in a bar code on the inside front cover, but with UPC codes that include the ISBN number.  Essentially this category contains all books from the mid 1980s to the early 1990s.
      4. Those without a UPC code on the book, but with an ISBN number (or sometimes a SBN number) inside the book.  This includes most (but not all) books from the 1970s.
      5. Those without ISBN numbers at all.  This includes most books before the early 1970s (yeah, I've got paperback books that date from the mid 1960s).
    • For books that have ISBN numbers, the amount of information available about the book depends highly on how new it is.  For those that post-date Amazon and Barnes&Noble (the primary data sources for Book Collector), the information available is quite good (including reasonably accurate book cover images).  For older books, the information available is spotty, usually dependant on the information that 3rd party sellers provide to the various online retailers.
    • We have an awful lot of books.

    I'm only beginning the process of taming the book collection, and I've not even started thinking about dealing with how to maintain the library going forward (but I've got some ideas).  As I said, my workflow above could be improved (for instance, I should use a laptop and take the computer to the library to deal with the "to be scanned manually" pile instead of schlepping the pile back and forth.

    But working through the piles has absolutely been an enjoyable process - I've also appreciated the opportunity to re-discover old friends, which is always a good thing.

  • Larry Osterman's WebLog

    Every Domain Name tells a story, I wonder what this one's was.


    And I'd love to know the story behind this site: http://www.modestapparelchristianclothinglydiaofpurpledressescustomsewing.com/choosing_your_fabric.htm.  I ran across it while shopping online the other day.  The root page of the domain (http://www.modestapparelchristianclothinglydiaofpurpledressescustomsewing.com/index.htm) is a 404, but there's a number of pages live under that domain.


    I wonder how they ever chose that particular domain name - it's as if they were trying for a half a dozen names and messed them up when they were registering the domain name.

Page 1 of 1 (5 items)