会社のSlackで"Rubyでも>や<などがオーバライドできるのか!"という発言をしたところ、C++のstd::coutが実装できるのではないか??と返されたのでやってみたらできた。 std = Class.new do class Cout def <<(other) if other == :endl puts $stdout.flush …
前回ブログを書いたときはv1.6.0だったので7個くらいアップデートした。 今回までのアップデートでかなり実用的な機能を実装したので常用にも耐えられるのではなかろうと思う。 v1.7.0だけリリースビルドをミスったのでv1.7.1になっている。しょうがない git…
rfではLinux/Mac/Windows向けのバイナリを提供している。 LinuxとMac向けのバイナリについてはZigを使ってクロスビルドしている。 では、Windows向けはどうしているかというとgccを使ってクロスビルドしている。 何故かというと、rfのWindows対応を開発して…
本日Ubuntu23.10がリリースされた。 Ubuntu23.10のコードネームはMantic Minotaur(卜占(ぼくせん)のミノタウロス)とのこと。 コードネームにちなんで、「サイバーパンクなミノタウロスが占いをしている画像」をAIに生成してもらいアイキャッチにしてみたし…
最近、おそらくUbuntuのアップデート*1をしてからというもの以下の現象が起こっている。 systemctl status --userを実行すると No such file or directory となってエラーになる wl-copyやwl-pasteを実行すると Failed to connect to a Wayland server とな…
前回ブログで書いたときはv1.4.0だったのでそこから2つほどバージョンアップした。 意識的にrfコマンドを普段遣いしていて*1気になったところと、jqコマンドのオプションの互換性を意識した変更をした。 github.com *2 github.com 主な変更点 -A オプション…
github.com モチベーション 私は普段ソフトウェアのバージョン管理にrtxを使っている。 大抵のソフトウェアは有志によりプラグインが作られているので rtx plugin add すればインストールすることができる。 しかしながら、プラグインがないソフトウェアも存…
結論から書くとasdf-hashicorpに含まれるparse-legacy-fileがrequired_versionパラメータのパースができなくてエラーになっている。 github.com このスクリプトがどのように使われているか正しく理解していないのだが、名前から察するに古いTerraformを使う…
Mac環境やLinux環境ではsshuttleを便利に使っていたのだが、Windows/WSL環境になってからはsshuttleがうまく動かずにいた。 正確に書くと、WSLからはポートフォワードできるのだが、Windows側からはポートフォワードできない。 例えばサーバのリモートKVMに…
Canonical MAAS(以降MAAS)ではUbuntu、RHELとその互換ディストリ、VMware ESXi、Windowsのインストールに対応している。 maas.io 各公式イメージを使ってインストールする以外にも、カスタムイメージを作りそれを使ってインストールすることもできる。カスタ…
ProxmoxVEの公式(?)WikiにはDebian 11へのインストール手順が書いてあるが、Debian 12の手順は今のところなさそうだった。 しかしながら、Debian 11向けの手順を見ながらなんとかインストールできたのでメモしておく。 pve.proxmox.com 手順 以下に全コマン…
自分用のメモ コンテナランタイムを選択する kubeadmでは以下のコンテナランタイムを選択することができる。 Docker containerd cri-o Dockerが手軽そうだが、Docker内蔵のcontainerdをkubeadmが優先的に選択してしまい、かつ、Docker提供のcontainerdではCR…
⚠ MAAS 3.4 Beta3で確認した内容なので今後変更される可能性があります MAAS 3.3にはハードウェア同期スクリプトが一時ファイルを削除しないバグあり、MAAS3.4を使用していたのだがこのバージョンからKVMの項目にVirshがなくなっていることに気がついた。 以…
RubyのオブジェクトをYAML.dumpしてYAMLの設定ファイルを作るというコードを書いているときに、掲題の挙動に気がついた。 通常、複数行が含まれる文字列をYAML.dumpすると |- を使った表記になる。 $ ruby -ryaml -e 'puts YAML.dump("foo" => "a\nb")' --- …
rfコマンドを普段遣いしていて気になったところをちょくちょく直していて、先程v1.4.0をリリースした。 前回ブログを書いたときはv1.1.0だったので3つほどバージョンアップした。 github.com github.com github.com 以下では、このバージョンアップによる変…
root@e5432af20b73:/# ruby -v ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu] root@e5432af20b73:/# dpkg -l | grep libyaml ii libyaml-0-2:amd64 0.2.2-1build2 amd64 Fast YAML 1.1 parser and emitter library root@e5432af20b73…
github.com rfコマンドのv1.1.0をリリースした。 もう少し機能を追加してからにしようと思ったけど、サクサクリリースしていこう精神でバージョンを上げた。 以下、追加された機能や変更点の説明をする。 バイナリをstripしてファイルサイズを少し減らした c…
mruby APIのオンラインドキュメントをDocset化した。 DocsetはDashやZealで閲覧できる。 オフラインでmrubyのAPIを参照できるので便利。 なお、私はMacを持っていないのでDashでの動作確認はしていないのであしからず…。 ↓のFeed URLから追加できるはず(Zeal…
Rubyのコードでplain text/JSON/YAMLを整形できるrfコマンドを作っている。 このrfコマンドのv1.0.0をリリースした。 といいつつも、前回のv0.2.0から大きく機能を増やしたということはなく、バグの除去やテスト環境の構築のみになっている。 だが、v0.3.0、…
前回の記事でrfというツールを作っていることを書いた。 記事を書いた時点ではテストコードが一切なかった。 さすがに、テストコードがないのは今後開発を続けていくのは不安なのでArubaを使ってテストコードを書いた。 github.com Arubaはあまり使い方を紹…
github.com 2023/05/15追記: リポジトリのリンクを追加(thx: id:k1low !!) モチベーション 私はcliでテキストを編集するときはawk/sedを使い、JSONはjq、YAMLはyqを使っている。 それぞれ単純な処理ならあまり苦労せず使えるのだが、複雑な処理をしたい場合…
昨日書いたUbuntu 22.04でIntel E810 NICを使ってbondingデバイスを設定するとブート時にハングアップする の続き。 Intelのiceドライバは以下からダウンロードできる。 www.intel.co.jp インストール自体は同梱のREADMEに書いてある手順でできる。 私の手元…
久しぶりにめちゃくちゃハマった…。 Intel E810 NICを搭載したベアメタルサーバーにUbuntu 22.04をインストールし、Intel E810 NICのポートを使ってbondingデバイス*1を設定しOSを再起動するとブート時にハングアップする。 私の環境では、netplan applyでbo…
先月に引き続きWEB+DR PRESS Vol.134を読んだ。 月末に駆け込みで読む習慣になっていて良くないね。 gihyo.jp 以下気になった記事と感想。 サバンナ便り 第6回 自動テストのサイズダウン戦略 テスタブルを活用することで自動テストのサイズダウンを行うこと…
tech.buty4649.net 以前にfish-shell向けのopenstack-cliの補完スクリプトを作り公開した。 最近このスクリプトのリポジトリにissueが立てられてたので内容を確認したところ --fit-width のようなオプションが --fitwidth になるという報告だった。 実際に試…
前の記事でUbuntu 23.04 on WSLにしても問題は起こっていない!っと書いた直後に、WindowsのEXEが実行できないことに気がついた…しょぼーん。 EXEを実行すると以下のようなエラーを吐く。 ❯ wslview . grep: /proc/sys/fs/binfmt_misc/WSLInterop: No such f…
image: The Lunar Lobster has landed ahead of Ubuntu 23.04 Ubuntu 23.04がリリースされた discourse.ubuntu.com 早速、WSL上のUbuntu22.10を23.04にアップグレードした。 ❯ sudo do-release-upgrade -d 特に問題なく完了。 WSLの制限でカーネルはそのま…
発売されたのは先月だったのだが、積読してしまったので(よろしくない)読んだ。 gihyo.jp 気になった章の感想 特集1 識者がたどり着いた最適解 TypeScript最新活用 リンタ,バンドラ,ランタイム,エッジ TypeScriptの今を解説した特集。TypeScriptは全然キ…
Shopifyが出しているRuby LSPのVSCode拡張をrtx(asdf clone)で動かしてみようというのがこの記事。 code.visualstudio.com 結論 以下の実行ファイルをasdfという名前にしてPATHの通っているディレクトリに配置すれば動くはず。 #!/bin/bash if [[ "$1" == "e…
先週にに引き続き今週も参加。 atcoder.jp 私の回答 atcoder.jp C問題までACしたがD問題でTLEした。 以下感想。 A - Probably English 雑に puts gets.match(/and|not|that|the|you/) ? "Yes" : "No" みたいなコードを書いたら見事WAした 単語を分割して規…