Posts Tagged ‘microsoft’

Windows 8 is Great – Don’t Listen to the Naysayers

I have a two year old ASUS K52 laptop with an I3 processor. I’m also a developer and two years is about all I can ever get out of a Windows installation before it begins to severely degrade from misuse. I install and evaluate software on a daily basis, so the OS just gets mucked up over time. Normally, I would just re-install Windows on a clean drive and move all my stuff over, but this time I took a slightly different approach.

First, I took the leap to the cloud. I moved all of my documents to SkyDrive and a handful of close-at-hand documents to Dropbox. I used SkyDrive for the larger set of documents because it’s less expensive than any of the other services out there (at a glance). I also trust Microsoft not to go out of business. Of course I made sure that anything that might be construed as a copyright violation is not in that content. I will backup kids DVD’s after buying them and make ISO’s for later use…kids tend to destroy DVD’s quickly. I’ve heard people’s accounts getting shut down for having ISO’s in their accounts. I have not moved my MP3’s up yet and I have to evaluate what the rules are before I do that. I do not plan to move my pictures into the cloud outside of a very small subset of private PicasaWeb albums. I have digital family photos from 2000 forward. Some of them are of the toddler in the bubble bath type. I know they’re just my kids being silly, but they could get flagged. Why test that nightmare? I moved my pictures to a wifi-enabled external drive. They’re there when I need them and they don’t take up working disk space.

So now that my non-OS files are safely backed up either in the cloud or on external drives, I swapped out the drive (I never erase a disk…too paranoid that I forgot something) for a brand new Intel 180GB SSD. I then proceeded to install Windows 8. It took exactly 17 minutes to install. I have no comparison to a standard drive, but 17 minutes is pretty damn fast.

I installed Offfice 13, VS.NET 2010 and 2012, Dropbox, Skydrive, and a few other programs I need on a daily basis. I quickly organized the Metro (sorry – like the Sears Tower, it will always be Metro to me) interface with Main, Office, Dev, Util, and Misc.

So this is my first review of Windows 8. I had not played with the beta and pre-release software at all. I’d seen it, but that was about it.

I have to say I think all the critics are narrrow-minded pansies. Change is often a challenge, but if you actually use the system for a few days, it becomes very natural to know where to find things. The Metro UI is just a big menu and frankly a much faster menu than the Start Menu ever was. I can throw my mouse into the lower left corner, click, find an app, click and I’m where I need to be much more quickly than using a start menu. Now, I did make extensive use of the toolbar in Windows 7, but that option is still available on the desktop.

The one thing you will love about Windows 8 is that it is smoking fast. Maybe that’s partially the SSD, but it’s so fast you’ll freak. A sleep to awake is under 5 seconds. Reboot in 15 seconds. Opening up the laptop from sleep shows the start screen nearly instantly.

The other thing you’ll love is that everything just works. I have had absolutely zero installation or support issues, and this is on a two year old laptop without any touch capability. It took me a few days to learn the ropes, but once I figured out everything, it’s all smooth sailing.

Don’t believe the naysayers when they talk about horrible user experience. It’s different, there’s no doubt about that. But it’s highly usable and very fast.


Object Oriented Databases

While working on a side project, I had a thought to test an object-oriented database. My requirements are very narrowly focused and I’m in complete control of the environment, so I thought this would make a good test-subject.

I looked around and found the comparison of oo databases on wikipedia. Since I’m working in C#/.NET, I need an oodb that supports .NET well. I also prefer to find something with a community or start-up license, since I can’t afford to spend money on this. I also talked to a colleague, Jeff Panici, who recommended looking at Poet.

I first tried DB4O, since it had a demo available. The licensing requirements were a bit vague, but I thought I could work through the issue. I implemented a new database class in my Zifmia Service using DB4O and was successful at the first line of unit tests, but as I got into the deeper aspects of my object graph, DB4O seemed to act strangely. Then I inquired about the licensing issue and surprisingly, Versant expects royalties. I assume this is for mobile implementations, but apparently it’s across the board.

I will say I got the OODB bug bad. Using DB4O was light years easier than using SQL Server and managing the mappings between relational tables and objects. Just removing the need to think about relations and tables saved me an enormous amount of effort. I was determined to find an OODB solution for Zifmia at this point.

I then looked for Poet and discovered that Versant had purchase Poet and has it “hidden” from testing, use, or even purchase. I assume Poet was a legitimate competitor to their main OODB and so they bought it and took it off the shelf. This left me feeling like Versant wasn’t a company I wanted to deal with, so I went back to the comparison list.

The next OODB I looked into was Eloquera. This had everything I needed and even better, it was an almost exact match in usage patterns to DB4O. I had to update my code a little bit, but most of the Linq queries I implemented remained unchanged. I have since been able to implement all of my unit tests with success. There is one issue though. the performance is less than ideal. It’s not terrible, but it is suspect. With a very simple object graph and what is essentially 13 objects in a 3-level graph with a couple of circular references, saves are taking 3 to 5 seconds. Loads are <1 second, but the saves are a concern. It’s also slow handling large byte arrays (7MB). SQL Server was never a bottleneck for any of these interactions, but the I was doing all the mapping with SQL Server.

I’m completely in love with the OODB concept and Eloquera is great, but I’m hoping I can work with the development team to get past the performance issues.

That said, I wonder why Microsoft doesn’t create an OODB. They certainly have the know-how. It may confuse their SQL Server customers, but it may also provide an alternate solution to problems that are founded on objects, not on relations. I suspect that anyone at MS Research that’s interested in OODB development is quietly asked to choose another subject-matter. SQL Server is probably one of the golden geese and tampering with its identity at MS is likely taboo.

Follow-up: I found a 6 year old MSDN article that claims OODB’s are dead. An interesting and incorrect notion. The argument is that companies will never abandon the relational model and the problems in managing object graph changes is too complex. I’ve managed the upgrades of relational models and let me tell you that’s no picnic either. I do understand how a larger company wouldn’t want their payroll or invoice systems in an OODB. There’s too much gravity in relational database systems backing those types of vertical products. But that still leaves a ton of room for single purpose systems, mobile applications, and small business systems. These types of implementations aren’t “corporate” and can be adapted to the OODB concept. And if there’s ever a need to change the objects, it doesn’t get any simpler to write data movement Linq statements to do that work. Given two different object models, I could write a mapping program in very little time. Doing the same for a relational database would take much longer, even using tools like SSIS.

I think the MSDN artical was seriously mistaken in its grasp of how much more effcient an OODB can be.


This blog will be about technology and business. I have twenty-four years experience in the computer industry, more than half of that working in the Chicago area with a lot of big companies. Firms like Accenture, Sara Lee, Chase, BP-Amoco, Cargill Financial, and GATX Rail. I’ve also worked at a few medium-sized business, and a handful of smaller shops.

I’ve also worked directly for some of these companies while others I worked at as a consultant. I’ve worked as a consultant for firms like Avanade, but most of my consulting has been as an independent, mostly through staffing firms.

In the first half of my career, I worked on DEC equipment like PDP-11’s, VAX’s and similar systems. In the mid-90’s I started working on PC’s and became entrenched in the Microsoft technology world.

The first few entries are about my last customer, who may or may not remain nameless. I’ll let my attorney decide on whether I can actually name them or if I should. The goal is to write stories (good or bad), but retain an ethical standard.

Fee free to comment and share your thoughts.