Spec#

The Spec# programming system is a new attempt at a more cost effective way to develop and maintain high-quality software.  Spec# is pronounced “Spec sharp” and can be written (and searched for) as the “specsharp” or “Spec# programming system”.  The Spec# system consists of:

  • The Spec# programming language.  Spec# is an extension of the object-oriented language C#.  It extends the type system to include non-null types and checked exceptions.  It provides method contracts in the form of pre- and postconditions as well as object invariants.
  • The Spec# compiler.  Integrated into the Microsoft Visual Studio development environment for the .NET platform, the compiler statically enforces non-null types, emits run-time checks for method contracts and invariants, and records the contracts as metadata for consumption by downstream tools.
  • The Spec# static program verifier.  This component (codenamed Boogie) generates logical verification conditions from a Spec# program.  Internally, it uses an automatic theorem prover that analyzes the verification conditions to prove the correctness of the program or find errors in it.

A unique feature of the Spec# programming system is its guarantee of maintaining invariants in object-oriented programs in the presence of callbacks, threads, and inter-object relationships.

The Spec# programming system is being developed as a research project at Microsoft Research in Redmond, primarily by the Programming Languages and Methods group.

Blogged with the Flock Browser
Don't be shellfish...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrEmail this to someone

Subsonic Mysql


*sigh*

So i’ve spent close to 3 hours trying to get SubSonic to generate the DAL using SubCommander (External Tools)  in Vs2008.
And guess what, I failed.

PS. Don’t forget to rename all “ActionPak” to “SubSonic”.

Here is the error message, for which the Beta resolves: (the fix seems to be in SubCommander)

“System.InvalidOperationException: Connection must be valid and open”

So after all that I just decided I’m going to install the darn BETA (moving from 2.0.3 stable to 2.1 Beta 3), and well,
yes, IT WORKS. *Urgggggh* How irritating!

Anyways, I hope this helps someone else and saves them time.

Chow!


Blogged with the Flock Browser
Don't be shellfish...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrEmail this to someone

Microsoft Enterprise Library

Being a bit slow, I discovered this today, well I’ve read about it before buts its never got much of my attention. Here’s the information:

The patterns & practices Enterprise Library is a collection of reusable software components (application blocks) designed to assist software developers with common enterprise development challenges (such as logging, validation, data access, exception handling, and many others). Application blocks are a type of guidance; they are provided as source code plus documentation that can be used “as is,” extended, or modified by developers to use on complex, enterprise-level line-of-business development projects.

Basically if you looking to create a DLL with some of the work done for you, as well as across the board Data Access, get it.

Get it

Blogged with the Flock Browser
Don't be shellfish...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrEmail this to someone

SubSonic

SubSonic is an open-source toolset, created by Rob Conery, as an attempt to put the fun back into programming and just get the job done. Inspired by Ruby on Rails, SubSonic takes a minimalist approach to coding and emphasizes convention over configuration. While it takes its inspiration from Ruby on Rails, it is not a port of it. (Check out MonoRail it that’s what you’re looking for.) Instead, SubSonic takes the best ideas of Ruby on Rails and adapts them into the already existing ASP.NET framework.

Just started playing with it, and man it looks good.

Don't be shellfish...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrEmail this to someone