僕とコードとブルーハワイ

omega (@equal_001) の日記

本がうまく読めなくなった。原因と対策

この記事は実験的に、
わざと段落をつけたり文章を細かく区切って書いてます。



Twitterで本が上手く読めなくなったことを書いたら、どういうことかと数人から問われました。
この記事は、文章が上手く読めなくなった人/それがどういうことなのか知りたい人 が
何か参考になればと私の事例を書いたものです。

本が読めなくなった。

一年半前にとあることがきっかけで私は心身ともに不調をきたし、一ヶ月ほど休養をとり回復しました。
でも後遺症が残りました。
その一つが、本がうまく読めなくなったこと。

本が読めないとはどういうことか


前までは、
本を手に取り、目次をみて、文字を順に追って頭の中で意味を取りながら読み進める。
これが普通にできてました。

でも今は、
本を手に取り、目次をみて、内容が頭に入ってこず何度も同じところを読み返す。
そして疲れて、本を閉じる。

似た経験をした人は「頭にモヤが掛かったようだ」と表現します。私もそう感じます。
文字が浮く/文字がすべる/文字に目移りする という表現をする人もいます。
文字は認識できるし意味もわかるけど、頭に入ってこない。

今もこの症状に苦しめられています。

原因

記事を頑張って読んだり、専門家に相談したところ、
一言で言うと「集中力が大幅に欠如したため」だそうです。
詳細を書くと、脳内の各機能を繋げる情報伝達物質が減少しているみたいな話になるけど、長くなるので割愛。

読書は、
文字を認識しつつ/文字と文字の意味を繋ぎ/一つの意味のある文として解釈する

これをリアルタイムでやるのですが、活動が抑えられた脳にとっては負荷が高い処理なんです。
人が情報伝達ツールとして文字をこれほど使い始めたのは比較的最近のことで、
脳が文字を認識するためには、音声を認識するよりも複雑な処理が必要とのことです。


文字を読むときの脳の動きについては、以下の本が参考になります。
当たり前のようにできている「読む行為」がどうしてできないのか、少し理解できると思います。

プルーストとイカ―読書は脳をどのように変えるのか?
本を読むときに何が起きているのか  ことばとビジュアルの間、目と頭の間

読むのは厳しいかもしれないけど、私は「音読」してなんとか7割は頭に入れられました。


本を読むために。

読書が好きだったので諦めきれず、なんとか以前のスピードで読める方法を探していました。
実は本だけではなく、ドキュメントや記事もうまく読めなくなっていました。
そこで、自分がどういう常態か観察することにしました。

自分を観察する

この一年半、 自分ができていること|できなくなったこと を観察しメモしてました。
それをまとめたのが以下のリストです。

※ 文字の羅列なので、文字が上手く読めなくなった人には読みづらい可能性があります。


できていること

  • 使い慣れたプログラミング言語で書かれたコードを読む
  • 自分が書いたコードや文章を読む
  • 説明の短いドキュメントを読む
  • 図解が付属の文章を読む
  • 漫画を読む(文字が多い系は厳しい)
  • チャットやツイッター等の文短く完結している文章を読む
  • テンポよく物事を解説している動画を観る・聴く


できなくなったこと

  • 一つのトピックについての長文を流れるように読む
  • 新聞のように一枚紙に文字がぎっしり詰まった媒体の文字を読む
  • 自分にとって最適でない大きさの文字で書かれた本を読む(大きすぎたら1つの文章が視界に入るよう目から離して読みます)
  • 意味のまとまりが曖昧な切り方してる間の悪い文章を読む(下手な文章に気を使えなくなった)
  • 文章を淡々と朗読しただけのものを聴き続ける

傾向をみてみる

上記の振り分けから、いくつか傾向が見えてきました。

① 前提知識があるものはあまり苦なく読める

