Noratetsu Lab

動じないために。

2023年1月

2023/01/27

ツール製作日誌:HyperDatabase

 昨年の一月末からJavaScriptを勉強し始め、今日でちょうど丸一年になる。私の人生に於けるプログラミング元年だった。
 スタート時は一年の間に「何か動くもの」を作れたらいいという気でいたが、実際に一年経ってみると「自分にとって理想的なツール」に迫るところまで来れた。一年間の集大成として今使っている自作デジタルノートツールについて書くことにする。


 先日の記事雑なメモは雑に書かれなければならないにもスクリーンショットを一枚貼ったけれども、機能のごく一部の部分だけなので、ちゃんと記事にしておこうと思う。
 と言っても、言葉で説明するのは到底無理なレベルであれこれ細かい挙動を搭載しているので、処理がどうなっているかより主にどの位置にどんな情報があるのかというレイアウトの話になる。
 全体像を先に示しておくと、以下の五つのビューモードを持つツールになっている。

画像

 なお内部的にデータがどうなっているかというと、ScrapboxやObsidianのようなページの集合体のイメージで、JavaScriptの実装としては16のキーを持つオブジェクトの配列の形になっている。
 最大の特徴として、ひとつのデータがプレーンテキスト(=本文)、アウトライン、ホワイトボード、テーブルを持てるということがある。更にプレーンテキストはプレーン、Markdown記法、Scrapbox記法のどれかを選択でき、選択に応じてHTMLタグが構築されてビューが作られる。ブラケティングによってページ間リンクを設定できる。
 データの多くはプレーンテキストだけかアウトラインだけ、またはその二つを使っていて、ホワイトボードとテーブルはそんなに頻繁には使わないが、使いたい時に使えるように組み込んでおくことで情報の分散を防いでいる。
 画面は上記の画像にある通り五種類ある。アウトラインモードのビュー、ホワイトボードモードのビュー、そしてデータベースモードのページビュー、カードビュー、テーブルビューという形になっている。複雑なようだが、複数のツールでやるところをひとつにまとめているというだけで、使っている中で複雑に感じるわけではない。

アウトラインモード

画像

 三種類のアウトラインが表示されている。もちろん全て編集可能であり、アウトライナーの基本機能が使える。

  • インプットアウトライン(左)
  • デイリーアウトライン(中央上部)
  • メインアウトライン(中央下部)

 左にとりあえず書く場所としてのアウトラインがある(「Input Outline」というタイトルのデータがあり、それを指定してアウトラインデータを表示させている形)。中央上部にはデイリーアウトラインの領域があり、日毎に作られるページのアウトラインデータを表示している(直近十日分)。中央下部はカテゴリデータに「Hot」と記述してあるページのアウトラインデータを並べている。
 それぞれタイトルをクリックすればページの詳細画面が開く。また各行がフォーカスされる度に右上のメタデータ欄にページの情報が一部取得される。本文を確認することもできる。
 右には全ページのアウトラインデータの中で特定の属性を設定されたノードを取得して表示する欄がある。アウトラインは各行に予め設定した任意の属性を選択して付与することができ、そのデータから抽出している。
 細かい機能は他に色々あるが割愛するとして、この画面構成によって今現在把握しておきたいことを一覧できるように試みているというのがアウトラインモードの特徴である。

ホワイトボードモード

画像

 左の細いカラムはホワイトボードデータが存在するページの一覧。下半分には今開いているページのホワイトボードデータを表示している。上半分は今開いているホワイトボードデータと関連付けているページのアウトラインデータを平面的に表示している。関連ページは複数設定可で、縦に並んでいく。このスクリーンショットでは「Input Outline」ページひとつと関連付けている状態が表示されている。
 ホワイトボード的なものを使いたいタイミングというのは横断的に考え事をする時が多いので、他の複数のページを関連付けて俯瞰できるようにしている。(なお、他のページとの横断ではなく、自身のページ内のアウトラインデータや本文データと突き合わせたい時は、ページ詳細画面でボードを編集することができる。)
 このモードによって、俯瞰した思索や位置という感覚的なものを使った考え事をできるようになっている。

データベースモード

 データベースモードというのはつまり全データを管理する場所ということで、ページビュー、カードビュー、テーブルビューの三つの画面がある。
ページビュー

画像

(アウトラインが非表示の時は全体が本文になる)
画像

(テキストとアウトラインを同時に表示した状態)
 各ページデータの詳細を編集する画面である。中央に本文(プレーンテキスト)とアウトラインの表示領域、左に本文部分に含まれるリンクとキーワードから構築したリンク欄、右にページのメタデータの欄がある。アウトラインは右の欄にチェックを入れると中央カラムの下半分に表示される。ホワイトボードデータとテーブルデータは右の欄にチェックでポップアップ表示される(スクリーンショットは省略)
 このテーブルデータというのは後述のテーブルビューとは全然関係がなく、ページ内のデータとして表を作ることができるというものである。でも本文はMarkdownで書けるのでMarkdown書式で本文内に表を作ることもできる。本文とは別にしたい時はテーブルデータを使う。現時点ではただtable要素を簡単に作れるというだけのおまけ機能だが、やろうと思えば表にソート機能をつけるなども一応可能だろうと思う。
 ちなみに本文部分に画像ファイルをドラッグアンドドロップすると、Gyazoの自分のアカウントにアップロードしてそのリンクが本文に追記されるようにしてある。便利。あとダブルブラケットの左括弧を入力して文字列を打つと、括弧からキャレット位置までの間にある文字列をタイトル(またはエイリアス)に含むページをサジェストするようになっている。

 また、右カラムにある「データベース化」のチェックとその下の「Option Key」の部分によって、後述のテーブルビューにデータベースとして表示することができる。詳しくはテーブルビューの項で。
 更にクイズ機能もあって、各ページに一問一答を設定でき、全ページのクイズをまとめて表示して解くこともできたりするが、それは本格的におまけである。(おまけだが割と重要。)

