Saturday, October 16, 2010

A Signpost to the Future - Genetically Engineered Silkworms Spin Like Spiders


Spiders have very strong silk, but it's difficult to obtain commercially. We can gather silk easily from silkworms, but its not as strong as spider silk.
Very interesting article at discovery.com about injecting dna from a spider into silkworms to create stronger silk more easily.
This is a signpost to the future. More and more of our products will be made this way. Chemical factories could be replaced with vats of bacteria churning out desired chemicals much easier, safer, and more environmentally friendly.
Do you think this is a good thing?

Wednesday, October 13, 2010

Austin .Net User's Group, October 11, 2010


Brandon Satrom presented "Testing the right thing: Behavior-Driven Development in ASP.NET using Gherkin, SpecFlow and WatiN" to a crowd of 70 developers. Brandon started by saying this was his journey of testing for his projects and not necessarily the way to test all projects. (I do appreciate his humility and think he will be a good Microsoft Developer Evangelist).

After his presentation, Brandon graciously allowed Scott Bellware to present a counter point - basically that the "customer readable" scripts were too detailed and customers would not read them anyway and that the overly-detailed scripts just get in the way of the total process. The discussion between Scott, Brandon and the audience was refreshing.
(BTW, TeKSystems opened the session saying that $60/hr was a good contracting rate, business is heating up in Austin, and Silverlight is getting some traction.)

Monday, October 11, 2010

F# has Units of Measure

One of the great things about F# it that it allows you to annotate values with Units of Measure. (Remember the Mars Climate Orbiter burning up because all subcontractors used metric except Lockheed Martin?) F# will do limited testing to make sure your units are consistent. Units of Measure doesn't really understand the concepts of length, volume, force, or currency, but used wisely can be a great help. A little example:

[<Measure>]
type cm
[<Measure>]
type inch
val cmPerInch : float<cm/inch> = 2.54

> let length1 = 1.0<cm>
let length2 = 1.0<inch>;;

val length1 : float<cm> = 1.0
val length2 : float<inch> = 1.0

> let length3 = length1 + length2;;

  let length3 = length1 + length2;;
  ------------------------^^^^^^^

stdin(41,25): error FS0001: The unit of measure 'inch' does not match the unit of measure 'cm'
> let length3 = length1 + length2 * cmPerInch;;

val length3 : float<cm> = 3.54

Wonderful "Paper" Cartoon of Star Wars

I don't often post videos, but this one is just too well made and clever not to share. The video is made with just paper cutouts, something anyone could do. Enjoy.