ongaeshi day

Rconvでタイムゾーン変換

Slackがリクエストを見つけたのでざっと作ってみた。 後はタイムゾーン一覧を作ればOK。

Rconv 紹介ブログを書いた

rconv - Ruby WASMでプログラム電卓を作りました - ブログのおんがえし

Rconv 紹介ブログを書いている

重い腰をあげて原稿を書く。やっぱり一時間じゃ終わらなかった。

Rconv しあげ

大分必要な機能はそろったかな。

今はライフゲーム移植中。そろそろrconvのリリースブログ書こうかな。

Rconvのコンバータが状態を持てるように

なった。

https://github.com/ongaeshi/rconv/pull/19/

Ruby/WASMで作る小さなプログラム - 今からN時間後

Rconv(6)

サンプルコードの置き場所をrconv/sample.ja.mdに置いた。1日1つずつ投稿していく。

Rconv(5)

デフォルト値の設定や強制文字列オプションなど入れて大分使えるようになってきた。
https://scrapbox.io/rconv/ にサンプルコードを置いた。

Rconv(4)

  • e7b7805e 入力が入るたびにスクリプトを評価する

数値をKiBやMiBに変換するやつが大分便利になった。(自分的な次第点は超えたかも)

Rconv(3)

  • 73f02364 Rconv.setというAPI経由でコンバータを作れるようにした
  • 0e14f523 Rconv.setに:titleパラメータを渡すとページタイトルを変更できるようにした(独立したWebアプリケーションを作るのには重要)

文字数を数えるコンバータがサクッとかけるようになった。

image

Rconv(2)

  • 012a5280 f()という引数を受け取る関数を定義したら、input2の中身を引数に渡して実行できるようにした。

rconv開始

https://github.com/ongaeshi/rconv/ を作った。
rubyonbrowserのコピーから作成してここから改造していく。

ビルド手順をrubyonbrowserのREADMEにちゃんと書いてなかったので、webpackの使い方を思い出すのに時間がかかった。

Obsidianでつなげる情報管理術を読んだ

Obsidianでつなげる情報管理術 - Pouhon

Kindle Unlimitedに入ったので、Obsidianで検索して目次見てよさそうな本を端から読んでいる。その中でもこの本はとても参考になる箇所が多かった。

特に前後のデイリーログを自動でつなげてくれるTemplaterプラグインが大変便利。フォルダ構成も大分真似している。

ziglearnを読む

https://ziglearn.org/chapter-1/

  • 基本はCに近代言語のエッセンス(式になるifやswitch、パターンマッチなど)が入ったような印象
  • 関数よ引数はコピー渡しのみなので書き換えるときはポインタ型使う?
  • error構文が独特、try-catchキーワードは使うけど中身は別物(goに近い?)
  • unreachableが専用構文で便利
  • ポインタのデリファレンスがp.*でメソッド呼びみたい

dayのREADMEをもう少し分かりやすくしたい

格闘中。

https://github.com/ongaeshi/day/issues/4

大分よくなった気がする。(例を作るのが重要だったかも)

day/README.md

dayのモバイルからの編集を改善したい

SafariからWebインターフェース経由で編集しているのだが、もう少しよい方法がないか検索中。TextwellからAPI叩こうと思っていたが、公式アプリがあったのでまずはこれを試してみることに。

(試してみた) 残念、編集できないや。しかしIssueが大分見やすいのでこれはこれで使いそう。

読む力最新スキル大全を買った

https://www.amazon.co.jp/dp/4492046860

  • 筆者の情報の剪定、収集、メモ、展開、心構えについて一通りまとまった本
  • 今、RSSリーダーとPocketの使い方を真似している最中
  • 元々inoreaderとpocketは使っていたんだけど、Pocketに貯めても結局見ないで捨てたりしてしまっていたので改善したい気持ちがあった

こんな感じになった。

