Category Archives: BOOL

Windows Azure Websites: -1

You should have by now – but if you haven’t – do try Windows Azure Websites. It is almost as usable as AppHarbor. Just register and start setting up your websites. For small blogs and wikis you can get away with internal storage and spend no money at all. No need for hosting ever again.

If you, as you should be, are writing your own web apps, you can connect your Bitbucket free private repo, or indeed your almost free GitHub private repo, or indeed a public repo directly to an azure website, so that you get CI whenever a commit is made in that repo. You can differentiate on branches so that the master branch triggers deploys to “production” and the staging branch, for instance, triggers deploys to the staging site. The possibilities are if not endless pretty huge.

The thing is, it works, although I’ve manage to upset the system by trying to do naughty things with weird Silverlight apps, but if auto deploy doesn’t work, manual deployment from Visual Studio still does. Even if auto deploy does work –  having CD from Git to the test site and VS -> Publish to your production site may not be such a bad idea, if you want to find a middle ground. Of course you are free to spend money if you like, but it is not necessary.

www.windowsazure.com

Windows Phone 6.1

I managed to lose my employer’s Nokia N82 and as punishment by my boss he stuck me with an HTC Touch Cruise Windows Phone Classic 6.1 phone that nobody had wanted to use since 2008. I have tweeted about my findings with the hashtag #punishmentphone.

In short, the experience has been mixed. Synchronization with Google Apps works like a charm with e-mail, contacts and calendar and the messaging function is quite OK in the way e-mail works and the SMS part has conversations just like the iPhone. Sadly, though, the Windows Mobile general feel remains with very bad tactile feedback from the touch interface and a borderline unusable virtual keyboard and having a Windows interace on a phone means that user stories like “Create new SMS” or “Make a phone call” be at least a few clicks too far away for comfort. Oh, and another pet peeve: When the phone boots, it throws the SIM-card PIN-code dialog at me first, but that gets hidden by the WinMo desktop and I have to go in to the comm manager and disable the phone and reenable it to get the PIN dialog to a place where I can actually punch the numbers in. WinMo has improved since before, though as the phone has only died on me once so far for no reason, which is vastly better than a QTek S100 I wrestled with years before.

Windows Virtual PC Beta: -1

While test driving Windows 7 RC I suddenly needed to run a virtual machine to avoid dual booting to access a few key applications that could not survive the combination of an x64 platform and Windows 7. Either one on its own would have been fine but the combination was lethal. Killing two birds with one stone I felt the time was right to test drive the Windows Virtual PC beta and Virtual Windows XP. The first day I managed to completely ruin my XP virtual machine and had to start over. This was the start of a healthy dose of stupidity tax in combination with a rather opaque interface to the virtual machines which still only dented the superb first impression slightly.

The product

The user interface is a custom Explorer folder, supposedly containing actions for creating and managing virtual machines. Not so in my case, despite reinstalling twice, I only have a fancy icon in the toolbar and that’s it. No actions avaiable. This doesn’t hamper proceedings much, though as I can still double click a virtual machine file (*.vmcx) to start it. How do I create a virtual machine, though? Google tells me that to create a new virtual machine I type vmcwizard.exe in the start menu search field and press enter. Google is right. Once created, you configure the machine by right clicking the file in the explorer and clicking Settings. Here you get a properties box that has more in common with Windows Server 2008 and Hyper-V than with Virtual PC, which is of course great.

The integration features make the VM able to talk to USB devices on the physical computer aside for the usual disk, printer, clipboard and sound integration also available. In order to run old (or just badly made 32-bit only) applications virtually you look at the Auto-Publish tab and enable that feature. This means that application shortcuts under the All Users Start Menu end up published in the host-OS Start Menu under All Programs –> Windows Virtual PC –> [Virtual Machine Name]. Any notification icons displayed in the virtual machine while it is running in application mode will also be forwarded to the host OS notification area. To enable this, you may be wise to store credentials for a user account on the VM that has proper authorization to run the programs installed. This way the integration becomes seamless.

Virtual Windows XP is thus just a preconfigured Windows XP SP3 image with auto-publish checked. Nothing magical that you couldn’t make yourself provided you had a spare license for Windows XP, obviously.

The user experience while working with Windows Virtual PC is excellent compared to old Virtual PC 2007, because it feels just like Hyper-V for 2008 even though Hyper-V has superior performance to Windows Virtual PC, allegedly.

