読者です 読者をやめる 読者になる 読者になる

OLE開発記(1)

昨日のブログでそれなりに注目が集まったので、開発メモ的なことを書いていくことにする。 OLE = OutLine Editor です。たぶんこのまま開発コードになる。リリース時にオシャレネームつける可能性はある。

昨日やったこと

  • ゴミ箱に全部削除ボタンを実装
  • D&Dでアイテムとアイテムの隙間にドロップして挿入したいよね〜という内なる声に従って D&D 改良中。これ単純に難しい。実装できるか不明で後回しのがいいかも。
  • ブログ書いてベータテスター集めた。

ベータテスト開始の目標は10月頭としたい。

最悪DBスキーマさえ決まれば、ベータテストはできる。データワイプやらずに済むよう、スキーママイグレーションの仕組みをきっちり決めたい。

ベータテスター集まった

10人集まった。ありがとうございます。 ベータテストにあの結城浩先生が参加してくださるということで、プレッシャーがヤバイ

要望

Twitter/はてブから抽出

  • textlintの組み込み
    • 一行当たりの最大文字数とかこれでいけそう
  • ワードカウント
  • 行数表示
  • Scrivener のコルクボード表示
  • 数式/図
  • mdbook
  • markdown以外の構文対応(Re:Viewとか?)
  • 扱いやすい中間状態の出力(とはなんだろうな)
  • 縦書き出力

予想以上にScrivenerのコルクボード表示の需要が高い。 全部やるとは限らないが、やりやすいのから検討していく。textlint は最初からやるつもりだった。

縦書きの組版は地獄なので、雑にやれるところまでやって、深入りしない方向で。

競合調査

この辺を研究しろとのこと

今後

今日OBT開始の Tree of Savior に進捗吸われないように気をつける

本を書くためのアウトラインエディタを作ってる

少し前からアウトラインエディタを作ってる。

こんなの

(画面は開発中のものです)

ファイルツリー

複数シート同時編集

ファイルツリーUIというのをスクラッチで初めて作ってみたんだけど、「当然こう動いて欲しいよな」というヒューリスティックな挙動をたくさん作るハメになってて学びがある。

なぜ作ったか

技術書を書いて Kindle Direct Publishing で販売しようと思って、Macで売れてるアウトラインエディタを一通り試したんだけど、惜しい物が多くて、個人的にしっくり馴染むものがなかった。なので、技術書を書く前に、自分が本を書くために必要なツールを作るところから始めることにした。

作家・藤井太洋に聞く 「小説を書くためのツール、Scrivener」 - DOTPLACE を読んで、その辺のアプリに対する感覚を自分でも意識して作ってる。Scrivener は wysysig なんで自分にとって論外。

エンジニアとして5年経って、個人でアプリを最初から最後まで作って販売した経験がないので、将来の選択肢を考えるのに経験を積んでおきたいというのがあった。あと仕事でElectronアプリ作って経験値溜まってるので、ホットなうちにその経験値を金に変換しておきたい。

Electronアプリを Windows に出す場合、どこに出せばいいんだろうか。

どういう機能を持ってるか

  • Markdown
  • 階層で管理
  • 複数シートの同時編集
  • epub出力(たぶん)

進捗

Done

  • プロジェクト管理
  • ファイルツリー
  • 右クリックで操作
  • キーバインド
  • ゴミ箱

これから

  • デザイン面のブラッシュアップ
  • 出力/プレビューのブラッシュアップ
  • 画像管理/埋め込み

配布形態

有料アプリ。どういう配布形態にするか決めてないけど、とりあえず最初はApp Storeで販売するのを目標にする。価格は1800円ぐらいの予定。たぶん変わる。

品質面で売り物にならないと判断したら、OSSにする。

どういうターゲットを想定しているか

  • 長いドキュメントを書く人全般
    • 技術書を書く人
    • 小説を書く人
    • ブロガーみたいな細かいドキュメントをたくさん書く人

リリーススケジュール

  • 基礎機能の実装(もうちょいで終わり)
  • 設計の見直し: 長期的にメンテできる構成か
  • デザイン面のブラッシュアップ
  • このアプリで本を一冊書く
  • 修正
  • βテスト
  • フィードバック反映

