The content of this blog is my personal opinion only. Although I am an employee - currently of MIPS Technologies, in the past of other companies such as 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.

Friday, October 24, 2014

10 things I hate about Git | Steve Bennett blogs

10 things I hate about Git | Steve Bennett blogs:

'via Blog this'

Sounds like the old "Bazaar:

Version control that doesn’t make your eyes bleed


Friday, October 03, 2014

The Perfected Self - David H. Freedman - The Atlantic

The Perfected Self - David H. Freedman - The Atlantic:

I read Walden Two in high school, and could never understand how Skinner's work could be perceived so badly.

Chomsky has a lot to answer for.

Activity Details | Basis

I like my Basis watch.

I give credit to my Basis watch for giving me continued motivation for increasing exercise.



I choose the Basis watch when I originally went shopping, a year or so ago, for a QS device.

There were reasons that I choose the Basis watch over other devices:

I particularly like that the Basis watch is a WATCH, not just a wristband or a clip-on pedometer.  It is actually useful for telling time - and I think that, since I started wearing it, not only do I exercise more, but I am probably more punctual, and better at time management overall because I am more easily aware of the time.

At the time I was looking, the Basis watch was the only well-known device that reported heart-rate. (Although I have since become familiar with how often the Basis has aliasing probems: e.g. I will be working out on the treadmill, my pulse will be rising - 100 bpm, 120, but then it will drop down to 70 all of a sudden, when it should probably be reading 140 bpm.  (Hmm, I just realized that this "aliasing" may be happening when my steps per minute and my beats per minute are almost the same.  I wonder if that is related.)

Also, the Basis watch, at that time, was unusual in that it measured skin temperature and Galvanic skin response.  I have a long interest in trying to measure mood or mental state... but so far have not seen a useful correlation.



While the Basis device, the watch itself, is great,

the Basis website and software sucks.

Basis has limited graphs and analytics on their website.

Basis does not make it easy to get your own data
(but see http://www.quantifiedbob.com/2013/04/liberating-your-data-from-the-basis-b1-band/)

It seems to be well known that one of the most important features of fitness or activity monitors is sharing information with a support network - family, friends, people with similar health and fitness goals.

But as far as I know, there is absolutely no "official" Basis ability to do this.

Not only not on the Basis website,

but neither does Basis interface to any of the many apps and websites such as Lose It

that aggregate data from multiple devices.

I know that Basis is owned by Intel,

and that Intel has ambitions in eHealth.

Perhaps Intel doesn't want to allow you to share your own Basis data,

and would prefer to hold it hostage until

they provide their own Intel Health solution?


Anyway, I am just writing this as I nerve myself up to get a non-Basis device

that talks better to the world.

I may keep my Basis watch - after all, it is a good watch and a good pedometer.

But it falls short on the social aspects of fitness and activity tracking.


Good device.

Probably good software inside the device, as evidenced  by upgrades to distinguish running and walking.

Bad software outside the device,

in the Android app

and in the webpage.

Friday, September 19, 2014

Two Email Accounts => Can Only Keep Up With One

If I have more than one email account - e.g. work (Outlook) and gmail (personal) I can only ever keep up with one of them. I can only regularly drive one of them to zero, in the GTD manner.

Any of the various "unified mailboxes" {c,w,sh}ould help

- except that my employer doesn't want me to have corporate email outside their control, and I don't want personal email on my employer's email system.

And even if that were not the issue, using separate email systems avoids embarassing errors, like cross forwarding.

It would be nice if unified email systems had some sort of "Are you really sure that you mean to forward a TOP SECRET company email to a public mailing list?" filter/query applied to outgoing email.  Actually, for that matter, applying to saving email to the filesystem "Are you sure that you want to save your tax refund message from the IRS on a company share drive?"

Keeping separate email systems reduces the chance of such an error.  But it comes at the cost, of having two email systems.  And it seems that I can never keep up with two at the same time.  I am either keeping up with work, or with personal.

One of the costs of keeping two email systems is - what do they call it, cognitive overload?  Gmail does some things one way, Outlook a different way.  Or not at all, Or vice versa.  Two different tagging and folder systems. Two...  Using both regularly educates me as to their relative strengths and weaknesses - e.g. I recently accessed Gmail through IMAP on my personal copy of Outlook, because Outook is much better a handling large amounts of accumulated email than Gmail is - but I really don't want to become an expert in comparative email systems.

Another "advantage" of two email systems is scheduling.  E.g, I can try to restrict myself to never look at personal email during work hours, and vice versa. But...  well, how many of us can get away with not looking at work email on the weekend? Or overnight?  During a project crunch?

EMACS Gnus solved this years ago with mail reading topic modes.  You might have one order for reading messages, both in inboxes and folders, at work, one after work, one for "quick check", one for handling your mailing lists...   Two email systems is just a hack, a kluge, a poor approximation.

Plus, not reading personal email at work means that my wife and others have to use text messaging as the "high priority" emal equivalent.  Which means that thee is a third messaging system.

So perhaps I am wrong when I say "If I have 2 email systems I can only stay caught up with one of them."

Perhaps it is that if I have 3 messaging systems - Outlook, Gmail, and SMS Text Messaging  - I can only stay caught up with 2 of them.  Or maybe it is N, N-1.

Wednesday, September 17, 2014

Agile Documentation and Manuals - Testing

Should The User Manual Be Agile:

'via Blog this'

I have spent far too much time writing and maintaining manuals (for computer architecture) in the last year.

Since I have drunk the koolaid of Agile Development in software (test driven design, refactoring, pair programing) and have tried to evangelize Agile Methodologies for hardware development and computer architecture (with limited success - e.g. Intel has adopted something like scrum, although I hesitate to call it agile), I naturally think about how to design Agile principles to writing and maintaining technical documentation, computer architecture manuals, etc.

Of course, Ward's wiki has some pages on this: Should The User Manual Be Agile. WriteTheUserManualFirstIsWaterfallManualAsSpecificationWriteTheUserManualAsYouGo...  Of course, Ward's wiki is very stale. I recall discussions on agile mailing lists such as the [XP] mailing list.

But quick googling does not find much in the detail that I am thinking about.

A big frustration in my current work is that I had more automation in the documentation and manusl in my undergraduate RAMM/RISC/SEISM computer project in 1985 than I do now. I generated much of the manuals from high level descriptions of instruction encodings, and so on - in fact, I actually generated the instruction encodings.

However, over time I encountered much resistance to tools that generate correct documentation. So in some ways I have switched to emphasizing tools that can VERIFY that handwritten documentation is correct. Although I am still happy to generate whatever can be generated.

Of course, either of these approaches - generate or verify, automatically - requires the ability to automate. It is easy to automate text based markup - nroff, LaTeX, XML, SGML. Wiki markup. It is harder to automate when you are dealing with obsolete versions of binary formats like FrameMaker's binary .fm files.  (MIF helps, but is limited.)  Semantic markup helps a lot, as do wirdprocessing macros with meaningful names.

As many of the references point out, testing manuals and other documentation can be challenging.  There is simple stuff - spell checking, automatically checking table of contents.   Literate Programming techniques can be fruitful.  I believe the Itanium manuals defined instruction semantics in terms of pseudocode that could be extracted and run in a simulator.

But there are other steps.

Thursday, September 11, 2014

More hassle switching sound devices ...

More hassle switching sound devices this morning:

In a Fuse meeting.  Started up using the internal speakers and microphone on my tablet PC - NOT the headset mike that I prefer to use.

Manually changing default audio device via Control panel did not switch over - apparently Fuse reads the default devices when it starts, and uses those for the rest of the session.

In the past I have been able to find a clickable way in Fuse to change the active audio device - but could not find it today.

Exiting and reentering Fuse would probably have worked - but the meeting was running, and I did not want the interruption.


Later, after undocking and returning, I received a Google Voice call.  Made the mistake of picking it up on my PC using Google Hangouts.  Same problem.

The default sound devices had changed back to the internal speakers when undocking disconnected the headset mike.


There are many apps to change or switch sound devices, e.g. audioswitch - Switch between default audio input or output + change volume - Google Project Hosting:( 'via Blog this')

All that I have tried change the DEFAULT audio device.

What I want is to change the ACTIVE audio device. Possibly on a per-app basis, although personally I have not seen the need.

I also want the DEFAULT sound device to change according to what sound devices are plugged in. Rather like the way Windows remembers that if I have a particular set of monitors plugged in, I want one arrangement of resolution and orientation.  I.e. software configuration dependent on hardware configuration.

I.e. when undocked with no headset, use the internal sound devices.

When docked, I get a headset, plus external speakers.  In my case, make the headset the default.

I also wish that my sound devices, like a headset, had a button that did something like "signal OS to make this the default or active sound device". And mute and volume control...