h1

Seamless Visual Studio on the Mac with VirtualBox

November 22nd, 2008

A few stars aligned recently and the result is fascinating.

1) I got myself 2G memory, a 320G disk and a 20″ display (and a putty knife!) and upgraded my Mac Mini. Then I upgraded to Leopard and hooked up the old drive in an external USB enclosure as a Time Machine drive.

2) I got a promotional copy of Visual Studio 8 from Microsoft. I’ve been using Visual Studio 2005 and wanted to give 2008 a spin, and with Joey as a new MS evangelist, the timing was right.

3) I subscribed to Technet Plus, which gives me evaluation copies of Vista and XP, among other things.

4) I installed Sun’s VirtualBox on my Mac, with its Seamless Mode feature that’s available when you have the Guest Additions loaded onto the virtual machine.

Sooo, I loaded up Vista Ultimate in a VM with Visual Studio, TortoiseSVN and the AnhkSVN plugin for VS2008, set up the IPSEC and OpenVPN connections to my office, and loaded up some code.

I now ready to do some serious evaluating in a killer hybrid environment, as you can see by the picture. Where to start?!

Visual Studio on the Mac - click for full pic

VirtualBox’s Seamless mode means that I can essentially run a Mac and a Windows PC simultaneously. For someone like me who uses both environments, it’s a nerdy dream. I could even throw in a Linux VM if I wanted to confuse myself further.

I’m also trying something similar with my Acer Aspire One. I have it running Ubuntu as its main OS on the 8G SSD. On the 8G SDHC card, I have a VirtualBox-powered XPPRO VM and I’m running it seamlessly with Ubuntu. With one toolbar on the top and the other on the bottom, it’s quite useful, especially when used in conjunction with an external monitor, but still workable in 1024×600:

Ubuntu and XP together on the AspireOne - click for full pic

The best part is that both of these setups perform very well on modest machines.

h1

Those flipping vote machines

October 27th, 2008

The Brad Blog has a story with videos documenting electronic voting machines flipping votes.

Apparently the scenario is this: Someone makes their vote for candidate X by pressing the corresponding box, but the machine puts a big green check mark against candidate Y instead.

…so far, all of the confirmed reports of vote-flips this year have been away from Democratic candidates

I guess the implication is that the machines have been programmed this way by nefarious GOP operatives as yet another way to rig the election.

Now, my tinfoil hat is among the shiniest when it comes to believing the worst about what America’s neocons have done in the past and will stoop to in the future, but even I can’t believe that when a programmer has the power to simply ignore whatever input is received and concoct whatever output their evil overlords mandate, they would then go all Donald Norman on us and insist on giving the user visual feedback that the deceit is happening.

h1

when unfamiliar == unqualified

September 15th, 2008

Interviewer: Do you agree with the Model-View-Controller pattern?

Candidate: In what respect, Charlie?

Interviewer: The Model — what do you interpret it to be?

Candidate: Controlling the view from the model, Charlie?

Interviewer: No, the MVC software architectural design pattern widely used in various web development frameworks.

Candidate: … I believe that design patterns are designed to rid us of the burden of reinventing the wheel over and over (…and other such generic drivel).

Interviewer: (closing the candidate’s file and marking it with a red X) Thanks for your time. We’ll keep your resume on file for six months.

h1

Cross-Site mashups starting to come together

August 1st, 2008

Via Ajaxian, Kris Zyp introduces the Dojo Cross-Site XHR Plugin registry

In typical Dojo fashion, it tries the best and most robust methods but allows you to fall back to the basics where necessary, and anticipates the standards currently in development in order to make future transitions minimal.

Great news!

h1

Javascript: The Good Parts

May 14th, 2008

Yesterday I received my (complimentary) copy of Douglas Crockford’s new book Javascript: The Good Parts.

I read it cover-to-cover in a couple of hours. I’m sure I will re-read it cover-to-cover multiple times before I manage to absorb the full import of much of it.

This book is not about the browser, it’s not about Ajax, it’s about a language. It is not a cookbook with recipes, it is a book about the art of cooking that explains what the best available ingredients are and how best to apply them. It may prove to be as central to our understanding of Javascript as K&R is to C, or as the Camel book is to Perl.

I highly recommend this book to anyone who wants to learn how to properly use this most fascinating and important language.

h1

Unsupported sniping from the Jem Report

May 9th, 2008

In passing during a rant about the trajectory of ethics in the field of technical book publishing, Jem Matzan accuses the book Enterprise Ajax of being simply a vehicle to shill Nitobi, the company founded by the authors. No supporting commentary or links, just a broadside blow, in a rant about ethics no less.

