沖縄にある動物病院の夜間診療情報をJSONとして提供しています。 #CHNO

TL; DR

https://kimihito.github.io/veterinary-list/emergency_hospitals/2018_7.json

のURLで

公益社団法人 沖縄県獣医師会 に所属する動物病院の夜間診療情報をJSON形式で提供しています。

ソースコード

github.com

にあります。

きっかけ

kimihito.hatenablog.com

に書いたとおり、柴犬を飼いはじめ、もうすぐ一年になります。

その中で夜間に具合が悪くなったときにどの病院が夜間診療をしているか知るのがスマホでは大変だったという経験がありました。

(夜間診療の電話は共通ですが、当日どの病院が当番なのか知るのが面倒だった)

ちょうどそのときに、GitHubでトルコの動物病院リストを取得した

github.com

を見つけて、沖縄獣医師会のサイトを見たところ、定期的に夜間診療の情報を更新していたのでスクレイピングして GitHub Pagesにホスティングしています。

実装

  • Puppeteerを利用

github.com

github.com

Civic Tech Night Okinawa vol.3 に参加した

civic-hack-night-okinawa.connpass.com

Civic Hack Night というイベントは Code for Kanazawa の @ さんがよく connpassで募集している のを知っていました(情報のオープンさを心がけているのは本当にすごいです)、沖縄で開催されているのは知りませんでした。

今回の動物病院の夜間診療の内容はシビックテック向きかな?と思い参加して話してみたんですが、どうも主催の方には社会問題の解決とは遠いものだと感じられた(と僕は受け取りました)ようです。

グループディスカッションは他の方からの意見やアイデアなどはとても実りあるものだったと思います。それだけに早めに切り上げてしまったのはちょっと残念でした。

イベントの内容が非常に満足だったとは言えませんが、こうした場が継続的にあるのは素晴らしいと思いますし、より実りある場にするための貢献は参加者として取り組まければいけないと反省しました。

その他

動物病院情報も上記のGitHub PagesからたどればJSONが取得できるんですが、セレクタの指定が甘く、いくつか綺麗に情報を取得できていない部分があるので修正出来次第ブログに書こうと思います。

国会会議録検索システム検索用APIのRuby gemを作りました

TL;DR

kokkai.ndl.go.jp

Rubyクライアントを作ってみました

github.com

国会での発言が検索できる

国会での発言を検索できるAPIがあるということを このIssueで知りました

最近は自分の一票がどう使われているかをラクに知りたいなというところに関心があるので、使いやすくしたいなぁという気持ちがふんわりありました。

ちょうど一ヶ月ほど休むことになったので、gemにしてみました。

作っている中でAPI側の不具合のようなものも見つけて報告していますが、まだ直っていません。。。

参考にしたGem

特に esa.ioRubyクライアントは、ソースコードを読んだときに「きれいでかっこいい...!!!!」と思ったのでめちゃくちゃ参考にしています。

Twitter gem については、アプリケーションエラーハンドリングをどうしてるんだろうというので twitter/error.rb at 844818cad07ce490ccb9d8542ebb6b4fc7a61cb4 · sferik/twitter · GitHub あたりを参考にしました。

ハマったところ

パラメータのエンコード=& も含めて行わなければならない

この辺の対応については

straitwalk.hatenablog.com

を参考にしました。ありがとうございます 🙏

TravisCI上で ruby-head だとテストが落ちる

ビルド履歴にあるように、 String#splitruby-head で落ちてしまっていました。

非力な僕は特に対処せずに放置しちゃいましたが、最近あったOkinawa.rbで相談してみたところ、TRICKで入選した @ さんから以下のリンクを教えてもらいました。

blog.bigbinary.com

thats_it gem を作った @ さんも含めていろいろ教えてもらったり、フィードバックをもらったりしました。

こういうコミュニティが近くにあってすぐフィードバックをもらえるのはとても有り難いです。また来月もあるので参加しようかなぁ(宣伝)

