The Curious Engineer

All blogs / Windows internals

Larry Osterman's WebLog

learn.microsoft.com/en-us/archive/blogs/larryosterman

Just another Developer Network site

Windows internalsComputing historySoftware / engineering practiceMicrosoft blogsMSDN archive

’05’10’15’20’25
Posts
710 from 1 Mar 2004 to 25 Sep 2024
Posting
archived, read-only
Kind
personal blog
Feed
https://learn.microsoft.com/en-us/archive/blogs/larryosterman/feed.xml

2024 1

  1. Converting Win32 API results to std::wstring (or std::string)

2015 3

  1. The Windows 7 SDK is live!
  2. Five years ago today (August 2004)
  3. A quick run through the new Windows 7 multimedia audio SDK samples

2012 1

  1. Six, Seven and Eight years ago today (August 2003, August 2002, August 2001)…

2011 11

  1. Nine years ago today (August 2000)
  2. Elliot Omiya, Frank Yerrace and I make a video…
  3. Ten years ago today (August 1999)
  4. Eleven years ago today (August 1999)
  5. Twelve, Thirteen, Fourteen and Fifteen years ago (1994-1998)
  6. Sixteen years ago (1993)
  7. Seventeen years ago today (1992)
  8. Nineteen years ago today (1990)
  9. 20, 21 and 22 years ago (1987-1989)
  10. 23 years ago today (1986)
  11. 24 years ago today (1985)

2010 5

  1. Digging into the history bin (AKA: Microsoft Developer says that Windows is useless)
  2. What’s the difference between GetTickCount and timeGetTime?
  3. I can make it arbitrarily fast if I don’t actually have to make it work.
  4. Looking for new skillz (turning the blog around)…
  5. Win7 Whoppers

2009 44

  1. Windows 7 Reflections…
  2. Why are they called “giblets” anyway?
  3. What’s up with the Beep driver in Windows 7?
  4. Not Invented Here’s take on software security
  5. Microsoft Office team deploys botnet for security research
  6. What does “size_is” mean in an IDL file?
  7. It’s a bad idea to have a TEMP environment variable longer than about 130 characters
  8. Hacking Windows with Phones… I don’t get it.
  9. Why does Windows still place so much importance on filenames?
  10. The case of the inconsistent right shift results…
  11. Someone is a glutton for punishment
  12. How do people keep coming up with this stuff (mspaint as an audio track).
  13. Reason number 9,999,999 why you don’t ever use humorous elements in a shipping product
  14. Nobody ever reads the event logs…
  15. Getting started with test driven development
  16. What has Larry been doing for two years (and why has the blog been dark for so long)?
  17. Insecure vs. Unsecured
  18. Read-Only and Write-Only computer languages
  19. What’s wrong with this code–a real world example
  20. PathCchCanonicalizeEx doesn’t actually canonicalize filenames (AKA: Hey Larry, it helps to RTFM).
  21. Recursively Deleting a directory–with long filename support.
  22. ExpandEnvironmentStringsA returns a different required buffer length than ExpandEnvironmentStringsW
  23. Three years ago today (August 2006)
  24. A few of my favorite Win7 Sound features – Capture Monitor (aka Listen to…)
  25. Two years ago today (August 2007)
  26. A few of my favorite Win7 Sound features – UI refinements
  27. One year ago today (August 2008)…
  28. 6.1.7600.16385
  29. Tonight’s the night, won’t be just any night.
  30. Thinking about Windows Build numbers
  31. What’s wrong with this code, part 26 – the answer
  32. What’s wrong with this code, part 26 – a real-world example
  33. Windows 7 fixes the PlaySound(XXX, SND_MEMORY|SND_ASYNC) anti-pattern
  34. Good News! strlen isn’t a banned API after all.
  35. What was Valorie doing last weekend? Competing at the Sweet Adelines Region 13 competition…
  36. Well Hello Daniel!
  37. Delay Load is not a good way to check for functionality
  38. Checking file versions is surprisingly hard.
  39. PlaySound(xxx, SND_MEMORY | SND_ASYNC) is almost always a bad idea.
  40. Everyone wants a shiny new UI
  41. When you do UX work, sometimes you have to worry about the strangest things…
  42. XKCD tries Windows 7 and loves it!
  43. Why do people think that a server SKU works well as a general purpose operating system?
  44. Fixing a customer problem: “No Audio Device is Installed” when launching sndvol on Windows Vista

