bouzuya.hatenablog.com

ぼうずやのにっき

bouzuya/purescript-npm-bin-base64 1.0.0 等

bouzuya/purescript-npm-bin-base64 1.0.0 をつくった。 mockmock.dev #211 における w010 の成果物。 2019-04-07 に 0.1.0 をつくっている。 w010 のこれまでのルール・活動は bouzuya/w010 を参照。

base64 エンコード・デコードするコマンド。既にあるので要らない。ちょうどいい題材がなかったのでこれにした。

0.1.0 から 1.0.0 ではモジュールの整理とテストを追加したくらいで外から見た動きは変わっていない。

実装。プログラミング言語は PureScript 。パッケージマネージャーに spago 。 npm initializer に bouzuya/create-purescript-npm-bin を使っている。今回は f-o-a-m/purescript-optparse を試している。

optparse はなかなか良い。 yargs (2019-04-05) と同様に --help は提供してくれる。こちらは --version がないかな……。 npm の依存関係がないのは良い。まだ使いこなせていない。今週末もたぶん引き続き試していく。


bouzuya/purescript-npm-bin-google-tasks 0.4.0 をつくった。

google-tasks task insert を追加した。

すこしずつ機能追加。


bouzuya/purescript-at-coder 。 ABC113 A 。

昨日 (2019-04-10) の ABC113 C の検証を改めて。 foldRecMforeach で TLE → AC になる。その差がどこにあるのかを知りたい。 foreach は昨日書いたとおり明らかに速い JavaScript へと変換される。 foldRecM はどうなのだろう。

Data.Array.ST の foreach は速い等

bouzuya/purescript-at-coder 。 ABC 113 C 。

Data.Array.STforeachfor (i = 0, l = as.length; i < l; i++) f(as[i])(); 相当なので速い。

そしてこの foreach の実装は 2019-01-11 に書いた EffectforeachE と型は違うが実装としては同一。


『ファスト & スロー』上を読み終えた。


髪を切った。 3 の倍数週の水曜日は散髪。


魚を食べた。奇数週の水曜日は魚の日。子どもが魚を食べた。ぱくぱくと。珍しい。

食洗機その後

2017-03-18 に食洗機 (NP-TCM4) を買った。たまには買ったもののその後でも書いてみようかと思う。

当初のねらいである「時間の削減」は多少できていると思う。洗剤が手に付かない (ないし不快なゴム手袋をつけなくて済む) 点がもっとも良い点かもしれない。

毎日スピーディコースで約 3 回は動かしている。電気代を抑えたかったのと十分に洗えているようだったのでスピーディコースのみを使っている。朝食・昼食で 1 回ないし 2 回。夕食で 2 回。合計で 3 回か 4 回だ。

容量の少なさはやはり感じる。ティファールの鍋 (2018-09-03) も洗っているのだけど同時に多くは洗えない。……かといってこれ以上大きなものを置けないので仕方ない。食器は食洗機対応のものに一部は変えた。皿を買うときの考慮事項が増えた。

音のうるささを感じる。意外と大きな音がする。放置して移動するのでそこまで気にはしていないのだけど。

汚れが確実に落ちることは期待できない。茶碗を放置するなどしてこびりついた米はだいたい取れない。必要ならつけ置きすると良い。また完全な乾燥にも期待できない。取り出す際にふきんで拭いて食器棚に片付けている。これもあってスピーディコースで良いと感じる。

洗っていない食器を入れているのか洗い終わった食器が入っているのかの区別がつかない。これは意外と難しい問題だと思う。うちの場合は運用で解決した。入れたらその流れで絶対に動かす。動かすまでは入れない (つけ置きする) 。入ったまま放置されていたら洗い終わったものと認識して食器棚へと片付ける。そういう運用で合意を取った。


『ファスト & スロー』を読み進めている。簡単に誤った認識を持ってしまうものなんだなあ。


bouzuya/purescript-at-coder 。 ABC114 A B 。

bouzuya/purescript-bouzuya-datetime-formatter 1.1.0

bouzuya/purescript-bouzuya-datetime-formatter 1.1.0 をつくった。

1.0.0 からの変更点は OrdinalDate (YYYY-DDD) と WeekDate (YYYY-Www-D) への対応の追加。

また↑を適用して bouzuya/create-b 0.5.2 をつくった。パッケージを利用する形にリファクタリング。まだほかのリポジトリもあるので順次適用していく。


bouzuya/purescript-at-coder 。 ABC114 C 。

garyb/purescript-debug を試した。いわゆる printf デバッグをするためのもの。 Debug.Trace の関数が使用されていると良い感じに警告が出る。良い。


ゆるキャン△』を観た。冬に素人が一人でキャンプするのは危なそう。


育児。慣らし保育。おとなしくなり周囲を観察して固まる我が子。

2019-W14 ふりかえり

2019-W14 をふりかえる。

2019-W14 の目標 とその記事

目標。

  • Clojure & Ruby リポジトリを廃止する
  • ☑ bouzuya/purescript-npm-bin-google-tasks 0.3.0 をつくる
  • ☑ bouzuya/purescript-npm-bin-time-table 1.0.0 をつくる
  • ☑ bouzuya/purescript-bouzuya-datetime-formatters をつくる
  • ☐ 履歴書・職務経歴書を書いてみる

記事。