画像

 スクリーンショットではQuizは一問だけ設定してあるが、複数設定可能である。

カードビュー

画像

 Scrapboxを参考にしたグリッド配置のビューで、クリックすればページの詳細画面が開く。上部にカテゴリ選択欄があり、そのカテゴリを含むページを表示する(カテゴリは各ページ複数設定可、自由にカテゴリ追加可)
 右上の設定欄でグリッド表示/リスト表示、サムネイルの有無、本文冒頭部分の表示有無、表示順の種類と順番を切り替えられる。
 Ctrlを押しながらマウスオーバーで中身の本文を確認できるようにもしてある。全体的にScrapboxにこんな機能があったら私個人は嬉しいという機能を実装した(Scrapboxにそうなってほしいというのではない)
 なおスクリーンショット内の「日本史」「世界史」は次のテーブルビューの見本のためのカテゴリ。

テーブルビュー

画像

 自分の中で会心のアイデアなのだが、各ページにはメタデータを自由に設定できるようにしてあり、更に「データベース化」という項目をチェックしておくとそのページはデータベースのデータとして扱われ、メタデータの任意の項目を表に表示することができる。
 例えば「人物」をまとめたデータベースを作ることができる。重要なのは、そのページがどのカテゴリにあるかとは別にデータベース化できるということだ。例えば「日本史」カテゴリと「世界史」カテゴリを作ってそれぞれに人物ページを作り、「人物」データベースを作ってまとめることもできる。
 自分が作った機能の可能性に自分が追いついていない状態なので活用はこれからだが、ExcelやAccessでするような(しかしわざわざそれらのアプリケーションを使うほどのものでもないような)データのまとめを作れるようにしたのは、自分の中で非常に大きいツールの進化である。
 やろうと思えば本当に色々なことができるし、記法を決めれば関数を使うとかいうことも一応不可能ではない(このツールに搭載しても便利ではなさそうだが)。きちんとデータとして管理する必要のある大規模なものは当然専用のアプリケーションを使うべきだが、自分で作ったノートの管理を支援するものとしてはこれでも十分だろうと思う。
 結果的にNotionのような感じになっているが、設計思想としては多分結構違っている。

お試し
 今回のツールのサンプルはHyperDatabaseにあるリンクで試せるようにした。
注意書き

  • PC限定です。
  • 編集はできますが保存はされません。
  • 上述の画像ドロップは無効になっています。
  • 入力欄やクリック可能な場所は大体マウスオーバーで説明が出ます。
  • アウトライン部分のノードのドラッグは、「▶」「▼」部分ではなく、入力してある文字列の後ろの余白あたりでドラッグしてください。つまりこの文で言えばこのあたり→
  • 自分用ツールをついでに公開しただけなので親切設計にはなっていません。私が便利ならそれでいいやつです。
  • 何かおかしくなったらタブリロードでリセットしてください。

既知の設定ミス(後から気がついた)

  • 右クリックに機能を設定する際にデフォルトの挙動を止めるのを忘れていたので、いちいちコンテキストメニューが表示されます。(Electronではコンテキストメニューが出ないので設定し忘れていた。)
  • 環境によってCSSの設定が適切でない箇所があります。

余談と現況

 ちなみに、前に貼ったスクリーンショット内では「Hyper Outliner」ということにしていたが、アウトライナーの範疇は大きく逸脱しているので仮称として「HyperDatabase」ということにした(HyperText的な意味なので空白はなくした)。まあ名前はなんでもよくて、私自身はコードネーム的に「hyper」と呼んでいる。
 色々な機能を搭載しているのだが、これらは今までばらばらにツールとして作っていたようなもので、今回それを統合した形だ。それぞれ思いついた時にはその機能を中心機能にしたツールを頑張って作るということしかできなかったが、今回はそれらを適切に組み合わせてデザインするというところまで行き着いた。
 今現在、デジタルノートツールはScrapboxとDynalistとこのHyperDatabaseの三つを使っている。なおHyperDatabaseにはScrapboxのjsonデータを一発で取り込むことができ、Dynalistのopmlデータもやろうと思えば取り込む機能を作ることができるので、ツールを使い分けてはいるが最終的な可能性としてデータは統合された気分で使っている。
 頑張ってツールを作っていても所詮は素人なので、いつどのタイミングで想定外のことが起こるかわからないし(最近はそんなには起こらないが稀に「あっ」となる)、ちゃんとしたプログラマーが作ったちゃんとしたツールはやはり使い続ける必要を感じている。バグが発生した時にその場で対処する余裕があるタイミングならいいのだが、「さっとメモしたい」みたいな時にバグと直面すると非常に困る。なので、ScrapboxやDynalistはHyperDatabaseとゆるく連携したツールとして現役だ。HyperDatabaseが本部でScrapboxとDynalistが支部みたいなものかもしれない。支部の方が現場としては優秀である。

 このブログを本格的に始めた時の連載アウトライナーの使い方ド下手問題~まとめ~の最初で「情報管理の『系』を作り上げていく」ということを書いた。プログラミングと一年間格闘して、その姿が見えてきたかもしれない。

2023/01/21

RSSリーダーでツイートやトゥートを読んでみる

※こうするとすごく快適だぞ、という話ではありません。


 某短文投稿サービスが毎日のように物議を醸しているが、サードパーティ製のクライアントが封じられたのには本当に不便な思いをしている。サードパーティ製クライアントを許容すべきだと言いたいのではないのだが、方向転換するならするで然るべき手順を踏んで開発者にも利用者にも移行の準備をさせるのが筋なんじゃないのかと思う。

