@ledsun blog

無味の味は佳境に入らざればすなわち知れず

2022-01-01から1年間の記事一覧

Ubuntuに最新のRedisをインストールする

Sidekiqのバージョンを上げたところ次のようなメッセージが表示され、起動出来なくなりました。 22:32:20 workor.1 | You are connecting to Redis 6.0.16, Sidekiq requires Redis 6.2.0 or greater 現在インストールされているバージョンを確認します。 le…

gccとclangが生成するアセンブリファイルを比較してみる

もっとCPUの気持ちが知りたいですか? - @ledsun blog で、本の環境と自信の環境で生成されるアセンブリファイルの命令が異なることに気がつきました。 X86アセンブラ/GASでの文法 - Wikibooks によると GNU ASで使用されているAT&Tアセンブリ構文 というも…

もっとCPUの気持ちが知りたいですか?

peaks.cc 読んでみます。 「第2章 CPUと友達になろう」にC言語のプログラムをアセンブラにする方法が載っていました。 自分の環境でも試してみます。 WSL上のgccで試しました。 #include <stdio.h> int main(int argc, char** argv) { int a = 1; int b = 2; int c = </stdio.h>…

11月15日にポーランドにミサイルが落ちた事件の顛末

www3.nhk.or.jp ベラルーシにウクライナ軍のミサイルが落ちたみたいです。 11月にもポーランドにミサイルが落ちた事件があったと記憶しています。 ロシアのミサイルという説とウクライナのミサイルという説があったと記憶しています。 どういう結論に落ち着…

食い詰め傭兵の幻想奇譚4

【電子版限定特典付き】食い詰め傭兵の幻想奇譚4 (HJコミックス)作者:まいん,池宮アレアホビージャパンAmazon ヒロインかわいいなー

WSL上の Ubuntu 20.04 LTS を 22.04 LTS へアップグレードする

Ubuntuをアップグレードしようとして22.04を見つけられなかった話 - @ledsun blog を試した時は22.04のLTSがでていませんでした。 8月にLTSがでています。 再度アップグレードに挑戦してみます。 現在のバージョンを確認します。 ledsun@MSI:/m/c/U/led_l►ls…

Windows 11で日本語入力ON/OFFをCtrl + Spaceで切り替える

Windowsのキーボードレイアウト切り替えショートカットを絶対殺すマン - @ledsun blog でキーボードレイアウト切り替え設定を行いました。 このとき[入力言語の切り替え]を間違って設定しました。 [入力言語の切り替え]を[割り当てなし]に設定すると、IMEが…

Windowsのキーボードレイアウト切り替えショートカットを絶対殺すマン

Windows 11にはキーボードレイアウト切り替えのショートカットが存在します。 IMEにATOKを使っていると、ふと気がつくとIMEがMS-IMEに切り替わっていることがあります。 意図せずにキーボードレイアウト切り替えショートカットを触っているのが原因です。 キ…

WSL上のUbuntuにrustをインストールする

Ruby 3.2.0がリリースされました。 rbenv + ruby-buildをつかってインストールできます。 Ruby 3.2.0のYJITを有効にするにはrustcがある環境でコンパイルする必要があります。 WSLにrustをインストールしていませんでした。 インストールします。 www.rust-l…

WSLgでGitKrakenを使う

現在はFork-gitとwslgitを組み合わせて使っています。 Windows上のリポジトリを見るときはFork-gitの設定を変更してwslgitを外しています。 少し面倒です。 GitのGUIクライアントをWindows用とWSL用でわけてしまえば、面倒な設定が不要になるのではないでし…

仕事で必要なのは技術力ではなく仕事力ではないか

yuheinakasaka.github.io より 先日「育児など家庭の色々があって自分の時間が確保できなくなった。技術力を高めるための勉強ができなくて不安。」みたいな話を聞いた それよりも「技術力を高めるための勉強ができなくて不安」という点が個人的には気になっ…

DockerイメージのベースをAlpineからDebianに変えた