okinawarb.doorkeeper.jp

okinawarb.doorkeeper.jp

作ったGemについては、まだ不具合もあるかと思うのでフィードバックなどお待ちしております 🙇

#雑Perl でNode.jsのスクリプトを書きました。

connpass.com

に参加しました。

Perlと書いていますがぶっちゃけPerlじゃなくても良いので 適当に集まってプログラミングしていこうぜみたいなノリ

ということで、Perlはまったくわかりませんが参加しました。

やったこと

https://github.com/GoogleChrome/puppeteer を使って銀行口座(ゆうちょダイレクト)の残高を通知するスクリプトを書きました。

puppeteerでゆうちょダイレクトから残高情報をスクレイピングする

普段はRuby on Railsで、特にサーバ側を書くことが多いのでJavaScriptの勉強が出来てよかったです。

async/await, Promise はまだイマイチ理解できていないですが...

本当は定期実行の部分をFirebaseとかそこらで出来るんじゃないかと思ったんですが、結局 Manual Job Approval and Scheduled Workflow Runs - CircleCI を使って定期実行を雑にしています。

感想

@ さんの「クラスとインスタンスがよく分からず、連想配列で十分でないかと思ってしまう」という発言から、Perl5のクラスについての説明が始まったときは面白いなぁと感じました。

勉強会などに行くとどうしても駄弁って相手の時間を奪ってしまうことが多い性分なので、こうしたイベントでしっかりコードを書くことが出来たのは本当に良かったと思います。

運営も低コストを心がけているので,隔週しないかもしれません.

とのことだったので次回がいつになるかわかりませんが、また開催されるときは足を運びたいと思います。

運営の id:anatofuz( @ )さんありがとうございました!

両目が人工レンズになって一ヶ月が経った。

前のエントリ で書こうと思っていた先天性白内障の話です。

6月5日、19日に先天性白内障の手術をし、両目が水晶体から人工レンズになりました。

それからおよそ一ヶ月経って、経過も順調です。

あまり経験した人もいないかな?と思ったので経緯も含めて書き記しておこうと思います。

きっかけ

年明けから急に目が悪くなったと感じ、近く自動車免許の更新もあったことから、4月にメガネを新調しようと眼科に行ったことがきっかけでした。

その場で「あなたは先天的の白内障で、メガネをしても視力は回復しない。治療法は手術のみ」というような主旨の説明をされ、そのまま手術に向けての準備が始まりました。

自分が生まれたときから白内障で、「今見える景色が他の人と違う」というのは驚きでした。

先天性白内障であると診断された理由としては

  • 自分が20代であること
  • 水晶体の濁り方(水晶体中心から外に向けて濁っていた。老化だと外側から濁るらしい)

ということです。

白内障のサイン

  • 光がやけに眩しく見える
  • 極端に見えづらくなる

ということを感じると白内障の疑いがあるようです。

僕自身、

  • 運転中、対向車のライトで目が開けられないほど眩しく感じる
  • エディタのフォントサイズを大きくしないと見えづらい

という心当たりがありました。

手術まで

4月に白内障ということがわかりましたが手術予約が取れず、結果的に2ヶ月後の6月になりました。

まず片目を手術してから経過を見て、合併症のリスクがないのであればもう片方もやるという流れになりました。

手術内容

目に部分麻酔をして汚れている水晶体を削り、削った部分に人工レンズを入れます。

だいたい手術は30分ほどですが、手術前の準備を含めると4時間ほどかかりました。

術後

扁桃腺を取る手術をしたときも思いましたが、術後が一番しんどかったです。

  • 眼帯は術後すぐで翌朝には取れる
  • ただし洗顔、洗髪は3日ダメ。
  • 術後3日は通院
  • 眼底検査のために瞳孔を開く薬を点眼するが、その影響で目が開けられない(運転も禁止)。

費用

360,000円/ 目 でした。

なので僕の場合は720,000円でした。