RSSリーダー再び

 文句を言っていてもしょうがないので本題へ。
 情報を得るにあたり、特定のサービスに各々が流す情報をそのサービス上でキャッチする、という形態に頼りすぎていた反省があるので、別のやり方を考え直している。真っ先に浮かんだのがRSSである(というか、他にはまだ浮かんでいない)。他の人もRSSリーダーの話をちらほらし始めているように思う。
 情報のあり方に関心の強い人は特定のサービスへの依存度を下げようと動きつつあるのではないかと思うが、とはいえその動きが広まるにはしばらく時間がかかるだろう。他にどこに行けばいいかの世論的なものが定まっていない以上、当分は文句を言いながらもTwitterを使う人が多いだろうし、情報はまだTwitterに流れ続ける。いずれ何かがすっかり取って代わってしまうものかどうかもわからない。ずっとTwitterは在り続けるのかもしれない。
 なので、RSSリーダーでの各所のチェックをメインにするとしても、発信者たちの模索が進むまではTwitterをカバーする必要があるだろう。RSSリーダーでTwitterの投稿を読めたらいいのだが、単にアカウントのURLを登録しようとしてもフィードとして取得はできない。FeedlyやInoreaderには有料機能としてTwitterの投稿を取得する機能があるようだ。

Nitter

 他の手段として、NitterというTwitter検索エンジンのRSS機能がある。
 Nitterの紹介記事:Twitterを広告なしの超軽量に変える「nitter」、タイムラインをRSS化することも可 - GIGAZINE
 NitterのGitHubページ:GitHub - zedeus/nitter: Alternative Twitter front-end
 これがこの先ずっと使い続けられるのかどうかはわからないが、今のところはRSSの取得は可能である。ただ、個人ページ(例えばのらてつ (@Foam_Crab) | nitter)を見るにサイト上では投稿がちゃんと取得できていないことがある。これはアカウントによって状況が変わっていて、正常に表示されているアカウントもあれば、私のアカウントのように表示されなくなっているものもあるし、数日前は見れたのが今は見れなくなったりもしている。
 検索エンジンとしては機能しているし、RSSもちゃんと更新されているようだが(私のアカウントのRSSも更新されている)、なんとなく不安定な感は否めない。
 更に微妙なのが、FeedlyやInoreaderではNitterのRSSの認識がうまくいかないことだ。Feedlyでは最初は良かったが、途中でステータスが「Unreachable」になって取得不能になった。Inoreaderではそもそも認識されない。
 じゃあどうするのか。私の環境ではQuiteRSSというアプリケーションで解決した。

QuiteRSS

 PCにインストールするデスクトップアプリケーションのRSSリーダーで、今となってはマルチプラットフォームでないのはなんだかスマートさに欠けるかもしれないが、何も全てを全ての端末で共有しなくても構わない。そう思ってインストールしてみた。
 雰囲気は公式サイトにあるスクリーンショット(Screenshots | QuiteRSS)を見ればおわかりになるだろうと思う。一応説明しやすくするために私の画面を貼っておく。

画像

 個人的にすごく助かっているのが、フォルダを自由に入れ子にできることだ。フォルダの中にフォルダ、更にその中にフォルダ、ということができる。そして任意の階層でその中身をまとめてチェックすることが可能だ。更新が溜まっている時はフィードごとに確認し、そうでもない時は分野ごと、あるいは全体をまとめて見る。Feedlyでもフォルダ機能はあるが、自由に階層を作れるこちらの方が便利に使えている。
 さてこのアプリケーションにNitterのRSSを登録するのだが、すんなりといかないことがある。フィード追加画面でURLを入力しても、時々「サーバーの応答: 見つかりませんでした!」と表示されてしまうのである。
画像

 通るか通らないかはその時々で、理由はよくわからないが通信の状態か何かのタイミングの問題なのだろう。通りやすい時間帯と通りにくい時間帯がある気がする。もしかしたら私の環境だけなのかもしれない。いずれにせよ、一度試して駄目でも諦めずに何度かやっていればそのうち認識してもらえる。
 そんな感じでQuiteRSSに見たいアカウントをNitterのRSSで登録していった。フォルダがTwitterのリストのような役目を担って、見たいアカウントの選択が容易なのでチェック自体はやりやすい。表示の見た目としてはTweenみたいなものである。ただしTweenのように行の高さを変えることはできない。
 表示レイアウトを切り替えて新聞ビューというのを選択すれば、一応タイムラインっぽく連続して見ることもできるのだが、デザイン的にあんまり見やすくはない。公式アプリかWeb版の方が読みやすさとしては上だろうと思う。
 なお当たり前だがRSSリーダーから自分が投稿することはできないので、どうであれRSSリーダーだけで完結することはない。

 ちなみに、Mastodonのフィードを登録する時はユーザーページのURLに「.rss」を付けて入力すれば登録できる。例えば私のアカウントなら「 https://fedibird.com/@noratetsu.rss 」となる。

 何をどうするのが良いのかというのは何とも言い難いところなのだが、とりあえず今までやったことのなかった方法を試してみて、ちょっと選択肢が広がったなと思う。
 

2023/01/20

用語集に索引を作りました

 用語集というのは先日書いたNoratetsu Lab Dict.(記事リンク))、Scrapboxの公開プロジェクトのことです。

 このブログに登場する名詞・概念の類を「あれ」と指せるように作っているものです。ブログの記事は「あれ」を単位として書いていないため、「前にも書きましたが」と言って記事をリンクとして貼ってもわかりにくい、という問題の解消が目的です。読み手のためという気持ちもありますが、自分がブログを書く際の不便をなくしてすいすい進みたいということの方が重要かもしれません。

 今のところ90ページ弱作成していますが、ただ並んでいると雑然とし過ぎていて不親切な感じがするので索引ページを作ることにしました。

  • 索引

 ページとページの間の繋がりはScrapboxの得意なリンク機能で示すとして、「つまるところ何があるのか」を可視化するにはやはり書籍にあるような索引が必要だなと。
 何より自分自身が「つまるところ何があるのか」をわかっていなかったので、索引を作る過程で随分認識が整理されました。どういう切り口で整理して索引にすればいいのかも自明ではありませんでした。整理する過程はいわゆるアウトライン・プロセッシングだったのだろうと思います。

 あとCSSをちょっと整備しました。このブログの付属品として存在しているものなので、なるべくデザインが近い方が良いだろうと。元々使っていた公開プロジェクトのNoratetsu's Room(のらてつ研究所)のようには細々とこだわってはいませんが、このくらいで十分だろうという感じです。
 索引的なページはそのNoratetsu's Roomでも作ろうとしたのですが、その時はあまり有意義には感じませんでした。多分、ページの単位が名詞ではなかったからだと思います。
 

