背景
こんにちは。 かりんとうマニア(@karintozuki)です。
ロックバンド、ハヌマーンをご存知でしょうか。
もしハヌマーンを知らないなら、この記事を読むよりもハヌマーンの曲をいくつか聴いた方が有意義ですので聴いてください。
さて、ハヌマーン、格好いいですよね。サウンドもともかく彼らの魅力の一つが、なんとも言えない世界観の歌詞だと思います。
その歌詞を使ったプログラミング言語、ハヌマーン言語を作ってみました。
こんにちは。 かりんとうマニア(@karintozuki)です。
ロックバンド、ハヌマーンをご存知でしょうか。
もしハヌマーンを知らないなら、この記事を読むよりもハヌマーンの曲をいくつか聴いた方が有意義ですので聴いてください。
さて、ハヌマーン、格好いいですよね。サウンドもともかく彼らの魅力の一つが、なんとも言えない世界観の歌詞だと思います。
その歌詞を使ったプログラミング言語、ハヌマーン言語を作ってみました。
少し前、ふざけ半分で作ったBase8192というエンコーディングがあります。こんな感じです。
入力: What is base8192?
Base8192: 卶晡啂幩唲幢吗慥冃弹儣洀等
Base64: V2hhdCBpcyBiYXNlODE5Mj8=
Base8192は漢字を利用することで、Base64と比較して文字数(≠バイト数)を抑えることができます。上記の例では、Base64が24文字必要なのに対し、Base8192はわずか13文字で済みます。
仕組みに興味がある方は、GitHubのリポジトリのREADMEに詳細が書いてあります。
https://github.com/karintomania/Base8192
こいつをとりあえず実装して期待通りに動くことは確認したのですが、ふと思いました。ユーザーが入力したテキスト以外もエンコードしてみたいと。
こんにちは。 かりんとうマニア(@karintozuki)です。
どうも、業務ではPHPしか触らないPHPer、かりんとうです。
この記事ではPHPerが低レベル言語zigを勉強してみて何をどう学んだかなどを紹介していきます。
詳しい言語の紹介というよりは個人の感想・レポみたいな感じで軽く読んでください。
こんにちは。 かりんとうマニア(@karintozuki)です。
私が初めてQuineについてのWikipedia記事を読んだとき10分くらい悩んだ末、何もわからん!と諦めた記憶があります。今思えば、当時はJavaでプログラミングをしていて、JavaはボイラープレートがあるせいでQuineに向いてない言語だったのが原因かもしれません。
こんにちは。 かりんとうマニア(@karintozuki)です。
皆さん、プロンプトはご存知でしょうか?
プロンプトとはターミナルを開いたときに左側に出るユーザ名とかマシン名を表示しているあれです。
1 | karinto@macbook:~$ |
こんにちは。 かりんとうマニア(@karintozuki)です。
PDF関連の処理をたまにするんですが、オンラインの知らないサービスにファイルをアップロード・ダウンロードするのはセキュリティ的に少し怖いですよね。
今回はコマンドラインから起動できてオフラインで使えるPDFコマンドを紹介します。
こんにちは。 かりんとうマニア(@karintozuki)です。
つよつよエンジニアのあるあるとして公式ドキュメント読めと言うのがあります。
私も読むようにしていますが、公式ドキュメントを読み始めたときはどのように読んでいいかわからず苦戦していました。
読めないから読まない、読まないからいつまで経っても読めるようにならない、という悪循環ですね。
なので、この記事では私が公式ドキュメントを読んでいるときに考えていることを言語化してみます。
こんにちは。 かりんとうマニア(@karintozuki)です。
この記事にたどり着いた人はGhosttyに興味がある、これから使い始めたいという人が多いと思うので、まずは言わせてください。
Ghostty最高です。
まえがきはこのくらいにして、解説を書いていきます。
こんにちは。 かりんとうマニア(@karintozuki)です。
みなさんが働いているプロジェクトで、プロジェクトやサービス固有のDSL(ドメイン固有言語)を使うことはよくありますよね。
例えば、ログ解析ツールなどで検索する際に、そのサービスが検索用のDSL、クエリ言語を提供している、というのはよくある例だと思います。
私の前職ではSumo Logic、現職ではOpenSearchとBigQueryをログ管理に使用しているのですが、どちらも検索のためにDSLが提供されています。
これらのツールでほしいデータを検索するために、DSLを覚える必要がありますが、正直、めんどくさいですよね。
全部SQLで統一してくれればいいのに。。。
というわけでAIにお願いしてみました。