dotNoted

Icon

Observations of .Net development in the wild

Obtained MCSD

Obtained the MCSD certification today. I’m not as happy as I thought I’d be for a number of reasons. First, I feel more relief than anything – it’s been hanging over my head for almost 2 years, and I’ve wanted to get it for about 6 years. Whew – no more of that soft, yet incessent, buzzing in the back of my head. Secondly, I was disappointed with the tests for two reasons. One, they were a lot more easy then the practice tests and study material let on… I even skipped studying for the last tests and relied on my experience. I flew through the .Net C# tests and XML tests with scores in the low-to-mid 900s. The other reason I was disappointed was that the tests really hammer on the aspects of the technology which MS throws in there, but which are not really useful in actual real-world scenarios. I’ve heard this complaint before, but now I actually understand and appreciate it. The SQL Server test (70-229) focused what I think was disproportionately on the slight efficiencies and the touted "features" of user functions and cursor extensions and how to use all the cool SQL Server tools like Profiler. I never use this junk since it makes code less portable, harder to debug, puts too much business logic in the DB, and is generally not used by other developers. As for the tools, sure, Profiler and Index Tuning Wizard are cool, but I can almost always pop open Query Analyzer and rewrite the query or add needed indexes just by looking at the query plan. There were also inversions of this which focused on edge cases which most likely would be taken care of by SQL Server’s auto tuning capabilities, a rewrite of the query, or some DBA work (which is what test 70-228 measures). I suppose I can see some value in this latter category of questions, but if it were replaced by more SQL questions, it would have been a better "developer" test. The other tests were similar, but less pronouced, or else I played around with the various technologies they were testing on where I didn’t notice it as much (Databinding for example – never use it, but know how it works).
 
Ah well. At least I don’t have to worry about it. If you are reading this and you do, I’d recommend just playing with all the stuff in the .Net tutorials and samples – that will be more helpful than cert prep books and cert prep tools (with a possible exception for the 70-300 test).

Filed under: Software Engineering

Patterns in data and algorithms

I was looking for things related to me on the web because I don’t always remember my threads and thoughts – one of the motivators for this blog. I (re)discovered a great Java applet which I spent _way_ too much time playing around with – the Prisoner’s Dilemma Applet by Serge Helfrich. As you can see – he mentioned that I found some very interesting and fun patterns… patterns which required a search in the trillionths to discover. Did I mention I spent way too much time on playing with it? I suppose, thanks to a brush with numercial analysis, that there is some rounding or other accumulation of error which goes on to produce edge results in the evaluation algorithm. Who knows – I didn’t look at the source (is it available?), so I don’t know if there is actual error or if the computations fall within the finite-state boundaries of double-precision floating points and it is purely an artifact of the algorithm. Feel free to set me straight in the comment section below. Also, I hope the reasons I play with these things become more evident as time goes on.

Filed under: Advanced Algorithms

Interview with Tufte

Tufte speaks about his work and his thoughts about the influence it has. I like the part about rethinking the "think about your audience" approach of writing. I’ve always been frustrated on how it limits my creativity and expression. I connect with his feelings here and how he has the experience and wisdom to break out of it, and then continue to empathize as he moderates it by context. I am especially thrilled about the concepts of "innate analytical constructs" much like innate language or ethical constructs in people. Check out Redefining.Us for more of this thinking, or to speak your mind on this topic.

Filed under: Metathought

Follow-up from newsgroups on Ping code

Willy Denoyette replied to a question in the microsoft.public.dotnet.languages.csharp group which improves my code to reach machines.

It’s a small addition, but it makes a big difference, since it uses the framework more elegantly – code kaizen for sure. The thing I wonder is if you wanted to expand this code to check multiple IPs for a machine, would WMI take care of this or would you need to lookup all IPs via System.Net.Dns methods?

 

I’ve updated the code. Thanks, Willy.

 

-r

 

Filed under: Code Kaizen

Fixing VS.Net without losing your settings

Ever get a corrupted VS.Net 2003 installation? I have a number of times – must be all the SDKs and Add-ins I run.
 
One of the annoying things about the standard repair is that is munges all my user settings. This is bad. I like my settings, and it is quite a big hammer to use in a repair. I like to use a little more finesse. From my sys admin background:
 
msiexec /fom {E05F0409-0E9A-48A1-AC04-E35E3033604A}
 
Type this into a command window and Windows Installer will repair the files and machine registry settings of VS.Net without clobbering your user registry settings, where all your customizations are.
 
-r

Filed under: Administration