今年中に出せたらいいなぁ。 βテスター募集してるので、興味ある人は Twitter @mizchi まで。

追記

ベータテスター10人集まったので募集締めきりました。引き返せなくなったぞ!

JavaScript の難しさとは何か

ブログを書き続けること

昔から気をつけてることなのだけど、ある程度、ブログ、とくに技術テーマ以外の記事を書く頻度はコントロールしよう、と思っていた。具体的には、1ヶ月の間に2, 3回ホッテントリなどに入ることは問題ないが、2, 3ヶ月連続で耳目を引き続けるのは、避けた方がいいのではないか。とくに落ち着いて暮らしたいなら。

中長期的にあまりに注目を引き過ぎると、勝手に記事間の文脈を悪意を持って補完されたり、固定のウォッチ対象にされてしまったりすることがある。粘着なアンチは聞く耳を持たないので無視するに限るが、人間何に反感を持つかわからないもので、自分がコントロール出来ない要素をたくさん抱えると、書くことそのものが億劫になっていく。日常生活にも影響が出る。少なくとも僕は、自分が書いたものが自分のコントロール下から外れていないか、怖くなってエゴサーチばっかりしてしまう。

「悪意を持ったコメント」に対抗する方法は難しく、たとえば僕がやることが多いアプローチとしては、過激な意見を述べるときは、想定される反論に対するエクスキューズを予想して事前にそれらを多めに準備し、そこを執拗に責める悪意がある人間の方が、異常に見えるような演出をする、といったことをするのだけど、想定反論の想定に失敗した時点で破綻するし、事前の下調べも、細かなレトリックの調整も、なかなかに難しい。あまり難しいと、そこまでやってして書きたいことだったか?と、自問してしまうし、その自問によって破棄した記事も、いくつかある。

書きたいことだけ書き続けられるか

基本的に、僕がこのブログで書くことに関しては、書きたいことだけしか書いていないのだけど、積極的にこれが書きたい、という動機以外に、何か漠然とした恐怖や、ストレスが溜まると、文章に逃げる傾向も自覚している。何かが上手くいってない時の、逃避としての文章。

今この文章を書いているのは、今述べたうちの「漠然とした恐怖」を元にしている。ここ数年の努力の甲斐あってか、一通りのストレス源を排除し、漠然といろんな物事、僕が向き合うと決めた物事については、上手くいった手応えはあるのだが、それがなんとなく怖い。

その不安とは、自分を今の自分足らしめた衝動が、失われているのではないか?排除したストレス源とは、本来真っ当に向き合うべきではなかったのか?初期衝動を失った自分は、果たしてそれらを享受しつづけることができるのか?というもので、「初期衝動を失って、飢えていない自分」が、自己規定から逸脱しそうになっている。

承認欲求と冷却期間

自分はなんだかんだで見栄っ張りだし、承認欲求も強いし、書いたものは見てもらいたい。その感情を否定するつもりはない。ただ、必要量以上を摂取して自家中毒になるのは避けたいし、コントロール出来ない反響を生み出したくはないとも思っている。さっき述べた、粘着なアンチとか。

継続してブログを書き続けたいなら、定期的に「冷却期間」は必要だと思っている。たしかに、継続的に書き続けると、時系列的な注目度があがって、いろんな読者にリーチし、承認欲求を満たしやすいものではあるのだが……悪い意見は好意的な感想の倍以上、心にクるので、扱う感情の総量を増やすと、心が折れやすくなる。よっぽどタフでない限り、いつか折れて、失踪する。そういう人を、沢山見てきたし、瞬間的な熱量が高い人ほど、彗星のように輝いて、そしていなくなる。

ここでいうブログとは、最近どこぞで流行ってる「ブロガーのブログ」とは違って、アクセス数を伸ばす為のものではなく、「個人の日記」としてのそれであり、僕がやってるのはそれである。そしてその目的は、アフィリエイトではなく、個人のブランディングであり、自己紹介の省略のためであり、人間関係における不満のアピールでもある。

とはいえ、覚悟をしないと得られないものはあるわけで、覚悟がない人間がその先に進むことはできない、という感覚も、なくはないんだけど。

