« December 2007 | January 2008 Archives | February 2008 »

More Cruise Control .Net woes

| 4 Comments
I've almost got something that works out of CruiseControl.Net. Once I'd hacked in some fixes for the project triggers and other stuff that didn't work the way I wanted it to I concentrated on generating the config files that I required and testing the system. The good news is that I now have an integration system that works, it can build, test and deploy libraries in such a way that dependent libraries and applications are rebuilt as new versions of deployed artifacts become available. The config file generator can generate files for all of the build machines that I'm currently…
I am intending to check out some of the other build servers that people have been suggesting, but today I was too busy with real work so I just left a cut down version of my latest CruiseControl.Net configuration running on one of my boxes and fixed a few issues whilst doing proper work most of the time... This evening I decided to go and look at why CruiseControl.Net scales so poorly and the first issue that I came across is the title of this blog posting... In the ProjectIntegrator class there's a Run() method (because, of course, all projects…

Local project trigger...

| 0 Comments
I hacked another fix into CruiseControl.Net today and we now almost have an acceptable level of performance in my particular (some may say warped) circumstances. The trick was to hack the project trigger to be a "local project" trigger. By default the project trigger uses .Net remoting to talk to the CruiseControl.Net server where the project is hosted. In my case this meant that all of my project triggers (and there are lots!) were using remoting to talk to the server that they were running in; this looked like it could be a triffle inefficient so I hacked in a…
As I mentioned a while back, I'm writing a managed XLL style add-in system for Excel for one of my clients at the moment. This is going pretty well, most of the custom marshalling code is now done and we can write code in C# and expose it to Excel as worksheet functions. Over Christmas I picked up a copy of Excel Add-in Development in C/C++: Applications in Finance by Steve Dalton. This is a book that I wished I had back in 2001 when I first started writing XLLs. It's full of otherwise hard to find information about how…
I've been tracking a bug for a client recently and yesterday I got a remarkably similar bug report from one of the users of my free socket server framework. The client's code is pretty old and was originally based on a server framework that was based on the free version of the code and it hasn't been upgraded to the latest version yet. The bug in my client code is also present in the latest (Feb 14 2006) version of the free socket server framework - found here. The bug does NOT affect the licensed version of The Server Framework unless you're…

How important is VC6 to you now?

| 0 Comments
I'm working on the next releases of The Server Framework, and I now have continuous integration (of a sort) so my build and test problems are being minimised... BUT... Keeping Visual Studio 6 support in the framework is becoming a bit of a mission. It's mostly simple template stuff that fails but I find that I keep having to work around VC6 issues. I'm proposing to drop VC6 support from version 5.3 of The Server Framework. The next release, 5.2.1 (which adds VS2008 support) will be the last version with VC6 support included as standard. How much of an issue would that be for…

New release of free Socket Server framework

| 0 Comments
There's a new release of The Server Framework's Free Framework, here. This includes the bug fix that was mentioned here.…
The free version of the socket server framework contained code that could cause a deadlock during connection closure if you also have a lock in your derived class. There's a lock taken out in CSocketServer::Socket::IsValid() that isn't really required and which can cause a deadlock if you have your own lock in your derived class which you lock in OnConnectionReset() or other server callbacks and which is also locked when you call into the framework via Write() or other calls. The deadlock is due to the lock sequencing; when calling into the framework your lock is locked and then the…

CruiseControl.Net patches

| 6 Comments
Hacking CruiseControl.Net to work better for my specific circumstances (lots of projects that depend on lots of projects) has resulted in the following patches to revision 3607 of ccnet which I'm just about to submit to the developers. These patches are 'supporting patches' to the main ProjectTrigger and integrator changes, I thought I'd start with the simple ones... None of these patches should change existing functionality, all require new, optional, properties to be specified to activate the new code. All patches include updated and or new tests. 1) IntervalTrigger - Added initialIntervalSeconds. initialIntervalSeconds is a new property that controls when…

DNSBL - again...

| 1 Comment
If Richard Wolff is reading this then I can't reply to your emails as your ISP is bouncing my emails with this: Hi. This is the qmail-send program at ns.mgf4.net. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. Connected to 207.115.36.23 but sender was rejected. Remote host said: 553 5.3.0 nlpi100,DNSBL:To request removal of, 69.0.209.156, send the complete error message in an E-mail to removeme@sbc.sbcglobal.net I've sent a removal request message but the automated response doesn't give me that much faith that…

Coding the markets

| 1 Comment
Barry (who seems to have stopped blogging) recommended this blog to me; Coding The Markets. It's pretty good if you're into investment banking development stuff.…

Living with continuous integration

| 1 Comment
Well, it's about a month since I started running Cruise Control .Net and things have settled down somewhat now and I can almost go a day or two without tweaking my configuration or being tempted to fix issues in Cruise Control itself. For those of you that haven't been following along: First I realised that the latest (1.3) release of Cruise Control .Net wouldn't work for me without some hacking. Then I found that my idea of 'integration' wasn't quite the same as the simplistic situation for which Cruise Control .Net worked best; I have lots of projects and running…
« December 2007 | January 2008 Archives | February 2008 »

About this Archive

This page is an archive of entries from January 2008 listed from newest to oldest.

December 2007 is the previous archive.

February 2008 is the next archive.

I usually write about C++ development on Windows platforms, but I often ramble on about other less technical stuff...

Find recent content on the main index or look in the archives to find all content.

I have other blogs...

Subscribe to feed The Server Framework - high performance server development
Subscribe to feed Lock Explorer - deadlock detection and multi-threaded performance tools
Subscribe to feed l'Hexapod - embedded electronics and robotics
Subscribe to feed MegèveSki - skiing