詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

コマンドラインでメールの内容に基づいた処理をするツールを書いた: letterknife

メールに対する jq みたいなやつ……というと強力すぎるけど、そういう感じにメールを入力に受け取って何かしらの処理をした上で出力してくれるツールです。ここでいうメールとは MIME 形式のメール全体。Gmail なら "Show original" で見られるようなもの。 …

結局ターミナルでメールを読むことにした

最近は集中力を高める活動をしていて手をキーボードから離したくないんだけど、Gmail のウェブビューは Tab でフォーカスしにくいんじゃ~! メール上でやりとりすることってあんまりなくて、アップデートとして送られてきたメール中のリンクをたどりたいこ…

ターミナルからTickTickのタスクを確認する

TickTick はまだ使ってるぞよ! しかし新年の高揚感もとうに果てて、なんとか新鮮新奇さを演出してモチベーションを維持しようとしている状態。またできるだけタスクを確認するためのコストをゼロに近づけていく必要がある。最近はやっぱなんでもキーボード…

Puppeteerでファイルをダウンロードする2022

Puppeteer ってソラで書けますか? ぼくは書けないので pptr.dev にアクセスしてコピペしてます。 Puppeetteer でファイルをダウンロードする方法はわかりやすい API としては提供されておらず、Stackoverflow を毎回見てる。これも古い方法が出回ったままだ…

Makefileの代わりにnpm scripts+zxを使う

そこそこの規模があるプロジェクトで実行すべきタスクを定義するとき、初手として Makefile を使いがち。 Pros make は事実上どんな環境にもあることを期待してよい シェルで実行されるコマンドをそのまま書ける タスクの依存関係が明示できる Cons make で…

Scrapboxのコマンドラインクライアントを作った

ちょっとした手元の自動化を行おうとしたときに、Scrapbox のページ一覧を取得したり、プロジェクトの情報を取得したりしたくなる。Scrapbox ではとにかくほぼすべてが わかりやすい JSON API 経由で行われているわけなので、これをしてくれるコマンドライン…

Gitのおすすめエイリアス5選

緊急新人エンジニア応援企画! ということで自分が Git のエイリアスとして設定している便利コマンドを紹介していく。 直前のコミットに追いコミットする (git fixit) git commit --amend --no-edit もろもろ整えて git push しよう、とすると「あっちょっと…

Gatsbyでポートフォリオサイトを作った

motemen.works ポートフォリオはだいぶ前に Middleman で作ったきり放置していたのだけど、最近 motemen.works というドメインのインスピレーションを得たので、新しく作ることにした。こういうのは勢いだ。 Gatsby を使う 静的サイトのビルダには Gatsby を…

gotest.toolsを使う

docker/compose は Go で書かれてるが、これのテストに gotest.tools というライブラリが使われていた。あまり見たことがなかったけど、使ってみたらわりと手触りがよかったのでここに記しておく。 gotest.tools はいつもの testing パッケージを拡張するよ…

DevTools上でesbuildするChrome拡張を書いた

社内ではドキュメントの共有に Scrapbox が活発に使われており、するといきおい UserCSS や UserScript もさかんである。具体的には、/customize という共有のプロジェクトがあってみんなの自慢の装飾やカスタマイズが共有されている。これを個々人で import…

SlackやGoogle Docsにページへのリンクを共有するなら圧倒的にcocopyが楽

Scrapbox のような Wiki 的なツールでは URL にページ名が入ることが多く、URL を見るだけでどんな内容なのか想像がついてよい一方で、こういう URL を Slack や Google Docs のような別の場所に共有するとパーセントエンコーディングされた URL になってし…

早朝の薄氷をウェブで割る

薄氷をぴしぴし踏んで老詩人 ―― 中村苑子 すでに立春も過ぎましたが、まだまだ寒い日も多く春が待ち遠しい日々です。朝がた家の外に出ると、道ばたの水たまりに薄く氷が張っており、前の晩の寒さが思いやられつつ、ひび割れた様子を見ては、すでに登校してい…

Wordleの漢字バージョン「漢字ル」を作った

漢字ル こういうやつです。ぜひトライしてみてくださいね。 プロトタイピングのつもりができてしまった! 漢字版 Wordle。激ムズ漢字ル 1 8/20⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜https://t.co/jgITM4Edb4 pic.twitter.com/oQLiWL8kun— 美顔器 (@motemen) 2022年2月2日 本…

Alfredの代替としてRaycastを使っている

新春ツール入れ替えシリーズです。macOS における Spotlight 的なランチャーツールとして Alfred を長いこと使ってきたが、最近 Raycast を使ってみてこれがよかったので、以来ずっと使い続けている。 Raycast - Supercharged productivity 開発者のための便…

Goで知らないフィールドのあるJSONを取り扱う

野良 HTTP JSON API クライアントを作ってると、API が返してくる JSON の形に確信が持てないし、「これ何に使うんだろ」みたいなフィールドもあったりして struct にエンコードするのをサボったりする。 そういったコードがライブラリとして使われる余地を…

2022年、タスク管理をTickTickで行う