2023/01/18

焦がれたもの探し

 こちらの記事を読んだ。

 なるほど面白い自己対話だと思い、自分にも「焦がれたもの」を問うてみることにした。


 しかし、今ひとつパッとは思いつかない。「好きなもの」ならこれまで頑張ってそれなりに掘り下げてきたので、ある程度あれこれと言えるが、「焦がれたもの」となるとなかなか難しい。
 最近は当てはまるものがないような気がするので遡って思い出そうとしたものの、そもそも成人以前の記憶があんまりない。精神的に不健康だったからだろう。(忘れてしまいたくなるほど何かすごく酷い目に遭っていたというわけではない。漠然と自己不在に悩まされ、漠然と鬱だった。)

今でもぼくはかつて焦がれたモノたちへの気持ちに駆動されて生きているようなところがある。
 私は何を原動力にしているのだろうか。これまでも何度か自分に問うた気がするけれど、はっきりとした答えは出ていない。何らかの候補をひねり出しても、それを覚えていられない程度にぼんやりとしたものに留まっている。
 強いて言うならば、「己のことを知らぬままでは死ねない」という思いがある。自分を知るということに並々ならぬ熱意がある。自分のことが好きなのかと言えば、元気よく「嫌いです!」と答えるが、好きとか嫌いとかいうこととは別に、自分自身に対して興味は強くある。(興味が強いから嫌いと断言できるのだろう。)
 つまり「まだ見つけられていない自己」に焦がれているのかもしれない。というか、まだ見つけられていないところに「好きになれるかもしれない自己」がいると感じているのかもしれない。

 あと、割と最近心の中で応援している人がいる。積極的に何かをしているわけではない。全部を知ろうとしているわけでもない。時々活動の様子を調べて元気に活躍していて嬉しいなと思うだけだ。
 考えてみるに、それは自分を知る延長にあることのような気もする。その人が自分を映してくれるわけではないが、自分の価値観を明らかにしてくれる存在ではある。
 その人という存在を人間として奇跡的だと思ってはいるが、その人を自分が知って応援していることについて運命的だとは別に思っていない。真剣に考えてはいるが熱を持って見つめているのではない。私淑と推しの間にある何か(あるいはその二点から等距離にある別の何か)という感じがするが、とりあえずそのどちらでもない。焦がれているような、いないような。

 私は自分の外にある何かに強い関心を抱き続けるのがとても苦手だ。弱い関心をどうにかほそぼそと維持するか、強い関心を一瞬持つか、そのどちらかになりやすい。そして一瞬ならものすごく強く惹かれたというものであっても、波が過ぎ去るとそういうことがあったことすら思い出せなくなるので、私はいつも自分が空っぽのように感じている。
 そんな中で、関心を持たずにいるわけにいかないものとして「自己」があるのかもしれない。それも、あくまで自分にとっての自己であって、外にどう「見せる」のかということには興味がない。
 多分他から見たら私は正体不明な人間だろうし、私自身私が正体不明である。

 もうちょっと考えれば「かつて焦がれたもの」を思い出せるかもしれない。いつでもキャッチできるように網を構えていようと思う。
 

2023/01/14

雑なメモは雑に書かれなければならない

 副題:最強のデジタルノートツールを作ったらむしろ紙のメモが増えた件。


 昨年末から開発に取り組んできた自分用デジタルノートツールがあり、まだ実装したい機能全体の七割くらいの段階ではあるが、実用に足るところまで出来上がっている。詳しくは別に書くが、一言で言うとアウトライナーとホワイトボードとScrapbox風カード型管理を一体化したツールである。アウトライナー部分のスクリーンショットはこんな感じ。

