Tuesday, April 03, 2007

Straighten' up shelves

Lots to do... Lots to do... Big things coming down the pipe.

At Voodoo, work progresses on trying to hasten and solidify the software system. This is an infinite effort and relatively stressful.

The testing system (Haiti) has hit its stride and has matured marvelously. We have a filtering system to not install programs that cause programs with certain hardware configurations (I'm looking at you, vendors!) or operating systems (Quake III and VISTA!). And this enables tests that only work on specific operating systems (ie, WinSAT).

Bugs to be worked out:
After Sysprep > WinSAT hangs on first boot (started by MSOOBE.exe). Current work-around is Shift-F10 > taskmgr.exe > Processes tab > End Process on WinSAT. You can rerun WinSAT later. Cause of this TBD.

This problem is described in this links...

http://forums.windowsvistamagazine.com/forums/thread/2343.aspx

Odd that we see it on fresh systems...

More testing is needed...

Sunday, October 22, 2006

Tech spec sheets...

Need to be made out of HTML.

I'll SED.EXE the text out of the generated scores and replace place-holder text in the tech spec HTML page... That should make generating spec sheets extremely easy...

Back to Voodoo...

Well... Guess I'm going back to Voodoo. To be in the R&D portion of it all along with maintaining the Voodoo softwaring and testing system.

To give you an idea about the inner workings of our softwaring process works:

1) Technician enters the customers WO number.
2) The computer pulls the system configuration from the database
3) The machine then reads the system configuration and installs the correct OS.
4) Upon reboot the machine parses the configuration and installs the cusomers chosen software and hardware drivers. For the hardware we follow the "failing gracefully" guideline. We actually enable SLI in all Nvidia configurations. The Nvidia drivers will detect that it should have SLI but in a single card configuration it will throw up a dialog box stating that SLI will be auto-disabled. And upon reboot the machine is correctly configured without adding any more detection/complexity. Ahhh, failing gracefully :)
5) Second QC is a script that checks all the "optical" portions of the computer. This includes things like paint color, tattoo's, liquid color, etc. Everything physical. This test, when I return, will start to include things like counting video cards, ensuring SLI and crossfire is enabled, etc.
6) Lastly is Haiti. Originally designed by Casey Inlow and myself, it is a comprehensive test suite of games, real-world and artificial applications. Artificial applications include CPU Burn, Prime 95, etc.

With HP, it will be nice and interesting to see what they think of all this work and effort. I'm sure they have some very smart guys who might just laugh at all of this effort, or they might be blown away...?

I guess time will tell... Very shortly.

Friday, September 15, 2006

The Unbeatable Problem.

No problem is unbeatable if you look at it as files and registry entries (in Windows).   I recently came across a very, very pain in the ass problem that hasn't seemed to have been resolved anywhere.  Microsoft has a solution for it, but Microsoft's solution did not resolve the issue I was having.  The interface on the clipart window worked-- to an extent.  You could NOT open any of the folders in the collection list.  My collections, Office collections, Web collections, none of them were expandable.  The user was getting this error message:

Clip art organizer cannot complete the requested task.
Class not registered. Error code 0x80040154

The solution for me?  Doing registry traces using Regmon to find out what registry keys it was using (using filemon revealed that there were no missing files).

Initially I found the error message repeated itself BEFORE drawing the collection list but then would continue after the message was displayed.  I then tried to time Regmon to monitor only MSTORE.EXE (the clip organizer app) to only monitor just before and then stop when the message was displayed.  The list of registry keys I got were HKCR and HKCU CLSID registry keys (Class ID's -- class not registered --> we're close here :)).  I went through each registry key but they all seemed fine (ie, they opened without issue).  So, step 2 was to repeat the process on a working machine.  There was no errors and the regmon dump looked almost identical on both machines with the differences being negligible.

Time to get into the nitty gritty.  So I opened each CLSID registry key found in the regmon dump in a working machine and the non-working machine.  I found TWO keys that did not match.  These were those keys:

 

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{ef636390-f343-11d0-9477-00c04fd36226}]
@="OLE DB Rowset Proxy"

[HKEY_CLASSES_ROOT\CLSID\{ef636390-f343-11d0-9477-00c04fd36226}\Implemented Categories]

[HKEY_CLASSES_ROOT\CLSID\{ef636390-f343-11d0-9477-00c04fd36226}\Implemented Categories\{00000003-0000-0000-C000-000000000046}]