プログラミング言語/過去学んだ分野の記事はあまり苦なく読めます。
おそらく、「記述方式や文章のパターン」が脳に入っているからではと考えています。
パターンがあることで、脳内処理の負荷がさがっているように感じます。

② 絵や図解が多いと読める

目で見てパッと全体や言いたいことがわかると、理解がかなり楽になります。
漫画もそうです。
文字を意味のある事象として脳内で構築することは、やっぱり負荷が高いのだと感じます。

③ 短い文章は読める(300文字くらいの塊)

「小さく意味が区切られた文章の集まり」だと読めると気づきました。
オチが250文字の短さで区切られているから、ツイッターの短編小説系は読める。
長文さえこなければチャットメッセージも読める。

④ 音読すると読める

音読すればまだ読めると気付いた時、感動して嬉しくてひとり泣いた記憶があります。
・発話することで文章に注意を引き付けていられる
・脳は最終的に音で認識している
この二点が上手く作用していると考えています。

対策をする

私の傾向から、本の内容を頭に入れるために以下の工夫をしています。

  • まずは普通に読んでみて、駄目だったら音読する
  • なるべく図解の多い本を選ぶ
  • 本は内容が連続的に続いてるが「自由に区切って読んでも問題ない」と自分に言い聞かせる


特に音読は一番効果がありました。
私の場合、発話した時に頭に入ってこなくても、音が頭に残っているのでそこから時間差で理解をしていました(うまく説明できない)。

また、何となく読めるけど意味の解釈に時間がかかる場合は、図を描くようにしています。
文字を読み直して脳内で考えるのではなく、図上で考えるようにします。

もしやったことなかったら試してみてください。楽になるかもしれません。

おわりに

色々対策した結果、なんとか読書はできています。
でも、一日一冊読めていたあの頃と比べると不自由さを感じます。

上記は私の事例です。
人によって 自分ができていること|できなくなったこと の傾向が違います。
こんなケースもあるくらいで、参考にして下さい。

同じく本がうまく読めなくなった人へ

まずは専門家に相談して下さい。
科学的に自分の状態を知ることで、一人でもある程度は対策が取れるようになります。

時間がかかっても大丈夫です、生きていけます。
自身をじっくり観察し、自分にあった方法を見つけて下さい。

本がうまく読めなくなったことがどういうことか知りたくてたどり着いた人へ

自分が陥ったことない感覚が書かれていたと思います。
擬似体験をしたいのであれば、イライラしているしめちゃくちゃ頭を使ってもう何も考えられない!何しても気が散る!という状態で自分の苦手な分野の小難しい本を読んでみて下さい。
全然頭に入ってこなくてもどかしくて文章と向き合うことに疲れてきます。そういう感覚が毎回来る感じです。

どうして知りたくなったのかわかりませんが、
もし周りに困っている人がいて何かしたいと思っているのであれば、まずは相手との距離感を考えつつフォローしてあげて下さい。
軽い友達だったら「勉強方法に悩んでるの?そういえば教科書を音読して覚える方法もあるんだってよー」くらいで良いかもしれません。
親密な関係であれば、相手と傾向を分析し、対策を考えてあげると良いかもしれません。
これは時間がかかる問題なので、無理にやり方を押し付けず、ゆっくり見守ってあげて下さい。

なんとなくこの記事にたどりついた人

もし周囲に自分と違った読み方をしている人がいて、読むのが遅いな、変だなと感じいていても、そっとしておいてあげてください。
その人はそういうスタイルで読んでいるんです。
世の中は広く、様々な人がいます。何でもかんでも万能にできる人っていないです。そういう人もいるんだなーって思ってください。

メンタルコントロール (2019/04/03現在)

最初からできていたわけではなく、少しずつ学んでいった結果それなりにできるようになってきたこと集。
ふと忘れて深淵に潜ることもあるので、忘却録として書いておく。随時更新。

メンタルを平静に保つためにしていること・考え方

