Coffee And Robots

For example, your domestic robot sees you crawl out of bed in the morning and grind up some brown round things in a very noisy machine and do some complicated thing with steam and hot water and milk and so on, and then you seem to be happy. It should learn that part of the human value function in the morning is having some coffee.


2016/10/24 11:18

Enterprise's Resist Change

The sad truth is that the foundation of traditional enterprise infrastructure centers on resisting change.


2016/10/24 11:18


And that's the other thing: as a human-readable file format, JSON is better than XML, but it's worse than almost everything else. It doesn't even allow comments! It's an accidental format, absent-mindedly unleashed upon the world by a JavaScript developer who worked out a way to turn objects into strings that could be turned back into object using the built-in eval function. And then it turned out you shouldn't do that anyway, because security. The only reason it's become so popular as a configuration format is Node.js, which speaks JSON natively.


2016/10/24 11:18

Why we cache everything

Just a quick reminder that you should cache everything you possibly can.

If you're wondering how much it can help, the following is very informal comparison (YMMV).

  • 1343 Requests/sec to EF
  • 276672 Requests/sec to InMem cache (ie 206x faster).
    • Note:For data that has to be shared across servers, consider IT:AppFabric, which is generally between the two (nearer to the SQL Server side of things from my experience).
2016/10/24 11:18


Just added a half dozen intro pages on IT:AD:SoapUI. Hope it helps someone.

2016/10/24 11:18

My bet has paid off...

Two years ago I was faced with deciding which database access technology to use for Projects:XActLib.

EF? Lightspeed? LLBLGen Pro?

I bet on

  • patterns to allow me to switch later in case my choice was wrong,
  • a pattern that allowed multiple ORMs being used anyway…have to be wary of investing too much in any vendor, after all…
  • but personally, I made a choice of using EF (others can reimplement the contracts for other ORMs).

The reason I chose EF was….slow and stupid as MS was at the time (cf the Silverlight disaster) I was pretty sure they couldn't keep on being that fubar'ed without a) either the company tanking, and/or b) some people getting their pinkslip.

Turns out…EF was the right choice. We're pretty soon going to have a means to write code that works on all MS platforms – server to Phone:

2016/10/24 11:18


The Traceability Perspective of a SAD is to trace deliverables to back business value.

2016/10/24 11:18


Do you remember your first plane trip when you had a window? Do you remember taking off? We’re moving. We’re moving fast. We’re rising. Look at the world, it’s made of… little toy houses and cars. There’s a moment around a couple hundred of vertical feet where the world you knew suddenly becomes small and you realize there is an entire dimension of space right above you that you have not experienced.


2016/10/24 11:18

Code meets Madagascar

class MonkeyPoo extends Exception {}; ... throw new MonkeyPoo();
2016/10/24 11:18


To deliver external quality (features, performance, reliability) in every release, software needs good internal quality (readability, maintainability, extensibility, testability).

2016/10/24 11:18


static void Do(Action action, TimeSpan? timeSpan=null){
  if(!timeSpan.HasValue){timeSpan =TimeSpan.FromMilliseconds(100);}
  Task.WaitAll( new []{Task.Run(action)},timeSpan.Value);
2016/10/24 11:18

This is Huge: .NET Core
2016/10/24 11:18


“The Modern Vee Jitsu Fighting System is geared towards the anatomical destruction and malfunction of the human anatomy,”

Dr. Evans.

2016/10/24 11:18


Holy shit this is going to be important:

2016/10/24 11:18

UIs defined as trees

Many mobile and small device UI’s are simply trees, or could be represented as such. It seems crazy to me that there’s not a dead-simple format for defining a ui (the tree navigation, and heading and text).


2016/10/24 11:18

TFS Build Services and Filtering for **\*.Tests.dll -- Gotcha

Lost $350 of time chasing this down.

So we have TFS filtering for **.Tests.dll assemblies – standard practice to find assemblies containing Unit Tests, and running them. When we ran the Tests locally, worked (famous last words). When we uploaded a new set of tests…failed, while complaining that it couldn't find the referenced assembly, even though we had added a redirect to the app.config. Say what? A clue was that the number of tests found on the server was higher than the number of tests on the dev station…hum… Turns out… that in a hurry, we wanted to reuse some code in Test assembly 1, within Test assembly 2 (so Test Assembly 1 ended up in the bin directory of Test Assembly 2). When TFS scanned for assemblies, it found Test Assembly 1 (yup)

  • Test Assembly 2 (good)
  • Test Assembly 1 in the bin of Assembly 2

And tried to run all 3 (it didn't have any rules as to how deep to search…).

The difference is that beside the first two assemblies are renamed app.configs:

  • Assembly1.Tests.dll
  • Assembly1.Tests.dll.config
  • Assembly2.Tests.dll
  • Assembly2.Tests.dll.config

but the third dll in the bin directory had no associated config file. Hence no redirection statement…hence failure.

Small things….

2016/10/24 11:18