丁寧に手を抜く

頑張らない努力

脱ステ脱保湿で、ステロイドを塗っていた時より肌がキレイになってきた

f:id:craftzdog:20180820151019j:plain

どうもTAKUYAです。

脱ステ脱保湿シリーズ第3回。俺のアトピー症状のその後やいかに!

  1. 2018-08-03 アトピー治療に専念している
    • 脱ステ・脱保湿に至った経緯など
    • 練馬は大泉学園にある藤澤皮膚科に通い始めた話
  2. 2018-08-20 脱ステ脱保湿のアトピー治療でいい感じに治ってきた
    • 主に理論を関連書籍などに基づいて自分なりに解説
    • 顔のリバウンド症状を写真と共に紹介

前回から早1ヶ月半ぐらい経った。 そして薬をやめてちょうど3ヶ月経った。 区切りが良いので症状の変化をまとめたい。 参考になれば幸い。

滲出液は完全に止まってかなり過ごしやすくなった

結論から言うとめちゃくちゃ順調に回復している。 あらためて記録として撮っている写真を見返してみたが、ピーク時の症状はほんとうに凄まじくて、よくここまで回復したなという感じ。 人間が本来持つ治癒力に驚かされた。

滲出液はもう全然出なくなった。 シーツやタオルを黄色く染めることも無くなった。 ソファを汚したくないので常にバスタオルを敷いて座っていた。 掻きむしっても滲出液は出なくなった。 その代わり血が点々と滲むようになったが、先生曰くこれは回復の印とのこと。 これは体感的にもそう思う。 血が滲んだ部分はすぐにかさぶたになって治る。

落屑もかなり落ち着いた。 以前は掻くたびに大量の皮膚が剥がれ落ちて散らかっていた。 目に見えない粒子レベルでも沢山皮膚が舞っているらしく、空気清浄機のハウスダストセンサーが常に反応する。 床や机、小物などあらゆるものにその皮膚の粉が付着して、数日でまるで一ヶ月間放置したかのごとく埃がたまる。掃除が大変。というかキリがない。 お陰で使わないものは引き出しにしまう習慣ができた。 頭の落屑はフケと誤解されるので辛かったが乗り越えた。 落ち着いたと言ってもまだまだ細かい落屑が出る。 落屑の量がもう半分ぐらいになってくれれば掃除も幾分楽になるんだが、それも時間の問題だろう。

左脚がむくんで大変だった。 たしか1〜2週間ぐらいで落ち着いたと思う。 右の脇が細菌に感染して腫れたので抗生剤を出してもらって対処した。 これも1週間ぐらいで落ち着いた。 その際、膿がドバドバ出てびっくりした。 膿は白血球の死骸らしいけど、緑色のマヨネーズみたいで驚愕だった。 牛の乳を絞るがごとくギュっとつまむと出てくるので面白い。

夜もだいぶ眠れるようになった。 基本的に夜は痒くて痛くて眠れない。 暗い部屋でボーっとただ耐え忍ぶしか方法はない。 なぜか落ち着くので、無言でコーヒーを淹れる動画をYouTubeでひたすら見ていた。 カフェが好きなので、そういう食器の音とかコーヒーをコポコポと注ぐ音が癒やされるのかもしれない。 ベッドで寝ると蒸れて痒くなるので、最近は床で寝ている。

そうやって山あり谷ありの症状を耐えに耐え抜いて、徐々に炎症は沈静化された。 今では、調子のいい時は朝から近所のカフェに行ってPCを広げて作業できるまでになった。 そのうちカフェ巡りも再開できるだろう。 つらい時期にもかかわらず支えになってくれた人には感謝しかない。

血みどろだった脚がきれいに

文字だけだとわかりにくいと思うんで、脚のふくらはぎの症状の変化を紹介したい。 自分自身の写真だけど正直見ていて辛いw

30日目の血は何もしてないのに流れ出した。特に掻き壊したわけではない。 なので、体の内側から炎症が発生してこうなったと推測される。 デトックスを極めると流血するのかもしれない。よく耐えた。俺、優勝。

続いて、腕。 脱ステ・脱保湿を始める前の症状はこんな感じで、大きめの紅斑がポツポツとあった:

f:id:craftzdog:20181003134754j:plain

ご覧の通り紅斑は無くなり、ステロイドを塗っていた頃よりも皮膚が強くなって綺麗になった。 あれだけいくら薬を塗りたくっても治らなかったのに。感動である。

このようにピーク時のリバウンド症状は想像以上に凄惨なものだった。 顔の症状と併せて見ると、自分のピークは30日目〜40日目あたりだったようだ。

今から脱ステ・脱保湿しようと思ってる人をちょっとビビらせてしまったかもしれない。 でも当時の自分は「やべぇな俺www」ぐらいで、たとえ流血しても「あーネタになるわw写真撮っとこw」と思っていたし、この状態でスーパーにもコンビニにも行ったしジョギングにも毎日出かけていた。 ここで「なんで自分だけこんな目に・・」みたいに鬱に入ってしまうと危険だと思う。 毎日変化する症状の中で、良くなった部分を見つけて「よし!一歩前進したぜ!」と褒めてやろう。 病気は気から。 無理にポジティブになれとは言わない。 自分を否定さえしなければいいのだ。

アトピーを無視して健康に振る舞う

リバウンドを長引かせず出来るだけ早く乗り越えるには、前回も書いた通りとにかく糖質制限と運動を徹底することだ。徹底だ。二回言ったぞ。 そして仕事も可能な限り通常通りやる。

顔の症状が出ていても気にせず人前に出る。

f:id:craftzdog:20181003142416p:plain

WantedlyにてReact Nativeの勉強会に登壇した。

症状が辛いからといって楽しいことまで避けてしまうと、気持ちもどんどん落ち込んでしまう。 だらかたとえ周りの目が気になっても気にせずやりたいことをやった。

低糖質のお菓子作りにハマった