他人を「信頼」するが「期待」はしない。

信頼とは、相手を信じて任せること。
期待とは、相手の行動を当てにし、待つこと。

相手が期待した結果を取らないとイライラするのは自分勝手。自分の感情ですらうまく扱えないのだから、他人をコントロールするなんて不可能だと気付くこと。

「嫌だ」という感情を言語化する。

何がどうして嫌だと感じるのか、自分に対して説明できないと嫌なことへの対処のしようがない。また同様の嫌が発生した時に冷静に対処できるようにすること。

こころの安全基地を複数持っておく。

「こころの安全基地」はパートナーや家族に限らず、友だちでも職場の同僚でも、SNSの仲間でもいいのです。素の自分をさらけ出し、「情けない自分」「ダメな自分」をグチれる関係。いつでもなぐさめあえ、応援しあえる仲間。いざというときには助け合える間柄。そんな信頼しあえる人たちに出会えたら、「こころの安全基地」として育て、長く大切にしていきましょう。
ただし、「こころの安全基地」は一つに限定しないことです。家族、恋人、親友など、付き合いが一つの関係だけに集中してしまうと、その関係は途端に息苦しいものになり、摩擦や嫉妬も生まれかねません。そこにトラブルが起こると、ストレスを解消する手段をなくしてしまいます。

[引用: 「こころの安全基地」を持つ人がストレスに強いわけ [ストレス] All About]

私は職場、SNS仲間、エンジニアコミュニティの仲間等を心の安全基地にしている。
「いつ覗いてもその場にいる人達の9割が平静」な環境を基地にしている事が多い。

悩むのではなく考え、どうにもならないことは考えない。

悩むとは、決めかねたり解決の方法が見いだせなかったりして、心を痛める。思いわずらう。
考えるとは、知識や経験などに基づいて、筋道を立てて頭を働かせること。
引用 悩む(なやむ)の意味 - goo国語辞書, 考える/勘える(かんがえる)の意味 - goo国語辞書


一人で悶々と悩んで結局問題は解決せずそのまま、なんてことになれば考えた分だけ時間を無駄にしているし、余計にストレスが増えるだけ。
世の中一人で考えただけじゃどうにもならないことがある。そんなことより、変えられる未来について頭を使うこと。

運動をする。

程よい疲れは、心地よい睡眠と規則的な食事生活を作る基礎になると身をもって学んだ。

ホットヨガをはじめてから疲れづらくなり、定期的にリフレッシュすることで気力を保てるようになった。
腰痛・肩こり・頭痛が緩和され、集中力が持続するようになった。
そして何より、かなりポジティブになった。

人と会話する。

私の場合、一人でいるほうが落ち着くと思っていたがそれは大きな間違いで、人と会話しないとどんどん視野が狭くなり思いつめて心が死んでいくという性質を持っている。他の人はどうかわからない。

なので、なるべく外に出て人と関わるようにした。
色んな人と会話すると沢山の価値観を交換できたし、自由の本当の意味を理解できたし、もっと広く考えても良かったのだ、と肩の力が抜けた。

転職

しました。

転職先

2019年2月1日から株式会社プレイドに所属しています。

plaid.co.jp

何をするのか

職種

プレイドにはざっくりした肩書きしか無いんですが、しいて言えば「プリセールスエンジニア」です。

よくわからない人は以下の記事を読むと大体何する仕事なのかわかると思います。
プリセールスエンジニアこそ人類最強のエンジニア - Qiita

よく勘違いされますが、完全に技術への学びを捨てる職ではありません。
むしろ今後ずっと技術とビジネスの両方への理解を求められます。
正直めちゃくちゃ大変です。

やること

主な仕事は以下の2つです。

  • 自社プロダクトであるKarteの機能開発
  • Karteの技術的な専門家として顧客の課題解決を促し、サポートする

