Ryan LaNeve

code, code and more code...

  • CI with AccuRev and CC.NET

    In my last post, I mentioned working with Camtasia to create my portion of a webinar being broadcast later today (3:00 PM EDT). If you're using [accurev], [ccnet] or both, or just interested in the subject of Continuous Integration or seeing a demo of a great source control system, join us for the webinar.

    Additionally, during the webinar I will mention a custom CC.NET labeler we are using and that I would make it available, so here it is.

    Disclaimer: try the LastChangeLabeller built-in to CC.NET first before resorting to this one. If you want to try this one, you will need to:
    1) get the source version of CC.NET;
    2) add the file linked above to the "project\core\label" folder;
    3) add the file to the CC.NET "core" VS project;
    4) re-compile everything.

    [update: I mistakenly listed the start time of the webinar as 4:00 PM EDT in my original post. The webinar actually begins at 3:00 PM EDT.]


  • Thinking Like a Programmer

    A few weeks ago, I was asked to participate in a webinar being done by AccuRev (the company) around the topic of continuous integration using AccuRev (the software) and CruiseControl.NET. One of the guys on the AccuRev team was preparing a video using Camtasia, and we agreed it would be easier for me to record my part using the same tool and we'd then stitch our two projects together to product the final video. I have used other screen-capture/recording tools in the past for some of our internal training needs, but I hadn't really done one in a while and I had never done one using Camtasia (though I knew of the software and probably tried a demo some years back). So, I grabbed the latest available demo version (5.0) and started playing.


  • BDD Style Specification Reporting via CC.NET

    After reading posts by Jean-Paul Boodhoo and Dave Laribee regarding BDD style naming conventions for specifications, my team gave it a shot on a project we started recently. It didn't take us long to agree that we preferred this naming style over the styles (or lack there-of) we had used in prior projects. We even found ourselves catching mistakes - in either the implementation or interpretation of the projects specifications - just by reading through the Dox report generated by the MbUnit GUI runner. We don't generally use the MbUnit GUI, however, and the output of the Dox report, though helpful, was not exactly what we were looking for. Since we have a continuous integration server running builds on every check-in, we decided to take a shot at having something generated during those builds. An example is seen below, which was generated using the MbUnit XML output from running the tests in the NothingButDotNetStore sample Jean-Paul has up on Google Code mixed with a custom XSL file.

    Sample CC.NET report from MbUnit Xml log

    We modified the build server's config to add a "specifications" report link when viewing the details of a build, and have definitely found it useful to have such an easy-to-read, always available and always up-to-date list of the specifications currently implemented by the project. While we're not quite to the point of being completely happy with what we've got - still some sorting, naming, organizational issues to work out - we definitely all agree that we are better off using this style of naming and having this report readily available for each build.

    Here is a zip containing an MbUnit and NUnit version of the XSL we are using to generate reports like the one shown above. As I said, they really aren't perfect, but should get you started if you're trying out a similar style of naming convention. Let me know if you make any improvements.


  • App Developer opening in Tampa, FL

    Got the chops to juggle multiple projects from design to development to completion? Tired of trying to convince your boss there is actual value in playing...err...*learning* things like Whidbey and Yukon before they're released? Interested in joining a team celebrated by its users as we prepare to build their next generation of applications and tools? Are you in the Tampa Bay area, or always wanted to live in a place you'd be evacuated from several times a year? Then apply now for the Applications Developer position available at Audio Visual Innovations, Inc.!


  • Two parts FlexWiki, one part reflection, shake vigorously...

    While working on the FlexWiki project, I became interested in the feature suggestion known as “Wiki Class Pages”. The idea was to enable automatic generation of pages to document/discuss the classes/methods/etc... of a given assembly. Basically, you get online documentation combined with the commenting/discussion abilities of a wiki. This functionality is not quite complete - dare I say, nowhere near complete - but it's certainly at a point to start showing others and testing against various assemblies. The current implementation displays a class' or interface's public constructors, fields, properties and methods using reflection, which is then combined with the information in the XML documentation generated by the C# compiler. My personal site has two assemblies being auto-documented: the FlexWiki engine itself and another GDN project called “DotNETShipping”. My real intent is to use this functionality on my internal development wiki where I work, but it may be useful for public projects such as those I just mentioned.


  • Made It!

    After finding out LAX was closed this morning, we decided to drive from San Francisco instead of waiting around indefinitely. Turns out, it was a good choice. Four hours in the car and now we've arrived.

    More to come, I'm sure.


  • PDC Session List - PDF

    I believe Julia is travelling and didn't think she'd have a chance to update her PDF session list, so I went ahead and created a new PDF from my updated XML file. This one is only by timeslot, though - I didn't make one by track like she did. Maybe I'll get a chance on the flight out to San Francisco this evening.

    PDC Sessions by Timeslot (PDF)


  • Job Opening - Tampa, FL

    Ok, ok...I promised myself I wouldn't post anything other than .NET related information to this blog, but the job is certainly .NET related!

    I'm looking for an Applications Developer in the Tampa, FL area. Apply via CareerBuilder at the link below if you're interested, and feel free to contact me for me for more information.