はてなキーワード: Emacsとは
昨日(2025年10月8日・水曜日)の僕は、いつものように目覚めの瞬間から几帳面だった。
アラームを鳴らす前の微小な筋肉収縮で6時44分59秒に目が醒め、コーヒーの湯温は必ず蒸らし後92.3℃で計測し、トーストの一片は正確に28.4g、バナナは熟度指標でF値が2.1に収まっていることを確認してから食べる。
午前中は机に向かい、形式的かつ徹底的に「超弦理論の位相的/圏論的精緻化」を考察した。
具体的には、ワールドシートCFTを従来の頂点作用素代数(VOA)として扱う代わりに、スペクトラル代数幾何の言葉で安定∞-圏の係数を持つ層として再構成することを試みた。
つまり、モジュライ族 上に、各点で安定∞-圏を付与するファイバー化されたファミリーを考え、その全体をファクタライゼーション代数として捉えて、Lurie 的な infty-functor として境界条件(ブレイン/D-brane)を安定∞-圏の対象に対応させる枠組みを描いた。
ここで重要なのは、変形理論が Hochschild 共役で制御されるという点で、VOA のモジュラー性に相当する整合性条件は、実は E_2-作用素のホモトピー的不変量として読み替えられる。
従って、運動量・ゲージアノマリーの消去は位相的にはある種の線バンドルの自明化(trivialization)に対応し、これはより高次のコホモロジー理論、たとえば楕円コホモロジー/tmf 的な指標によって測られる可能性があると僕は仮定した。
さらに、Pantev–Toën–Vaquié–Vezzosi のshifted symplectic構造を導来スタックの文脈で持ち込み、ブライアンのBV–BRST 形式主義を∞-圏的にアップグレードすることで、量子化を形式的deformation quantizationから∞-圏的モノイド化へと移行させる方針を検討した。
技術的には、済んだ小節のように A∞-圏、Fukaya 型的構成、そして Kontsevich 型の formality 議論をスペクトラル化する必要があり、Koszul 双対性と operadic な正規化(E_n-operad の利用)が計算上の鍵になる。
こうした抽象化は、従来の場の理論的レトリックでは見逃されがちな境界の∞-層が持つ自己整合性を顕在化させると信じている。
昼には少し気分転換にゲームを触り、ゲーム物理の乱暴さを数理的に嫌味ったらしく解析した。
具体的には、あるプラットフォーマーで観察される空中運動の離散化された擬似保存則を、背景空間を非可換トーラスと見なしたときの「有効運動量」写像に帰着させるモデルを考えた。
ゲームデザイン上の「二段ジャンプ」はプレイヤーへの操作フィードバックを担う幾何的余剰自由度であり、これは実は位相的なモノドロミー(周回時の状態射の非可換性)として記述できる。
こう言うと友人たちは眉をひそめるが、僕にはすべてのバグが代数的不整合に見える。
コミックについては、連載物の長期プロットに埋め込まれたモティーフと数理構造の類比を延々と考えた。
例えば大海賊叙事詩の航路上に出現する島々を、群作用による軌道分割として見ると、物語の回帰点は実はモジュライ空間上の特異点であり、作者が用いる伏線はそこへ向かう射の延長として数学的に整理できるのではないかと妄想した。
そう言えば隣人は最近、ある実写シリーズを話題にしていたが、僕は物語世界の法則性が観客認知と整合しているか否かをまず疑い、エネルギー保存や弾性論的評価が破綻している場面では即座に物理的な説明(あるいはメタ的免罪符)を要求する習慣があるため、会話は短く終わった。
ところで、作業ノートは全て導来stackのようにバージョン管理している。具体的には、研究ノートは日ごとに Git の commit を行い、各コミットメッセージにはその日の位相的観測値を一行で書き、さらに各コード片は単体テストとして小さな homotopy equivalence のチェッカーを通す。
朝のカップは左手から時計回りに3度傾けて置き、フォークはテーブルエッジから12.7mmの距離に揃える。
こうした不合理に見える細部は、僕の内部的整合性を保つためのメタデータであり、導来的に言えば僕というエンティティの同値類を定めるための正準的選択だ。
夕方、導来スタック上の測度理論に一箇所ミスを見つけた。p進的局所化と複素化を同時に扱う際に Galois 作用の取り扱いをうっかり省略しており、これが計算の整合性を損なっていた。
誤りを修正するために僕はノートを巻き戻し、補正項として gerbe 的な位相補正を導入したら、いくつかの発散が自然にキャンセルされることを確認できた。
夜はノートを整理し、Emacs の設定(タブ幅、フォントレンダリング、undo-tree の挙動)を微調整してから21時30分に就寝準備を始めた。
寝る前に日中の考察を一行でまとめ、コミットメッセージとして 2025-10-08: ∞-categorical factorization attempt; corrected p-adic gerbe termと書き込み、満足して目を閉じた。
昨日は水曜日だったというその単純な事実が、僕にとってはすべての観測と規律を括る小さなモジュロであり、そこからまた今日の位相的問題へと還流していく。
まず大前提として一日にどれぐらいキーボードを使うかによってキーボードへのこだわりが変わる
ゴリゴリのプログラマーだと一日の打鍵数が半端ないので押し心地とか静音性とかよりも疲れにくさと耐久性が指標になる(ことが多い)
中途半端なプログラマーだと実はそんなに打鍵数がないので他の要素(押し心地だとか静音性だとか)を重視しがちになる
プログラマーでもない人は実はキーボードをそんなに使ってないので趣味で選べば良い
プログラマーじゃないけれどキーボード使ってそうな人、例えば物書きライターとかでも実は大してキーボードを叩いていない
ゴリゴリにキーボードを叩くとはどういうことかというと、基本的にはマウス操作はせず、デスクトップ操作を全部キーボードのショートカットでこなすので打鍵数のレベルが全然違う
例えば行頭へ移動するにはHomeキー(MacだとCtrl+A)、行末へ移動するにはEndキー(MacだとCtrl+E)とか
VimのキーバインドならどうだのEmacsならどうだとか言い出してそれぞれ飽くなき戦争を繰り広げている
普通の人ならマウス操作で済ませるところをショートカットキーまで使うので打鍵数が全然段違いになるし
Emacs派ならCtrlの位置やEscのカスタマイズ性だとかそういう方向に目がいくのでキーボードに対する熱量が全然違う
無線の良いところは簡単に片付けられる・どこでも使えるという部分になるが
そもそもプログラマーはキーボードなど出しっぱなしだし電池交換や接続の手間を考えると有線以外は面倒くさくてあり得ない
ラップトップを持ち運ぶときにキーボードを持ち運ぶ人もいるが、「スタバでMac」と同じで見栄っ張りなだけなので気にしなくて良い
プログラマーでもなくてキーボードをそんなに叩かないなら好きな方で良いと思う
耐久性が高いのはRazerシリーズの光学式かHHKBやRealForceの静電容量無接点方式になる
ただRazerはゲーミング用にありがちなLEDゴリゴリで他の要素が壊れそうだとは思っている(壊れたことはない)
一方でHHKBやRealForceは10年以上使っても使い心地が変わらないし、両社は歴史があるので実際に10年以上使っている人も多く信頼と実績がある
HHKBに関しては最近はHHKB Studioとかでメカニカル方式を採用しているが
構造上耐久性は劣るだろうと思う一方で、メカニカル方式も歴史は深いのでなんらかの耐久性向上技術が発展している可能性もある
HHKBかRealForceかは使うスタイルによって選択が変わる
十字キーやテンキーを多用するならRealForce、それらを使わないならHHKBになる
「十字キーを使わないとしてもあるに越したことはないでしょ」と言う人もいるが
プログラマーはマウスを使わないとは言ったが、流石に今時のPCでマウスを全く使わないことはないのでなるべく近くにある方が良い
HHKB Studioはこの考え方からThinkpadで言うところの赤ポチを搭載しているので
手を動かさずに操作をしたいならHHKB Studioもオススメである
また、持ち運びをする人もHHKBが良いと言われるが、この持ち運びというのはサーバールームなどで作業する人のことを指していて
今時そんな人はほとんどいないだろうと思われる
出張などで鞄に入れて持ち運ぶのならHHKBであってもデカすぎるからやめておいた方が良い
タッチ感は大きく分けると下記の通り
どの方式も押し心地は変わるし、やれクリック感だのタクタイル感だのリニア感だの評価している人は多いが
ただストロークが浅いと疲れやすい(関節への負担が大きい)というのはあるので打鍵数が多いならストロークは深めの方が良い
後は気に入った物を使い込めばそのうち慣れる
まぁ、少なくともメンブレンとシザー/バタフライ系は2〜3年で壊れることが多いのでそのつもりで
人間の体の構造上手を左右に拡げる方が自然だという言説なのだがこれも好みになる
「分離式を体感したら戻れない」
いや、ちゃんと戻れる
やってみて使いにくかったらやめれば良い
個人的にはしばらく使ってみたが別に疲れにくさとか変わらないのにマウスとかの場所に困ったので普通のキーボードに戻した
静電容量無接点方式もメカニカル式もはっきり言ってめちゃくちゃ五月蠅い
キーボードをよく叩く人は感覚が麻痺しているだろうが、一般的にはめちゃくちゃ五月蠅い部類に入る
HHKBのType-Sなんかは静音とか銘打ってるが、作ってる側も感覚が麻痺していて、静かにはなったが静音とはほど遠い
まぁラップトップに備え付けのキーボードは基本的に静かなのでそれを使うのが良い
イキりたいならRazerかRealForce買っとけ
そうじゃないなら適当に買って慣れろ
"現状"とはつまり2025年5月時点の話であり、動向が非常に変わりやすいIT業界の風土を考えると将来的にどのようになるかは予測が非常に難しい。
しかし、数年でこの"現状"が変化するとは考えにくく、今現在の学生が10年以内に社会人となったとき今現在の"現状"を基礎に情報技術を学んでいる可能性が高く、このエントリでは"現状"を周知する為に書かれた。
集計した時期や団体で数値の変動はあるが、日本国内で現状のICT教育でのOSシェアはChromeOSがおおむね30〜40%というシェアを獲得しており、IT大国と知られているアメリカでは日本と同様に集計した時期や団体で数値の変動はあるがおおむね50〜60%というシェアであり、ICT教育のOSとしてChromeOSがデファクトスタンダードとなっている。
これは、テックファンがよく語るように「ChromeOS端末が安価で導入できる」という意見が理由として挙げられがちで、実際に導入コストを抑えられるメリットというのは大きいものの、逆に言うとそれ以外の理由があまり語られることが少ない。
流石にこの意見は、IT業界のプロの現場で多用されるMicrosoftやAppleを抱えるIT先進国である米国がただ安価であるからという理由だけでGoogleのChromeOSを採用するにしてはあまりにも弱すぎる理由ではないだろうか?
そこで「何故ChromeOSを教育現場は採用するのか?」を紐解きたい。
長々と引っ張るのも億劫になってしまうので結論から言えば「Google ClassroomとGoogle Family Linkの出来が非常に良い」からである。
Google ClassroomとはまさにICT教育向けにGoogleから提供されているグループウェアで、生徒へ対して課題の作成と配布、進捗、採点、評価の管理が可能で、それらにはGoogleドキュメントやGoogleスプレッドシート、Googleスライド、Googleカレンダーが利用でき、教師生徒間オンラインコミュニケーションとしてGmailやGoogle Chatを用いることができる。
つまり教育現場からするとChromeOS端末を導入したらGoogle謹製のオールインワンICT教育グループウェアが瞬時に入手可能であり、更に言えば現状では既にデファクトスタンダード化しており膨大な導入事例によって困りごとの解決が非常に容易であることがあまりにも大きなメリットとなっている。
なにせICT教育端末の2台におおよそ1台はChromeOS端末であり、例えばSNSなどで流れてくる「ChromeOSでこんな酷い目に遭った」は導入数が多いが故にであり、逆にiPadOSを支持する人でも「Apple Classroom」というアプリが存在することを知らない場合が多い。何故知らないのか?と言えば導入数が少なく話題にまったく挙がってこないからである。
なお、Apple ClassroomとGoogle Classroomを比較するとGoogle Classroomの方が高機能である。AppleもICT教育OSシェアを上げようとApple Classroomの改善に努めてはいるもののGoogle Classroomへ追いつくまでには至っていない。
Google謹製のペアレンタルコントロールアプリで、子供のGoogleアカウントに紐づけられたChromeOSおよびAndroidOS、それらがインストールされる端末などを管理できるサービス。
端末自体の使用時間上限を定めたり、端末の使用時間上限を定めずアプリ毎の使用時間上限を定められ、つまりゲームやYoutubeやTiktok、Webブラウザアプリなどは1日1時間に制限しつつ、学習アプリは使用時間無制限にでき、そのほかWebフィルタリングやYoutubeフィルタリング、アプリインストール、課金管理も可能で、しかも就寝時間や登校時間には使わせないようにできるなど親にとっては至れり尽くせり子供にとっては非常にお節介なサービスである。
ペアレンタルコントロールの自由度も実はAppleの方が乏しく、Apple製端末を子供に与えている親は親自身が設定したペアレンタルコントロールに親自身が巻き込まれたりして四苦八苦するシーンがある(実体験)が、Google Family LinkのあるChromeOSおよびAndroidOSはApple製端末ほど困ることが少ない。
Google ClassroomとGoogle Family LinkだけではIT大国であるアメリカが何故ChromeOSをICT教育OSとしてデファクトスタンダードとしてしまったのか?の納得感としては薄い。
最終的な決め手は「一般的な使い方ではセキュアなサンドボックス上でタブレットOSやスマホOSのように容易に利用でき、高度なプログラミングを学ぼうとするときプロとほぼ同じ環境を利用できる」ことにあるだろう。
もちろんiPadOSには「Swift Playgrounds」があり高度なプログラミングを体験できるが、ChromeOSやAndroidOSではPlaygroundsどころかLXC/LXD仮想環境上に構築されたLinuxディストリビューションのDebianを扱える。
いやそもそもDebianを導入しなくてもGoogle Play Storeには小学生向けプログラミング環境のScratchからインスパイアされたポケットコード、非常に本格的なゲームプログラミングIDEのGDevelop、UnityやUnreal Engineに次いで業界3位のシェアを持ちプロ現場でも採用される2D/3DゲームプログラミングIDEのGodot Engineなどがある。
そして当たり前のようにGoogleはChrome OS向けAndroid Studioを用意しており、ChromeOSさえあればAndroidOSアプリをGoogle謹製のプログラミング環境で開発することができる(実際のところAndoridOSはAndroidOSだけでアプリをコンパイル&ビルドできるが割愛)。
これMacとiPhoneやiPadしか触ってこなかった人間からするとどういうことかと言えばChromeOSにはAppleで言うところのXcodeがあることを意味し、何ならDebian上でWeb版みたいに機能制限されていないフル機能のMicrosoft Visual Studio Codeが利用でき、理解できる人は驚いただろうが前述の通りGodot Engineがあるわけだ。RubyやPythonだって動くし、Bashもfishもzshも選び放題、Vim vs. Emacs論争へも参戦できる。
しかも昨今、WindowsのWSL2でLinuxディストリビューションが導入できるようになってしまった影響で、一部の情報技術者の間では「開発環境は仮想上のLinux、サービス動いてるサーバーもLinux、じゃあWindowsとかmacOSとか使わずに最初から無理せずLinuxディストリビューションを端末へインストールして開発したら良いんじゃねーの?」という動きが活発化しており、そこへ表面上は日常利用でスマホやタブレットOSのように扱えて開発はしっかりLinuxディストリビューションであるChromeOSが「あれ?意外とChromeOS良いんじゃね?」という評価が始まっているのだ。
それでも「ICT教育は性能やランニングコスト的にiPadが優れてるんだ!」というAppleファンの熱い想いは否定しない。
しかし、しかしだ、当の多くのプログラマがiPadでプログラミングしてないんだ!!!開発するときにiPadのセキュアすぎるサンドボックスがマジで邪魔だと思っちゃってるんだ!!!!!
前述までの話を聞いて「iPadとChromeOS、仕事でどちらかしか使えません。どっちを選びますか?」と言われたらLXC/LXD仮想環境のあるChromeOSじゃん!!!IT大国のアメリカ様もそりゃChromeOS選ぶよ!!!!!だってプロの現場で使われてるんだもんLinuxがッッッ!!!!!!!
「どっちかしか選べないて?じゃあ俺は普通にMacbookにするわ」だって?えっそれ10年後ChromeOS(Linuxディストリビューション)でICT教育受けてきた新社会人に言えんの?サバンナで生きていけないよ?2人に1人は「学生のときChromeOSでしたぁ」って悪気なくピュアな瞳で言ってくる時代が直ぐそこだよ?
Windowsですら無いんだぞ?隔世の感どころの騒ぎじゃねーぞ?「当時ChromeOSでヴァンパイアサバイバーズやってましたね」とか新社会人が言うんだぞ?iPadかChromeOSかって言われてんのにMacbookって返すのはギャグの段階に触れさえしてねぇよ?まぁMacbookはタッチスクリーンディスプレイじゃないから触れられないんだけどさ。
Apple信者が声を大にして言わなきゃいけないことは「Appleさん、iPadもうちょっと何とかならないっすか?」だろ!!!!!
正論言ってんじゃねーよ!!!今更Appleのエコシステムから抜け出せねぇんだよ!!!!!ちょっと気になってGoogle側の事を調べてみたらめちゃくちゃ進んでんじゃねーか!!!!!!!
えっなにマジで?今のAndroidOSは純正でDebian動くの???アプリストアにGodotあるってどういうこと?????
どうも~!プログラマーのワイです!最近ミニマリズムっちゅうもんに目覚めましてな。
人生のコードもスッキリさせたろ思て、要るもんと要らんもんを仕分けしてみたんやけど、これがまたおもろい!ほな、さっそく見ていこか!
会社支給のノートパソコンを使っていてしみじみ思うことがある。
キーボードレイアウトが趣味に合わないのが本当につらい。会社支給だとキー操作の変更や自動化はアプリを入れさせてもらえない場合もあるのでなおさらだ。
PowerToys入れていい場合でもあれはキー入れ替えなかなか安定しないしな。(起動しないことがあるし起動してても設定画面を開くまで反映されないことがある)
キーボードレイアウトでよく言われるのはEmacs使いがCtrlを一般のCaps Lockの位置に置きたがるという話だが、そこは自分は気にならない。左下で良い。
ところがノートパソコンにありがちなFnキーの位置が左下になってる場合があってこれがつらい。範囲選択してCtrl+xうつつもりがFn+xをうってしまい画面に現れる単独のxがわびしい。
ノートパソコン作ってる会社にお願いしたいのだが、なんとかしてFnキー+特定のキーを押したときに発効されるキーの組み合わせを登録できるユーティリティをプリインストール(ここ重要)してもらえないだろうか。
FnとCtrlを入れ替えたいとかCtrlの位置をカスタマイズできるようにしたいとか、そういうことは確かに言いたい。言いたいが、かかるお金のわりに利益が得られる人数がニッチなこともわかる。
でもプリインストールのキーボードユーティリティで、「Fn+xを入力したときにキーボードがCtrl+xを出すようにユーザーが勝手にカスタマイズできる」だったら組み合わせるキーによって色々な使い方ができるし喜ぶ人もいろいろいると思うんだよ。
既存の画面明るくするとか無線をOffにするとかのキーは上書きできなくていいからさ。たのむよ。ほんとまじでなんとかならないっすか。
練習用ソフトぐらいはいくらでも転がっているが、指の位置が把握できるものが良い
サーバー運用する上ではGUIに頼れないことが多いため、noxで使えるエディタをマスターしろ
ここにきてようやくプログラミング言語だ
まず共通知識としてHTML,CSS,JavaScriptぐらいは知っておいたほうが良いだろう
あとはどんなプログラマーを目指すかに依るが、組み込み系ならC言語、Web系ならphpやpython、機械学習ならpythonやRを学べ
シェルスクリプトは便利だから、bashをマスターするのも望ましい
要は効率的に処理を書ける必要があるが、LeetCodeやAtCoderで基本的な問題集を解けるようになれ
例えばpythonプログラマーなら、numpy, scipy, scikit-learnなどのライブラリのドキュメントを読めるようになれ
あるいはElasticsearchを使わなければならなくなったときに、ドキュメントを読んで操作できるようになれ
ドキュメントを読む経験が増えれば、新しく何かをやるときにすぐに着手できるようになる
AWSを有料で勉強するのはキツイので、就職後に先輩から学ぶか、あるいは認定試験を本やオンライン講座で勉強するのでもいいだろう
バージョン管理システムは知っておくべき知識だ
いわば、ソースコードの巨大なUndo, Redoみたいなもんだ
パスワードをどう管理すればいいのか、ネットワークセキュリティの仕組み、など基本的なセキュリティは学んどいたほうが良い
クリーンコードに関する書籍はたくさんあるので、時間があるときに読んでおけ