目標はほぼ達成。風邪でずっと倒れていたわりにはきちんとしている。 Clojure & Ruby リポジトリの件の作業が思ったほど大変ではなかったからかな。

つくったもの

2019-04-01/2019-04-07

create-purescript-npm-bin は spago docs の追加に合わせた軽微な変更。バージョンアップし忘れている。

purescript-at-coder は AtCoder の解答。毎日のことだから来週からは削ろう。

purescript-bouzuya-datetime-formatter は purescript-bouzuya-datetime に fromString / toString を提供するもの (2019-04-04) 。良い感じ。今後いくつかのリポジトリに適用していく。

purescript-bouzuya-datetime は OffsetDateTime の追加と TimeZoneOffset のバグ修正 (2019-04-04, 2019-04-06) 。

purescript-bouzuya-packages は↑の bouzuya-datetime および bouzuya-datetime-formatter に伴う変更。

purescript-npm-bin-google-tasks は Google Tasks の CLItask get を追加 (2019-04-03) 。

purescript-npm-bin-time-table は time-table をつくるコマンド (2019-04-05) 。

今日は mockmock.dev #211 で w010 v3 として base64 0.1.0 をつくった (過去のものは bouzuya/w010 を参照) 。文字列の base64 エンコード・デコードをするコマンド。実用するためではなく f-o-a-m/purescript-optparse の検証目的。そちらもなかなか良い。

よんだもの

みたもの

その他

ゲーム。 2018-11-24 からの BLUE REVOLVER 。停滞中。 2019-01-03 からの大乱闘スマッシュブラザーズ SPECIAL 。停滞中。 2019-03-03 からのモグラーニャ。停滞中。テトリス 99 。テトリスみんな強い。もっとゆっくり遊ばせてくれ……ってなる。向いてない。

買い物。脱臭炭。

体調。毎日のストレッチを継続している。

育児。入園式。そして風邪。こんなに長期に高熱が出続けたのははじめてだ。家族そろって倒れていた。

今日は選挙の投票に行った。天気が良くて桜も咲いていた。

あとは StackOverflow (日本語) にまた PureScript のことで自己回答つきの質問を登録した。 https://ja.stackoverflow.com/q/53992/2341 。前回は 2019-04-05

AtCoder ABC115 A B 。逃げの AB 。

今週は入園式とそこからの風邪での連休が一番大きいかな。まだ一度もまともに保育所へ行ってないからな……。あとは AtCoder ABC へ参加した。

2019-W15 の目標

  • bouzuya/purescript-npm-bin-base64 1.0.0 をつくる
  • bouzuya/purescript-npm-bin-google-tasks 0.4.0 をつくる
  • bs の stock 機能をつくる
  • w010 v4 をつくる
  • 『ファスト & スロー』を読む

bouzuya/purescript-bouzuya-datetime 1.0.0

bouzuya/purescript-bouzuya-datetime 1.0.0 をつくった。

TimeZoneOffset を逆に計算しているバグを直した。破壊的変更などが分かりづらいのでメジャーバージョンを上げた。

bouzuya/purescript-bouzuya-datetime-formatter も合わせて 1.0.0 に更新している。


AtCoder ABC116 C / ABC117 C / ABC123 参加。


のどの痛み・せきがおさまらない。子どもの体調が良くなっているのは良いことだ。

bouzuya/purescript-npm-bin-time-table 1.0.0 / 『ファインディング・ドリー』

bouzuya/purescript-npm-bin-time-table 1.0.0 をつくった。 mockmock.dev #210 における w010 の成果物。 2019-03-31 に 0.1.0 をつくっている。 w010 のこれまでのルール・活動は bouzuya/w010 を参照。

bouzuya/bs-code のリストなどで datetime が先頭についたメモをよく扱う。

2019-04-05T09:00:06+09:00 # メモ ...

これが 1 メモ 1 行で縦に並んでいると時間でどれくらいの間隔があるのか分からない。 15 分 1 行で並べてくれると嬉しい。それを実現するのがこの time-table だ。

使用例。

$ ./bin/time-table << EOS
2019-04-05T08:15:45+09:00 A
2019-04-05T08:52:24+09:00 B
2019-04-05T08:59:36+09:00 C
2019-04-05T09:30:06+09:00 D
EOS
08:30
08:45 B ...
09:00
09:15
09:30 D

0.1.0 から 1.0.0 では区切りの間隔を 15min 30min 1h から選べるようにした。

実装。プログラミング言語は PureScript 。パッケージマネージャーに spago 。 npm initializer に bouzuya/create-purescript-npm-bin を使っている。今回は paf31/purescript-yargs を試した。

yargs は npm install が必要な点で嫌。 --help や --version を自動でつくってくれる点は良い (逆に嫌なときもある) 。


なぜか StackOverflow (日本語) でタグをつくる権限を手に入れたので purescript タグをつくって質問してみた。

https://ja.stackoverflow.com/q/53943/2341

助かる。


ファインディング・ドリー』を観た。

風邪のせいかもしれないけど観ていてイライラした。主人公のドリーが重度の記憶障害。ジョジョの奇妙な冒険 第 6 部 ストーンオーシャンに出てくるスタンド ジェイル・ハウス・ロックの攻撃を食らったかのような状態。「左に 2 回まがったあと右」が分からないので。よりひどいかもしれない。

メメント』のように観ている側も分からないなら良いんだけど。ある種の介護の現場みたいで観ていてつらい。


AtCoder ABC116 B 。