Archives

Archives / 2010 / January
  • Generating AssemblyInfo with NAnt Gotcha

    As a part of the build script I tend to generate AssemblyInfo.cs in order to inject assembly information dynamically, such as version, name, etc. One gotcha I ran into lately, is when you have internals that are testable and need to generate that information from NAnt as well.

  • NHibernate Session Factory

    Each time we use NHibernate, we have to share production and semi-production code for NHibernate SessionFactory. Production code is the portion that is actually responsible to generate the SessionFactory on startup. Semi-production code, is the code that generates SessionFactory for purpose of schema extraction (SQL statements we use to generate DB). This time around, the smell had to be removed. Having identical code duplicated not only risky, but also becomes intolerable once it grows beyond a single line. This is our new SessionBuilder, that leverages the same code to generate SessionFactory for run-time purpose and schema generation at “design” time.

  • Blogging as a Recruiting Tool

    We got two good developers applied and accepted to the company from what it looks through my blog. I have posted about 2 weeks ago that we are looking for developers. This is great! We need more people. Same call is still active.

  • Clipboard on the Net

    I like the idea of being able to copy something and paste it on the net. It’s handy, no registration is required, and it’s temporary, just as clipboard supposed to be.

  • HttpListener and IIS to Listen to HTTPS Traffic Connections Simultaneously

    HttpListener provided with .NET version 2.0 and up allow to build a custom HTTP server based application without need to have IIS installed on machine. This can be handy in some scenarios, where IIS cannot fit it. HttpListener can handle normal HTTP traffic, as well as HTTPS (secure). Once details that is hard to find online, is the fact that there’s a conflict between IIS and HttpListener to listen simultaneously to port 443 despite different prefixes being used. After digging for a while, the answer was found. Apparently, Windows 2003 is coming with IIS 6.0 and Windows XP comes with IIS 5.1. That little details does the difference (underlying implementation in HTTP.SYS looks like).

  • Looking for Good Developers

    If you are from Calgary area, and willing to join .NET team for enterprise development – let me know. We are using .NET, BDD development style, not bleeding, but quite on the edge. If you like to develop quality software, and agile process is what you want, send me your resume at feldman [dot] sean [dot] work [at] gmail [dot] com.

  • Windows 7 – God Mode?

    This is really funny. A friend of mine forwarded a link, where a little Windows 7 trick is described to get management links in one folder for Windows 7 system. Steps to reproduce are simple:

  • log4net Configurable Custom Properties

    log4net is a great facility to create logs. When it comes to extending it, it’s good as well. To add a custom property to a custom appender that can be configured from configuration XML file is so simple, that it even looks suspicious.

  • Code Coverage

    We are a TDD shop, or BDD to be more accurate. Normally we leverage Hudson Test Result Trend to see how things are doing. The project is a Windows NT Service. This is how Test trend looks like:

  • Regex With Comments

    While working on a specific task that required a lot of parsing, I came to conclusion that comments for Regex expressions are quite useful. The way I usually write code allows to look at specifications and determine what each component can do. But with Regex it’s not quite transparent, as you might use expressions to achieve the goal, but not necessarily expose the usage through specs.