画像

  中央上部にデイリーアウトライン、中央下部に今アクティブなテーマのアウトライン(複数並んだ状態)、左にどこにも属していない思いつき用のアウトライン、右は全アウトラインの中にあるToDo等の項目のピックアップ欄(全てのアウトライン項目に任意の属性を付与することができる)になっている。
 一番上の「Outline」「Board」「Database」のラジオボタンで機能を切り替えて使う。一応あらゆる粒度のメモを違和感なく収めることができて、今のところとても便利である。

 そんな感じで理想的なツールができつつあるのだが、その一方で、紙に書くメモ(notノート)というのがむしろ前より増えている。
 具体的にはB5またはA5の紙(向きは横長)に主にぺんてる筆で書いている。筆だが横書きだし、JavaScriptのコードなどを書くこともある。なおぺんてる筆をメモに使うようになった経緯は前にちょっと書いた(ぺんてる筆)。
 メモの内容や形態は様々である。絵や図を含むような、デジタルでは難しかったり面倒くさかったりするメモもあるし、デジタルでも構わないはずのほぼ文章に近いメモもある。一時的なメモもあれば当分参照し続けるメモもある。参照し続けるメモというのは、大抵メモのつもりで書いたのがノート的性格のものになったという形だ。

 これまで自分に馴染むデジタルノートツールを追求してきて、自作できる範囲で叶えられるものの上限にそろそろ近づいてきた。これ以上直感的にはならない、という限界のようなものが見えてきたという感じである。Obsidianに最近追加されたCanvasHeptabaseなどのような平面配置系の機能の強化はまだ多少進む余地はあるが、なんというか、根本的に「これ以上有機的にはならない」というようなラインが恐らくあり、それを悟ってしまったようなところがある。(VR技術が身近になればまた話は変わってくるだろう。)
 どんなに直感的にしていっても、まず書き込む場を選択して、そして書き込み方を選択する、という手順のデジタル感は消えないような感じがする。たとえタブレットに手書きすることが可能としても、手元の紙と画面の中の手書きアプリは同じにはならない。そのデジタル感に自分が適応するという手はあるが、私にはどうもそれは難しく、手書きアプリでも「専用のアプリケーションを選択して、手書きという記録方法を選んでデータを入力する」という感覚が残ってしまう。他の種類のアプリケーションは尚の事である。
 一方紙に書くということは、手段を選択する前の時点で既にある手段という感覚がある。紙に書くのが単語か文か、絵か図形か、といったことは個々人で分かれるにしろ、「とりあえず書き留める」ということを考えた時にパッとやれるのが「紙に書く」だろうと思う。
 書き留めたいものが頭に浮かんだとして、その瞬間に如何なる記録方法が適切かが判断できればそのツールに直行できるが、そうでない場合というのが必ず出てくる。自分の考え事というのを特定の種類の仕事に限るなどすれば然るべき記録方法は絞られるにしても、自分の頭を制約なしに自由にしていると、書き留めること自体が無謀な抽象加減で何かが浮かんでくる。それをどうにか少しでも書き留めるとするならば「紙に書く」以上に適切な手段がないということがままある。
 少し前までは、うまく設計すれば「手段の選択」という感覚なしにサッと書き込めるツールを作れるかもしれないと考えていたが、そんなものはない、というのがここまで自分でデジタルノートツールを作ってきての感想である。
 つまり「作ろうと思えば何でも作れるはず」という前提の元にデジタルノートツールと向き合ってきた結果、かえって紙というものの普遍性と唯一無二性を感じることになったわけである。

 全く別の観点からも、紙にメモを書くという動機づけが強化されている。
 紙にメモを書く時(notノートを取る時)、私は意識的に筆跡を雑にして書くことにしている。自分で読むには一応支障はないが、他の人が読むとなると判別が怪しくなってくるというくらいの雑さで書いている。元々は、人の目に入った時にさらっと読まれるとなんか嫌だということから努めて(?)判読が難しくなるようにしていたのだが、最近は自分のために汚く書いている。
 雑に書くために紙は必ず罫線やドットのない無地を選ぶ。要らなくなった紙の裏なんかは一層雑に書きやすい。自分が書いたものを大事にするという意味では何かの裏面の再利用というのは相応しくないのだが、自分にメモを雑に書かせるにはその方が都合が良い。

 そこまで積極的に雑に書いているのは、雑な方がその記述に対して次なる思考が働きやすいという実感があるからだ。
 それは「きっちり書くと加筆しづらい」ということとイコールではない。全く無関係というわけではないが、後から書き添えやすいかどうかとは別の話で、あくまで「思考が動く」ということがポイントである。
 雑に書かれたものは見た目に安定感がない。完成されているという感じもないし、どうにかしたほうがいいんじゃないかという気持ちを湧かせる。書かれた内容が何らかの意味で揺るぎないものだとしても、筆跡が雑だと「もうちょっとどうにかしたほうが」という感が漂う。単に綺麗に清書するなりPCかスマホに打ち込むなりして済むこともあるが、内容自体を考え直すこともある。内容が割合しっかりしていてもそうなるのであって、内容自体が中途半端なら尚更「どうにかしたほうが」感は強まる。
 言い換えると、「整ったと錯覚する」ということを防いでいるわけである。美しく記述してしまうと、もうこれでいいのかもしれないという感じがしてしまうところがある。びしっと書けてしまったことには手を入れにくい。
 その点、デジタルな入力というのは綺麗過ぎるところがある。「文章」と「文章未満」の間には「どうにかしたほうが」感の差が生まれはするが、筆跡には差がなくいずれも綺麗となれば「文章未満」のものにもある程度の「整った感」は伴う感じがする。
 これはフォントに工夫の余地はあるかもしれない。私は試していないが、メモ書きの領域をゆるい手書き文字フォントにするというアイデアはあり得る。ただそこまでしてデジタルで完結させたいと私は感じていないし、前述の「手段の選択」問題もあるので、今のところ紙に自分の手で書くことを選択している。

 そして雑に書かれたものは、「項目」として認識しにくくなる。丸や四角ではっきり囲めば別だが、デジタルツールにおける「行」「ノード」のような「単位」を意識することは少ない。よって「項目単位で扱えてしまう」ということが減る。
 デジタルツールに書いた雑なメモの扱いで困ることのひとつに、それをそのまま活かそうとしすぎてしまうことがあると感じている。メモを「最小単位にしてしまう」のである。そうできることがプラスに働くことはもちろん多いのだが、項目として存在することで個別の対象として考えすぎてしまうことがある。
 これと指し示すのが難しいようなごちゃごちゃした雑なメモの集合体を、それ以上細かく整理しようとせずにぼんやり全体を眺めた時、ふと新たなアイデアが生まれる、という体験をしばしばしている。
 アウトライナーに雑多に列挙した時に生まれる効果もそれと似たものだと思うし、どの程度の雑さが必要になるのかは人それぞれだろう。何も筆跡まで汚さなくとも、と感じる人も多かろうと思う。肝心なのは「意識的に雑にしてみる」という発想であり、どういう形で雑にするかはここでは些末な話である。

 記事のタイトルはちょっと強気に出ているが、メモを綺麗にしようなどと考えてはいけないぞという自分への警鐘として「雑なメモは雑に書かれなければならない」としてみた。

2023/01/10

「新年の目標」

こちらの投稿に関連して。


いつもはっきり目標を立てることはしませんが、今年は「やること」はいくつか決めてブログに書きました2023年にやっていくこと。ただこれに関しては目標というよりは「予定」かなと思います。