2008 54

  1. The ducking whitepaper is now online
  2. I get more spam :)
  3. What’s wrong with this code, part 25 – the answers
  4. What’s wrong with this code, part 25
  5. If you live in the US, don’t forget to vote today
  6. I'm in LA!
  7. Chrome is fixing the file download bug…
  8. Engineering 7: A view from the bottom
  9. What really happens when you shutdown Windows?
  10. What’s wrong with this code, part 24 – the answer
  11. What’s wrong with this code part 24 (From an MSDN article)?
  12. The common control library sometimes sends an NMCUSTOMDRAW message for the NM_CUSTOMDRAW notification.
  13. Ok, I’m strange…
  14. DrawThemeText doesn’t really support the DT_CALCRECT format value
  15. Why specify SND_NODEFAULT when calling PlaySound?
  16. They just announced my PDC talk, so I guess I can mention at least the title of the talk.
  17. Why call PlaySound(NULL, NULL, SND_NODEFAULT)?
  18. See you in LA in October!
  19. What’s wrong with this code, Part 23 – The Answers
  20. What’s wrong with this code, Part 23..
  21. Anatomy of a Heisenbug
  22. I'm So Excited!
  23. What makes a bug a security bug?
  24. Go see Shrek the Musical. Right now!
  25. Linus Torvalds is “Fed up with the ‘security circus’”
  26. The SS_PATHELLIPSIS, SS_ENDELLIPSIS and SS_WORDELLIPSIS styles force static controls to disable word wrap.
  27. Why doesn’t Windows support amplification of audio samples?
  28. Remembering Aaron Reynolds
  29. THIS is what a Windows PC should look like…
  30. What’s wrong with this code, Part 22 – the answers
  31. What’s wrong with this code, part 22 – Drawing Text…
  32. Oh Wow, Dr. Horrible is AWESOME!
  33. Whatever happened to Wave Out Mix?
  34. In which Larry goes back to college for the first time in over 20 years.
  35. BillG Memories, Part 2
  36. Who's on that banner?
  37. Off to the 5th Avenue Awards tonight!
  38. News Flash: Spaces are legal characters in both filenames and passwords!
  39. Cool Schwag :)
  40. More proof that crypto should be left to the experts
  41. Resilience is NOT necessarily a good thing
  42. This is the way the world (wide web) ends...
  43. Somehow I don't think I'm going to see this story on slashdot any time soon :)
  44. The Overlake Chamber Choir goes to Verona.
  45. Somehow I managed to do another Channel 9 video and I didn't even know it!
  46. The Trouble with Giblets
  47. "We're back and..."
  48. Casting from one interface to another...
  49. Why hasn't Larry posted in almost a month?
  50. Wow - We hired Crispin Cowan!!!
  51. We're finally legal!
  52. What's this untitled slider doing on the Vista volume mixer?
  53. Playing Librarian...
  54. Every Domain Name tells a story, I wonder what this one's was.

