« ^ »

Symdon Blog


  • 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


  • emacs macos mic tcc ffmpeg

    macOSにインストールしたEmacsからマイクにアクセスする

    普段macOSにEmacsをインストールし、それを起点にして様々な作業をしている。文書の編集作業もそうだけれど、シェルでの作業であったり、データベースの操作であったり、メールやタスクの管理であったり、作業の種類は多岐に渡る。 オーディオデバイスからの入力を、FFmpegを用いて録音しようとした所、オーディオデバイスからの入力を上手く受け取れず、空の音声ファイルが作られる事象に遭遇した。他の環境ではど ...

    所要時間: 約 5分, 作成: 2024/3/22, 更新: 2024/3/22


  • 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


  • emacs spacemacs doomemacs

    Spacemacs/Doom Emacsを飲み込む

    Emacsには良く設定された設定群に固有の名前を付けて配布するということがある。 通常それらはディストリビューションやスターターキットと呼ばれるらしい。 ここではそれらをプリセットと呼ぶことにする。 例えばSpacemacsやDoom Emacsが該当する。他にも実はいくつかある。 他にどのようなものがあるかについてはawesome-emacsのStarter Kitの項目を参照すると、 いろいろと紹介されてい ...

    所要時間: 約 5分, 作成: 2022/2/20, 更新: 2024/2/22


  • comment

    もしかしてAWS CodeCommitのために紐付けるsshの公開鍵に ed25519 の鍵は指定できない?バリデーションエラーになる。

    所要時間: 約 1分, 作成: 2024/2/22, 更新: 2024/2/22


  • comment

    ssh_config (~/.ssh/config)の IdentityFile には公開鍵ファイルも指定できる。例えば秘密鍵を暗号化しておく場合、暗号化されたファイルは IdentityFile には指定できない。そのため ssh-add を使って秘密鍵を ssh-agent に登録して使用する事になる。登録した鍵が複数あった場合、どの鍵を使うのかを指定しなければならないけれど、秘密鍵ファイルは暗号化されているし指定できる訳ではない。 IdentityFile には公開鍵ファイルを指定できるため、どのホストではどの鍵を使うかと ...

    所要時間: 約 1分, 作成: 2024/2/22, 更新: 2024/2/22


  • aws vpc acl

    AWS VPCのネットワークACLに許可(Allow)と拒否(Deny)のルールが共存する理由

    AWSのVPCには、 Network ACL という機能があり、通過する通信に対して、許可または拒否を設定できる。見ると以下のように全ての通信に対して、許可(Allow)と拒否(Deny)の両方を設定している事がある。特に珍しいものでもなく、良く見る設定だろう。これはどういう意味になるのか確認する事にした。 インバウンド Rule number Type Protocol Port range 送信元 Allow/Deny 1 All traffic All All 0.0.0.0/0 Allow * All traffic All All 0.0.0.0/0 Deny アウトバウンド Rule number Type Protocol Port range 宛先 Allow/Deny 2 All traffic All All 0.0.0.0/0 Allow * All traffic All ...

    所要時間: 約 1分, 作成: 2024/2/21, 更新: 2024/2/21


  • comment

    ついに秘書を導入した。

    所要時間: 約 1分, 作成: 2024/2/21, 更新: 2024/2/21


  • comment

    仕事とかEmacsの整備とかやってたら、土日が消滅した。AWSのネットワークまわりについて、実装したり調べたりといった作業、OpenAI APIについての調査と、それを利用する機能の実装などをやっていた。両方とも、とても多くの時間を消費した。 最近このままで本当に良いのかという気分になる。こういう生活が1、2年続くと、心がおかしくなるのは、実体験で分かっているので気を付けないといけない。今日はじゅうぶ ...

    所要時間: 約 1分, 作成: 2024/2/18, 更新: 2024/2/18


  • chatpgt openai

    OpenAI APIを使う

    最近、たくさんの人がChatGPTをはじめとした、生成系AIのSaaSを利用している。しかしその機能は多岐に渡り、また使い方も様々だ。例えばChatGPTを使用する場合、素直にWeb UIを使用する方法がある。他にもOpenAI APIを利用する方法や、Webkitを用いてWeb UI全体を組み込むことも検討できるだろう。今回はOpenAI APIを使って、ChatGPTの機能を試す事にする。 実は以前、E ...

    所要時間: 約 21分, 作成: 2023/8/5, 更新: 2024/2/18


©TakesxiSximada