c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud 等に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開発中です。

JPEG / PNG 畫像を可逆壓縮する Python script を Clojure (Babashka) で書き直した

先日書いた以下の記事で Python の script を貼り附けた。 c4se.hatenablog.com しかし今は Clojure (Babashka) で書く事に決めてあるので、書き直した。Windows 版の Babashka (bb.exe) ではなく Linux 版 (bb) を呼んでゐる。WSL2 で作業するのでこれで困…

JPEG / PNG 畫像を可逆壓縮する @ Windows

畫像を Internet に上げる前に壓縮する習慣を持ってゐる。macOS では ImageOptim を使ってゐるが、Windows では無い。 imageoptim.com JPEG 畫像は mozjpeg で、PNG 畫像は zopfli で可逆壓縮できればよい。以下の通りにやってゐる。 mozjpeg は scoop で入…

現實に就いての一般三角形

昔に眞に關する三角形 : S/, S1, S2 - c4se記:さっちゃんですよ☆と云ふ愚にもつかぬ記事を書いた。此の時は各點・各邊に名が附いてゐなかった。今では名が有る。 此れは腐食性の高い曼荼羅だ。依って「一般」三角形と呼ぶ。腐食する樣子は現實に就いての一…

react-swipeable と react-transition-group で swipe animation

以下のおもちゃ React component が有って、右に swipe したら右に fade out、左に swipe したら左に fade out したいとしよう。 import React, { useState } from "react"; const items = [ {id: 1, content: "item 1"}, {id: 2, content: "item 2"}, ]; ex…

名實一致

内輪で三分間喋る時間が有ったのでこんな slide を流してゐた。 speakerdeck.com 喋り無しで見ると抽象と云ふ感じなので、かう放流しても理解される恐れが無いのだが、喋った當時からの考への違ひを補足すると、名實の外に無が有る型が缺けてゐるのと、名-名…

木曜 21 時~22 時、兩河世界アワーをやります

追記 2021-07-03 現在の開催狀況は scrapbox.io にて更新します。 兩河世界アワー 兩河世界とは、現實そのものの世界を創作してゆかうとする project のひとつ (しかし偶然にも唯一) です。兩河世界 project では今、共同研究者 (創作者) を募集してゐます。…

J 言語の剰餘演算は a | b

J 言語の剰餘演算は a | b。b が割られる數だぜ! 7 | 16 2 嗚呼、整數論での表記ね。解るけどさぁ? code.jsoftware.com 16 % 7 は割り算で 2.28571 に成る。 code.jsoftware.com / は配列に二項動詞を reduce する副詞だもんね。 code.jsoftware.com

Mackerel の機能の裏側について喋った

speakerdeck.com まかれるあなとみあ ―Mackerel のしくみを理解する 30 分― @ Hatena Engineer Seminar #16 喋ったのでした。喋った事自體に就いての裏話は無い! mackerel-agent 側も普段觸ってゐるが今囘は喋ってゐない。 id:tukaelu さんがされた data dri…

「世界創作の方法」

兩河世界と云ふ創作を延々とちまちまとやってゐる。他で似たものは創作されてゐないと思ふので、ここで使ってゐる方法をしたためた。 scrapbox.io 目次 - 世界設定との違ひ - 蒐集と配置 - 夢想と審美 - 再現と置換 - 三つの方法同士の關係 - 結論 この題は…

holiday_jp-elixir に入れた binary の git diff をとる設定

自明なのだけれども。 github.com この data source は YAML 形式だが、實行時の YAML library への依存を除く爲と起動・動作速度の爲に ETS (Erlang Term Storage) file に變換して同梱してある。おそらく Erlang の ver. を上げたからなのだらうが、data s…

Evil on Emacs で括弧を區切りとして comment out/in する