RSSリーダーとPocketの使い分け

  1. RSSリーダーでは極力見出しだけを見てpocketに放り込む(キーボードのy)だけにする
  2. 別のターンでPocketを開いたら記事を読んで既読にしていく(その都度ページ開かずに極力Pocket内で読む、広告も出ないし読み込み速度も早い)
  3. 英語記事の場合はまず無条件でgoogle翻訳のウェブ翻訳に入れてざっと日本語で読み、ちゃんと読みたい箇所は原文を当たる

RSSリーダーではPocketに放り込むのに集中、Pocketはどんどん記事を読むことに集中(リンク先開かない)、とタスクを分けることで大分やりやすくなった。

メモアプリの使い分け

基本1ポケット思想で1つのアプリにテキストを極力集約するようにしていたんだけど、自分の概念をまとめるメモと、Webクリップのような用途が違うものを無理やり1つのアプリで管理しようとするとかえって面倒。今こんな感じにしてる。

  • Obsidian … メインメモ、自分が思ったことや気が付いたことを記録、読書メモもここ
  • Scrapbox … Obsidianメモが手元にないときのメモを記録、複数人で共有したり公開したいメモを置くのにも便利
  • Google Keep … Webクリップ用(notionとどちらがよいかは試し中)

はてなブログでdayを紹介する

毎日簡単に更新できてサクサク閲覧できるブログシステムを作った - ブログのおんがえし

とりあえずひと段落かな。ここまで大体20日位かかってる。(そういうのもdayのおかげで大分わかりやすくなった)

dayのREADMEを書く

画像をgyazoにペタペタ貼って分かりやすくする。分かりやすく書こうとすると結構時間がかかる。

https://github.com/ongaeshi/day/blob/main/README.md

README.md

今はGitHubにtemplateという機能があって、forkしなくてもレポジトリの内容を簡単にコピーできるようになっていて便利。ongaeshi/dayもその仕組みを利用した。

dayレポジトリをimportして独自のブログを立てる

https://github.com/ongaeshi/day/issues/2で作業中。

実験でtoday musci というサイトをデプロイしているが、
全ての作業がWebインターフェースだけで完結するので大分楽。
SpotifyやYouTubeの埋め込みもWebインターフェースからできる。
ローカルにGitレポジトリはcloneしないで済んでいる。

次はこの作業履歴を元にREADMEを書く。

dayブログシステムを誰でも使えるようにする

最小限構成のレポジトリを作成中。forkしてWebから設定ファイル書き換えてコミットすればGitHub Actionsが走ってデプロイされるようになっている。

  1. https://github.com/ongaeshi/day をfork
  2. _config.yml書き換えてコミット(Web UI経由でOK)
  3. GitHub Actionsが終わるまで数分待つ…
  4. GitHub Pagesのブランチ設定をgh-pagesに変更

数分後…

https://ongaeshi.github.io/day/ がデプロイされる。

day blog sample

もうちょっとREADMEの調整して分かりやすくする。 https://github.com/ongaeshi/day/issues/1

zigのインストール

流行っているからHello Worldまでやった。zipファイルをダウンロード&解凍して(ファイル数多いのでまぁまぁ時間かかる)&PATH通せばOK。

zig buildすると裏で(インストールした覚えのない、多分zigのzip中に含まれている)LLVMが走ってネイティブバイナリが生成されるのはなかなか楽しい。

https://ziglang.org/learn/getting-started/

初見はgolangにGCがないやつ、もしくはRustよりは簡単なBetter Cという印象だけど、もう少し触ってみないと本当のところは分からない。

AirPodsの片耳が充電できない

ケースにぽいっと入れておくとたまに右耳だけ充電できていないときがある。電源もOFFにならないので次に聴くときに充電が切れているのが辛い。調べてもあんまりよい情報が見つからないので自力で解決策を模索中。

片耳が充電できていないときのiPhoneのステータス画面

  1. ケースの中のホコリを綿棒で定期的に取る
  2. 接触位置が悪いらしくケースに入れたときにちょっと奥側に倒したりして調整
  3. ケースのオレンジランプが付いたらOK、付かなかったら充電されていない
  4. AirPodsが充電されているときはケースを空けておけば(ここ重要)iPhoneのステータス画面で確認できるので心配なときは確認する(写真は失敗している状態)

