あんパン

こしあん派

自作のgitサブコマンドをzshで補完する

普段の暮らしでは自作のgitサブコマンドを作って便利に使っている。 masawada.hatenablog.jp masawada.hatenablog.jp のだけど、通常そのままではzshの補完が効かず、全て打つかhistoryから呼び出すかする必要があった。不便だしさすがに何か方法あるだろう…

CloudFrontにLambda@EdgeでBasic認証をかけて、originのS3にファイルを追加したらSlackにURLを通知する

この記事で書いたとおり、CloudFrontにLambda@EdgeでBasic認証をかけて、originのS3にファイルを追加したらSlackにURLを通知する仕組みを整えた。 github.com repoをcloneしてきてCDKでdeployしたら同じ環境を作ることができる。 @aws-cdk/aws-lambda-nodejs…

ISUCON11予選参加して敗退した

敗退した。一番高いスコアが42296で、その後ずるずる落ちて最終的には33586で終えた。 ISUCONお祭りということでこれまでは毎回メンバー変えてきたけどそろそろ固定してちゃんと振り返りして次回に繋げる活動したい気持ちが5ミリくらいある— Masayoshi Wada …

Linuxデスクトップで壁紙を接続する無線LANのSSIDによって変える

ということをやっている。 壁紙は feh で設定していて無線LAN APのSSIDは iw で取得しているのでそれぞれインストールしておく必要がある。以下のスクリプトをどこかに置いておいて、systemdでresume時に読むunitファイルを書いたら都度壁紙が変わる。 #!/bi…

SKK-JISYO.jawikiをibus-skkで利用する

Linuxデスクトップをメインの端末にしてからこれまで2年ほどibus-skkを利用しており、辞書はSKK-JISYO.Lとユーザ辞書のみという状態で固有名詞に弱いことを不便に思っていた。都度ユーザ辞書に登録すれば良いが、それも面倒なのでWikipediaからSKK辞書を生成…

GitHubにcurlで公開鍵を登録する2021