ただし人工レンズによって費用が変わり、今回ボクは保険適用の単焦点レンズではなく、多焦点レンズを選択しました。

単焦点レンズと多焦点レンズ

水晶体は遠近と見る場所に合わせてピント調整をしますが、人工レンズを入れるとその機能がなくなります。

なので、人工レンズでどこにピントを合わせるかというのを事前に決めます。そのピントが一箇所しか合わせられないのが単焦点レンズです。

単焦点レンズは保険適用で費用も安い(僕が聞いたときは7万円/目だったと思います)ですが、日常生活ではメガネが必須となります。

多焦点レンズは人工レンズを入れてもメガネがなしで生活できるようにするものです。 先進医療の対象となっています。(先進医療特約の生命保険により実費はありませんでした)

参考 : 多焦点眼内レンズ|診療メニューと費用|齋藤眼科

人工レンズになってよかったこと

見え方がぜんぜん違います。こんなに鮮やかだったのか…と感じました。

片目だけ手術が終わったときは、手術してない方の目にずっとゴミがあるように感じていました。

人工レンズになってちょっと面倒なこと

  • 手元のピントが以前より合わなくなりました。ある距離まで近づくと全部がぼやけてしまいます。

    • 本を読む距離が20センチぐらい遠くになってしまいました。
    • 見えないと近づくクセが取れず、余計に見えなくなってしまう。
  • 車のライトや光の見え方が変になる

    Image http://www.tsukazaki-hp.jp/care/ophthalmology/iol の画像がわかりやすかったので引用しました。 (引用元には手術の様子があります)

つらつらと書いてきましたが、先述の通り経過は順調で見た目では手術したことがわからないようにもなりました。

見え方も術前よりも格段に良くなっていて、目の疲れも軽くなったような気がしています。

同じような境遇の人の参考になるといいなぁ。

仕事復帰。

6月のはじめから今日までおよそ一ヶ月、両目の先天性白内障の手術と経過観察のためお休みをいただいていました。

お手伝い先の株式会社コードタクト さんには一ヶ月という長い不在期間を設けていただき感謝しています。ありがとうございました。

ミーティングには参加するという話でしたが、薬の副作用で動けなくなったりと結局あまり参加できず…すいません。

まだ右目に血だまりが残っていてちょっとグロテスクな見栄えだったり、以前と見え方が違うのでピントの合わせ方に戸惑ったりしていますが、視力が測定不能からメガネがいらないぐらいには回復したので仕事再開します。

一ヶ月のブランクで浦島太郎状態ですが、キャッチアップなどをして(とても小さそうな)抜けた穴を埋め合わせられるように追いつきたいです。

無理しない範囲で少しずつ勉強会にも参加していきたいなぁ(ハッカーズチャンプルーに行きたかった…)。

先天性白内障の手術については時間を見つけてブログに書きます。

生存報告も兼ねて更新。

P.S. 白内障についての記事を書いた

2017年の振り返りと2018年の抱負

もう新年があけて1ヶ月以上空いてしまってますが…

TL;DR

一言でいうと傲慢であった一年だった。 自分への自信が他者への圧力になり、結果全体を崩壊させるようなことを各所でやった一年だった。過信があったその時は気づくことはなく、今になって振り返ればひどいものだと思っている。関係者の皆さんには申し訳ないことをしました。すいません。

そういったこともあって2018年は謙虚に生きていきたい。

それ以外としては底辺個人開発者として一発当てたい。

健康

1月に運動誘発アナフィラキシーが出てしまってから体調に気を遣いながら活動をしていて、ちょっとビビりすぎているような気もしているが、それ以外はなんともなく過ごせた。 初めてインフルエンザにかからなかった一年だったと思う(年明けに疑惑があり、三が日は死んでいましたが...)。

仕事

週3日ほどお手伝いしており、Railsを書いている。一緒に働いている方々は自分よりもレベルの高い人ばかりで、とても刺激がある。自分なりにできることで貢献していきたいという気持ちもあるが、それが先走りすぎて先述の通り過信になって無駄に敵対心を煽ってしまっているようなこともあった。特に年末にかけての振る舞いは反省したい。

