tag:blogger.com,1999:blog-17504054999995570652018-08-29T18:51:05.872+01:00Neil Does .NetBloggings on all things .Net, Sql - technologies and practices.Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.comBlogger36125tag:blogger.com,1999:blog-1750405499999557065.post-71430852458763459922012-08-06T20:08:00.001+01:002012-08-06T20:08:39.397+01:00New blogI don't blog often, but when I do it's now at http://blog.semeosis.com.
Here I've written about some of the things I've looked into recently (last couple of years) including:
The star schema benchmark for benchmarking database performance against star schemas (in particular getting this working with SQL Server
Erlang (in particular an intro for people from a C#/Java background)
Setting up Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-51702047101552081182010-01-25T18:06:00.001+00:002010-01-25T18:25:44.414+00:00Thomas Kuhn, Paradigms, NoSQL and the RDBMSIt’s been a long time since I last blogged, and this may be the last time I blog here as I feel the title no longer adequately reflects my interests but… As I prepare my talk, on NoSQL generally and CouchDB in particular, for #DDD8 the applicability of Kuhn’s concept of the paradigm to the current NoSQL/RDBMS situation becomes more and more interesting for me. I’ll start by, in brief, stating Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com1tag:blogger.com,1999:blog-1750405499999557065.post-57143780764187267152009-03-28T16:17:00.001+00:002009-03-28T16:17:00.417+00:00Building a Reusable Builder: An internal DSL in C#Sitting and enjoying the OpenSpace Coding Day at Conchango, and in particular enjoying Ian Coopers talk on Internal DSLs in C# I came to thinking how it might be quite simple to create a reusable builder object. I’ve done some posts on this sort of thing before, and have spent quite a bit of time recently at work constructing the beginnings of a Language Workbench (I say beginnings as I’m Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com3tag:blogger.com,1999:blog-1750405499999557065.post-38198736674188179562009-01-22T19:04:00.003+00:002009-01-22T19:08:22.980+00:00Trying to Bind Form Elements in the View to a Dictionary in the Model with ASP.NET MVCI've got a class that has, instead of statically typed properties, a dictionary that is used to store different values depending on what is needed for any given instance.<!-- code formatted by http://manoli.net/csharpformat/ --> public class Baz { public Baz() { Foo = new Dictionary<string, string> { { "Bar", null } }; } public IDictionary<string, Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-87553009627268557072009-01-19T22:52:00.006+00:002009-01-22T14:36:23.137+00:00Refactored: Fluent Test Data Builders Using Generic Extension Methods and Lambda ExpressionsWorking further with the Fluent Test Data Builder I was working on yesterday has led me to refactor what I had, and the result is, I think, even nicer! I've added a new method SetValue, and changed the from getting the Member.Name to getting the PropertyInfo from the Member. The other significant change is that I'm now wrapping the SetLength and SetValue methods in try catch blocks so that I canNeil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com1tag:blogger.com,1999:blog-1750405499999557065.post-18414264608015317602009-01-18T02:33:00.002+00:002009-01-18T02:41:23.262+00:00Fluent Test Data Builders Using Generic Extension Methods and Lambda ExpressionsWhilst writing some extension methods this evening to make creating objects in unit tests simpler I found myself writing methods that looked sufficiently similar to each other that I felt the code lacked a little DRYness. The code being written has to output a data extract in a fixed field length formatted text file. As such the length of the formatted fields is very important, so I had created Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com1tag:blogger.com,1999:blog-1750405499999557065.post-85620513692969657192008-12-06T22:26:00.011+00:002008-12-06T23:22:52.377+00:00WCF With The Castle Windsor FacilityTowards the end of a rather busy Saturday of coding in the office I decided to take on the exposing of some services at the boundary of a system I am working on. We're using the Castle project's Windsor container for our IOC on all of our new projects and so I figured that it would make sense to do a short spike into the WCF facility that ships with it to see whether this would be worth using Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-7963000812260822552008-11-19T13:47:00.008+00:002008-11-19T14:24:23.304+00:00Continuous Integration with CI Factory part 2I've just finished setting up a new build instance with CI Factory. This time I used the latest version (1.0.1.5 at the time of writing). I followed the steps here, together with some from my last CIFactory post.I tried this time to add a property in Arguments.xml of this:< property name="MSBuild.Framework.Version" value="${framework::get-framework-directory('net-3.5')}" />In addition then I Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-1642760240163643972008-11-17T01:18:00.002+00:002008-11-17T01:20:08.178+00:00Defending ScrumRecently Scrum has been taking a bit of a battering in the wider community, being made to take responsibility for some of the perceived failings of Agile. Under particular attack has been the scrum based certifications which are seen to churn out 'experts' on the basis of short courses. But who then in many cases lack the necessary expertise, of which experience is an important constituent, to Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-40612120990685263082008-11-14T19:58:00.012+00:002008-11-14T21:13:21.704+00:00Continuous Integration with CI FactoryFor the project that I'm currently working on I've needed to set up an automated build process, no surprises there. Having worked in environments previously where the development and maintenance of the build occupied a large amount of effort, and required a reasonable amount of specialised knowledge I was keen to ensure that this would not be the case (it wouldn't be sustainable here). That in Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-4145714883550682132008-11-06T23:11:00.005+00:002008-11-06T23:38:32.676+00:00Visual Studio 2010 (Rosario) - First Impressions (1)I've just gone through the pain of downloading each of the files required to extract the Visual Studio 2010 aka Rosario September CTP VPC. Why couldn't they use the Microsoft Download Manager??Anyway, first things first, I opened Visual Studio 2010 and went to the New Project dialog. The first thing that I noticed was that the MVC Framework is missing. Now I'm not surprised as it is yet to be Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com1tag:blogger.com,1999:blog-1750405499999557065.post-87177514082505593232008-10-27T00:06:00.002+00:002008-10-30T10:57:42.001+00:00Searching, Ordering, and Paging with NHibernateFor a while now I've been looking at ways of making it as simple as possible to create scalable searches and add ordering and paging to them when using NHibernate as my ORM. I read this article by Oren a while back and it has guided my thinking since. I had the pleasure of mentioning this to Oren at the last ALT.NET drinks in London. He grabbed Seb's laptop and threw some code together, code veryNeil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com2tag:blogger.com,1999:blog-1750405499999557065.post-10550340679486506902008-10-02T19:41:00.004+01:002008-10-02T20:00:35.965+01:00I Wish the Framework Team Used Interfaces MoreOne of the things that often bugs me about the .NET Framework is that so many of the classes are written without an interface. A case in point is the System.Net.Mail.SmtpClient class. This is an excellent class and very useful. It extends System.Object, but it does not implement an interface. This is extremely frustrating!It's not that I would like to write my own version and swap it in, but I Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-90245475144094067592008-09-28T20:06:00.002+01:002008-09-28T20:09:51.131+01:00Keeping code clean - Decorators for Error Handling?I read a review a few days ago of the new book by Robert C Martin (Uncle Bob) 'Clean Code'. I'm going to order a copy as soon as I clear a couple of books from my current reading list backlog as it sounds interesting and the Uncle Bob blog on Object Mentor is one that I always enjoy to read. One of the things that stuck in my mind from the review was that the 'Do one thing' principle applies evenNeil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com1tag:blogger.com,1999:blog-1750405499999557065.post-12577017015976550712008-09-28T02:36:00.002+01:002008-09-28T02:39:36.292+01:00Testing DateTime Type Properties for Value Equality in Integration TestsI've just been writing some integration tests to ensure that some Repositories I'm writing work with NHibernate properly, basically ensuring that the mappings do what I want. The Repository classes in question use the latest release of NHibernate (2.0.0.GA) for their implementation and I'm using MbUnit for my integration tests.To try and save on the number of asserts that I have to write I Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-31466224184530822652008-09-23T11:42:00.002+01:002008-09-23T11:45:15.454+01:00Uninstalling AVG Anti-Virus SBS Edition broke my MS ExchangeThe licence for my AVG Small Business Server 2003 Edition recently came to an end and after looking around I decided that rather than renew it I'd replace it with Microsoft's new Forefront products. This is probably vast overkill, but I figured it'd be interesting to see how it all works and I generally prefer vast overkill anyway.What I discovered was that it's quite an involved process to get Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com9tag:blogger.com,1999:blog-1750405499999557065.post-50613643287546509912008-09-23T00:19:00.002+01:002008-09-23T00:20:45.186+01:00ASP.NET MVC - If it feels this right it can't be wrong!Having had a few days leave from work I've spent most of my evenings playing with the not-so new MVC framework. It's been great to spend some focused time playing with this new toy for web development from Microsoft. One thing that I've noticed is how nicely and quickly you can start to put together powerful, enterprise happy software with it. My starting point has been a model (a bunch of POCOs Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-82779418519240270082008-09-01T22:00:00.002+01:002008-09-01T22:34:42.746+01:00Google ChromeGoogle this and you will find a slew of links talking about a new open source browser that Google are developing.Check this link for a scanned in copy of a comic book that is apparently being sent out to various chosen people/organisations. Also this link (same site) for a description.It looks interesting, a bit more competition in this space should be good. I just hope that they implement the Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-28953295965329300842008-08-26T00:19:00.002+01:002008-08-26T00:21:05.112+01:00Getting Ubuntu 'Hardy Heron' on to a VM - Part 2New day, and armed with the download of the Desktop version of 'Hardy Heron' I'm installing it on to a Virtual PC VM following the instructions that I found here: http://blogs.technet.com/seanearp/archive/2008/05/13/installing-ubuntu-8-04-hardy-heron-in-virtual-pc-2007.aspxAfter reaching the point where I have started the install on the desktop - so far so good. It already is looking far more Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com3tag:blogger.com,1999:blog-1750405499999557065.post-25668489023096913992008-08-23T17:32:00.004+01:002008-08-23T17:36:52.109+01:00Getting Ubuntu 'Hardy Heron' on to a VM - An Unhappy SagaI've been meaning to dip my toes into the Linux water for a while now - my last exposure being a brief one about ten years ago at Uni. Yesterday evening I thought I'd actually do it. My particular motivation in this case was to run Oracle, something I'm working with a lot at work, and I figured I might as well run it on Linux as not (although we run it on Windows at work). So, with my Ubuntu Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com2tag:blogger.com,1999:blog-1750405499999557065.post-33939169244392963802008-08-23T17:20:00.002+01:002008-08-23T17:27:13.237+01:00NHibernate 2.0 is Finally ReleasedI've just read on Ayende's blog that the final release of NHibernate 2.0 is now available. I've just got the latest release and TortoiseSVN just finished getting me the latest code now. That's my bank holiday sorted!Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-36055233873970819472008-08-21T14:50:00.003+01:002008-08-21T15:22:25.602+01:00Simian - A Copy and Paste Code Hunter Killer!In my new(ish) job I have to look after a legacy application with a very large code base. Over the years this has been developed with a lot of copy and paste coding practices. This is a significant contributor to our 'technical debt' and certainly increases the costs of ownership associated with the application, adversely affecting troubleshooting, maintenance, and new feature development.I have Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-40333929999432158932008-08-06T22:22:00.002+01:002008-08-10T14:25:39.427+01:00SQL Server 2008 is RTM!So SQL Server 2008 has finally made it to RTM. I can't wait to get it installed and to start seeing how the features look now, and how the performance compares. They're available now on MSDN and TechNet. So there they are, although I don't seem to be able to download the Developer version yet. Expect blog posts on this before long...Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-68828607596992690112008-07-30T15:04:00.003+01:002008-08-10T14:26:26.509+01:00.NET 3.5 Microsoft Courseware with IEEE Computer SocietyI logged on to the IEEE Computer Society site for the first time in a few months today and got a pleasant surprise when I saw that at least some of the latest .NET 3.5 courseware is available free (usually £210.33 last time I looked) to members. It even includes courses on the ADO.NET Data Services and the Entity Framework.I've done a few of the course they provide before including the Certified Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0tag:blogger.com,1999:blog-1750405499999557065.post-76264502977498662972008-07-28T11:58:00.009+01:002008-11-13T10:08:08.517+00:00Resharper 4 Bug with 'Use Format String'I'd like to say first that I really, really like Resharper 4.0 and have made it my mission to persuade my boss to buy it for all of the Dev's where I work. I got my copy free at a NxtGenUG Southampton meeting and it continues to make my life as a developer easier.But...I've come across a small bug in Resharper 4.0 today, so I thought that I'd share so that others become aware.Real code has been Neil Robbinshttp://www.blogger.com/profile/15580592651926385745noreply@blogger.com0