Using xsl-fo to generate PDFs, and you want to display the **pagenumbers **like ‘page 3 of 10’? It isn’t too hard. Just add this to the footer of your pages: Page fo:page-number of <fo:page-number-citation id=”last-page”></fo:page-number-citation></fo:page-number> Then, make sure you have the following at the end of your document (so, on the last page): <fo:block id=”last-page”></fo:block>  

Okay, I finally got Git to work. Here’s the necessary steps, after having installed msysgit and TortoiseGit. First, create the local repository. You’ll get a notification that an empty repository was created. You can now use the repository to track your changes. But of course, you want to push this stuff to a server, as backup, because other people will collaborate on your project, etc. I’m using Unfuddle so I’ll concentrate on that (check out Git for Windows Developers for

Git can be quite confusing in the beginning, especially coming from a subversion background. But once you’ve got it running, you realize it’s quite easy:install msysgitoptionally install something like TortoiseGitnow you need to create an SSH key, which is explained on the TortoiseGit site for Linux, but for Windows, it’s a little harder:open command prompt and navigate to where msysgit is installedenter the following command: ssh-keygen.exe -t rsa(use /? to see more info)enter your passphrase and the location to save

Looking for **a good F# tutorial **to figure out what the hype is all about? Check out the excellent F# series on Kevin Hazzard’s blog. Maybe a little out-dated when you’re using the September 2008 CTP of F# (there’s no add-in anymore, and the command mentioned in part 2 has a different name – just search for ‘send’), but finally a tutorial that explains it step by step.

WPF creates a whole new range of possibilities, but you can often run into trouble when trying to combine it with NHibernate. NHibernate can’t handle ObservableCollections*, which is a quite handy feature of WPF. Furthermore, what to do with the good databinding capabilities of WPF?Shawn Duggan provides a nice solution using the **Model-View-ViewModel **pattern here. Check out this recent article by Josh Smith for a good introduction of the MVVM design pattern (with an easy-to-follow example). it is possible to

There’s lots of information out there on how to create a virtual directory in IIS with adsutil.vbs. But when you need an application, like for an ASP.NET website, you need one more step which I had some trouble finding. Adsutil.vbs is a script to manage IIS from the commandline. If you’re using IIS6 you can use other scripts like iisvdir.vbs and iisweb.vbs. But for IIS5, these aren’t available, so you have to use adsutil.vbs instead. Here’s the three commands necessary:

Ok, not everyone does, but you have to admit it’s a trend in the software development world and a good one for that. But if you’re already developing in an agile manner or plan to, take 5 minutes to stop reading about scrum, TDD, XP and other Agile methods and check out the basics. In other words, read the Agile Manifesto, and see why we’re doing agile software development. Also, be sure to read the twelve principles behind the manifesto.

Looking for good icons for your applications, that blend in well with other typical Windows applications? If you have Visual Studio, then you already have 1000+ icons without having to Google for ‘free icons’ and coming up with loads of unusable previews.Navigate to your Visual Studio install directory and in \Common7\VS2008ImageLibrary you’ll find a zip file VS2008ImageLibrary.zip. Extract that and you’ve got a whole set of icons you can use in your application. In each folder there’s a read-me with

I’m a fan of the MVP design pattern, so databinding isn’t something I would use very often, but I have found a use for it in WPF. It is very easy to databind one Control to the other. This gives us some interesting possibilities. For a standard example, check out this screencast. What I want to show here is how you can extend this with ValueConverters. In a project of mine, I needed to show a control depending on the