まだまだ分からないことだらけ

今朝実は北京経由で西安に入ります それで早朝ですが、突然 node.jsをインストールしようと思いました こんなものとうの昔にインストールしてあった筈ですが、さっきひょんなことで homebrewをアンインストーるして、再びインストールしたのです。そんな訳で homebrewでインストールしてあった node.jsも消えてしまったのです。

「うん? どうやれば node.jsインストールできるんだっけ?」

そこで google博士に聞いて見ました ここにヒットし、とても最近の uploadなのでこれが最高!と思いましたね、そして指示に従いインストールしたのです キモは最後の最新の node.jsをインストールするというこのコマンドです

$nodebrew install-binary latest

ところが、これがエラーが出てどうしてもインストールできないのです。sudoにより権限昇格しても駄目なのです!! 結構こんな時の僕の気分は深海の如く deep blueとなりますね。

それでもやはり朝でした 未だ元気な僕でした ふと思ったのです 何でこんなコマンド入れるのかな? もっと素直に

$brew install node

で良いのでは?

そこでやったところ一発で node.jsがインストールされ、今現在僕のターミナルでは

$node -v
v12.0.0

という具合に最新 node.jsが戻ってきます やったね!!!

技術伝承の困難

先日鎌倉では久しぶりに慢性完全閉塞に対するPCIをしました もちろんご紹介の患者さんであり、他院で前回トライされましたが不成功に終わった比較的若い、長い閉塞長を有する右冠動脈の慢性完全閉塞患者さんでした

一見すると順行性アプローチでも容易そうであり、事実CT冠動脈造影でも前を遮るような石灰化と認められず「どうしてこれがうまく行かないのかな?」と思える程でした

そんな訳で”念の為”両側アプローチで、しかも 6Fr guide cathtersで入りました 穿刺部位はもちろん両側遠位橈骨動脈です。

まずは順行性からXTAで開始したのですが、これが進まない そこでUB3に変更し、Gaia-Next1に変更した時点で前回形成された解離腔にワイヤーが進むのみで順行性は断念したのです。そして左冠動脈より心尖部ルート、これが内径は1.5mm以上あるのですが、蛇行が著しく、しかも良くあることですが、蛇行ヘアピンカーブ頂点には直線的に枝が分離しているのです。Caravel + Fielder-FCで入りましたが、ワイヤーはやはり頂点から分岐する直線的枝に入るのみであり、また心拍動に呼応して蛇行のカーブが変動するため全くワイヤーコントロールできないのです。それでも頑張り、結局XTRを心拍動に同期させて操作することによりこの難局を乗り越え、Caravelを右冠動脈の末梢に持ち込むことに成功しました。ところが、右冠動脈の遠位閉塞は#4AV/#4PD分岐部直前であり、ワイヤーを右冠動脈近位に向けようとしても冠動脈血流に乗り、ワイヤーは末梢側にとられるのみなのです。

何とかタイミングをとり、Caravel先端を#4PD – #3と90度以上の曲がりを超えさせ、そしてGaia Next1を近位に向けて進めました。しかし、ここで慢性完全閉塞部位がとても硬いことに気が付きました。線維性組織により閉塞していてワイヤーがその繊維の絡みによりトラップされている、そんな印象です。

ここは我慢の子で、じっと頑張り徐々にそれこそ「コンマ4mm」の速度で進め、ようやく閉塞部位を抜けましたが、先端は薄皮一枚で解離腔に向かっていくのです。しかし、ワイヤーをこの時点でコントロールすることは不可能と思われ、頑張って進めました。途中まで進めたところで、順行性に 4.0mm balloonを挿入し、そこでアンカーかけ、これにより逆行性Caravelを引き込もうとしたのですが、なんとアンカーが全く効いていない!!!!!!!

結局システム抜去となりました。この時点で90分経過していて、気力も萎えかかったのですが、部下が「もう一度試しましょう」と呼びかけたため、今度は順行性ガイディング・カテーテルを7Frに up sizingして再開しました。そして、今度は通過困難であった心尖部蛇行をやはりXTR/SUOH03を用い、さらにマイクロをCorsair-Pro XSを用いて前回よりも数手間少なく通過させることができたのです。しかし、ここで面白い現象に気づきました。Corsairだと決して分岐部を超えて#3方向にワイヤーを向けることができないのです。しかし、Caravelに変更することによりこれが可能だったのです。これは「出来る/出来ない」あるいは”+/-“あるいは「白/黒」の如く明白な観察事実でした。これには正直驚きました。その驚きの源は
「僕にも未だ慢性完全閉塞に関して学ぶ部分があるのだ」
というものでした。

そして、それと共に「やはり技術の伝達は難しい」「なぜならば自分自身が未だ完璧ではないから」というものです

しかし、その一方で気づきました「技術伝達する立場の人は完璧である必要は無い」かも知れない そのようにも思いました。「技術伝達する立場のひとも、それを受ける人も 互いに技術を高めるようにすればよい」そんなのが今朝の結論です。

 

25年来のモヤモヤ

