The content of this blog is my personal opinion only. Although I am an employee - currently of Nvidia, in the past of other companies such as Iagination Technologies, MIPS, Intellectual Ventures, Intel, AMD, Motorola, and Gould - I reveal this only so that the reader may account for any possible bias I may have towards my employer's products. The statements I make here in no way represent my employer's position, nor am I authorized to speak on behalf of my employer. In fact, this posting may not even represent my personal opinion, since occasionally I play devil's advocate.

See http://docs.google.com/View?id=dcxddbtr_23cg5thdfj for photo credits.

Wednesday, February 18, 2009

Wikis & Blogs, Versioning, Lack Thereof, Good and Bad

I learned today

a) that this blog site allows editing of blog posts, even when they are quite old and have been responded to

b) that this blog site does not seem to have versioning

c) similarly,Google docs does not have versioning.

I think this is interesting, because I have long felt that the main difference between a blog and a wiki is that a blog is a "point in time", whereas a wiki is supposed to be updated to be the latest and greatest.

In practice, wikis and blogs shade into each other. Many wiki pages are really "point-in-time", or even flow of consciousness. Similarly, apparently blogs can be edited.

Now, with wikis it is rather typical for a point-int-time wiki page to be reorganized eventually, after a while, to be more of a reference article. Similarly, wiki pages sometimes regress - a reference article may get a lot of conversational stuff added to it.

Blogs, in my experience, do not evolve that way. Given that you can edit the original blog post, I suppose that you could go and edit the comment stream. But I have not seen that done.

If you edit the original post of a blog, then comments may be "orphaned" - they may no longer apply to the revised main page. I.e. they become inconsistent. Now, the edits I made today do not render the blog inconsistent. Mainly, company name. But I wonder how folks who administer large blog sites handle this?

Who should the right to change blog comments? The original poster? But then the point of unmoderated blog comment discussions rather goes away.

I have this rather inchoate vision of a blog/wiki hybrid. Pages start, perhaps, in a blog-like manner. With a title, but also with an implicit date. Comments accumulate in the usual blof like manner.

At some point you may want to "fork" the blog into a more wiki-like, reference, structure. Hit a button, and you get two versions of the original page: first, the blog page TITLE-DATE, with comment stream, and then also TITLE-CURRENT. Cross linked in all possible ways. I.e. you can go from TITLE-DATE to TITLE-CURRENT, back, to all of the comments, etc. Eventually you may want to fork again, to produce TITLE-DATE2.

Automatic version control on a wiki is much like this. All of the information is there. However, it is hidden behind the version control system. Sometimes I think that you want to maintain the versioned TITLE-DATEn topic pages for external viewing.

Ideally: (1) preserve everything under version control. But, (2) automate the process of snapshotting a particular version. Automatically create TITLE-DATEn. Make it possible to give meaningful names to such versions. And automate the process of cross-linking. I think it quickly becomes evident that the links want to be managed by a database, not by hyper-text style links, once again to ensure consistency.

Note: such snapshotting or forking doesn't just apply at page level. It also applies to groupsor webs of pages.

I've been doing much of this by hand when I create a release of a wiki based specification. Of course I want to automate what I now do by hand.


I want to do something similar for email archived into a wiki store. I want to preserve the original "point in time" email. But I want to enable the forking and revision of such email into reference material.


Back to versioning: I like versioning.

This discission indicates that individual versions need to have different access control. Ideally, a "point-in-time" original blog post or email is read-only - the email, immediately when sent, the blog post perhaps after a small interval. But attempts to edit such read-only blog or email items should produce a copy-on-write type behavior, with automatic renaming, as described above.

Also, although I like versioning, and I think that everything should be versioned, occasionally it is necessary to be able to remove an object, or a version of an object, completely, cleanly, without any hope of recovery. E.g. IP.

Yet Another Outlook Lost Calendar Item

My boss came into my office and said "Andy, do you ever check your calendar?" As in "Why aren't you in a meeting with me right now?" He didn't say it angrily, because he's too calm a guy for that - but he was annoyed.

