「Emacs」を含む日記 RSS

はてなキーワード: Emacsとは

2024-10-31

HHKBを語る上で最低限知るべきこと

anond:20241030190740

HHKBは下記のような話が前提となって作られている

アメリカ西部のカウボーイたちは、馬が死ぬと馬はそこに残していくが、どんなに砂漠を歩こうとも、鞍は自分で担いで往く。馬は消耗品であり、鞍は自分の体に馴染んだインタフェースからだ。

いまやパソコン消耗品であり、キーボードは大切な、生涯使えるインタフェースであることを忘れてはいけない。

新しいパソコンを買ってもWindowsからMacに乗り換えてもキーボードは大切なインタフェースとして鞍のように持ち運ぶ

なので小さければ小さい方が良いし品質は高ければ高い方がいいい

更には耐久性も高い方が良いしメンテナンスがしやすい方が良い

この大前提があるので

といった特色を持っている

キーの少なさについて不満を言う人が多いが、基本的プログラマーはFunctionキーや矢印キーを使わない

それどころかホームポジションから指を離さないといけないようなキーほとんど使わない

例えばVimならhjklのキーEmacsならC-npfbのキーで移動できるので矢印キーは使わないし

BackspaceはC-hを使ったり、その他にも人によって独自ショートカットキーを設定している

これはキータイピング時間を短くするという理由と打ち間違いを極力減らすという理由のためである

大抵の場合ショートカットキーにはCtrlキーを多用するのでAキーの横にCtrlキーが配置されており、押し間違いの代表であるCaps Lockはよくわからないところに追いやられている

プログラマー英語配列を好むのも実はこの押しやすさが関係していて

Returnキー(Enterキー)がホームポジション右手小指のキー1つ空きで押せるためである

JIS配列場合は2つ空きなので押せなくはないが少し遠い

そのために1つ空きの英語キーボードが好まれて使われている

他のキーの配置もあるが大きな理由はこのReturnキーである

2024-09-10

anond:20240910184416

おいおいおい、我が宿敵よ

遊戯の宿敵海馬瀬人Firefoxの宿敵 IEEmacsの宿敵 VS Code、そして全人類の宿敵がお前だ

2024-08-22

冷や水コメント定型文集

シェルスクリプト
シェルスクリプトなんて使うな/ShellCheck使えばいいだろ
Makefile
こんな記事よりオライリーMake本を読んだ方がいい
環境構築
昔は環境構築してたけど今ではデフォルトで満足してる
Raspberry Pi
ミニPCのN100
Emacs,Vim, 新しいエディタ
VSCode
デスク環境整備
金があってすごい/自慢だ

私の観測範囲より。

ITなどではしゃいでる人をみると必ず、冷や水をかけに現れるブクマカがいる。

昔は存在しなかったこういう人たちが、ITをつまらなくしてる側面は確かにあると思う。

はてブでもマンガとかのジャンルとかでは、ハラスメントは注目コメントに入ってこない。

マンガはまだまだ面白い分野。

ITに、はしゃいでる人がいないのが原因だ。

最近では、注目ブコメ露骨暴言ハラスメントしてくる奴らも増えた

足引っ張り屋のせいでオモテで素直にはしゃげない

2024-08-20

macos の ctrl と commandwindows みたいに ctrl としてのみ扱う方法教えてくれ

firefox 使ってると commandwindows の ctrl キーなんだけど、terminal で emacs keybind だと windows 同様の ctrl になる。

windows だと区別なく ctrl なのでポジションが変わらんのだが、macos 使ってると ctrl と commandアプリケーションで押し分けねばいけなくてストレスやばい

2024-07-21

テキストエディタってなんやろな?

いやぁ〜、テキストエディタ世界めっちゃディープでんねん!聞いてくださいよ〜。

