6 Jun, 2007
I saw in the newspaper yesterday that the Minneapolis Wifi network launched in one neighborhood of the city:
“Wireless Internet service is now available in the first section of the Minneapolis Wi-Fi network, near the University of Minnesota’s West Bank campus. Construction downtown should be completed by this weekend and in final testing next week.”
To purchase the service for your home, the fee is $20 a month for speeds of 1MBps. However, to guarantee that speed, you need to either rent a special modem for $5 a month, or purchase it for $80. I don’t see this as a big deal for most people; you usually need a modem from the cable company anyways to get broadband.
From the article it sounds like the access was pretty good with a wifi enabled laptop that the writer took to ten random locations in the area. It will get more interesting when the service is released downtown as it becomes more difficult to get a good signal with all the buildings.
In another story about municipal wifi networks, foxnews.com mentions that many city wifi networks are failing due to lack of adoption. I think Minneapolis might be better off than some of the other cities mentioned because the network isn’t being run by the city; they’re just the biggest customer because they’ve agreed to purchase access for the police and fire deparments. US Internet is the one installing and operating the network so its a business rather than a taxpayer subsidized network.
It was also comforting to see this quote from the press release that US Internet released when they were chosen to operate the network last year:
“US Internet proposes a combination of systems: Wi-Fi for private use including most city users, a separate network for public safety, and WiMax for businesses and residences wanting speeds up to 60 megabits.”
I’m glad they’re talking about imlementing Wimax as well as standard wifi, that way they’ll be ready if and when Wimax becomes standard to roll that out to the general public.
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.
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.
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 “
16 Mar, 2007
On the way to work this morning, I got the idea for an analogy in my head.
You can compare the U.S. Constitution to a software project. First, there was the Articles of Confederation (a prototype, one to throw away) in 1777. Then in 1790 the Constitution came into effect (v1). Article five of the Constitution describes “the process neccessary to amend the Constitution” (the Change Control Process). Article seven of the Constitution talks about the process of ratifying the Constitution (deployment plan).
After the Constitution came into effect, there were immediately 10 amendments made (the Bill of Rights or bug fixes to those of us in the biz) that were added in response to initial criticism of the Constitution (users unwilling to change). Since the original 10 bug fixes amendments were made, there have been 17 more hacks amendments added to the Constitution. Since 1789, more than 10,000 amendments have been introduced, but few ever get proposed to Congress (triaged).
So what does this all mean? Clearly, the Constitution is an ugly hack, and the framers would have been wise to bone up on some good object oriented design before starting