Apr 292013
 

One of the things people always ask you as a teen­ager, or in job inter­views, or when you’re con­tem­plat­ing doing some­thing new, is: what do you want to do? And the ques­tion­er is often dis­ap­poin­ted when you don’t have a barn-burn­ing deeply-held spe­cif­ic desire just wait­ing there. Answers that are more gen­er­ic (albeit equally import­ant), such as ‘some­thing inter­est­ing’, or ‘some­thing use­ful’ are some­how unsat­is­fact­ory, even when coupled with a gen­er­al idea of the area in which you want to do some­thing use­ful and interesting. 

This morn­ing I read From “sit still” to “scratch your own itch” and it’s full of descrip­tions of expect­a­tions for pro­gram­mers that res­on­ate with me, such as the expect­a­tion that “a REAL pro­gram­mer or a REAL open source con­trib­ut­or is sup­posed to be a self-starter who comes up with their own pro­ject ideas from the start”. The art­icle has some tech­niques to stop these expect­a­tions from being over­power­ing or intim­id­at­ing. The author sug­gests, for example, that writ­ing Yet Anoth­er {Some­thing Simple} is fine, just like sew­ing an item from a pat­tern (or in my case, knit­ting it). You learn from that, and expand your knowledge.

In my case, mov­ing from pro­ject man­age­ment back into more tech­nic­al work, what helped was work­ing through online tutori­als until I was far enough along to be able to start writ­ing my own use­ful stand-alone pro­jects. Some­times I’ve sur­prised myself by how much tech­nic­al know­ledge from 10 or more years ago comes back, like wak­ing the tech­nic­al brain up again that was dormant for a while. I guess, for me, that was the itch that needed to be scratched.

Mar 012013
 

Shoulder mech­an­ics seem to be one of those top­ics that people don’t talk about much, but any time I men­tion the issues I have with my shoulders (too much time at the com­puter each day) I’m by no means the only one affected. I’ve been doing Pil­ates for years, which has helped, but that’s only a couple of hours a week, which leaves lots of time dur­ing the rest of the week to undo the good work. 

I spent a bit of time sit­ting at my desk, fig­ur­ing out in which pos­i­tion my shoulders and wrists would be hap­pi­est. I talked to the people at ErgoCanada (they’re very help­ful and very know­ledge­able and I recom­mend talk­ing to them if you’re based in Canada) and ended up with a split key­board that can be placed in a num­ber of con­fig­ur­a­tions, the Kin­es­is Cor­por­a­tion Freestyle2 (Amazon US link). The first few days using it were a little weird, while I got used to hav­ing to use the recom­men­ded hand for each let­ter, and get­ting used to the place­ment of the back­space and delete keys. I played around with the con­fig­ur­a­tions, start­ing with the splayed con­fig­ur­a­tion, but at the moment I use the straight con­fig­ur­a­tion with some 10cm between the two halves. The spa­cing I use var­ies a little depend­ing on what I’m doing, if it’s mostly writ­ing or a lot of mouse work. The key­board is quiet, with a good feel; the keys are light but stable. There’s also a bunch of accessor­ies to tilt the key­board in vari­ous ways, or enable a wider gap between the halves, but I haven’t seen the need for those yet. One day I may get the Mac ver­sion to go with my laptop; since it splits into two pieces it does pack a lot smal­ler for travel than a reg­u­lar keyboard.

As well as using the key­board, I’ve tried to get into the habit of doing small simple shoulder rolls on a reg­u­lar basis, to keep the ball aligned bet­ter in the sock­et. There are lots of web sites that explain ver­sions of how to do these but most seem to be aimed at body­build­ers; this page from the Yoga journ­al is more gentle than most.

These two things, put togeth­er, seem to be help­ing. Either or both would be worth think­ing about if you have shoulder or arm issues and spend hours at a com­puter each day.

Feb 132013
 

I’d like a do-over of the last 24 hours, prefer­ably without any of the following:

  • My son hurt his knee badly at judo last night, which neces­sit­ated a trip to emer­gency until after 1 am. The doc­tors and nurses at BC Chil­dren’s Hos­pit­al are fant­ast­ic, but even so it took 4 hours, 9 pm — 1 am. Dur­ing which time our neigh­bour stayed in our house so the 6‑year-old could sleep in her own bed — thanks again Michel! He’s now on crutches with a knee-brace until he gets to see the ortho­paed­ic spe­cial­ists, which hope­fully won’t take too long. They’ll call us, we’re told.
  • The morn­ing after the night before was a bit of a bust, but I man­aged to get the 6‑year-old off to school on time. From which I had to pick her up again at 1:15 pm as she was com­plain­ing of an ear-ache.
  • And then the toi­let was plugged, com­pre­hens­ively. Who­ever came up with toi­let augurs did the world a service.
  • Of course, all this hap­pens while I’m in single-par­ent mode. I don’t know how those who are in per­man­ent single-par­ent mode cope. My biggest con­sol­a­tion is that I don’t have any major pro­jects cur­rently due, so tak­ing time to deal with fam­ily issues is not the prob­lem it would oth­er­wise be.