強い意見、大きな主語

自分の意見を、とりわけ強い意見を公開したことに対して、否定的な意見がつくのは、しょうがないことだし、ある程度覚悟はしている。その覚悟がないなら、インターネットで何かを書くべきではないし、胸のうちに秘めておくべきだと思う。それが本当に必要になる時までは。

今現在、自分のことを基本的にはエンジニアが主たる要素だと定義しているが、父子家庭のモルモン教徒の二世、その宗教への反抗という、やや特殊な生まれと環境のせいで、社会に対する不満や、家庭や義務教育による抑圧など、自分の人格を歪めたと認識しているものに対する敵意が強く、それらについて過激な意見を持っていると自覚している。この意見は、表明するとそれなりの反響があるのはわかっているし、過去には何度か、そのコンテキストで必要なものに対しては表明している。

ただし、それらは基本的には自分自身の、社会人や、エンジニアとしてのブランディングとして役に立たない。エンジニアとしてある程度、名前が売れるようになってからは、意図的に抑制してきた。そういうのはコミュニケーション障害と受け取られたり、人材としてのリスクと思われる可能性が高いし、実際に一部の経営者から冗談交じりでそう宣言されたことはある。それらを踏まえ、自分自身のキャリア形成にとっては害となる可能性があるというのは認識している。

ただ、それらを完全に排除した自分は、自己規定から外れてしまう、というアイデンティティクライシスに直面し、その葛藤から、この自己言及的なテキストが生まれている。

テキストを雑に/シリアスに書くこと

最近、というかここ数年は、テキストをだいぶ雑方向に振ってて、hitode909文法を借りたりして、とにかくその生成コストを下げようとしていた。とにかく、数と機会こそが大事だ、と。

そのほうが確かにコミュニケーションは楽だし、こんなテキストを書き溜めるより、何かと円滑に行く。それが望まれてる。それが社会性だとわかっている。しかしそれは、なにか大事なものを失っているのではないか、という感覚も常にある。

で、もはや昔のようなテキストを書けないのではないか?という不満からこれを書き始めて、意外と昔どおりだったので、人間はそう簡単に変わらないのだな、と感じた次第ではあって、読みづらいのも、昔のままだろう。こっちのほうが素に近い、頭からスラスラと出てくる文章だ。

まあ、そういう内省的な文章を書く人間なので、こういうテキストを定期的に書いてガス抜きしていたりする。

一般的には、エンジニアとは、理詰めでモノを考える人間、という偏見があって(たしかにその傾向はあると思うのだけど)、こういう系統のテキストを書ける、というのは、自分の長所であると認識していて、それを活用してきた。そしてある程度成功した。成功したがゆえに、ここ最近はやることがなくなってしまったのだけどね。

30歳に向けて

28歳になり、若者とは呼ばれにくくなり、少なくとも「インターネットの若年層」ではなくなった今、インターネットで生きやすい自分の人格を再定義する必要に迫られており、若さだけで無責任に暴走するといったアプローチは取れなくなってきた。

とはいえ、大人になったら昔より許せるものが増えると思っていたが、そんなことはなく、怒りは怒りのままで、ただ自分の怒りは特殊なものではなく、よくあるものだよなーよしよしと笑って流すのがうまくなっただけと思う。

正直に言えば、大学生の頃は、自分がまともに社会人として働けるというイメージは全く無かったし、いまでも、自分は真っ当な社会人ではまったくないと思う。自分の能力を担保に、相手に妥協させてるという感覚はある。そして、それが有効なうちは、手持ちのコマとして使い続けるつもりではある。

自分がありのままを通したければ戦うしかないし、そこで戦うことを諦めるのも、1つの社会性の獲得なのだろう。あるいは、妥協しながらそれらを同時に行うことも。

妥協とか、撤退とか、駆け引きとか、信念とか、自分を通し続けるのも、難しいことなのだな。

ダイエット二ヶ月目 74.8kg => 72.6kg (二ヶ月で-6.4kg)

まずこの場を借りて、「こいつ絶対リバウンドするわ、間違いない」とコメントしまくって、僕の反骨精神に火を付けてくださったはてなブックマーカーの皆さんに感謝を。

