【新刊】みんなのPython第五版(二刷),Pythonで学ぶはじめてのプログラミング入門教室などの著者。大手予備校をはじめ機械学習講師。たまに企業や学会,技術イベントに呼ばれてお話しします。

Joined April 2007
AIが数学を解き始めたからこそ、数学者たちは「そもそも数学とは何をする営みなのか」を守ろうとしている。 1000人を超える数学者が「Association for Human Mathematics」に参加し、AI企業との協働を避けたり、AI生成物を研究成果として扱わなかったりする動きを始めている。背景にあるのは、AIへの感情的な反発というより、数学研究が「正しい答えを最速で出す競争」に変わってしまうことへの警戒だ。AIが未解決問題を大量かつ高速に処理できるようになれば、研究者が時間をかけて問題を選び、試行錯誤し、概念を育てていくというプロセスの価値そのものが揺らぐ。 ここで焦点になっているのは、「証明できるか」よりも「理解できるか」だ。数学では、ある命題が正しいと示すだけでなく、なぜそれが成り立つのか、新しい見方や概念をどう得るかが重要とされてきた。AIが証明を量産するほど、むしろ人間側には、その意味を解釈し、重要性を判断し、次に何を問うべきかを決める役割が残る。つまり、AIの性能向上が数学者を不要にするというより、数学者の仕事の定義を変え始めている。 ただし、問題は研究文化だけにとどまらない。 newscientist.com/article/259…
2
1
3
336
その意味で、この動きは単なる「数学者vs.AI」ではない。AIによって成果物そのものが安価に大量生産できるようになったとき、専門職は自分たちの価値をどこに置き直すのか、という問題でもある。数学界で起きていることは、プログラミングや科学、文章、デザインなど、他のホワイトカラー領域にもそのまま広がりうる。
93
巨大な計算資源を持つAI企業が未解決問題を次々と攻略できるようになれば、「どの問題を解くべきか」「何を重要な成果とみなすか」という研究の主導権まで企業側へ移る可能性がある。能力の差ではなく、資本と計算資源の差が知的成果を左右する構図だ。
60
まさかこの写真だけで「何の推し活」なのか分かる人はおるまい。
78
AIでコードを書くコストが劇的に下がった2026年。そこで再評価されているのが、27年前のExtreme Programming(XP)だ。古くなったどころか、AI時代になってむしろ核心部分の重要性が増している。 XPというと、ペアプログラミングやTDDを思い浮かべがちだ。しかしKent Beckが示したXPは、それら個別の手法よりずっと広い。Communication、Simplicity、Feedback、Courage、Respectという価値観を土台に、原則を介して具体的な開発プラクティスへ落とし込む体系である。著者Anton Zaidesは、特に「Humanity」「Mutual Benefit」「Quality」がAI時代に重要になったと見る。 たとえばLLMなら大量のコードも文章も短時間で生成できる。しかし、その結果として巨大なAI生成PRを他人にレビューさせたり、過剰な設計を作ったりすれば、局所的には生産性が上がってもチーム全体には負担を押し付ける。だからこそ「最も単純なものを作る」「素早くフィードバックを得る」「互いを尊重する」というXPの価値観が効いてくる。 興味深いのは、AIがXPを不要にしたのではなく、XPの中で重要な部分を入れ替えつつあることだ。 manager.dev/newsletter/extre…
1
1
14
1,157
さらに皮肉なのが生産性である。著者は、LLMによって仮に2倍仕事ができるようになったなら、その恩恵の一部くらい労働時間短縮に回ってもよいはずなのに、現実には仕事量と期待値が増え、ストレスまで増えていると指摘する。XPの「Energized Work――持続可能な範囲だけ働く」という古い原則が、AI時代には妙に新しく響く。 ここから見えてくるのは、AI時代のソフトウェア開発で希少になるものは、コードを書く能力そのものではないのかもしれないということだ。
138
コードが安く大量に作れるほど、「何を作らないか」「どこまで単純にするか」「誰がレビューするのか」「チーム内で知識をどう共有するのか」「人間が持続可能な速度とは何か」が重要になる。つまりAIによる生産性革命は、ソフトウェア開発を技術の問題から、より強く組織設計と人間関係の問題へ押し出している。 そう考えると、1999年のXPが2026年に再び面白く見える理由もわかる。XPは高速にコードを書く方法というより、高速に変化できるチームを、人間を壊さずにどう作るかという思想だったからだ。AIによってコード生成が高速化した今、その問いのほうが以前より難しくなっている。
1
70
AIでプログラマーが消えるのではない。「コードを書くこと」だけが、プログラミングの中心ではなくなる。 この記事は、その変化をFORTRAN登場以来の歴史になぞらえて描いています。 1950年代、コンパイラは「コーディングやデバッグをほぼ不要にする」と期待されました。実際、機械語を直接書く仕事は減りましたが、プログラマー自体は消えませんでした。むしろ扱えるシステムが大きくなり、仕事の抽象度が上がった。著者は、生成AIにも同じことが起きると見ています。 AIはすでにコード生成を高速化しています。ただし、それがそのまま開発全体の高速化を意味するわけではありません。AIが大量のコードを作れば、レビュー、仕様確認、テスト、品質保証の負荷が増える。つまり、ボトルネックが「書くこと」から「読むこと、判断すること、正しさを確かめること」へ移っていきます。 そこで変わってくるのが、プログラマーの役割です。将来は、一日中コードを書くよりも、AIが生成した変更を確認し、曖昧な要求を関係者と整理し、テストや仕様として定義する仕事の比重が高まるかもしれません。AIがコードを書けても、「期限切れのカードへの返金をどう扱うか」のような業務上の判断までは自動では決まりません。 この流れを突き詰めると、さらに大きな変化が見えてきます。 hrih.si/articles/the-compile…
1
1
1
234
これまでソフトウェア開発ではコードが「原本」でした。しかし将来は、仕様やテストが原本になり、コードはそこから自動生成される中間成果物に近づく可能性があります。機械語を人間が直接書かなくなったのと同じように、PythonやJavaを人間が直接書くことも、次第に低い抽象度の作業になるかもしれません。 そう考えると、AIがなくそうとしているのはプログラミングそのものではありません。人間の意図をコードへ翻訳する作業です。
104
例の脆弱性の件で思い出したんだけど、太陽光のコントローラーにWebインターフェースがあって、この拡張子が.phpだった。 中身はLinux Box。 こういうシステムはアップデートのことを考えずに作ってると思われる。
1
2
7
829
このコントローラーにはWifiルーターが付けてあって、外部からの接続はできない状態になっている。 でもまあ、ネットにさらし者になっているLinux Boxは世の中には沢山あるよね。
1
1
227
今はいろいろ電気に頼り過ぎているのかも、と少し思いました。
Replying to @ats
非電化冷蔵庫もありますね。 hidenka.net/hidenkaseihin/fr…
1
252
最先端ではない。けれど「電気がなくても、人の時間を取り戻せる」こと自体が大きなイノベーションになる。 元Dysonの航空宇宙エンジニア、Navjot Sawhneyが開発した「Divya」は、電気を使わない手回し式洗濯機だ。きっかけは南インドで出会った女性Divyaが、週に最大20時間も手洗いに費やしていたことだった。普通なら電気式洗濯機を導入すればよさそうだが、安定した電力も十分な水もない地域では、それ自体が現実的ではない。そこで発想を逆転し、「高性能な家電」ではなく、電気不要、少ない水、簡単に分解・修理でき、持ち運べる機械を作った。記事によれば最大7kgを洗え、手洗いに比べて作業時間を75%、水使用量を50%削減できるという。 重要なのは、これが単に「洗濯を楽にする道具」ではない点だ。家事時間が減れば、その分を仕事、教育、子育て、休息に振り向けられる。つまりこの機械が生み出しているのは、清潔な衣服だけでなく「自由に使える時間」でもある。すでに10万人以上に届けられ、2030年までに100万人への普及を目指しているという規模感を見ると、家電というより小さな社会インフラに近づきつつある。 そして面白いのは、ペダル式やモーター付きにすればもっと強力にできるのに、あえてそうしないことだ。 newatlas.com/good-thinking/d…
3
2
3
696
ここには、技術進歩を考えるうえで少し皮肉な構図がある。先進国から見れば「電動から手回しへ」は退化に見える。だが、インフラの乏しい地域では、それがむしろ進歩になる。技術の価値はスペックの高さではなく、その環境で実際に使え、直せ、生活を変えられるかで決まるからだ。 さらに広く見ると、これは援助の設計そのものへの問いでもある。高度な技術を持ち込むことが支援なのではなく、その土地の制約の中で自立的に維持できる技術を作ることが支援になる場合がある。AIやロボットのような派手さはなくても、「壊れにくい」「直しやすい」「外部インフラに依存しない」という性質こそ、現場では最も高度な設計判断なのかもしれない。
1
138
自転車や電源、複雑な部品を必要とすれば、その瞬間に使える場所が減り、壊れたときの復旧も難しくなる。Divyaは「何を足すか」ではなく、「何に依存しないか」を中心に設計されている。さらに開発側は、現地での生産や修理、共同利用まで視野に入れており、発想が製品単体から「使い続けられる仕組み」へ広がっている。
1
115
柴田 淳 - 「みんなのPython」の著者・機械学習講師・シニアアーキテクト retweeted
#日向ハル生誕祭2027 来年も開催決定( ◠‿◠ )🎂✴︎ 2027.1.19(火) 〈1st〉15:30〜/〈2nd〉19:15〜 📍JZ Brat SOUND OF TOKYO 10/24(土)14:00〜 ご予約受付開始です! 詳細 jzbrat.com/liveinfo/2027/01/…
16
140
33
650
21,390
Redisが1ms未満の応答を実現する秘密は、単にRAMを使っているからではない。ロックも、コンテキストスイッチも、厳密な管理も、できるだけやらない。速さとは、計算能力より「仕事を減らす設計」から生まれる。 Redisのコマンド実行は基本的にシングルスレッドで、I/O多重化によって多数の接続を扱う。Redis 6以降はネットワークI/Oの一部を複数スレッドに任せる一方、データ操作そのものは逐次実行することで、ロック競合や複雑な同期処理を避けている。さらにデータをメモリ上に置き、Sorted SetやBitmap、HyperLogLogなど用途に特化したデータ構造を直接操作することで、余計な処理を減らしている。 この「余計な仕事をしない」という方針は、メモリ管理にも貫かれている。たとえばLRUでは、全キーを厳密に利用順で管理するのではなく、少数のキーをサンプリングし、その中から古いものを削除する近似方式を採用する。TTLの期限切れ削除も、アクセスされたときの削除とサンプリングによる定期削除を組み合わせる。完全な正確さより、その正確さを維持するためのコストを避けることを優先している。 javarevisited.substack.com/p…
1
4
37
6,023
HyperLogLogも同じ発想にある。ユニーク数を完全に数える代わりに、ごく小さな誤差を許すことで、巨大な集合でもわずかなメモリで扱える。Redisでは「100%正確であること」よりも、「用途上十分に正しく、しかも圧倒的に軽いこと」が選ばれる場面が多い。 さらに永続化や可用性についても、すべてを一つの仕組みで解決しようとはしない。RDBスナップショット、AOF、Sentinel、Clusterといった別々の機構を必要に応じて組み合わせる。高速なデータ操作そのものを複雑にせず、信頼性や分散は別レイヤーで補う構造になっている。
1
370
さらに永続化や可用性についても、すべてを一つの仕組みで解決しようとはしない。RDBスナップショット、AOF、Sentinel、Clusterといった別々の機構を必要に応じて組み合わせる。高速なデータ操作そのものを複雑にせず、信頼性や分散は別レイヤーで補う構造になっている。 ここから見えてくるのは、Redisが「すべてを最高性能にしたシステム」なのではなく、どこなら妥協しても困らないかを非常によく理解したシステムだということだ。
181
仕事を失わないために「自分にしかできない仕事」を増やす。一見すると賢いキャリア戦略だが、その先に待っているのは安定ではなく、その会社から抜け出せなくなることかもしれない。 記事に登場する架空のエンジニア「Sam」は、古いコードの理由からデプロイの特殊な手順まで、誰も知らないことをすべて知っている。障害が起きればSam、難しい問題もSam。やがて会社にとって「欠かせない人」になる。しかし、その重要性ゆえに新しいプロジェクトへ移れず、昇進もしにくく、休暇中にも連絡が来るようになる。 しかもSamが蓄積した知識の多くは、他社でも通用する専門性ではなく、その会社でしか価値を持たない「組織固有の知識」だ。長く不可欠であり続けるほど、現在の会社での価値は上がる一方、外の世界で使える経験を積む機会を失っていく。結果として、「会社が自分を手放せない」と「自分が会社を離れられない」が同時に成立する。 そこで著者が勧めるのが、あえて「自分を代替可能にする」ことだ。頭の中だけにある判断を文書化し、複雑なセットアップを簡略化し、手作業のデプロイを自動化する。同じ指摘を何度もするならlintやテスト、型などに埋め込む。つまり知識を「人」から「仕組み」へ移していく。 maroun-baydoun.com/blog/make…
1
1
2
460
さらに重要なのは、人に任せることだ。自分なら10分で直せる問題を、別の人なら1時間かけるかもしれない。それでも任せる。「自分でやったほうが速い」を繰り返している限り、いつまでも自分しか10分で直せない。短期的な効率を犠牲にしてでも知識を分散させれば、長期的にはチーム全体が強くなる。シニアエンジニアの価値は「自分がいるときに何ができるか」だけでなく、「自分がいなくても何ができるか」で測るべきだ、というわけだ。
1
194
興味深いのは、Sam本人の問題だけにしていない点だ。組織は障害を深夜に直した人をヒーローとして称賛する一方、そもそも障害が起きない仕組みを作った人の仕事は見えにくい。質問に20回答えれば貢献が見えるが、ドキュメントを整備して質問そのものを20からゼロにすると、その貢献は数字に現れにくくなる。
1
110