2007 95

  1. Merry Christmas to everyone
  2. Heard on a street corner in New York City
  3. Where's Larry Been?
  4. Hanselminutes
  5. So Amazon brought out this "Kindle" thingy... But I have one question for them...
  6. Think Geek Responds
  7. How to lose customers without really trying...
  8. Analog to Digital Conversion
  9. When you're analyzing the strength of a password, make sure you know what's done with it.
  10. My son is SUCH a geek (in a good way) :)
  11. The Shell used to get all the cool APIs :)
  12. Adding AutoComplete to your edit controls
  13. What happens when audio rendering fails?
  14. Why do people think that Windows is "easy"?
  15. "Memory Leak" when using the Vista Audio API notification routines
  16. Every threat model diagram should tell a story.
  17. The evolution of a data structure - the WAVEFORMAT.
  18. Larry and the "Ping of Death"
  19. Sorry about not posting...
  20. Must my service name have the name of the executable in which it's contained?
  21. The Windows command line is just a string...
  22. Some final thoughts on Threat Modeling...
  23. What's wrong with this code, part 21 - A Psychic Debugging Example - The answers.
  24. What's wrong with this code, Part 21 - A psychic debugging example: The missing piece
  25. What's wrong with this code, part 21, a psychic debugging example
  26. Threat Modeling Again, Threat Modeling Rules of Thumb
  27. Threat Modeling Again, Threat modeling and the fIrefoxurl issue.
  28. Threat Modeling Again, Threat Modeling in Practice
  29. Threat Modeling Again, Presenting the PlaySound Threat Model
  30. Threat Modeling Again, Pulling the threat model together
  31. Threat Modeling Again, Analyzing the threats to PlaySound
  32. Got Tetris?
  33. Threat Modeling Again, Threat Modeling PlaySound
  34. Threat Modeling Again, STRIDE per Element
  35. Threat Modeling Again, What does STRIDE have to do with threat modeling?
  36. Threat Modeling Again, STRIDE Mitigations
  37. Threat Modeling again. Drawing the diagram.
  38. Windows Vista Sound causes Network Throughput slowdowns.
  39. Applet Best Practices
  40. Applet Mitigations
  41. So why are applets so bad, anyway?
  42. Why do people write applets?
  43. Where does the time go? Daniel's play premiers on Friday!
  44. Live search thinks I'm who?
  45. Actually, the Internet IS a series of tubes...
  46. Playsound is failing on Vista! What's wrong?
  47. My mother will be happy, her grandson's going to be a Dentist!
  48. Tonight's the Night...
  49. Missed metaphors
  50. Compatibility works both ways
  51. The C abstract machine
  52. Blocking your UI thread with PlaySound
  53. What's wrong with this code, part 20: Yet another reason that named synchronization objects are dangerous, the answers
  54. What's wrong with this code, part 20(!): Yet another reason that named synchronization objects are dangerous...
  55. Volume in Windows Vista, part 3: Capture volume
  56. Where on earth did Larry go?
  57. Volume in Windows Vista, part 1: What is "volume"?
  58. Where did the second parties go?
  59. The last change for the cheesy OSD application - preventing volume recursion.
  60. Fun with the endpoint volume interfaces - closing the loop
  61. Fun with the endpoint volume interfaces - let's add metering...
  62. Other fun things to do with the EndpointVolume interfaces
  63. Why does KB 118626 use AccessCheck to check if you're a member of the administrators group?
  64. Fpo
  65. What's wrong with this code sample, the answer
  66. What's wrong with this code sample...
  67. How does my existing app change the master volume on Vista?
  68. How do I change the master volume in Windows Vista
  69. Why does the Media Center volume control change the master volume, not the per-application volume?
  70. No sound on a Toshiba M7 after a Vista install (aka: things that make you go "Huh?")
  71. Looking for Autumn...
  72. Living with Windows Home Server, Day 0.
  73. Vista Ship Gift, Part 2
  74. Why was the ability to specify an allocator during CoInitialize removed from the system?
  75. The Sad Story of CoGetMalloc
  76. Remembering old CPU bugs.
  77. What is AUDIODG.EXE?
  78. Vista Ship Gifts
  79. Software Contracts, Part 9: Annotations Outside the Compiler - More Runtime Enforced Annotations
  80. Software Contracts, Part 8: Annotations outside the compiler - runtime enforced annotations.
  81. Software Contracts, Part 7: Contracts as annotations - language features used to express contracts
  82. How the Magic of Windows Vista saved 38G of my data
  83. Single Points of Failure
  84. Software Contracts, Part 6: Annotations
  85. A Midsummer Night's Dream (The Musical) at KIDSTAGE TeenSelect!
  86. Software Contracts, Part 5: Hold on a second, why do we care about this stuff anyway?
  87. Software Contracts, Part 4: Documentation
  88. A Snowy Day...
  89. How long is a WAV file?
  90. Sometimes you find the answers to questions you didn't even know you were asking...
  91. Software Contracts, Part 3 - Sometimes implicit contracts are subtle
  92. Software Contracts, Part 2 - There are two sides to every contract.
  93. Contractual obligations
  94. Where do you go to get answers to your technical questions.
  95. Where's Larry been?