糖質制限だと甘いものが食べられなくなる。 でもどうしても甘いものが食べたい。 そういう時はラカントを使ってお菓子を作った。 ラカントは、糖質が体内に吸収されず排出される特性をもつ天然由来の甘味料。 血糖値に影響を与えないので糖尿病の人などにもよく使われる。

f:id:craftzdog:20181003143604j:plain

このラカントを使ってチーズケーキを作ったり、ココアのおからケーキを作ったりした。 手間はかかるけど、めちゃくちゃ美味い! まさか自分がお菓子作りにハマるとは思わなかった。 分量を変えてみたりといった試行錯誤が楽しい。

f:id:craftzdog:20181003144057j:plain

豆腐ティラミス。んまんま。

低刺激で通気性のいい下着

症状が辛い時に最も気になるのは肌着だ。 少しでもチクチクすると痒みにつながる。

自分でもアマゾンで買ったりしていろいろな下着を試した。 通気性を謳うものはたいてい化学繊維なのでチクチクするからダメだった。 一番いいのは綿100%素材のものだ。 でもボクサーパンツはゴムの部分が気持ち悪い。

そして今履いているのは、ガーゼ製のステテコみたいなパンツ。

これが一番良かった。高いけど。おすすめ。

Tシャツはヘインズ一択!ヘインズの着心地の良さは群を抜いているので、これ以外は着ません。

f:id:craftzdog:20181003150538j:plain

参考までに。

痒くてたまらん時の対処法

自分の意志に反して掻く手が止まらない時に強制的に止めるにはどうすればいいか。 いくつか発見したので紹介する。

フォアヘッド・タッピング

タフツ大学の心理学者スーザン・ロバーツが編み出した方法。 具体的な方法は以下の通り:

  1. 5本指を広げて、自分のおでこに置く
  2. 5本の指で、1秒毎におでこを軽く叩く

これを痒みが気にならなくなるまで続ける。 完全とはいかなくとも結構おさまるのが実感できるはず。

このテクニックが効くのは、人間の脳が限られた処理能力しか持たないからだそう。

スクワットする

掻いてるとイライラしてくる。イライラすると自律神経の交感神経が優位になる。 交感神経が優位になると更に痒くなる。

この悪循環を止めるのが筋弛緩法。 かゆーい!と思ったらすぐスクワット30回。 夜寝てる時もやる。笑

たぶん一日合計すると200回近くやってる気がする。 お陰で足腰が強くなりました。

瞑想する

自分が強い痒みを感じるときって、たいてい頭の中がいろんな思考でいっぱいの時。 余計な考えをいったん「棚上げ」して、今に意識を集中させると、不思議と痒みもマシになる。 瞑想することで思考の棚上げを効率的に行える。 自分の中の執着を手放す。 別に今そのことを考えなくてもいいじゃんってね。

ゆっくり、結果を焦らず取り組む

というわけで症状の見た目は劇的に良くなったものの、痒みは依然として強い。 今は季節の変わり目ということもあって体に負担がかかっているからか、しんどい。 この痒みがあと少しでもマシになってくれたらかなり行動範囲を広げられるんだが。

とはいえ、それも今まで通り粛々と糖質制限と運動を続けていれば治まっていくだろう。 そんなに焦ることはない。 ゆっくりやっていこう。 なぜならアトピーは放っとけば勝手に治るのだから。 焦ると痒くなるし。

また進捗があれば書きたい。

RPGを英語でプレイすると楽しい上にめっちゃ勉強になる

どうもTAKUYAです。

自分は英語の読み書きは普段からよくするのであんまし問題ないんだけど、日常会話は全くといってダメだ。 だって普段しないし。 文章と会話で使う語彙や表現は異なる。 それに耳がついてこない。 なんとか日常会話の英語を自分の生活に取り込みたい。

学びたいことと興味と紐付ける

英会話が学びたいのなら英会話サービスを使えばいいのかもしれない。 でも毎日はさすがに無理だし、なにより自分は勉強が目的だと何事も続かない。 例えばプログラミングを学ぶためにセミナーに通うとか、今だと最近流行りのオンライン学習サービスを利用したりとか。 自分はそういうのは面白くなくて続かない。 いわゆる「勉強」が嫌いなのだ。

だからいつも新しいことを学ぶ際は、興味のあるものと紐づける。 Raspberry PiとGo言語が学びたければ、部屋の空気をセンシングする装置を作ったりとか。 逆に学習サイトを使ってる人はよく続くなぁと感心する。 それだけのモチベーションがあれば今すぐにでも何か実際的な問題を学びながら解決できそうなのに。 人それぞれだな。

iOS版「Life Is Strange」で勉強する

f:id:craftzdog:20181002153156p:plain

話が逸れたけど、最近、英語の日常会話を普段取り入れるいい方法を見つけた。 それは「Life Is Strange」だ。

iOSでも遊べるようになったので、言語設定を英語にしてiPad Proでプレイし始めたんだけどめっちゃ面白い。その上、英語の勉強にもなる。 主人公は18歳になったばかりの女の子で、学校のクラスメートとか親友のクロエとの日常会話が沢山繰り広げられる。 それを理解しないとゲームは楽しめないし進めるのも難しい。 でも7割ぐらい理解すればだいたい雰囲気でわかる。

もし分からない単語が出てきたら、以下のようにゲームを立ち上げたまま辞書を引いて調べている:

f:id:craftzdog:20181002153218p:plain

マルチタスクめっちゃ便利。 毎日息抜きにちょいちょいプレイしてる。

その他のおすすめのゲーム

過去にやったやつだとこの辺が面白かった:

Superbrothers

f:id:craftzdog:20181002155227p:plain

レトロなドット調のゲーム。 マップが美しい。 RPGによくある古文調の英語が楽しめるが、日常では全く役に立たない。

Lumino City

f:id:craftzdog:20181002155238j:plain

Lumino City

Lumino City

  • State of Play Games
  • ゲーム
  • ¥600

ステージやキャラクターがすべて折り紙のペーパークラフトアニメーションという狂ったゲーム。 セリフの中に多くのヒントが隠されている。