ruby:3.0.1-alpine Dockerイメージでsimstring gemがビルドできない - @ledsun blog でRuby 3.0.1 はAlpine上でC拡張Gemのビルドに失敗することがあるとわかりました。 では、3.0.5ではどうでしょうか? config.status: error: in `/simstring': config.stat…

ruby:3.0.1-alpine Dockerイメージでsimstring gemがビルドできない

simstringとswigの問題の切り分け - @ledsun blog で、simstringのgemをビルドするときはprepare.shに--swigオプションをつける必要があることがわかりました。 simstring gemをDocker上で使いたいです。 Dockerコンテナを小さめにするために、Alpine Linux…

simstringとswigの問題の切り分け

Rubyからsimstringを使うにはSWIGが必要です。 - @ledsun blog でビルドしたsimstring gemをRubyから実行時に次のエラーが出ていました。 ledsun@MSI:~/pubdictionaries►ruby -e 'require "simstring"' <internal:/home/ledsun/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require': /home/ledsun/.rbenv/versions/3.0.</internal:/home/ledsun/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>…

Rubyからsimstringを使うにはSWIGが必要です。

GitHub - chokkan/simstring: SimString という文字列を検索するライブラリーがあります。 Rubyから使うことができます。 というわけでインストールしてみたのですが次のエラーが起きました。 ledsun@MSI:~/pubdictionaries►ruby -e 'require "simstring"' <internal:/home/ledsun/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:</internal:/home/ledsun/.rbenv/versions/3.0.1/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>…

Fork-gitが壊れたのかと思ったらwslgitの問題だった

Forkを1.18.0.0にバージョンアップしたら、画面の一部がエラーになりました。 GitHubでそれっぽいissueを見つけました。 github.com Duplicate, closing て、書いてあります。 何と重複しているのかわからなかったので、コメント書いてみました。 そしたら別…

V60珈琲王2 コーヒーメーカーを買った

www.hario.com 今まで使っていたV60珈琲王(前の型を使ってました)の調子が悪くなってきました。 抽出中に全ボタンが点灯して止まってしまう現象がおきます。 以前から時々起きていたのですが、頻度が上がってきた気がします。 ハリオ V60 珈琲王 - @ledsun…

WSL 1.0.3.0でCannot open display ":0"が直りました。

Cannot open display ":0" - @ledsun blog で起きました。 Distrodを使うのをやめました - @ledsun blog で直りました。 11月16日に再発しました。 Cannot open display ":0:がでています。 このときのWSLのバージョンです。 PS C:\Users\led_l> wsl.exe --v…

RubyVM.evalAsyncの中でRubyVM.evalAsyncを呼ぶとエラーが起きる

JS::Object.awaitが返らないときがある? - @ledsun blog にて次のような疑問を持ちました。 this.vm.evalAsync(script.ScriptBody)の中でthis.vm.evalAsync(script.ScriptBody)するのがよくないのでしょうか? 素朴にevalAsyncの中でevalAsyncを呼ぶとどう…

JS::Object.awaitが返らないときがある?

JS::Object.await ふたたび - @ledsun blog で、JS::Object.awaitの使い方がわかりました。 そこでfetchを使ってrequire_relativeを実装します。 import { RubyScript } from "./RubyScript"; import { EvaluatedScriptStack } from "./EvaluatedScriptStack…

ruby.wasmクイズ

次のスクリプトはエラーになるでしょうか? <html> <script src="https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@0.5.0/dist/browser.script.iife.js"></script> <script type="text/ruby"> require "js" JS::global.send(:require, 'erb') erb = ERB.new("Hello <%= val %>!") puts erb.result_with_hash val: "world" </script> </html> ヒ…

Microsoft People はアンインストールできない

Microsoft Storeで「更新プログラムを取得する」と高頻度でMicrosoft Peopleというアプリが出てきます。 意識的に使った事が無いアプリをたびたび更新するのは癪に障ります。 アンインストールできないでしょうか? How to Uninstall Microsoft People in Wi…

「デバッガーでの例外設定」とfinallyブロック内のブレークポイント

C#をデバッグ実行するとfinallyブロックに入らない - @ledsun blogを書いたら、つぎのような情報をもらいました。 「例外発生時に停止する」みたいな設定がONになってるんじゃないかしらhttps://t.co/pFsNahAN1B https://t.co/x5w89PxzzH— いわた (@wonderfu…

RubyVMインストラクション1日目

25日間で理解するRubyVMインストラクション - @ledsun blog の1日目が公開されました。 RubyVMはスタックベース仮想マシンです。 スタックに入る値はRubyのオブジェクトがそのまま入る点が特徴的なようです。 例えばduparrayという命令では配列[1, 2, 3]がそ…

JS::Object.await ふたたび

JS::Object.await - @ledsun blog に対してフォローをもらいました。 すごーく遅レスですが、最近追加したメソッドまで追っていただいてありがとうございます!コメントが大変紛らわしい書き方だったんですが、Ruby側でJSのPromiseを待てるもの、という認識…

C#をデバッグ実行するとfinallyブロックに入らない

こういうC#のソースコードがあります。 using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { try { var hoge = 0; var fuga = 1; var piyo = fuga / hoge; } finally { Console.WriteLine("finally"); } } }…

Vladimir MakarovさんのRubyKaigi 2022での発表を記事にしたもの?

developers.redhat.com ruby-jp slackで教えてもらいました。 A Faster CRuby interpreter with dynamically specialized IR - RubyKaigi 2022 の内容を記事にしたものらしいです。 この発表をみた僕の感想は A Faster CRuby interpreter with dynamically s…

25日間で理解するRubyVMインストラクション

kddnewton.com ruby-jp slackで教えてもらいました。 Syntax Tree - RubyKaigi 2022 を発表したケビン・ニュートンさんが25日間でRubyVMについて解説してくれるようです。 プロローグの本記事によるとRubyVMのインストラクションを表示する方法が挙げられて…

コア数を増やすと並列数は伸びるか?

8並列で3倍速 - @ledsun blog で、8並列で動くことがわかりました。 コア数を変えて計測してみました。 つかったEC2インスタンスは次の通りです。 インスタンスタイプ vCPU数 コア数 m6i.2xlarge 8 4 m6i.4xlarge 16 8 m6i.8xlarge 32 16 計測結果 4コアだと…

8並列で3倍速

EC2のvCPU数はハイパースレッディングを含む - @ledsun blog にて計測に使っているEC2インスタンスタイプが不適切であることがわかりました。 今度はm6i.4xlargeを使って計測します。 m6i.4xlargeは16vCPUあります。 コア数は8のはずです。 m6i.4xlargeの計…