2026-09-15 - 2026-09-21¶
読んだ記事
- ASCII.jp:ラスボスCOBOLを倒すために、7チームはなにを選択し、なにを捨てたのか? (⅕)
- GnuCOBOLまで行くところの方が大変だろうからな...
- 本物そっくり“AI生成レシート“が経費精算の脅威に マネフォ「自力で見破るのは難しい」 企業はどう備える? - ITmedia NEWS
- やー、現物の保管を義務化するにしてもこれは...
- 社員用にクレカ貸与する方がマシかもしれない
- mise の dotfiles 機能で chezmoi を代替できるか試した - Howdunit
- mise、PHPが二級市民なのでちょっと印象が悪いんだよな...
- 機能には文句ないから使ってるんだけど
- mise、PHPが二級市民なのでちょっと印象が悪いんだよな...
- そのプロジェクト、本当にNext.js必要? | ashunar0
- いってることはそのとおりなんだけど、隣の部署と同じ技術スタックだと詰まったとき聞けて便利、っていうのもあるから一概には言えない
- フロントエンドなんてバイブコーディングで良いこの時代に、私は - カミナシ エンジニアブログ
- 手段の選択をすっ飛ばしてコードが出てきたとき、良し悪しはE2Eで判断するしかない
- 筋の良い技術選択は、その選択肢を知らなければ原理的にできない
- 手段の選択をすっ飛ばしてコードが出てきたとき、良し悪しはE2Eで判断するしかない
- private な GitHub Pages に独自ドメインを当てるときに気をつけること
- GitHub Pages、便利に使ってるんだけど仕組みがよくわかってない
- Gitコミットに署名をつける - プププなテクブ
- 署名、するか...
- 社用と私用のアカウント分離も考えたい
- 【Porffor】JavaScriptをCにコンパイルして圧倒的パフォーマンスを見せる #日本語訳 - Qiita
- TypeScript→JavaScript→Cとかもできるのかな?
- 公式ドキュメントのサイトが落ちてた
- 一応動いたけど、なんだコレ...???
読んだ本
❯ cat hello.js console.log('hello, world'); ❯ pnpx porffor@latest c ./hello.js #include <stdint.h> #include <stdio.h> typedef uint8_t u8; typedef uint16_t u16; typedef int32_t i32; typedef uint32_t u32; typedef int64_t i64; typedef uint64_t u64; typedef float f32; typedef double f64; f64 NAN = 0e+0/0e+0; struct ReturnValue { f64 value; i32 type; }; char _memory[65536]; i32 i32_load(i32 align, i32 offset, i32 pointer) { return *((i32*)(_memory + offset + pointer)); } i32 i32_load16_u(i32 align, i32 offset, i32 pointer) { return *((u16*)(_memory + offset + pointer)); } i32 i32_load8_u(i32 align, i32 offset, i32 pointer) { return *((u8*)(_memory + offset + pointer)); } struct ReturnValue __Porffor_print(f64 x, i32 y) { i32 a = 0; i32 b = 0; i32 jjtypeswitch_tmpuu1cedd0d3f90a = 0; jjtypeswitch_tmpuu1cedd0d3f90a = y; // block // if if (jjtypeswitch_tmpuu1cedd0d3f90a == 0) { printf("%g\n", x); goto j0; } // end j1:; // if if (jjtypeswitch_tmpuu1cedd0d3f90a == 1) { // if if (((u32)x) != 0) { putchar((int)(1.16e+2)); putchar((int)(1.14e+2)); putchar((int)(1.17e+2)); putchar((int)(1.01e+2)); } else { putchar((int)(1.02e+2)); putchar((int)(9.7e+1)); putchar((int)(1.08e+2)); putchar((int)(1.15e+2)); putchar((int)(1.01e+2)); } // end j3:; goto j0; } // end j2:; // if if (jjtypeswitch_tmpuu1cedd0d3f90a == 3) { putchar((int)(1.17e+2)); putchar((int)(1.1e+2)); putchar((int)(1e+2)); putchar((int)(1.01e+2)); putchar((int)(1.02e+2)); putchar((int)(1.05e+2)); putchar((int)(1.1e+2)); putchar((int)(1.01e+2)); putchar((int)(1e+2)); goto j0; } // end j4:; // if if (jjtypeswitch_tmpuu1cedd0d3f90a == 4) { // if if (((u32)x) != 0) { putchar((int)(1.23e+2)); putchar((int)(1.25e+2)); } else { putchar((int)(1.1e+2)); putchar((int)(1.17e+2)); putchar((int)(1.08e+2)); putchar((int)(1.08e+2)); } // end j6:; goto j0; } // end j5:; // if if (jjtypeswitch_tmpuu1cedd0d3f90a == 5) { putchar((int)(1.02e+2)); putchar((int)(1.17e+2)); putchar((int)(1.1e+2)); putchar((int)(9.9e+1)); putchar((int)(1.16e+2)); putchar((int)(1.05e+2)); putchar((int)(1.11e+2)); putchar((int)(1.1e+2)); putchar((int)(3.2e+1)); putchar((int)(4e+1)); putchar((int)(4.1e+1)); putchar((int)(3.2e+1)); putchar((int)(1.23e+2)); putchar((int)(1.25e+2)); goto j0; } // end j7:; // if if (jjtypeswitch_tmpuu1cedd0d3f90a == 66) { a = (u32)x; b = (i32_load(1, 0, a) * 2) + a; // loop j9:; putchar((int)((f64)(i32_load16_u(0, 4, a)))); a = a + 2; if (a != b) { goto j9; } // end goto j0; } // end j8:; // if if (jjtypeswitch_tmpuu1cedd0d3f90a == 82) { a = (u32)x; b = i32_load(1, 0, a) + a; // loop j11:; putchar((int)((f64)(i32_load8_u(0, 4, a)))); a = a + 1; if (a != b) { goto j11; } // end goto j0; } // end j10:; printf("%g\n", x); // end j0:; } int main() { _memory[4]=(u8)12;_memory[5]=(u8)0;_memory[6]=(u8)0;_memory[7]=(u8)0;_memory[8]=(u8)104;_memory[9]=(u8)101;_memory[10]=(u8)108;_memory[11]=(u8)108;_memory[12]=(u8)111;_memory[13]=(u8)44;_memory[14]=(u8)32;_memory[15]=(u8)119;_memory[16]=(u8)111;_memory[17]=(u8)114;_memory[18]=(u8)108;_memory[19]=(u8)100; __Porffor_print(4e+0, 82); putchar((int)(1e+1)); return 0; } ❯ pnpx porffor@latest c ./hello.js >hello.c ❯ gcc hello.c -o hello hello.c:158:1: warning: non-void function does not return a value [-Wreturn-type] 158 | } | ^ 1 warning generated. ld: warning: reducing alignment of section __DATA,__common from 0x8000 to 0x4000 because it exceeds segment maximum alignment ❯ ./hello hello, world [Verus で正しさが数学的に証明できる Rust コードの開発 | Amazon Web Services ブログ https://aws.amazon.com/jp/blogs/news/developing-provably-correct-rust-code-with-verus/] Rustコードの中に事前条件・事後条件が書けるのは良さそう まぁ、そこにバグを埋め込みそうな気もするけど... [【徹底解説】DeepSeek v4.1 Flashの内部構造【最適化したから解ること】|shi3z https://note.com/shi3zblog/n/n6d4fbe03218e] 半分もわからんどころか1/10もわからん... 行列、早々にさじを投げたからな... [バイブコーディングで GUI が壊れていく理由とその対策プロンプト https://zenn.dev/nrs/articles/9ba91aea587bf5] 魔法のプロンプトを使うことはないだろうけど、このパターンに沿っているかは確認したほうが良さそう [自動テストが0件の現場で、人の確認を減らす側に倒した話 https://zenn.dev/ceres_tech_blog/articles/09aa8e17762d7e] リアリティがある 自社で同じことをしようとしたら止めるけど、金がなくて結果が急いでほしい場面(スタートアップならほぼ毎日)はあるからな... [メモリに載らないGROUP BYをDuckDBはどう処理するのか https://zenn.dev/loglass/articles/7c140c6689d8c2] LambdaにDuckDB乗せて集計、とかのときはOOMにも気をつけないと駄目そうよね [文字列を捨てたモデル。Jevはなぜ桁で速いのか https://zenn.dev/1amageek/articles/typesafe-jev-system-one-model] 急に流行り始めたJev 早くて安いけど出力フォーマットに制限がある、っていうのは面白い制約よね [「Tailscaleやめたい」の7つの技術的指摘を2026年9月時点で再検証 | Velumesh https://velumesh.jp/blog/blog-2026-09-16.html] Tailscaleの日本正規代理店から返答blogがでてて面白い [エージェント用のmacOS環境を量産するGhostVMが良さげかも | kawarimidoll.com https://kawarimidoll.com/posts/202609181/] 隔離環境を簡単に作れるのはいいなー [GitHub Actionsがキャッシュポイズニングリスクを制限するためにcache-modeを追加 | Socket https://socket.dev/blog/github-actions-cache-mode] また少し安全になった [人間はどの意思決定を手放せるのか - Speaker Deck https://speakerdeck.com/kawasima/ningen-ha-dono-ishi-kettei-o-tebanaseru-no-ka] Souther、すごいかも [マンガ原稿をクラウドに上げただけでGoogleアカウントBAN Gmailも道連れ……日本では合法なのになぜ?(1/2 ページ) - ITmedia NEWS https://www.itmedia.co.jp/news/article/2609/16/2000001527/] Proton Drive検討中 Googleにはお金を払っているけど心配は尽きない [OpenAIのAIエージェントによるものとみられているRubyGemsへの不正なパッケージ大量投稿についてまとめてみた - piyolog https://piyolog.hatenadiary.jp/entry/2026/09/16/085611] OpenAIが制御できてないのがなぁ... [単一ノードのローカルS3におけるMinIOの代替手段 https://rmoff.net/2026/01/14/alternatives-to-minio-for-single-node-local-s3/] MinIO代替なー RustFSがGAしたって話を聞いたのでこれかなー [rustfs/rustfs | zdoc.app https://www.zdoc.app/ja/rustfs/rustfs] [AI sloppingのコツ|株式会社HERP公式note https://note.herp.co.jp/n/na751e51ea47f] 気合よね [Local LLMを社内に提供! Local LLM Model as a Serviceとその取り組みについて - NTT docomo Business Engineers' Blog https://engineers.ntt.com/entry/202607-local-llm-maas/entry] これ、いずれ各社で必要になる気はするなー [terraform plan -minimal-refreshでplanを爆速にする #Terraform - Qiita https://qiita.com/minamijoyo/items/92c094b554d090b54a17] 最近terraform planが遅いのが気になっていて早くGAしてほしい
書いた
その他
- 横断支援組織でのAI活用の難しさ
- 技術支援という立場なので、実施内容を説明できることが必須
- AIエージェントを使ってもいいけど、質問されたら答えられる程度には提供するコードについて理解していないといけない
- 一からAIに書かせてポン出しして理解できるわけないので、書きながら調べて動かして初めて理解できる
- まぁ、テストはよく生成してるけど...
XPosts
- 2026/9/22 7:43:40 https://x.com/What_R/status/2102166903636754789
-
jev、自動発注システムに使えないかな
-
コンテキストと発注ロット数渡して何ロット注文するか選択させる感じ
-
2026/9/20 19:56:56 https://x.com/What_R/status/2101626656968593907
-
軒並みMサイズのシャツが小さく感じるようになったから、買い替えないとなあ
-
あと10年くらい鍛えたらタンクトップが似合うようにならんかなー
-
2026/9/17 14:49:15 https://x.com/What_R/status/2100462064368316807
-
他人の書いたflake.nixをコピってくるとかじゃなくて手で書きたいんだけど、なんかいい感じに文法の説明してくれるサイトとかないかしらん...
-
AIに書かせるんじゃなくて手で書きたいのよ
-
2026/9/17 8:06:18 https://x.com/What_R/status/2100360659771036117
-
protonに寄せる手はあるな。。。
-
Googleに依存しまくってるので何かあると打つ手が無くなる
-
ここら辺の話がクソすぎて、クラウドバックアップも入稿もproton drive使ってる。スイスにサーバー置いてるエンドトゥーエンドの暗号化保存型のやつ。 x.com/itmedia_news/s…
-
2026/9/15 13:42:08 https://x.com/What_R/status/2099720396207788061
-
2026-09-08 - 2026-09-14 - watarukura https://scrapbox.io/watarukura/2026-09-08_-_2026-09-14…
-
書きました