昔は新年を迎える度に何かしら「こうするぞ」と掲げていました。でも途中から目標は立てないようにしました。年末の振り返りはずっとしていましたが、「新年に目標は立てない」と意識的に決めていた感じです。
なぜか。私が立てた新年の目標は意味を成すことがなかったからです。――というと大変不穏ですが、決して、新年に目標を立てることは意味がない、という話ではありません。私が「新年の目標」と仲良くできなかっただけのことです。

新年の目標とは、ある種の「自分との約束」だろうと思います。私は私のこの一年をこうします、と自分に宣言するもの。そういうふうに宣言しておかないと一年を漫然と過ごしてしまう可能性があるので、生きた甲斐のある一年にするために「この一年はこうしましょうね」と言っておくものと思います。目標そのものをクリアするかどうかより、そこに向けて自分を動かしていくことを忘れないことが重要と思います。
そして過去の私も毎年何かしら自分に宣言していたわけですが、その約束のほとんどを私は結局守れませんでした。別に「あからさまに無理な目標を立てている」というわけではありません。そんな無理とは思えないような、「ちょっと頑張れば達成できたはずの」目標を、それでも達成できなかったわけです。そんなことが続いたので、私は自分の怠惰に直面するのが嫌になって、とりあえず新年に目標を立てるということはやめてしまいました。

それは目標の立て方がまずいのではないか……そう思われた方が多かろうと思います。その通りです。ただ、どうまずいのかに気づくのは結構難しくて、はっきり答えが出たのは倉下さんのご投稿を見て考え始めてからです(つまり今さっきです)
一言で言うと、「程度」の問題だと考えていたのが根本的な誤りでした。前回駄目だったのを、「じゃあこのくらいなら」と思って目標にする、その態度がそもそも失敗への道に繋がっていたわけです。
昔の私にとって「新年の目標」とは、自分を矯正するためのものでした。自分の欠陥を埋めること、自分の苦手を克服すること、自分の根性を叩き直すこと。「今の私」というのは「駄目な人間」で、一年の間に少しでも「まともな人間」にならなくてはいけなかったのです。如何にも精神を病みそうな認識ですね。それがかつての私の当たり前でした。
そんな状態なので、新年の目標というのは常に「今年こそは」と思って掲げることになります。既に失敗したものを、今年こそは実らせようと思って、ケツを叩くために自分に表明するのです。「できない」という結果がもう出ているのに、新年のやる気の勢いでどうにかしようとしてしまう。

むしろ逆に考えるべきだったのだと思います。去年上手くいったことについて、次はどの高さまで飛ぶのかを考える。あるいは、できるかできないかなんてわからない未知の領域に向けて、一歩踏み出すことを考える。
もちろん自分の苦手要素と格闘することも必要でしょうが、それはなにも「新年の目標」でやらなくてもいいようなことなのかもしれません。「新年の目標」というのはもちろん「一年の目標」です。つまり期間が決まっているものです。しかも一年というのはあっという間です。そう考えると、苦手の克服を成し遂げることを期待するにはあまりに期間が短い気がしてきます。
なので、新年というめでたきタイミングで考えるに相応しいのは、「より高く」「新しく」あるいは「(過去にできたことを)もう一度」のいずれかなのでは、と今は思います。そして新しいことを通じて結果として苦手を克服するというのは十分ありえます。(というか、苦手の克服というのはそもそもそう考えるべきもののようにも思います。)

ここまでは「新しい一年についての目標」という意味での「新年の目標」について私に起きたことを語ってきました。
それとは別に、年が改まるのを機に「人生の目標」を見直すということがあります。かっちり決めて欠かさずやってきたというわけではなく、「年が替わるし、まあここいらでちょっと見直すか」という気持ちが生じたらちょっくらやる、という感じです。
自分はどう生きるか、というようなことについてはレビューの然るべきタイミングというのが特にないので、年始めや年度始めを利用して考え直すのが一番私にとっては自然に感じています。

2023/01/09

リストの形の写真を撮る

こちらの投稿を読みました。(読んで考え始めてから随分経ちました。)


「現在のリスト」と「未来のリスト」が区別されない、「現在のリスト」の中に「未来のリスト」が含まれてしまっている。これは私も身に覚えがあり、インボックスがごちゃごちゃになる大きな要因とも感じています。

しばらく考えていて、かなり前にちょっと関連することが話題になっていたのを思い出しました。
たいていのリストはEphemeral Listである - Unnamed Camp

「もやもやしているリスト」は、実際は、「2021年n月m日にもやもやしていたことを書き出したリスト」である。
この一文に当時たいへん刺激を受けました。
「もやもやしているリスト」の中には、もやもやしていると言うだけあって大抵「これから処理しなければならないもの」がたくさん入っているわけです。その意味で意識としては未来を向いているので、感覚的に言うと「未来のリスト」として作っていることになります。
しかし、「もやもやしているリスト」を作る理由は「今もやもやしていること」を明らかにするためです。そこに入るものをこれから処理するのかどうか、どう処理するのかは置いておいて、まず「今もやもやしていること」は何かを知らなければならないから作るリストなのです。
一方で、もやもやを全部洗い出そうとするならばリストを作り終えるまでそれなりの時間がかかってしまうので、「今」を瞬間的に捉えることはやや難しくなってくる感じがします。そうなると時間感覚が前後に伸びてしまい、究極的にはもやもやしているものが全部解決するまでアクティブなリストとして考えてしまうことにも繋がります。

冒頭のご投稿にて、