Can I have a nice, peace­ful, rest of the week, please?

Feb 062013
 

This goes into the ‘saves time’ cat­egory and is slightly too long to fit into 140 characters.

If you’re using XSLT on some XML file that has had a mis­cel­laneous his­tory and you see the error Illegal HTML character: decimal 146 (or some­thing sim­il­ar), don’t pan­ic or break out your hex view­er to try to find the ran­dom char­ac­ter that’s caus­ing the problem.

Get jEd­it instead. Open the file in jEd­it, and go to the menu Util­it­ies -> Buf­fer Options. In the char­ac­ter encod­ing drop-down, choose Win­dows-1252. The error message(s) will point you right at the offend­ing character(s). For added fun, repeat with ISO-8859–1 to flush out oth­er odd char­ac­ters that aren’t illeg­al, but may not show up cor­rectly depend­ing on your down-stream pro­cessing (lig­at­ures, etc.). Then switch back to UTF‑8 or whatever you need, save, and you’re done!

JEd­it also has decent XML fea­tures if you install the plu­gins, an added bonus.

Feb 052013
 

The latest Twit­ter pass­word hack did affect me, but for­tu­nately I had already switched to the one pass­word per site philo­sophy. I store all my pass­words in LinkeSoft’s Secret!, along with oth­er inform­a­tion that I want to keep on my com­puter and on my phone in an encryp­ted form. I just wish the Mac ver­sion synced with Android.

One bright spot in the issue was the fact that I did­n’t have to change any­thing in all my apps that use my twit­ter account, since they all have their own tokens, inde­pend­ent of my twit­ter pass­word. OAu­th is usu­ally said to be good since you can revoke access for any applic­a­tion at any time; this was the first time it became obvi­ous to me that the oth­er advant­age is that you can change your main pass­word at any time without need­ing to update any oth­er cli­ent. Can oth­er applic­a­tions that have web access and smart­phone app access please take note?

OAu­th is not neces­sar­ily the easi­est of pro­to­cols to under­stand, or imple­ment, but these days there are lots of lib­rar­ies out there that do imple­ment it. When I teach OAu­th at the XML Sum­mer School, I always recom­mend people use exist­ing lib­rar­ies if pos­sible, to let oth­ers do the hard work of debug­ging all the little details. Anoth­er thing I recom­mend is to get the O’Reilly book “Get­ting Star­ted with OAu­th 2.0” (full dis­clos­ure: they sent me a review copy) to under­stand the con­cepts. You need to know about vari­ous types of tokens and cre­den­tials, and how they fit into the multi-layered authentication/authorization pro­tocol dance for the dif­fer­ent use cases. Once you have a decent under­stand­ing of the con­cepts, then go and read the actu­al spe­cific­a­tion for the details. The spe­cific­a­tion has lots of inform­a­tion in it, but it’s immensely easi­er to under­stand if you already know how the pieces fit togeth­er, and that’s where the O’Reilly book is well worth reading. 

Jan 292013
 

Es gibt in den Ver­ein­igten Staaten viele Organ­isa­tion­en und Behörden, die die Entwicklung und den Ein­satz ver­schieden­er Stand­ards in dem Gesund­heits­bereich fördern. In diesem Artikel fin­d­et sich eine kur­ze Zusam­men­fas­sung, die allerd­ings viele Details außer Acht lässt. Da Politik eine große Rolle spielt kann sich die Situ­ation natür­lich jederzeit ändern. Grundsätz­lich ist das Gesund­heit­swesen ist in den USA geset­z­lich gere­gelt und vom Bund und den Bundesstaaten finanziert.

Ich habe diesen Artikel zuerst auf Eng­lisch ges­chrieben und erst danach über­set­zt; vielen Dank an Gerry Beuchelt, der viele Verbesser­ungs­vorschläge machte! Vielen Dank auch an Bob Yen­cha, der für die eng­lische Ver­sion Verbesser­ungs­vorschläge machte. Für etwaige Fehler bin ich natür­lich zuständig.