海外ドラマや映画は興味がわかなくて辛いという人は、海外のゲームを英語のままやってみてはいかがだろうか。

iPhoneケースで経年変化を楽しむ

f:id:craftzdog:20180923162310j:plain

自分の好きなコンセプトに「経年変化」が挙げられる。英語ではPatina(パティーナ)と呼ぶ。

デジタルの世界ではなかなか味わいにくい要素だ。 ビットはいつだって0か1しか表現しないからだ。 それでも、使い込むことで手に馴染む感覚や、蓄積されたデータがもたらす新たな発見、時間をかけてカスタマイズした設定も、一つの経年変化と呼べるだろう。 なぜなら、それらは一人ひとり違う結果をもたらすからだ。 自分の作っているノートアプリも、経年変化が味わえるアプリの一つだと思っている。

ところで、新しく買ったiPhone XSはゴールドを選んだんだけど、正直いってあまりときめかなかった。 色味が思ったより落ち着いていてピンクがかっている。あまり好みではない。これなら白か黒を選べばよかった。 あと、テーブルに置いた状態で操作すると、背面の出っ張ったカメラが隙間を作って、タップするたびにガタガタ鳴って揺れる。 この2つの不満点を解決すべくケースを買うことにした。

選んだのはApple謹製のレザーケース。 色はサドルブラウンを選んだ。

www.apple.com

レザーだから、使い込んでいくうちに色味が変わって味が出る。 スマホのケースにレザーを選んだのは初めてなので、その経年変化が楽しみでしょうがない。

Oliurというロンドンのデザイナーが、同じケースを8ヶ月使い込んだ結果をYouTubeで紹介していた。 これがかなりかっこいい。傷すら味になるのがレザーの良さか。

www.youtube.com

最低でも1年は使うから、変化を見るためにも記録として今の状態を写真で残しておこうと思う。

f:id:craftzdog:20180923164730j:plain

エッジに埃が溜まりやすいかも

下の写真をご覧になると分かるが、ケースの高さがiPhoneのサイズよりも大きめに作られているので、画面を包み込むように少しはみ出ている。

f:id:craftzdog:20180923164742j:plain

f:id:craftzdog:20180923164816j:plain

この出っ張りは落とした時に画面を守ってくれそうな利点がある反面、少し使った感じではこの隙間に埃がたまりやすい。 なので、定期的にはずして掃除してやる必要がありそうだ。

10万以上もする高級品だから、大事に使いたいと思う。 8ヶ月後が楽しみだ。

iPhone XSはスマホ付きカメラだ

どうもTAKUYAです。

今日、11万円もするカメラが届いた。iPhone XSっていう名前の。

これがめっちゃ薄型で、撮った写真を確認する用の画面はなんとedge-to-edgeの全面タッチパネルで、贅沢にもOLEDが使われている。

さっそく手近なものを撮ってみた:

いいボケ感。この被写界深度は撮った後でも調整できる。前代未聞。もうちょっとボカしたかったなぁなんて事が無くなる。

なんでそんな事ができるかと言うと、カメラなのにもの凄い高性能のA12 BionicっていうCPUを搭載していて、独自のAI技術によって被写体と背景を識別しているからだそうだ。カメラのためにそこまでやるか。

雨だし夜だけど、さっそく公園に出かけてちょっと撮ってきた。

結構暗かったのにノイズも少ない。街灯の色が白飛びせずに、はっきり分かる。

撮ってその場でインスタみたいなフィルタがかけられる。パソコン要らない。

街灯に照らされて金色に輝く地面。

現実で見た感動をより確かに伝えられる。 素晴らしいカメラだ。


冗談はこの辺にしておいて、今日届いたiPhone XSのカメラを試したというお話でした。

カメラの凄さについてはアップルのキーノートでも10分弱かけて熱弁していた。

このレベルまで来たら本当にカメラ市場も大きく侵食するだろう。先日以下のようにツイートした:

実際使ってみて、自分はもうコンデジ買わなくていいやと思えた。

久しぶりにデジタルデバイスで感動した。

やはりスマホは楽しい。

Raspberry Piとgo言語で部屋のコンディションを記録してグラフ化した

自分のプロダクトばかり作っていると技術の幅も狭まってしまうので、定期的に趣味がてら題材を見つけて普段使わない技術に触れている。

自分にとってベストな部屋のコンディションが知りたい

今回は兼ねてからやりたかった、自分の部屋の温度や湿度などのコンディションを数分ごとに記録してグラフで可視化すること。 体調と空気の質は関連が深い。 気圧が低いと頭痛を起こす人もいるし、ジメジメしていると汗が気になって仕方がないという人もいるだろう。 そういう関係性を客観的に調べられたら、自分にとって最もパフォーマンスが出る条件がわかる。 まずはともあれ記録をとってグラフ化するところから始めようというわけだ。

使用機材

f:id:craftzdog:20180213103545j:plain

まだ届いていないけど、CO2センサーをAliExpressで買ったので、それも追々組み込む予定。

Go言語でセンサーデータを取得してCloud Firestoreに格納する

Go言語は前々から気になっていた言語。 やはりチュートリアルをやっただけではしっくりこないので、こういう実用的な題材で組むと一気に理解が進む。

Cloud Firestoreも気になっていたGoogleクラウド向けデータベース。 PouchDBみたいにオフライン同期に対応している点が面白い。 ちょっと複雑なクエリやComposite Indexingにも対応している。 まだBeta段階のようだけど、完成度は申し分なく、問題なく使える。

今回のプロジェクトを通して、この2つの技術と仲良くなりたい。

センサーデータの取得

ANAVIのセンサーキットにはサンプル集GitHubで公開されている。 これをそのまんま使って、実行結果をGolangによる簡単な文字列処理を経由してデータを取り出す。 例えばBMP180センサーのデータは以下のように取得する:

package sensors
// Temperature and Pressure sensor

import (
    "log"
    "os/exec"
  "strings"
  "strconv"
)