弊社はDev/Bizの境界線が曖昧なので、これ以外にもたぶん色々やります。
もしKarteが気になるという方がいたら、是非お話を聴かせて下さい : )

転職理由

学生の時から、将来は技術を使って顧客のビジネスに直接貢献しやすい仕事(ITコンサルやセールスエンジニアなど)をしたいと思っていました。
そろそろキャリアチェンジする頃かなぁと考えていたところ、プレイドがプリセールスエンジニア的な動きをする人を探しているという話が入り、面接を経て入社を決めました。


ということで、ようやくスタート切れたという感じ。
やっていくぞい。

2018 -> 2019

振り返り。

その前に、2018(後半)

Android開発で学ぶKotlin

> 社のAndroid開発に小さなPRを投げてmergeできるくらいになったら達成でいいかな
とか大層なことを書いてましたが, 担当プロダクトが増えて余裕なくなり, 1つもPR投げれませんでした.
残念無念.

Real World HTTPを業務で使えるレベルまで理解する

> 書かれた内容が8割くらい理解できて人に説明できるくらいならまぁ達成でもいいかな
一通り読んだけど, 自身持って説明できるようになったの4割くらいかなぁ.
社のセッション管理がちょっと複雑なので, セッション周りは結構読み込んだし強くなった.

Golang リモートペアプロ

> 友人とやろうぜという話になったのでやってみる
お流れになったのでやってないです. 個人的には仕事などで触りました.
Goを使った開発のノウハウが少し溜まったかな.

2018年 総評

60/100点
2017年のアウトプット目標を達成したのでこのくらいの点数.
他にプラス点になることは思いつかないので, 今回は60点.

  • カンファレンスで2回以上登壇する(そのうち1つは海外+英語で)
    • PyCon ThailandとPlone Conf Tokyo
  • 技術系イベントでTAを2回以上やる
  • やったことない言語を触ってモノを作ってみる
    • Kotlin



2018年やったこと・学んだこととか

技術的なこと

  • KotlinでAndroid開発を少しやった. Javaが少し読めるようになった
  • Vue.jsを業務で少しやった
  • 開発環境改善のためのbot開発, ツールの導入
  • (大雑把だけど)ネットワークの勉強した. ここのサイトさんにかなりお世話になった
  • インフラ勉強の一環で障害ポイントの特定方法やパケット監視の方法を学んだ
  • GoでAPI開発の仕事をした

趣味的なこと

  • 魚の捌き方・盛り付け方を学んだ
  • 簡単な曲ならギター演奏出来るようになった
  • スノボでこのは(裏表)と裏->表のターンできるようになった
  • ロジカルシンキング本を数冊読み問題解決力を強化

今年はあまり技術的な方面で活動してなかったのでこのくらい.
2ヶ月に1回の頻度で旅行してたのでQOLは割と高かった.

2019

2019年(前半)でやること・やりたいこと

  • Vue.jsの思想を理解し, 実務で使えるレベルになること
    • 仕事でガッツリ使う
  • Node.jsを実務で使えるレベルになること
    • 仕事でガッツリ使う
  • ビジネス側の知見を身につけ, 技術的観点から営業をサポートできるようになること
    • 営業さんと仕事することが増える


Python/Djangoは慣れてきたから引き続き知見溜めをやっていくとして,
前半で挑戦することはこのくらい.

なんだか全体的に目標がふわっとしている.
どこまでやれば完璧みたいな基準ってあんまり無いからなぁ.


  • 旅行たくさんする
  • おいしいご飯食べる
  • 大切な人たちを大事にする

今年も静かに知識を深めていこう。

Lynis - セキュリティハードニングツールを使ってみる

Lynisとは

セキュリティハードニングツールの一つ. Linuxだけしか使えないと思ったらmacOSWindowsにも対応していた.
今回はLynisを使ってみた作業ログを書き残す.

環境: dockerで立てたdebianサーバ (versionなどは下の方に載っけてある)

