Henry 的个人资料Utterances on Software E...照片日志列表 工具 帮助
6月27日

Windows 7 and what it is not

Now that we have prices, it is clear that RC1 is probably the thing and not a lot if anything is going to change for RTM.

So, I guess I have to live with the small and big nuisances, everybody else does not seem to have.

Nobody seems to have an ASUS P5B-E and encounter the extremely loud audio click during startup and “shutdown” or notice that it doesn’t appear to be able to completely shutdown the motherboard and power supply.

There is all the fuzz about how it is faster and uses less memory than its predecessor, that more apps and devices are working and that XP Mode and RAIL are the greatest things since sliced bread.

Really? The greatest thing is that the next Windows version can now run a legacy app in an entire virtual machine on the old platform? And “integration” is something like a shortcut that opens a window over a Remote Desktop? C’mon!

I really thought that application virtualization was aimed at a much, much tighter integration and that Microsoft actually had the smarts to pull this off within its own new Windows operating system, instead of coming up with a duct-taped Virtual PC.

Is the new system architecture really both that different and at the same time so non-extensible that an application cannot be more seamlessly virtualized? And do I really have to go and manage the XP Mode VPC like another machine, that is Microsoft Updates, Firewall, Virus Scan?

And what do I get for this? Just a shortcut in the start menu. And I had so high hopes for the Compatibility property page.

Well, for one thing, it is great that I can run 32bit-only applications for out-of-support USB devices on a 64-bit host. But there is no automatic startup, no automatic attach of USB devices and no real integration, with themes, with common registry settings, notifications or seamless access to the host file system, e.g. the user documents folder.

Why don’t I get what “Windows-on-Windows” really stands for? And all those nice “shims”? How’s that gonna integrate?

And for us poor chaps in the EU there isn’t even an upgrade path. As far as I know, Virtual PC doesn’t provide “Convert PC to virtual machine” in the same way that VMware does.

Windows 7 may be the best Windows Microsoft has made to date. But it is a far cry from the perfection the hype suggests.

It simply works better than Windows Vista because Microsoft and more of the other software and hardware vendors had sufficient time to get their act together for the adaption (or workaround) of the security features, multi-core machines, and even 64-bit.

But the stuff that is really broken in Windows Vista and Server 2008, say the out-of-their-freaking-mind “Event Viewer”, that didn’t change for “7” in any way.

6月19日

OracleClient has left the building

For someone simple like me, Microsoft’s announcement regarding the sunset of System.Data.OracleClient is sobering news.

While it seems to fit into the company’s recent activities regarding monopoly abuse claims, it is a harsh turn against loyal users for a couple of reasons:

  1. A deprecation means, from now on, I’m doing the wrong thing. Maybe I was doing the wrong thing from the start.
  2. AFAIK it is the first time, Microsoft abandons an entire chunk of the System.* namespace, where, as far as I were to believe, the most stable interfaces had been homed. A deprecated interface stack for a third-party software is only a broken window for more things to be cut in the future.
  3. I’m left with little if any choice regarding stability, quality, consistency, compliance and completeness. Due to the insufficient weight of other vendors, most people will be pushed to Oracle's ADO.NET implementation, the creators of which may or may not choose to support any or all guidelines, interfaces and new services Microsoft conceives in the ADO.NET space, e.g. LINQ or ADO.NET Entities, or may choose to abandon all .NET activities in favor of Java at any time.
  4. Due to the countless intricacies, idiosyncrasies and outright wrong individual choices within ODP.NET, not all code can be simply switched over, even (or in particular) when Writing Provider Independent Code in ADO.NET. Since ODP.NET is more tightly integrated with the entire Oracle database stack, differences between database and client versions, patch sets and critical patch updates will become more apparent to the application and more system configurations need to be considered for testing, even if there is an additional layer in between, such as an ORM.
  5. ODP.NET or any other third-party provider create an additional deployment requirement, which may conflict with other applications on the same machine in the Global Assembly Cache, in registry settings or arcane areas such as environment variables, and needs more testing and considerations for compatibility.
  6. New levels of service and support have to be negotiated for development and runtime, which very likely will be associated with a cost increase, due to plain fees or hours spent on forums and hotlines.
  7. The decision affects up-level components, such as ORMs or the Oracle Data Processing Extension for Microsoft SQL Server Reporting Services, for which an extensive number of dependent components has been created that need to be reviewed for compatibility. In the case of SSRS, this decision may affect countless report templates sitting in every imaginable file or content management system.

Obviously, I’m exaggerating.

The pragmatic developer is barely holding it’s laughing that I was using Microsoft’s API in the first place. Everything will be manageable and will Just Work. The implementation from Oracle will be alright and more than sufficient for the insanely simple stuff that was possible with the anyway limited OracleClient, so support will not be needed.

And I should be so happy I have more choices now.