func GetTempAndPressure() (temperature float64, pressure float64, err error) {
    out, err := exec.Command("/home/pi/anavi-examples/sensors/BMP180/c/BMP180").Output()
    if err != nil {
        log.Fatal(err)
    }

  s := string(out[:len(out)])
  lines := strings.Split(s, "\n")
  lineTemp := lines[1]
  linePress := lines[2]

  tempStr := strings.Split(lineTemp, ": ")[1]
  temperature, err = strconv.ParseFloat(tempStr[0:len(tempStr)-2], 32)
  pressStr := strings.Split(linePress, ": ")[1]
  pressure, err = strconv.ParseFloat(pressStr[0:len(pressStr)-4], 32)

  return
}

Firestoreへの格納

各センサーの取得スクリプトが書けたら、以下のようなmainスクリプトを書いてFirestoreに記録する:

package main

import (
  "./sensors"
  "log"
  "time"
  "context"
  firebase "firebase.google.com/go"
  "google.golang.org/api/option"
)

type RoomData struct {
  temperature float64
  pressure float64
  humidity float64
  light float64
}

func recordData (roomData *RoomData) {
  ctx := context.Background()
  opt := option.WithCredentialsFile("<YOUR-SERVICE-ACCOUNT-KEY.json>")
  app, err := firebase.NewApp(ctx, nil, opt)
  client, err := app.Firestore(ctx)
  if err != nil {
    log.Fatal(err)
  }
  collection := client.Collection("conditions")

  _, _, err = collection.Add(ctx, map[string]interface{}{
    "createdAt": time.Now(),
    "humidity":  roomData.humidity,
    "light":  roomData.light,
    "pressure": roomData.pressure,
    "temperature": roomData.temperature,
  })
  if err != nil {
    log.Fatalf("Failed adding alovelace: %v", err)
  }
}

func main () {
  log.Println("Start capturing my room confitions")

  temperature1, humidity, _ := sensors.GetTempAndHumid()
  log.Printf("Temperature:  %f C\n", temperature1)
  log.Printf("Humidity:     %f %%rh\n", humidity)

  light, _ := sensors.GetLight()
  log.Printf("Light:        %f Lux\n", light)

  temperature2, pressure, _ := sensors.GetTempAndPressure()
  log.Printf("Temperature:  %f C\n", temperature2)
  log.Printf("Pressure:     %f %%rh\n", pressure)

  data := RoomData{
    temperature: temperature1,
    pressure: pressure,
    humidity: humidity,
    light: light,
  }

  recordData(&data)
  log.Println("Finished recording data!")
}

あとは3分ごとにこいつを実行するようにcronで設定すれば完成。 Firebaseのコンソールからデータが正しく記録されていることを確認する:

f:id:craftzdog:20180904154019p:plain

グラフ描画webフロントエンドを作る

デスクトップとモバイルのChromeで動けばよしとする。 最近はアロー関数が動くのでメソッドチェーンが書きやすい。 シンプルなプログラムなのでbabelもwebpackも使わず、Vanilla JSで行く。

ひとまず完成図がこちら:

f:id:craftzdog:20180904154436p:plain

とてもいいんじゃないでしょうか!

グラフはhighcharts.jsを使用。 Mixpanelとかでも使われているグラフ描画ライブラリ。 とても簡単にハイクオリティなグラフが書けるのでオススメ。 非商用利用なら無料。

ソースは以下のような感じ:

HTML:

<!doctype html>
<html>
  <head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
    <title>Craftzdog&apos;s Room Conditions</title>

    <script src="lib/highcharts.js"></script>
    <script src="lib/dark-unica.js"></script>
    <script src="lib/moment.min.js"></script>
    <script src="lib/moment-timezone-with-data-2012-2022.min.js"></script>

    <script src="lib/firebase-app.js"></script>
    <script src="lib/firebase-auth.js"></script>
    <script src="lib/firebase-firestore.js"></script>

    <link rel="stylesheet" href="lib/semantic.min.css" />
    <link rel="stylesheet" href="lib/semantic-icon.css" />
    <link rel="stylesheet" href="./app.css" />
  </head>
  <body>

    <div class="ui container">
      <h1 class="align center">My Room Conditions <i class="home icon"></i></h1>
      <div class="ui stackable grid">
        <div id="temperature" class="eight wide column" style="width:100%; height:400px;"></div>
        <div id="humidity" class="eight wide column" style="width:100%; height:400px;"></div>
        <div id="pressure" class="eight wide column" style="width:100%; height:400px;"></div>
        <div id="light" class="eight wide column" style="width:100%; height:400px;"></div>
      </div>
    </div>

    <script src="./app.js"></script>
    <script>
      retrieveData().then(data => {
        renderChart(data)
      })
    </script>
  </body>
</html>

JS:

// Initialize Firebase
var config = {
  apiKey: '****',
  authDomain: '***.firebaseapp.com',
  databaseURL: 'https://***.firebaseio.com',
  projectId: '***',
  storageBucket: '***.appspot.com',
  messagingSenderId: '***'
}
firebase.initializeApp(config)
var db = firebase.firestore()
const settings = { timestampsInSnapshots: true }
db.settings(settings)
db.enablePersistence().catch(function(err) {
  if (err.code == 'failed-precondition') {
  } else if (err.code == 'unimplemented') {
  }
  console.error('Failed to enable persistence:', err)
})

window.retrieveData = function() {
  var conditions = db.collection('conditions')
  return conditions
    .orderBy('createdAt', 'desc')
    .limit(300)
    .get()
    .then(querySnapshot => {
      var items = []
      querySnapshot.forEach(doc => {
        items.push(doc.data())
      })
      items = items.map(item => {
        return Object.assign({}, item, {
          temperature: item.temperature - 1.4,
          humidity: item.humidity + 8.2
        })
      })
      return items.reverse()
    })
}

