10 May, 2007
I followed the steps that Jeff Atwood outlined to create a blank VPC image. Having a really small VPC is nice for testing stuff out, especially now that I’m running Vista at home.
My Wix installer creates a new user on the machine that I’ll use as the user for the Monorail web application. While testing the installer out I kept getting an error while creating the user and I naturally assumed it was my (lack of) Wix skills.
Eventually I just tried creating a user through the computer management snap-in and that was failing too. So it wasn’t an issue with my Wix file, but it was still an issue.
Go back to creating a small VPC. I used XPLite to remove a bunch of junk, so I fired that up again to see if I removed something that I shouldn’t have. I did.
Just an FYI to people trying to make small VPCs, don’t remove the “Active Directory” item under the Advanced items. Its less than 100k and its worth it so you don’t have this (and potentially other) issues.
9 May, 2007
I went and saw the Arctic Monkeys on Monday night at First Avenue downtown. The show was pretty good, their equipment was setup very well, I didn’t need to wear earplugs like I normally do.
After playing for a little over an hour, the band left the stage and the crowd starting cheering for an encore. About 30 seconds later the lights came on and the crew was taking the stuff off the stage. I think that was the first time I’ve ever seen a band NOT come back for an encore. Its not like the crowd was cheering or didn’t like them.
When the lights came back on, people were kind of looking around like “seriously?”. It was strange.
Has anyone else seen them on their tour? Was there an encore at your show?
7 May, 2007
Heres a little tip for you. If you end up removing the ‘Show Desktop’ its not obvious how to put it back, because its not just a regular shortcut (theres no ShowDesktop.exe or anything). Here’s a link to the instructions for getting it back:
http://support.microsoft.com/kb/190355
6 May, 2007
One thing I forgot to mention in the last post was that I was looking around for a Wix-contrib kind of site, does anyone know if something like that exists?
It would seem that the simple interfaces that I want to add to my installer must have been created by somebody before, and I’ll leverage anything I can find.
I think the custom interfaces is the one place that Visual Studio Setup projects are better than Wix, but just for the ease of use, not any functionality differences.
6 May, 2007
I’ve been really digging into Wix over the last couple days to move along the installer for my side project.Currently, the installer installs four things:
- Sql Server database
- MonoRail web application
- Windows service
- Console application
What I need to do now is allow the user to pick a server to install the database on (hardcoded as the local machine right now) and also specify a sql username/password to run the database setup scripts with (also hardcoded as the ’sa’ account). This turns out to be non-trivial. Based on my research it looks like I’ll have to write a custom dialog in my .wxs file that contains the text fields that I want the user to fill in, and then bind those text boxes to the corresponding Wix properties.
I wish there was a way to have Wix generate the dialog for me, especially in the case where I just need some text boxes, nothing too fancy.
When getting the Monorail web app installation working, I discovered the ability of tallow.exe to examine a directory structure and generate the corresponding Wix fragment to make that structure get installed. So I just ran that command on my build folder and I saved myself the hassle of typing each file into my .wxs file. I didn’t see a way to send the output of tallow to a file though, but you can just redirect the command line output to a file like this:
tallow.exe -d DIR-TO-MIRROR -dav > FILE-TO-OUTPUT
One thing that tallow won’t do for you though is generate guids in the appropriate places, so I had to go through and do a big find/replace. Still saved me a lot of time though.
After I get the database installation issues sorted out, I’m moving on to allowing the user to pick which web site to install the Monorail application under, currently the installer just assumes the web site at port 80, but I can’t really assume thats where everyone will want it located. The interface for that will be more complicated than the database setup, so I want to make sure I’m doing things right.
5 May, 2007
I read in the paper this morning that the Minneapolis wifi network is scheduled to get turned on next week in the Seward neighborhood, downtown is slated for later this month.
The last update I had, it was scheduled to be done by late this year, it would seem they are ahead of schedule.
“Initially customers will be able to buy wireless Internet download speeds of 1 million bits per second for $19.95 a month, said Joe Caldwell, the company’s sales vice president.”
……
“US Internet plans to add other, faster tiers of Internet service once the wireless network is installed, Caldwell said. The company first needs to test the strength of the Wi-Fi radio signals in different parts of the city, because geographical barriers and buildings can affect the signal.”
$20 a month is a pretty good deal for basic internet service, it’ll be interesting to see exactly how fast the “faster tiers” are. I haven’t heard much locally about St. Paul doing a citywide wifi network, but I would definitely consider subscribing to it if they do.
19 Apr, 2007
Man, its been far too long since I last posted, and the last post wasn’t even (that) geeky.
Heres what been going on:
- I’ve been using MonoRail for a side project. I don’t think I’ll even develop another .net web site that doesn’t use MonoRail. The productivity gains are insane. You can get a working forms-over-data application up and running in no time, and thats not even using the Scaffolding support. It feels great to be liberated from TextBox, Label, and GridView objects
I almost suggested using MonoRail for a project at work, but I decided against it because its a short project (~2 months) a I couldn’t justify the time for the learning curve, maybe next time.
- I finally got Vista installed at home, and I brought up the other monitor from the basement, so now we’ve got a dual flat panel setup upstairs which is nice. I’m liking Vista so far, but I got a scare recently when I booted up and I couldn’t get past the screen that says: “Press -Tab for network book options…” Nothing worked, it would just freeze. I finally started unplugging stuff and it ended up being the Seagate FreeAgent drive that I had. So thats unplugged for now, we’ll revisit that at a later date. The UAC isn’t nearly as bad as some people make it out to be. I’m a sucker for the eye candy, and I haven’t even upgraded to 2 gigs of RAM yet.
- Jason Bock has been raving about the new Rush album, and though I’m definitely not a Rush fan, I heard the new single on KQRS and I gotta say, its not half bad
The new song that I’m really digging is the new one from Maroon 5, its not on Yahoo Music yet, but you can hear it at their web site: http://www.maroon5.com/hi_fi
I’m gonna try and get back on the posting bandwagon, but thats enough for now.
25 Mar, 2007
I had the first beer of my second batch last night, its a brown ale from Midwest Supplies called Hex Nut Brown Ale. The beer tasted really good, I would compare it to Newcastle, but a little sweeter. There wasn’t as much carbonation as I wanted, but that might change as the bottles sit longer (I didn’t drink all of them last night
). Anyways, here are the stats:
- Beer: Hex Nut Brown Ale from Midwest Supplies
- 2/16: Beer gets brewed, hydrometer reading of 1.050
- 2/27: Hydrometer reading 1.018
- 2/27: transferred from plastic fermenter to glass fermenter
- 3/8: hydrometer reading: 1.012
- 3/10: hyrdometer reading: 1.012
- 3/10: Bottled beer, yield was 44 bottles
- 3/24: Tried first bottle, all was good
This beer turned out really well and I think that because I started in the plastic fermenter and then went to glass, and finally back to plastic for the bottling, I was able to reduce the amount of sediment that ended up in the bottles. Also, I didn’t lose as much beer in the transfers, which is shown by the extra four bottles I got this time around.
I also need to point out that it was my friend Josh’s idea to post the details of my beers here, he was a little offended that he didn’t get credit when I posted about my last beer 
19 Mar, 2007
I was getting my build script up-to-date with my WPF additions to Walnut today. I already had the “press F5 and run in Visual Studio” configuration working, now I just needed to make my release build script work so I could continue to package up test releases into an installer.
After I ran the build, I was getting this error: “Unable to load one or more of the requested types”, this is related to the reflection I use to dynamically load either the WinForms shell assembly, or the WPF shell assembly. It was crapping out when trying to iterate over the types in the WPF assembly.
Between some googling and inspecting the build log file, I figured out the issue. The build script first builds Walnut.exe, then Walnut.WPFShell.dll, then Walnut.Shell.dll. I found that each shell assembly was rebuilding the Walnut.exe file, because each project in Visual Studio had a reference to that project, so it would force a rebuild. What happens is the version of Walnut.exe is changed when the second shell assembly compiles, which screws up the first shell assembly, it gets confused by the new version number.
The fix was to remove the Walnut.Core project reference from both shell assemblies in my MSBuild files and instead just reference the Walnut.exe file that I know exists in the build directory.
18 Mar, 2007
I “discovered” MonoRail over the past couple days, mostly from a link on Scott Hanselman’s podcast. I had heard about it and finally decided to take a look.
MonoRail is to asp.net development what Rails is to Ruby web development. MonoRail allows you to use a pure MVC pattern in your asp.net application. Controllers handle the page flow and interactions, Views are just that - a “dumb” UI, and Models are your business objects. MonoRail has some nice integration points with Castle’s ActiveRecord library for .net, which makes a lot of the forms work like they would in RoR.
The thing that I think I like the best about MonoRail is that it allow you to develop as if you were using Ruby, but its got the scalability of typical asp.net web apps. I read much more about scalability concerns with RoR as opposed to asp.net, and while I think the scalability of either environment only comes into play when you have a hugely popular site, I still like developing in .net better than RoR.
One feature, albeit small feature, that I really like about Rails that I haven’t seen yet in MonoRail is respecting the intent of a GET request. In Rails when a “Destroy” link is shown, it links to some url like this:
http://localhost:3000/products/destroy/3
Which would be routed to the “destroy” action for product with ID = 3. This works of course, but its better to use a POST request when modifying data, not a GET request. So, the link in Rails actually doesn’t go to that url, instead it uses javascript to write out a “