Coding in Marble

I wish I could remember where I first read it because perhaps it deserves attribution.  But many years ago I read about the two world views of physicists and they resonated with me.  One world view is that prescibed by things like General Relativity and Maxwell’s Equations.  These have, in some sense a great mathematical beauty…

6

Performance and Design Guidelines for Data Access Layers

Many problems you will face are actually the building data access layer, sometimes thinly disguised, sometimes in your face; it’s one of the broad patterns that you see in computer science – as the cliché says: it keeps rearing its ugly head. Despite this, the same sorts of mistakes tend to be made in the…

5

Performance Guidelines for Properties

I can’t say I’ve asked the framework guidelines folks about this but I’m fairly sure there would be a lot of agreement from the guidelines gurus; so in the spirit of approximately correct advice I give you Rico’s Guidelines for Performant Properties. I should start by saying I wish more people just used fields instead…

12

Less Loosely Coupled Than Meets The Eye

I don’t know that it is possible to write anything like a unitary software system in a way that is truly loosely coupled.   It’s not that you can’t make boxes and lines that are cleanly separated in all sorts of pretty ways, though that’s hard enough.  The problem is that even if you manage to do…

6

A few words about Micro-Benchmarks

It’s been a long time since I included my “this discussion is only approximately correct” disclaimer so I’ll just preface it here.  In the interest of space and clarity, this discussion is only approximately correct.  OK, now we can move on… I love micro-benchmarks. Really.  I rely on micro-benchmarks to help me understand what is…

0

Why you really want to avoid catching and rethrowing exceptions

I like processes that simply drop-dead fail when they have an unrecoverable fault.  Trying to continue is often dangerous and unlikely to actually help anyone.  This policy is all fine and well but in all cases it is vital that the “death” stack of a process be the true problem, not a generic error handler. …

9

Visual Studio: Why is there no 64 bit version? (yet)

Disclaimer: This is yet another of my trademarked “approximately correct” discussions  From time to time customers or partners ask me about our plans to create a 64 bit version of Visual Studio. When is it coming? Why aren’t we making it a priority? Haven’t we noticed that 64 bit PC’s are very popular? Things like…

78

Performance Advice, Southern Style

While I was at PDC2008 I was introduced to Keith and Woody — pretty soon there was a microphone in front of me and we were doing a podcast.  Now I already liked these guys but when they used a picture of me from about 1998 I really liked them a lot more.  I wish…

1

Linq Compiled Queries Q & A

I did a series of postings on Linq Compiled Queries last year, I recently got some questions on those postings that I thought would be of general interest. Q1: Why use the ‘new’ keyword in this snippet? var q = from o in nw.Orders select new {o.everything …}; A: If you did just : var…

5

Rico’s Instrumentation Aphorisms

A few months ago, Mary Gray of the Management Practices Team came to talk to me about good practices for creating performance counters and doing measurements generally.  She interviewed me on the topic for about an hour and was madly scribbling notes the whole time while I talked a mile a minute.  What’s below is…

1