25. March 2007 21:35
My PhD supervisor, Wayne Kelly, is on Channel 9! He's giving an update on the Ruby.NET project - http://channel9.msdn.com/ShowPost.aspx?PostID=295197 There were some other interviews on the day so I expect we'll see something from Joel, John and Joseph soon.
BTW, the room he's in for this interview will be populated this Friday by the poor souls who decide to listen to my PhD defense.
25. March 2007 17:07
I noticed this article on The Code Project this morning. It provides wrappers to make windows forms controls appear with the new Vista styles (when used in Vista). The nice thing is that they degrade properly for use on older versions of Windows.
The other nice thing is that it provides a version of the Command Link control for use on Windows XP (see picture below). Command links are a nice addition in Vista which I've already had a few uses for. In fact I had already started my own implementation in windows forms because I hadn't found any acceptable solutions. From my quick glance at this article it looks like I might be able to throw that away and use this instead.
Other Vista vs XP Controls
24. March 2007 02:42
The end of my PhD is in sight and my post-PhD plans include the possibilty of some microISV action. So I need an auto-update plan for a WinForms app. I'm using WiX to deploy the app originally since the app includes fancy things like windows services, not just xcopy.
Basically I need it to grab a WiX generated patch file. Stop the app (after prompting the user) and prompt for admin credentials (if necessary) before starting the patch.
I've been looking around and I can't find any auto-update solutions I can use out of the box. So it looks like I'm going to have to write my own :( or at least adapt one of the current solutions.
Anybody got some better ideas?
19. March 2007 06:40
After ongoing problems with my host's email service I've finally decided to search for other options. Yesterday I migrated my mail server to use Google apps. Basically this means that when you email anybody @rikware.com it actually gets delivered to Google and I access it through the typical GMail interface. Hopefully this will stop those random bounces I seem to give with my own provider. As a little side benefit the email will now come from my address and not have my GMail account as the "sender".
Only one downside at the moment. The GMail Notifier doesn't work for Google apps so I have to find a replacement for that (or whip up something quick myself).
12. February 2007 16:39
I recently checked my server logs and discovered some very strange search terms were directing people to RikWare. Of course, these terms were all being matched by the some 2700 sping (spam pings) that had come in under my radar. A quick sql statement and some hacking and I can now say that RikWare is once again spam free. However I no longer accept pingbacks/trackbacks or submission through the comment API :(
24. November 2006 07:53
Here's part two of my Apache-Subversion setup process. This time we're setting up SSL on the server.
1. Generate SSL Certificates
First up we need to generate some certificates for the system. Although OpenSSL came with the Apache install, it doesn't include all the necessary config files by default so the easiest way I found was to download a separate set of binaries which run straight out of the box. Grab OpenSSL from http://www.slproweb.com/products/Win32OpenSSL.html and install it.
The certificates are generated through the following commands:
openssl req -new -out server.csr
openssl rsa -in privkey.pem -out server.key
openssl x509 -in server.csr -out server.crt -req -signkey server.key
Fill in the appropriate info when prompted. Make sure that when you're prompted for the Common Name (eg, your websites domain name) you put in the address of the server (e.g., www.rikware.com). Note that these certificates are of course not signed by a certificate authority so you will be warned when visiting the site that they may be insecure. You can avoid this by distributing the server.crt file to your clients separately. Alternatively get the certificates signed properly, but I'm not going in to how that is done. Check out http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL for some more info.
You should now have a server.crt and server.key file. Copy those to the /Apache/conf/ssl.crt/ and /Apache/conf/ssl.key/ directories (you'll need to create the directories yourself.
Open up /Apache/conf/ssl.conf and replace "c:/apache" with "C:/Program Files/Apache" (or wherever you've installed Apache. Also uncomment (remove the '#') the lines <IfDefine SSL> and </IfDefine>.
If you want to move SSL from the default port then search for "443" and replace it with the new port.
Open up /Apache/conf/httpd.conf and uncomment the following lines:
- LoadModule ssl_module modules/mod_ssl.so
- <IfModule mod_ssl.c> and the </IfModule> just below.
Start up Apache and try browsing to https://localhost/. You should get the Apache default page again after an SSL.
Next time - Adding Subversion support to Apache.
23. November 2006 21:53
I recently needed to expose a subversion server publicly. Unfortunately I couldn't find any way of getting the svn+ssh protocol working with a windows server (at least not without having some complex setup on each client which I wasn't happy with). So instead I setup an Apache server to expose it via https. Since this required pulling in info from a few different sites I thought I'd list my setup process along with links to all the appropriate windows binaries.
So here we go - Setting up an Apache-Subversion server on Windows XP with SSL Support, Part 1: Apache.
Here's what's coming up:
- Download binaries
- Install Apache
1. Download Binaries
Although you can grab an Apache build for windows off the Apache site, it doesn't include support for SSL. To grab one with SSL support visit http://hunter.campbus.com/ and grab the zipped version of Apache 2.0 (not 2.2 - Subversion does not work with Apache 2.2 at this stage). Currently it's Apache_2.0.59-Openssl_0.9.8d-Win32.zip but of course grab the latest version.
Extract the zip somewhere appropriate. I like C:/Program Files/Apache/ so that's what I'll assume for the rest of this series.
Now the important bit. Open up Apache/conf/httpd.conf in your favourite text editor.
- Do a quick search and replace to replace "c:/apache" with "C:/Program Files/Apache".
Apache is set to listen on port 80 by default. If you'd like to move it somewhere else do the following:
- Find "Listen 80" and replace it with "Listen 8080"
- Replace "ServerName localhost:80" with "ServerName localhost:8080"
We should be ready to go at this stage. Run "Apache/bin/Apache.exe" and look for any errors. If everything is going well then you should just get an empty command prompt. Fire up you web browser and test http://localhost:8080/ (assuming you changed the port to 8080). If everything works correctly then you should get the apache default page.
Sidebar - Apache Service
At this stage close down apache and run Apache/bin/Apache -k install to install the apache service. You can then start it up either through the control panel services applet or run Apache/bin/Apache -k start. If you follow on and setup SSL support in Apache it's probably best to keep testing with the command line version.
Next time - Setting up SSL
1. November 2006 12:12
My old partner in crime, Doug, has released RikReader. I'd love to say I contributed more than some beta testing and part of the name but unfortunately it's all Doug's good work. Hopefully I'll find some time to release a nice little addon utility for RikReader which we've been talking about. I won't say what because I probably won't find the time and it will never eventuate :(
11. October 2006 17:42
I've just tried using WiX for the first time. For those that don't know, WiX is an open source project started at Microsoft for developing installers using the Windows Installer framework. WiX is supposed to be much simpler than the standard tools, but doesn't claim to be simple.
My only previous experience has been with the installer projects built into Visual Studio, which I've found to be very confining. I'm happy to say that WiX is the exact opposite. I feel like I'll be able to do pretty much anything I want to once I fully understand WiX. The learning curve is pretty steep however.
The best site I've found for learning is the tutorial at http://www.tramontana.co.hu/wix/ Just read through it all to get a good overview then use it as a reference as you start writing your own stuff.
So far, I have just one tip to share. The tutorial shows how to create shortcuts in the start menu and desktop, but doesn't show you how to add shortcuts for all users. Luckily it's quite simple, just add this:
Of course, just connect that up to some radio buttons and allow the user to choose whether to install for themselves or everybody :)
19. September 2006 18:06
The following link was mentioned by Manoj Nagpal on the Aus-DotNet mailing list this afternoon. It's a must read for all ASP.NET developers. It's a very enlightening article on ViewState.
It's not often that I simply drop a link on my blog but this one is well worth it.