Fluent.Interface


The future is parallel

Although most of us are only running dual core computers, if you have a spare £2000 you can pickup up this G71 quad core notebook from Ausus, and if you belive the hype we will be hitting 80 cores by 2014.

While hardware plays catch up up with moore’s law, Microsoft’s next generation .NET 4 platform  will have a native concurrency run-time.  This is already available in the form of VS 2010 CTP and can be configured run with Windows 2008 Hyper-V to test out the running on virtualized multiple cores.

Parallel programming brings a host or problems for developers when it comes to debugging and diagnosing problems.  It is great to see Microsoft helping to ease this with initiatives such as PLINQ, and the interesting (albeit experimental) Transactional Memory group which looks at how code might be modelled to run as efficiently as database logic for example. 

F# will ship with VS 2010 and is a powerful functional language that is naturally immutable, compiles to .NET IL and supports erlang style message passing.


CloudCamp in London

The good people at SkillsMatter recently hosted a series of lightening talks in their crypt in central London.

I can recommend checking out James Governor‘s blog which hosts a write-up by Benjamin Ellis.  Or watch the filmed video of the event.

Cloud computing, while the buzz at the moment is still in it’s infancy and this is particularlyobvious when looking at metrics around inefficiencies in power consumption required to run virtual machines.  But once this land grab stabilises expect to see standards emerge for accessing storage / data / virtual operating systems.


Google and Microsoft to throw their weight behind OpenID

While it is not a slam dunk yet, both Microsoft and Google recently announced plans to act as provider’s for OpenID authentication.  This news means 3rd party sites supporting OpenID can direct their users to a login page on Microsoft or Google; parse the return request to verify their identity, and pull out any profile information such as real name or email supplied by the user.  Illusrated below:

OpenID signin with Google (credit Google Inc.)

OpenID signin with Google (credit Google Inc.)

Yahoo! has been an early addoptor supporting OpenID for a number of months now.  It commissioned some research into the usability aspects of signon using OpenID, demonstrating that users were confused when having to input a URL http://me.yahoo.com/username instead of the more traditional username@yahoo.com.  Users appear comfortable with clicking a specific ‘Sign in with Yahoo’ button, however this won’t scale with the number of OpenID providers available today (popular ones being Yahoo/Google/MS Live/AOL).  

It will be interesting to see how the interface for OpenID pans out; Perhaps a URL derived from an email may be a feasible alternative if all top level domains conformed to pattern eg: “openid.provider.com/username”.


Yahoo continues to dive; roll out products

Despite the fact that many commentators in the bloggosphere consider Yahoo! a train wreck, it still seems to be turning over new products in attempt to compete with the likes of Google.  This week alone included the not-so-impressive and long overdue calendar upgrade.  But more interesting it rolled out its IndexTools aquisition in the form of a free web analytics package to compete head-to-head with Google’s own aquisition Urchin, better known as Google Analytics.  

Although this platform would tie in nicely with its search marketing offering, the timing is unusual given Yahoo! is still negotiating a deal to outsource its search advertising.

Meanwhile Omniture Inc. a leading analytics vendor released Site Search, an intelligent plugin for web sites to enable returning the most relevant search results based on calculated usage data such as ‘best selling’ item.  The results are fed back into SiteCatalyst for further analysis.


MPI.NET library enabling scientific cloud computing

The Message Passing Interface MPI standard to supporting writing software that run across many machines.  It has been used by the scientific community for high performance numerical libraries typically written in C or FORTRAN.

The University of Indiana recently released MPI.NET which requires the Microsoft Computer Server Cluster SDK on Windows 2003, or is naively supported on Windows Server 2008 HPC.

Cloud computing is shifting the way software is developed, so it probably won’t be long before native MPI implementations are supported in respective platforms such as Amazon’s EC2 with python, or naively on Microsoft’s forthcoming clustered offering.

Most software leveraging MPI such as PETSc is programmed in C.  Object oriented libraries have proved popular to programmers, and more recently functional languages such as Microsoft’s new F# (based on OCAML) have taken off as an alternative for mathematical libraries as seen in this blog post by Matthew Podwysocki.


Oslo and new declarative language ‘D’ to be unvelied at Microsoft’s PDC 2008