mizchi.hatenablog.com

の続編

経過

半年前(ダイエット前、およそ80kg)

ダイエット開始から1ヶ月後: 74.8kg

ダイエット開始から2ヶ月後: 72.6kg

(写真取らなきゃ納得してもらえねぇと思ったて撮影したが、寝起きなので、不機嫌な顔になった。なおセルフィーに対する抵抗感はあるが、もっとも太った状態をインタビューという不可避な事情で公開されてるので、そう思うと何やってもマシって気持ち)

今月の頭から停滞期に突入し、7/4〜7/18あたりは、73.8kg〜74.2kg とほとんど動かない期間が続いた。これは調べたところ後述のホメオスタシスというのが発動しているようだった。

7月下旬に入って再び体重が落ちだして、今は 72.6kgあたり。身長169cmなので、BMIは25.4。そろそろ肥満域の25を脱する。2ヶ月前は BMI: 27.6だったから、だいぶ健康体に近づいた。腹の肉がなくなってるのが、触ってわかる。まだつまめるけども。

7月は諸々の飲み会が多く、誘惑が多かった。31日のうち9日ぐらい飲んでたと思う。正直、誘惑に負けた日もあった。それでも誘惑に負けた自分が悔しくなり、ジムでハードにトレーニングして取り返そうとしたりして、一定の成果はあった。

今月の減量にポケモンGOの影響は多少はあると思うが、1週間でやることがなくなっており、その一週間で歩いた距離は44km程度。Lv22でギャラドス作って満足して止まってる。

mizchi.hatenablog.com

あとこれは誤差の範囲だが、これでも髪を切ったので200〜300g の影響はあると思う。

ホメオスタシス

ヒトは一定期間で体重の5%近くを失うと、体が飢餓に備え低燃費モードになり、エネルギーの吸収効率が上がる。これは恒常性とかホメオスタシスとか呼ぶらしい。冬眠などと同じ仕組み。

吸収効率が上がってるので、この時期に食べる量を元に戻すと、高効率でエネルギーを吸収するので、いわゆるリバウンドとなる。また消費が落ちてるので体重が減りづらく、一般的に停滞期などと呼ばれる。

この時期を乗り越えるには、体に「エネルギー摂取量は減ってるけど、お前の体はまだ減らしても大丈夫だ。ほら死なないだろ」と認識させる必要があり、一定期間経過後に、また落ちていくようだ。

ダイエットをしてるのに見た目の数字が落ちないのは中々辛く、とはいえこういうものだ、と覚悟するしかない。僕のように一気に痩せようとした場合、2〜3週程度は必ず停滞期で体重の減少が止まる時期はくる。

最初は焦ったんだけど、そういうものだと知っておくことで、だいぶ心に余裕がもてた。

食事

糖質制限を続けていて、一日の糖質量の目標値は60g(スーパー糖質制限)と設定しているのだが、これがなかなか厳しい。スーパーやコンビニで何か買うときは、必ず成分表を見るようになった。20gを越えるものはまず買わない。外食も基本困難で、自炊が増えた。

一番手っ取り早い食事として、糖質0g中華麺にスーパーで売ってる出来合いのパスタの具をぶっかけるという料理があり、色々試した中では、これが一番コスパと手間のバランスがよい。パスタの具はペペロンチーノ、ボンゴレビアンコ、ジェノベーゼあたりが糖質量が少ない(〜10g)。

とはいえ工夫しても食べたいものが食べられないストレスでイライラする時があり、そういうときはスーパーで800円ぐらいのサーロインを買ってきて家で焼いて食べている。糖質のイライラはあくまで肉で解消する方向にした。

あとはAmazonで注文できる各種の低糖質食品群。これらのおかげでだいぶバリエーションが持てているので助かる。低糖チーズスフレとか、低糖チョコバーとか、低糖プリンとか。

飲みの席でも、基本的に糖質は取らずハイボールと野菜と肉を優先的に摂取する。ハイボールが好きでよかった。ビールはグラス1杯で50gほどの糖質量なので、一杯でもアウト。

