2021-01-01から1年間の記事一覧
先程、FileNameCopyの公開停止をVectorに申請して非公開となりました。 今までのご利用ありがとうございました! FileNameCopyとは ほとんどの人は知らないと思うのでFileNameCopyについて説明する。 これは、Windows向けのフリーウェア*1で、15年くらい前(!…
snap start/snap stopすれば直ると思われる。 ❯ sudo snap stop multipass Stopped. ❯ sudo snap start multipass Started. 以下、調査ログとか憶測 launch failed: Remote "" is unknown or unreachable. で検索すると真っ先に出てくるのが以下のissue。 gi…
VPNからsshuttleに切り替えてから、不便だなぁと思っていたのはDNSリクエストを転送できないことだった。 VPNの接続先のDNSサーバに接続して、リモート先の内部で利用しているドメインを正引きするのに使っていた。 sshuttleはSSHのポートフォワードを元にし…
この記事はRust Advent Calender 2021の8日目の記事です。 空白だったので遡って穴埋めしています。 このブログでも何度か話題にしているが、私はreddish-shellという自作シェルをOSSで開発している。 コマンドを実行するだけなら簡単ではあるものの、日常で…
この記事はLinux Advent Calendar 2021の11日目の記事です。 1つ前の記事は@EbiTTさんの【Linux】cutコマンドのオプション別パフォーマンス対決でした。 GNUコマンドはオプションが多いので迷ったり知らないことがよくありますよね。 オプションを変えたこと…
sshを使ってVPNっぽいことをするsshuttleというアプリケーションがある。 便利なので業務でも使っているのだけど、毎回ヒストリーから実行するのがめんどくさいのでsystemdで管理することにした。 事前準備 sshuttleは一般ユーザで実行した場合、内部でsudo…
この記事はGMOペパボエンジニア Advent Calendar 2021の5日目とLinux Advent Calendar 2021の10日目*1の記事です。 昨日ははらちゃんのブログをもっといい感じにするでした。 差分転送することでアップロードを高速化するのは目から鱗でしたね。 データのア…
GMOペパボアドベントカレンダー2021。今日から始まりました! …が、これはその記事ではないです。doewくんの記事楽しみですね。 さて、本題。 今まで、CapsLock <-> Ctrlの入れ替えをgnomeの機能の行っていた。 具体的には以下のコマンドを実行する、もしく…
reddish-shellでRustからmrubyを呼び出すことができたので、逆もできないかと思って試してみたらすんなりできたのでメモしておく。 前提: rust-mruby crateを使う mrubyのAPIをRustから呼び出すためには、mruby.hをRustで定義し直す必要がある。 拙作のrust-…
満足するところまで作れたのでv.0.11.0をマージした。 Rustで作り直す前にはあった機能を一部実装していない*1があるが、一旦区切りをつけたかったのでマージした。 割り切り重要。Done is better than perfect. いや意味するところは違うと思うけど…。 前回…
最近の開発状況をば。 コミット * e8e8867 Add command substitute * 3e7b5fe Moved internally reserved fd * a0c531f Improve pipeline and background * 7bb1db7 Improve background process and pipeline * 4d39b7f Replace FdSize to RawFd * 1cf7c73 I…
psコマンドの -o sigmask や、/proc/$pid/statusのSig〜は16進数の文字列で表示されていて、該当するbit数のシグナルにフラグが立っているというような見方になっている。 例えば、ps -o sigmaskで1の位が3ならHUP(1)とINT(2)がマスクされていることになる。…
今の進捗↓ コマンドの実行を実装 変数を利用できるようにした cmd1 && cmd2 と cmd1 || cmd2を実装 if/unless/while/until/for文を実装 コマンド履歴機能を有効化 Rust 1.56.0 / 2021 editionを使うようにした 最低限の機能を実装したので少しはシェルっぽく…
tftpdを削除してtftpd-hpaを入れ直す $ sudo apt install -y tftpd-hpa # tftpdも一緒に削除される 経緯 cobblerサーバをメンテしていたらtftpdが起動していないことに気がついた。 tftpdはxinetd(!)経由で起動されているので jounalctl -fu xinetd したとこ…
前回書いたとおりRustで再実装をしているのだけど、パーサーとレキサーの再実装ができた。 Rustでの再実装前と同等の機能までは実装できると思うが、%記法については実装を見送った。 github.com %記法の実装見送りについて Rubyっぽい記法を取り込みたいと…
println!やformat!のプレースホルダとして使われている {} がうまく出力できなくて悩んでいたけど、解決したのでメモしておく。 結論から書くと2つ重ねるとエスケープされるのだった。 { を出力したいなら {{ 、 } を出力したいなら}} とすればよい。
久しぶりにreddish-shellのアップデート(?)なのだけど、Rustで再実装している。 なんでまた…っと思われるかもしれないが、意図が明確にあってそれは高速化である。 前にブログに書いたかもしれない*1けど、今のreddishは果てしなく遅い。 原因はいくつかある…
Ubuntu 14.04/16.04のESMの期間が延長されましたね。 gihyo.jp それと関係あるのかないのか、Ubuntu16.04でnetworking restartせずにresolv.confを更新する方法を見つけたのでメモっておく。 Ubuntu 16.04ではresolvconfコマンドで /etc/resolv.conf を生成…
最近、唐突にRustに入門したくなりWebの記事やチュートリアルをあさり始めた。 いくつかサンプルなどを試したけどいまいちしっくり来なかったので、体系的に学ぶ必要があるなっと思い実践Rust入門を読んだ。 gihyo.jp 実践とついてあるだけあって、実際にど…
rustup doc --std したときにうまくFirefoxが起動せず別のアプリが起動してしてしまった。 こういう場合以下のコマンドを打つと、Firefoxに変更できる。 ❯ xdg-mime query default text/html ferdi.desktop text/htmlを開くのにferdiが選択されている Firef…
ISUCON11に @pyama86 と @osamtimizer と3人で参加した。 ベストスコアはリーダーボード上で15977。その後ポータル上で記録はされなくなたけど、@pyama86がRedisでのキャッシュを入れたのが反映されて16128になっていた。 感想 12:00くらいにGET /api/trend…
2023/02/05追記:rtxを使ってstarship+asdfのプロンプトの表示が遅くなる問題を解決する タイトルの通り。 promptのカスタマイズにはstarshipを使っていて*1、バージョン管理にはasdfを使うようにここ最近変更した。 それぞれ特に不満なく使っていたのだが、…
私の使っている作業用Linuxデスクトップで、DNSリゾルバはdnsqmasqに変えたという記事を書いた。 tech.buty4649.net この変更はうまく行ってこの状態で運用していたのだが、PCの更新によりクリーンインストールした結果、元の状態(systemd-resolvedを使って…
v0.9.0のアップデートから1日くらいしか経っていないけどmruby3.0に対応したので新バージョンリリース。 commit一覧: 7e9242c v0.10.0 e5ef68b Merge pull request #3 from buty4649/readme e03874d Add notes on using iruby. 0319149 Update README.md 373…
reddish-shellのバージョンアップ報告。 粛々と開発つづけてきて、やっと普通のシェルくらいの機能にはなってきたかな?しかし、まだ実用までは長い。。 今回は特にシグナルハンドリング周りがとても大変だった…。 commit一覧 ba37780 Include all core gems…
前回から間が空いてしまったが久しぶりのバージョンアップ。 間が空いてしまったのは、あまりいい実装案が思いつかなかったのが原因。ooo このままだ、ズルズル開発が止まってしまうと思ったので、一旦実装したいやつを後回しにしてできるところから作ってい…
私の今の環境は、rootパーティションとswapパーティションの2つを暗号化している。 そうすると、起動時に解除キーの入力を2回若干煩わしい。 いい感じに回避する方法がないか検索したら、以下のサイトがヒットした。 unix.stackexchange.com keyscript=decry…
forkしたリポジトリをupstreamに追随させるみたいなことを、稀によくするのだけどその都度Googleで「github fork upstream 追随」みたいなキーワードで検索して実行していた。 しかしあるときふと、hubコマンドのsyncオプションを見つけてこれを試してみたら…
前回、if文におけるthenキーワードを省略できないと書いたが、画期的なアイディアをひらめいて解決したので嬉しくなってバージョンアップした。 そして、この記事を書いている途中でunless文のthenを省略できるようにすることを失念したことに気がついた…。 …
期限のあるなにかに迫られていると、別のことが捗るわけでreddish-shell v0.6.0になった。 一区切りついたので、もう1つの進捗も上がるだろうたぶん・・・ commit一覧 * f4d5f0a Improve parser * 69a3c3c Improve lexer * 33e0a64 Add if statement * ced3…