Problems? Oh yes. The virtual Windows XP wants to update itself through Windows Update. After it does, the virtual machine is Initializing, only showing a progressbar that suddenly starts over. After X number of iterations, I found, on non-Microsoft parts the Internet again, the shortcut Shift+Esc which shows the console instead of the progress bar. Lo and behold: Windows XP was BSOD:ing so the VM was rebooting continously! Not surprising since it’s XP, but it still is annoying since I’ll have to recreate my VM again which is boring. A utility which salvaged VM:s killed by Windows Update would be a nice-to-have trinket.

Also, integration just stops working in a few cases, and there is no way of forcing it on without tens of thousands of reboots which may or may not have the desired effect. No indication from either guest OS, host OS or VM player what the problem is. These things are extremely frustrating and could so easily be avoided.

An aside

I have a few design guidelines for Working Software, note that these are completely diametrically opposed to guidelines for security and stability, but this is for those of us who need to actually work for a living:

  • Never check for preconditions before you try something*
  • Never use locks. Don’t have shared write access to global resources, dummy.
  • Unless you risk actually destroying something valuable**, never mind errors, just continue.
  • Incorporate DDoS code to punish non-responsive servers. This is the only way.
  • Automatically kill processes locking the file you need. Those processes are never vital, statistics say***,

*90% of the case your check will be overly pessimistic, especially if you check version numbers. They are always a bad idea
** This is the case in less than 0,1% of production code. Mostly you get corrupt data which is, again, important in only a small percentage of the cases. Like I wrote initially, this is not for the people looking for correct or secure software, only software that delivers.
*** This claim is completely bogus. I mean the percentages above were complete fabrications as well, but this one tops them all.

IIS Security

While working on a project today I got a bit frustrated. Instead of having one security setting per node in the conceptual tree that a web server in effect is, thus allowing people to actually configure authorizations to the allow the least possible and still run the applications, there are six hundred and fifty nine separate places to configure access usually meaning that in the initial phase people run everything as Enterprise Administrators, from the web site identity down to the least possible scriptlet just to get something up on the screen when you test the app on your own box.  If you insist that ‘but we need to make the websites impossible to configure, otherwise there is no security’, at least provide me with a big fat ‘Make it so’ button that allows me to ensure that, say, an AD group that should be allowed to look at a web site, by me having pressed the Patrick Stewart-button while the group was selected, they would actually be able to see the web content without any error 500.x/ 403.x because a .config file had the wrong permission sets way back somewhere. I love low permission worker process identities, but please configure them automagically through the admin tools. The problem is other people and viruses messing with the websites, Making them impossible to configure isn’t exactly helping people to lower security settings. Just don’t leave the server open  for attacks in the first place so that other people than me get to configure my server and you’ll see that security will be just fine.

OF course, once I calmed down I realized there are ways of dealing with the frustration, especially with IIS7.0 and I should at least share this link.

Basic IIS7 troubleshooting

3 Customer Support: -1

Due to my recent foray into the beta OS lifestyle I had the displeasure of finding out that the 3 Connect Huawei 220 Turbo 3G connection software provided by the telco that goes by the long-winded name of 3, does not in fact install post upgrade. Or, it installs, but does not execute.

I placed a call to the customer support hotline and after explaining to the 1st line support that yes, Windows 7 is newer than Vista, he would consult with a colleague and get back to me. I waited patiently for the inevitable “Dude, you’re running a beta OS, can you say: NOT SUPPORTED?”, but instead, imagine my surprise, the guy comes back on the line saying “I talked to our technicians and they are aware that regrettably, the software does not work on Windows 7 yet, but we are working to solve the problem presently”. Practical difference for me? None. Except you feel a lot better when people give the impression of caring. This bumps 3 tech support from 0 to –1.

Of course, I would not be this magnanimous and benevolent if had been kept from using the wireless broadband entirely. A windows dialup connectiion could access the modem and create a connection, so in the end I could make do just fine without the 3Connect software

Quick Answers –1 or 0

So you want to know what is hot or not? You want to know what to think on a variety of subjects but you cannot really be bothered with getting to know the issues first hand? Search no further:

Windows 7: –1

A solid, dependable operating system despite being a beta. Sure, some websites look upon your HTTP_USER_AGENT suspiciously, thinking that NT6.1 is no an OS they can support, but that is an issue that can be remedied in Firefox among others through simply spoofing the USER_AGENT-string. Problem free upgrades and installs are reported, stuff just keeps on working. Uneventful and boring, just as you want them. Lots of small details that gets you hooked right away strictly because of the improvements to the user experience, the improved keyboard shortcuts, the new structure in the control panel, the way dialup and VPN-connections are activated and deactivated from the taskbar, the new taskbar in general.