GTDで洗い出したものは行為として実行するコミットメントは持ちません。一方でプロジェクトの行為として書き出したものはコミットメントを要求します。前者は、それが何であれ気になることをただ書き出せばいいだけであり、そこから「じゃあどうするか」を考えるのは次のステップです。
とお書きになられているように、「今もやもやしていることを洗い出すこと」と、「もやもやを解決するために必要なことを考えること」は別の次元の話だろうと思います。
言い換えると、「事実」と「想像」の違いとも思います。想像というのはこの場合「事実」ではないという意味で、願望や計画、予測などを含みます。
「自分は今こう思っている」ということを「自分は今この時点ではこう思っていた」という「事実」として解釈する習慣がなければ、時間的に過去の時点で既に確定したことだけを「事実」と捉えてしまい、「自分は今こう思っている」ということが「想像」としてのみ扱われてしまうように思います。結果「現在」の視座が曖昧になり、「今」の話を「未来」として考えることと混在させてしまうのではないかと感じます。
「現在」は、言うなれば「事実」と「想像」の汽水域であり、それらを繋げる場であるとともに(なにしろ何かしらの行動を取れる――つまり何かを「事実化」できる――のは「現在」だけと言えるでしょう)、そうやって繋げてしまうがために、切り分けるのには「どう見ても終わっていること」「どう見ても先の話」というような客観的な明らかさを求めがちなのかもしれません。

上述の「2021年n月m日にもやもやしていたことを書き出したリスト」という言い回しを見た後、私は「スナップショットを撮る」ということを考えました。デジタル的な意味での現状保存としてのスナップショットです。
撮ってしまうわけですから、その後それは動かして運用していくわけではありません。リストを「もやもやしているリスト」として考えると常に「現時点でもやもやしているもの」になるように改め続けることになりますが、「○○時点でもやもやしていたリスト」はその先に改める必要はありません。というか、「思い出したから足した」「わかりやすいように整理した」という以外のことで手を加えてはいけないでしょう。事実の記録ではなくなるからです。
インボックスは文字通り「箱」のイメージを持ちますが(つまり対象そのものがそこに入っている)、スナップショットには「箱」のイメージはありません。「写真」であり、実体を持たないのです。写っているものはそこにあるわけではありません。
デジタルなツール上では、箱としてのリストもスナップショットとしてのリストも同じ形をしています。スナップショットとしてのリストもスクリーンショットで本当に画像化するなどしない限りはいつでも編集可能なままです。
しかし、項目を移動可能・処理可能なものとして捉えてしまうと、それは「未来のリスト」としての性格を持ってしまいます。これから先の時点で操作するつもりがあるということなのですから「未来のリスト」にならざるを得ません。

となると、「現在」をインボックスという箱的イメージの中で(箱的イメージのままで)扱うことがもしかしたら混乱を生むことにも繋がるのかも、とも感じます。

「洗い出しと判断」を切り離すこと
箱とスナップショットという言い方をしてきましたが、「洗い出しと判断」の切り離しを実践するにあたっては要するに「○○時点」という発想を明確に持つことが重要なのかもしれません。
「洗い出す」ということに、具体的に「いつ」をつけること。「洗い出し」という表現はよく聞きますが、そこに「いつ」をどれだけ意識するかはそれほど語られていないような印象を持っています。

2023/01/08

2023/01/08 ―― アイコンと生まれる表現/ドット絵を描くツール

 アイコンを替えることにした。
After(四代目)

画像

Before(三代目)
画像

 前回(三代目)が去年の八月末からだったので、四ヶ月ちょっとでの変更ということになる。初代と二代目はもう少し長く使っていたから最短の交替。イラストとしては気に入っていたのだが、ちょっと理由があってずっと変更を考えながら使っていた。

 いずれにしても蟹であることには変わりないけれども(蟹である理由などはこちら→泡を吐く蟹)、印象はまあ全然違ったものになったと思われる。一番違うのは「目」の存在感だろうなと思う。
 ブログだとブログを書いている間も読む間もアイコンなんてのは気にしないので、どんなアイコンでも大した差はないし、そもそもアイコンはなくてもいい。多分アイコンの存在を私自身が気にしていないから今まさに書いているような文体で書いていられているのだと思う。
 一方、短文投稿サイトの類は話が違ってくる。TwitterやMastodonの投稿には常にアイコンが伴い、自分がそのアイコンの顔で喋っているということを強く意識している。そういう意識があるからなるべく滑稽なアイコンにしようと思って作ったのが二代目や三代目のアイコンだった。いちおう自分なりに面白い存在でいようと思ってのことだ。

 で、攻撃性の低いとぼけたような感じにしようと思ってそうしたのだが、特に三代目に替えてからひとつの問題を感じていた。なんとなく、丁寧語で喋りづらいのである。丁寧に書こうと意識した時は丁寧語で投稿したが、丁寧に書こうというくらいの改まった意識を持たないと丁寧語にならない。雑に喋るほうが自然な感じがしてしまう。
 初代のアイコンの時は多分そうではなかった。その変化は「『のらてつ』でいることに慣れてしまった」ということかとも思っていたのだが、しかしどちらかというと、「顔が変わった」ことの影響の方が大きいような感じがする。
 具体的には、とぼけた感じの顔であることにより、丁寧に書こうとすると逆に圧があるような気がしてしまったということがある。これは他の世界で感じていたことを引きずっているせいもあるのかもしれない。
 普段攻撃性も隠さずにおちゃらけている如何にもツイッタラーらしいツイッタラーが、「ちゃんとするとこはちゃんとしますからね」という感じで人一倍きっちりとした口調で何かを発信した時の、あの感じ。ものすごい圧である(と私は感じていた)。本当はちゃんと考えて動いていますから変な絡みはしてこないでくださいね、みたいなメッセージが実際に込められていただろうと思う。圧!!!!
 ということで、「ふざけた顔」で「丁寧なことを言う」というのが自分の中にどうも抵抗を生じていて、結果として「ふざけた顔で雑なことを言う(もしくは雑になりそうだから黙る)」というのが自然になってきてしまった。それは良くない! 私がやりたかったのは「面白く在る」ことであって、「雑に在る」ことではない。雑というのは必然的に攻撃性の高まりも伴ってしまう。

 そんな感じで問題意識は以前からあったのでアイコンの変更は割と前から検討していたものの、じゃあどう替えるのかということをしばらく考えあぐねていた。可能な限り単純化したいという気持ちは前々からあって、実際代を重ねるごとに単純にしていったが、もっと抽象的な感じにならないだろうかと悩んでいた。
 泡とハサミだけで蟹を表現してはどうか、と思ったりもしたが、肝心なのは「泡を吐いている」ところであって、泡そのものではないし、蟹そのものでもない。しかし「泡を吐いている」という要素を不可欠としたらこれ以上抽象的にならない気がする……。
 答えが出ないので「如何にせむ」とTwitterにつぶやいたら、ツイートボタンを押した瞬間にハッと思いついた(自分でびっくりした)。頭に浮かんだのは、以前いくつかのスマホゲームで見かけたドット絵風の3DCGだ。ボクセルアートというのだろうか。あんな感じにできたらいいのでは……いっそ頑張ってモデリングの勉強もするとか……とも思ったが、さすがに大変なので、ボクセルアート風にわざわざ描くか、2Dのドット絵にしてみるかと考えて、ひとまずはドット絵に落ち着いた。
 ドット絵にしてみると、一言で言えばゲームっぽくなった。ゲームをイメージしてたどり着いたのだから当たり前だけども、やはりドット絵と言えばゲームである。では「どうではなくなったのか」と考えると、多分「キャラクター的でなくなった」と言えるだろうと思う。
 キャラクターからゲームのユニットへ。それらは何が違うのか? 大袈裟に表現すれば、「叙情」から「叙事」への変化みたいなものがあるのではないかと感じている。叙情的表現が相応しい見た目か、それとも叙事的表現が相応しい見た目か。自分自身がその境界上にいるようなところがあり、恐らく見た目でどちらに流れるかが大きく左右される。
 初代のアイコンはキャラクター的でなく、描き方もどちらかというと絵画的だった。ゲームとは逆方向の若干(本当に若干)リアル寄りの雰囲気だったけれども、いずれにしろ表情という要素がなく「キャラクター」からの遠さという意味ではドット絵と同程度に思える。叙事的表現が合う見た目だったのだろう。
 新しいアイコンが自分にどういう影響を及ぼすのかは長い期間の観察が必要になるだろうけれど、そういう自己観察もある種の楽しさがある。(ただし不本意な自分を直視することもセットである。)


 ちなみに、新しいアイコンは自分で描いたドット絵なのだが、ドット絵を描くツールを自分で作ったりした。HTML+CSS+JavaScript(+Node.js+Electron)製。