まず、テキストエディタ心臓部、バッファ管理システムについてや。これ、単なるテキスト保持やないんですわ。例えば、Emacsガベージコレクション機構マーク&スイープ方式採用してて、バッファ内のLispオブジェクト効率的管理してんねん。これがあるから、長時間編集作業でもメモリリークせーへんのや。

次に、レンダリングエンジン。これが曲者でんねん。Unicode標準のUAX #9に準拠した双方向アルゴリズム実装せなアカン。さらに、合字処理のためにOpenTypeのGSUB/GPOSテーブル解析も必要や。Harfbuzzライブラリ使うんやけど、カスタムシェーピングエンジン組み込んで、特殊文字体系にも対応せなアカンのや。

構文解析エンジンも侮れまへんで。LR(1)パーサーじゃ複雑な言語構文に対応でけへんから、GLR(Generalized LR)パーサー実装するんや。これで曖昧文法も扱えるようになるんですわ。Treesitterライブラリ使うと、インクメンタル構文解析ができて、巨大ファイルでもリアルタイムハイライティングできるんや。

差分アルゴリズムも奥が深いんですわ。Myers差分アルゴリズムだけやなくて、Histogram差分アルゴリズム実装せなアカン。大規模リファクタリング差分表示に効くねん。さらに、セマンティック差分アルゴリズムも組み込んで、構造的な変更も検出できるようにするんや。

非同期処理システムめっちゃ重要や。単なるPromiseやasync/awaitやのうて、Reactive Extensionsベースストリーム処理実装するんや。これで、複雑なイベントシーケンスも扱えるようになるんですわ。さらに、アクターモデルベースの並行処理システム組み込んで、マルチコア活用した並列処理も可能にするんや。

最新トレンドめっちゃアツいんですわ。例えば、Language Server Protocolの拡張や。単なる静的解析やのうて、シンボリックAI使うた意味解析まで可能にしてるんや。これで、コード意図理解して、より高度なリファクタリング提案ができるようになるんですわ。

WebAssembly統合進化してるんや。Single Instruction, Multiple Data (SIMD)命令セットサポートで、テキスト処理のパフォーマンスが爆上がりしてんねん。さらに、WebAssembly System Interface (WASI)採用で、ファイルシステムアクセス可能になってるんや。

AI支援機能も侮れまへんで。単なる補完やのうて、プログラム合成(Program Synthesis)技術導入してるんや。部分的仕様から完全なコードを生成できるようになってんねん。さらに、説明生成AI組み込んで、生成されたコードの詳細な解説までしてくれるんですわ。

リアルタイムコラボレーション進化してるんや。Conflict-free Replicated Data Type (CRDT)のカスタム実装で、ネットワーク遅延があっても一貫性保てるようになってんねん。さらに、意図ベースの競合解決アルゴリズム導入して、複雑な編集操作の衝突も自動解決できるようになってるんや。

拡張アーキテクチャもすごいんですわ。WebAssemblyベースプラグインシステム採用して、言語依存せんプラグイン開発可能になってんねん。さらに、サンドボックス化されたランタイム環境提供して、セキュアなプラグイン実行も実現してるんや。

性能評価も厳しくなってるんですわ。起動時間は、コールドスタートだけやのうて、ホットスタートも測定せなアカン。メモリ使用量も、物理メモリだけやなくて、仮想メモリ使用状況も追跡するんや。CPU使用率は、マイクロアーキテクチャレベル最適化まで求められるようになってんねん。レンダリング性能は、GPUアクセラレーション効率評価せなアカンのや。応答性は、入力レイテンシだけやのうて、知覚的な応答性(Perceived Responsiveness)も測定するんですわ。

いや〜、テキストエディタ世界マジでディープすぎて、もう頭おかしなるで〜!こんな感じで、テキストエディタの最深部まで潜ってみましたけど、いかがでしたかテキストエディタ、侮れまへんで〜。ホンマに。

2024-07-18

anond:20240718120414