window.renderChart = function(items) {
  const lastItem = items[items.length - 1]

  const basicOptions = {
    time: {
      timezone: 'Asia/Tokyo'
    },
    xAxis: {
      type: 'datetime'
    },

    legend: {
      layout: 'vertical',
      align: 'right',
      verticalAlign: 'middle'
    },

    plotOptions: {
      series: {
        label: {
          connectorAllowed: false
        },
        pointStart: 2010
      }
    },

    responsive: {
      rules: [
        {
          condition: {
            maxWidth: 500
          },
          chartOptions: {
            legend: {
              layout: 'horizontal',
              align: 'center',
              verticalAlign: 'bottom'
            }
          }
        }
      ]
    },

    theme: {
      chart: {
        backgroundColor: {
          linearGradient: { x1: 0, x2: 1, y1: 0, y2: 1 },
          stops: [[0, '#2a2a2b'], [1, '#2a2a2b']]
        }
      }
    }
  }

  Highcharts.theme.chart.backgroundColor = {
    linearGradient: { x1: 0, x2: 1, y1: 0, y2: 1 },
    stops: [[0, '#2a2a2b'], [1, '#2a2a2b']]
  }
  Highcharts.setOptions(Highcharts.theme)

  Highcharts.chart(
    'temperature',
    Object.assign({}, basicOptions, {
      title: {
        useHTML: true,
        text:
          '<i class="thermometer icon"></i> Temperature: ' +
          lastItem.temperature.toString().substr(0, 4) +
          ' ℃'
      },
      yAxis: {
        title: {
          text: '℃'
        }
      },
      series: [
        {
          showInLegend: false,
          name: 'Temperature',
          data: items.map(item => [
            item.createdAt.seconds * 1000,
            item.temperature
          ])
        }
      ]
    })
  )

  Highcharts.chart(
    'humidity',
    Object.assign({}, basicOptions, {
      title: {
        useHTML: true,
        text:
          '<i class="tint icon"></i> Humidity: ' +
          lastItem.humidity.toString().substr(0, 4) +
          ' %rh'
      },
      yAxis: {
        title: {
          text: '%rh'
        }
      },
      series: [
        {
          showInLegend: false,
          name: 'Humidity',
          data: items.map(item => [
            item.createdAt.seconds * 1000,
            item.humidity
          ])
        }
      ]
    })
  )

  Highcharts.chart(
    'pressure',
    Object.assign({}, basicOptions, {
      title: {
        useHTML: true,
        text:
          '<i class="sun icon"></i> Pressure: ' +
          Math.round(lastItem.pressure) +
          ' hPa'
      },
      yAxis: {
        title: {
          text: 'hPa'
        }
      },
      series: [
        {
          showInLegend: false,
          name: 'Pressure',
          data: items.map(item => [
            item.createdAt.seconds * 1000,
            item.pressure
          ])
        }
      ]
    })
  )

  Highcharts.chart(
    'light',
    Object.assign({}, basicOptions, {
      title: {
        useHTML: true,
        text: '<i class="lightbulb icon"></i> Light: ' + lastItem.light + ' lux'
      },
      yAxis: {
        title: {
          text: 'Lux'
        }
      },
      series: [
        {
          showInLegend: false,
          name: 'Light',
          data: items.map(item => [item.createdAt.seconds * 1000, item.light])
        }
      ]
    })
  )
}

Future Work

今後はこれらのデータをもとにして、

  • 一日の平均、max、minの表示
  • 体調が良かった日、悪かった日の記録
  • アラート機能 (気圧が低すぎるとか)

などを追加していきたい。

脱ステ脱保湿のアトピー治療でいい感じに治ってきた

f:id:craftzdog:20180820151019j:plain

どうもTAKUYAです。前回のアトピー治療の話からしばらく経ったので近況を報告したいと思う。

前回のあらすじ:

  • 仕事のストレスが原因だと思っていたけどどうやら違う
  • 本を読んで、自分は「ステロイド依存性皮膚症」である事を知る
  • ステロイドが対症療法でしかないどころか、むしろ体の免疫を弱めていることが判明
  • アトピーはそもそも自然に治る病気だから、何もしないのが一番
  • ステロイド・脱保湿の自然療法を始める
  • 薬と保湿をやめたことによって起こるリバウンド症状がとても辛いが、がんばって耐える
  • 藤澤重樹先生の生活指導に従って出来るだけ早く治るように努める

脱ステ脱保湿を始めてから2ヶ月弱が経った。 結論から言うと、辛いリバウンド症状のピークは越えた。 今は徐々に症状が治まりつつある状態。 倦怠感もほとんど無くなり、仕事への集中力も少しずつ戻ってきた。 何より寒気が無くなったので、クーラーの効いた電車や室内にいてもガタガタ震えなくて済むようになったのが嬉しい。

症状の変化の例

症状が悪化しているのか回復しているのかを客観的に評価できるように、数日ごとに各部位の写真を撮って記録した。 その結果、リバウンド症状とはどのように発生してどのように落ち着いていくのかが分かる貴重なデータが取れた。

ここでは顔を例にとって紹介したいと思う。恥ずかしいけど、誰かの参考になれば幸いだ。ちょいグロなので大丈夫な人だけ以下のリンクを開いてほしい。

各写真の下には、脱ステ脱保湿を始めてからの日数が示してある。

  • 6〜8日目: 口の周りがとても荒れて口が開けないほどに痛くなった。ほとんど吸うようにしてご飯を食べていた。
  • 10〜16日目: カサカサになり皮がめくれて白くなる症状が顔全体に広がる。これをフレーク現象という。16日目がピーク。先生は「いい感じだねぇ〜」と仰っていた。そう、これは治るためには必要不可欠な「過程」であり、悪化ではないのだ。見た目はひどいものだが、皮膚は必死に再生しようとしている証拠なのだ。喜ぶべき変化。
  • 18〜28日目: フレークが徐々に減る
  • 〜47日目: 赤みが少しずつおさまる。

そして現在、まだ口の周りに少しフレークが残って、痒みもあるが、プロトピック軟膏などの薬や保湿を一切しなくても肌の状態を保てるようになった。嬉しい。

人によっては腫れたりするみたいだけど自分は幸いそんなことは無かった。