TikTok じゃないよ。 TickTick: Todo list, checklist and task manager app for Android, iPhone and Web チームのタスクマネジメントに Asana を使っていたのでそれに合わせて個人タスクもそこに積んでいたのだけど、Asana も積極的に使いたいわけではなか…

「半年早く動く」を目標にして半年が経った

社内に「来年の今年の目標は『半年早く動く』です」というエントリを書いて半年が経った。 こういう目標を立てたきっかけは、自分が変化のタイミングとして会社の会計年度(半期)を考えるようになっていたことに気づいたことだった。 同じ会社でマネージャ…

Outer Wilds クリアした

長らく積んでいたけどようやくクリアした。感想は「宇宙怖い」です。 探索メインのゲームなのでネタバレすると面白くないってことでサントラを置いておきますね。 Outer Wilds (Original Soundtrack)Annapurna InteractiveAmazon 「プレイ日記をつけるといい…

オンラインミーティング体験を物理ボタンで拡張する

meishi2キーボードを作った の続き。さて新たに4つのボタンを手に入れたはいいが、さっそく持て余す。人はボタンとともに生まれてくるわけではないのだから、仕方のないことではある。 座ってばかりの人生で、普段づかいのキーボードから手を離してわざわざ…

ISUCON11予選敗退(92604点、30位) #isucon

ISUCON11 オンライン予選 全てのチームのスコア(参考値) : ISUCON公式Blog チームは カラアゲネイティブ-ng。92604点、30位だった。通過ラインが 106094 点だったのでもうひと伸びあれば、というところで悔しい。 メンバーは去年と同じく songmu & toricls…

meishi2キーボードを作った

このときのHHKBずっと使ってたんだけど、昨日ついに壊れた https://t.co/dwvoxapmsN— 美顔器 (@motemen) 2021年7月7日 新卒のころから使っていた Happy Hacking Keyboard が壊れた(アンチポップさんにもらったやつ。ありがとうございます)。とくにメンテも…

mod_perlのDockerイメージをghcr.ioに上げた

趣味で mod_perl の Docker イメージを作っています。 Docker Hub の無料版における autobuild が終了となり、GitHub Packages Container Registry に移行することにした。 https://github.com/motemen/docker-mod_perl/pkgs/container/mod_perl {perl_versi…

Goでプライベートネットワークへのアクセスを制限する

Go

Go において、いわゆる SSRF (Server Side Request Forgery) を防ぐような目的で、内部 IP アドレスにアクセスしない HTTP クライアントを作るには hakobe/paranoidhttp が便利だった。ただ、近年ではこれが作られて以降の Go 側のアップデートとして、net.D…

LWPで"dh key too small"ってなったときの対処

ひさびさに Perl の話。結構前のことだけど、OS のバージョンを Debian 10 (Buster) にしたら LWP で一部のサイトにアクセスできなくなってしまった。 500 Can't connect to ***.com:443 (SSL connect attempt failed error:141A318A:SSL routines:tls_proce…

ts-nodeで実行中かどうか確認する

TypeScript でユーティリティ的なスクリプトを開発しているとき、毎回 tsc でコンパイルして node で実行するのはあまりに重たいのでやってられない。 ts-node というのでコンパイル作業なしに直接 .ts ファイルを実行できるんだけど、.ts ファイルとコンパ…

Goのswitch文を生成するツール

GitHub - motemen/go-switchgen 昔作ったソフトウェアをちょっとメンテしたシリーズ。Go で switch 文を自動生成したいよーってときに使えるやつです。 case 文が exhaustive になるようにいちいち書いてくのが面倒なので、機械にやらせる。 こんなやつ欲し…

PCを離れたらマイク音量を下げるmacOSアプリを作った

この記事は、はてなエンジニア Advent Calendar 2020の21日目です。昨日は id:tarao による Scalaの依存ライブラリ更新はRenovateでもけっこうイケる でした。明日は id:Krouton です。 みなさん在宅勤務してますか? 私もしています。 仕事も雑談も、とにか…

Google Meet のミュートをツールバーから切り替える拡張を作った

Google Meet Mute Toggler - Chrome ウェブストア こんなやつです。 Google Meet で仕事をすることが多くなった昨今、咳払いや生活音といったよんどころない事情によりマイクをミュートにしたいこともあるわけですが、ミュートボタンは普段隠れていて急に出…

Chromebookを買った

【Amazon.co.jp 限定】Google Chromebook Lenovo ノートパソコン Ideapad Duet 10.1インチ 日本語キーボード WUXGA MediaTek Helio P60T 4GBメモリ 限定スペック 64GB eMMC モデル発売日: 2020/06/05メディア: Personal Computers iPad が使えなくなってしま…

中間証明書のないサーバにアクセスする: 言語別の実装

前回の記事のつづきです。 中間証明書のないサーバにアクセスする - 詩と創作・思索のひろば さて、この方法で信頼できる中間証明書を手元に集めることができたので、これをプログラムから利用するにはどうしたらよいのか、ということを見ていく。 実験した…

はてなで一緒に働きませんか?