はい。2022/5/7~5/8に沖縄でポケモンGOのイベントがあった。イベントと言ってもオフサイトのイベントがある訳ではなくて、位置ゲームたるゲーム内で沖縄県内でだけ発生するあれこれが起きるという感じ。最近ポケモンGOを割としっかり遊んでるというのと、久々にふらっと旅行に行きたい欲が出てきたなどがあって行ってきた。
続きを読む「技育祭」の勉強会で話した
このエントリは特に意味がなくて、社のブログに自分の文責で載せた記事へのポインタを自分のブログにも置いておこうというだけです。
特におもしろ裏話とかもないです。そういえば事前収録でないリモート登壇ははじめてだったかも? このご時世、リモートと物理開催と比べて物理はよかったな〜と思うこともいろいろあるけど、リモートであれば話す側も聞く側もある程度環境の融通が利くのは良いことですね。(登壇を口実に東京に遊びに行く、みたいなことができないという話でもある。)
今回は最近引っ越したばかりの弊社京都新オフィスからお送りしました。
2021年
- そこそこ Apple 製品を買った
- iPad Pro (M1), iPad mini, MacBook Pro (M1Pro), AirPods
- iPhone や Apple Watch は買ってないです
- 仕事はちょっと毛色が変わった
- 所属チームが変わって担当プロダクトが変わった
- フロントエンドを書いたり、ときどきスマートフォンアプリを書いたりしている
- ポケモンマスターを目指して活動してる
- 未プレイの旧作をやりつぶしたりしてる
- 来年の LEGENDS 楽しみ
- 来年コロナはどうなるでしょうね〜
- ここにきて世の中また不穏なオーラが出てるけど穏当に着地してほしい
去年はこれ。去年はまだ文章を書いてたけど今年はついに個条書きになってしまった…
blog.astj.space
良いお年を!
Homebrew Formula の CI を GitHub Actions で行う
ビールの話ではなくてパッケージマネージャの話です。
主に macOS 向け*1のパッケージマネージャ Homebrew の Formula のテストをする話だったり、特に GitHub Actions で CI する仕組みを少し調べてみました、という話をします。
このエントリははてなエンジニア Advent Calendar 2021の19日目です。昨日は id:onk さんの ブログから技術記事を抽出・集約してワイワイする - id:onk のはてなブログでした。
ちなみに、本稿ではさも我が物のように Mackerel の Homebrew Tap を取り上げており、実際今年の夏までは Mackerel の開発チームにいたのでそんなに間違っていなかったのですが、夏以降は別のプロダクトの開発チームにいるので今は Mackerel の開発当事者ではなくなっているということは念のため付記しておきます。なのでこのエントリの中身は全て趣味です。勝手にネタにしてごめんね! > Mackerel チームのみんな
続きを読むGitHub Discussions の更新を Slack に通知する (with GitHub Actions)
タイトルでほぼ全て。
2021/11/15 現在の Slack の GitHub 連携では GitHub Discussions の更新を Slack に通知することが出来ない。そのうちできるようになるだろうとは思うものの、それまでの間のつなぎとして GitHub Actions による通知を作った。
Webhook ベースの物と比べると GitHub Actions の workflow 起動のオーバーヘッドがある分若干(十数秒程度?)通知が遅れてしまうことなどもあり少しイケてない節はあるが、そのうち公式のツールでできるようになるまでのつなぎとしては許容可能な品質だろうと思っている。
GitHub からの Webhook を変換して Slack に投げ直す HTTP エンドポイントを作る、とかだと格好いいけれど、つなぎとして使う前提であれば外部に何かプロビジョニングせずに GitHub と Slack の間で完結することにもいくらか価値があるのではないか、と思う。多分。
中身の実装は非常に素朴で、丁寧な手書きで JSON ペイロードを組み立てている。複数行入ることがある text
を toJSON
でエスケープしていることがかわいらしいポイント。
PAYLOAD: "{\"attachments\":[{\"mrkdwn_in\":[\"text\"],\"fallback\":\"New Comment on ${{ github.event.discussion.html_url}}\",\"author_name\":\"${{ github.event.comment.user.login }}\",\"author_link\":\"${{ github.event.comment.user.html_url }}\",\"author_icon\":\"${{ github.event.comment.user.avatar_url }}\",\"title\":\"Comment on #${{github.event.discussion.number}} ${{ github.event.discussion.title}}\",\"title_link\":\"${{ github.event.comment.html_url}}\",\"text\":${{ toJSON(github.event.comment.body) }},\"footer\":\"${{ github.event.repository.full_name}}\",\"ts\":${{ steps.timestamp_transform.outputs.comment_created_at}}}]}"
組織内のプライベートリポジトリの通知を Slack 通知するだけ、くらいのつもりで作ったのであまり人間の悪意は想定していない。何かあったらこっそり教えてください。
劇場版マクロスΔ絶対LIVE!!!!!! を見てきた
見てきたよ。
マクロスΔの映画見てきたので感情になってるしこれは4月のライブ這ってでも行く
— じゅりあす (astj) (@ast_j) 2021年10月9日
ネタバレではない感想として劇中歌どれも全部よかったからご自宅でも今すぐ聞きたい
— じゅりあす (astj) (@ast_j) 2021年10月9日
他にネタバレのない感想として書けるのは、マクロスΔが好きな人はうっかりネタバレ踏む前に全員見てくれ!!!!というくらい。
以下はネタバレでやるので見てない人は離脱して下さいね。
続きを読む
Raspberry Pi 400 を買った
mng pic.twitter.com/XJdvZMiGSZ
— じゅりあす (astj) (@ast_j) 2021年9月29日
キーボード一体型のラズパイが絶対かわいいじゃん……と思って買った。
- かわいい
- 使い道はない
- ラズパイと聞くと IoT 的な?使い方のイメージがあるが、キーボード一体型なのでそうもいかない
- キーボードっぽい見た目だけどバッテリーがない(=電源の Type-C を抜いたらおわり)というのが認知と一致しない
- 本体の他に意外と必要な物が色々ある
- micro SD (Nintendo Switch に刺さってた 128GB を転用して、代わりに Switch に 256GB のを新調した)
- micro HDMI => HDMI のケーブル (Android 文化圏だとみんな持ってたりするんです?林檎の国では縁がなくて…)
- マウスはあった方が楽だったけど持ち合わせがなかった
などなどの感想。かわいいのは間違いない。
以下はとりあえずセットアップのメモとして残しておくが本当に動いたヤッターでしかない。面白い使い方のアイデアは募集しています。
セットアップ
OS
microSD にイメージを焼くのは公式の Imager を使う。 Mac 版もあって安心。あんまりよくわかってないので Raspbian のオススメされたデフォルトのやつを入れた。
pi@raspberrypi:~ $ uname -a Linux raspberrypi 5.10.63-v7l+ #1457 SMP Tue Sep 28 11:26:14 BST 2021 armv7l GNU/Linux pi@raspberrypi:~ $ cat /etc/debian_version 10.10
最初はディスプレイその1に繋いだらなかなか起動シーケンスが進まなかったんだけどディスプレイその2につなぎ替えたら進んだ気がする。これは単なる勘違い(初回起動時間は意外とかかるっぽい?のを理解してなかっただけ)かも。
SSH と画面
マウスがないととにかく気が狂いそうになるのと、 A の左に Caps Lock があると2秒に1回入力ミスをするので、なるべく早い目に SSH は有効にしておいて他のマシンから繋ぐと、慣れたターミナルエミュレータから接続できるしブラウザで調べ物しながら触れるので安心。
画面解像度の設定はウィザードで適当に弄ってたらめちゃくちゃになったので渋々マニュアルを見ながら /boot/config.txt
を設定した。この辺を見つつやる:
ちなみに SSH で外から入れるようにしておくと、最悪 HDMI の設定を変なのにして画面が映らなくなっても SSH で入ってなんとかできる、という観点でも安心感があってよかった。
VNC
マウスがない問題の対処と、モニタの出力切り換えが面倒ということで、 GUI は VNC で Mac から接続して済ませることにする。折角のキーボードつきラズパイの価値を全く生かせていないのは一旦諦める。 macOS の画面共有アプリからはデフォルトのままでは接続できない。インターネットを見ると VNC Server を入れ換えて解決している人も見受けられるが、これまたインターネットを見たところ VNC Server の設定を変えたら繋げるようなのでそうしておく。参考文献を見つつ:
最終的にはこういう感じにしておく。マウスが使える人は GUI 上で設定を変えたらよいと思う……
pi@raspberrypi:~ $ cat /etc/vnc/config.d/common.custom Authentication=VncAuth Encryption=PreferOff pi@raspberrypi:~ $ sudo vncpasswd -service Setting "Password" VNC parameter for Service Mode server Password: Verify: Successfully set "Password" VNC parameter in /root/.vnc/config.d/vncserver-x11 Please note users of third party VNC Viewer projects will be able to connect by entering the first 8 characters of this password only. pi@raspberrypi:~ $ sudo systemctl restart vncserver-x11-serviced pi@raspberrypi:~ $ sudo systemctl status vncserver-x11-serviced
ここまでやると準備完了。 Mac 側で open vnc://(IP address)
とかをやると画面共有で接続できる。ちなみに mDNS があるのでホスト名(典型的には raspberrypi.local)でも接続できるはずなんだけど、手元だと resolve できなくなってる事が多々あったので、ルーターで IP アドレスを固定してそれで繋ぐようにしてしまった。技術の敗北。
おまけ: mackerel-agent
mackerel-agent は手癖で入れておく。公式の apt リポジトリでは入らないけど、 GitHub の Releases にはラズパイで使える deb があるのでそれを apt で入れると完成。
pi@raspberrypi:~ $ curl -fsSLO https://github.com/mackerelio/mackerel-agent/releases/download/v0.72.2/mackerel-agent_0.72.2-1.systemd_armhf.deb pi@raspberrypi:~ $ sudo apt install ./mackerel-agent_0.72.2-1.systemd_armhf.deb pi@raspberrypi:~ $ sudo mackerel-agent init -apikey="xxx" pi@raspberrypi:~ $ sudo systemctl start mackerel-agent