あんパン

こしあん派

iOS 16のSafariではJoy-Conの情報をGamepad APIで取れる

iOS 16 Release Notesにもあるように、いくつかのBluetooth接続のゲーム用コントローラが新しくサポートされた。具体的にはJoy-Conなど。 Many additional Bluetooth and USB game controllers are supported by the Game Controller framework on macOS 13,…

デスクトップ環境をdisposableに保つ

もう5年以上続けている取り組みのひとつにデスクトップ環境をdisposableに保つというのがある。いつでも何があっても即座に環境を捨てて作り直せるようにするということ。EC2やVPSのインスタンスに対してAnsibleでプロビジョニングできる状態にしておけば即…

ロールに求められることと名前は一致させたい

いま所属しているチームには相談役というロールがあって、タスクを進めている人とペアにすることで孤立しないような仕組みになっている。もちろんデイリースタンドアップなどで複数人で相互に見ているのだけど、プライマリな相談相手を決めているという状態…

CDKでEC2を建立するときになんかする

めっちゃ小ネタだし知ってるわって人も多そうな話題なのだけど、CDKでEC2建立するときに addUserData でなんかするのが便利。 例えば、Perlの最新版をインストールしたいときは以下みたいな感じでxbuildを使って達成できる。 const bastion = new ec2.Bastio…

はてなブログで見出しへのリンクを表示する

つい最近、はてなブログの見出し(h1からh6までのタグ)にid属性が付与されるようになった。 staff.hatenablog.com ということは、見出しへのリンクを作って共有できる。ただ普通に暮らしていると、このリンクを生成するためにDeveloper Toolsを表示して見出し…

AWS CLIでSwitch Roleするパターン

AWSアカウントを組織で管理していると複数アカウント利用するケースは多いかと思う。別のアカウントに切り替えるには、WebコンソールからSwitch Roleすればよい。そして以下のように $HOME/.aws/config と $HOME/.aws/credentials を設定すればAWS CLIからも…

1秒おきになんかする

ちょっと前の話だけど、社内のISUCON練習会で特定のエンドポイントが重いのをなんとかしようとしていた。このエンドポイントはキャッシュして問題ないので普段はキャッシュから返して1秒おきにリフレッシュしたい。Redisなどに入れてTTLを指定してキャッシュ…

技術書は出版社の直販サイトでPDFを買っている

よくKindleでセールやってる! 50%オフ! 50%ポイント還元! ということがあるけれど、全部無視して出版社のサイトでPDFを購入している。 DRMがかかっていない メールアドレスがPDFのページに刻印されたりはある 好きなリーダーで読める 自分の管理方法は後述 …

node_modules以下に依存をインストールしない状態でnpm outdated --json --longを実行するとcurrentパラメータが存在しない状態で出力される

拙作の yarn-outdated-formatter にIssueが建てられたので眺めたところ発見しました(社のSlackで共有したところ id:mizdra さんに確かめていただきました。ありがとうございます:pray:)。 github.com package.json に書かれているバージョンが必ずしもインス…

自作の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表示する

2023-06-28 追記: tree が --gitignore オプションに対応して tree --gitignore で同様のことができるようになりました。 mama.indstate.edu treeはみなさんご存知便利なコマンドで、cwd以下のファイルをツリー表示するもの。だいたいの環境にはデフォルトで…

自作ラップトップ: 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 がインストールされているとコンフリクトする可能性が…