I'm glad that he actually came to my office. He was able to look over my shoulder and see that there was, in fact, no meeting on my Outlook calendar, on my PC. The meeting was on his calendar on his PC. It was marked as having been accepted by me. But it was not on my PC.

Yet another example of Outlook problems.


The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter.

Saturday, February 07, 2009


From wiktionary:

empathy (uncountable)

  1. the intellectual identification of the thoughts, feelings, or state of another person
  2. capacity to understand another person's point of view or the result of such understanding
Empathy is not just being able to think as if you were in somebody position. Let's call this first-order empathy.

Empathy is thinking as if you were that somebody else, in that somebody else's position. Let's call this second order empathy.

A selfish person, employing first order empathy, would take his selfish viewpoint to that other person's situation - and would imagine what that other person would do, if he were selfish like me.

Second order empath is to imagine what that other person feels. If you are selfish bit they are not, imagine what an unselfish person would feel. And vice versa.

Empathy is not necessarily sympathy. I may be able to imagine what Hitler felt, but I do not feel symapthy for his views.

Wednesday, February 04, 2009

More Software Installation Tedium

A couple of weeks ago, it fell on me to write a new version of a specification document. Since the previous author had used Word 2007, I thought that it might be best if I updated from Microsoft Office 2003 to 2007, on the chance that there were 2007 features that slightly broke the document in 2003.

Company IT's software distribution web pages warned that Office 2007 was unstable on Thinkpad T42s, but ran on T43s, albeit with occasional performance problems. I have a T43p - an obsolete laptop, but one of the most up-to-date laptops that my company gives engineers to use - so I decided to take the chance.

(The Thinkpad T43 seems to have been introduced circa April 2005 - at least that is when reviews seem to be dated. It was considered pretty good ("Wow!") at the time of introduction. I believe that I have had this model for circa 3 years.)

Installing Office 2007 took circa half a day. It ran. Frequent hangs, at first, typically when saving an auto-recovery file. But once I disabled that, it ran well enough for me to update the document.

However, the performance problems that IT had warned about did afflict me. I could not prove that they were due to Office 2007, but it seemed likely.

Therefore, at the first opportunity where I was not rushed for time, I decided to uninstall Office 2007 and revert to Office 2003. The IT web pages indicated that might take 30 minutes to half an hour. I started at 3pm yesterday. It just finished this morning at 9am.

Of course, during that whole time I was unable to get any computer based work done. I.e. I was able to get almost no work done at all, except reading some PowerPoint foil sets that I happened to have printed out. Worse, I could not go and exercise - because the ^%&$^ uninstall/reinstall process required me to hit a button on a dialog box about once every half hour. After I had exhausted my supply of work-related printouts, I read a Margaret Frazer mystery, but only after I had taken my computer home.

While at work, my options were limited. At 7pm, I decided to take m laptop home, and let the install continue while I ate supper. I then read my book while watching the display until midnight.

I do not know how long it lasted past midnight. For all I know, it might have blinked "finished" right after I went to bed. However, since I had, by that time, just started the automated reinstall of Office 2003, I suspect it kept busy for a few hours.

In the morning the Office 2003 installation was complete. I had a few more software upgrades to install - a patch here, a Communicator update there.

Did I mention the half hour Outlook spent "updating personal preferences" and the like?

Finally, by 9am, I am complete.


I suspect much of the slowness was due to virus scanning. I considerd disabling the virus scanners, but IT has denied me the ability to do this from the console. I could have uninstalled the virus scanners and then reinstalled them, but I wasn't sure if that would ave been netly faster or slower.


As is my wont, I wonder what can be done about this?

Certainly, if the upate process interacted better with virus scanners. E.g. it one were authenticaed to the others.

Much time could have been saved if I could have installed bth Office 2003 and Office 2007 on my system simultaneously, changing only which was the default.

Overall, though, I keep coming back to the thin client / properly administered system model. E.g. if these documents had ben written on Google docs rather than on my PC using Microsoft Officde.