Mastodon

Creating Subversion pre-commit hooks in .NET

A while back I wrote about Creating your own custom Subversion management layer [https://www.troyhunt.com/2009/10/creating-your-own-custom-subversion.html] which involved rolling your own UI in .NET to perform common management tasks in SVN such as provisioning a repository or managing permissions. This is a great way of quickly and easily giving users a self-service mechanism for managing their own repositories in a controlled, secure fashion. Continuing the theme of customising SVN to do yo...

The hidden costs of building on enterprise software platforms

Software development has come a long way over the last few decades. We’ve gone from extremely laborious, protracted exercises to create even basic functionality (punch cards anyone?), to the drag and drop, WYSIWYG environment of today. We’ve also gone from a very small number of enthusiast programmers to literally millions of individuals writing software worldwide (there were over 1.3 million software engineers [http://www.bls.gov/oco/ocos303.htm] in the US alone in 2008). And we’re all looking...

The commoditisation of the coder

I love a cold beer. Not just because it’s refreshing and makes me worry less about the world’s problems, but also because of beer’s fungibility. Let me explain; I can go down to the store and buy a beer and it’s pretty much the same as any other beer I might purchase elsewhere. Sure, there are different standards of beer and I’m going to pay a few dollars more for my favourite Little Creatures [http://www.google.com.au/url?sa=t&source=web&ct=res&cd=1&ved=0CAcQFjAA&url=https%3A%2F%2Fwww.littlec...

Why ReSharper recommends the “var” keyword in .NET 2.0 projects

I was a little confused this week as to why ReSharper was recommending using implicitly typed variable declarations in a VS2010 solution targeting .NET 2. Somewhere in my mind I had directly associated the “var” keyword with the release of .NET 3.5 so this looked a little odd to me: As it turns out, the var keyword is a feature of the compiler, not the .NET CLR. The same is true for automatic properties and object initialisers. The bottom line is that you can use these features in VS08 or...

SVN “Can’t create directory” Error

Here’s another one of those Subversion idiosyncrasies which threw me the other day and I couldn’t readily find an answer for. When committing a changeset I kept getting the error “Can’t create directory” followed by the the path of the repository on the server then “The system cannot find the path specified”. The first thing to get clear is that this is a Subversion error, it’s not related to the local working directory nor is it related to Tortoise SVN. Looking at the path in the image abo...

Foolproof personal backups with Mozy

It starts with that sinking feeling and all sorts of questions running through your head: > When did I last backup? Did I include everything? Does the backup actually work? When did I last try restoring it? How much unrecoverable data could I have lost? Losing data can be an absolute stomach churning experience. Those first moments when the penny drops and you realise you’ve got a big, big problem are absolutely nightmarish and without a robust backup strategy it’s just a matter of time...

Connecting to SQL08 on Windows 7 from a remote machine

I’ve got both a desktop and a laptop running SQL08 Developer Edition on top of 64 bit Windows 7 which until today, did not play nicely together. I could not get a remote connection from Visual Studio or SQL Management Studio to the other machine nor could I make an ADO.NET connection. Every attempt to connect resulted in a lengthy delay followed by a message such as the following from SQL Management Studio when trying to register the server: “Error connection to [machine name]” “A network-rela...

The black art of splitting a Subversion repository

Here’s the scenario; you have a Subversion repository that has been doing some multitasking. For whatever reason (convenience, laziness, ignorance), the one repository was used to store multiple projects and having now seen the light you want to split it out into separate repositories. This is entirely possible but it takes a bit of work and in many cases, quite a bit of trouble shooting (the kind you won’t normally find in the SVN books). I’ve done this a number of times recently and learnt a l...

I’ve been undefined!

Just in case anyone has passed by in recent days and noticed the Twitter panel on my blog displaying tweets that are, well, inconsistent with my normal tweets, fear not! It seems the geniuses behind the Twitter webpart for the Blogger engine have made a small mistake in the JavaScript variable department. In short, it appears an undefined variable is somehow inserted into a JSON request URL to Twitter and unsurprisingly, the Tweets of an undefined user are being requested. Surprisingly enough...

Building the ultimate virtual office

I’m fortunate enough to work in a role which allows me to spend of lot of time talking to people in all sorts of places around the world on a daily basis. As much as I enjoy this varied communication, it plays absolute havoc with your working hours. It’s not so bad speaking to folks in the Americas (I’m a morning person!) and that works well for them but throw in a country somewhere between Sydney and New York and you always end up with a pretty inconvenient time for at least one or two parties....