昨日は二日続けての経皮的僧帽弁接合不全修復システム (MitraClip)植え込みがありました 火曜日にTAVI3例、経皮的僧帽弁接合不全修復システム (MitraClip)1例あったため、水曜日午前中にも一例経皮的僧帽弁接合不全修復システムを行うことになりました

実は火曜日午前中には他院でTAVIのプロクタリングを行い、それから鎌倉に戻ったのです

さて、その水曜日のMitraClipですが、25年間のモヤモヤが自分の心の中にはあり、それが患者さんのご協力で振り切れました

僕が鎌倉に来たのは 1988年10月からでした 実際に病院が新規開院したのはそれから一ヶ月後の 11月01日でした ゼロからの出発でしたので新鮮な喜びがあり、いろいろなことがありましたが、まずまず順調に立ち上がったと、今にして思えば思えます。

心臓部門も心カテという武器の下で順調に立ち上がり、やがて心臓外科も充実しようという時になりました しかし、そのような時に色々なトラブルは内部から発生するものです。1992年頃になり、心臓外科が中心になり、鎌倉市の隣の隣の町に心臓センターを独立して建設する、という話となりました ところが、その中心となっていた今はもう何処におられるのでしょうかねえ? その方たちが中心となり、循環器内科よりまあ ソースを集めるという下心もあったのでしょうか? 僕が中心の鎌倉の循環器内科に対する強い相当な圧力、それこそあること無いこと 色々な圧力を受けました。実際、そのような圧力の結果、当時循環器内科には僕を頂点に合計8名の医師が在籍していましたが、その内の 4名が他院に移籍しました。残ったのは僕も含め、4名のみでした。こんな状況にあっという間に追い込まれました。それはそれは辛かったです。

ちょうどそんな時に一人の患者さんにお会いしたのです。その患者さんは無事手術で治療され、そして 25年後の昨日今度は僕たち循環器内科により良くなられたのです。25年間という歳月を超えて患者さんも僕も歳を取り、そして再び元気にお会いすることができたのです。

1994年 大動脈炎症候群の瘢で、大動脈が全体石灰化あり、しかも上行大動脈が拡大し、それに伴い重症大動脈弁閉鎖不全となり、その結果心不全となっておられた女性がご紹介となり来られました。この患者さんの治療としては大動脈弁置換術しかありませんので、僕たちに圧力をかけ続けていた心臓外科医グループに手術を依頼したのですが、「この患者さんは手術は無理である」と断られたのです。それでも比較的若い患者さんであり、それから何年も人生を過ごしてしかるべき患者さんでしたので、しかも手術以外に治療法は無い患者さんでしたので思い悩み、その頃知り合った別の心臓外科医に相談し、手術を引き受けてくださることになりました。手術は、心臓外科医が既に隣の隣町に移ってしまっていた鎌倉の心臓外科で行ったのです。その紳士的な、人間味溢れる心臓外科医は、6時間に及ぶ手術を丁寧に行って下さり。その患者さんは 25年を経た今でもお元気にされているのです。その外科医は、後に「天皇を手術した外科医」として有名になられましたね。一方、僕を苛め続けた外科医グループはその後どうなったのでしょうか?

そして、昨日のMitraClipを行ったその患者さんというのは、その時の患者さんの 25年後だったのです。たくさんのたくさんの人生、

波動の合成

昨日、某企業で長年超音波診断装置の開発に携わって来られた尊敬する技術者の方からお話を伺い、長年の疑問に対してヒントを賜りました。とてもありがたいことです。

例えば経食道心エコー法ですが、三次元画像や X-planeによる二次元直交画像を表示するためには、いったいいくつの 超音波クリスタルが必要なのか? さらには、そこからの信号線の数は膨大な数にならないのか? そもそもphased-arrayにより超音波ビームの方向を自由に振るとしても、膨大な数の超音波アレイをどのように正確に制御できるのか? 取り出した信号を信号処理ユニってに送り込むためには、その信号線が膨大になり、その間の同期などが困難となるのでは? あるいは、エラー耐性が著しく低下しないのか?

などなどたくさんの疑問を抱えて僕はこれまで生きてきました それらに対する明確な回答のとっかかりを得ることができました もちろん自分で何をするか? ではなくって、単なる疑問なのでした 疑問を疑問のままにしておくことができなかったのです

要するにクリスタルから出る波動を自由自在に合成することにより、あるいは受信時に仮想的に合成することにより自由自在に方向を決定できる そのようなことでした。ものすごいテクノロジーですね。

Haskellに惑わされ – 12

この本「ふつうのHaskellプログラミング」といのはとても良い本のような気がしてきました。というのも僕のHaskell programmingに対する理解が前に進んでいるからです。「前に」という修飾語に注目して下さい。決して「理解が進んでいる」とは言っていません。しかし、着実に前に進んでいます。

本日確実にゲットした理解は、

$stack runghc

というコマンドです。これを行うことにより、実行ファイルが作成されます。それは、Macだろうが Windows10だろうが、Linuxだろうが同じです。そしてできるファイルは、拡張子無しの実行ファイルなのです。

