Mike Stall's .NET Debugging Blog

Notes on Managed Debugging, ICorDebug, and random .NET stuff

Browse by Tags

Tagged Content List
  • Blog Post: Arguing by-example vs. by-principle

    You can argue by providing examples supporting your case. Alternatively, you can argue by appealing to more general principles. For example, in arguing that "exposing public fields is bad," you could say: By-principle: "It breaks abstraction and encapsulation." By-example: "This untrusted plugin could...
  • Blog Post: Zune's killer feature

    Zune' s killer feature (according to my 2 year old daughter) is the box. For the 4gb/8gb, the box is sturdily built and has 2 parts that slide together. Truly a product for the whole family.
  • Blog Post: It never works

    Last night, right before falling asleep, I recall having some great idea for a blog entry. I was too tired to write it down, but I said the 2 word summary aloud and was absolutely sure I'd remember in the morning. Now all I remember was that the 2nd word started with the letter 'c'. Morals of the story...
  • Blog Post: Merry Christmas!

    .
  • Blog Post: Grocery stores and cyclical dependency graphs

    Here's a silly conversation that demonstrates a problem in resolving cyclical dependency graphs that my wife + I had at the grocery store: Me: [looking for purchases to get in the Christmas mood] "Let's get some walnuts " Wife: [predisposed against the idea] "Let's not, we don't have a nutcracker" Me...
  • Blog Post: Stateless card dealing

    How many times have you had somebody deal a hand of cards and then say "um, everybody count your cards". A common reason for this to happen is that the dealer loses count of how many cards are dealt. For example, dealing cards to 4 players may look like: The problem is that after a few cards, it's not...
  • Blog Post: (A==B)==(X==Y)

    I used to hate the expression: (A==B)==(X==Y), but I've grown very fond of it. My prior feelings of contempt stem from my desire to avoid obscure language features. But I figure when properly parenthesized, this isn't so obscure and can be pretty useful and concise. Unlike operator precedence, you don...
  • Blog Post: Feature Parity vs. Scenario Parity

    It can be easy to miss the forest through the trees. Sometimes there are emergent properties from the individual feature items, which in turn provide some new "implicit" feature to the end-user. Such features can lead to very useful end-user scenarios, but aren't usually captured by a specific feature...
  • Blog Post: Tennis ambiguity

    My wife and I were playing Tennis. We're both pretty new to it and knew we were supposed to hit the ball back and forth but couldn't remember the finer details of scoring. I thought that it was best of 5 sets. She thought it was best of 3 sets. We learned later that Men's professional is best of 5, and...
  • Blog Post: Indirection is funny

    In code, unnecessary layers of indirection can be confusing and lead to bug. Do you really need to write code like: ***p = ****q. However, in natural language, technically correct usages of indirection can be funny and sound sophisticated. "We need a plan for when we'll have the plan" "Known Knowns"...
  • Blog Post: 68+ "Visual Studio 2008 beta 2 is released" blog entries in 24 hours.

    I just counted 68 blog entries on http://blogs.msdn.com posted within the last 24 hours with a title like "Visual Studio 2008 Beta 2 is released". I doubt I have anything new to add beyond Soma's post and what the other 68 already said. Brian Harry has a nice table of download URLs . So rather than say...
  • Blog Post: A 30x speed improvement

    Going from 8 minutes down to 15 seconds. Not bad. What's the secret? Synchronizing the traffic lights. I'm talking about my evening commute home. There are a set of 4 traffic lights I hit to get out of my Microsoft building and onto the closest highway (520 westbound). They used to be out of sync such...
  • Blog Post: JScript vs. Nintendo DS

    You've probably seen (C# + Silverlight 1.1) clobbering JScript at Chess in the Silverlight Chess demo . The Nintendo DS has a chess program, Clubhouse Games , which isn't very good, as I mentioned earlier here . So then I wondered who would win at chess: Jscript or the Nintendo DS . (Caveat: I recognize...
  • Blog Post: Test what you Ship, Debug what you Test

    Test what you ship . This should be obvious. Debug what you test . When you test, you'll find failures, and you'll need to debug those failures. So you need to be able to debug what you test. Therefore you're going to need to be able to Debug what you Ship . This also happens when you get crash reports...
  • Blog Post: Answer to Number puzzle

    Here are answers + commentary to the number puzzle I posted yesterday, which was, fill in the digits: ABC + DEF GHI OR prove it's impossible. I originally moderated the answers but have now gone back and published them all. My conclusion is that the folks who read this blog are way smarter than I am...
  • Blog Post: Number puzzle

    Here's a little number puzzle quiz. Fill in the digits: ABC + DEF GHI Where each letter represents a unique digit between 1 and 9, such that all digits are used exactly once. OR (and this is where it gets interesting...) prove that it's impossible to fill in such digits. (And, "it's too hard...
  • Blog Post: Out of office

    My wife + I recently had daughter #2. I'm taking time off, and so my participation on the forums and blogging is basically 0 (which is why I'm mentioning it in the first place). I have a few pre-written queued entries, but I don't expect much else in the near term. Avid readers may be able to infer that...
  • Blog Post: Sometimes it's better to just not think about it

    I was in a bookstore and saw an some inspirational book title: "Shoot for the moon. If you miss, you'll still reach the stars". ("shoot the moon" is a figure of speech meaning to pursue some big ambitious goal.) No... If you miss, you be somewhere shortly outside of the earth's orbit and 93 million miles...
  • Blog Post: Using Windows live Writer

    I'm trying out Windows Live Writer. Currently, I do all of my blogging via Frontpage , so this will be a shift for me. Here's what I like that I've noticed while playing around writing this entry: Looks like it interoperates with my existing blog well. It properly got the blog name and category strings...
  • Blog Post: "Why are you picking off the olives?"

    Somebody asked me this at lunch. I had gotten a pizza with olives, and was picking off the olives. I figured that would make a cute good interview question. So consider it a pop-quiz: why would somebody order a pizza with olives and then pick off the olives ? Spoiler: The simple answer...
  • Blog Post: Using Technology for evil

    I just read on thew news: Report: Insurgents Using Google Earth to Hit Coalition Bases in Iraq ; it saddened me and reminded my of an Engineering Ethics class I took back in college. As engineers, we get so caught up in delivering "cool" technology that we often just don't think about what evil we may...
  • Blog Post: #ifdef usage in Rotor

    I ran my #ifdef counter on the Rotor sources. The #ifdefs fall into a few categories: cross-platform, cross-Operating System, cross-compiler: . Eg, _x86_, _ppc_; PLATFORM_UNIX, Win32, _Win64, BIGENDIAN. preprocesser alternatives to #pragma once . Each of these would only occur once, at the top...
  • Blog Post: Does C# intellisense read you mind?

    It's cool that VS has intellisense for C# (the feature where in the middle of typing an expression, a little window pops up listing possible things to complete the expression), and that it seems to be very consistently accurate. I've noticed that it just always seems to do the right thing. It's like...
  • Blog Post: I've been tagged.

    Tess tagged me. This seems like a good excuse to diverge from my consistent policy of work-related stuff. :) So here are 5 things you probably don't know about me: I went to University of Illinois and got a bachelor's in Computer Engineering and a minor in math. I'm a member of Cedar Park Church...
  • Blog Post: AppDomain.ProcessExit is not guaranteed to be called

    The AppDomain.ProcessExit is not guaranteed to be called. It's pretty resilient and will deal with common things you may cause from low-trust IL (exceptions, out-of-memory, etc), but there are some things (like rude process shutdown), that an inprocess event can never be resilient against. Demo :...
Page 1 of 5 (104 items) 12345