no context programmer

nakaoka3のはてなブログ

GW(2022)にしたこと

普段は朝起きて仕事をして、仕事が終わったらもう7時過ぎで、夕食を食べて寝るという日々を送っている。仕事は悪くないが、現状維持の生活で少しつまらない。だから連休は新しいことを少しは学び、運動をして衰えつつある体力を回復したいと思ってすごした。

やったこと

ゲームは Baba is You を少し遊んだ。発想が面白い。プログラミング言語のようなパズルなので、子供の教育にもいいと思う。しかしパズルが解けてうれしいとあまり思わないタイプなのですぐに飽きた。

ジムのプールで泳いだ。相変わらずうまく泳げない。疲れない泳ぎ方を身に着けて、延々と泳げる様になりたい。YouTubeみて、疲れない泳ぎ方試してみたけど全然だめ。説明されてすぐにできるものでもないのかもしれない。コツコツ続けたい。

あまり得意ではないJavaScriptを触ってみた。webpack, React, NextJSあたりだ。最近はesbuild や vite がよいと聞いているが、仕事で触る可能性が高く成熟していそうなものを選んだ。特に何か作っていたわけではなく、触って遊んで情報を整理してただけ。

オーディブルでオーディオブックを聞いた。無職転生という小説(ラノベ)を聞いている。魔法大学編を聞いて、GW中に迷宮編まで進んだ。プロのナレーターなので聞きやすい。キャラクターの声を演じ分けていてすごい。オーディブル、1500円で聴き放題なのは破格だと思う。

鳴門市の大塚国際美術館に行った。京都から徳島まで高速バスで移動した。移動時間は3時間くらいだ。移動中もオーディブルを聞いていたので、移動中も暇が潰せた。美術館では壁画やでかい絵を見て、実物サイズはでかいなというのが体感できて楽しかった。でかい絵がたくさんあるというのがおもしろい。写真OKなので、普通の美術館よりもワイワイ楽しめて面白かった。本物の作品を前にすると、どうしてもかしこまって見てしまうけど、複製とわかっていたら、そういう「ありがたさ」抜きで鑑賞できるのがよかった。

雑誌の記事を共同執筆した

Web+DB Press というweb開発とプログラミングを扱う雑誌の6ページの記事を書いた。一人で書いたのではなく、mangano-ito さんとの共同執筆だ。テーマはPerlでGraphQL API を実装するというもので、6月末に発売される 。

共同執筆の進め方

執筆作業の最初にしたのはアウトラインを書くということだった。

見出しレベルのアウトラインを作って編集者の方に確認してもらった後、 アウトラインを深堀りして、更に詳細な内容を考えた。その作業にはWorkflowyを使った。共有して同時に書くことができるので共同執筆にも向いている。また、通話と画面共有のためにGoogle Meetを使用した。Google Meet は仕事で使い慣れているので自然と使うことになった。

アウトラインができた後、実際に記事を執筆した。

原稿はGit + GitHubで管理した。

Google Meet で話しながらペアプログラミングのようにVS CodeのLive Shareをつかって執筆を進めた。Live Shareを使うことでリアルタイムで会話を反映して執筆をする事ができる。どちらからも書けるというのが大きなメリットだ。片方の手が止まったときに、もう片方が「こういうのはどうでしょう」という感じで続きを書ける。会話をしつつやるので、書いた後に修正し合ったり、文体を整える作業も削減できた。

文量の調整の問題

最初のパートを書いたところで、このペースだと文量が大幅に超えてしまうことがわかった。それでも最終的に文量を削るのはなんとかなるだろうと思い、ペースは落としつつも書き進めた。

途中で仮組みのPDFを作ってもらった結果、倍以上のページ数になることがわかった。文字だけの原稿なら文字数で何ページになるのかわかりやすいが、コードを含むので何ページ分になるのかがわかりにくい。

その後、とにかく減らせそうなところは片っ端から削り、冗長な表現は削除し、なんとかページに収まるようになった。

執筆の終盤で内容的なブラッシュアップに使うための時間が、文量を減らす時間になってしまったのが今回の反省だ。

よかったこと

出版物に名前が出る形で何かを書くというのは良い経験になった。それだけではなく共同執筆というのも良い経験だった。他の人と一緒に何かをすることで、個人で行う以上のものができるのは楽しい体験だ。

今回のような機会はあまりないと思うが、また機会があればやってみたい。

アウトライナーを使うと何でもアウトライナーにしたくなる

アウトライナーにハマる