顔は代謝速度が速いからなのか、一番最初に症状が落ち着いた。 まだ他の部位は炎症が残っている。でも滲出液はほぼ出なくなって乾いたし、あとは痒みに耐えつつゆっくり回復を待つのみだと思われる。

リバウンド症状の程度や長さは、ステロイドの強さや処方期間によるとされている。 先生によると、自分は治るのが結構早いらしい。 確かに、ネットの脱ステ体験ブログなどを読んでみると、ピークを越えるのに最低3ヶ月は要している。 おそらく、以降で書く生活改善施策を徹底してやったからだと思う。 ただ脱ステ脱保湿を闇雲にやっているだけでは、時間を無為に過ごすことになるから注意が必要。

リバウンド症状で自分のステロイドホルモンを蘇らせる

ここで、なぜリバウンド症状が起こるのか説明しておきたい。

ステロイドとはホルモンの一種で副腎または表皮細胞から分泌されるもの。 環境の変化に応じて必要な量を適切に分泌して体の免疫や血糖、血圧などのバランスを保っている。 ステロイド剤を皮膚に塗ると体内に吸収されて一ヶ月かけて体から抜けていく。毎日塗っていると常に体内にステロイド剤が体の中に溜まることになる。 すると、自分の本来のステロイドホルモンがさぼってしまって、自己調節力が衰える。

このような状態でステロイド剤をやめると、ステロイド剤が一ヶ月かけて徐々に抜けていく一方で、ホルモンの自己調節力が弱っているので当分の間ステロイド不足が続く。 それがリバウンド症状を引き起こす。

ステロイドホルモンはその状態の「間違い」に気づき、徐々に自己調節力を取り戻していく。 自然療法は、サボってしまったステロイドホルモンの本来の働きを取り戻す療法なのだ。 上記の例で紹介したように、多少時間はかかるものの、自分でステロイドを分泌できるようになったら、外用も内服もする必要はなくなる。

脱保湿も同じ原理で、外から保湿するもんだから本来の保湿能力がサボってしまう。 ただでさえ元から乾燥肌なのに、自分の保湿能力を甘やかすことによって事態をより悪化させているのだ。 こんな話がある。日本は高温多湿なのに対してヨーロッパはカラッとしているので、移住したばかりのころは肌がとても乾燥する。 でも保湿クリームなどに頼らずそのまま過ごしていると、肌が適応して潤ってくるのだという。 自分の本来の保湿能力を取り戻すために脱保湿が重要。

また、保湿することによってリバウンド症状を長引かせてしまう。 痒いけど、出来るだけ皮膚を乾燥させて代謝を促進させる必要がある。 見た目が悪いからといってマスクや手袋などで隠すと反って保湿になってしまうから、何もつけないで堂々と外に出よう。 あなたはあなたのままで充分素晴らしい存在なのだから何も隠す必要はない。

リバウンド症状を乗り越えるための生活習慣

藤澤先生の生活指導は、辛いリバウンド症状をできるだけ軽くして、早く終わらせる効果がある。 もらった資料や指示を要約してここに紹介したい。

糖質制限とケトン体生活で抗炎症化

一日の摂取糖質量を 40g 以下に抑える。かなり厳しめの糖質制限だが、徹底しなければならない。 お米、小麦をはじめ、砂糖、イモ類など糖質の多い食べ物を取り除いていく。 できればスーパーの惣菜などは買わずに自炊する。 おいしく制限するにはMEC食がおすすめ。MEC食とは、ミート・エッグ・チーズを中心とした食生活のことで、渡辺信幸医師が提唱している。 いくつか書籍が出ているのですぐに始められる。

肉食やせ! ―肉、卵、チーズをたっぷり食べるMEC食レシピ111

肉食やせ! ―肉、卵、チーズをたっぷり食べるMEC食レシピ111

なぜ糖質制限が大事なのかというと、糖質を取ることによる血糖値スパイクが炎症を引き起こすからだ。 つまり、糖質を摂ると血糖値が急激に上がり、それを抑えるために膵臓からインシュリンが過剰分泌される。 すると体内に大量に活性酸素(細菌感染などによって起こる炎症やアレルギー性炎症反応を促進する酸化力のある酸素)が産生されて、様々な血管へのダメージを与える。 糖質制限によってこの血糖値スパイクによる活性酸素の産生を軽減させる。

人の主なエネルギー源は糖だけではなく、脂質由来のケトン体というものがある。 例えば赤ちゃんはケトン体を主なエネルギー源として生きている。 人類が農耕を始める以前、狩猟採集をしていた時代はこのケトン体を主なエネルギーとして生きてきたと言われている。 ケトン体は、ブドウ糖と同じく血液脳関門を通過して、副作用や毒性がなく、抗炎症、抗老化、抗糖化、抗酸化、抗がん化作用がある。 心筋や神経が保護され、抗不安作用で精神が安定する。

ケトン体についての詳しい話は以下の書籍で学ぶことが出来る。

糖質制限によって体内のケトン体を増やして、活性酸素を減らして抗炎症作用を享受する。 これが辛いリバウンド症状を和らげてくれるというわけだ。

糖質制限(ケトン体効果)をナメてはいけない。 別の患者さんの話で、いい感じに症状が抑えられてきた時に、間違えて甘栗を大量に食べてしまったらしい。 すると数日後に症状がぶり返して、大変なことになったそうだ。 それぐらい効果がでかい。

運動!運動!運動!

汗をかいてとにかく新陳代謝を上げる。 ただでさえ運動不足で鈍った体を鍛えて、基礎代謝を上げる。 そうすれば皮膚の新陳代謝スピードも上がり、回復が早まる。

自分は出来る限り毎日6キロジョギングして、3キロウォーキングしている。 雨で外に出られない時は、座布団の上で足踏みを30分間している。 EDMとか適当に流しながらやるとテンションが上がって続けやすい。

アスリートにアトピー無し

体をあまり洗わない