Lynis install

特に難しいことはなく, apt-getで入れることができた.

root@edbc62cbef6a:/app# apt-get install lynis
root@edbc62cbef6a:/app# lynis --version
1.6.3

lynisでセキュリティチェックしてみる

lynis --check-all と -quickがあった.
最初なので --check-all で一つずつ確かめてみていった. -quickにすると、Enter入力しなくても勝手に結果が標準出力される.
項目が多いので最初と結果だけ. 最新を入れたかったけどこのosのversionだと1.6.3しか入らないようだ.

[+] Initializing program
------------------------------------
  - Detecting OS...                                           [ DONE ]
  - Clearing log file (/var/log/lynis.log)...                 [ DONE ]

  ---------------------------------------------------
  Program version:           1.6.3
  Operating system:          Linux
  Operating system name:     Debian
  Operating system version:  8.11
  Kernel version:            4.9.93
  Hardware platform:         x86_64
  Virtual machine:           Unknown
  Hostname:                  edbc62cbef6a
  Auditor:                   [Unknown]
  Profile:                   /etc/lynis/default.prf
  Log file:                  /var/log/lynis.log
  Report file:               /var/log/lynis-report.dat
  Report version:            1.0
  Plugin directory:          /etc/lynis/plugins
  ---------------------------------------------------

項目が多いので最初と結果だけ. Warningsが3つあった.
今回は一番上の syslog daemon が無いというWarningをやっつけてみる.

  -[ Lynis 1.6.3 Results ]-

  Warnings:
  ----------------------------
  - No syslog daemon found [LOGG-2130]
      https://cisofy.com/controls/LOGG-2130/

  - No swap partion found in /etc/fstab [FILE-6332]
      http://cisofy.com/controls/FILE-6332/

  - klogd is not running, which could lead to missing kernel messages in log files [LOGG-2138]
      http://cisofy.com/controls/LOGG-2138/


  Follow-up:
  ----------------------------
  - Check the logfile (less /var/log/lynis.log)
  - Read security controls texts (http://cisofy.com)
  - Use --upload to upload data (Lynis Enterprise users)

セキュリティの問題を解決してみる

基本手順

基本的には, var/log/lynis.log/var/log/lynis-report.dat を見てsuggestされたアクションを取っていく.

早速 /var/log/lynis-report.dat をLOGG-2130でgrepしてみると, suggestion項目 に syslogdを起動しろという内容が書いてあった. その通りのアクションを取っていくことにする.

  Check if any syslog daemon is running and correctly configured [LOGG-2130]
    https://cisofy.com/controls/LOGG-2130/

例) syslogdを導入する

調べたらそもそもsyslogdが入っていなかった. なので, syslogdをinstallするところからのスタート.

syslogdでinstallしてみたらinetutils-syslogdがサジェストされた.
これはDeianのsyslogd packageの名前だった.
Debian -- sid の inetutils-syslogd パッケージに関する詳細

root@edbc62cbef6a:/app# apt-get install syslogd
 : 
Package syslogd is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  inetutils-syslogd

install後, 無事にsyslogdが入った.

root@edbc62cbef6a:/app# apt-get install inetutils-syslogd
Reading package lists... Done
Building dependency tree
:
Processing triggers for systemd (215-17+deb8u7) ...

root@edbc62cbef6a:/app# which inetutils-syslogd
root@edbc62cbef6a:/app# which syslogd
/usr/sbin/syslogd
# 実行
root@edbc62cbef6a:/app# /usr/sbin/syslogd
# 起動した
root@edbc62cbef6a:/app# ps aux | grep syslogd | grep -v grep
root     32308  0.0  0.0   8440  1828 ?        S    17:45   0:00 /usr/sbin/syslogd

syslogd導入前のlogディレクト

root@edbc62cbef6a:/app# ls /var/log
alternatives.log  apt  btmp  dmesg  dpkg.log  faillog  fontconfig.log  fsck  lastlog  lynis-report.dat	lynis.log  wtmp