画像

 こんな感じ。マスの数を指定してtable要素を作り、使う色をinput要素で用意して、td要素の数字を書き換えることで番号に対応した色が適用される。input要素で色のコードを変えれば、対応するマスの色が全部変わるようになっている。
 保存すると、色データ(カラーコードを並べた配列)と配置データ(数字の二次元配列)が入ったJSONファイル、マスごとに要素を作って描画したSVGファイル、SVGを変換したPNGファイルが出力される。
 難易度の高いプログラムなわけではないものの、結構色々な処理をしているので、説明はちょっと難しいかもしれない。設計に関して参考にしたものとかは特にない。そのうち試用できるように公開する予定(いつになるかはわからないよ)

 必要かつ十分な機能があればいい、自分で作れば習熟に労力を費やす必要がない、あとコーディングの経験値を得たい、という理由で自分でツールを作ったわけだが、ドット絵を描くというだけならPCでもスマホでも専用ツールがたくさんあるので、自分もドット絵を描いてみたくなったという人はそちらをお使いになられますよう。

2023/01/06

ブログのレイアウトを部分的に修正しました

 ごく細かい部分ですがいくつか修正を加えました。

  1. 上部のリンク集の内容を変更
  2. 上部のリンク集をクリック時に新規タブを開くように修正
  3. 記事ページの下部に前後の記事へのリンクを表示

 リンク集には各投稿先へのリンクを並べていましたが、先日ホームページ的なものを作ったので(Noratetsu's page)、それを「マイページ」としてそこから各地に飛べるようにしてリンク欄は整理しました。
 リンク集クリック時の挙動は変え方がわかっていなかったのでそのままになっていたのですが、久々にHTMLのカスタマイズ画面を見たら普通に「ここを変えればいいな」とわかったので変更しました。(BloggerのHTMLは見慣れない記法が多くて初学者にはちょっと難易度が高い…。)
 前後の記事へのリンクはなぜか非表示にしていたので復活させました。なぜ非表示にしていたのか。

2023/01/06

Noratetsu Lab Dict.

 ブログの補助的なScrapboxプロジェクトを作りました。

 ブログ上部のリンクリストに「用語集」と書いてあるのはこのプロジェクトへのリンクです。


 ブログで何か書いていると「前に言及したあれ」を指したい時がありますが、単語を単位として説明している場所がないため前に言及した時の記事をリンクするほかなく、それだけではどの部分を指しているのかわかりにくいという問題がありました。
 そもそもこのブログの記事は何かの概念を明らかにするために書いているわけでもなく、ただただ「その時点の私」の話をしているので、概念や事物について参照するためには大変に不向きな形態になっています。

 なので、概念や事物を単位として書いたことをまとめ直し、「前に言及したあれ」を指したい時にリンクできるようにすべく、Scrapboxを利用することにしました。
 ブログ全体をチェックし直してページを作っていって、なんだかんだ73ページになりました。PCで見てスクロールさせれば大した量ではありませんが、想像より多くなったなと思います。
 作っていてとても楽しかったのですが、自分を基準としたリキッドな描写と事物を基準としたソリッドな描写の両面があることで、表現として補完しあって完成形に近づいた感じが喜ばしいのかもしれません。

 なんとなくUserCSSは要らないかなと思って何も適用していませんが、ブログと同じテーマにした方が一体な感じがするという気もします。そのうち大規模に変えるかもしれません。
 

管理人

アイコン画像

のらてつ Noratetsu

キーワード

このブログを検索

検索

ブログ アーカイブ

2025
2024
2023
2022
2021