毎日お風呂に入り、体をゴシゴシ洗うのは良くない。 身体を守ってくれる常在細菌を洗い流してしまうからだ。 ただでさえ乾燥肌なアトピー患者は、そもそも汗をかいたってすぐに乾いてサラサラになるし、別に臭ったりもしない。汚れにくい体質なのだ。 自分の汗・垢・皮脂をもっと大切にして、皮膚バリアを保つ必要がある。

チベットの人は一ヶ月に一度しか風呂に入らないが、アトピーはゼロだそうだ。 毎日風呂に入らなければならないというのは、ただの先入観にすぎない。

先生はタモリ式入浴法を推奨している:

この入浴法は、ただ湯船にぬるめのお湯をためて10分間半身浴するだけ、というもの。 それだけで汚れの80%は取れるとタモリ氏は言っていて、医学的にも理にかなっていると評価されているらしい。

自分は結局症状がひどい時は一切風呂に入らずに過ごした。 流石にジョギングで汗をかいて気持ち悪いと感じた時はシャワーでサッと流すだけにとどめた。 それだけで十分スッキリしたし、体臭も気にならなかった。

とにかく自分の皮膚バリアを取り戻すことに集中することが大事。

自律神経を整える

イライラしたり焦ったり緊張したり、何かしらストレスを感じると痒くなる経験がある人は多いだろう。 これは、ストレスを感じると自律神経の交感神経が優位に傾くため。 自律神経が体に及ぼす影響はとても大きく、現代人は何かと交感神経に過剰に傾きすぎる傾向がある。 それがどのように痒みにつながるかというと、次の通り。

白血球は、血液中をめぐって異物から体を守っているが、細かく分類すると 顆粒球、リンパ球、マクロファージの3つの免疫細胞がある。 このうち、顆粒球は異物を取り込み、みずからが持つ分解酵素活性酸素によって処理する。 顆粒球の数と体内に侵入してくる細菌のバランスがいいときは何も問題はないが、あまり細菌がないのに、交感神経が過剰に優位になることで顆粒球が増えすぎてしまうと、健康維持に必要な常在菌まで殺してしまい、かえって免疫力を下げることになる。 また、使われない顆粒球が残ってしまうことも問題。 顆粒球の寿命は二~三日と短いうえ、顆粒球は死ぬときに、持っていた「活性酸素」をばらまいて細胞を傷つけてしまうから。

以上の理由から、交感神経と副交感神経のバランスを保つことが大事。 その最も効果的な方法は、焦らずおちついて「ゆっくり動作」を心がけること。 時間にも余裕を持って行動して、食事はゆっくりよく噛んで摂る。 呼吸は深くゆっくりと。猫背をやめて姿勢を正すだけで胸が開いて呼吸が深くなる。 そして早寝早起きのリズムを保つ。

自律神経に関する体への影響や、どうすれば副交感神経を優位に保てるかは、小林弘幸氏の以下の書籍が参考になった:

なぜ、「これ」は健康にいいのか?

なぜ、「これ」は健康にいいのか?

普通に健康になるという事

リバウンド症状はとにかく辛い。生きた心地がしない。 孤独だし、周りの理解やサポートが必要。

  • 強い倦怠感の中、立ち上がってスーパーに買物に行くことができたなら、最大限に自分を褒めてやろう。
  • 汗をかくと体中が痒くなるけど、ジョギングに行けたら、「おつかれ自分!」と労ってやろう。
  • フレークが発生したら「自分の体が治ろうとしている!」と前向きにとらえて、フレークが収まってきたら「自分の体すごい!」と褒めてやろう。

痒みは大人であっても我慢できるものではない。藤澤先生は掻くなと言わない。 何度も掻き壊してしまっても、皮膚は不思議と徐々に強くなっていく。

そうやって少しずつ変化する体と向き合っていくうちに、ピークは乗り越えられる。

自分もまだ普通の生活が送れるようになった訳ではないけど、ゴールが見えてきたのでかなり気が楽になった。 久々に母親と電話したら、「あんた、明るくなったな」と言われた。 たぶん毎日運動しているお陰だと思う。 7kgも痩せて体脂肪率は5%。もともと痩せ型だったので、学生時代の体型に戻った。 この治療を通じて、アトピーだけでなく精神も肉体も健康に生まれ変わっているのを感じている。

夜ぐっすり寝て、朝ちゃんと起きられる事。 そんな普通の健康な生活が、当たり前じゃないという事。 俺は取り戻すぞ。

アトピー治療に専念している

ひじょーに個人的な内容。 持病のアトピー完治に向けて、脱ステロイド・脱保湿の自然療法に挑戦していて、今日で35日目。 徐々にだけどリバウンド症状を乗り越えて回復しつつある。

ステロイドが悪夢の根源

以前、30連休を宣言して取った:

blog.craftz.dog

この休みの裏目的は、持病のアトピー性皮膚炎を完治させることだった。

徐々に悪化傾向にあること、少し追い込みをかけると容易に悪化すること、強い薬を処方されていること、その薬を塗る負担、通院の負担、全てがもう我慢出来ないレベルに達しようとしていた。

それまで、自分のアトピーの主な原因は「仕事のストレス」なんじゃないかと思い込んできた。

もともと中学生ぐらいから顔が赤く腫れて痒い症状はあった。 でも全身に渡って湿疹が出来たのは、8年前に就職して上京してしばらく経った時が初めてだった。 そして近所の皮膚科に行って、ステロイドを出してもらい、一旦は落ち着くものの、外用を中止するとまたぶり返すということが起きるようになった。 それからはずっとステロイドが手放せなくなり、症状は徐々に徐々に悪化して薬の強度も増していくことになるのだった。 いくら塗っても治らない。焦りと不安を感じた。しまいには飲み薬の最強級ステロイドまで出されるようになった。 通院先の先生も「ストレスですね。仕事を休めば治りますよ」と言っていた。

