Links of February
1月から始めた月次振り返りの2月版です。
興味を持ったこと
パーソナルソフトウェア
業務でコーディングをしていると、YAGNIを意識しながらコードをできるだけ書かずに要件を満たし、テスタビリティを高めるための設計をします。コードは書けば書くほどメンテナンスコストがかかり、バグを生み出す原因にもなります。
そのようなことを繰り返していると、パーソナルプロジェクトでもそれを適用してしまい、コードを書かないで済む方法を考えてしまうようになりました。
しかし、コードを書くこと自体が楽しいということを思い出しました。コードを書くことで、自分の考えを形にすることができるし、それが動いているのを見ると達成感があります。コードを書くこと自体が楽しいということを忘れないようにしたいです。
コーディングは問題解決の手段だとは思っていますが、解決までの過程がなんだかんだ楽しいです。そのためにexperimentalな技術を試したり、自分のアイデアをテストする過程が楽しいです。
使い捨てでもいいので、自分のアイデアを形にするためにコードを書くように戻ってきました。
デザイン倫理、ハーバーマスと広告
ハーバーマスが論じた公共性の構造転換は有名で、コーヒーハウスを新聞やパンフレット、政治論議などが交わされ、身分を超えて意見交換できる場として定義し、言論や出版の自由を得て自由に討論することにより政治的に参加することができた18世紀の市民社会を指しています。
しかし、ハーバーマスは当初は活発だった市民的公共圏が、現代に至って大量消費社会やマスメディアの台頭によって形骸化・「再封建化」しているのではないか、という問題提起もしています。つまり、本来は市民の自由な討論が行われるはずの場が、広告やメディア支配などによって形だけのものになりかねない、という懸念です。
また、アドテクノロジーは、プライバシーの侵害や子どもの搾取、ダークパターンの強化など、様々な問題を引き起こしていると言われています。
- 「インターネット公共圏」は自由と民主主義を取り戻せるか。欧州の個人主義から考える「ソーシャル」の本質 | Business Insider Japan
- 橋本努・講義「経済思想」ハバーマス「公共性の構造転換」
- Advertising is a cancer on society — Jacek Złydach
- 「人間中心設計」への誤解。デザイン倫理を“他人事”にしないために——コンセント・長谷川敦士【連載】デザイン倫理考 #1|designing
- ユルゲン・ハーバーマス - Wikiwand
- 命を救うデザインと、命を奪うデザイン#161 - YouTube
llms.txt
AI向けに平文を提供するライブラリが増えています。/llms.txtというファイルを提供することで、AIがライブラリの概要を理解しやすくなります。
Cursorも複数のruleファイルを読み込めるようになり、今後はAI生成しやすくIDEで読み込みやすいライブラリがスタンダードになるかもしれません。
- The /llms.txt file – llms-txt
- https://sdk.vercel.ai/llms.txt
- https://svelte.jp/docs/llms
- llms.txt directory
弱いロボット(Weak Robots)
AGIの研究は進んでいますが、アライメントの問題が度々取り上げられます。強いロボットは、人間を超える知能を持ち、人間を脅かす可能性があります。岡田美智男さんのロボットにインスピレーションを受けて、弱いロボットに注目しました。
弱いロボットが強いロボットのアライメントをしたり、ウェルビーングの向上に貢献することができるかもしれません。弱いロボットは、人間と協力して働くことで、人間の生活をより良くすることができます。
Sakana AIの進化的モデルマージ的なアプローチや、OpenAIの弱いモデルが強いモデルを監督するアプローチなどにも面白いなと思っています。
- Weak artificial intelligence - Wikiwand
- 「弱いロボット」NICOBOがもたらす心の豊かさ~人とロボットが共生する社会を目指して~ | 個人向け商品 | 製品・サービス | 特集 | Panasonic Newsroom Japan : パナソニック ニュースルーム ジャパン
- 多様性を重視した集団ベースのモデルマージ
- Weak-to-strong generalization | OpenAI
Google検索ができる前
現在では、ChatGPTやPerplexity.aiといった高度なAIシステムまで登場し、情報へのアクセスはますます容易になっています。しかし、Google検索ができる前にどのように情報を得ていたのかが気になりました。
情報検索の進化は、紙媒体から始まり、1960年代後半には初期のオンライン検索システムが登場し、1980年代にはロッキード社のDialogシステムが登場しました。Dialogは高額な料金設定で、専門的なトレーニングが必要でしたが、利用者は効率的な検索技術を習得しました。日本でも丸善が導入し、研究機関や企業で活用されました。1990年代にはYahooディレクトリ型検索が登場し、その後GoogleがPageRankアルゴリズムを導入することで検索の高速化と精度向上が実現。現在ではAI技術を活用した新しい検索ツールが登場し、情報アクセスは劇的に進化しています。
- 回想:マルゼンDIALOG情報検索システム
- 「MASIS(メイシス)センター」の設立 ~知を検索するプラットフォーム~
- DIALOGサービスの登場(<連載>オンライン情報検索:先人の足跡をたどる(7))
- The Anatomy of a Search Engine
- Reflections on the Beginnings of Dialog: The Birth of Online Information Access
- Online Before the Internet: Early Pioneers Tell Their Stories (Susanne Bjorner and Stephanie C. Ardito)
Rest of World
Googleの元CEO、エリック・シュミット氏の娘、ソフィー・シュミット氏が創設したRest of Worldは、西側諸国以外のテクノロジー関連の話題をカバーするアメリカの非営利出版物です。
アフリカ、アジア、ラテンアメリカなど、西側諸国以外の地域でのテクノロジーの進化に焦点を当てており、記事の内容も面白かったです。
- Sophie Schmidt’s Rest of World Tech Publication Has Hit Early Growing Pains - Business Insider
- Indonesian influencers in politics raise democracy, disinformation concerns - Rest of World
- Spy Contractor’s Idea Helped Cambridge Analytica Harvest Facebook Data - The New York Times
その他
- 満18歳未満の方へ|国立国会図書館―National Diet Library
- 学校のレポート作成や卒業論文執筆などの調査研究のために、国立国会図書館にしかない資料を利用する必要があると認められる場合には、満18歳未満の方でも資料の利用ができます。
- Message Passing - はなしをふったりふられたり
- 一つのトピックに対してメンバーが記事を書くタイプのサイト。おもしろい
- Misreading Chat
- CSの論文を読んで話をするポッドキャスト。自分も身内とDiscordで似たようなことをしたいな〜と思っていたり。
- 🎧 Vercel’s Guillermo Rauch on What Comes After Coding
- VercelのGuillermo Rauchさんのインタビュー
- How we think about Threads’ iOS performance - Engineering at Meta
- ThreadsのiOSパフォーマンスについての記事
- An app can be a home-cooked meal
- アプリケーションは家庭料理のようなものである
- Data Dashboards UX — Design Patterns & Benchmarking | by Creative Navy | Medium
- イーロン・マスクによる米政府掌握の一翼を担う、行政経験不足の若手エンジニアたち | WIRED.jp
- Xユーザーのはやまり。| Sworkers・Project:F主宰さん: 「三菱鉛筆さんがドイツのLamy社を買収してくれたおかげで、見た目はLAMY・中身はJETSTREAMという夢のコラボが完成した。最高。ダークダスク欲しい🐈⬛✒️ https://t.co/WBaifdIjst」 / X
- Obscure Islands I Find Interesting
- Do-nothing scripting: the key to gradual automation – Dan Slimmon
- Announcing the Data.gov Archive | Library Innovation Lab
- “Torrenting from a corporate laptop doesn’t feel right”: Meta emails unsealed - Ars TechnicaHow I Built an Open Source AI Tool to Find My Autoimmune Disease (After $100k and 30+ Hospital Visits) - Now Available for Anyone to Use : selfhosted
- オープンソースの健康AIアシスタント。
- 山中俊治の「デザインの骨格」 » あらためてSuicaの話でもしようか その1
- Suicaのデザインについての記事
- ウォール街を占拠せよ - Wikiwand
- https://x.com/tier_iv_japan/status/1887773476347433107
- 「データの民主化」では足りなくて正しく使えるようにするためには教育と訓練が別に必要だ|データ分析とインテリジェンス
- vol.121 : Phone Based Childhood - Lobsterr FM | Podcast on Spotify
- 【ジオラマ】リンクの家作ってみた【ゼルダの伝説】 - YouTube
- File over app — Steph Ango
- アプリケーションよりもファイルを重視する考え方
- プレーンテキストでデータを持つことが重要という話。ただしテーブル構造を表現できないので個人的にはsqliteなどを使っています
- 日本でDifyが人気、シリコンバレーでReplitが好まれる理由:多角的分析|てる{AIに狂わされた人間}
- How I use LLMs - YouTube
- LLMチューニングのための強化学習:GRPO(Group Relative Policy Optimization) - どこから見てもメンダコ
- 情報幾何学 講義 (甘利俊一、前半) ※音声修正済み - YouTube
- https://x.com/BrendanEich/status/1895231159040385198
- Douglas Crockford: The JSON Saga - YouTube
- JSONの作者のお話
- Rustで進化するPayPayのスケーラビリティ
- 髪の毛の幅より小さな「超小型ロボット」が米で開発、精密手術や薬物送達に期待 治療後は体内に吸収(字幕・12日)
- wikiでページのURLをIDにすると絶対にうまくいかない - 橋本商会
- Inside the Duolingo Company Handbook
- HP Accelerates AI Software Investments to Transform the Future of Work | Humane
- Developer Experience (Japan Meetup 2025) - YouTube
- 100% user-supported — Steph Ango
- 小規模であり続けることを望んでおり、多くの従業員を雇う必要がない
- 妥協したくない厳格な原則を守っている
- ユーザーからのサポートで十分であり、VC資金は必要ない
- Obsidian自体は永遠には続かないが、作成したファイルはユーザーのものであり、世代を超えて残ることを願っている
- How Culture Affects the ‘Marshmallow Test’ | Scientific American
- 現実世界にさようなら。「VRChat」を今さら始めたら,あっという間に美少女に堕ち,100万円近く飛んでいった
- New digital protections for kids, teens and parents
- MetaやGoogle、Appleなど、子どもをprotectするための機能開発が増えている
- New holistic Apple Health Study launches today in the Research app - Apple
- X
- ローカルLLMを手のひらサイズで動かしてみよう! M5 Cardputer + ModuleLLM #AI - Qiita
- Announcing the Data.gov Archive | Library Innovation Lab
- HashiCorp officially joins the IBM family
プロダクト・ツール
CLINE
Devin / Cursor、Copilot Agentなどなど、コーディングエージェントが増えており、犇々と失業を感じます。APIでClaude 3.7 Sonnetを使ってRSSベースのポッドキャストアプリの試作をしていました。
Claude CodeはCLI製なのが良いのですが、LSPを恐らく積んでいないように感じます。CLINEのヘッドレス版があってもいいかなと思っています。
Gemini Code Assist
GitHubとの統合でPRのレビューをしてくれるようになります。数日間試していましたが、レビュー負荷が少し削減されたように感じます。
.gemini
フォルダで設定などを定義できるのですが、あまりまだ日本語は話してくれなさそうです。
superwhisper
Eureka LabsのAndrej Karpathyさんのツイートで知りました。キーボードに触れずにWhisperを使って音声入力をすることができるツールです。Cursor Composer w Sonnetで対話をしながらちょっとしたホームクックのアプリケーションを作ることができるのがとても魅力的です。
コーディングの経験のない知り合いも、Cursorで自分のためのアプリケーションを何ら問題なく作成してVercelにデプロイして使っていました。
アクセシビリティやデジタルデバイドの問題を解決するためにも、音声入力や音声操作のツールには可能性を感じます。
Mimestream
MimestreamはGmailのAPIを使ったmacOS向けのネイティブメールクライアントです。元Appleのエンジニア作。
最近はメールを中心にやり取りをするように変えました。GitHubだったり、GNU Mailmanのメーリングリストだったり、メールでやり取りできるものはメールでやり取りするようにしています。
インボックスが溜まらないように、ニュースレターやリリースなどはラベルをつけて自動アーカイブをして、暇なときに見るようにしています。
Inoreader
RSSリーダーをInoreaderに変えました。GitHubのリリースやイシューを自動検索してフィードにして受け取ったりしてライブラリのアップデートをウォッチするようにしたいなと思っています。
個人ブログもRSSで購読しています。
Celbo
まだクローズドβで試せていないのですが、Pythonのデータ解析のためのホワイトボードツールが出ていました。
R StudioやJupyter Notebookの代替としてどこまで使えるのかが気になっています。
Grep
Vercelが買収したGitリポジトリをインデックスしたコード検索エンジンです。文字のタイプごとに再検索が走りサクサク検索できます。
Home Assistant
パーソナルな統合されたホームアシスタントを作りたいなと思っていました。今まで全く知らなかったのですが、ChatGPTとブレストする中で発見し、かなりGitHubでアクティブな有名なOSSでした。
後ほど詳述しますが、FlexispotやOura Ring、Pi-holeなどを統合していきたい気持ちがあります。
その他
- CSpell | A Spell Checker for Code!
- Declutter your JavaScript & TypeScript projects | Knip
- GitHub - shivase/obsidian-textlint: Obsidian Textlint Plugin
- Open VSX Registry
- VSCode拡張機能のオープンソースレジストリ
- Windsurfなどはここを指していそう
- Tailwind CSS v4.0 - Tailwind CSS
- shadcnもcanary対応
- eslint pluginも対応してほしい
- GitHub - soumame/screen-interpreter
- 定期的にスクリーンショットを撮り、Gemini Flash を使用して分析し、画面のアクティビティ情報を記録する Deno アプリケーション
- Obsidianのデイリーノートと統合する機能もあります
- 友人と40分くらいCLINEで遊んで作ったプロトタイプです
- もう少しプライバシーに配慮したりmacOSのアクセシビリティAPIなども活用できそう
- GitHub - artnoage/Podcast
- 論文をポッドキャストにするツール
- Powerlet - Chrome ウェブストア
- Arcブラウザでブックマークレットを使うための拡張機能
- https://www.websitecarbon.com/
- ウェブサイトのCO2排出量を計算するサイト
- Typst 0.13
- HTMLエクスポートに対応
やったこと
ハビットトラッカーをやめた
ハビットトラッカーをやめました。上手いバランスで使えればいいのでしょうが、完璧主義が強く、達成できなかった時のストレスのほうが大きかったのでやめました。
Raycastのスクリプト
RaycastにはシェルスクリプトやPython、Node.jsなどを使ってスクリプトを作成することができます。この機能を使ってデイリーノートなどを楽に取れる仕組みを作りました。
Obsidian VaultでWebクリップをしたり、Astroでブログを書いたりしていると、長期的にはリンク切れが目立つようになると思います。
Wikipediaにはリンク切れを検出して、Archive.orgのリンクに貼り替えるボットが動いており、似たようなものを取り入れたりしてもいいかなと考えています。
App Router + Firebase Auth + Playwrightのサンプル
全然なかったので作りました。nextのミドルウェアがNode.js対応したのでもう少し書きやすくなると思います
GitHub - yutakobayashidev/next-app-router-firebase-auth-e2e
Nix環境へ移行
Homebrewをやめて、Nix環境に移行しました。Nixのパッケージ管理システムは、外部の状態に依存しない関数として動作し、副作用を避けることを重視する関数型プログラミングの考え方を取り入れていてとても興味を惹かれたのが理由です。
まだHomebrewから完全移行はできていませんが、徐々に移行していきたいと思います。
1Password CLI & Shell Plugins
前前から存在は知っていたのですがなかなか使えずに放置していたので試しました。背景としては、envファイルをAIエージェントがreadすることが増えたり、Rspackのnpmトークンが盗難されて悪意のあるPublishが行われ、postinstallにスクリプトが埋め込まれるなど、セキュリティの重要性を感じていたからです。
- Web3開発者をねらったハッキング手口の全て(わたしは全て抜かれました…)
- [Notice]: Version 1.1.7 of @rspack/core and @rspack/cli has security risks. Please use version 1.1.8 or v1.1.6 instead · Issue #8767 · web-infra-dev/rspack
- Get started with 1Password CLI | 1Password Developer
- 1Password Developer
- 1Passwordを使って、ローカルにファイル(~/.configや.env)として置かれてる生のパスワードなどを削除した | Web Scratch
Oura Ring
上陸したGalaxy Ringを最初買おうかなと思っていたのですが、Web APIがなるのが決め手となり、Oura Ring 4を買おうとしています。身体が急速に劣化しているのを感じていたので、リカバリーできるうちに改善していく試みです。最近はVDT障害を減らすためにデスク周りの工夫もしようとしています。
睡眠やストレスの測定ができるので、Grafanaに流し込んだりして遊びたいなと思っています。ローカルのAIエージェントでデータを読ませてヘルスモニタリングをしたりする時代になると思っており、ローカルで平文やオブジェクトとして保存できるサービスを選んでいきたいですね。
- ヘルスケアデータをGrafanaで見たくない…?〜健康 Reliability Engineering〜
- 可視化はGrafanaでって言ったよね - 俺の外付けHDD
- Oura RingにはWeb APiがある
FlexiSpotの遠隔操作
Flexispotは手元操作用のコントローラーをRJ45端子で差し込んでおり、シリアル通信をしています。LANケーブルを繋いで通信すれば任意の場所から操作可能になるのではないかと思い調べていました。
生成AIでソフトウェアを書くのはだいぶ自動化されそうなので、ハードウェアを楽しむのもありかなぁと思ったりして遊んでいます。
- Flexispotの電動昇降デスクの信号をハックしてスマホやPCから操作できるようにする - izm_11’s blog
- GitHub - iMicknl/LoctekMotion_IoT: Learn how to connect your Flexispot (LoctekMotion) desk to the internet. This repository contains a collection of scripts to get your started, combined with research and instructions.
GitHubスポンサー
@cordx56さんのGitHubスポンサーになりました。
イベント
- Hono活用を徹底解説 先達に学ぶベストプラクティス - connpass
- Browser and UI #1 CSS - connpass
- JSConf.jp おかわり Node学園46時限目 - connpass
読んだ本
- 誰のためのデザイン? 増補・改訂版 ―認知科学者のデザイン原論
このウェブサイト上のコンテンツは CC BY 4.0 DEED で利用できます