最近はもう、周りに「こいつは糖質取らないから」と認識されてて、店の選定で多少迷惑かけてるような気がする…

ジムと筋肉

基本的に2日に1度通っている。もはや筋肉を傷めつけてないと体がそわそわするようになってしまった。ジムのスタッフにほとんど顔を覚えられた。おまけに Rebuild.fm もかなり昔のやつまで消化しつつある。あと本読みながらサイクリングマシンこいでて、叛逆航路とか老人と宇宙とかゲド戦記とか、その辺を読破してしまった。

ジムで筋電位を測ってもらったところ、筋肉量は比較的多めで、また筋肉もつきやすい体質らしく、10年まともに運動してない割には筋肉量がどの部位も平均以上だった。最近は徐々にトレーニング機器のウェイト量を増やしていて、実際に筋肉が付いてる実感もある。これで代謝を増やして、太りにくくする。

元々予定していた平均体重63kgは標準的な筋肉量が前提なので、筋肉がついてる+ ついていくのを前提に、67kgあたり、多少のリバウンドを考慮して、66kgあたりで、一旦ダイエットをやめようと思う。痩せるのが目的ではなく、健康になるのが目的なので、目先の数字を追うのはあまり本質的ではない。(とはいえ、ゲーマー/プログラマ的な完成だと、ただ数値を追うのはそれ自体で中々楽しいのだが…)

今後の目標

79.0kg => 74.8kg => 72.6kg と来てるので、67kgだとかそのあたりの数字を達成するのは、うまくいって再来月、おそらく現実的にはダイエットを飽きずに続けたとして3ヶ月後だろう。今月は-2.2kgだが、それはなんというか停滞期のストップした分を取り戻した分の必要経費を払った、ということだとして、来月は3kg減らせたらいいなぁ。

来月も書く。お前ら見てろよ。

ポケモンGO感想

Lv22。図鑑78/151。最大CPのモンスターはギャラドス 1770。

自分の行動範囲

久我山から高井戸、もしくは久我山から吉祥寺、たまにオフィスのある渋谷。先週末はいとこの結婚式で博多にいた。博多では余った時間で大濠公園(ピカチューの巣)をうろうろしていた。ポケストップ過疎地方の事情とかは知らない。

体感だと、とくに九州ならでは、みたいな分布傾向の違いとかはなかった。

ゲームとして

現状、収集要素が主たるモチベーション源で、ゲームとしての奥深さがあるわけではない。行動範囲を意図的に広げないかぎり、入手できるモンスターが限られてるので、お祭り騒ぎとしての今の状況が終わると、ここで行動範囲を広げない人は、新規モンスターを入手できなければモチベーションを維持できずに脱落していくだろう。

ジムバトルも明らかに防衛不利で、リワード目的にジムの占拠を行なうには高CP個体をスタートダッシュで入手するしかなく、それも時間とともに平均Lvがあがって難しくなっていくだろう。現状、縄張りアピールで近隣住民がジムを奪い合っているという構図が強いのではないか。戦略は、基本的には属性じゃんけんしかない。

とはいえ、強CPの個体の存在で、収集意欲がかきたてられるのは間違いないと思う。おそらくバージョンが進むと育成要素、戦略的な要素が追加されると予測している。今でも内部ステータスのスポイラーが出揃ったことで、厳選ガチ勢がひたすら強個体/技のモンスターを集め続けるだけの余地はある。

おそらく、収集より育成にフォーカスする要素を増やしたほうが、ゲームとしては長持ちするだろうが、育成で差がつきすぎると、新規参入コストが上がるので、そこらへんの塩梅が難しそう。

ダイエットツールとして

効率だけ求めるならポケストップが3~4箇所隣接した場所で、ひたすらルアー設置して待つのがよく(そういう場所は人が集まってて自分でルアー置かなくても誰かがやってるが)、そういうプレーをやるとダイエットには向かない。ただ、同じ種類のモンスターしかポップせず、暇なので体を動かしたくなる。

たまごを孵すには歩く必要があるが、自転車で低速で移動したほうが効率はいい。とはいえ自転車はたまごを孵すのには向いているが、何度も立ち止まる必要がある関係で、全体的な効率はよくない。

