Symdon Blog
comment
CPUの温度を気にしながら、Mac Book Proを閉じた状態で使う
ヘッドマウントディスプレイを使う事が多くなったため、その際には持ち歩いているMac Book Proを閉じた状態で使っている。このようにノートパソコンを閉じた状態で外部ディスプレイと繋いだ状態で作業する事をクラムシェルモードと言ったりする。 macOSは外部ディスプレイと電源を繋いだ状態であれば、ノートパソコンを閉じた状態でも使う事ができるし、電源に繋いだ状態でなくても pmset コマンドを使う事で、スリープ状態を無効 ...
所要時間: 約 3分, 作成: 2024/5/21, 更新: 2024/5/29
comment
Remote Mouseを使う
僕は普段トラックパッドを使っているのだが、これはスマートフォンで代替えできると感じていた。 このような機能を持つスマホアプリは既にたくさんあるだろうから、インストールして使ってみる事にした。 今回は「Remote Mouse」というAndroidアプリを使う事にした。 macOSの権限の設定で少しだけハマったけれど、許可を渡せば問題なく接続はできた。マウスポインタの移動など基本的な動きは問題がなかった。た ...
所要時間: 約 1分, 作成: 2024/5/27, 更新: 2024/5/27
comment
朝会
4月の初旬から朝会のような事をしている。参加者は全部で二人で、可能な時は対面、できない時はGoogle Meetを使ってオンラインで行っている。やる内容は、気付いた事、昨日やった事、今日やる事を交代で言っていき共有している。 この朝会は議事録も取っている。議事録用のファイルが毎朝Gitにコミットされる。これはGitHub Actionsによって自動で作られるようになっている。この自動で作られる議事録ファ ...
所要時間: 約 2分, 作成: 2024/5/27, 更新: 2024/5/27
comment
このブログはただの僕の個人的な日記だ。技術の内容が多いけれど、それにこだわっている訳ではない。正しい情報を提供したいとは思うけれど、それよりも自分が考えた事を間違っていてもまとまっていなくても、できるだけそのまま書くようにしている。そうしたいから、そうしている。
所要時間: 約 1分, 作成: 2024/5/22, 更新: 2024/5/22
openai chatgpt emacs sever-sent-envent
EmacsからOpenAI APIをつかう
「OpenAI APIを使う」でチャットの機能のためのAPIの使い方について調べた。結果を一括で取得する方法と、 Server Sent Events を用いて結果を徐々に受け取るストリーミングのような方法を調べた。 Server Sent Events を受け取るためにはリクエストのBODYのパラメータ stream に true を設定する必要がある。 今回はこの方法を使い、ChatGPTと似たような使用感になるように、Emacsを拡張する事にした。 openai-chat-question でチャットを開始する時に、前置きの部 ...
所要時間: 約 2分, 作成: 2024/2/18, 更新: 2024/5/15
comment
ヘッドマウントディスプレイ、そこそこ良い。イヤホン類はワイヤレスを使っていないけれど、ワイヤレスにしたほうがいいかもしれない。PCを使わず作業をする事も少しだけ増えた。まだ色々と工夫する余地がありそうだけれど、自分の作業をする環境にもっと変化を持たせて改善していきたい。
所要時間: 約 1分, 作成: 2024/5/15, 更新: 2024/5/15
comment
毎日できる限りの事をやっているつもりではいるんだけれど、なかなか力が入らない。どうも力点が定まらない気がしている。その原因がどこにあるのかも、よくわからない。でも、少しずつは良くなっているはずだから、今日もしっかりやろう。
所要時間: 約 1分, 作成: 2024/5/14, 更新: 2024/5/14
comment
数年間ブログを書き続けてきたおかげで、過去の状況や考えていたことが文章として残っています。そうした文章を読み返すことで、当時は気づかなかった選択肢を思い浮かべることができたり、新たな気づきが得られます。また、その時は深く考えていたことでも、時間が経つと忘れてしまうことがあり、そういう事柄を思い出すこともできます。だからこそ、文章が完璧でなくても、途中で筆を折っても構わないのです。大切なのは、文章を ...
所要時間: 約 1分, 作成: 2024/5/13, 更新: 2024/5/13
comment
N-gramについて少しだけ考える
N-gramとは テキストや音声などの連続したデータから、N個の要素を順番に抽出する事をN-gramと言う。この要素は、文字、単語だけでなく、文章や、指定した範囲の要素でも良い。 このNが1、2、3の時は、以下のように呼ばれる。 N=1 ユニグラム(uni-gram) N=2 バイグラム(bi-gram) N=3 トライグラム(tri-gram) N-gramの例 「今日は良い天気ですね」という文章を例に、N-gramによってデ ...
所要時間: 約 2分, 作成: 2024/5/12, 更新: 2024/5/12
comment
EmacsとCSVと表
EmacsにはCSVファイルを扱うための csv-mode と csv-align-mode メジャーモードがある。これはこれで便利ではあるのだが、僕の要求する使い勝手とは微妙に使用感が異なる。今回は、この使い勝手について考える事にする。 最近良くあるケースはWebサービスへデータを投入するために、CSVファイルにデータを記述しておき、そのファイルをアップロードするものだ。このような機構を持つWebサービスはよく見かける。そして、そのCSVのフォ ...
所要時間: 約 7分, 作成: 2023/11/17, 更新: 2024/5/8
android emacs
AndroidのアプリケーションをEmacsから起動できるようにする
最近、開発環境をAndroidにできるかどうかを試している。例えば文章の執筆のような作業というのは、PCほどのマシンパワーがなくても作業はできる。必要なのは拡張性の高いエディタだった。ただEmacsはAndroid上でも動作するため、多少の支障はあれど、使えないという程ではなかった。Dockerといったコンテナ技術や、QEMUなどのVM、又はPythonでWebサーバを起動するといったような作業は ...
所要時間: 約 3分, 作成: 2024/5/6, 更新: 2024/5/6
comment
4日前に買ったスマホの電源が付かなくなった。悲しい。
所要時間: 約 1分, 作成: 2024/5/5, 更新: 2024/5/5
comment[WIP]
DisplayPort Alternate Mode対応のスマートフォンをメモする
端末 DisplayPort Alternate Mode対応のスマホが欲しくなったので、対応しているスマホをメモする。 Xperia Xperia 1 (SO-03L) Xperia 1 II Xperia 1 III Xperia 1 IV Xperia 1 V Xperia 5 Xperia 5 III Xperia 5 IV Xperia 10 III Xperia 10 III Lite Xperia PRO-I Galaxy Galaxy S8 Galaxy S9 Galaxy S9+ Galaxy S10 Galaxy S20 5G Galaxy S22 Galaxy S22 Ultra Galaxy S23 Galaxy S23 Ultra Galaxy Note10 Galaxy Note10+ Galaxy Z Flip5 Galaxy Z Fold3 5G Galaxy Z Fold4 Galaxy Z Fold5 AQUOS AQUOS R6 AQUOS R7 AQUOS R8 AQUOS R8 pro AQUOS zero6 arrows arrows 5G arrows NX9 ASUS ROG Phone ROG Phone 5 ROG Phone 5 Ultimate ROG Phone 5s ROG Phone 6 ROG Phone 6 Pro HUAWEI HUAWEI P40 Pro 5G HUAWEI Mate 30 Pro 5G HUAWEI P30 HUAWEI P30 Pro LG LG VELVET LG style3 LG V60 ThinQ 5G LG G8X ThinQ その他 Rakuten BIG OPPO Find X3 Pro motorola edge 30 PRO DisplayPort Alternate Modeに対応してい ...
所要時間: 約 1分, 作成: 2024/5/1, 更新: 2024/5/1
comment
ヘッドマウントディスプレイを使って開発と執筆の作業をした感想
しばらく前からXreal Pro 2というヘッドマウントディスプレイ(以降、HMD)を使っている。このHMDは、ゴーグル型ではなくてサングラスのような形状をしている。外で装着して作業をすると、怪しい人に見えるかもしれない。ただゴーグル型のHMDは怪しさの度合いが限界突破してしまうため、ゴーグル型と比較すると、まだマシだろう。 HMDを使っていて気が付いた事があるのでメモしておく。良い点と悪い点を整理せずに書 ...
所要時間: 約 3分, 作成: 2024/4/30, 更新: 2024/4/30
comment
SuzuriでTシャツを売る
2年程前から僕らはゲームをプレイするチームを作って日々活動している。活動と言ってもゲームをするだけだ。時々YouTubeに動画をアップロードしたり、Live配信したりもしている。 それほど力を入れて活動している訳ではなく、頑張って編集したりもせず、特に台本も作る事なく、手間をかけず、楽しく活動している。おそらく学生が作った即席YouTubeチームでも、もっとマシな活動になるだろう。僕達はそれほどに力 ...
所要時間: 約 2分, 作成: 2024/4/18, 更新: 2024/4/30
comment
サングラス型のHMDを購入した。開発もしばらくはこれで行う。また持ち運ぶ必要のあるデバイスが増えてしまった。いつもちょっとした登山ぐらいの荷物を持ち歩いている。重い。荷物が重い。
所要時間: 約 1分, 作成: 2024/4/28, 更新: 2024/4/28
comment
termuxの設定でソフトウェアキーボードを無効にすれば、termuxで動作させているEmacs上ではSKKを使用し、それ以外ではソフトウェアキーボードを使う事ができるようだった。今までは、Androidの設定自体を毎回変更していたが、これからはその必要は無くなった。
所要時間: 約 1分, 作成: 2024/4/26, 更新: 2024/4/26
comment
現在取り組んでいる作業の管理方法を見直す
僕は、タスクの管理をEmacsのorg-modeを使って行っている。org-modeはかなりアナログな実装のドキュメンテーションシステムだけれど、そのお陰でとても柔軟性で強力にカスタマイズできる。これといった正解はたぶんないので、自分が納得行くようにカスタマイズしているし、それも楽しい。複数のorgファイルに分割し、それぞれのファイルにTODOを手で書き込んでおり、org-agendaとorg-s ...
所要時間: 約 1分, 作成: 2024/4/25, 更新: 2024/4/25
emacs lisp
custom-set-variablesを上手く扱うにはどうすれば良いんだろう?
Emacsには custom-set-variables という関数がある。これはEmacsのカスタマイズ時に使われる。僕は長い間、この機構についてよく分かっていなかった。今もよく分かっているとは言い難いのだけれど、以前よりはマシになったので再考し、今の認識をメモとして残す事にした。 M-x customizeでカスタマイズした値はcustom-set-variablesで設定されるよう初期化ファイルに自動挿入される Emacsは M-x customize を実行すると、 ...
所要時間: 約 5分, 作成: 2022/5/30, 更新: 2024/4/20
comment
ポートフォワード用のコマンドを書いた
(defun port-forward-local (ssh-command remote-host remote-port local-port) (interactive (list (completing-read "SSH Command: " nil) (completing-read "Remote Host: " nil) (completing-read "Remote Port: " nil) (completing-read "Local Port: " nil))) (let ((shell-command-buffer-name-async "*Port Forward*")) (async-shell-command (format "ssh -L %s:%s:%s %s" local-port remote-host remote-port ssh-command ))))
所要時間: 約 1分, 作成: 2024/4/20, 更新: 2024/4/20
comment
org-agendaの一覧をASSIGNEEでフィルタリングする
こんな感じの設定をした。 (setq org-agenda-custom-commands '(("s" "Symdon's Task" tags-todo "+ASSIGNEE=\"symdon\"")))
所要時間: 約 1分, 作成: 2024/4/20, 更新: 2024/4/20
comment
最新のorg-modeをインストールする方法が分からない。 package.el ではビルトインのパッケージを入れ替える事ができなそう。今までできていたような気がするんだけれど、気のせいだろうか。気にした事がなかったから、分からない。
所要時間: 約 1分, 作成: 2024/4/15, 更新: 2024/4/15
comment
調べた事、考えた事をこれまで文章にまとめてきた。この活動を続けて来られた理由の一つは、執筆に対するハードルを下げる工夫をした事にある。執筆のハードルを下げるために、Emacsのorg-modeを拡張し、essay.elを実装した。これは素早く執筆用のバッファを作成して切り替える事ができ、保存と同時にバージョン管理システムへのコミットを行う。そして公開可能な文章は、自動的に公開されていく。こういった ...
所要時間: 約 1分, 作成: 2024/4/14, 更新: 2024/4/14
comment
カットモデルやってきた
先日、街中を歩いていたら声をかけられた。話を聞いてみると、カットモデルをやって欲しいとの事だった。カットモデルというのは、美容師さんが練習するための練習台に位置する人の事だ。僕は普段、髪が伸びてうっとうしくなったら、1000円カットで適当に切ってもらっている。髪型にそれほどこだわりもないので、素早く切ってくれてるのも嬉しいし、掃除機のような何かで頭を吸われる事にも抵抗はない。ちょうどその頃、髪の毛 ...
所要時間: 約 2分, 作成: 2024/4/11, 更新: 2024/4/11
comment
文章の語尾に絵文字、顔文字、句点(マル)、感嘆符(エクスクラメーションマーク!)を付ける事で、おじさん構文、おばさん構文、マルハラといったように、文体に対して命名をしているらしい。 僕は、今も別にちゃんとした文章を書けるようになったわけではないけれど、本の監訳、翻訳、執筆の仕事に関わるようになって、できるだけきちんとした文章になるように心掛けている。 句点はきちんと打つようにしている。感嘆符や疑問符は ...
所要時間: 約 2分, 作成: 2024/2/8, 更新: 2024/4/9
comment
ここ半年の間に、いろいろな人、もの、事が僕から離れて行った気がする。なんだかしんどい気分になる事もある。では以前はどうだったかを考えると、1年前も2年前も3年前も、テーマは違えど、何かに悪戦苦闘していた。何かしら悩みはあったし、やっぱりしんどかった。そんな状況でも、僕に仕事を投げてくれたり、頼ったり慕ったりしてくれる人はいた。そしてそういう人は今もいる。だから少し休憩したら、また目の前の事に全力で ...
所要時間: 約 1分, 作成: 2024/4/6, 更新: 2024/4/6
comment
QRコードを扱う
QRコードを出力したり、読んだりしてみた備忘録。 QRコードで自分自身にアクセスさせる PCでスマホ対応のWebサイトを開発していた。PCに簡易のWebサーバーを立てて、そこにアクセスする形で実機のスマホでの確認をしたくなる事がある。 そんな時、PC側のアドレスをQRコードで表示させ、そのQRコードをスマホのカメラで読み取る事でアクセスできると、アドレスを手打ちする必要がなくなる。今回はそれを実現したい ...
所要時間: 約 1分, 作成: 2024/4/4, 更新: 2024/4/4
aws sqs localstack
SQSを使う
準備 今回は localstack というダミーサーバを起動し、SQSの代わりとして利用する。また localstack はDockerを用いて起動する事にする。 docker run -it --rm \ --publish="127.0.0.1:4566:4566" \ --publish="127.0.0.1:4571:4571" \ --publish="127.0.0.1:8080:8080" \ --expose="4566" \ --expose="4571" \ --expose="8080" \ --workdir="/workdir" \ --volume "$(pwd):/workdir" \ --name="localstack" \ localstack/localstack:0.12.6 SQSの料金はとても安いため、動作確認時においてもAWSにリソースを作った方が、効率的である事が多い。ただし例えばunittest用など諸般の事情でローカルにダミーのSQSを用意して、動作確認したい事もある。 localstack はAWSのダミーサーバで ...
所要時間: 約 6分, 作成: 2023/5/18, 更新: 2024/4/2
minetest
MinetestにModをインストールする
- MinetestサーバーにModを入れる
- 3D Armor, Forgotten Monsters, 3D Armor Flyswim, Throwing Redoをインストールする。
所要時間: 約 8分, 作成: 2022/10/27, 更新: 2024/3/25
transformers[WIP]
音声から文字を起こす
様々なAI関連のサービスが増えたが、情報漏洩などのセキュリティリスクの問題から会社の稟議が通らないなど、サービスを使用できない事もある。しかしHugging Faceには既に様々なモデルやデータセットが公開されているため、ローカルで動作する自分用のツールを開発する事もそれ程難しくはないはずだ。元々は日本語話者同士の会議の議事録を取る事を目的としていて、マイク音声とデスクトップ音声の両方をFFmpeg ...
所要時間: 約 2分, 作成: 2024/3/23, 更新: 2024/3/23
macos コード署名
macOSにインストールしたプログラムをコード署名する
macOSでgdbを使うとすると以下のエラーが出ることがある。 Starting program: /srv/aee369d717aea571e8360afd3741432d/main.out Unable to find Mach task port for process-id 18347: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8)) これはgdbがコード署名されてないためにエラーが発生している。codesignとはソフトウェアに対する署名に関連する操作を行うコマンドで、macOSではセキュリティ上の理由から署名されていないソフトウェアによるデバッグ操作(プロセスへのアタッチ)を禁止している。 野良ビルドされたプログラムを配 ...
所要時間: 約 4分, 作成: 2021/1/8, 更新: 2024/3/23
png[WIP]
小さいPNGを手で作りながらPNGについて考える
- PNGを手で作りながら仕様を学んだ。
- 各種チャンクのデータをどのように生成すればよいか分かった。
- CRCの計算には自分で計算するのは大変だったためPythonのbinasciiを使用した。
所要時間: 約 5分, 作成: 2023/1/14, 更新: 2024/3/20
fargate aws ecs exec
AWS ECS Execを使用してFargate上のコンテナとのセッションを開始する
AWS ECS Execがを使用してFargate上のコンテナとのセッションを開始する。同様ことができる従来のSSMセッションマネージャーとの比較を行う。タイムアウトでセッションを閉じないようにするためのEmacs Lispを書く。
所要時間: 約 6分, 作成: 2021/4/1, 更新: 2024/3/19
comment
以前入れていたけれど使わなくなったパッケージの覚え書き
メモしておく。 (el-get-bundle elnode :type "git" :url "[email protected]:collective-el/elnode.git") (el-get-bundle foreman-mode :url "[email protected]:collective-el/foreman-mode.git" :type "git") (el-get-bundle gist:05de904cd0c320733cae:org-file-table :type "git") (el-get-bundle gist:10985431:go-template-mode :type "git") (el-get-bundle gist:beb8e1944af406c3fb4f74b6e0e3b5fe:require-to-install-executable :type "git") (el-get-bundle gist:d451221dc2a280b7e35d:kpt.el :type "git")
所要時間: 約 1分, 作成: 2024/3/14, 更新: 2024/3/14
emacs macos
macOS用のユーティリティ
macOS関連のコマンドをどうしても覚えられない。たいていはEmacsから起動するため、Emacsから呼び出しやすいようなユーティリティを実装する。今のところ、以下の機能を提供している。 macOSのアプリケーションをEmacsから起動する。 オーディオデバイスの一覧を表示する。 アプリケーションのバンドルIDを表示する。 マイクの音声をffmpegで録音する ;;; macos --- macOS Utility. -*- lexical-binding: t -*- ;; Copyright (C) 2024 TakesxiSximada ;; Author: TakesxiSximada <[email protected]> ;; Maintainer: TakesxiSximada <[email protected]> ;; ...
所要時間: 約 2分, 作成: 2024/3/14, 更新: 2024/3/14
emacs lisp aws
AWS CLIのEmacs用ユーティリティ aws.el を作る
AWS CLIのEmacs用ユーティリティを作る事にした。このライブラリはAWS CLIをスケルトンファイルを用いて、Emacsから実行する機能を提供する。ここではこのライブラリが提供する各機能を説明する。 変数 aws-cli-command AWS CLIとして実行するコマンドを設定する。通常は aws を用いる。例えばAWSのダミーサーバー群であるlocalstackなどに対して実行する場合 --endpoint-url を指定しなければならない。そのように値を変更することで ...
所要時間: 約 4分, 作成: 2022/12/3, 更新: 2024/3/14
emacs macos pmset clamshell
macOSの電源操作をpmsetで行う
macOS は pmset というコマンドを提供している。このコマンドは macOS の電源管理を行う。僕はmacをクラムシェルモード1で使用する事がある。そういう時はコマンドの使い方をだいたい忘れているため、その都度 pmset のサブコマンドの意味を調べて実行していた。そのコマンドをまとめる。 MacBookを閉じてもスリープさせない スリープさせないようにする(つまり閉じてもスリープしない) sudo pmset -a disablesleep 1 スリープさせないようにしない(つまり閉じ ...
所要時間: 約 2分, 作成: 2023/4/24, 更新: 2024/3/14
emacs http restclient network orgmode babel
EmacsのHTTPクライアント事情について考える
Emacs にはHTTPリクエストを送信する方法はいくつかある。それぞれ目的や想定している状況が異なる。これを使えばよいというものは本来無いので、自分の頭で考えて選択していく事にする。 ダミーサーバー HTTPクライアントを使うには、当然リクエストを送信する先のサーバーが必要になる。今回は yay と返すだけのシンプルなサーバーを Python で実装した。 from socket import socket soc = socket() soc.bind(("localhost", 8000)) try: soc.listen(1) while True: (conn, addr) = soc.accept() print(conn, addr) print(conn.recv(10000)) conn.send(b"HTTP/1.1 200 OK\r\nContent-Length: 3\r\n\r\nyay") conn.close() finally: soc.close() このサーバーを起動して ...
所要時間: 約 9分, 作成: 2022/5/22, 更新: 2024/3/10
emacs sql explain rdbms
Emacsでリレーショナルデータベースを扱う
Emacsに梱包されている lisp/progmodes/sql.el は、リレーショナルデータベースを扱うための機能を提供している。それらの殆どは独立して動くのではなく、リレーショナルデータベースへアクセスするクライアント用のコマンドをサブプロセスとして起動し、そのサブプロセスとやりとりする事で、リレーショナルデータベスを操作する。今回は、それらの機能について見ていく事にする。 サーポートしているデータベース Emacsは様々なRDBMSに対 ...
所要時間: 約 6分, 作成: 2024/2/9, 更新: 2024/3/7
comment lisp
生成系AIのAPIを使ってクロスレビューしてみている
OpenAI APIとGoogle Gemini APIで、互いの指摘をクロスレビューしているけれど、Emaacsの指摘についてはOpenAI APIの方が正確なようにも思う。まあこのあたりは、使っているモデルが何かにもよるので、暫く試しながらチューニングしていきたい。 OpenAI API https://blog.symdon.info/emacs/1708258091/ Google Gemini API https://blog.symdon.info/posts/1709362485/ DeepL https://blog.symdon.info/posts/1708668537/ ;;; ai --- Generative AI SaaS Utility -*- lexical-binding: t -*- ;; Copyright (C) 2024 TakesxiSximada ;; Author: TakesxiSximada <[email protected]> ;; Maintainer: TakesxiSximada <[email protected]> ;; Repository: ;; Version: 1 ;; Package-Version: 20240301.0000 ;; Package-Requires: ((emacs "28.0") ;; Date: 2024-03-03 ;; This file is not part of Emacs. ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License ...
所要時間: 約 1分, 作成: 2024/3/3, 更新: 2024/3/3
emacs google gemini api
Google GeminiをAPI経由で使う
Googleの生成系AI「Gemini」をAPI経由で使用する事にする。 他の実装済みのライブラリを検討する EmacsからGeminiを使用するための拡張機能は、自分で実装しなくても既に十分な実装がある。簡単な調査の結果、次のライブラリが適していそうだ。 https://github.com/karthink/gptel gptelは複数の生成系AIのサービスに対応している。特に理由がない場合は、これを使うと良さそうだ。 なぜgptelや他の実装済みの拡張を使わないか ...
所要時間: 約 8分, 作成: 2024/3/2, 更新: 2024/3/2
comment
OpenAI APIに追加の支払いをした。
所要時間: 約 1分, 作成: 2024/2/28, 更新: 2024/2/28
emacs org org-agenda task
どんなふうにタスクを管理すれば効率を上げられるのだろう?
仕事やプライベートのタスクのほぼ全てを書き出して管理している。そうすると一人の社会人が関わるタスクがいかに多いかが分かる。それらのタスクは全て処理される訳ではないけれど、書く事で記録が残り後で見返す事ができる。それと引き換えにして、タスクの管理コストが増える。そのコストを下げるために、Emacsを使っている。Emacsにはorg-modeというドキュメントシステムがある。org-modeはドキュメ ...
所要時間: 約 3分, 作成: 2024/1/15, 更新: 2024/2/28
comment[WIP]
edを使う
開始 ed FILE.txt 終了 q で終了する。 q 挿入 a で挿入を開始し、 . で終了する。 a text1 text2 text3 . 保存 ファイル名を指定してedを開始した場合は w で保存する。 w ファイル名を指定せずedを開始した場合は w FILE.txt のようにファイル名を指定する。 w FILE.txt ファイルの中身を全て削除する 1,$d w q
所要時間: 約 1分, 作成: 2024/2/28, 更新: 2024/2/28
comment
plist-storeに入れていたデータがなぜか消えてしまった
所要時間: 約 1分, 作成: 2024/2/27, 更新: 2024/2/27
emacs lisp
雑多で中途半端なEmacs Lisp集
諸事情によって、というより途中で力尽きて、完成する事のないEmacs Lispをここに集める事にした。 (defun netcat (host port) "ncを実行する" (interactive (list (read-from-minibuffer "Host: ") (read-from-minibuffer "Port: "))) (make-process :name "*NETCAT*" :buffer "*NETCAT*" :command `("/usr/bin/nc" ,host ,port) :sentinel (lambda (process event) (when (not (process-live-p process)) (message event) (print (process-exit-status process)))))) (defun curl (url method) "curlを実行する" (interactive (list (read-from-minibuffer "URL: ") (completing-read "Method: " '("GET" "POST" "PUT" "PATCH" "DELETE" "OPTIONS")))) (make-process :name "*cURL*" :buffer "*cURL*" :command `("/usr/bin/curl" ,url "-X" ,method) :sentinel (lambda (process event) (when (not (process-live-p process)) (message event) (print (process-exit-status process)))))) (defun process-send-string-from-minibuffer (process string) "ミニバッファから入力したデータをプロセスに送信する" ...
所要時間: 約 1分, 作成: 2024/2/22, 更新: 2024/2/26
emacs plstore
Emacsで取扱注意のデータを安全に扱うためにplstoreを使う
今回はEmacsで取扱注意のデータを安全に扱う、保管する方法について考える事にする。自前実装を辞め、 plstore を使う方法について調べる。 取扱注意のデータの扱いは悩ましい ソフトウェアの開発の作業をしていると、取り扱いに注意が必要なデータに触れる事がある。 個人情報となるような氏名や住所もあれば、WebサービスのIDやパスワード、会社の内部情報など、一言で 取り扱いに注意が必要なデータ と言っても、様々な種類や危険 ...
所要時間: 約 5分, 作成: 2024/2/25, 更新: 2024/2/25
gmail emacs
Gmailについて考える
Eメールを使用する時、メールサーバーを自前で運用している猛者達もいるだろうけど、多くの人は、Gmail、Outlookなどのサービスを使っているだろう。僕は、主にGmailを使っている。Webブラウザでhttps://mail.google.comにアクセスしログインすれば、メールの閲覧や送信ができる。殆どそれで問題はない。だけれど僕はGmailもEmacsから使いたい。そんな事を考えていたけれど ...
所要時間: 約 4分, 作成: 2022/6/7, 更新: 2024/2/24
emacs ssh askpass[WIP]
SSH_ASKPASSを取り扱う方法を考える
Emacsから ssh-add - を使い標準入力に鍵を渡そうとした時、その鍵にパスフレーズが設定されている場合、パスフレーズを渡す手段が必要になる。tty経由で渡したかったけれど、上手く渡す事ができなかったため、仕方がないからファイル経由で渡す事にした。 ただしパスフレーズは重要な値だから、暗号化して保存する。 askpass.el ;;; askpass --- askpass utility -*- lexical-binding: t -*- ;; Copyright (C) 2023 TakesxiSximada ;; Author: TakesxiSximada <[email protected]> ;; Maintainer: TakesxiSximada <[email protected]> ;; Repository: ;; Version: 1 ;; Package-Version: 20240224.0000 ;; Package-Requires: ((emacs "28.0") ;; Date: 2024-02-24 ;; This file is part of askpass.el. ;; This program is free software: you can ...
所要時間: 約 2分, 作成: 2024/2/24, 更新: 2024/2/24
emacs
子プロセスに定期的にリターンキーを送るEmacs Lisp
プロセスに定期的にリターンキーを送るEmacs Lispを、自分の都合上必要だったので書いた。こういう事が雑に出来る所がEmacs Lispの好きな所でもある。今後という意味では何の役にも立たなそうだけれど、一応残しておく。 (setq my-vterm-proc (get-buffer-process (get-buffer "ここにバッファ名を入れる"))) (defun send-custom-return-key () (process-send-string my-vterm-proc " ")) (setq my-timer (run-with-timer 180 t 'send-custom-return-key))
所要時間: 約 1分, 作成: 2024/2/22, 更新: 2024/2/22