長い文章を書くときに目次のような全体の枠組みを決めておく。その枠組みのことをアウトラインという。アウトライナーというのはそれを作るためのツールで、これだけ聞くとわざわざツールを使うのは大げさに感じる。ところが実際にアウトライナーを触って使い方に慣れてくると、すっかりアウトライナーが気に入ってしまった。

きっかけはアウトライナー座談会

きっかけは「苦しみの執筆論 千葉雅也×山内朋樹×読書猿×瀬下翔太:アウトライナー座談会」というwebの記事だ。この記事で名前を聞いたことのある学者やブロガーの方が使っているのを知って興味を持った。

第1回「書くこと」はなぜ難しいのか? - 苦しみの執筆論 千葉雅也×山内朋樹×読書猿×瀬下翔太:アウトライナー座談会 | ジセダイ

記事を読むだけだとアウトライナーの素晴らしさはそんなに理解できなかった。とりあえずWorkflowyと言う紹介されているツールを実際に触ってみて、初めてこれは良いものだということがわかった。

Markdownでメモをしてるのとは全然体験が違う。色んなノートアプリを触ってきたけど、それらとは全然違う体験だった。Workflowyにはファイルという概念がなく、全てがの行がノードであり、ホームを頂点としてすべてのノードがツリー構造になっている。このシンプルな構造が全く新しい体験を生んでいた。ツリー構造とは言ったが実はリンクやミラーリンクと呼ばれる機能があってツリー構造だといかにも不便そうなところは器用に回避している。

A simpler way to organize your work - WorkFlowy

アウトライナー実践入門を読んだ

Workflowを使ってアウトライナーが気に入ったので、『アウトライナー実践入門』という本を読むことにした。

https://gihyo.jp/book/2016/978-4-7741-8285-8

アウトライナーの概念的なところも実践的なところもバランスよくまとまっている本だった。

概念的なところだとアウトライナーは大きな枠組みを作り整理することと、細部を列挙して詳細を育てていくことを行ったり来たりすることがやりやすいツールで、それがアウトライナーのキモなのだということが説明されていた。

実践的なところだと実際にライターの方が執筆するときのアウトライナーの使い方も紹介されていて参考になった。

ObsidianやScrapboxアウトライナー的に使いたくなる

アウトライナーの方法論はWorkflowy以外でも使うことができる。日常的に使っている ノートアプリ Obsidianでも使いたくなった。Obsidianのコミュニティプラグインアウトライナーのような使い方ができるプラグインがあったので入れてみた。なので最近はWorkflowyはあまり使わずにObsidianの中でアウトライナー的な使い方をしている。

GitHub - vslinko/obsidian-outliner: Work with your lists like in Workflowy or RoamResearch

GitHub - vslinko/obsidian-zoom

Scrapboxも他人との共有用で使っている。Scrapboxアウトライナーにのように使うための機能がない。せめてインデントされている行を折りたたむ機能くらいはほしい。そうすれば何段にも深くなったリストの、一段目だけを表示してひと目で全体像が見えるようになる。

ないなら作って見ようということで UserScriptを書いてみた。その結果多少はアウトライナーに近い使い方ができるようになった。

GitHub - nakaokat/fold_indent: インデントで折りたたむことができるようにするScrapbox UserScriptです

まとめ

という感じで最近はアウトライナーを使っている。これさえあればどんな人でもいい文章が書けるというような魔法のツールではないけど、長い文章を書くときでも文章が破綻しないし短い文章でも文章の順番やバランスを考えるのに役に立つ。

スマホ操作の難しさの正体

スマホの操作が苦手な人がいる。両親にスマホの使い方を教えていて、その理由が少しわかってきた。

スマホの使い方が難しいのは、スマホのUIがすぐに隠れるからだ。

例えばLINEのビデオ通話画面で、通話を切るボタンは通話中に非表示になる。画面をタップすると再び表示されるのだが、それは見ただけではわからない。

LINEのトーク画面の画像選択ボタンは、テキスト入力のモードになると「>」ボタンのなかに複数のボタンと一緒になって隠れる。画像選択ボタンを表示するには「>」ボタンをタップする必要がある。

どうしてこのように隠れるのかというと、スマホの画面が小さいからだ。アプリが見せたいものを大きく見せるためにUIを非表示する。いわゆるハンバーガーメニュー(三のようなアイコン)のような抽象的なアイコンにまとめる。

画面をタップしたり、アイコンをタップするとボタンが表示されるというのは暗黙知なので、スマートフォンやコンピューターに慣れていない人にとってはどこにボタンが有るのかわからなくなる。なのでスマホの操作が難しいと感じてしまうのだろう。

親の資産運用を見直し中

投資信託は窓口で買うな

