Symdon Blog
comment
日に日に難しい事を考えられなくなってる。簡単な事しか考えられない。
所要時間: 約 1分, 作成: 2023/6/21, 更新: 2023/6/21
comment
声をかけられて知らない人と2時間ぐらい話していた。普段と全く異なる話題で話したので良い気分転換になった。
所要時間: 約 1分, 作成: 2023/6/18, 更新: 2023/6/18
comment
誰かが遊んでいる間も努力を続けよう
所要時間: 約 1分, 作成: 2023/6/18, 更新: 2023/6/18
comment
picle化したデータは後方互換性が保証を保証しているのか。なるほど。 いっぽう pickle の直列化形式は、互換性のあるプロトコルを選ぶという条件のもとで Python リリース間の後方互換性が保証されます。また処理すべきデータが Python 2 と Python 3 の間で非互換な型を含む場合も、 pickle 化および非 pickle 化のコードはそのような互換性を破る言語の境界を適切に取り扱います。 https://docs.python.org/ja/3/library/pickle.html
所要時間: 約 1分, 作成: 2023/6/18, 更新: 2023/6/18
comment
Gitリポジトリの年毎のコミット数を集計する
このGitリポジトリの年毎のコミットの数を集計する事にした。 git log --oneline --date=format:%Y --pretty=format:%ad | sort | uniq -c 26 2012 208 2013 52 2014 52 2015 202 2016 439 2017 12 2018 196 2019 741 2020 1374 2021 3748 2022 2036 2023 このリポジトリを作成したのは、たしか2019年か2020年あたりだったはず。ただし管理しているリポジトリ数を削減する取り組みの一環で、古いリポジトリを履歴ごと git subtree で飲み込んでいるため、2012年や2013年のような太古の時代のコミットも含まれているため、それらが集計結果に ...
所要時間: 約 1分, 作成: 2023/6/18, 更新: 2023/6/18
comment
もっと頑張らなくちゃな。
所要時間: 約 1分, 作成: 2023/6/17, 更新: 2023/6/17
comment
オーバーレイを表示して3秒後に消す
EmacsのClojureの開発時に使うCIDERの使用感が良いため、同じような機構を他の言語でも対応できないかと考える事がしばしばあった。その一環として、オーバーレイの挙動を確認する事にした。 ここでやっている事は、オーバーレイを表示して3秒後に消すという事をしている。考えた記録として残しておく。 (setq overlay-display-second 3) (setq overlay-display-foreground "white") (setq overlay-display-background "black") (let ((result "Ok") (ov (make-overlay (point) (point-at-eol) (current-buffer) nil t))) (kill-new result) (run-at-time overlay-display-second nil #'delete-overlay ov) (overlay-put ov 'after-string (propertize (format " => %s" result) 'face '(:foreground overlay-display-foreground :background overlay-display-background ) )))
所要時間: 約 1分, 作成: 2023/6/17, 更新: 2023/6/17
comment
Emacsの外部参照機能xref.elについて考える
Emacsのクロスリファレンス用ライブラリであるxref.elについて調べたり考えたりする。 xref.elとは xref.elはタグジャンプなどの機能のためのI/Fを提供している。一般的に関数の名前の上にカーソルを当てて M-. を実行するとカーソルの定義位置にジャンプする。この時 xref-find-definitions が呼び出されているが、この関数はxref.elに定義されている。 https://elpa.gnu.org/packages/xref.html xrefバックエンドを実装する xrefを使用してタグジャンプ ...
所要時間: 約 3分, 作成: 2021/4/8, 更新: 2023/6/16
comment
力が入らなくて、なんだかどうしようもない気分になる。でももう少しだけ頑張ろうと思う。よく考えたら、よく考えなくても、ありがたい事にやる事は結構あるから、その事を考えるようにしようと思った。
所要時間: 約 1分, 作成: 2023/6/15, 更新: 2023/6/15
comment
僕から仕事を奪うのはAIじゃなくて、身近な人間だった。本当に人間が一番クソだという事がよくわかる。
所要時間: 約 1分, 作成: 2024/6/15, 更新: 2023/6/15
comment
もしこの世で一番くだらないものがあるとすれば、それはまちがいなく家族だね。吐き気がする。
所要時間: 約 1分, 作成: 2024/6/15, 更新: 2023/6/15
comment
GnuPGで鍵の更新をする
OpenPGPには鍵の期限がある。今回はGnuPGで作成した鍵を延長する事にした。まず鍵を確認する。 gpg --list-keys RESULTS: pub ed25519 2023-06-05 [SC] [有効期限: 2023-06-12] 123ABC123ABC123ABC123ABC123ABC123ABC123A uid [ 究極 ] DUMMY (hi) <[email protected]> sub cv25519 2023-06-05 [E] [有効期限: 2023-06-12] 鍵を指定して、鍵の編集を開始する。 gpg --edit-key 123ABC123ABC123ABC123ABC123ABC123ABC123A GnuPGのプロンプトが表示される。ここからはGnuPGのコマンドに制御が移る。 期限の変更を指示する。 expire 変更したい期限を指示する。 1w と入力する場合は1週間延長するという意味となる。 1w GnuPG ...
所要時間: 約 2分, 作成: 2023/6/6, 更新: 2023/6/15
comment
明日も、また一生懸命取り組もうと思う。
所要時間: 約 1分, 作成: 2023/6/13, 更新: 2023/6/13
comment
システムを構築していく事は、畑を開墾するような事なんじゃないかなと少しだけ考えた。
所要時間: 約 1分, 作成: 2023/6/13, 更新: 2023/6/13
comment
DockerコンテナにSSHを経由してTrampする
Dockerコンテナにssh経由でTrampしたくなった。実はsshを経由しなくてもコンテナにはTrampできるのだけれど、今回はsshdの挙動を確認する事が目的だったため、sshdを含むDockerイメージをビルドする事にした。 # image: frosted FROM debian:bullseye-20230202-slim LABEL maintainer "TakesxiSximada" RUN apt-get update && \ apt-get install -y openssh-server # rootを使うべきではない RUN mkdir -p /root/.ssh RUN mkdir -p /run/sshd COPY authorized_keys /root/.ssh/authorized_keys RUN chmod 600 -R /root/.ssh COPY entrypoint.sh / ENTRYPOINT ["bash"] CMD ["/entrypoint.sh"] # CMD ["/usr/sbin/sshd", "-d", "-D"] # sshdの挙動を確認する場合はこっちを使う Dock ...
所要時間: 約 1分, 作成: 2023/6/13, 更新: 2023/6/13
comment
cryptapiについてちょっと調べてみたいと思った。Django REST FrameworkのREADMEに記載があった。DRFを使用しているようだ。 https://cryptapi.io/products/
所要時間: 約 1分, 作成: 2023/6/13, 更新: 2023/6/13
comment
Hasuraを使う
HasuraはGraphQLサーバである。データベースのテーブル定義を解析する事で、ほぼ何も実装する必要なくGraphQLを受け付ける事ができる。今回はそんなHasuraについて考えてみたい。データベースにはPostgreSQLを使用する。また、HasuraとPostgreSQLについては、Docker上に展開する。 +--------+ | | | Client | | | +---+----+ | GraphQL 又は REST API v +---+----+ | | | Hasura | | | +---+----+ | v +-----+-------+ | | | PostgreSQL | | | +-------------+ 構成 Pos ...
所要時間: 約 3分, 作成: 2023/6/11, 更新: 2023/6/11
comment
Google Cloud Storageからファイルをダウンロードする様子を眺める
:ORIGIN = https://storage.googleapis.com GET :ORIGIN/download/storage/v1/b/TEST_BUCKET_NAME/o/testing.csv?alt=media Host: storage.googleapis.com sentry-trace: 00000000000000000000000000000000-0000000000000000-0 User-Agent: gcloud-python/2.5.0 gl-python/3.8.12 grpc/1.34.0 gax/1.33.1 gccl/2.5.0 accept-encoding: gzip Accept: application/json X-Goog-API-Client: gcloud-python/2.5.0 gl-python/3.8.12 grpc/1.34.0 gax/1.33.1 gccl/2.5.0 gcclocation-id/96ea1f56-4709-43dc-a1ea-57110bf67c1c content-type: application/json; charset=UTF-8 x-upload-content-type: application/json; charset=UTF-8 a,b,c,d,e,f,g a,b,c,d,e,f,g // GET https://storage.googleapis.com/download/storage/v1/b/TEST_BUCKET_NAME/o/testing.csv?alt=media // HTTP/1.1 200 OK
所要時間: 約 1分, 作成: 2023/2/2, 更新: 2023/6/11
comment
有効なorgファイルを探索するコマンドを探す
Org-modeで様々な文書を書いている。内容は様々あるが、いくつもファイルがあり、その中にはTODOがあるものもある。これを探し出すのはちょっと億劫な気持ちになる。そこで、該当のファイルを探し出すワンライナーを書いた。 条件 ファイル 拡張子が.orgであるファイル ファイル名にARCHIVEが含まれていない ファイル内部にTODOの設定が1つ以上ある find . -type f -name '*.org' | grep -v ARCHIVE | sort -u | xargs grep -m 1 '* TODO' | cut -d ':' -f 1 ワ ...
所要時間: 約 1分, 作成: 2023/2/6, 更新: 2023/6/11
readme documentation
READMEに何を書くか
ソフトウェアを配布する際、あわせて配布されるREADMEというドキュメントがある。READMEはそのソフトウェアを使う時に最初に読むために記述されている。今回はREADMEをなぜ、なにを、どのように書くのかについてまとめた。
所要時間: 約 12分, 作成: 2021/11/28, 更新: 2023/6/11
comment[WIP]
再び文章を自動生成する
CyberAgentが開発している日本語用大規模言語モデルOpenCALMを試してみる事にした。環境は手元のmacOS(Intel ChipのMacBook Proの中古型落ち品)を使う1。PCのスペック的に大した事はできないだろうけれど、(型落ちmacが)頑張ってみる事にする。 まずは依存パッケージをインストールする。 torch==1.13.1 transformers accelerate mkl pip install -r requirements.txt 手元の貧弱マシンではどうせ大した事はできないため open-calm-small を使用する事にする ...
所要時間: 約 4分, 作成: 2023/6/10, 更新: 2023/6/10
comment
ソフトウェア開発について雑に考えた
また雑に考えてしまった。最近はこういった事に意識を持っていかれる事が多くて少し困る。せっかくなので文章にしておく。ただし、まとまってはいない。 ドメインに入り込むような内容の事について、きちんと考える事できなくなってきた。以前はそうでもなかったのか、意識した事はなかったけれど。業務上の何かを表わす独自のオブジェクトを定義して、固有のメソッドを定義するという事を以前は良くやっていたと思う。業務上にそう ...
所要時間: 約 3分, 作成: 2023/6/10, 更新: 2023/6/10
comment
Critical となっている脆弱性の内、自動で修正可能なものを全て適応した。現時点で Critical とされている脆弱性は0となった。修正できないものは残ったままだが、少しだけ状況を改善する事ができた。
所要時間: 約 1分, 作成: 2023/6/10, 更新: 2023/6/10
comment[WIP]
EmacsのX転送
もう今さらEmacsをX転送したいと思う人なんていないようにも思える。でも私は今日ふとそれをしたいと思った。だから、それをやることにした。 Emacsのビルド時に次の設定を行う。 ./configure --with-x --with-ns=no --with-x-toolkit=no make -j4 XQuartzなどX11サーバーを起動しておく。 cd src ./emacs --display ":0.0" これを参考にした。 https://jrw.cloudapps.unc.edu/Emacs_X11.html
所要時間: 約 1分, 作成: 2023/6/9, 更新: 2023/6/9
comment
qpdfを使ってPDFのパスワードを除去する
PDFファイルのパスワードを除去する方法はいくつかある。ここではqpdfコマンドを用いてPDFファイルのパスワードを除去する。 qpdfをインストールする。 brew install qpdf パスワードを除去する。 qpdf --password=旧パスワード --decrypt 入力ファイル名 出力ファイル名
所要時間: 約 1分, 作成: 2023/6/9, 更新: 2023/6/9
comment[WIP]
GNOME入りのDockerコンテナからXQuartzに接続する
# image: gnome # ベースイメージを指定します FROM debian:10 # 環境変数の設定 ENV DEBIAN_FRONTEND noninteractive # 必要なパッケージをインストールします RUN apt-get update && \ apt-get install -y \ dbus-x11 \ gnome-core \ gnome-panel \ gnome-terminal \ metacity \ nautilus \ --no-install-recommends && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Xサーバーの設定 RUN apt-get update && \ apt-get install -y \ xserver-xorg \ x11-apps && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ENV DISPLAY :0 RUN echo "export NO_AT_BRIDGE=1" >> /etc/environment CMD ["dbus-launch", "gnome-session"] xeyesの確認。 exec docker run -it --rm -e DISPLAY=host.docker.internal:0 gnome xeyes これは確認できた。 次にgnome-sessionを起動する。 exec docker run --privileged --net=host -it --rm -e DISPLAY=host.docker.internal:0 gnome bash これはエラーがでる。 ,root@docker-desktop:/tmp# gnome-session , ,(gnome-session-check-accelerated:140): dbind-WARNING **: 09:02:08.160: Couldn't register ...
所要時間: 約 1分, 作成: 2023/6/7, 更新: 2023/6/7
comment
一人株主総会をした。なんかちょっと寂しい気がするのと、今期も頑張ろうと思った。
所要時間: 約 1分, 作成: 2023/6/7, 更新: 2023/6/7
comment
Plausible Analyticsを使う
Plausible Analyticsはアクセス解析の機能を提供する。Google Analyticsと同じようなツールだ。オープンソースとして、ソースコードが公開されており、SaaSとしても利用できる。Sentry等と同じような戦略でサービスが展開されている。 オープンソースであるため、自分でホスティングして使用するのであれば、インフラ代はかかるが、Plausible Analyticsを使用するための料金はかからない ...
所要時間: 約 2分, 作成: 2022/9/28, 更新: 2023/6/7
comment
僕と同じ方法で、年間に1億円稼いでいる人がいる事を考えると、自分はまだまだ頑張れる余地があると思った。一生懸命やっていないわけではないし、できるかぎり きちんと できるように取り組んではいるけれど、なかなか思うようにいかない事も多い。また、明日から日々のチューニングを続けようと思う。
所要時間: 約 1分, 作成: 2023/6/6, 更新: 2023/6/6
comment[WIP]
SHAについて考える
SHA系のハッシュ関数を実装してみる事にする。SHAにはいくつかの種類が存在しており、初期のものから脆弱性が発見され、それに対応するように強化されてきた歴史がある。詳しくはWikipediaにまとめられている。 SHA-0 160ビットのハッシュ値を返す。SHA-0はSHAの初期バージョンである。SHAに問題が発見されたため、SHA-1が策定された。SHA-1と区別するために、SHA-0と呼ぶ事が多い。 SHA ...
所要時間: 約 2分, 作成: 2023/6/4, 更新: 2023/6/4
asyncio python
asyncioでのthreading.localの扱いを確認する
Webフレームワークでのリクエストの処理の時に、リクエスト等の値をスレッドローカルな値として保持する事がある。おそらく一般的に使用されるフレームワークでは、asyncioを使う場合でも上手くやっているのだろうけれど、そもそもの挙動はどうなっているのだろうかと気になった。そこで、スレッドローカルのようでいてグローバルな変数だった場合に、それぞれのコルーチンの中からはどのように見えるのかを、簡単なas ...
所要時間: 約 1分, 作成: 2023/6/1, 更新: 2023/6/1
org-mode emacs lisp
タスクのゴールを管理する方法について考える
抱えているタスクが一定量を越えると、手が止まり足が止まり、途端に何もできなくなる。この状態をなんとかできないかと考えて、今まで様々な取り組みをしてきた。 手が止まってしまう理由の一つは、ゴールの設定が出きていないからだろう。どの状態となったら、そのタスクが終わるのか、これを具体的に想像できていないと、何をやっていいのかも分からず、時間だけが過ぎていく。ただし、実際には手を付けてみないと、ゴールが想像 ...
所要時間: 約 5分, 作成: 2023/5/31, 更新: 2023/5/31
swift macos geo corelocation
macOSで現在の位置情報を取得する
税務調査などが入った時に、「いつ」「どこで」「なにを」していたのかを回答できるように準備を進めたい。「いつ」「なにを」はタスク管理にOrg-modeを使用しているため、記録が残っていく。ただし「どこで」という情報は、今は残していない。スマホの機能ので記録できそうではあるが、スマホがあまり好きではない事と、大体電源が落ちている事が多いため役に立たない。そこでローカルのコマンドでも位置情報を取得する事 ...
所要時間: 約 2分, 作成: 2023/5/30, 更新: 2023/5/30
comment
チャットツールは使わない方が良いかもしれない
プロジェクトによって Slack や Discord や ChatWork を使っている事が多いだろう。 Skype かもしれないし Gitter かもしれないし、独自のツールかも知れない。特定の目的のないような組織であれば、そういったものでも良いかもしれない。例えば会社といった組織の場合、そこには特定の目的があり、その目的に向って物事を進めていく。よく見る光景は、チャットツールもあり、ドキュメント用ツールもあり、タスク管理ツールもあり、そして、それぞれが独立している ...
所要時間: 約 2分, 作成: 2023/5/30, 更新: 2023/5/30
comment
Org-modeについて考えたり思ったりする
私はOrg-todoを使って自身のタスク管理をしている。Org-todoとは、Emacsの拡張の1つであるOrg-modeの機能の一つで、タスクの内容や状態を管理するための機能を提供している。ここでは、私が考えている事とかを書く事にする。技術的な内容よりもエッセイ的(ポエム的と言う?)な内容が主となる。 Org-modeの特徴の一つは、データベースがただのテキストファイルであり、通常のOrg-mod ...
所要時間: 約 3分, 作成: 2023/5/30, 更新: 2023/5/30
comment
できる限りの力を尽くしたいと思う。何のために今の状況にいるのかを、毎日確認しようと思う。占有せず、いろんなものを手放して、誰かに渡していきたいと思う。そして良く在れるように、毎日を過ごそうと思う。そんなふうに毎日考えている。
所要時間: 約 1分, 作成: 2023/5/27, 更新: 2023/5/27
django python
Django3からDjango4へ移行する時にマイグレーションファイルが生成されるかを確認する
プログラミング言語やライブラリやフレームワークは、どんどん進化し新しいバージョンが提供されていく。Webに関わるようなそれらは特にそのスピードが速い。システム開発の現場では、日々のそれらの更新に追従していく事を求められる。 私はDjangoというWebフレームワークをよく使用する。DjangoはPython製のWebフレームワークで人気がある。そして2023年04月03日、Django 4.2がリリー ...
所要時間: 約 6分, 作成: 2023/5/27, 更新: 2023/5/27
comment neat python
NEAT-Pythonのゲノムの距離を測る
NEAT-Pythonのゲノム同士の距離の測り方が気になって夜も眠れないので、手で測ってみる事にした。このライブラリと上手く付き合うコツの一つは、まず何はともあれ設定ファイルを作る所にある。だから、ここでも設定ファイルから作成し example.conf として保存した。このファイルは後で掲載する。 設定ファイルを読み込み、ゲノムを2つ(g1とg2)作成する。この2つのゲノムはノードのコネクションも空のゲノムであり、何も遺伝 ...
所要時間: 約 4分, 作成: 2023/5/21, 更新: 2023/5/21
comment
k近傍アルゴリズムを書いてみる
https://ja.wikipedia.org/wiki/K%E8%BF%91%E5%82%8D%E6%B3%95#:~:text=k%E8%BF%91%E5%82%8D%E6%B3%95%EF%BC%88%E3%82%B1%E3%82%A4%E3%81%8D%E3%82%93,%E5%AD%A6%E7%BF%92%20%E3%81%AE%E4%B8%80%E7%A8%AE%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82 特徴空間における最も近い訓練例に基づいた分類の手法であり、パターン認識でよく使われる。 最近傍探索問題の一つ。 k近傍法は、インスタンスに基づく学習の一種であり、怠惰学習 の一種である。 つまり、ある点から見た時にそこから近にいる点を順番にk個選び出すという事か。 import numpy as np k = 2 # 最も近いポイント2つを選び出す a = np.array([0,0]) points = [ np.array([1,1]), np.array([1,2]), np.array([0,-1]), np.array([10,-11]), ] nearest_list = [] neighbor = None for p in points: # 距離を測る(ここではユークリッド距離を使用) distance = np.linalg.norm(a - ...
所要時間: 約 1分, 作成: 2023/5/21, 更新: 2023/5/21
comment
気持ちに余裕がないと、ちゃんとした仕事はできない。雑になったり、投げやりな仕事になったりしてしまう。間違いに気が付いたりする機会も少なくなるし、見直したり振り返ったりもできない。気持ちに余裕を持つには、じゅうぶんな休息が必要で、じゅうぶんな休息には時間と環境が必要だ。これを、もう少しだけ考えると、休息に必要な時間と環境をじゅうぶんに確保できるのなら、ちゃんとした仕事ができるのかもしれない。どうだろ ...
所要時間: 約 1分, 作成: 2023/5/19, 更新: 2023/5/19
comment
大域に変化する物を置く事を不必要に怖がったりしない。Emacsを使っていて、そんな風に考えるようになった。不必要に隠蔽する事にこだわらないようにしようと思うし、不必要に関心の分離をしないようにしようと思うし、重複も恐れない。よく言われ、こうした方が良いとされるSOLID原則とかKISSの法則とか、DRYとか、そういったものはその時その人がそう思って、キャッチコピーを付けただけのものだと思う。だから ...
所要時間: 約 2分, 作成: 2023/5/19, 更新: 2023/5/19
comment
インストールしているMod一覧
mod default URL 3d_armor https://github.com/minetest-mods/3d_armor 3d_armor_flyswim https://github.com/sirrobzeroone/3d_armor_flyswim aerial https://content.minetest.net/packages/EmptyStar/aerial/ airutils https://github.com/APercy/airutils an_televator-fb358d6aca5430e18d08bc1a810bf3165201aaf1 https://github.com/octacian/televator beds o binoculars o biofuel https://github.com/Lokrates/Biofuel boats o bones o bucket o butterflies o carts o creative o default o dmobs https://github.com/D00Med/dmobs doors o dungeon_loot o dye o enderpearl https://gitlab.com/zughy-friends-minetest/enderpearl env_sounds o farming o fire o fireflies o flowers o forgotten_monsters https://codeberg.org/duckgo/forgotten_monsters game_commands o give_initial_stuff o glow_pack https://github.com/HybridDog/glow-pack hangglider https://notabug.org/Piezo_/minetest-hangglider hidroplane https://github.com/APercy/hidroplane keys o map o mesecons https://github.com/minetest-mods/mesecons mobs https://notabug.org/tenplus1/mobs_redo mobs_animal https://notabug.org/tenplus1/mobs_animal mtg_craftguide o nether https://github.com/minetest-mods/nether obsidianstuff https://github.com/SoloSniperCode/obsidianstuff oneblock https://github.com/NO411/oneblock oretracker https://content.minetest.net/packages/ApolloX/oretracker/ player_api o rainbow_ore https://github.com/FsxShader2012/rainbow_ore rainbow_source-20cf670304a5d34cfa1b4d5aa3ede10e288b0b54 https://github.com/Ezhh/rainbow_source riesenpilz https://github.com/HybridDog/riesenpilz rocket_launcher https://github.com/zmv7/minetest-mod-rocket_launcher screwdriver o sethome o sfinv o skinsdb https://github.com/minetest-mods/skinsdb spawn o stairs o stamina https://github.com/minetest-mods/stamina symdon-mod https://github.com/TakesxiSximada/login-bonus throwing https://github.com/minetest-mods/throwing tnt o vessels o walls o weather o wool o x_bows https://bitbucket.org/minetest_gamers/x_bows/src/master/ x_enchanting https://bitbucket.org/minetest_gamers/x_enchanting/src/master/ xpanes o
所要時間: 約 1分, 作成: 2023/5/13, 更新: 2023/5/17
skk input_method
Input Methodを巡る
私は、普段の作業にmacOSを使用している。これまでInput Methodは標準のものを使用していたが、些細な挙動が気になり始めてしまい、使い勝手に対して違和感をずっと感じていた。だから今回はInput Methodを巡って、自分にとって何がどうなっている事が良いのかということを探ることにした。 Input Methodの切り替え 日本語の文章を書いていると、文章の中に半角の英数や記号を入力する必要性が出てくる。 ...
所要時間: 約 5分, 作成: 2021/11/25, 更新: 2023/5/17
comment
CPPNを学ぶ
もう本当に、わからない事が多すぎて困る。しかし困ったままでは、本当に困ってしまうので、詰む前に学ぼうと思う。では何を学ぶべきだろうか?考えた結果、今回はCPPNを学ぶ事にする。 CPPNは生物の空間的パターンの生成に注目し、同じような幾何学的パターンを生成できるようにしたニューラルネットワークの事。今回は、それをPythonとnumpyで実装してみる事にする。 既にCPPNとして実装されたプログラムや ...
所要時間: 約 2分, 作成: 2023/5/9, 更新: 2023/5/14
comment
今日も頑張るぞ
所要時間: 約 1分, 作成: 2023/5/11, 更新: 2023/5/11
comment
Minetestのデプロイ方法をAnsible化した。このリポジトリにはクレデンシャルの情報はないけれど、ホスト名はコミットされている。DOS攻撃の標的になると嫌なので、今は公開できないけれど、インベントリの共有の仕組みを整備したら、デプロイスクリプトも公開したい。
所要時間: 約 1分, 作成: 2023/5/10, 更新: 2023/5/10
python chardet
文字コードの判定に使用されるchardetはどうやって文字コードを判定しているか
文字コードが不明なデータを受け取り処理をする必要があり、そのデータから使用されている文字コードを判定する方法を探していた。Pythonにはchardetという文字コードの判定用のライブラリがある。これを使うと、そのバイト列が何の文字コードでエンコードされているか判定できる。とても便利ではあるけれど、どうやってそれを実現しているのかを知りたくなった。そのため、chardetについて調べる事にする。 https://github.com/chardet/chardet ...
所要時間: 約 3分, 作成: 2023/5/8, 更新: 2023/5/8
comment
遺伝的アルゴリズムでナップザック問題を解いてみる
組み合せ最適化問題を効率的に解くための手法で、生命の進化に似せた手法で解を探索する。解の候補を個体と言い、個体の集合を集団という。これらを以下の順序で処理し、最も目的を達成する解を見付ける。 初期の集団の生成する 評価 終了判定 選択 交叉、突然変異、コピーによる次世代の生成 ナップザック問題を解く ナップザック問題は、品物の合計金額が大きくなるように品物をナップザックに入れる問題だ。品物には値段と重量がある。 ...
所要時間: 約 2分, 作成: 2023/5/7, 更新: 2023/5/7
comment
誕生日にダイヤモンドを
「いつもは質素に生活しているとしても、誕生日ぐらい贅沢にいきたい」そんな事を考えていた所、お金をかけなくてもそれは実現できそうだという事に気が付いた。どういう事かというと、最近身内でMinetestというゲームをホスティングして遊んでいるのだが、そこにログインボーナスをいう機能を付ける事でちょっと贅沢な気分を味わえるのではという事だ。という事で早速ログインするとアイテムが1つ貰えるという単純でよく ...
所要時間: 約 1分, 作成: 2023/3/9, 更新: 2023/5/5
brave macos
Brave Browserを使う
「Brave Browser」というWebブラウザの話題を良く耳にするようになってきた。今回はちょっと変ったコンセプトをもつ「Brave Browser」をインストールする。 Brave Browserとは オープンソースのウェブブラウザ。広告やトラッキングをブロックする機能が標準機能として含まれている。 macOSにBrave Browserをインストールする ここではmacOSにインストールする。 インストールの方法は ...
所要時間: 約 3分, 作成: 2022/1/20, 更新: 2023/5/5