masawada.hatenablog.jp ここでcurlで公開鍵を登録する方法を紹介していたのだけど、GitHub全域でこれまでのユーザ名・パスワード・OTPによるBASIC認証が使えなくなったようだった。以下のようなエラーが返る。 { "message": "Requires authentication", "do…

gitでコミットする前のファイルを選択して編集する

repoで作業していて変更を加えたファイルを開き直してさらに追記したいケースは少なくない。historyから絞り込んで選択するよりは、差分が発生したファイルのリストから絞り込む方が見通しが良いのではないか、ということで普段は差分が発生したファイルから…

git管理下のファイルのみをtree表示する

treeはみなさんご存知便利なコマンドで、cwd以下のファイルをツリー表示するもの。だいたいの環境にはデフォルトで入っていないので、 brew などで入れる必要がある。 $ tree . ├── hello.txt ├── test │ └── hoge.txt └── world.txt 1 directory, 3 files …

自作ラップトップ: ThinkPad X270を組み立てる

本業を含めて作業環境をLinuxに移行してからmacOSで開発するのが億劫になってしまい、ここ半年はDeskMiniで組んだ自作機に入れたArch Linuxで個人の開発をしていた。しかしそろそろ寒いし布団の中で開発したいなーと思い、サブPCとしてラップトップを見繕う…

USB Gadget API for Linux入門: BluetoothキーボードのイベントをUSB HIDのReportに変換する

はじめに 普段は各種開発用途でLinux、Windows、macOSを利用しており、これらはUSB切替器で同一のキーボード、トラックボールに接続されている。そのため機器切替が簡単にできないBluetooth接続のキーボードやマウスを導入することができなかった。そんなあ…

久々にRaspberry Piセットアップして躓いたところメモ

ちまたに情報は満ち溢れているのでいまさらだけど自分用にまとめておく。ちなみに前回Raspberry Piを触ったのは一昨年でRaspberry Pi Zero WHで勤怠ツールを作ったとき。その前は多分5年くらい前で、 Raspberry Pi 2 Model Bで勤怠ツールを作ったとき。 OSの…

X270環境構築時のつまずきメモ

画面がチラつく lspci -vv すると Intel Corporation HD Graphics 620 の kernel driver は i915 ということが分かる。i915ではPanel Self Refreshにより画面がチラつくことがある。/etc/default/grub を編集して GRUB_CMDLINE_LINUX_DEFAULT の値の末尾に i…

引数に取ったPerlのコードを実行して結果を表示しつつクリップボードに投入するシェルスクリプト

#!/bin/bash EXPR="$@"; perl -e "print $EXPR" | tee >(xsel -ib); echo; これを p という名前でPATHの通った場所に置いています。使い方は $ p '1+2' 3 $ xsel -ob 3 みたいな感じ。xsel -ib はLinuxにおける標準入力をクリップボードに投入するコマンド、…

蔵書管理を支える技術

これは Spreadsheets/Excel Advent Calendar 2020 4日目の記事です。 昨日は id:yunico_jp さんの スプレッドシートを使った超単純な進捗管理、過去最高に捗る説 - Yunicode でした。 こんにちは、 id:masawada です。突然ですが、みなさんが所属されている…

別ブランチの特定のファイルを直接開くコマンド

欲しいときがありますよね。 masawada.hatenablog.jp 方法は4年前に書いてたんですが、最近欲しくなってちまちま打つのがだるくなってきたのでgitのサブコマンドにしました。Vimを使っているので直接Vimに流し込んでいます。pecoが2回起動するので、ブランチ…

リポジトリ内の特定の制御文字を削除するワンライナー

$ git grep -I --name-only $'\x08' | xargs -I{} sed -i -e "s/\x08//g" {} リポジトリ内にbackspace(^H)のような制御文字が含まれてしまっていることに気付いたとき、消すのに便利です。 -I でバイナリを無視する $'\x' で特定のASCIIコードの文字を検索す…

Arch LiunxのyayでAURからgconfをアップグレードする際にconfigure: error: XML::Parser perl module is required for intltool

自分向けメモ。 autoreconfで以下のようなエラーが出る場合の対処方法。 checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool perl-xml-parserを入れてしまう。systemのPerlで利用できるので、plenvを利用して…

自分のはてなブログで1年以上前の記事に警告を出すようにした

ふと自分のブログのアクセスログを見ていたところ、1年以上前の記事への参照が意外と多かった。過去記事全ての情報の鮮度に責任は負えないなと思ったので、1年以上前の記事には警告を出すようにした。例えば以下の記事には警告が出る。 masawada.hatenablog.…

gitで自分が関わったことがあるファイルだけを一覧するワンライナー

$ git log --name-status --author="$(git config --get user.name)" | grep -E '^(A|M|D)\b' | awk '{ print $2 }' | sort | uniq git logの最後にディレクトリ名を入れると、そのディレクトリ以下のファイル一覧を取得することができます。昔書き捨てたス…

dunstとsystemdのtimerで端末のバッテリが減ったら通知を出す

昨晩夕飯食べずに寝落ちしてしまい、PCの電源も刺さずにつけっぱなしにしてしまった。それを忘れて朝PCを触っていたところ電源が落ちた。以前からバッテリが減っていることに気づけず困っていたので、バッテリが減っていて充電もしていなかった場合に通知を…

(Arch) LinuxでGitHub CLIを利用する

github.com READMEにある通り $ yay -S github-cli でインストールできる。yay はGoで書かれているAURヘルパで、要はナウい yaourt 。他のAURヘルパを利用しても良い。 go-pie が依存になっており、 go がインストールされているとコンフリクトする可能性が…

git addするときにerror: 's/' does not have a commit checked outというエラーが出て困ったので原因を追う

小ネタです。 $ git add -A error: 's/' does not have a commit checked out fatal: adding files failed addできない。困った。 何が起きているのか $ ls README.md s/ $ ls -la s total 12 drwxr-xr-x 3 masawada masawada 4096 Jan 7 16:46 ./ drwxr-xr-…

年始にLinuxデスクトップを使い始めて1年が経とうとしている

これは はてなエンジニア Advent Calendar 2019 2日目の記事です。 こんにちは、 id:masawada です。2ヶ月前まではブログチームのエンジニアでしたが、最近はマンガビューアを開発するチームに在籍しています。 弊社では開発に利用する端末を決められた上限…

Vim + aleで保存時にperltidyを実行してコードを整形する

aleはこちら。非同期でLinterを実行したり、autofixしたりといった作業をやってくれるいつものやつ。 github.com $ cpanm Perl::Tidy して Perl::Tidy をインストールしつつ、aleが入っている状態で .vimrc に let g:ale_fixers = { 'perl': ['perltidy'] } …

近況

これまでアルバイト期間含めて4年程度はてなブログの開発に携わっていましたが、今月の頭にマンガのビューアなどを作る部署へ転属になりました。 肩書きとしてはWebアプリケーションエンジニアなので普段はPerlとTypeScriptを書きつつ、ここ1年くらいはイン…

freetypeのバージョンを2.10.0に上げたらfc-listにSijiが出てこなくなったので直す

polybarのアイコンフォントにSijiを使っているんだけど、突然壊れた。 github.com From lucy/tewi-font#35 FreeType now uses the `defaultChar' property of PCF fonts to set the glyph for the undefined character at glyph index 0 (as FreeType alread…

株式会社はてなに入社しました

株式会社はてなに入社しました 新卒入社から4年目です。引き続きブログの開発を担当しております。今後ともよろしくお願いいたします。 株式会社はてなに入社しました - hitode909の日記

ghqの配下に良い感じにリポジトリを新規作成する

どんどん小ネタ放出していくぞ ghqが便利なんだけど、新しいリポジトリをローカルに作るときにいちいち適当な既存のリポジトリに入ってからcd ..してmkdirして…とやるのがだるかったので、そのあたりを1コマンドでやってくれるgit subcommandを作った。適当…

最近のタスク管理とか

昔からタスク管理ツールを使うのが苦手。WunderlistもTodoistもGoogle Keepもいろいろと試したんだけど、結局使うのを諦めた。ここ2年くらいはMarkdownでタスクリストを書くようにしている。その心は: キーボードだけで操作が全て完結する 複数項目を一気に…

Scrapbox Drinkup Self-made Keyboard Edition参加レポート

こんにちは、id:masawadaといいます。普段は、はてなブログの開発をして生活しているエンジニアです。自作キーボードはレツプリ祭りのころにウォッチしはじめましたが、まだLet's Splitしか作ったことがない初心者です。 いつも便利につかわせていただいてい…