The PDC postponed in 2007 will give people plenty to talk about in October.

I am particularly looking forward to the unveiling of Oslo, and getting my hands on the CTP.  I have been a Domain Driven Design advocate for a while now, and believe it is import to have a good vision for the model and how it is mapped back to implementation.  Oslo is all about modeling and is set to include:

  1. a ‘tool’ for so the BA types can visualise the problem domain
  2. a new domain specific language ‘D’ for mapping the model down to SQL.
  3. a (SQL) repository for storing the above

Microsoft has done a good job making most of .NET framework core libraries flexible and extensible, so let’s hope this will be a better offering then the Entity Framework V1, which was very limiting.  I still use NHibernate and see no reason to switch camps until they improve the design.


Microsoft’s cloud computing offering with SDDS

Microsoft weighs in with its cloud computing offering in the form of SQL Server Data Services.  Currently in beta, users are able to sign up for free access.

A good screen cast walks you through the new tiered ‘ACE’ architecture which is designed around a top level ‘Authority’ a unit of geo-location which maps to an explicit DNS address eg:

brightsparc.data.beta.mssds.com

Under this Authority are Containers, and within a container is a series of Entities.  The flat structure is analogous to Tables and Rows, however a Row can represent different Kinds of data that doesn’t necessarily conform to the same schema. In fact any data other then the core ID, Version and Kind attributes are ‘Flexible Properties’ and set similar to a key based dictionary.

Under the hood this functionality could well be implemented with the new Filtered Index and Sparse Column features of SQL 2008 which allow for efficient storage of such data.

SSDS is a web service accessed over the wire using a SOAP or simple REST interface currently secured with basic credentials over https.  To get started I recommend downloading the SDK to create / update and query your data using the explorer GUI.  In REST speak, use POST to create a record, PUT to update and record and DELETE speaks for itself.  Moving forward cloud computing security is a challenge for Microsoft, but will no doubt tie in with it’s claim-based Card Space initiative.

Ryan Dun has a great blog with some examples of what is possible right now with SSDS, as well as very nifty open source REST library that can wrap POCO’s for persisting them to the cloud.

Although I did experience some unexpected outage on the service, Microsoft do plan to charge for this service in the future so I’m sure they will be looking at SLA of at least two 9’s if they are planning on competing with the likes of Amazon and Google.


Redgate aquires Reflector

When looking to download the latest version of reflector, i was surprised to see that Redgate had acquired reflector.  Redgate makes some great time-saving products so this fits very well with their offering, but being such an essential tool you can’t help but wondering what will happen to the ‘free’ version despite Redgate’s commitment

It is a shame that the source has not been ‘open’ to date (in fact itself is obfuscated).  I think this could have been a good opportunity for RedGate to engage with the open source community offering commercial value-add support on top of a free project like MySQL and so many others.


Reasons to upgrade to SQL 2008

With the release of SQL Server 2008 RTM and the associated VS 2008 SP1 (now available indpendantly), developers can get their hands on the host of new features available.  SQL IntelliSense has been a long time coming; geo-location features are well timed given the proliferation of GPS in mobile devices; and full-text searching has been beefed up and fully integrated into the database engine.

One of my favourite albeit less hyped new features is the Change Data Capture (CDC) support.  A screen castfrom the beta available last December illustrates how this technology captures data changes made to tables; and it does so directly from the transaction logs without the need for triggers.

Enabling CDC to will create individual SQL jobs, tables and functions to store and fetch the information that has changed.  All inserts and deletes are individually record, and updates have both a before and after row.  CDC allows you to retrieve the aggregate changes to a table within a particular time period with some specifically named functions under its own ‘cdc’ schema.

Going hand-in-hand with CDC is the integrated MERGE T-SQL statement which allows wholesale update/insert/delete operations on a target table that matches particular source criteria.


Britain from Above

If you live in UK and missed the BBC’s incredible visual feast which is Britain from Above, you still have a few days to catch it online through BBC’s iPlayer which has 7 day catchup service.

Narrated by political correspondent Andrew Mar the documentary plots the ebb and flow of daily life throughout the UK.  Using satellite imaging and GPS tracking data some pretty amazing images and bought to live turning peak hour into something beautiful.