エディタ戦争VSCodeが使われるようになって終わってしまたかな…

Atomは開発停止してしまったし、Fleetは最近聞かないし、JetBrainsIDEIDEだし。

Vim(orNeoVim)やEmacsの人も、長崎熊本の人が九州トップといえば?と聞かれて福岡と答えるのと同じ感じで、好きなのはVimEmacsだけどVSCodeおすすめするってことが多くなって。

2024-07-17

Emacs小指対策フットペダルを使うという冗談があるが本当に実行している奴はいるのか?

2024-06-06

タイピングが遅い

「ChatGPTのLLMのサービス開発に取り組みたい」

「Reactを使ったモダンな開発をやっていきたい」

ML最先端研究に取り組みたい」

みたいなキラキラしたこと言って入社してきた技術新人、どいつもこいつもタイピングが遅い

VimEmacsVSCodeとかそういう派閥争いする前にそもそもタイピングが遅い

画面共有してもらって見ながら指示してるんだけどタイピング遅すぎてめちゃくちゃ生産性低い

当然ながらキーボードショートカット全然使わなくて

カーソル移動はマウスだしコピペマウスなのでくっそ遅い

普段からチャットしてないかSlackとかも全然返信来なくて

書き込み中のままかなり時間経過してちょろっと文章だけ送られてくる

世界一スピードとか求めては無いけど流石に遅すぎる

例えるならサッカー選手で足がクッソ遅いみたいな

どこのポジションでも無理だよ

2024-06-04

生活残業をしたい人のためのおすすめパソコン環境

ブラウザChrome一択

生産性が全ブラウザの中で一番低いにも関わらずなぜか使用率が高いので、生活残業を稼ぎたい人に大変オススメブラウザです。

Windows最初から入っているEdge基本的Chromeの全ての機能が使える上に、

縦タブやOfficeファイルプレビュー、Copilot、広告ブロックなど業務効率化させる余計な機能がついているので禁止です。

生活残業をしたい生産性の低い社会人合言葉は「EdgeChromeダウンローダー」!

もちろんVimキーバインドブラウジングができる拡張機能、Surfingkeysなんて入れたら生産性が爆上がりしてしまうので、

リンクマウスポチポチクリックし、ページスクロールマウスホイールを使いましょう。

Ctrl+TやCtrl+L、Ctrl+Wなどのショートカットも覚える必要がありません。

生活残業のためにタブを開くのも閉じるのもマウスを使うべきです。

エディタVSCodeオススメ

こちらもマウスと矢印キーを使うことを前提にした非常に生産性の低いエディタであるにも関わらず使用率が高く、

簡単作業時間を長引かせることができます

特に範囲選択

と言う気の狂った操作方法しかなく、後者場合Shiftがすっぽ抜けるとやり直し』と言う絶望的な生産性の低さで非常におすすめ

カーソル移動と言う一番頻出する操作方法メモ帳と変わらないので、結局多少補完が強力だろうとVSCode基本的生産性メモ帳と同じです。

素晴らしい!生活残業にピッタリ!

VimEmacsなどのエディタはもちろん、これらのキーバインドを使えるようにする拡張機能絶対に使うべきではありません。

VSCodeで使えるGit系の拡張機能バカみたいにマウスポチポチして操作する必要があるので、

ヘタするとそのままGitコマンドを打つよりも遅そうで最高です。

間違ってもtigやEmacsのMagitなどの高速Git操作インターフェースを使ってはいけません。

わざわざGUI操作するSourcetreeを入れるのもアリですね。

Excel関数マクロGASは覚えるな

ExcelでもSpreadsheetでも全てのセルにその場限りの計算式を入れましょう。

セル結合も積極的に使うべきです。

生活残業っていい制度ですね!

いかがでしたか

生産性が低ければ低いほど生活費を稼げる残業と言う素晴らしい制度をフル活用して所得向上を目指しましょう!

2024-05-05

