ASP.NET News from Blogger: Eric Gunnersons C# Compendium   Get the feed of: Eric Gunnersons C# Compendium

Total News: 296

You suck at TDD #3 On Design sensitivity and improvement

Through an above-average display of ineptness, I managed to overwrite my first version of this post with a response I wrote to the comments. Since I'm too lazy to try to reconstruct it, I'm going to g...

Agile Open Northwest 2016 recap

Last week, I spent three days at Agile Open Northwest 2016, a small (300-ish people) agile conference held at the Exhibition Hall at Seattle Center. Well, perhaps 'conference" is the wrong word...

You suck at TDD #4 External dependencies

When I started doing TDD, I thought it was pretty clear what to do with external dependencies. If your code writes to a file system for example you just write a file system layer (what would typical...

Lean, Toyota, and how it relates to agile.

I like to read non-software-development books from time to time, and during my holiday vacation, I read The Toyota Way to Continuous Improvement: Linking Strategy and Operational Excellence to Achieve...

You suck at TDD #3Design sensitivity and improvement

I'm going to talk a bit about design in this post. More specifically, I'm going to talk about sensitivity to design issues. But, before that, I'd like to start with an exercise. Grab some paper and ...

You suck at TDD #2Mocking libraries

Note: I am focusing only on the design impact of TDD. To better understand the overall impact, see this series of posts by Jay Bazuzi. My first experience with TDD was back in 2002 or so, and it was ...

You suck at TDD #1: Rewrite the steps

I've been paying attention to TDD for the past few years doing it myself, watching others doing it, reading about it, etc. - and I've been seeing a lot of variation in the level of success people are...

Agile Transitions Aren't

A while back I was talking with a team about agile. Rather than give them a typical introduction, I decided to talk about techniques that differentiated more successful agile teams from less successfu...

Resharper tip #1: Push code into a method / Pull code out of a method

Resharper is a great tool, but many times that operation that I want to perform isnt possible with a single refactoring; you need multiple refactorings to get the result that you want. I did a search ...

Agile team evaluation

Ive been thinking a bit about team evaluation. In the agile world, this is often done by looking at practices is the team doing pairing, are they doing story mapping, how long is their iteration leng...

Agile management

A friend at work posted a link to the following article: Im Sorry, But Agile Wont Fix Your Products and I started to write a quick note but thought it deserved a bigger response +++++++++++++ Okay...

A little something that made me happy

Last week, I was doing some work on a utility I own. It talked to some servers in the background that could be slow at times and there was no way to know what was happening, so I needed to provide som...

What makes a good metric?

I got into a discussion at work today about metrics a discussion about correctness vs utility and I wrote something that I thought would be of general interest. ------ The important feature of met...

Port/Adapter/Simulator and UI

Ive been working on a little utility project, and Ive been using port/adapter/simulator on both the server-side parts and on the UI parts. It has been working nicely, though it took me a while to get ...

The no bugs journey part 3what kind of bug is this?

If you are in a buggy group, you have a lot of bugs. After writing the preceding, Ill endeavor to make the rest of this post slightly less obvious. Anyway, so, you have a lot of bugs, and you need to...

No bugs journey episode 2: Its a matter of values

Read episode 1 first. Here we are at episode 2, and time for another question. Of the three, which one do you value the most? Shipping on schedule Shipping with a given set of features Shipping with ...

No Bugs Journey Episode 1: Inventory

Over the past few years I had the opportunity to work in an environment in which we achieved a significant reduction in bugs and an associated increase in quality and developer satisfaction. This seri...

Unit test success using Ports, Adapters, & Simulatorskata walkthrough

You will probably want to read my conceptual post on this topic before this one. The kata that Im using can be found at github here. My walkthrough is in the EricGuSolution branch, and I checked in w...

Unit Test Success using Ports, Adapters, and Simulators

There is a very cool pattern called Port/Adapter/Simulator that has changed my perspective about unit testing classes with external dependencies significantly and improved the code that Ive written qu...

Tricks you can play on yourself #789Linq

I was profile some code this morning, and came across some interesting behavior. Basically, we had some low level code that looked something like this: IEnumerable<Guid> GetSpecialQuestionI...

Simulators or not?

Ive been spending some time playing with Cockburns hexagonal architecture  (aka ports and adapters), and the extension I learned from Arlo, simulators. Ive found it to be quite useful. I was wri...

Identifying your vertical story skeleton

Ive been leading an agile team for a while now, and I thought I would share some of the things weve learned. This one is about vertical slices, and learning how to do this has made the team more effic...

Rational behavior and the Gilded Rose kata

The following is based on a reply to an internal post that I almost wrote this morning, before I decided that it might be of more general interest. It will take a little time to get to my point so per...

A Programmer's Guide to C# 5.0

My author's copies of the Fourth Edition of my book showed up today: It is significantly updated from the previous version. I especially enjoyed writing the sections on Linq and asynchronous features...

Small in, Big out

Ive come across some code that is using and overusing IEnumerable<T>, and thought it might be of general interest. Consider the following method signatures: IEnumerable<string> Pro...

A Programmers Guide to C# 2012

More months than Id like to think about, I decided to undertake an update of my sorely out-of-date C# book, and Saturday I submitted the last of the chapters for the rewrite. I still have the author ...

A new year and a new group

Im starting off the new year (well, in a few weeks) in a new group. I am leaving the HealthVault team, and moving to an internal Engineering Excellence team where I will be working on making our engin...

Improve HealthVault query efficiency with final transforms

A while back I wrote a post about using the built-in HealthVault transforms to get a different view on your data. That post discusses the mtt, stt, and form transforms. Theres another transform optio...

Mobile HealthVault Apps and Sync

I have been working with some developers working on mobile applications that connect to HealthVault, and the issue of synchronizing data between the mobile device and HealthVault has come up a couple ...

A movie scene

Anybody who has watched movies about software development knows that reality is much different. None of us work with huge screens on the wall, and debugging is a lot of unexciting detective work. Toda...

Dealing with blob data in HealthVault XML

I recently had a request for more information on dealing with blob data using our newly-released Mobile support, which finally got me to write something about low-level blob support. This information...

CHC 2011 HealthVault talk, and what is new for HealthVault this past year

When we were creating our talk, we had a problem. Well, to be fair, we had a few problems, but the problem that I want to talk about is the for more information slide, the one that you put at the end...

Speaking at CHC 2011

I'm in Chicago this week to speak at the Microsoft Connected Health Conference, 2011 edition. It's been nice to get away from the cool and rainy northwest and spend some time in Chicago,where the weat...

Default parameters in C#

From an internal discussion we're having on the advisability of using default parameters in C#: Currently, the pain and limitation of doing overloads forces you to rethink how a method should work. Co...

HealthVault Event Notifications

The HealthVault platform now provides the ability to notify applications when specific conditions are met. A scenario A blood-pressure-tracking application wants to be notified whenever a new blood p...

Writing Tests for HealthVault Applications

We have added some useful new functionality designed to make it easier to test a HealthVault application. The existing HealthVault SDKs didn’t make it easy if you wanted to write isolated (or me...

Naked came the null delegate

I few weeks ago James Curran came up with the idea of a number of .NET bloggers (or, in my case, bloggers who remember vaguely what .NET is about) write a serial story. I, who am easily flattered by t...

HealthVault SDK and Visual Studio 2005

The HealthVault SDK is currently built on top of the .NET 2.0/Visual Studio 2005 toolset. We are thinking about moving forward a few years and switching to the .Net 3.5/Visual Studio 2008 toolset, but...

Metricism

Your neologism for the day... Metricism A devotion to creating and implementing metrics for a system or process while loosing sight of the real goal. Examples: Evaluating software developers on how m...

Floating point numbers and string representations

Ive recently been doing some work on the HealthVault SDK to improve the consistency of how it deals with floating-point numbers, and thought that the information would be of general interest. First ...

Thoughts on Thoughts on TDD

Brian Harry wrote a post entitled Thoughts on TDD that I thought I was going to let lie, but I find that I need to write a response. I find myself in agreement with Brian on many points in the post, ...

The power of "no"...

Eric Brechner wrote an interesting post titled "Don't panic", about how to deal with requests. I sometimes agree and sometimes disagree with what Eric writes, but it's usually a pretty good read. In...

HealthVault 0908 SDK Highlights

The 0908 SDK has dropped, and Id like to talk about some of the highlights of this release. SODA The big one is SODA, our name for the ability to write non-web-based HealthVault applications. S...

Blog refactoring 2.0

In the beginning, I started this blog just to write. I wrote a lot of C# stuff, some regex stuff, some HealthVault stuff, and a bunch of irrelevant stuff. Then, at some point, I started the RiderX b...

Thoughts on agile design and platforms

I started by writing a broad post about design, and it got away from me (apparently I should have spent some time designing the post first), so I deleted it all and decided to write something shorter,...

Is programming a generic skill?

Came across a post by Justin Etheredge discussion whether changing between languages is just a matter of syntax. Or, to pick a specific example, can a Java programmer quickly and easily learn to write...

Introduction to HealthVault Development #12: More than one person

WeightTracker has gotten popular, and we have a new scenario. Our users would like us to extend our application so that they can easily enter weights for each member of the family. This will require ...

Rekeying the HealthVault/Amalga USB Key

If you attended the connected health conference last week, you got a USB key with a combination lock on it, so you could protect your important data against those with less than 10 minutes of fre...

Microsoft Connected Health Conference

The HealthVault Partner Conference is a year older and has a new name. The Microsoft Connected Health Conference will be held on June 10-12th at Meydenbauer Center in Bellevue, WA. If you enter the r...

Introduction to HealthvaultDevelopment #11: Data filtering

The users are unhappy. The weight tracking application worked pretty well initially, but now that theyve been using it daily for a few months, its showing them too much information. They would like it...

View Other bloggers