普通に comment out/in する command である M-; でよい。macOS であれば Meta key は Option key に割り當てる事が多い。 (defn f [] (x)) の (x) を comment out したいとしよう。(x) のどこかに cursor を置き va( で (x) を選擇する。M-; で comment out…

圈論初級の monoid っぽいの達を纏めた

登場人物は monoid monoid の圈 monoidal 圈 monoid 對象の圈 monad である。 TL;DR monoid は集合上の結合律と單位律とを滿たす演算である monoid の圈 は monoid と monoid 準同型との成す圈である monoidal 圈 は對象の間に自然同型の違ひを除いて monoid…

Shibuya.lisp lispmeetup #94 に參加した

Zoom 開催です。Clojure 囘でした。 Shibuya.lisp さんには二回目の參加ですが、相當昔に偶々職場で開催された時だったので実質初です。その時も Clojure 囘だった氣がする。 これは memo です。 scrapbox.io ClojureScript の eco system を一切知らんなと…

docker-compose の ephemeral container (kubectl alpha debug) っぽいやつ

Kubernetes に於いて debug する爲に cluster 内に突如 container を立てたく成ったならば kubectl run 〜 --restart=Never で立てられる。既に在る container 内に入りたければ kubectl exec 〜 でよく、Pod 内に container を立てたければ、今は ephemeral…

普段使ひの shell script を Clojure (Babashka) で書き換へた

Babashka は 10 ms 程度で起動する Clojure の runtime だ。Clojure を GraalVM で native code に compile し、shell script 使ひに便利な Clojure の標準 library と Java の class とを殘して削り、便利な library を幾つか加えたものである。66 MB に迄…

Clojure で日本の祝日を引く library を作った

Clojure で日本の祝日を引く library を作った。 github.com 既に同様の library が Java に在る (holiday-jp/holiday_jp-java) が、今囘のものは JVM で動く Clojure だけではなく、Erlang VM (BEAM) 上で動く Clojerl、.NET で動く Clojure CLR、JavaScrip…

Clojerl の Slack client を書いた

Erlang の好い感じの Slack client が無かったので書いた、のだが Clojerl で書いたので Erlang からは使へない。 github.com README に書いた通り gen_event bahaviour を書けば Slack と會話出來る。 (ns example-bot.handler1) (erlang.core/behaviours g…

Clojerl で Erlang/OTP behaviour

behaviour (英國英語) は Java の interface に似て、module に指定の函數が實裝してゐなければ警告又は error を出す機能だ。Clojerl にも、無くても困らないが有ると嬉しい。 document には当然 (なんで当然?) 無い。GitHub repository の examples にも無…

Clojerl で Erlang の pattern match を行ふ。guard を使ふ

Clojerl は Erlang VM (BEAM) で動く Clojure である。 Erlang/Elixir では pattern match を頻繁に使ふ。一つは條件分岐する爲。慣れてゐる Elixir で書こう。 defmodule Example do def example1(:a, v), do: v + 1 def example1(_, v), do: v def example…

Clojerl から Erlang を呼ぶ: How to interoperate with Erlang and Clojerl

何でこの document が無いんだ。無かったから書いた。英語にしたいが氣力が無い。 Clojure Advent Calendar 2020 が空いてゐたので參加しやう。 やってみる: Getting started 先づ rebar3_clojerl で project を作ろう。First, create a project by rebar3_c…

asdf を管理する Ansible module を書いた

書いたから何だと云ふ話ではあるが。 github.com 今迄 asdf の設定を Ansible で管理してあり、長く弄ってきたのが安定したから手順を module にした。publish する積もりは無い。 この module がするのは、 asdf の plugin を入れる 指定した version の實…

正字で組版する技術

遅れながらであるがはてなエンジニア Advent Calendar 2020 13 日目である。 近頃趣味を遂行するのに組版をする機會が度々有りその事を書く。例へば以下を發刊する爲等だ。 c4se.booth.pm 具体的な組版の手順は Adobe InDesign に流し込んで注意深く校訂する…

自宅の通信制限 (?) を Mackerel で可視化する

こんにちは。Mackerel Advent Calendar 2020 11 日目である。 最近は自宅で仕事をしてゐて、自宅の network が相當惡い事に氣附いた。頻繁に通信が途切れる時間帯が在る。特に夕方から夜更けにかけて、まるで通信制限でもかかってゐるかのうやうにずっと遲い…

booklog での ☆ の決め方を變へた

新しい基準 : ☆1 反感を覺えた。 ☆2 よかったと迄は謂へない。 ☆3 個人的にはまぁ中々よかった。 ☆4 可成りよかった。勸められる。 ☆5 特別な思ひ入れが有る。勸められない場合も有る。 ☆5 を新設し、☆2 を ☆2 と ☆3 とに分解した。多くの本は ☆2 か ☆3 に成…

「或羽大學麻田分校紀要 1426 年春」を公開した

c4se.booth.pm 我々は火星、ユーラル、ガルデアを首めとする兩銀河の諸民族の歷史と文化、自然、地理、言語等に就て博物學的に研究してゐます。今囘は yUraru 初代皇帝イリア hAmyurufaria Iria が見習い神官だった頃の物語、ガルデアの「統合」に就いての新…

帝󠄁國火星曆七曜表 1426 年春、夏を販賣開始した

c4se.booth.pm 帝國火星暦の 1426 年春、夏(1 月〜12 月)の七曜表です。地球の暦では 2020 年 11 月 27 日夜〜2021 年 11 月 6 日深夜に當たります。故地日本の四季を思はす美しい絵柄で日々に彩りを與へます。地球暦で御過ごしの方にも便利なやうに、火星暦…

Mackerel の Google Cloud インテグレーションで GKE の node を可視化する

ちょっとした手順。詰り tips。 Mackerel の Google Cloud インテグレーションが公開された。これを使って GKE (Google Kubernetes Engine) の node を可視化してみる。 mackerel.io 趣味で使ってゐる GKE の pod には mackerel-container-agent を含めて、M…

J 言語で UTC 日時と Unix timestamp とを相互變換する

難解なので記録しておく。 現在日時を UTC で得るには、 6!:0 '' 2020 8 12 21 26 14.8005 6!:0 で一つの動詞 (一階の函數) である 6!: Time。引數の '' は出力形式を指定する文字列で、'' を指定した時には特別に vector で日時が返って來る。 現在の Unix …

「或羽大學麻田分校紀要 1425 年冬」を公開した

我々は火星、ユーラル、ガルデアを首めとする兩銀河の諸民族の歷史と文化、自然、地理、言語等に就て博物學的に研究してゐます。今囘は「兩河世界」のあらましを新たに纏め、他に火星帝國のカレンダー、ユーラルの生物相・人類史と神話などに就ての册子を頒布…

JavaScript で、文字列を UTF-8 にした時の byte 數を計算する

Ruby irb> '冬'.bytes.map{ |n| n.to_s(16) } => ["f0", "af", "a0", "9a"] irb> '冬'.bytesize => 4 irb> '羽󠄀'.bytes.map{ |n| n.to_s(16) } => ["e7", "be", "bd", "f3", "a0", "84", "80"] irb> '羽󠄀'.bytesize => 7 冬の正字冬は"\u{2f81a}"で 4 byte、…