I was the technical reviewer on that book and I couldn’t disagree more. I found it to be a well-presented book full of technical and business value that didn’t push specific vendor solutions or dwell unduly on the authors’ business.

You have to get over 400 pages into the book before it gets into case studies that could be construed as promoting their own services, but even then the technical value far exceeds any horn-blowing.

I’d be glad to hear from Jem how I’m wrong and have him show me all the examples of shameless shilling that he perceives, however he doesn’t make it obvious how to contact him to engage him about his reports, and even if I were to chase up his contact info, the resulting email conversation wouldn’t help to clarify his meaning to those who might take it at face value.

It’s a two-way web here though, so leave your comments. Have you read the book and come to the same conclusion? Am I wearing my tech blinkers and missing all the marketing cues?

h1

Maybe I should find a grayer theme

March 3rd, 2008

Michael O’Connor Clarke wishes himself a happy seventh blogday, having been blogging since March 1st, 2001.

I’m only a day younger, having stumbled into the light on March 2nd of that same year.

Things have evolved considerably since then and I’m blogging a lot less now, but it’s quite a milestone all the same.

h1

Not nearly enough rope, but I’m almost ready to hang myself

February 1st, 2008

After a long stretch of successfully avoiding getting too involved with development on a Microsoft platform, I find myself taking on the day-to-day development, debugging and support of some IIS/.NET-based applications. The apps themselves are well designed, I’m content enough to deal with C# and .NET in the scheme of things.

When it comes to interacting with the server to do any configuration, maintenance, monitoring or debugging, however, I find myself cursing more often than not.

On this one particular server, I install the .NET runtime, SQL Express, TekRADIUS, and then notice that IIS is not installed, so I install it. It will serve static pages but not .NET pages. The logs didn’t tell me anything – no indication that an access attempt was made or rejected. It takes me nearly a day to figure out that it won’t talk properly to .NET until both IIS and .NET are completely uninstalled and then reinstalled in a different order. There’s no “fix it with this config tweak”, it’s just “reinstall in a different order and it should work”. Magically, it does, but I’m not confident that it’s more than a coincidence. I’d rather know why, however, I don’t care to spend another day of this project plan on it.

I have a 30 megabyte server log file to inspect. Let’s see, what tools does Win2k3 server provide for me to look at it? Umm….. notepad. But not until I add it to “send to” or associate the file extension. How do I filter it? I can use “find” at the commandline and redirect into another file, but find is practically useless with no regular expressions. “More” only pages through the output in one direction. Where’s “tail”? I have to repoen the 30M file after I try another server access and then want to see the next entry? What do people in the W2k3 world use instead of “tail -f”? And what about log rollover? Is there nothing built into W2k3 server to manage the zipping, archiving and deletion of log files? It seems not. Any tools you will need to manage this baby don’t come with it, you have to get them yourself and install them. The tools supplied fall wayyyy short of being useful. Try to use the Event Viewer to filter by regular expression into a file that you can then manipulate further. You have to write your own programs to do stuff like this or get third-party tools. You can install Powershell, which is a great improvement, but my solution is just to install UnxUtils and get right down to being productive.

I want to use SSL. I set the SSL port, restart the instance, try https://localhost – nothing. Look at logs, nothing. Turns out I have to have a cert in place before it will work, not that the server was going to give me any hints. I had assumed a self-signed cert would be there by default. I have to find and download an SDK and follow a dozen-step process to build a cert, then import it into the cert store.

The entire configuration is a collection of settings that are entered or inspected one-by-one by tediously navigating the management GUI to varying depths of dialogs. When I have my config together and I want to set up the next server, I don’t provide it with a monolithic settings file from my reference system, I have to tediously make each click and entry, then backtrack and debug when I inevitably miss something critical. I understand the typical approach is to build a reference system and clone it, then mess with the machine IDs. What a palaver.

When I finally get through a marathon session of setting up a Windows server “just so” to make my application work, it’s like I have created a finely balanced stack of Jenga blocks from which I back away slowly on tiptoe, praying it doesn’t tumble. I’ve got very little confidence that fixing anything will be an excercise in logic and deduction more than having to know some obscure incantation or uninstalling components wholesale and reinstalling and reconfiguring them.

I’m afraid I find it really difficult to understand how any Windows server can be considered a serious business tool when it’s shipped without even the most rudimentary tools to effectively inspect, monitor and maintain its operation.