2006 81

  1. Proofreading...
  2. Flattening the world
  3. What's wrong with this code, part 19 - the answer
  4. What's wrong with this code, part 19
  5. Four years ago...
  6. Resolution to my IE CTRL-D problem
  7. The New Sounds are here!!!
  8. Two Bloggy Shoutouts
  9. Mother, Can I?
  10. So when is it ok to use SEH?
  11. It's much worse, in a better way
  12. Thanks!
  13. Forced to use XP again
  14. Sometimes people don't really get the point of defensive programming for security...
  15. A bedtime story :)
  16. Going gaga over XGL
  17. Larryosterman
  18. Technorati claims
  19. OMFG we've got a zamboni!
  20. Replacing operations with developers
  21. Collectionz
  22. Breaking into Apple
  23. So where DOES the mass of a tree come from?
  24. A Tree Grows... How?
  25. WASAPI documentation online
  26. Paddington Thoughts
  27. Daniel's first play of the summer starts on Thursday!
  28. Seen in the Grand Bazaar in Istanbul.
  29. To default, or not to default, that is the question...
  30. I'm Back (European trip report)
  31. Outta Here Again
  32. Best Practices for DllMain
  33. Critical Driver or Cargo Cult Programming?
  34. Making things go fast on a network, part 3
  35. He's Back (for a little bit)
  36. The blog goes dark for a while
  37. Making things go fast on a network, part 2
  38. Riffing on Raymond - Network performance...
  39. "Pippin"at the Fifth
  40. Why are computer games like restaurants?
  41. What's up with Larry not blogging?
  42. I could get to like this "Internet" thing.
  43. This one's for you John. The core OS team didn't forget you
  44. The purpose of an operating system, redux
  45. Riffing on Raymond - the purpose of an operating system
  46. Reorgalicious
  47. Why add a throw() to your methods?
  48. What's wrong with this code - part 18, bonus answer
  49. What's wrong with this code, part 18, plus a bonus bad code
  50. What's wrong with this code, Part 18
  51. Another year, another post
  52. Fun with names
  53. Book Review: Silence on the Wire
  54. Audio in Vista, the big picture
  55. Hello Mrs. Osterman
  56. Psychic Perf Analysis, or "RegFlushKey actually DOES flush the registry key"
  57. Useful service tricks - Debugging service startup
  58. Katamari 'R Filler
  59. Threat Modeling, then and now
  60. Suggestion Box
  61. The Code Room: Breaking Into Vegas
  62. The Clueless Manifesto
  63. Why Threat Model?
  64. WFP is my new best friend
  65. So apparently there's a "football" game going on this weekend?
  66. What Hath God Wrought
  67. Blog Hiccups
  68. What's wrong with this code, part 17 - the answer
  69. What's wrong with this code, part 17
  70. A peek behind the beep
  71. Riffing on Raymond - Splay Trees
  72. Nineteen years ago...
  73. My new "favorite" WIn32 API
  74. What registry entries are needed to register a COM object.
  75. COM registration of PROGIDs.
  76. COM registration if you need a typelib
  77. COM registration for cross process access
  78. Minimal COM object registration
  79. Silly little bit of Broadway trivia I didn't know
  80. When do you need an APPID in your COM registration?
  81. User Experiences