振動ONにして片手にスマホ握って走り回る、というのが一番効率はよい気がしていて、ダイエットに向いてなくはない。ただ頻繁に立ち止まるので、ジョギングがジョギングにならない感じがある。うちの近所だと80mおきぐらいにポケストップがあり、およそ50m間隔で何かのモンスターがポップする。その度に10~30秒ぐらい立ち止まる。ある程度の距離を走るまで、意図的に無視する強い心などがあると良さそう。

ゲームの実績によると、44.1km 歩いたらしい。

ダイエットの進捗については、月末にもう一回書きます。

ダイエット一ヶ月目 79.0kg => 74.8kg: やったこと

最初に言っておくと、楽して痩せたという話ではなく、それなりにコストを掛けて減らした。頑張れば一ヶ月で4.2kgは減る。

ダイエットの理由

身長169cmで、もっとも痩せていた時期(58kg)から+21kgになっていた。

各位からデブデブ言われるのが辛くなってきており、また割と不可避な事情で顔写真が公開された。

Forkwell Press – 「煽って盛り上げるのは“自分がその技術を使いたいか”なんです」-Increments...

そんで、健康診断でも肝臓で引っ掛かり、アルコールではなく、肝脂肪付き過ぎでコレステロール異常が検出されていた。

Before / After

from(80kg:インタビュー記事より)

to(74.8kg)

正直元々あんまりセルフィーとか撮りたくないのだが、デブ状態が公開されてるんで、何も恥ずかしくなくなった。(元記事に公開取り下げてくれという意図はない。あくまで自制の話なので)

というわけで一応痩せた。

やったこと1: 糖質制限

糖質制限、割と辛いイメージがあったが、まず考え方を変えた。

糖質はとらない。が、最初は肉と野菜を満腹になるまでとる。満腹感があれば、糖質がなくても我慢できる、という感覚をつかむまで食べたいだけ食べることにした。自分は肉類が好きなので、ソーセージを大量に食べていた。

とはいえこれはなかなか食費が掛かり、最初の一週間は一食1200円ぐらい食べていた。とはいえこれでも後述するジムと合わせて、若干痩せ始めていたのだが。

一週間経過後、自分が満足する量が徐々に減り、調子がいいとサラダのみで過ごせるようになってきた。

とはいえ、それなりにストレスがたまるので、6月はいきなりステーキに2回行った。あくまで糖質は取らない。6月には2回飲み会行ったが、豚しゃぶと、肉とワインのバルで、なんとか糖質を避けることが出来た。

基本は納豆やサラダ、ソーセージで済ませ、腹がへると糖質0g麺で汁なし担々麺やペペロンチーノを作る。最近は多少甘えて、@9m に薦められた低糖質プリンを食べてる。

やったこと2: ジム

運動は嫌いではないが、まったく機会がない。というわけで重い腰を上げて最寄りのジムに登録した。月12000円、高い。高いが最寄りがここなので我慢するしかない。

ジムまで徒歩20分、30分のサイクル、30分のウェイトトレーニング、20分のランニング、帰路徒歩20分。で、なんだかんだでその間の準備や風呂含めて3時間ぐらいかかるのだが、最近イカをやめて時間が余ってるので、あまり苦ではない。徒歩でこれだけ時間かかるのは問題だと認識していて、最近前々から買おうと思っていたロードバイクを買った。これで片道8分。

ジムに風呂とサウナが付いているのだが、サウナが好きなので、これがジムに通うモチベーションになっている。

週3を目標にしている。

これができる背景

正直モチベーション保つのに結構金かかってるんで、それなりの給与がないのとできないのと、リモートワークによって時間の自由度が高いので、ジムに行くのも、糖質制限食を家で自炊するのも、これに支えられている。感謝。

Qiitaを開発するIncrements株式会社、全従業員を対象にリモートワークを導入 - Increments株式会社

今後

実感として、腹の肉がつかみにくくなった。背筋をつけたことで、肩が多少こりにくくなった。

来月は、BMI肥満域を脱するために72kgまで落とし(ここから-3.8kg)、半年かけて平均の64kgまで減らしたい。来月も書く。