syslogd導入後のlogディレクトリ. log fileが色々増えている.

root@edbc62cbef6a:/app# ls /var/log
alternatives.log  auth.log  daemon.log	dmesg	  faillog	  fsck	    lastlog  lynis-report.dat  mail.err   mail.log   messages  syslog	 uucp.log
apt		  btmp	    debug	dpkg.log  fontconfig.log  kern.log  lpr.log  lynis.log	       mail.info  mail.warn  news      user.log  wtmp

もう一度セキュリティチェックをする

今回は --quick で実行する.
Warningが減っていた. どうやらセキュリティハードニングの第一歩を踏み出せたらしい.

  -[ Lynis 1.6.3 Results ]-

  Warnings:
  ----------------------------
  - No swap partion found in /etc/fstab [FILE-6332]
      http://cisofy.com/controls/FILE-6332/

  - klogd is not running, which could lead to missing kernel messages in log files [LOGG-2138]
      http://cisofy.com/controls/LOGG-2138/

感想

  • 結果が見やすい. 項目ごとにチェックした結果を表示してくれる.
  • Suggestionsを出してくれるのがありがたい. 解決の糸口を一つでも提示してもらえるだけでも調べる時間が短縮されて助かる.
  • 無料枠でもそれなりに使えそうではあった.
  • セキュリティとかOSについて詳しくないとWarningsに出てくる項目の脅威度がいまいちわからない. そういう場合はLynis Enterprise Suiteでサポート受けるとかになりそう.

Plone Conf 2018 Tokyo

I participated in Plone Conf 2018 Tokyo only Python Web Day, and I talked about GeoDjango.
I showed an overview and some main usage about GeoDjango during the talk.
See the slides from the talk below.

www.slideshare.net

Python boot camp Kyoto にTAとして参加してきたよ

TAしてきました

pyconjp.connpass.com

Python boot campって何?

Python Boot Camp(初心者向けPythonチュートリアル) — PyCon JP に書いてあります.

抜粋:

Pythonの普及のため、一般社団法人PyCon JPは日本各地での初心者向けPythonチュートリアルイベントです。

Python Boot Campの目的

  • 日本各地でのPythonを盛りあげたい
  • 各地のPythonistaとの連携強化
  • ゆくゆくは地域PyConの実施

これまで東京でしか開催できていなかったチュートリアルを日本各地で開催することが目的です。

直近では, 9/8(土)に山形, 9/28(土)に沖縄 で開催されます.

参加のキッカケ

京都にいる友人から「PyCamp 京都やるぞ!」と来たので, 「日程調整します!」と即答した.
調整する予定特に無かったので, すぐ新幹線と宿を押さえた. 

PyCamp Kyoto 当日

togetterにまとめがあったのでペタリ. まとめ作成ありがとうございます!
イベントの様子はこちらを見ると良いです.
togetter.com

イベント中に上がった質問

TAしながらだったので全てメモしきれていないけど, できる範囲で残したもの.
スタッフ・TAで他にこんな質問がありましたというのがあればcommentに書いてもらえると嬉しいです.
gist.github.com

感想

今回は質問がとても多かったように感じました. とても良いことだと思います.
積極的に質問をすることで学習効率も高くなるし, こちらもやりがいがあって嬉しいです.


運営スタッフの皆さま, 参加者の皆さま, お疲れ様でした!

余談

ちょうどこの日, アップルストア京都 が 10:00からオープンだったので朝6:30くらいから並んでいた.
積読本を消化したりPyCampの資料読み返したりしていたらすぐに時間が過ぎた.

前日の夜には既に何人か並んでいて, 気合入っているなという感じ.
Twitter観測していたら, 並んでいた何人かが路上で焼き鳥を焼いていたという写真が上がっていた. 自由過ぎる.