Monthly Archives: June 2005

DExplore revisited

Recently I had the satisfaction of knowing that one of my posts helped someone else. This comment actually ended up helping me in return when I re-encountered my MSDN Library Viewer issue (i.e. no content being displayed). Since I had already documented the resolution, I was able to clarify the actually root fix this go ’round–the first fix involved two actions in one of my check points. I am now convinced that the root issue is around wininet and doesn’t concern the size of “Temporary Internet Files” collections for all users on a single machine. After cleaning up these files (TIFs) for all users, I still saw the problem. However, the following steps resolved my MSDN Library Viewer issue:

  1. Launch Internet Explorer (IE).
  2. Navigate in IE to Tools | Internet Options… | General tab | (TIFs) Settings… button.
  3. Click the Move Folder… button.
  4. Move the location of TIFs. (It’s a good idea to maintain a location under the current user’s profile.)
  5. Click OK and log-off/log-in as instructed.
  6. If you’re running anti-spyware software (e.g. Microsoft’s or WebRoot’s), you will likely encounter a warning dialog concerning wininet. (This is the clue to the root fix.) Accept this movement.

For the record, here is what WebRoot Spy Sweeper reports in its alert: “MovingCacheA Wininet Settings _break_ … _break_ Location: rundll32.exe C:\WINDOWS\system32\wininet.dll,RunOnceUrlCache” _break_ C:\DOCUME~1\Craig\LOCALS~1\TEMPOR~1 _break_ Registry or Startup Folder: HKCU: RunOnce.”

Looking at wininet.dll, this isn’t a COM server; so it’s not a matter of lost COM registration. The DLL also doesn’t export a MovingCacheA API (i.e. “dumpbin /exports” doesn’t list this method).


By far the biggest impression that this morning’s JavaOne keynotes had upon me was their emphasis on community and the social implications of community-enabling technology. Perhaps this is due to the fact that my previous JavaOne experience was a few years ago and also that my day-to-day focus is more upon Microsoft products and technologies than it is upon Java. Recalling my seated wait for the first keynote to commence (after a rather long wait in the registration line and as Magnetic Poets performed), it seems that this emphasis has been there all along. And I know this to be true having served on two different Java Specification Request (JSR) expert groups (52 and 127). It just didn’t hit me before like it did this morning. Conference MC, John Gage, kept saying things like “introduce yourself,” “don’t by shy,” “community,” “participate” and “meet.”

I doubt that later this year when Microsoft hosts its Professional Developers Conference (PDC) in LA that there will be such a community focus. Instead I expect that technology will lead each day.

This isn’t necessarily a good-bad observation, just a difference in mindset. You can certainly have a great community without focusing on the word, and you can have great technology without focusing on it, too. However, the success of both requires some serious attention and neither survives without the other. It’s simply interesting to see the balance struck by Sun and the balance struck, thus far, by Microsoft.

Seeing the Java Business Integration (JBI) 1.0 specification released and hearing about Sun’s new “trend line” regarding open sourcing aspects of Java technologies, etc. (e.g. Mustang, Glassfish) were also interesting, but the clear articulation around community sticks with me the most.

Aside: In my “know what you leverage” crusade, I picked up another colorful metaphor from a keynote demonstration (DTrace for Java): “A small misstep at a higher level of abstraction can lead to a ‘hurricane’ of extra work in lower layers.” How true!

Express vs. think

I wish more software would allow me to express my thoughts rather than force me to think about their expression.

This sentiment came up during a recent discussion with coworkers about the nature of most enterprise application tooling. Tools could be so much more usable and useful if they brought a rich semantic model to bear on the task at hand, whether it be coding against a class library API, visually composing controls on a page or form, enabling click-through navigation to event handling logic, etc. There are examples of this (e.g. JetBrains IntelliJ IDEA‘s refactoring support, Microsoft Visual Studio‘s IntelliSense support, M7 NitroX‘s recognition of JSF and Struts semantics), but overall it seems like there is plenty of room for growth.

Expression is certainly not the concern of developers only; in fact, it’s a general concern for anyone that interacts with software. During this office discussion the evolution of spell checking software was raised as a positive example of “getting it” today (but not when it was first released on the masses). Today’s spell checking, for example, in Outlook or Word is sophisticated enough to flag a potential issue inline and in near realtime without overwhelming its user with UI that forces the user to address issues and non-issues alike (i.e. the green and redline squiggly underline links with contextual guidance via right-click menu options). Is there room to grow? Absolutely! Case in point: when you correctly spell a word but place it in the wrong context, it would be nice for Word to indicate this potential too me in a similar manner as it does sentence fragments, statements vs. questions, misspelled words, etc. However, this is a lot better than having software take control of my task and assert its will on mine with a modal dialog, which used to be the case in most spell checking applications.

If more software “got it” in this regard–allowing users to express themselves and guiding them toward their success in the process–new levels of productivity would be achieved.

Existing for end users

Today on PBS I watched the Charlie Rose interview of Google’s CEO, Eric Schmidt, that apparently took place live last Friday. I didn’t catch the whole thing, but what I did was quite engaging.

Schmidt: When you do a search do you receive more than one answer?
Rose: Yes, of course.
Schmidt: That’s a bug. We have more bugs per second than just about anybody else.

This statement stuck with me particularly because a portion of interview dealt with the Microsoft threat, and Microsoft has been one of the most publicized software companies in terms of bugs, security issues, patches, etc. (I happen to believe that this is due in large part to the intensive use of its software by the larger public.) Google’s CEO was being extremely direct about this specific quality issue (i.e. bug) for his end users.

I admire Google’s commitment to its end users (ref. also here and here).

Google’s CEO talked about allowing the end user to decide (e.g. to provide information or not) and then to focus on their decision (e.g. leverage said information to increase the quality of the Google experience). While this certainly sounds obvious, it’s equally obvious that today not many service provider “get it.”

When Eric Schmidt talked about a future application of the world’s information being brought to bear on new content–detecting and reporting factual errors during authoring–it really struck a chord in today’s age of the blog, grassroots journalism, etc. Like DRM, such an application won’t prevent users from violating certain principles–you can always take a digital photo of your computer screen just like you can willfully ignore such an application’s notifications, but it could help the well-intended author from getting the story right.

Aside: I really wish that Charlie Rose would start posting his transcripts online. An RSS feed for transcripts would be even better! I’m aware of his shop to buy particular programs/transcripts, but what I’m referring to is an easily accessible way to determine that I want to make a purchase (e.g. the first five minutes of an hour interview or a outline of what is discussed).

Our failing education system

The other aspect of Re-imagine! that resonates with me is its 22nd chapter, “Getting It Right at the Start: Education for a Creative and Self-reliant Age,” which Tom Peters admits he wrote in a state of rage. Education, especially concerning math and science is also a serious topic of discussion in The World Is Flat. More on this later.

Update 12/1/2008: For more of my book reviews and to see what else is in my book library (i.e. just the business-related or software-related non-fiction therein), please visit my Books page.