Technologies

Here at DevDefined we have passion for technologies and tools, which we feature here to let you know just what's used to get the job done.

RSS-2.0
  • Cuyahoga

    After evaluating a number of content management systems, Cuyahoga was selected for implementing our own website - it's well architected, light weight and embraces practices and technologies we already use for our own projects at DevDefined, including NHibernate and Castle Windsor.

    Until a decent open source CMS built on Monorail of ASP.Net MVC appears in the ecosystem, this is our preferred choice for a simple and effective content management in .Net.
    1/2/2008 12:24:31 AM Comments 1784
  • PostSharp

    PostSharp is an open source framework for the .Net runtime - it consists of two parts, PostSharp Laos and PostSharp Core.

    Laos is:
    ... a Lightweight Aspect-Oriented Solution.
    ... a framework of custom attributes that really add new behaviors.
    ... a plug-in based on PostSharp Core.
    ... the tool that will make you reduce code size by 10% in your next project.
    And the Core is:
    ... an msil enhancer: it transforms .net assemblies after compilation.
    ... open-source: you can use it for free for academic and commercial projects.
    ... an open platform: transformations are encapsulated in plug-ins.
    ... supported: a full-time developer provides community and commercial support.
    DevDefined has begun to use PostSharp to allow for a reduction in the amount of repetitive code we write on a daily basis and have found it to be very successful so far.
    1/1/2008 2:42:37 PM Comments 0
  • Rhino Commons

    DevDefined make use of the excellent Rhino Commons library - which provides features and common functionality for making solutions based on features in the Castle Project & NHibernate.

    Developed by Oren Eini, this is a great library which I have used all or part of on various projects.
    1/1/2008 1:20:40 PM Comments 0
  • RhinoMocks

    Rhino Mocks is a Mocking framework written by Ayende Rahien which uses dynamic proxies, it not only makes mocking easy, but is a lot friendlier to refactoring, compared to the alternative tools.

    A dynamic mock object framework for the .Net platform. It's purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.

    Rhino.Mocks is an attempt to create easier way to build and use mock objects and allow better refactoring support from the current tools. It's a hybrid approach between the pure Record/Replay of EasyMock.Net's model and NMock's expectation based model. Rhino.Mocks originated from EasyMock.Net and attempt to improve on their model to create easy to use and power mocking framework. It's free for use and modification for open source and commercial software.
    1/1/2007 12:45:00 PM Comments 0
  • Castle Project

    Castle Project is an amazing open source project that delivers a wide array of features to ease the pain of developing applications in .Net.

    Castle is an open source project for .net that aspires to simplify the development of enterprise and web applications. Offering a set of tools (working together or independently) and integration with others open source projects, Castle helps you get more done with less code.

    Castle's goals are avoid code repetition, use convention instead of configuration whenever it's possible, and handle common tasks on the programmer's behalf.

    Primarily DevDefined make use of two key components from the Castle Stack, the Windsor Container a very well engineered Inversion of Control Container and MonoRail a pure MVC framework for web development, inspired by the ActionPack (ah la Ruby On Rails).

    1/1/2007 12:43:00 PM Comments 0
  • Base4.Net

    Base4.Net is a unique open source product developed in New Zealand by Alex James, to quote the base4 site:

    Base4 is a powerful open source platform and API for extending and integrating existing legacy and 3rd party databases.

    It is more than just a product it is a philosophy, and approach to integration that makes sense.

    Base4 can wrap existing data silos for you so you can re-use them rather than creating a new silo and more headaches for the future. Base4 then exposes wrapped silos using very powerful object mapping techniques.

    At DevDefined we have begun to use Base4.Net to dramatically speed up development of data-centric applications, and also to dramatically simplify the complexities of continuously developing applications due to it's support for migrations.

    Edit:  We no longer use base4.net in Active Development, because it has been stale for over a year now, however we do offer support for existing projects developed using base4.net and can also assist in migrating to an alternative ORM such as NHibernate or the Entity Framework.

    1/1/2007 12:41:00 PM Comments 0
  • Log4Net

    Log4Net is the The Defacto open-source logging framework for .Net - a lighter alternative to the Enterprise Library released by microsoft, the library has it's roots in Log4j. It offers runtime configuration of logging and many types of loggers.

    1/1/2007 12:00:00 PM Comments 0
  • NLog

    The NLog project is a logging framework with a similar API to log4net, however it's generally considered faster, and uses an easier to configure (and more powerful) routing table for determining how messages are logged. At DevDefined we are migrating away from using Log4Net as our standard logging framework in favour of NLog.

    1/1/2007 12:00:00 PM Comments 0
  • NUnit

    NUnit has been there from the beginning of .Net and is considered the ubiquitous framework for unit testing in .Net - everyone has used it at one point or another. It doesn't have as many capabilities as MbUnit, but it is easily extensible - unless we need the additional features found in MbUnit we generally favour this unit testing framework.

    1/1/2007 12:00:00 PM Comments 0
  • MbUnit

    MbUnit is an advanced unit testing framework, offering all the features of NUnit, but providing a better extensibility model and a number of additional features not found in alot of other unit testing frameworks.

    MbUnit is an extensible .Net test framework. As in NUnit, tests are created at runtime using Reflection and custom attributes. MbUnit differentiates itself from NUnit in it's extensibility model. It contains a number of tests that go beyond the simple unit testing, such as a greater assert range, pairwise testing, combinatorial testing, data oriented testing, etc...
    1/1/2007 12:00:00 PM Comments 0
  • ReSharper

    Don't leave home without, ReSharper is the essential add-in to Visual Studio.Net for C# developers, once fluent with it's functionality you can never go back to the bundled refactoring supporting in VS.Net.

    ReSharper is undoubtedly the most intelligent add-in to Visual Studio 2005. It comes equipped with a rich set of features that greatly increase the productivity of .NET developers. With ReSharper you get intelligent coding assistance, on-the-fly error highlighting and quick error correction, as well as unmatched support for code refactoring, unit testing, and a whole lot more. All of ReSharper's advanced features are available right from Visual Studio.
    1/1/2007 12:00:00 PM Comments 0
  • CruiseControl.Net

    The tool that is seen, but seldom herd in our organisation - CruiseControl.Net is a continuous integration service that just works, we use it to handle continuous integration & nightly build scenarios of MSBuild & Nant based projects.

    1/1/2007 12:00:00 PM Comments 0
  • Subversion

    We buck the trend of using Microsoft team system and use subversion instead for all our source control needs, it's free, scales well, can run on any kind of hardware, and it's a lot easier for our customers to gain access to their source code - it can be integrated into VisualStudio.Net using Ankh - but we generally use explorer to do our check ins via TortoiseSVN.

    1/1/2007 12:00:00 PM Comments 0
  • Trac

    p>Trac is an issue tracking system which is becoming popular for both open source and commercial product development, due in nature to it's minimalistic approach it's very easy to pick up and use.

     

    Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies.

    It provides an interface to Subversion, an integrated Wiki and convenient reporting facilities.

    Trac allows wiki mark-up in issue descriptions and commit messages, creating links and seamless references between bugs, tasks, change sets, files and wiki pages. A timeline shows all project events in order, making the acquisition of an overview of the project and tracking progress very easy.

    In the future we intend to expose some of Trac's functionality via a range of services, including SMS bug alerts and being able to log alerts via MMS or Email, leveraging the Syzmk RMP.

    1/1/2007 12:00:00 PM Comments 0
  • WiX

    This tool is developed by Microsoft, but is open source and hosted on sourceforge - WiX stands for Windows Installer XML and we use version 3 for building .msi installers for our clients.

    1/1/2007 12:00:00 PM Comments 0
  • NCover

    NCover is a free code coverage tool for .Net, we use to ensure that our automated unit tests are traversing all code paths in our application.

    NCover provides statistics about your code, telling you how many times each line of code was executed during a particular run of the application. The most common use of code coverage analysis is to provide a measurement of how thoroughly your unit tests exercise your code. After running your unit tests under NCover, you can easily pinpoint sections of code that are poorly covered and write unit tests for those portions.

    Code coverage measurement is a vital part of a healthy build environment.
    1/1/2007 12:00:00 PM Comments 0
  • FxCop

    The Nazi of software development,

    FxCop is a code compliance tool which does static analysis on .Net assemblies, we use it when developing libraries which will be used by 3rd parties to ensure that as much of the framework design guidelines are be adhered to (which makes it easier for 3rd parties to get to grips with the library quickly, because there shouldn't be too many surprises).

    FxCop is a static analysis tool, meaning that it can perform analysis on your code without actually running your code. It can detect about 250 different issues in your code, of which about 50% are issues around deviating from the Design Guidelines (naming, inheritance, usability, resource management, etc...). The other 50% of issues it can detect are correctness problems around globalization, interoperability (COM/native), performance, portability (32-bit vs 64-bit OS), security and API usage.
    1/1/2007 12:00:00 PM Comments 0