Larry Osterman's WebLog
learn.microsoft.com/en-us/archive/blogs/larryosterman
Just another Developer Network site
Windows internalsComputing historySoftware / engineering practiceMicrosoft blogsMSDN archive
- 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
2015 3
2012 1
2011 11
- Nine years ago today (August 2000)
- Elliot Omiya, Frank Yerrace and I make a video…
- Ten years ago today (August 1999)
- Eleven years ago today (August 1999)
- Twelve, Thirteen, Fourteen and Fifteen years ago (1994-1998)
- Sixteen years ago (1993)
- Seventeen years ago today (1992)
- Nineteen years ago today (1990)
- 20, 21 and 22 years ago (1987-1989)
- 23 years ago today (1986)
- 24 years ago today (1985)
2010 5
2009 44
- Windows 7 Reflections…
- Why are they called “giblets” anyway?
- What’s up with the Beep driver in Windows 7?
- Not Invented Here’s take on software security
- Microsoft Office team deploys botnet for security research
- What does “size_is” mean in an IDL file?
- It’s a bad idea to have a TEMP environment variable longer than about 130 characters
- Hacking Windows with Phones… I don’t get it.
- Why does Windows still place so much importance on filenames?
- The case of the inconsistent right shift results…
- Someone is a glutton for punishment
- How do people keep coming up with this stuff (mspaint as an audio track).
- Reason number 9,999,999 why you don’t ever use humorous elements in a shipping product
- Nobody ever reads the event logs…
- Getting started with test driven development
- What has Larry been doing for two years (and why has the blog been dark for so long)?
- Insecure vs. Unsecured
- Read-Only and Write-Only computer languages
- What’s wrong with this code–a real world example
- PathCchCanonicalizeEx doesn’t actually canonicalize filenames (AKA: Hey Larry, it helps to RTFM).
- Recursively Deleting a directory–with long filename support.
- ExpandEnvironmentStringsA returns a different required buffer length than ExpandEnvironmentStringsW
- Three years ago today (August 2006)
- A few of my favorite Win7 Sound features – Capture Monitor (aka Listen to…)
- Two years ago today (August 2007)
- A few of my favorite Win7 Sound features – UI refinements
- One year ago today (August 2008)…
- 6.1.7600.16385
- Tonight’s the night, won’t be just any night.
- Thinking about Windows Build numbers
- What’s wrong with this code, part 26 – the answer
- What’s wrong with this code, part 26 – a real-world example
- Windows 7 fixes the PlaySound(XXX, SND_MEMORY|SND_ASYNC) anti-pattern
- Good News! strlen isn’t a banned API after all.
- What was Valorie doing last weekend? Competing at the Sweet Adelines Region 13 competition…
- Well Hello Daniel!
- Delay Load is not a good way to check for functionality
- Checking file versions is surprisingly hard.
- PlaySound(xxx, SND_MEMORY | SND_ASYNC) is almost always a bad idea.
- Everyone wants a shiny new UI
- When you do UX work, sometimes you have to worry about the strangest things…
- XKCD tries Windows 7 and loves it!
- Why do people think that a server SKU works well as a general purpose operating system?
- Fixing a customer problem: “No Audio Device is Installed” when launching sndvol on Windows Vista
2008 54
- The ducking whitepaper is now online
- I get more spam :)
- What’s wrong with this code, part 25 – the answers
- What’s wrong with this code, part 25
- If you live in the US, don’t forget to vote today
- I'm in LA!
- Chrome is fixing the file download bug…
- Engineering 7: A view from the bottom
- What really happens when you shutdown Windows?
- What’s wrong with this code, part 24 – the answer
- What’s wrong with this code part 24 (From an MSDN article)?
- The common control library sometimes sends an NMCUSTOMDRAW message for the NM_CUSTOMDRAW notification.
- Ok, I’m strange…
- DrawThemeText doesn’t really support the DT_CALCRECT format value
- Why specify SND_NODEFAULT when calling PlaySound?
- They just announced my PDC talk, so I guess I can mention at least the title of the talk.
- Why call PlaySound(NULL, NULL, SND_NODEFAULT)?
- See you in LA in October!
- What’s wrong with this code, Part 23 – The Answers
- What’s wrong with this code, Part 23..
- Anatomy of a Heisenbug
- I'm So Excited!
- What makes a bug a security bug?
- Go see Shrek the Musical. Right now!
- Linus Torvalds is “Fed up with the ‘security circus’”
- The SS_PATHELLIPSIS, SS_ENDELLIPSIS and SS_WORDELLIPSIS styles force static controls to disable word wrap.
- Why doesn’t Windows support amplification of audio samples?
- Remembering Aaron Reynolds
- THIS is what a Windows PC should look like…
- What’s wrong with this code, Part 22 – the answers
- What’s wrong with this code, part 22 – Drawing Text…
- Oh Wow, Dr. Horrible is AWESOME!
- Whatever happened to Wave Out Mix?
- In which Larry goes back to college for the first time in over 20 years.
- BillG Memories, Part 2
- Who's on that banner?
- Off to the 5th Avenue Awards tonight!
- News Flash: Spaces are legal characters in both filenames and passwords!
- Cool Schwag :)
- More proof that crypto should be left to the experts
- Resilience is NOT necessarily a good thing
- This is the way the world (wide web) ends...
- Somehow I don't think I'm going to see this story on slashdot any time soon :)
- The Overlake Chamber Choir goes to Verona.
- Somehow I managed to do another Channel 9 video and I didn't even know it!
- The Trouble with Giblets
- "We're back and..."
- Casting from one interface to another...
- Why hasn't Larry posted in almost a month?
- Wow - We hired Crispin Cowan!!!
- We're finally legal!
- What's this untitled slider doing on the Vista volume mixer?
- Playing Librarian...
- Every Domain Name tells a story, I wonder what this one's was.
2007 95
- Merry Christmas to everyone
- Heard on a street corner in New York City
- Where's Larry Been?
- Hanselminutes
- So Amazon brought out this "Kindle" thingy... But I have one question for them...
- Think Geek Responds
- How to lose customers without really trying...
- Analog to Digital Conversion
- When you're analyzing the strength of a password, make sure you know what's done with it.
- My son is SUCH a geek (in a good way) :)
- The Shell used to get all the cool APIs :)
- Adding AutoComplete to your edit controls
- What happens when audio rendering fails?
- Why do people think that Windows is "easy"?
- "Memory Leak" when using the Vista Audio API notification routines
- Every threat model diagram should tell a story.
- The evolution of a data structure - the WAVEFORMAT.
- Larry and the "Ping of Death"
- Sorry about not posting...
- Must my service name have the name of the executable in which it's contained?
- The Windows command line is just a string...
- Some final thoughts on Threat Modeling...
- What's wrong with this code, part 21 - A Psychic Debugging Example - The answers.
- What's wrong with this code, Part 21 - A psychic debugging example: The missing piece
- What's wrong with this code, part 21, a psychic debugging example
- Threat Modeling Again, Threat Modeling Rules of Thumb
- Threat Modeling Again, Threat modeling and the fIrefoxurl issue.
- Threat Modeling Again, Threat Modeling in Practice
- Threat Modeling Again, Presenting the PlaySound Threat Model
- Threat Modeling Again, Pulling the threat model together
- Threat Modeling Again, Analyzing the threats to PlaySound
- Got Tetris?
- Threat Modeling Again, Threat Modeling PlaySound
- Threat Modeling Again, STRIDE per Element
- Threat Modeling Again, What does STRIDE have to do with threat modeling?
- Threat Modeling Again, STRIDE Mitigations
- Threat Modeling again. Drawing the diagram.
- Windows Vista Sound causes Network Throughput slowdowns.
- Applet Best Practices
- Applet Mitigations
- So why are applets so bad, anyway?
- Why do people write applets?
- Where does the time go? Daniel's play premiers on Friday!
- Live search thinks I'm who?
- Actually, the Internet IS a series of tubes...
- Playsound is failing on Vista! What's wrong?
- My mother will be happy, her grandson's going to be a Dentist!
- Tonight's the Night...
- Missed metaphors
- Compatibility works both ways
- The C abstract machine
- Blocking your UI thread with PlaySound
- What's wrong with this code, part 20: Yet another reason that named synchronization objects are dangerous, the answers
- What's wrong with this code, part 20(!): Yet another reason that named synchronization objects are dangerous...
- Volume in Windows Vista, part 3: Capture volume
- Where on earth did Larry go?
- Volume in Windows Vista, part 1: What is "volume"?
- Where did the second parties go?
- The last change for the cheesy OSD application - preventing volume recursion.
- Fun with the endpoint volume interfaces - closing the loop
- Fun with the endpoint volume interfaces - let's add metering...
- Other fun things to do with the EndpointVolume interfaces
- Why does KB 118626 use AccessCheck to check if you're a member of the administrators group?
- Fpo
- What's wrong with this code sample, the answer
- What's wrong with this code sample...
- How does my existing app change the master volume on Vista?
- How do I change the master volume in Windows Vista
- Why does the Media Center volume control change the master volume, not the per-application volume?
- No sound on a Toshiba M7 after a Vista install (aka: things that make you go "Huh?")
- Looking for Autumn...
- Living with Windows Home Server, Day 0.
- Vista Ship Gift, Part 2
- Why was the ability to specify an allocator during CoInitialize removed from the system?
- The Sad Story of CoGetMalloc
- Remembering old CPU bugs.
- What is AUDIODG.EXE?
- Vista Ship Gifts
- Software Contracts, Part 9: Annotations Outside the Compiler - More Runtime Enforced Annotations
- Software Contracts, Part 8: Annotations outside the compiler - runtime enforced annotations.
- Software Contracts, Part 7: Contracts as annotations - language features used to express contracts
- How the Magic of Windows Vista saved 38G of my data
- Single Points of Failure
- Software Contracts, Part 6: Annotations
- A Midsummer Night's Dream (The Musical) at KIDSTAGE TeenSelect!
- Software Contracts, Part 5: Hold on a second, why do we care about this stuff anyway?
- Software Contracts, Part 4: Documentation
- A Snowy Day...
- How long is a WAV file?
- Sometimes you find the answers to questions you didn't even know you were asking...
- Software Contracts, Part 3 - Sometimes implicit contracts are subtle
- Software Contracts, Part 2 - There are two sides to every contract.
- Contractual obligations
- Where do you go to get answers to your technical questions.
- Where's Larry been?
2006 81
- Proofreading...
- Flattening the world
- What's wrong with this code, part 19 - the answer
- What's wrong with this code, part 19
- Four years ago...
- Resolution to my IE CTRL-D problem
- The New Sounds are here!!!
- Two Bloggy Shoutouts
- Mother, Can I?
- So when is it ok to use SEH?
- It's much worse, in a better way
- Thanks!
- Forced to use XP again
- Sometimes people don't really get the point of defensive programming for security...
- A bedtime story :)
- Going gaga over XGL
- Larryosterman
- Technorati claims
- OMFG we've got a zamboni!
- Replacing operations with developers
- Collectionz
- Breaking into Apple
- So where DOES the mass of a tree come from?
- A Tree Grows... How?
- WASAPI documentation online
- Paddington Thoughts
- Daniel's first play of the summer starts on Thursday!
- Seen in the Grand Bazaar in Istanbul.
- To default, or not to default, that is the question...
- I'm Back (European trip report)
- Outta Here Again
- Best Practices for DllMain
- Critical Driver or Cargo Cult Programming?
- Making things go fast on a network, part 3
- He's Back (for a little bit)
- The blog goes dark for a while
- Making things go fast on a network, part 2
- Riffing on Raymond - Network performance...
- "Pippin"at the Fifth
- Why are computer games like restaurants?
- What's up with Larry not blogging?
- I could get to like this "Internet" thing.
- This one's for you John. The core OS team didn't forget you
- The purpose of an operating system, redux
- Riffing on Raymond - the purpose of an operating system
- Reorgalicious
- Why add a throw() to your methods?
- What's wrong with this code - part 18, bonus answer
- What's wrong with this code, part 18, plus a bonus bad code
- What's wrong with this code, Part 18
- Another year, another post
- Fun with names
- Book Review: Silence on the Wire
- Audio in Vista, the big picture
- Hello Mrs. Osterman
- Psychic Perf Analysis, or "RegFlushKey actually DOES flush the registry key"
- Useful service tricks - Debugging service startup
- Katamari 'R Filler
- Threat Modeling, then and now
- Suggestion Box
- The Code Room: Breaking Into Vegas
- The Clueless Manifesto
- Why Threat Model?
- WFP is my new best friend
- So apparently there's a "football" game going on this weekend?
- What Hath God Wrought
- Blog Hiccups
- What's wrong with this code, part 17 - the answer
- What's wrong with this code, part 17
- A peek behind the beep
- Riffing on Raymond - Splay Trees
- Nineteen years ago...
- My new "favorite" WIn32 API
- What registry entries are needed to register a COM object.
- COM registration of PROGIDs.
- COM registration if you need a typelib
- COM registration for cross process access
- Minimal COM object registration
- Silly little bit of Broadway trivia I didn't know
- When do you need an APPID in your COM registration?
- User Experiences
2005 200
- And the blog goes dark (just for a while, I've not retired or been fired :))
- Why doesn't Vista expose individual pairs of channels as separate endpoints?
- Volume control in Vista
- Another Channel9 Video
- Da Goat Horns
- Where does WASAPI fit in the big multimedia API picture?
- What's wrong with this code, part 16, the answers
- What's wrong with this code, part 16
- What's the big deal with Vista Betas?
- I wish I had written these...
- @#$@#$ When will people learn about the dancing bunnies/bears...
- I'm fried...
- The last consumer operating system written in my lifetime...
- My neighbor's Hive.Net video cast
- A co-worker just forwarded this...
- When do you hear the beep?
- Beep Beep
- Cool illusion found on Michael Gartenberg's blog
- What's wrong with this code, part 15 - the answers
- Another Surreal moment
- What's wrong with this code, part 15
- Does Visual Studio make you stupid?
- A really quick followup to the "No Easter Eggs" story
- Why no Easter Eggs?
- Early Easter Eggs
- Activate-As-Activator activates as activator
- Unintended consequences of adding APIs to the system
- Another of my favorite tricks - reducing the number of bits in a number by 1
- It's on the whiteboard
- Looking under rocks...
- Does __fastcall make a difference for C++ classes?
- Setting volume on audio CDs with MCI
- Sorry for the lack of technical stuff recently...
- I don't know if I should be honored or embarassed...
- Beresheit, with sidekicks (from the New Yorker, via Monica Cellio's blog)
- New Audio APIs for Vista
- What's an audio endpoint?
- Windows Audio Quality Enhancements
- Windows Audio Channel9 Video is up.
- Converting between bases...
- Interacting with Services
- I'm NOT at the PDC this year :)
- Breaking Up (shared services) Is(n't) Hard To Do
- Shared Services
- APIs you never heard of - the Timer APIs
- Mirra, first impressions
- Administrivia
- Where do "checked" and "free" come from?
- Milestones
- My favorite hardware bug
- Modifying software when running as LUA
- The application called an interface that was marshalled for a different thread.
- Why don't critical sections work cross process?
- Larry goes to Layer Court
- Off for the week
- Re-applying the decal
- Life in a faraday cage
- Another pet peeve. Nounifying the word "ask"
- Dos Ain't Done 'til Lotus Won't Run
- Where do they get those names?
- Cool article about Honk! at SCT in the local newspaper.
- Oh yeah - We shipped Beta1 today...
- Words I dislike - Policy
- Making time go faster
- We've RI'ed, part 2
- Seattle Childrens Theater Summer Season
- UUIDs are only unique if you generate them...
- Clippy Lives!
- Remember the blibbet
- Beware of the dancing bunnies.
- What's wrong with this code, part 14 - the answers
- What's wrong with this code, part 14
- What I did on the 4th of July...
- Should developers learn crypto?
- Private Destructors
- What's wrong with this code, part 13 - the answers
- What's wrong with this code, part lucky 13
- How many computers does it take to make a Microsoft employee happy
- Why is the DOS path character ""?
- Why is defense in depth so important?
- Why did I say that the Date&Time control panel applet was a security hole waiting to happen?
- Something I learned the other day...
- Hey, I'm an author too!
- Michael's finally writing the nitty gritty details of DllLoad
- Nathan's laws of software
- The dirty little secret of Windows volume
- What's in an audio volume?
- Mapping audio topologies to mixer topologies
- What's in your audio card?
- Venting steam
- Hacking Billy
- The Endian of Windows
- When new features expose old bugs.
- Error Code Paradigms
- My favorite error code
- Exceptions as repackaged error codes
- No post today, prepping for my presentation :( <EOM>
- Why does Windows share the root of your drive?
- How do you know what a particular error code means?
- How do you know what a particular error code means?
- Error Codes, again...
- Larry's Rules of software engineering, Part 4 - Writing servers is easy, writing clients is HARD.
- My New Monitor's Here! My New Monitor's Here!
- More CD Audio Trivia
- Grocery Wars
- Why I removed the MSN desktop search bar from IE
- What's wrong with this code, part 12 - Retro Bad Code Answers
- What's wrong with this code, part 12 - Retro Bad Code
- End of Life Issues
- Turning the blog around - End of Life issues.
- SPOILER WARNING ABOUT THE AMAZING RACE - Yes, there is justice in the world...
- Threat Modeling, Part 3 - Process
- Moving offices - again
- Playing audio CDs, part 11 - Why isn't my sample ready for prime time?
- Playing Audio CDs, part 10 - Glitch Free, Low Memory
- Microsoft Careers - Meet Our People: Larry
- Playing Audio CDs, part 7 - DAE Table of contents.
- What's actually on an audio CD?
- So what's wrong with DRM in the platform anyway?
- Playing audio CDs, part 6 - MCI Command playback
- More surrealism
- Playing a CD, part 5 - MCI commands.
- Playing Audio CDs, part 4 - MCI Playback.
- Playing Audio CDs, part 3 - MCI
- Surreal drive time
- Playing Audio CDs, part 2
- Stress reduction
- Playing Audio CDs
- Compressible Encryption
- Hacking the Papal Election
- What's wrong with this code, part 11 - the answers
- What's wrong with this code, part 11: Launching notepad.
- Real world security by obscurity
- It's the hardware, stupid!
- Purdue's entry in the Rube Goldberg contest
- RIP: Andre Norton
- Alignment (part 3): Why bother?
- Alignment (part 2): Packing
- Little Lost APIs
- Hacking the Decsystem 20
- Where's Larry?
- What is a BUGBUG?
- Still more misinformation about virtual memory and paging files
- Open Source and Hot Rods
- Concurrency, part way too many2 - Concurrency and the Win32 API set
- Concurrency, part way too many - concurrency and the C runtime library.
- What's wrong with this code, part 10 - the answers
- What's wrong with this code, part 10
- NPR Has a FASCINATING profile of Donald Knuth this morning...
- Microsoft's director of Shared Source is now blogging!
- Concurrency, Part 15 - Wrapping it all up.
- Concurrency, Part 14 - Odds and Ends
- Concurrency, Part 13 - Concurrency and the CLR
- Concurrency, part 12 - Hidden scalability issues, part 2
- Concurrency, part 11 - Hidden scalability issues
- Concurrency, Part 9 - APIs that enable scalable programming
- Concurrency, Part 8 - Concurrency for scalability
- Concurrency, part 7 - Why would you ever want to use concurrency in your application?
- Concurrency - An aside
- Concurrency, part 6 - Reference counting is hard :)
- Concurrency, part 5 - What happens when you can't avoid lock misordering?
- Concurrency, Part 4 - Deadlocks
- Concurrency, Part 3 - What if you can't avoid the issue?
- Concurrency, Part 2 - Avoiding the problem
- Concurrency, part one.
- Larry gets taken to task on concurrency
- OT: The Woodinville Family Preschool hits 23 this month
- WHat's wrong with this code, part 9 (File Copy) - the answers
- Book Review: Find the Bug by Adam Barr
- Somewhat Offtopic: For parents/interested parties in the Seattle area.
- Riffing on Raymond - FindFirst/FindNext
- OMG, I've been slashdotted!
- Tipping Points
- Farewell to one of the great ones
- We've RI'ed!!!
- Transfering a pointer across processes
- What does "Robust" mean?
- Another example of programming style
- Keeping kids safe on the internet
- Why is Control-Alt-Delete the secure attention sequence (SAS)?
- XP and Systems Programming
- Kitten Pictures...
- New "Iron Man" Microsoft Blogger
- This is just wierd - why doesn't KOMO TV's hidef signal reliably work?
- 419 scams 'R' us..
- 18 years ago, Today.
- Threat Modeling, Part 2 - threats
- Wholey Google Juice, Batman!
- Threat Modeling, part 1
- Anatomy of a software bug, part 2 - the NT browser
- Anatomy of a software bug, part 1 - the NT browser
- What's wrong with this code, part 8 - the answers.
- What's wrong with this code, part 8 - Email Address Validation
- Microsoft Anti-Spyware
- What IS a security vulnerability, anyway?
- Why does Win32 even have Fibers?
- What's the big deal with the Moore's law post?
- Phuket
- Moore's Law Is Dead, Long Live Moore's law
- Bobs Math Question: The Official Answers
2004 215
- Win32 on Win64 Registry support
- What does _imp_<Function> mean?
- Going dark until next week
- Interview Questions
- I couldn't pass this by: KenJen's now working for Microsoft as a spokesman for Encarta
- Slavish Compatibility
- Why doesn't Disney's "Adventures in Typing with Timon and Pumba" work on my PC?
- Why is the compiler flag for symbols -Zi?
- What does Larry's style look like?
- What does style look like, part 8 (the end)
- What does style look like, part 7
- What comes after Quaternary?
- What does style look like, part 6
- What does style look like, part 5
- What does style look like, part 4
- What does style look like, part 2
- What does style look like?
- How did we make the DOS redirector take up only 256 bytes of memory?
- I don't normally cross-post, but this was just too funny.
- Fifth video's up
- And the fourth video's now up on Channel9.
- Third video's up
- Still more videos posted
- November 2nd
- Awesome article on how a hacker can compromise a network
- What's in a WAV file?
- Really cool new app just released
- So how do I play sounds anyway?
- What IS audio on a PC anyway?
- Wow, Jim Horne's blogging too...
- Sharron absolutely Rocks!
- Fascinating article on Passphrases just posted
- What's wrong with this code, part 7: The answers
- Hey wait, I'm a published author now!
- IE Code quality commentary...
- IIS vs Apache vulnerabilities chart.
- What's wrong with this code, Part 7: The answers.
- What's wrong with this code, part 7
- So what exactly IS COM anyway?
- Cool Speaker: Ben Mikaelsen
- Fall Foliage
- Can my STA object create worker threads?
- How does COM activation work anyway?
- Innovation in the computer industry
- Oh wow, Bruce Schneier's blogging.
- Canons
- Larry's rules of software engineering, Part 3: "Zero Defects" doesn't result in zero defects
- Ok, so I lied (a bit)
- Microsoft Exchange 5.0's credential cache security problems
- Desigining an authentication system
- Hey, why am I leaking all my BSTR's?
- When I moved my code into a library, what happened to my ATL COM objects?
- Cleaning up shared resources when a process is abnormally terminated
- Types of testers and types of testing
- Running Non Admin
- Why is there a GENERIC_MAPPING parameter to the AccessCheck API?
- On the "Day of Caring"
- Putting Pants on an Elephant.
- Going Dark Tomorrow.
- I figure this is redundant, but...
- Proudly Serving our corporate masters...
- Access Checks, part 2
- Access Checks
- I thought I could avoid writing this today but...
- What's wrong with this code, part 6 - the answers
- What's wrong with this code, part 6
- Dare on cost cutting at Microsoft
- How Exchange's role SIDs work (aka. NT's security on Psychotropic Drugs)
- Fun things to do with SIDs
- What is this thing called, SID?
- Surveillance at a local Shell station
- A Parable
- LarryO's Suggestion box
- The suggestion box is now back open
- XP SP2 Craters
- Nineteen years ago today (ok, by now, everyone sees where this one's going :))
- Eighteen years ago...
- Seventeen years ago today
- Things to do with your son over a long wet weekend...
- Silly historical notes
- Mary, Mary, quite contrary, how does your stackframe grow?
- Ok, what the heck IS the windows audio service (audiosrv) anyway?
- Why didn't XP SP2 install copy the right SP2 DLL when there was a DLL with a higher version number on the machine?
- Debugging a problem: Audio stops working after an XP SP2 install
- So why didn't the Windows guys just remove the AARD code from the system?
- I can't let this one pass by...
- Sometimes you've just got to wonder.
- AARDvarks in your code.
- Where do I get netfw.h?
- Three years ago today
- Insecurity in our daily lives
- The consequences of ignoring nagling and delayed acks
- What's wrong with this code, part 5: The answers
- What's wrong with this code, part 5
- My favorite APIs: TransmitFile
- Waste, Fraud, and Abuse
- Comment Policy is now up.
- Larry's Comment Policy
- The Computer Ate My Vote
- Just ran into this on /.: Amit Singh's essay on computer security.
- How do I open ports in the Windows Firewall, part 3
- It's Opening Night Tomorrow!
- Blogging messes up my IE address bar.
- How do I open ports in the Windows Firewall, part 2
- How do I open ports in the Windows Firewall?
- The suggestion box is now open!
- Larry's Suggestion Box
- What's wrong with this code, part 4: the answers
- Every programmer should know assembly language - part two
- 35 years ago today...
- What's wrong wth this code, part 4
- What are Known DLLs anyway?
- IE Annoyances..
- Milestones (not Millstones)
- I, Robot
- Sometime soon, this internet thing is going to be really big, ya know.
- More on plumbing fixtures...
- New Exchange 'blog post, this one on push notifications
- Jon Wiswall's started blogging...
- So how am I doing?
- Microsoft and Art
- It's the platform, Silly!
- Why should I even bother to use DLL's in my system?
- How to stop politicians from asking you for money
- Impersonation and named pipes.
- SpaceShipOne pictures
- What's wrong with this code, Part 3: The answers
- What's wrong with this code, part 3
- Warning: Minor Political Incorrectness Within...
- Why doesn't delegation work over the network?
- Security Terms
- No post today :(
- A must-have gadget for every multimedia aficionado
- Larry got infected by a Virus, the aftermath...
- New Exchange 'blog post updated.
- Hugarian notation - it's my turn now :)
- Cool new toys on the horizon
- Elevators
- Viruses - I feel your pain
- How do I debug a problem in someone elses code
- Why do we all use Wintel machines these days?
- Sharron is now a published Author!!!
- Does anyone remember the ORIGINAL MS-DOS encyclopedia?
- Larry's rules of software engineering part 1, redux
- More office hijinks
- Hey, they think they caught the guys who stole the Half-Life source code!
- DLL_PROCESS_DETACH is the last thing my DLL's going to see, right?
- Hey Cool! My cousin's touring with CSN this summer!
- Why doesn't Mozilla (Firefox) like the Microsoft OCA web site?
- Little known Win32 APIs: DisableThreadLibraryCalls()
- Things you shouldn't do, Part 4: MsgWaitForMultipleObjects is a very tricky API
- Windows Error Reporting and Online Crash Analysis are your friends.
- Obfuscated code...
- Validating inputs
- Free security CD from Microsoft
- Unique pointers in COM interfaces
- Things not to do, Part 3: Don't call CreateFile on your Windows message pump thread.
- Business Conduct Training Complaints
- Software archaeology
- I win the google prize!
- Managed Code can't have memory leaks, right?
- How do I divide fractions?
- Should I check the parameters to my function?
- Office Decorations
- What assembly language DOES your code generate?
- Why is it FILE_SHARE_READ and FILE_SHARE_WRITE anyway?
- Things you shouldn't do, part 2: Dll's can't ever call CoInitialize* on the application's thread.
- What's wrong with this code, part 2 (the answers)
- What's wrong with this code, take two...
- Things not to do when you run a combined build and BVT lab...
- Longhorn system requirements
- So what WILL the postal service accept?
- Mea Culpa (it's corrections time).
- Remember the Giblets!
- Measure Twice, Optimize Once
- How much is too much?
- Choosing a C runtime library
- What are these "Threading Models" and why do I care?
- Any MVP's out there?
- What's wrong with this code?
- What if Microsoft behaved like the Coalition Provisional Authority?
- What's Larry doing this weekend?
- Things you shouldn't do, part 1 - DllMain is special
- It's about bloody time...
- Another Exchange blog posted
- When global destructors bite
- Spywares
- Page 23 Meme
- Larry's rules of software engineering #2: Measuring testers by test metrics doesn't.
- It's only temporary
- I get all my news on /.
- Ok, I lied a bit...
- I've never seen anything that big.
- I'm OOF for a week.
- Dave Ross has a weblog!
- More Exchange stuff posted
- It's on the web, it must be true, right?
- Larry's rules of software engineering, part 1: Every software engineer should know roughly what assembly language their code generates.
- Bonzer mailing list of the evening :)
- Erroneous assumptions
- One in a million redux
- You snooze, you lose
- Just saw this on PRWIRE
- One in a million is next Tuesday
- So you need a worker thread pool...
- Problems...
- What's the difference between MS-DOS and PC-DOS?
- Exchange 5.5's access check logic
- Did you know that OS/2 wasn't Microsoft's first non Unix multi-tasking operating system?
- Non Technical: So What's Larry going to be doing this weekend?
- Why doesn't CTRL-C stop NET USE?
- So why does NT require such a wonking great big paging file on my machine?
- When security firms offer bad advice.
- Things not to do when writing software
- Howdy