[] 2024-05-05

今日は家に引きこもり続けている。これから散歩へ行こうと思うが、その前に冷水シャワー気合を入れたい。

普段からブログ記事なんてそう頻繁に見ているタイプではない。ドッグフーディングの失敗である

というのも記事推薦ツール作ってみた自分では使わないことがわかった。

自分で作ったもののほうが世間で誰かが作ったものよりも使いやすい、というタイプツールはそう多くはない。

こう考えると自分仕事の具体的状況に対して最適化すると、自作意味が出てくるように思う。

ポモドーロタイマーについても、CLIツールとして最もシンプルな形にしたものを作りたかった。タイマー時間自分仕事時間に対して最適化できる。

TODOリスト管理ツールについては自作する価値があった。なぜなら、履歴プレーンテキストにできるし、その履歴グラフプロット簡単にできるからだ。

次に作ることになりそうなのはemacs自分python開発環境モードだ。elpyよりもフィットしたツールを作りたいわけである

そういえばlispもしばらく書いてない。lispでそのような環境を作れば、気晴らしにはなるだろう。

2024-03-12

[] 開発環境の違いによるコーディングスタイルの不統一

Vimを使っている開発者が、pythonコードのインデントをスペース2として書いていた

他の開発者はpep8に従っているのでインデントはスペース4である

Emacsでは、tabを押せば即座にスペース4として補完されるのでタイプ数が増えるということはない

ところがこのVim利用者はスペースを2連打して入力していたようである

コーディングスタイルは、原則としてグローバルスタンダードとなっているもの採用した方が良い

pythonであればpep8を使えば、他のコードとの整合性もとれる

もし他の開発者が「スペース2のほうが生産性が高い」というなら、tab一回の入力で補完されるような環境設定を推奨すべきである

スペース4というのは、ちゃんとした理由もある

まりコードブロックを視認するためには4ぐらいの幅があったほうが見やすいということだ

頑なな開発者がいるなら、デプロイ時点でautopep8を自動適用してしまってもいいかもしれない

とにかく、コーディングスタイルバラバラなのは問題である

共通コーディングスタイルとなるように、開発環境の設定を共有するべきだろう

2024-03-11

ウンコーダーの特徴

他には?

anond:20240311210201

emacsはいいぞ

お前もelisp書いて沼にハマってみろ

anond:20240311202233

さすがに今時EmacsだのVimだのメインで使ってるやつはIQ低い老害だわ

コードエディタがない環境でやむなくViを使うケースぐらいだろ

emacsなんて手間ばかりかかって使い道が全くない骨董品、不便が楽しいクラシックカー乗りと似たようなもの

anond:20240311202127

EmacsVimを扱うには高いIQ必要から

君のような馬鹿者には使いこなせないだろう

anond:20240311201241

ははは、面白いこと言うね君

その通りだ、XcodeVisual Studio産業廃棄物である

君にはEmacsVimのことを見習う心構えはあるかな

2024-03-08

Macを購入してしばらく使っているが、使いにくすぎる

今までUbuntuに慣れていたからかもしれない

プロプライエタリなので環境の隅々まで完全把握するということができない

まずSafari脆弱性があって、アドウェア強制表示してくる

会社Windows機に接続する時に、キーボード配列互換性がない

VimEmacsが使いにくい

なんだ「英数」「かな」って、全角半角でいいだろ、キーを分けるな

と、イラつきが止まらんので、中古で2万円の安いDELLラップトップを注文した

やっぱUbuntuに限るよね

2024-03-07

俺の中の生成AIがChatGPTで止まってる

趣味の話なので別に生成AIコード全部入れても問題ない、

そして金銭的にもそこまで問題はない前提で

俺はエディタによる自動入力を使ってない。

VSCodeとかCursorも使ってない。Vimだ。

いや、VimでもEmacsでも確かそれっぽいプラグインあるんだけど、

手を出してない。