2005 200

  1. And the blog goes dark (just for a while, I've not retired or been fired :))
  2. Why doesn't Vista expose individual pairs of channels as separate endpoints?
  3. Volume control in Vista
  4. Another Channel9 Video
  5. Da Goat Horns
  6. Where does WASAPI fit in the big multimedia API picture?
  7. What's wrong with this code, part 16, the answers
  8. What's wrong with this code, part 16
  9. What's the big deal with Vista Betas?
  10. I wish I had written these...
  11. @#$@#$ When will people learn about the dancing bunnies/bears...
  12. I'm fried...
  13. The last consumer operating system written in my lifetime...
  14. My neighbor's Hive.Net video cast
  15. A co-worker just forwarded this...
  16. When do you hear the beep?
  17. Beep Beep
  18. Cool illusion found on Michael Gartenberg's blog
  19. What's wrong with this code, part 15 - the answers
  20. Another Surreal moment
  21. What's wrong with this code, part 15
  22. Does Visual Studio make you stupid?
  23. A really quick followup to the "No Easter Eggs" story
  24. Why no Easter Eggs?
  25. Early Easter Eggs
  26. Activate-As-Activator activates as activator
  27. Unintended consequences of adding APIs to the system
  28. Another of my favorite tricks - reducing the number of bits in a number by 1
  29. It's on the whiteboard
  30. Looking under rocks...
  31. Does __fastcall make a difference for C++ classes?
  32. Setting volume on audio CDs with MCI
  33. Sorry for the lack of technical stuff recently...
  34. I don't know if I should be honored or embarassed...
  35. Beresheit, with sidekicks (from the New Yorker, via Monica Cellio's blog)
  36. New Audio APIs for Vista
  37. What's an audio endpoint?
  38. Windows Audio Quality Enhancements
  39. Windows Audio Channel9 Video is up.
  40. Converting between bases...
  41. Interacting with Services
  42. I'm NOT at the PDC this year :)
  43. Breaking Up (shared services) Is(n't) Hard To Do
  44. Shared Services
  45. APIs you never heard of - the Timer APIs
  46. Mirra, first impressions
  47. Administrivia
  48. Where do "checked" and "free" come from?
  49. Milestones
  50. My favorite hardware bug
  51. Modifying software when running as LUA
  52. The application called an interface that was marshalled for a different thread.
  53. Why don't critical sections work cross process?
  54. Larry goes to Layer Court
  55. Off for the week
  56. Re-applying the decal
  57. Life in a faraday cage
  58. Another pet peeve. Nounifying the word "ask"
  59. Dos Ain't Done 'til Lotus Won't Run
  60. Where do they get those names?
  61. Cool article about Honk! at SCT in the local newspaper.
  62. Oh yeah - We shipped Beta1 today...
  63. Words I dislike - Policy
  64. Making time go faster
  65. We've RI'ed, part 2
  66. Seattle Childrens Theater Summer Season
  67. UUIDs are only unique if you generate them...
  68. Clippy Lives!
  69. Remember the blibbet
  70. Beware of the dancing bunnies.
  71. What's wrong with this code, part 14 - the answers
  72. What's wrong with this code, part 14
  73. What I did on the 4th of July...
  74. Should developers learn crypto?
  75. Private Destructors
  76. What's wrong with this code, part 13 - the answers
  77. What's wrong with this code, part lucky 13
  78. How many computers does it take to make a Microsoft employee happy
  79. Why is the DOS path character ""?
  80. Why is defense in depth so important?
  81. Why did I say that the Date&Time control panel applet was a security hole waiting to happen?
  82. Something I learned the other day...
  83. Hey, I'm an author too!
  84. Michael's finally writing the nitty gritty details of DllLoad
  85. Nathan's laws of software
  86. The dirty little secret of Windows volume
  87. What's in an audio volume?
  88. Mapping audio topologies to mixer topologies
  89. What's in your audio card?
  90. Venting steam
  91. Hacking Billy
  92. The Endian of Windows
  93. When new features expose old bugs.
  94. Error Code Paradigms
  95. My favorite error code
  96. Exceptions as repackaged error codes
  97. No post today, prepping for my presentation :( <EOM>
  98. Why does Windows share the root of your drive?
  99. How do you know what a particular error code means?
  100. How do you know what a particular error code means?
  101. Error Codes, again...
  102. Larry's Rules of software engineering, Part 4 - Writing servers is easy, writing clients is HARD.
  103. My New Monitor's Here! My New Monitor's Here!
  104. More CD Audio Trivia
  105. Grocery Wars
  106. Why I removed the MSN desktop search bar from IE
  107. What's wrong with this code, part 12 - Retro Bad Code Answers
  108. What's wrong with this code, part 12 - Retro Bad Code
  109. End of Life Issues
  110. Turning the blog around - End of Life issues.
  111. SPOILER WARNING ABOUT THE AMAZING RACE - Yes, there is justice in the world...
  112. Threat Modeling, Part 3 - Process
  113. Moving offices - again
  114. Playing audio CDs, part 11 - Why isn't my sample ready for prime time?
  115. Playing Audio CDs, part 10 - Glitch Free, Low Memory
  116. Microsoft Careers - Meet Our People: Larry
  117. Playing Audio CDs, part 7 - DAE Table of contents.
  118. What's actually on an audio CD?
  119. So what's wrong with DRM in the platform anyway?
  120. Playing audio CDs, part 6 - MCI Command playback
  121. More surrealism
  122. Playing a CD, part 5 - MCI commands.
  123. Playing Audio CDs, part 4 - MCI Playback.
  124. Playing Audio CDs, part 3 - MCI
  125. Surreal drive time
  126. Playing Audio CDs, part 2
  127. Stress reduction
  128. Playing Audio CDs
  129. Compressible Encryption
  130. Hacking the Papal Election
  131. What's wrong with this code, part 11 - the answers
  132. What's wrong with this code, part 11: Launching notepad.
  133. Real world security by obscurity
  134. It's the hardware, stupid!
  135. Purdue's entry in the Rube Goldberg contest
  136. RIP: Andre Norton
  137. Alignment (part 3): Why bother?
  138. Alignment (part 2): Packing
  139. Little Lost APIs
  140. Hacking the Decsystem 20
  141. Where's Larry?
  142. What is a BUGBUG?
  143. Still more misinformation about virtual memory and paging files
  144. Open Source and Hot Rods
  145. Concurrency, part way too many2 - Concurrency and the Win32 API set
  146. Concurrency, part way too many - concurrency and the C runtime library.
  147. What's wrong with this code, part 10 - the answers
  148. What's wrong with this code, part 10
  149. NPR Has a FASCINATING profile of Donald Knuth this morning...
  150. Microsoft's director of Shared Source is now blogging!
  151. Concurrency, Part 15 - Wrapping it all up.
  152. Concurrency, Part 14 - Odds and Ends
  153. Concurrency, Part 13 - Concurrency and the CLR
  154. Concurrency, part 12 - Hidden scalability issues, part 2
  155. Concurrency, part 11 - Hidden scalability issues
  156. Concurrency, Part 9 - APIs that enable scalable programming
  157. Concurrency, Part 8 - Concurrency for scalability
  158. Concurrency, part 7 - Why would you ever want to use concurrency in your application?
  159. Concurrency - An aside
  160. Concurrency, part 6 - Reference counting is hard :)
  161. Concurrency, part 5 - What happens when you can't avoid lock misordering?
  162. Concurrency, Part 4 - Deadlocks
  163. Concurrency, Part 3 - What if you can't avoid the issue?
  164. Concurrency, Part 2 - Avoiding the problem
  165. Concurrency, part one.
  166. Larry gets taken to task on concurrency
  167. OT: The Woodinville Family Preschool hits 23 this month
  168. WHat's wrong with this code, part 9 (File Copy) - the answers
  169. Book Review: Find the Bug by Adam Barr
  170. Somewhat Offtopic: For parents/interested parties in the Seattle area.
  171. Riffing on Raymond - FindFirst/FindNext
  172. OMG, I've been slashdotted!
  173. Tipping Points
  174. Farewell to one of the great ones
  175. We've RI'ed!!!
  176. Transfering a pointer across processes
  177. What does "Robust" mean?
  178. Another example of programming style
  179. Keeping kids safe on the internet
  180. Why is Control-Alt-Delete the secure attention sequence (SAS)?
  181. XP and Systems Programming
  182. Kitten Pictures...
  183. New "Iron Man" Microsoft Blogger
  184. This is just wierd - why doesn't KOMO TV's hidef signal reliably work?
  185. 419 scams 'R' us..
  186. 18 years ago, Today.
  187. Threat Modeling, Part 2 - threats
  188. Wholey Google Juice, Batman!
  189. Threat Modeling, part 1
  190. Anatomy of a software bug, part 2 - the NT browser
  191. Anatomy of a software bug, part 1 - the NT browser
  192. What's wrong with this code, part 8 - the answers.
  193. What's wrong with this code, part 8 - Email Address Validation
  194. Microsoft Anti-Spyware
  195. What IS a security vulnerability, anyway?
  196. Why does Win32 even have Fibers?
  197. What's the big deal with the Moore's law post?
  198. Phuket
  199. Moore's Law Is Dead, Long Live Moore's law
  200. Bobs Math Question: The Official Answers

2004 215

  1. Win32 on Win64 Registry support
  2. What does _imp_<Function> mean?
  3. Going dark until next week
  4. Interview Questions
  5. I couldn't pass this by: KenJen's now working for Microsoft as a spokesman for Encarta
  6. Slavish Compatibility
  7. Why doesn't Disney's "Adventures in Typing with Timon and Pumba" work on my PC?
  8. Why is the compiler flag for symbols -Zi?
  9. What does Larry's style look like?
  10. What does style look like, part 8 (the end)
  11. What does style look like, part 7
  12. What comes after Quaternary?
  13. What does style look like, part 6
  14. What does style look like, part 5
  15. What does style look like, part 4
  16. What does style look like, part 2
  17. What does style look like?
  18. How did we make the DOS redirector take up only 256 bytes of memory?
  19. I don't normally cross-post, but this was just too funny.
  20. Fifth video's up
  21. And the fourth video's now up on Channel9.
  22. Third video's up
  23. Still more videos posted
  24. November 2nd
  25. Awesome article on how a hacker can compromise a network
  26. What's in a WAV file?
  27. Really cool new app just released
  28. So how do I play sounds anyway?
  29. What IS audio on a PC anyway?
  30. Wow, Jim Horne's blogging too...
  31. Sharron absolutely Rocks!
  32. Fascinating article on Passphrases just posted
  33. What's wrong with this code, part 7: The answers
  34. Hey wait, I'm a published author now!
  35. IE Code quality commentary...
  36. IIS vs Apache vulnerabilities chart.
  37. What's wrong with this code, Part 7: The answers.
  38. What's wrong with this code, part 7
  39. So what exactly IS COM anyway?
  40. Cool Speaker: Ben Mikaelsen
  41. Fall Foliage
  42. Can my STA object create worker threads?
  43. How does COM activation work anyway?
  44. Innovation in the computer industry
  45. Oh wow, Bruce Schneier's blogging.
  46. Canons
  47. Larry's rules of software engineering, Part 3: "Zero Defects" doesn't result in zero defects
  48. Ok, so I lied (a bit)
  49. Microsoft Exchange 5.0's credential cache security problems
  50. Desigining an authentication system
  51. Hey, why am I leaking all my BSTR's?
  52. When I moved my code into a library, what happened to my ATL COM objects?
  53. Cleaning up shared resources when a process is abnormally terminated
  54. Types of testers and types of testing
  55. Running Non Admin
  56. Why is there a GENERIC_MAPPING parameter to the AccessCheck API?
  57. On the "Day of Caring"
  58. Putting Pants on an Elephant.
  59. Going Dark Tomorrow.
  60. I figure this is redundant, but...
  61. Proudly Serving our corporate masters...
  62. Access Checks, part 2
  63. Access Checks
  64. I thought I could avoid writing this today but...
  65. What's wrong with this code, part 6 - the answers
  66. What's wrong with this code, part 6
  67. Dare on cost cutting at Microsoft
  68. How Exchange's role SIDs work (aka. NT's security on Psychotropic Drugs)
  69. Fun things to do with SIDs
  70. What is this thing called, SID?
  71. Surveillance at a local Shell station
  72. A Parable
  73. LarryO's Suggestion box
  74. The suggestion box is now back open
  75. XP SP2 Craters
  76. Nineteen years ago today (ok, by now, everyone sees where this one's going :))
  77. Eighteen years ago...
  78. Seventeen years ago today
  79. Things to do with your son over a long wet weekend...
  80. Silly historical notes
  81. Mary, Mary, quite contrary, how does your stackframe grow?
  82. Ok, what the heck IS the windows audio service (audiosrv) anyway?
  83. Why didn't XP SP2 install copy the right SP2 DLL when there was a DLL with a higher version number on the machine?
  84. Debugging a problem: Audio stops working after an XP SP2 install
  85. So why didn't the Windows guys just remove the AARD code from the system?
  86. I can't let this one pass by...
  87. Sometimes you've just got to wonder.
  88. AARDvarks in your code.
  89. Where do I get netfw.h?
  90. Three years ago today
  91. Insecurity in our daily lives
  92. The consequences of ignoring nagling and delayed acks
  93. What's wrong with this code, part 5: The answers
  94. What's wrong with this code, part 5
  95. My favorite APIs: TransmitFile
  96. Waste, Fraud, and Abuse
  97. Comment Policy is now up.
  98. Larry's Comment Policy
  99. The Computer Ate My Vote
  100. Just ran into this on /.: Amit Singh's essay on computer security.
  101. How do I open ports in the Windows Firewall, part 3
  102. It's Opening Night Tomorrow!
  103. Blogging messes up my IE address bar.
  104. How do I open ports in the Windows Firewall, part 2
  105. How do I open ports in the Windows Firewall?
  106. The suggestion box is now open!
  107. Larry's Suggestion Box
  108. What's wrong with this code, part 4: the answers
  109. Every programmer should know assembly language - part two
  110. 35 years ago today...
  111. What's wrong wth this code, part 4
  112. What are Known DLLs anyway?
  113. IE Annoyances..
  114. Milestones (not Millstones)
  115. I, Robot
  116. Sometime soon, this internet thing is going to be really big, ya know.
  117. More on plumbing fixtures...
  118. New Exchange 'blog post, this one on push notifications
  119. Jon Wiswall's started blogging...
  120. So how am I doing?
  121. Microsoft and Art
  122. It's the platform, Silly!
  123. Why should I even bother to use DLL's in my system?
  124. How to stop politicians from asking you for money
  125. Impersonation and named pipes.
  126. SpaceShipOne pictures
  127. What's wrong with this code, Part 3: The answers
  128. What's wrong with this code, part 3
  129. Warning: Minor Political Incorrectness Within...
  130. Why doesn't delegation work over the network?
  131. Security Terms
  132. No post today :(
  133. A must-have gadget for every multimedia aficionado
  134. Larry got infected by a Virus, the aftermath...
  135. New Exchange 'blog post updated.
  136. Hugarian notation - it's my turn now :)
  137. Cool new toys on the horizon
  138. Elevators
  139. Viruses - I feel your pain
  140. How do I debug a problem in someone elses code
  141. Why do we all use Wintel machines these days?
  142. Sharron is now a published Author!!!
  143. Does anyone remember the ORIGINAL MS-DOS encyclopedia?
  144. Larry's rules of software engineering part 1, redux
  145. More office hijinks
  146. Hey, they think they caught the guys who stole the Half-Life source code!
  147. DLL_PROCESS_DETACH is the last thing my DLL's going to see, right?
  148. Hey Cool! My cousin's touring with CSN this summer!
  149. Why doesn't Mozilla (Firefox) like the Microsoft OCA web site?
  150. Little known Win32 APIs: DisableThreadLibraryCalls()
  151. Things you shouldn't do, Part 4: MsgWaitForMultipleObjects is a very tricky API
  152. Windows Error Reporting and Online Crash Analysis are your friends.
  153. Obfuscated code...
  154. Validating inputs
  155. Free security CD from Microsoft
  156. Unique pointers in COM interfaces
  157. Things not to do, Part 3: Don't call CreateFile on your Windows message pump thread.
  158. Business Conduct Training Complaints
  159. Software archaeology
  160. I win the google prize!
  161. Managed Code can't have memory leaks, right?
  162. How do I divide fractions?
  163. Should I check the parameters to my function?
  164. Office Decorations
  165. What assembly language DOES your code generate?
  166. Why is it FILE_SHARE_READ and FILE_SHARE_WRITE anyway?
  167. Things you shouldn't do, part 2: Dll's can't ever call CoInitialize* on the application's thread.
  168. What's wrong with this code, part 2 (the answers)
  169. What's wrong with this code, take two...
  170. Things not to do when you run a combined build and BVT lab...
  171. Longhorn system requirements
  172. So what WILL the postal service accept?
  173. Mea Culpa (it's corrections time).
  174. Remember the Giblets!
  175. Measure Twice, Optimize Once
  176. How much is too much?
  177. Choosing a C runtime library
  178. What are these "Threading Models" and why do I care?
  179. Any MVP's out there?
  180. What's wrong with this code?
  181. What if Microsoft behaved like the Coalition Provisional Authority?
  182. What's Larry doing this weekend?
  183. Things you shouldn't do, part 1 - DllMain is special
  184. It's about bloody time...
  185. Another Exchange blog posted
  186. When global destructors bite
  187. Spywares
  188. Page 23 Meme
  189. Larry's rules of software engineering #2: Measuring testers by test metrics doesn't.
  190. It's only temporary
  191. I get all my news on /.
  192. Ok, I lied a bit...
  193. I've never seen anything that big.
  194. I'm OOF for a week.
  195. Dave Ross has a weblog!
  196. More Exchange stuff posted
  197. It's on the web, it must be true, right?
  198. Larry's rules of software engineering, part 1: Every software engineer should know roughly what assembly language their code generates.
  199. Bonzer mailing list of the evening :)
  200. Erroneous assumptions
  201. One in a million redux
  202. You snooze, you lose
  203. Just saw this on PRWIRE
  204. One in a million is next Tuesday
  205. So you need a worker thread pool...
  206. Problems...
  207. What's the difference between MS-DOS and PC-DOS?
  208. Exchange 5.5's access check logic
  209. Did you know that OS/2 wasn't Microsoft's first non Unix multi-tasking operating system?
  210. Non Technical: So What's Larry going to be doing this weekend?
  211. Why doesn't CTRL-C stop NET USE?
  212. So why does NT require such a wonking great big paging file on my machine?
  213. When security firms offer bad advice.
  214. Things not to do when writing software
  215. Howdy