例えば expand.hsというソースコードファイルがあれば、それをこのコマンドでコンパイルすれば、expandという名前の実行ファイルができあがります。ですから、実行するには

$./expand

とすれば良いのです。これだけ理解するにも時間が必要であり、着実な前に向かった進歩です。大分Haskellの世界観に馴染んできました。僕という人格、いや人格でなく能力が拡大しているのです。

リトマス試験紙

小学生の頃、理科か課外授業かで行った記憶がありますよね皆様方 それはリトマス試験紙です。

リトマス試験紙を色々な液体につけ、その色の変わり具合で、アルカリ性か、酸性か、あるいは中性か、そんにな風に見分けるだけなのですが、それでも物事の仕組みを直に学ぶことができて、「理科の心」を形成するのに役立ったと思います。

それで今朝フト思ったのですが、自分は今、「このカテ人生ずっと続けるしかないな」と、思っているのですが、それって一種のリトマス試験紙?

どうい試験をする紙切れか? と言えば、<<そんなこと言う年齢になった>>あるいは、<<それ以前の人生の中でとんとんカテに捧げた>>ということを試験するリトマス試験紙なのかな?

 

へえーっ、こんなに真面目な顔しているのだ!!

さて、バンコクより写真が届きました すごく良く撮れている写真です Tanyarat Aramsareewong, MDから送られてきました。この先生は女医さんですが、ものすごくアクティブな女医さんであり、印象に残ります。バンコクの女性 Interventional Cardiologistsは皆総じて aggressiveな印象ですが、もう一人印象に残るのが、Dr.Siriporn Athisakulです。僕のライブデモンストレーション手技の時に第一助手として手助けして頂きました。彼女は鎌倉にも二回来られています。

Dr. Tanyarat Aramsareewong
Dr. Tanyarat Aramsareewong

まあそれは良いのですが、送って頂いた写真、普段僕が自分自身でイメージしている表情と違う表情の僕を見つけました。すごく真面目な表情で驚きました!!

真面目な表情
真面目な表情
真面目な表情
真面目な表情
真面目な表情
真面目な表情
真面目な表情
真面目な表情

これからバンコク

今は日曜日ですが、羽田空港にいます これからバンコクに飛びます 夕方バンコクに到着し、明日月曜日8/19はタイ国最高学府 ChulaLong Kong大学附属病院でのライブデモンストレーションがあり、僕と Kimney先生の二人が呼ばれライブデモンストレーションがあります。

前回タイに行ったのは随分行っていないと思っていたのですが、調べると 2018年11月のことでした 未だ一年も経たないのですね

バンコクに行くと言っても、実は明日月曜日夜バンコク発、羽田空港 火曜日5:00 AM過ぎに到着する夜行便で帰国し、それから自宅でシャワー浴びてから病院に出かけ SHD interventionとなります 忙しいですね

Haskellに惑わされ – 7

これで先の自己質問1に対する回答となりましたね、シングルクォーテーション `はプログラム上何の意味も無いものであり、従って名前の一部にもならないのですね

だから Haskellでも add’という名前は許されても、add`という名前は許されません もちろん、ここで addと add’とは別物とみなされますので、この性質は もともとある名前と似た作用を有する名前を命名する時に便利です

たとえば、Haskellの Prelude frameworkにはもともと addという関数が定義されているので、自分で新たに add = 加える という意味を有する関数を作成したとしても、addという名前を使用できません

こんな時に add’とすれば別物とみなされ自分で新たに定義した関数をadd’という名前で使えるのですね

こんなことを理解するにも数日間頭を悩まされました バカみたいなことだけど、きっと世の中には僕と同じような悩みを抱えて Haskell programmingから挫折した人は何人もいるのだろうと思います

まあこれで

Haskellに惑わされ – 5

の自己設問1と2は解決ですね

Haskellに惑わされ – 6

例えばこうです 僕が良く Web programmingする時に使用する PHP言語ですが、database言語であるSQL (僕が使用しているのは open sourceの MySQL言語です)と連携してSQLサーバーよりデータを取得し、それをサーバー内で PHP言語により加工し、その結果を http通信でクライアント側 つまり、一般ユーザーに送っているのですが、その部分の肝腎の SQL serverからの PHPでのデータ取得部分の一例はこんなものです

$row_session = $stmt_session->fetch( PDO::FETCH_ASSOC );
$stmt_role = $pdo->prepare( "SELECT MAX(`created`) FROM `role_tbls`;" );
$stmt_role->execute();

ここで出てきましたよね この部分です

"SELECT MAX(`created`) FROM `role_tbls`;"

この部分を良く見ると、

`created` や`role_tbls`

のように何だかさっきのもの (`)ではさまれていますね これは実は SQL構文規則では不要なものです しかしながら、この列が SQLの列名であることを分かりやすくするためにわざわざ用いているのです

つまり、 (`)というものはプログラム解析上では何の意味も持たない飾りだということです

従ってこの部分に(‘)というものを使用すると途端に文法エラーとなりプログラムは走りません これと同様のことが Haskellでも起こるのです