[HKEY_CLASSES_ROOT\CLSID\{ef636390-f343-11d0-9477-00c04fd36226}\InprocServer32]
@="C:\\Program Files\\Common Files\\System\\Ole DB\\msdaps.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{ef636390-f343-11d0-9477-00c04fd36226}\ProgID]
@="DBRSTPRX.AsProxy.1"

[HKEY_CLASSES_ROOT\CLSID\{ef636390-f343-11d0-9477-00c04fd36226}\VersionIndependentProgID]
@="DBRSTPRX.AsProxy"

AND:

 

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{ef636392-f343-11d0-9477-00c04fd36226}]
@="OLE DB Row Proxy"

[HKEY_CLASSES_ROOT\CLSID\{ef636392-f343-11d0-9477-00c04fd36226}\Implemented Categories]

[HKEY_CLASSES_ROOT\CLSID\{ef636392-f343-11d0-9477-00c04fd36226}\Implemented Categories\{00000003-0000-0000-C000-000000000046}]

[HKEY_CLASSES_ROOT\CLSID\{ef636392-f343-11d0-9477-00c04fd36226}\InprocServer32]
@="C:\\Program Files\\Common Files\\System\\Ole DB\\msdaps.dll"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{ef636392-f343-11d0-9477-00c04fd36226}\ProgID]
@="DBROWPRX.AsProxy.1"

[HKEY_CLASSES_ROOT\CLSID\{ef636392-f343-11d0-9477-00c04fd36226}\VersionIndependentProgID]
@="DBROWPRX.AsProxy"

The "non-working" computer only had the Implemented Categories subkey in each of the main keys, missing InproceServer32, ProgID and VersionIndependentProgID.

Added those keys and alls well :)

Thursday, August 31, 2006

I'M NOT THE ONLY ONE!!!!

Who gets it ;)

Google gets it too. Some excerpts that follow my philosphy:

Sometimes, value can be bought off the shelf, Merrill says, holding up a plastic fork as an example. But there are times when off-the-shelf software won't do. "Our culture is pretty deeply embedded in many of our processes," he says. "So what we don't want to do is buy a tool, which by extension changes the cultural aspects of the way we do things."

It is my experience that off-the-shelf rarely works completely. It can work in some capacity, but what good is using 40% of a product that lacks 60% of the features you need?

What I like about the Google example is, like a plastic fork, the best commercial products you can purchase is simple "blocks" whose value becomes the way it helps you go from A to B. Not A to C,D,E,1,3,5,6,7 but never getting to B or only doing it partially (or too much).

Google's unorthodox approach to managing its Ph.D.s drove its decision not to budget research and development separately, as most tech companies do. "You end up in many companies with this divide between research and engineering," explains Alan Eustace, senior VP of engineering and research. By dividing those budgets, he says, "you're pretty much guaranteeing institutionally that you won't be solving interesting problems."

And it's true where I was previously employed and am employed now. A divide between people who fix problems and those who work on ensuring those problems don't happen again.

"Our goal is to automate as many things as we can because it makes unfun things not happen," Merrill says. "Nobody wants to have a boring job, right?"

Creating automation IS fun! Doing repetitive tasks is not.

Merrill is evasive when asked what kinds of commercial PC software are used at Google. "More important than what we put on each desktop is how we think about what to put on each desktop," he says obliquely. "Goo-gle's philosophy is that choice is always better than control. Tightly centralized control gets in the way of innovation."

He then takes a jab at CIOs--which he describes as a title used by "old-world companies"--at other companies. "Most people in my job try to control. 'Here are the three things you can buy.'" Merrill explains. "I try to control as a little as I possibly can but make it easy to work within parameters that I know how to work with."

Merrill sees a distinction between tools that tell you something and tools that stop you from doing something. For example, he observes that some financial services institutions block instant messaging because of they way they interpret regulations. "We don't think that's the right approach here," he says.

The right approach, as Merrill sees it: Talk a lot; use data, not intuition; automate wherever you can.


That faith in group intelligence manifests itself in the lunch line. Google provides free meals to employees partly as a perk and to enhance productivity, but also to encourage interaction. It's about the pollination of ideas over salads and sandwiches. "If you want people to talk, if you want people to engage, how do you do that?" Merrill asks. "You give them lunch."

Interaction is the bane of all businesses. NO ONE in a business wants to communicate -- you have to force them in some capacity.