Disclaimer

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.

Sunday, November 23, 2014

Now trying: Jawbone UP - who needs the stinking cloud anyway?

Elsewhere I have discussed how I was disappointed by the FitBit Charge as a replacement for my Basis B1 watch activity tracker.  So I returned the FitBit Charge, and am now trying the Jawbone UP.



I plan to use the Jawbone UP not as a replacement for my Basis B1 watch, possibly not even as an activity tracker at all - but as a vibrating alarm gadget on my wrist.



Why?  I think that vibrating on the wrist, rather than ringing annoying on the handset, might be the killer app for watches.



 I was reasonably happy with my Basis Watch as an activity tracker.  Certainly, it has upped my fitness level.  But I was frustrated by the following Basis shortcomings: (1) no sharing of data with other users, no friendly social scene; (2) no counting of vertical.



I bought a FitBit One to try to remedy these Basus shortcomings.  I have certainly liked the vertical distance metric: Portland ain't flat! I hoped to like the social aspects, LoseIt.com or MyFitnessPal.com - but that has not worked iout so well, yet.



I greatly disliked the FitBit One reporting only total steps, not tracking time of day. I disliked the FitBit One's wristband.



But mainly, I found that I *LIKED* the FitBit One's vibrating alarms: both wakeup, and occasionally during the day (time to head out, midmorning, lunch, midafternoon, time to head home, time for bed).  Should I admit that I often get so swallowed up by work that I don't notice what time it is?





I had hoped that the FitBit c=Charge would fill the bill.  Unfortunately, my Charge did not charge its batteries, or else discharged them far too quickly: it only worked for 15 minutes after charging for 24 hours.  Normally I would do an exchange - but the Charge felt like such a piece of shit - its interface being a single button that I could not tell if it had been pressed or not (as opposed to the nice tactile feedback of the button on the FitBit One or Garmin Vivofit) - that I did not feel like bothering.





So instead, I am trying a Jawbone.  Not the more expensive Jawbone UP3 or UP24, but the origional Jawbone, not wireless, which can be found fairly cheaply (especially if you are wiling to take an unpopular color).





MY plan, my theory:  I can use the Jawbone just for the "cvirbatuon" features:



(1) vibrating wake from sleep (aka a smart alarm)



(2) vibrating idle alert



(3) vibrating reminders.



Unfortunately, as usual there are annoying limits:



-- only 4 each of alarms and reminders



   ++ Stupid short sightedness.  HOw about a vibe alarm every hour of two?



-- the reminders seem to always generate a notification on my phone. Damn phone centric mindset: I do not want to have reminders on both phone and watch. I want to avoid the slowness of my phone as much as possible.





I may not want to use the tracking features of the Jawbone at all, except implicitly for the idle









After fitness, I think that notifications may be the killer app. But not a wrist notification for every email - selectivity!!!

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



http://blogs.operationaldynamics.com/andrew/software/version-control/git-is-like-cvs

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.



But...



---



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.



---



But...



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.



Basis:



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.