Just Finished Reading (Lean Edition)
Posted on July 11, 2010
| 2 minutes
| 314 words
| Riaan Hanekom
Lean Software Development : An Agile Toolkit, Mary Poppendieck and Tom Poppendieck. An excellent resource on how the lean principles from product manufacturing can be applied unto software development. A good overview of content can be found in their 2002 paper here (pdf) and the Wikipedia article on Lean.
Overview Each chapter in the book describes several “thinking tools” for the 7 Lean Principles.
Eliminate waste describes how to identity and remove waste in order to maximize the flow of the value stream.
[Read More]
Dependency injection - the what and the how
Posted on July 4, 2010
| 15 minutes
| 3013 words
| Riaan Hanekom
Background: We’ve started a weekly patterns & practices meeting at work with some of our senior developers where our discussions and actions will hopefully bring some improvement to the current development environment. Once a week one of us has an opportunity to showcase a new topic – much akin to knowledge transfer session but more fine-grained and at a higher level than the technology. Gareth Stephenson suggested we blog about the content for the benefit of others, which I think is not a bad idea at all.
[Read More]
Just finished reading...
Posted on June 25, 2010
| 1 minutes
| 99 words
| Riaan Hanekom
The Passionate Programmer: Creating a Remarkable Career in Software Development (Chad Fowler) and The Pragmatic Programmer (Andrew Hunt and David Thomas).
I wish I had read The Pragmatic Programmer earlier in my career as it provides an excellent overview of many good practices in software development. Reading this a couple of years ago would have avoided/shortened many a learning experience.
The Passionate Programmer is a truly inspiring book, and comes highly recommended if you
[Read More]
NGenerics - new team member
Posted on October 21, 2009
| 1 minutes
| 72 words
| Riaan Hanekom
A hearty welcome to David Schmitt who joined the NGenerics Team. David’s bio : David is a Debian Admin and .Net Developer living and working in Vienna, Austria. He’s partner in a small tech company startup at http://dasz.at/. His current interests with NGenerics is the implementation of the Immutable namespace. As stated in his bio, David will be working on implementing a selection of immutable data structures.
Photo by rawpixel.com on Unsplash
NGenerics 1.4.1 Beta released
Posted on August 25, 2009
| 2 minutes
| 251 words
| Riaan Hanekom
You can find it on our new project site. This build includes the following (straight from the release notes) :
New Platforms
NGenerics now has a Silverlight version in this release targeting Silverlight 3. New data structures
Single-Valued (i.e) not KeyValuePair version of the RedBlackTree. A generic version of the priority queue that can have a key implementing IComparable, or any object with an IComparer instance. New Patterns
Added the Converter pattern under NGenerics.
[Read More]
NGenerics has moved
Posted on August 9, 2009
| 1 minutes
| 70 words
| Riaan Hanekom
The home of NGenerics has moved to Google Code from it’s original project site on CodePlex. We’re still in the process of migrating some of the content like the downloads, but for the most part we’re up and running. If you have any issues or feature suggestions, please submit them to the Google Code project site.
Edit:
NGenerics is now hosted on GitHub here.
Photo by Joey Kyber on Unsplash
NGenerics project move update
Posted on August 9, 2009
| 1 minutes
| 141 words
| Riaan Hanekom
Content migration for NGenerics went well - but please note the following changes:
All downloads for releases moved to the new project site. Due to Google not being willing to add the MS-PL license to Google Code, we’ve had to re-license NGenerics under the LGPL. LGPL is practically the same license but more wordy. A User Voice site is available for feature requests - please log (and vote for) any features you would like to see in NGenerics.
[Read More]
NGenerics overview - the Priority Queue
Posted on August 4, 2009
| 3 minutes
| 588 words
| Riaan Hanekom
Previous instalments
General Data Structures
HashList ObjectMatrix Trees
GeneralTree and the Visitor Pattern Binary Trees and Binary Search Trees The Priority Queue data structure has the same basic behaviour and operations as the classic queue found in .NET. A queue applies a first-in, first-out (FIFO) approach to a list of objects. This data structure is typically used in message processing to process messages in order of arrival. Queue implementations tend to have the following operations available :
[Read More]
Playing with types - non-unique property and field names
Posted on July 30, 2009
| 1 minutes
| 33 words
| Riaan Hanekom
Cool, I didn’t know you could do that:
Of course, this doesn’t play all that well with C#:
I should complete my reading of that CLI specification…
Photo by Avi Richards on Unsplash
Emitting a Type that inherits from a base type referencing the built Type
Posted on July 26, 2009
| 2 minutes
| 214 words
| Riaan Hanekom
Incredibly simple, yet it took me a while to craft the correct search terms to come up with this solution. I can’t even find that forum post now, so hopefully this entry will save someone else some time.
In a lot of solutions there exists a base class that would take the inheritor as a type reference to be able to do some work on it - you’ll typically see this pattern in fluent interfaces and classes that use reflection.
[Read More]