« ^ »

Symdon Blog


  • comment

    OpenAI APIに追加の支払いをした。

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


  • emacs org

    org-todoのstatusを増やす

    org-todoにはTODOとDONEのステータスがデフォルトで用意されている。この値は org-todo-keywords に追加したい値を設定する事でカスタマイズできる。完了状態なのか、そうでないかは | 記号よりも前に登録されているか、後に登録されているかによって判断される。ここでは必要と思われるステータスを追加する。 (setq org-todo-keywords '((sequence "TODO" "EPIC" "|" "DONE" "CANCEL"))) なお、この値はcustomizeを使って変更できる。

    所要時間: 約 1分, 作成: 2024/1/15, 更新: 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


  • 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/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


  • fargate aws ecs exec

    AWS ECS Execを使用してFargate上のコンテナとのセッションを開始する

    AWS ECS Execがを使用してFargate上のコンテナとのセッションを開始する。同様ことができる従来のSSMセッションマネージャーとの比較を行う。

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


  • comment

    最後ぐらいは、豪遊してもいいと思う。残しておいても意味ないからな。

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


  • mysql python pymysql

    PyMySQLでバルクINSERTする

    MySQLでバルクINSERTしたい場合 cursor.executemany() を使う。 テスト用のテーブルを作成する。 show create table foo; +-------+-----------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+-----------------------------------------------------------------------------------------------------------------+ | foo | CREATE TABLE `foo` ( `id` int DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +-------+-----------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) cursor.executemany() を呼び出すコードを実装する。 main.py import pymysql from pymysql.cursors import DictCursor MYSQL_HOST = "localhost" MYSQL_PORT = 3306 MYSQL_USER = "" MYSQL_PASSWORD = "" MYSQL_DATABASE = "testing" mysql_conn = pymysql.connect( host=MYSQL_HOST, port=MYSQL_PORT, user=MYSQL_USER, password=MYSQL_PASSWORD, db=MYSQL_DATABASE, charset="utf8mb4", use_unicode="true", cursorclass=DictCursor, ) try: with mysql_conn.cursor() as cursor: res = cursor.executemany( """ INSERT INTO foo ( id ) VALUES (%s) """, [ [1], [2], [3], [4], ] ) mysql_conn.commit() finally: mysql_conn.close() コードを実行する。 python main.py 結果を確認する。 mysql> SELECT * FROM foo; SELECT * FROM foo; +------+ | id | +------+ | 1 | | 2 | | 3 | | 4 | +------+ 4 ...

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


  • comment

    何度も読み返したくなるWebの文章

    たくさんWeb上の文章を読んでいると、その中には何度も読みかえしたくなるような、素晴らしい文章に出会うことがある。心に訴えかけ、感情を揺さぶられるような表現力のある文章であったり、学ぶ事の多い文章であったりといったような文章がある。それらの文章の素晴しさには、様々な理由がある。 時間が経つと、いつかどこかで読んだその文章を、どこで読んだのか思い出せなくなる。そんなもどかしい思いをしないために、読み返 ...

    所要時間: 約 3分, 作成: 2022/5/7, 更新: 2024/2/12


  • comment

    システムは監視するのに、自分自身は監視しないのはおかしい。まずは、死活監視から始めたほうがいいし、パフォーマンスもモニタリングした方がいい。

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


  • task

    目標未達の原因を探る

    しばらく前から知人3名でチームを組んで活動している。皆それぞれに片手間だったり、遊び半分だったりして、本気度がとてつもなく低い。動画の制作本数も少ないし、クオリティも低い。クオリティの話で言えば、ほとんど編集もせず撮影した素材をそのままアップロードしているに過ぎないし、タイトルも適当に付けてたり、サムネイルも自動で付くものを使っている。グループの概要に書いている説明も、本当に適当な文章になっている ...

    所要時間: 約 4分, 作成: 2024/2/10, 更新: 2024/2/10


  • comment

    諸事情により、スマホアプリの開発講座をしばらく前から作っている。この手の作業は、コンテンツ部分については今までやった事あるけれど、コンテンツ以外の部分については他の人がやってくれる事が多かったから、分からない事だらけだ。自分にできる事が本当に少ないけれど、今ある力を尽そうと思う。今までもそうやってやってきたから、形にする事はできるはず。

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


  • emacs lisp

    シングルファイルのEmacs Lispをダウンロードして読み込む

    Emacsを使っていると小さなEmacs Lispがどんどん増えていく。通常は ~/.emacs.d/init.el に記述したり、 ~/.emacs.d にディレクトリ(例: ~/.emacs.d/lisp )を作り、そのパスをload-pathに追加する事で、利用できるようにする事が多い。 そこそこ育ったEmacs LispはMELPAに登録し、そこからインストールして使用するという方法もある。その方法は、多くの人が使うものであれば望ましいけれど、自分だけの要求を満すだけのLispであれば ...

    所要時間: 約 4分, 作成: 2023/10/5, 更新: 2024/2/10


  • krita

    縁のある文字をkritaで書く!

    動画のサムネイルなどで、縁のある文字が使われているのを、よく目にする。一般的な画像編集のソフトウェアには、「縁」なる機能が付いており、縁ありの文字をすぐに挿入できる。きっとkritaにも同じような機能があるはずだとは思うけれど、見つける事は出来なかった。 その代りにkritaの文字ツールには、文字の挿入にSVGを指定できる。どこにあるか分からないソフトウェアの機能を探すよりも、直接SVGを指定する方 ...

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


  • emacs pandoc lua

    マークダウン等のマークアップ言語で書いた文章を読み上げ機能でより良く推敲する

    最近は特に書籍に関連する仕事をさせて頂く事が多くなってきた。その中で記述した文書のチェックをする時、文を黙読するだけではなく音声読み上げ機能を使って正しい文章になっているかを確認している。モニターやスマホを使えない場所でも作業ができる為、とても効率的なチェック方法だ。また、おかしな表記になっている箇所は、おかしく読み上げてくれる為、問題のある箇所を発見しやすい。この方法をやっていない人はぜひ試して ...

    所要時間: 約 8分, 作成: 2023/6/17, 更新: 2024/2/9


  • pdf emacs pdf-tools poppler

    PDFの注釈に対する返信注釈をEmacsで挿入する

    EmacsはPDFの表示が可能だが、表示が若干ぼやけたり、注釈の操作ができない等の問題がある。サードパーティのライブラリ pdf-tools を使用することで、それらの操作性の問題を解消できるが、注釈の扱いが完全ではなく、注釈に対する返信注釈を挿入できない。これは、pdf-toolsがPDFの操作の為に使用しているライブラリPopplerに起因する問題で、Poppler自体が返信注釈を完全に考慮できていなめ、それに依 ...

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


  • emacs sql explain

    SQLを編集しながらEXPLAINする

    SQLをチューニングしていると即座にEXPLAINして欲しくなる。アイドルタイマーとフック、一時バッファとしてサードパーティパッケージであるedit-indirectを利用し、SQLのEXPLAINを確認できるようにした。ソースを置いておく。パッケージで配布する程度のものではないのでMELPAには上げていない。 使用する時は、このEmacs Lispをダウンロードし、load-pathにディレクトリの ...

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


  • chatgpt emacs lisp doctor

    Emacsの対話セラピー機能doctorをChatGPTに対応させる

    できあがり 最近の機械学習の進歩により、自然言語を生成する機能が劇的に進化しているように思う。例えばチャットボットは、英語や日本語等の自然言語を使用して対話をする機能のことで、最近はウェブページの左下にチャットボットとの対話インターフェースが埋め込まれているのをよく目にする。ユーザーはそのチャットボットに英語や日本語で質問し、サービスの使い方を知ったり問題を解決するというような使い方をする事が多い。 ...

    所要時間: 約 4分, 作成: 2023/1/10, 更新: 2024/2/8


  • django migration squash emacs lisp dired

    Djangoのマイグレーションファイルを効率良くスカッシュする

    EmacsのdiredでマークしたDjangoのマイグレーションファイルをスカッシュし、マイグレーションを実行及び動作することで、マイグレーションのスカッシュを効率化した。

    所要時間: 約 4分, 作成: 2023/1/19, 更新: 2024/2/8


  • comment

    自分が必要としていたのは、空調が効いていて、机と椅子しかない空間だったらしい。それこそ物置とか屋根裏部屋みたいな場所が必要なものらしい。たまに、そういう場所に出会う事があるんだよな。場所であったり、時間帯によってはとてもひっそりしている事もある。お気に入りの場所を見付けていきたい。

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


  • comment

    文章の語尾に絵文字、顔文字、句点(マル)、感嘆符(エクスクラメーションマーク!)を付ける事で、おじさん構文、おばさん構文、マルハラといったように、文体に対して命名をしているらしい。 僕は、今も別にちゃんとした文章を書けるようになったわけではないけれど、本の監訳、翻訳、執筆の仕事に関わるようになって、できるだけきちんとした文章になるように心掛けている。 句点はきちんと打つようにしている。感嘆符や疑問符は ...

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


  • emacs lisp aws

    AWS CLIのEmacs用ユーティリティ aws-cli.el を実装した

    AWS CLIのEmacs用ユーティリティを実装した。このライブラリはAWS CLIをスケルトンファイルを用いて、Emacsから実行する機能を提供する。ここではこのライブラリが提供する各機能を説明する。 変数 aws-cli-command AWS CLIとして実行するコマンドを設定する。通常は aws を用いる。例えばAWSのダミーサーバー群であるlocalstackなどに対して実行する場合 --endpoint-url を指定しなければならない。そのように値を変更することで実行 ...

    所要時間: 約 4分, 作成: 2022/12/3, 更新: 2024/2/8


  • emacs lisp weasyprint

    WeasyPrintでhtmlをPDFに変換するEmacs用の拡張を実装した

    WeasyPrintを用いていろいろと作業する機会があった。そこでWeasyPrint関連の作業をEmacs上でしやすくする試みを行う。 WeasyPrint WeasyPrintはHTML、CSS、画像といったWebの技術でレアウトし、それらを元にしてPDFを生成する。 Pythonで実装されておりインターフェースとしてPython用のAPIとCLIツールとしてのweasyprintコマンドを提供している。 デモ Weas ...

    所要時間: 約 2分, 作成: 2022/6/4, 更新: 2024/2/8


  • emacs wakatime

    どのような時間配分でプログラミングや仕事をしているのだろう

    僕はソフトウェア開発と書籍の執筆、翻訳、監訳を生業としている。そのため日常的にプログラミングをするし、コンピュータ上の文章を書いたり触れたりする時間は長い。作業効率を考える上で、具体的に作業のどの部分に時間をかけているかを知る必要がある。そこで今回は作業時間を計測し、計測した結果を分析できるように工夫してみる事にする。 org-clockとwakatime ソフトウェアの開発というと、代表的な作業はプ ...

    所要時間: 約 10分, 作成: 2024/2/4, 更新: 2024/2/4


  • comment

    明日の自分へのメッセージとして文章を残している

    このブログは、僕が考えた事を記録しておくためのものとして続けている。技術的な内容が多くはあるけれど、完全に正しいものを書こうとしている訳でもないし、主観を排除しようともしていない。むしろ、主観を盛り込もうとさえしている。ジャンルとしてはテクニカルエッセイに近いものだろう。しかし技術的な内容に拘っている訳でもなくて、ただ単純にプログラミングとかソフトウェアが好きだから、そういう内容が自然に多くなって ...

    所要時間: 約 5分, 作成: 2023/7/28, 更新: 2024/2/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のダミーサーバで ...

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


  • im skk

    アンティーク品のようにツールを使いたいから僕はSKK系インプットメソッドを使う事にする

    パソコンで日本語を入力する時、通常は日本語入力の有効/無効を切り替えながら文字を入力する。この入力方式の事はインプットメソッドやIME(インプットメソッドエディタ)と呼ばれる。このインプットメソッドはmacOSやWindowsにはインストールされており、特に意識する事もない。文章をよく書く人は、標準でインストールされているインプットメソッドではなく、自分でインストールして使っている人もいるだろう。 ...

    所要時間: 約 6分, 作成: 2023/6/7, 更新: 2024/2/4


  • nodejs

    EmacsでNを使う

    Node.js のバージョン管理のため、Nを使用していた。Emacsでそれらを使えるように以下の設定をしていた。 (setenv "N_PREFIX" (expand-file-name "~/.local")) (add-to-list 'exec-path (expand-file-name "~/.local/bin")) 今はNを使わなくなってしまったので、この設定は削除した。

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


  • emacs macos pmset clamshell

    macOSの電源操作をpmsetで行う

    macOS は pmset というコマンドを提供している。このコマンドは macOS の電源管理を行う。僕はmacをクラムシェルモード1で使用する事がある。そういう時はコマンドの使い方をだいたい忘れているため、その都度 pmset のサブコマンドの意味を調べて実行していた。そのコマンドをまとめる。 MacBookを閉じてもスリープさせない スリープさせないようにする(つまり閉じてもスリープしない) sudo pmset -a disablesleep 1 スリープさせないようにしない(つまり閉じ ...

    所要時間: 約 2分, 作成: 2023/4/24, 更新: 2024/2/3


  • comment

    今、進めている企画のエレベーターピッチを作成した。こういった作業は慣れていないから、結構大変に感じるし疲れる。

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


  • hugo

    hugoで作成しているWebサイト内でページを移動したらALIASESを宣言してリダイレクトさせる

    hugoで生成しているWebサイト内でページを移動した場合、移動元のURLから移動先のURLに遷移させたい。その場合、新しいページのフロントマターとして ALIASES を指定する事で、移動元のURLから移動先のURLに遷移させられる。 org-modeの場合は以下のようになる。 #+TITLE: DUMMY #+ALIASES[]: /posts/1671331641 マークダウンだと以下のようになる。 --- title: DUMMY aliases: - /posts/1671331641 ---

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


  • emacs lisp

    コマンドパスをコピーするユーティリティwhich-command.elを実装した

    CLIコマンドへのパスを取得したい時、whichコマンドを使用するとパスを表示できる。そのwhichコマンドのためのユーティリティを実装した。検索したいCLIコマンドへのパスを取得し、クリップボードにコピーする。 M-x which-command RET ls RET のように実行するとlsコマンドへのパスが、クリップボードにコピーされる。 なお、このライブラリはMelpaなどのリポジトリに登録していない。そのためインストールするためには、Git ...

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


  • emacs github

    GitHubをEmacsで操作する

    GitHub に Git リポジトリをホスティングして開発をする場合、通常は Git の機能だけではなく、イシューやプルリクエストといった GitHub の機能も合わせて利用する事が多い。これらの機能は Git の機能ではないから、当然 Git クライアントには、それらに相当する操作はない。 git コマンドを使い CLI で操作していると、ブランチの push まではできても、プルリクエストを作るにはブラウザを開いてWeb UIで操作する必要がある。これは出来れば CLI で完結したい。 ...

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


  • python

    1ヶ月毎の期間をPythonで取得する

    指定した期間の日付の開始日時と終了日時を取得したいとする。例えば、2024年01月01日00時00分00秒から1ヶ月毎の、開始日時と終了日時をペアにして取得したい。ただし、終了時間をミリ秒単位で完全に終了時間を得るのは難しいため、次の期間の開始日時を終了日時とする。つまり次のような情報を取得したい。 ( (2024年01月01日00時00分00秒, 2024年02月01日00時00分00秒), (2024 ...

    所要時間: 約 5分, 作成: 2024/1/31, 更新: 2024/1/31


  • emacs lisp

    custom-set-variablesを上手く扱うにはどうすれば良いんだろう?

    Emacsの設定値を変更するための関数として、custom-set-variablesが提供されている。この関数は、例えばpackage.elによってインストールされたパッケージやテーマのシンボル、ログの表示方法など、環境に依存する値を設定する。 Emacsは custom-set-variables で変更した値を、 ~/.emacs.d/init.el に自動的に挿入する。 .emacs.d/init.el などのファイルをGitで管理する場合、Emacsが自動で挿入した値が差分となってしまう。そのような場 ...

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


  • minetest mob[WIP]

    mobの仕組みを調べる

    minetestのmobの仕組みを調べる事にした。 mobs mobs では、モブのベースとなる実装をModとしてLuaで実装している。しかし、このModには実際のモブは含まれていない。モブを導入したければ、このModを利用して、モブを実装したModを別途入れる必要がある。 https://codeberg.org/tenplus1/mobs_redo.git READMEを翻訳する Built from PilzAdam's original Simple Mobs with additional mobs by KrupnoPavel, Zeg9, ExeterDad and AspireMint. PilzAdam のオリジナルの Simple Mob に、KrupnoPavel、Zeg9、ExeterDad、Aspire ...

    所要時間: 約 3分, 作成: 2024/1/6, 更新: 2024/1/28


  • python pygame

    PyGameの動きを確認する

    PyGameの動作を確認した。 import pygame # 画面のサイズを設定 WIDTH = 640 HEIGHT = 480 # キャラクターの初期位置を設定 x = 100 y = 100 # Pygameの初期化 pygame.init() # 画面の作成 screen = pygame.display.set_mode((WIDTH, HEIGHT)) # キャラクターの描画 def draw_character(x, y): pygame.draw.rect(screen, (255, 0, 0), (x, y, 50, 50)) # ゲームループ running = True while running: # イベントの処理 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 画面の背景色を設定 screen.fill((255, 255, 255)) # キャラクターの描画 draw_character(x, y) # キーの入力を取得してキャラクターの位置を更新 keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: x -= 5 elif keys[pygame.K_RIGHT]: x += 5 elif keys[pygame.K_UP]: y -= 5 elif keys[pygame.K_DOWN]: y += 5 # ...

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


  • emacs translation

    書籍の翻訳のためのユーティリティを自前で実装している

    翻訳作業を行うため、翻訳用のユーティリティを自前で実装している。 #+TITLE: trans.el - Translation utility. #+CATEGORY: trans.el trans.el is translation utility using by [[https://github.com/soimort/translate-shell][translation-shell]]. [[https://github.com/soimort/translate-shell/blob/develop/google-translate-mode.el][translate-shell has emacs extention]]. But this package do not use google-translate-mode.el. Becouse it is created as a emacs lisp plactice. * How to use. ** Start process =M-x trans-start RET= ** Translate 1. Mark region 2. =M-x trans-region RET= If the translation is successful, the text will be displayed in =*Trans*= buffer. ** Stop process =M-x trans-stop RET= * Install 1. Download trans.el 2. M-x package-install-file RET /PATH/TO/DOWNLOADED/trans.el RET This package is not yet melpa packaging. * Testing This package has no test yet. * Bug report and Contributing We haven't prepared those flows yet. For the time being, please write the steps to reproduce the bug in this gist comment, or attach the patch file in diff format. Welcome them. * License GPL v3 * Releases ** Version 3 (2023-04-09) - support to change lang-mode function ** Version 2 (2023-01-26) - Support Emacs 29.1 ** Version 1 (2021-04-03) - First implements. - Supported ...

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


  • comment

    一日の内で考えられる量は決められている気がする。しかも、それは時間にも関係あるけれど、時間以外の複雑さにも関係しているような気がする。複雑さというか、考えた事があるかというかそういうの。口の上手いやつ、要領が良いやつは、上手くものごとを進めていく。じっくり考えたら足枷にならないかと言われるとそうではないから、さっさと答えを出して、その答えを調整する方が正しいんだろうな。

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


©TakesxiSximada