While we were in the process of adopting Sabrina, Michelle had the wonderful opportunity to live in Antigua for 3 months and be Sabrina’s foster mother. We rented a nice house for them that was right next to the jungle (not kidding), it had some lime trees and other fruit-bearing plants in the back courtyard, a private laundry… it was nice.
The one thing that wasn’t nice was that the street on which it was located was one of the main ways to get into town, so you constantly heard the thundering roar of, what is endearingly called, Chickenbuses. The air then, for 10 minutes, reeks of diesel fuel.
These buses had three distinguishing characteristics:
I was lucky enough to have my camera on me when one was driving by the street Michelle lived on.
I’m in the process of backing everything I own to a massive external drive in preparation for my soon-to-be-delivered Windows 7 Professional.
In the process, I came across this video from when me and some old friends went to Corolla, NC. We went crab fishing with all the kids and after we captured a bucket full, we decided to release them back into the wild.
Nothing too exciting, but one of them refused to back down and you can hear the kids squealing in the background.
Back when we were planning on how we could implement a Service Oriented Architecture (SOA) at work, we had many special consideration to take into account. While we are far from having a final solution, we did come up with at least a game plan and some initial services.
I stumbled across this diagram that I created to explain to others how the final system might look at a high level. This would look slightly different today if I created it from scratch as we’ve had some maturation of some of our processes and technologies, but the overall flow would be the same.
In my continuing journey with TeamCity, I’ve discovered something highly annoying… not with TeamCity but with Adobe.
I’m trying to build a master configuration with an Ant script that will automatically build several child modules. First thing I realize is that I have to override the path properties of the child Ant script with relatives paths from the parent script. Ok, that makes sense since it’s a subtask being called from the scope of the parent, so the paths have to be from that directory.
Then I try to call COMPC in the child Ant script. It chokes hard with:
[compc] command line: Error: unable to open 'api/src/Manifest.xml'
“That’s odd,” I think. I know I’m passing it the right path (contained in the ${src.dir} property). However, just to check, let’s echo out the contents of the path I’m sending to the child script.
<fileset id="dir.contents" dir="${src.dir}" includes="*"/>
<property name="file.name" refid="dir.contents"/>
<echo>${file.name}</echo>
I run the script again, and lo and behold, guess what echoes out?
[echo] Manifest.xml
wtf?
Ant says that the file exists in the path contained in the ${src.dir} property, but the COMPC task says it doesn’t exist?
<compc output="${build.dir}/${build.file}" debug="false">
<include-namespaces uri="${namespace}" />
<namespace uri="${namespace}" manifest="${src.dir}/${manifest.filename}" />
...
Still haven’t figured this one out, because I’m now stuck in the process of throwing darts with a blindfold on, simply guessing which directory COMPC thinks it’s starting from, because, of course, there’s no way to output anything from inside the COMPC task.
ARGH!!!
First, the link: TeamCity
I’ve used several automated build tools over these many years, and even though I’ve only been using TeamCity for <24 hours, I can honestly say it's the easiest one I've ever used.
During 2 hours last night, and 3 hours this morning, I was able to set up every project we have, convert the Ant scripts, establish the proper dependencies, and have build triggers set up for each one.
Additionally, the Eclipse plugin they made is professional and bug-free. Here's a quick screenshot I took last night while I was getting all the projects configured.
It even includes support for Jabber, so I’m installing a test server on my machine to see how that works. Hard to imagine that I could have a complete build management server set up, including notifications, and integration with task management within 48 hours – cuz that’s how long I think it’s going to take.