正月に実家に帰ったとき、帰り際に資産運用の内容を見せてもらった。

前からREITに手を出しているのは知っていたが、親の資産運用に干渉したくなかったので口を出していなかった。

しかり買っている商品をみると口を出さずにはいられくなってしまい、以下のようなメッセージをLINEで送った。

  • しんきんJリートオープン (毎月決算型):毎月分配型なのですぐに辞めるべき。さらに購入時手数料2.2%もかかっている。
  • 投資のソムリエ:辞めたほうがよい。実質信託報酬 1.54%、購入時手数料が3.3%もかかっている。

毎月分配型という商品の存在は知らなかったが、たまたま社内Slackで知った。元本を取り崩して分配金を出すこともある商品で、なぜか高齢者に人気はあるがデメリットばかりの商品だ。

この「しんきんJリートオープン (毎月決算型」にけっこうな金額をつぎ込んでいて、忠告しなければ更にこの商品を買う可能性もあったらしい。恐ろしい。

母親の方は正月の時点でこの商品に疑問を持ち始めていたらしく、LINEをした翌週に売却をしてくれた。

ちなみにこういう商品をどこで買うのかというと、地元の信用金庫の窓口で購入していたらしい。信用金庫許さんという気持ちがこみ上げてくる。

つみたてNISA

ちなみにつみたてNISAも1,2年前から始めていたので同様に確認した。比較的まとももな商品ばかりだった。つみたてNISAは金融庁が認可する条件として販売手数料ゼロ、毎月分配型でないなどの条件があるためだ。よかった。

しかしつみたてNISAにしても、素直に先進国のインデックスファンドを買っておけば手数料は安いしこの数年は良かったのにそうはしていなかった。なぜかわからないが、手数料が高く実績も低いものに手を出したがる。

ネット証券へ

ネット証券を教えてほしいというので教えることにした。ネット証券ならノーロード(販売手数料なし)で買えるし、S&P500のインデックスファンドなどの選択肢も増える。

しかしこれが大変だ。なにせ両親ともにIT音痴。母親は去年自分のスマホを手に入れたばかりで、PCは使えない。父親は仕事でPCやワープロを触っていたのだが、それでもダメでスマホの使い方がなかなか覚えられない。

ということで最近の週末はLINEで通話をしながらスマホの使い方を教えつつ、ネット証券の口座を開くことを目標に勉強してもらっている。

どこかでスマホやネットなどITの基本を覚えてもらおうと思っていたので、丁度いい機会だと思って根気よく教えている。

自炊(書籍)日記

年末に裁断機を買ってから、本の「自炊」をしている。

ScanSnapで目的別の設定プロファイルを作れるということを今日知った。

カラーや保存先のフォルダや命名規則などの設定を目的につくって切り替える事ができる。

f:id:nakaoka3:20220131221659p:plain
「書籍」というプロファイルが自分で作ったもの

今までそれに気づいてなかったから領収書も健康診断の結果も書籍も同じフォルダに入っていた。更にスキャン設定を毎回変えていたので手間がかかっていた。

こういう機能があると言うのに気がついたのはスキャンした画像が勝手に回転していると言うことがあったからだ。自動で回転する機能を無効にする方法を調べているときに、自分でプロファイルを追加することができると知った。

困ったことがあったら調べて問題が起きないようにしようとする。それができてよかった。

湯たんぽを買った

湯たんぽを買った。

この季節、家で仕事をしていると足が冷えてつらい。室温は20度程度に調節しているが、足首から先が局所的に冷える。

しかしヒーターは電気代が高くて気になる。ヒーターに面する箇所だけ暑すぎて調整が難しい。

そこで湯たんぽを使って足を温めることにした。

購入したのはポリ塩化ビニル製の柔らかい湯たんぽ。 ふわふわのカバーも付属している。さわり心地も良い。

足が冷たくて辛くなったらお湯を沸かす。家にあるケトルの容量は約1000ml。1000mlの水をガスコンロで8分かけて温める。

デスクの足元においてもいいし、 布団の下に湯たんぽを入れてベッドの上で一時的に仕事する時もある。思ったよりも温かさは長持ちする。置く場所によると思うが、6時間以上は温かい。

湯たんぽ、おすすめです。

Amazon.co.jp: 湯たんぽ 注水式 [冬の必需品] 2L 大容量 過熱防止 電気不要 あったか コードレス 柔らかく温かいなカバー付き エコ湯たんぽ キャンプ 生理期最適 防寒グッズ 冷え性 寒さ対策 暖房器具 日語説明書 保護カバー付き(グレー) : ゲーム