これで大分事故は減った気がする。バッテリーはまだ劣化していない(最初バッテリーが劣化したのだと勘違いしていた)ようなのでもう少し使いたい。

dayブログシステムの汎用化

基本的な機能は入ったので、 forkすれば誰でも自分のブログを始められるようにしたい。 とりあえず専用のレポジトリとdescriptionを設定。

https://github.com/ongaeshi/day

プロを目指すためのTypeScript入門を読んだ

https://gihyo.jp/book/2022/978-4-297-12747-3

元々はJavaScriptやTypeScriptのモジュールシステムの説明が網羅的に記述されている書籍が欲しくて買った。7章がそれだが網羅的に記述されていて大満足。(ずっと断片的に使っていたのでrequireとimportの歴史的経緯とかが分かってすっきりした)

それ以外だと特にオブジェクト型とユニオン型のところが面白かった。大体読んだのでサンプルコードも写経し始めてる。map, filter, every, some, find 辺りがそらで書けるようになると大分楽しいのだろうな。

Twitter Cardに対応した

https://day.ongaeshi.me/20220710 をTwitterに貼り付けると以下のようなカードを表示してくれる。

twitter_card.png

  • jekyll twitter cardで検索すると色々出てくるので基本その通りにやればOK
  • Jekyllの情報は多くて助かる
  • _includes/head.htmlのheadタグ内にmeta情報を挿入する
  • descriptionのところは少し工夫していて、文章の先頭200文字を切り出して自動で設定するようになっている(参考)

GitHub Pages にカスタムドメイン(HTTPS)を設定

このページのURLを https://day.ongaeshi.me に変更した。

GitHub Pages でカスタムドメインを設定する(かつHTTPS強制)には基本以下の手順が必要。

  1. カスタムドメインの設定
  2. Enforce HTTPSをON
  3. ドメイン側でDNSレコードの設定

Custom domain

設定してもしばらくはアクセスしても「危険なWebサイトです」とか言われてして見えなかったりするので5分位は我慢。
※ 多分裏でLet’s Encryptにアクセスして登録手続きしてくれているのだと思う、ありがたい。

チ。―地球の運動について― (8)

https://shogakukan-comic.jp/book?isbn=9784098613175

  • 「チ」をとりまく名もなき人たちの群像劇が完結
  • 「チ」には色々な意味が込められているが私は「知」にまつわるエピソードに一番わくわくした
  • 最後は1周しただけだとちゃんと分からないところがあったが、それをどのように解釈していくかも含めての物語なのだと思った(他の人の考察読んだらまぁ大体分かった)
  • 1巻が面白い選手権だと歴代でも優勝なので、興味がある人は是非1巻の最後まで読んでみてほしい

ところで改めて1巻の帯読み直してみると、岩明均先生、オチが予想できてます…?(すごい)

記事の自動生成できた!

このブログの記事は全て https://github.com/ongaeshi/day_ongaeshi/blob/master/_days/2022.md から作れるようになった。面倒なヘッダ情報の設定もこれで不要になる。

days_to_posts.rbスクリプトをGitHub Actionsを使って実行して_days以下のMarkdownを_postsに分割する仕組み。

1ファイルブックマークしておけばOKなので大分楽になった。

2022.md

シンプルなMarkdownからJekyllのpostsを自動生成する

https://github.com/ongaeshi/day_ongaeshi/issues/3でチャレンジ中。

最初プラグインのGeneratorを使おうとしたけど、pagesは作れるけどpostsを作る方法は見つからなかった。(なんとなく難しそうな印象)

ということでGitHub ActionsでRubyスクリプトを事前に実行しておく作戦を次に検討中。
ruby/setup-ruby を使えばRubyスクリプトの実行は比較的簡単にできそう。