NGenerics on Ohloh

I share the same sentiment as Ayende on the visibility of open source project usage - page views and downloads are not useful in determining usage. If you do use NGenerics in your projects (whether it be public or private), you can let us know on the Ohloh project page. If you’re using it in an public/open source project, drop us a line so that we can add a link to you in our Hall Of Fame. [Read More]

NGenerics overview - the HashList

Something that I find a use for in almost every project I work on, is the HashList (also known as a MultiMap in the Java world) in NGenerics 1.2. A HashList is a multi-valued dictionary that uses a Dictionary<TKey, IList> under the covers. It still retains dictionary semantics but handles the creation and destruction of the key/list pairs itself. For example, adding a couple of items to the HashList will have the following result: [Read More]

Public CI for NGenerics

Thanks to the Code Better guys, JetBrains, Ideavine, and Devlicio.us, NGenerics is now hosted on a public CI server. The build script packages the main NGenerics assemblies in a zip file, so you always have access to the latest build from source. You can find those under “Artifacts”. We’re still waiting for a response from the Code Better team on supporting Silverlight on the server - if we get that, the latest Silverlight version of NGenerics will be available as well. [Read More]

Specification pattern

The Specification pattern has been added to NGenerics. In my previous post on the Specification Pattern, we explored creating specification functionality using extension methods. It’s actually been implemented with the operator methods (And, Or, Xor) on the actual interface, with an abstract class forming the base of all specifications. The deal-breaker for this approach was the need to add operators |, & and ^ in order to trim down the syntax a little bit. [Read More]

NGenerics 1.3 Release

NGenerics 1.3 has finally reached production status - you can download it here.

With it released, we can finally start working on several exciting new features for 1.4. Watch this space!

Photo by Lewis Ngugi on Unsplash

NGenerics 1.3 Beta Release

We’ve just released NGenerics 1.3 Beta - grab it while it’s hot! Also, don’t forget to give feedback on new features / anything that really bugs you. Quite a bit of time passed between this release and the Alpha release. We’re currently working on achieving a quicker release schedule, about one release every month or so (alpha, beta, release version). In doing this, we hope to: Get features out there quicker. [Read More]

Team Foundation Server

You would think that the integration between Visual Studio (using the TFS client) and TFS would be better than the the Visual SourceSafe integration. Nope, the same annoying bugs that were present in the Visual SourceSafe integration has rocked up in TFS, so I’m assuming the old codebase has just been extended. After several unsuccessful check-ins (read, breaking the build) when I’ve worked disconnected on NGenerics, I’ve finally given up on TFS. [Read More]

New Company, new job, NGenerics

I’ve recently left Avision to join Intervate. Although I miss Avision and it’s people tremendously, I felt that I’ve reached my maximum growth point and that I needed some new challenges. I’ve been an employee at Intervate for two months now - and it’s a great company : Microsoft Gold Partner, intelligent and competent people, exciting projects and learning opportunities. At the moment I’m somewhat of a contractor - but that should pass pretty soon. [Read More]

Sealed classes

As part of version 1.3 of NGenerics, I’ve finally remove most of the sealed keywords from the classes (where it made sense). It took me a while, but I’ve accepted the following rule (and Microsoft is of the same opinion, it seems) : Never seal a class unless there’s a very good reason to do so (like it being internal, security reasons, etc). Programmers using your library will use it many creative ways you can’t even imagine, and sealing a class limits that creativity. [Read More]

NGenerics 1.2 released

Yeah, NGenerics 1.2 has been released! If you haven’t checked it out yet, do so now - no decent programmer should go without a toolbox of data structures and algorithms. Some new features in NGenerics 1.2 includes : Red Black Tree Hash List Object Matrix ReadOnlyPropertyList Prim’s Minimal Spanning Tree Algorithm. And if you try it, be sure to give some feedback - we’re always looking for new ideas / improvements. [Read More]