Just Test – Nuff Said? Nah.
Big discussion about unit testing. Views ranged from 100% coverage is necessary, to some code is not worth the trouble. The 100% camp was hit with this rebuttal:
How is the coverage measured?
Is it just checking which code blocks ran during the test?
What about covering different code paths?
Everyone was in favor and there were some interesting insights including an example of “correctness by construction” in Haskell:
…”correctness by construction” (aka “making illegal states unrepresentable”). This approach relies on a rich type-system (and, at a deeper level, an interesting fact technically known as the “Curry-Howard isomorphism”). Ideally, when this can be achieved you can completely discharge the need for a lot of unit tests (replacing sort of probabilistic certainty with actual certainty).
Plenty of good links were sent and summarized:
This study found bug reductions of 40-90% with 15-25% coding time added.
Some recommend testability above clarity.
I heard some talk about an A team being formed to take on a project. I’d like to see the problem these guys can’t solve.
Check out this interesting tool for translating a data model into a class model with proper naming and casing using either Entity Framework or Linq2SQL.
All in all, a quiet week as expected.
I hear that EF in .Net 4.0 will be a bit better. An experienced developer says:
A lot of the biggest issues I’ve had with EF … have been addressed in one way or another in the v2 that comes out with .NET 4. Self-tracking entities, POCO objects as entities, persistence ignorance, etc. etc. I don’t know how much they’ve improved the designer. The v2 looks much, much better. Generally, if you don’t see moving to .NET 4 in the medium term as likely, I would look seriously into nHibernate, but if .NET 4 is realistic, I would seriously consider EF v2.
JIRA combines issue tracking, agile project management, customizable workflow, and a pluggable integration framework to increase the velocity of your software development team.
Starter packs of 10 licenses are only $10, so you can’t lose.
This is an unsolicited endorsement. I’m not making a penny off this, but if anyone wants to send me some, I’m OK with that too.
Humor from ZeroHedge is still popular. Unfortunately, the Goldman they’re praising is not me.
CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved debugging. CHESS is available for both managed and native programs.
Kalani presented Lambda Calculus. It dates from the 1930’s, but my only experience is .Net lambda expressions. I had the strange sense that I knew what he was talking about, but I still didn’t understand half. I think it’s going to start making sense when I get serious about studying .Net lambda’s which I’m still half hacking.
In the Web World…
route.js is simple JS framework for creating statefull navigation in the browser based on location.hash changes.
Marak gave me a demo and it seems like an awesome and incredibly lightweight script. Its less than 100 lines right now. You can make a single page that has lightning fast links, making it look like a whole bunch of pages. Basically, its easy DHTML. There’s a bunch more uses too, like infinite tree navigation.
Some folks went to a full day Kaazing class. Here’s the techno speak on Kaazing: “it’s a WebSocket server implementation that offers full downgraded emulation (on both client and server) for browsers that don’t support WebSockets.” I think its a really awesomely cool real-time web product.
GO – Google’s new programming language
Quite a bit of interest in GO… Google believes will combine performance with speed. GO is based on the C programming language but also incorporates elements of all dynamically linked languages like python, and even pascal/modula/oberon family of languages.
There is an hour long tech talk available.
“If you really want a solid brain f*ck, I recommend Haskell.”
“I’d go outside, but they don’t have slashdot outside”
I was never a big slashdot fan, but I got sucked in and its now on my home page news feeds.
But Wait, There’s More…
Visual Studio, Now in Linux?!
Online IDE – wow
An IDE in your browser designed for the cloud.
We have a PowerShell evangelist, who also happens to be a MS MVP in PowerShell. I personally have seen him evangelizing PowerShell all over the office. (Maybe I’ll use it for my video project) He makes a good point on his blog about thanking the people of Lab49. I personally am inspired to do more just being @Lab.