Office of the Nation­al Coordin­at­or for Health Inform­a­tion Tech­no­logy (ONC; http://healthit.hhs.gov/): ONC ist ein Teil des US Bundes­ge­sund­heits­min­is­teri­ums, dem Depart­ment for Health and Human Ser­vices (HHS). Es wurde 2004 gegrün­det. ONC soll die Nutzung geeigneter EDV-Stand­ards im Gesund­heitssys­tem unter­stützen und fördern, und auch EDV-Produkte nach den Stand­ards zer­ti­fiz­ier­en. Das ONC fin­an­ziert auch andere Aspekte der EDV im Gesund­heit­swesen wie zum Beis­piel die ‘Mean­ing­ful Use’ Vorschriften.

Cen­ters for Medi­care and Medi­caid Ser­vices (CMS; https://www.cms.gov/): Die CMS ver­wal­teten ver­schiedene öffent­liche Kranken­ver­sicher­ungen: Medi­care (Kranken­ver­sicher­ung für ältere Leute sow­ie jüngere Leute mit Behin­der­ungen), Medi­caid (bedürftigkeits­ge­prüfte Kranken­ver­sicher­ung) und das Chil­dren’s Health Insur­ance Pro­gram (CHIP, Kranken­ver­sicher­ung für Kinder). Die CMS legen zwar keine Mindes­t­stand­ards für EDV in der klin­is­chen Betreuung fest, ver­lan­gen aber eine detail­lierte Berichter­stat­tung über die Ein­hal­tung von Qualitätsnormen.

Mean­ing­ful Use (http://www.healthit.gov/policy-researchers-implementers/meaningful-use): Mean­ing­ful Use (MU) ist ein HHS Förder­pro­gramm in der Gesund­heit­swesen-EDV, welches unter ander­em die Nutzung von zer­ti­fiz­ier­ten IT-Syste­men für Patien­tenakten fördert, um die Qual­ität der Kranken­pflege zu verbessern. Im Rah­men von MU wer­den auch die passenden EDV-Stand­ards iden­ti­fiz­iert, die von den Sys­tem­h­er­stellern imple­men­tiert wer­den müssen. Für diese Funk­tion nim­mt ONC eine leitende Stel­lung ein. Das ges­amt MU Pro­gramm wird stufen­weise über ein­ige Jahre hin­weg einge­führt. Stage 1 (Stufe 1) wird auch “2011 Edi­tion” genan­nt und wurde vor zwei Jahren einge­führt. Die Anfor­der­ungen für Stage 2 (Stufe 2) wur­den vor kur­zem unter dem Titel “2014 Edi­tion S&CC final rule” ver­öf­fent­licht. MU Stufe 2 ergän­zt die “CMS Stage 2 Medi­care and Medi­caid Elec­tron­ic Health Record (EHR) Incent­ive Pro­grams”. Jen­seits von 2014 gibt es konkrete Pläne für Stufe 3; weit­ere Stufen wer­den mit Hinsicht auf Politik und geschätztem Bedarf vorgenommen.

Health Level 7 Inter­na­tion­al (HL7; http://www.hl7.org, http://www.hl7.de): HL7 ist eine ANSI-akkred­it­ierte inter­na­tionale Organ­isa­tion, mit Mit­glieder und Tochter­or­gan­isa­tion­en in vielen Ländern. HL7 erstellt EDV Stand­ards für das Gesund­heit­swesen auf der Basis ein­er umfassenden Ges­amtar­chitek­tur. HL7 Stand­ards können als ‘norm­at­iv’ oder ‘inform­at­iv’ eingestuft wer­den. Norm­at­ive Stand­ards unterge­hen eine Phase, die als ‘Draft Stand­ard for Tri­al Use’ (DSTU) (Entwurf-Stand­ard zur Probe­n­utzung) bezeich­net wird, in der sie getestet wer­den können, bevor sie norm­at­ive Stand­ards wer­den. Es gibt eine Liste der DSTU-Stand­ards unter http://www.hl7.org/dstucomments/. Die Liste der ANSI-anerkan­nte HL7 Stand­ards ist hier zu find­en: http://www.hl7.org/implement/standards/ansiapproved.cfm, und die Liste der ISO-anerkan­nten HL7 Stand­ards ist hier: http://www.iso.org/iso/search.htm?qt=HL7&sort=rel&type=simple&published=on. Nicht-Mit­glieder von HL7 müssen für Kopi­en der Stand­ards bezah­len, aber HL7 hat angekündigt, die meisten Stand­ards im Laufe des Jahres 2013 kos­ten­los zur Ver­fü­gung zu stel­len. Die Mean­ing­ful Use Vors­chriften bez­iehen sich sowohl in Stufe 1 als auch in Stufe 2 direkt auf eine Vielzahl von HL7 Standards.

Integ­rat­ing the Health­care Enter­prise (IHE; http://www.ihe.net/, http://www.ihe‑d.de): IHE ist ein Indus­triekon­sor­ti­um in dem Pro­file ver­schieden­er EDV-Stand­ards erstellt wer­den, dam­it der kom­pat­ible Aus­tausch von Gesund­heits­daten opti­miert wird. IHE ist eben­falls eine inter­na­tionale Organ­isa­tion mit vielen Mit­gliedern, wobei viele IHE Mit­glieder auch Mit­glieder bei HL7 sind. Jedes Jahr ver­an­stal­tet IHE ein ‘Con­necta­thon’, in dem EDV-Her­steller die Kom­pat­ib­il­ität ihr­er Produkte testen können. Auch die IHE-Pro­file und IHE Tech­nic­al Frame­works (tech­nis­che Rah­men­werke) wer­den in den Mean­ing­ful Use Vors­chriften benutzt.

/* ]]> */