Converting bazaar repositories to git

I recently moved the CoApp source repositories from Launchpad to github, and I wanted make sure that I preserved all the commit history along with it. Fortunately, it’s not too terribly difficult to move from one to the other (provided you jump thru the hoops to getting fast-import working on bzr for Windows). Fixing Bzr…


We’ve Moved CoApp code hosting to Github

Just a quick update today—we’ve moved the source repositories for CoApp from Launchpad to Github. While I liked a lot of the things about Launchpad, the website is feeling slower and slower some days, and Bazaar, while offering the features that I like, isn’t getting the attention (and developer resources) that git is.  Combined with…


Binding Events to .NET 4.0 Tasks instead of Objects (Part 2)

In my last post, I showed how we’re binding event handlers to the Task after it’s already been started. This of course, is probably not what you want, as it’s possible to lose some events if the task starts up quick enough. So, the CoTask task factory also lets you pass the event listeners as…


Binding Events to .NET 4.0 Tasks instead of Objects (Part 1)

During the development of CoApp, I’ve enthusiastically embraced the .NET 4.0 Task Parallel Library (aka, the TPL).  It’s a set of APIs that make developers more productive by significantly simplifying the process of adding parallelism and concurrency to applications. I got religion around this last fall when I saw the PDC presentation that Anders Hejlsberg…


Simulating Symlinks for Windows XP/2003

(cross-posted from the mailing list) As I mentioned in my last post, CoApp’s design relies heavily on the use of Symbolic Links (symlinks)—a feature which is implemented fairly well in Windows Vista and beyond, but is missing in earlier versions of Windows. Cygwin tried to work around the limitation by using shortcuts (.LNK files), which…


CoApp “Package Composition”

(cross-posted from the mailing list) When CoApp packages are installed, they install into a predetermined location based on the package metadata—this ensures that all packages play by the rules, and allow us to use Windows features to support things side-by-side installation of applications (ie, havin’ two versions of the same application installed concurrently), and also…