30連休では、とにかくストレスを取り除くことに努めた。 色んな本を読んでは試して、一定の効果が得られた(これはまた別でネタにしたい)。 そうしてリラックスした日々を送れていたはずなのだけど、肝心のアトピーの症状は一向に良くならないではないか。 20日目ぐらいを迎えたあたりで、自分は本質的になにか間違えているんじゃないかと思い始めて、いろいろアトピーの治療法について調べ始めた。 すると色々と驚愕なことがわかった。 以下の書籍が特に参考になった:

9割の医者が知らない 正しいアトピーの治し方

9割の医者が知らない 正しいアトピーの治し方

これによれば自分のような成人型アトピーの正体は、「ステロイド依存性皮膚症」ということだ。

ステロイド依存性皮膚症は、ステロイドがあって初めて皮膚がまがりなりにも機能するが、それがなければ普通には機能できない状態 - 阪南中央病院皮膚科部長 佐藤 健二 医師

自分はステロイドを長期間塗布してきたことによって、皮膚のバリア機能が弱まり、その結果炎症に悩まされてきたのだった。本末転倒だ。 詳しい原理的な説明は同書籍に譲るとして、いかにステロイドが意味のない対処であるかが読めば分かる。

ステロイド・脱保湿に踏み切る

ステロイドがダメならどうすれば良いかというと、答えは「何もしない」だった。 アトピーというのは本来、自然治癒するものなのだ。 だから何も薬を塗らないし、保湿もしない。 そして体が本来持っている免疫力やバリア機能を取り戻して、炎症を少しずつ治していく。

ただし、長期間ステロイドを使い続けた人が突然中止すると、激烈に皮膚症状が悪化するリバウンド症状が待っている。 これが成人アトピー患者が乗り越えなければならない最も大きな試練。 肌がゾンビ化するし、正気を失うレベルの痒さだし、辛すぎて挫折する人も一定数いる。 とても忍耐と根性の要る治療法だ。

今後ステロイドには希望が微塵も見えないので、ここは覚悟を決めて脱ステロイド・脱保湿に挑戦することに決めた。 これが 6月28日 のことだった。

藤澤重樹先生の病院に通う

実はさっきの書籍の著者・藤澤重樹 先生のやっておられる藤澤皮膚科は練馬区大泉学園前にある。 なんという幸運…電車で4,50分で行ける距離にあった。 中には名古屋など遠方から通っている人もいるという。 さっそく診察を受けてみることにした。

予約制ではないので待ち時間がすごかった。

一連の事情を説明すると開口一番、「うーん、(脱ステ始めるのが)遅い!」と一喝された。笑

前の医者は薬を出すことしか考えてくれなかった事などいろいろ悩みを打ち明け、話を聞いてもらった。

そして、リバウンド症状を最小限に抑えつつ出来るだけ短期間で終わらせるための生活習慣の指導を受けた。 意外だったのは、糖質制限すること。糖質が炎症の大きな原因になっているらしい。 ブドウ糖ではなくケトン体を主なエネルギー源として生活していくことになる。 そして毎日運動して新陳代謝を上げること。

話の最中にいろいろプリントを渡された。口頭での説明を省くための資料のようだ。 この病院はインフォームド・コンセントを掲げているので、その一環なのだろう。 資料はとてもわかり易く、たまに読み返している。

動けない日々をなんとか乗り越えた

この一ヶ月は生きた心地がしなかった。まだ終わってないが。

徐々に悪化する症状。

顔が今まで見たこともないようなゾンビみたいになるし。

体液が滲み出て汚いし。

自律神経が一時的に狂うので、強い倦怠感と寒気に襲われる。

立ち上がると貧血症状が起こったり。

それでも生活するためにスーパーへ出かけて食材を買う。 他人に怪訝な目で見られても無視だ。 気にする必要はない。 俺は今必死で生きている。

毎日ジョギングを 3〜6 km。 ウォーキングを更に3 km。

糖質制限と毎日の運動で、体重と体脂肪率が以下のように激減した:

  • 体重: 62.2kg → 56.2kg (-6kg)
  • 体脂肪率: 12.9% → 5.2% (-7.7%)

腹の肉が全く無くなった。

f:id:craftzdog:20180803151849j:plain

そんな中、アプリの更新も一度だけ出来たし、ブログも一本書けた。

今回は仕事は休まない。むしろ、動けそうなら作業をする。その方が気も紛れていい。

自炊をがんばる

糖質制限はまじで効果がある。でも惣菜や加工品はたいてい砂糖が入っているから避けなければならない。だから自炊をがんばることになる。

以下のレシピ本がとても参考になった:

ケトン体でやせる&健康になる!味付け冷凍ストック・レシピ。 (マガジンハウスムック)

ケトン体でやせる&健康になる!味付け冷凍ストック・レシピ。 (マガジンハウスムック)

肉や魚にあらかじめ下味をつけて冷凍保存しておく手法は目からウロコだった。

実際に作ったご飯:

f:id:craftzdog:20180803152438j:plain

豆腐チャンプルー

f:id:craftzdog:20180803152456j:plain

シーザーサラダ (油揚げをトースターでカリカリに焼くことでクルトンの代用にするアイデアは脱帽もの)

f:id:craftzdog:20180803152617j:plain

BLTエッグ

こんな感じで、おいしく糖質制限が出来ている。まぁ、料理がちょい手間だけど治療のためだから文句言ってられない。

これらはここ数日つくったもの。だいぶ倦怠感が減ってきたかもしれない。

アトピーが治ったらまじで生産性が二倍になる

薬を塗る時間、通院の手間が今後なくなることを考えると、相当な無駄が省ける。 薬なしでも生活できるから、気軽に長期の旅行にも出られるようになる。

そうなった時の自分には、おそらくこれまでとは全く違う世界が広がっていると思う。 たったの数ヶ月我慢するだけで、文字通り人生が変わる。 こんなコスパのいい投資は無い。 だからやりきりたいと思う。

先生によればあと一ヶ月ぐらいでリバウンド症状は治まるだろうとのこと。 「信じます!」と言うと、先生は「信じるっつても、勝手に治るもんだからねぇ〜」と苦笑していた。 なんとも人を前向きにさせてくれる人柄の先生だなと思った。