言い訳も作ってる。

プラグイン動作確認だるい

複数環境があるのでセットアップだるい(おそらく個別の設定API_KEYくらいなので言い訳ではない)

言語化できない不安(プログラマ不要論寄かも)

最後ほとんど本音だろう

多分爺化だこれ

ああああああああああ、俺はこれからコードコピペしてChatGPTのWebページテキストエリアにペタペタしていくんだぁああああああああああ

2024-01-21

anond:20240121131340

第三者の印象を優先するならEmacsなんて使わんだろ

しろVSCodeを使うようなやつこそ印象を気にしてる

Emacsは印象にマイナスから

emacs使い続けてるけど、老害かな?

学生時代エディタ戦争というものを知って、vimemacsかということで、ストールマン先生を信じてemacsを使い続けてきた

基本的キーバインドは熟知しているので生産性は高いし、lispカスタマイズする方法も知っている

だがvscode布教する連中が現れてから「そろそろ俺も老害か?」と思うようになってきた

しかリーナス・トーバルズも、Matzも、デイブトーマスも、グイドヴァンロッサムも、DHHも、ビャーネ・ストロヴストルップもEmacsユーザーである

bashだってemacsキーバインド採用してる

サーバサイドにemacs-noxが入ってない時は仕方なくviを起動するが、開発は常にemacsを使う

まあ正直なところ、vscodeことなんてこれっぽっちも知らないんだけどね

emacsに最も習熟し、生産性が高いからこそ使い続けている

なんというか、コードのケツをしばく時はemacsベストだと思うよ

2024-01-14

都市伝説ではELIZAというAIが有名だけど、emacsユーザーはいつでもELIZAに触れるからまり驚かないよね

しかもChatGPTと比べるとカスだし

2024-01-07

ちょっと前は「プログラミングするならMac」という風潮が確かにあった

今でこそWindowsでも全く問題なく開発できるけど、ちょっと前は「Macのが開発体験が良い」と言われていた。

具体的には2011~2015年あたり。

2013年のころ、俺はWindowsで開発していた。WSL2なんてものは当たり前に存在しない時代だ。

たとえばC言語を使いたい場合MinGWとMSYSを使ってこんなかんじ必要ものチェックマークをしてインストールしていた。

まちがえた。俺が使っていたのはCygwinだ。こんなかんじインストールする。

パスを通す」とか言われていた時代だ。今ではインストーラほとんどやってくれる。

Windowsコマンドプロンプトがアホほど役に立たないので、msysCygwinコンソールを使うのだ。

Pythonインストールにもパスを通していた時代だった。当時はまだ2系が主流で、卒論を書く際、大学教授から「3系は使ってもいいけど、俺は知らないかサポートできない」と言われた。

Scipyはインストールしなければ使えなかったので、「python scipy インストール」検索して出てきた記事を参考にしてインストールしていた。これがまたエラー連続だった。

プログラムを開発するエディタも、vimemacsがまず候補に上がった。どちらも癖のあるエディタなので、そういうのが嫌な人はサクラエディタが推奨されていた。そして少しして登場するAtomに感動したのだ。今ではあたりまえのようにVSCodeがある。

ちなみに俺はPythonの開発ではIDLEというのを使っていた。知ってる?こんなの

そんなWindowsユーザーを少し煽るような(Winユーザ自虐するような)、「プログラミングするならMac」という風潮があったと記憶している。そこから「どうやらMacUnix系で、コンソール操作簡単らしい」「文字がきれい」「Windowsでは定期実行するためのcronすらないが、Macにはある」「xcodeというのがあるからめちゃくちゃプログラミングラクらしい」みたいなイメージがあった。

今ではWindowsも随分便利になったし、IDEインストーラがなんでもしてくれるようになった。今では結論、「どっちでも好きなほうを使えばいい」という良い環境になった。

ログイン ユーザー登録
ようこそ ゲスト さん