お手伝い先にいっている以外は個人開発に力を入れている。temeboという、本のQAサービスを作ってみたけども自分の中でコレジャナイ感がものすごくあって、どうしたもんかと手が止まってしまっている。

コミュニティ/OSS活動

  • ハッカーズチャンプルーのスタッフをしたが、先述の通りの振る舞いをしてしまった。
    • 何か実際に手を動かすと、自分の嫌な感じが出ちゃうのでそれを避けるようにしたい。
  • OSS活動とまでは言わないけど、 http://ha4go.net/ という、OSSRailsアプリケーションに少しコントリビュートした。

生活

  • 柴犬を飼った。いろんなものが破壊されるが、ストレスが軽減される。
  • 秋頃に金沢に旅行に行った。
  • 毎月末に家庭のふりかえりを始めた。見える化できてよかった。
  • 週末に一週間分の飯を作る業をしだした。

2018年の抱負

  • 謙虚に仕事をする
  • 一発当てたい
  • 読む / 書く

ハッカーズチャンプルー2017を終えたので年を取りました #hcmpl

ハッカーズチャンプルー2017が終わりました。

今年もスポンサーと実行委員会のメンバーとして取り組むことができました。

参加してくださった皆さん、ボランティアスタッフの皆さん、そしてイベントに協賛してくださった企業の皆様、本当にありがとうございました。

皆さんの協力のおかげで進められてとても良かったです。

KPTを箇条書きにします。

Keep

  • 無事に終了した。
  • 合宿に参加してGolangを書いた。
  • LTができた。
  • スポンサーの協力があった
  • ボランティアスタッフに助けられた

Problem

  • タスクが集中してしまった
  • 決裁部分をもっと移譲して他スタッフが動きやすいようにできたかもしれない
  • 体調崩してから、そこに気を使いすぎて思ったような働きができなかった
  • LTネタ、もうちょっとポップな感じで死んだネタ話せればよかった
  • ボランティアスタッフに当日までどういった仕事があるかを見せることができなかった。
  • 細かい機材の配布を任せてしまった

Try

  • アダプタとかは備品として持っていた方が良い?
  • 技術ネタでインパクトのあるものを用意したい
  • どういったふうに進めていくのか、その中でどういった仕事があってどこをやってほしいのかまでの洗い出し業が必要だった。

スタッフ業で今年も終わると思っていましたが、急遽空いたLT枠に参加させてもらいました。 特に技術的なネタを用意しているわけではなかったので、倒れた話をポップな感じで話しました。

当日使ったスライドは下記です。

スライドを見て「大丈夫ですか!?」というコメントをいただいたりしましたが、食後安静にしていれば再発することもないです!

懇親会ではガッツリ詳細を話したところ、ドン引きだったのでそれに比べたら発表で多少の笑いがあったのは良かったなあと思いました。

年を取りました。

なるべく誕生日などは非公開にするように心がけていましたが、Twitterはなぜか年だけ非公開で、月日は公開されてたようで全然気づきませんでした.. 💦

ハッカーズチャンプルーのお手伝いをするようになってからは、期間中や期間後に年を取ることが多かったです。

もしよかったら何かください :p

t.co

これから

体調を崩したことで、自分がどうするかを否が応でも考えさせられました。

その中でもっと自分のアウトプットを多くしたいなぁと感じています。

イベントスタッフをしつつ、自身も登壇するという方もたくさんいらっしゃいますが、僕自身は発表しない免罪符としてスタッフ業をやっていた気持ちもあったなぁと反省しました。

そういった自分の優先順位の変化もあり、今のところ来年以降のハッカーズチャンプルーのスタッフとしての参加は考えていません(が、気づいたら手伝っているかもしれない…)。

ただ、以前書いたように今の自分があるのはこうしたITコミュニティのおかげなので、最大限の恩返しができればと思っています。