Home About
Alacritty と Solaraized Color と 行間調整

以前から使いたいと思っていた 高速なターミナル Alacritty を使いはじめました。 Ubuntu 標準のターミナルは、ウインドウのタイトルバーの高さが無駄に大きく気に入らない。 Alacritty はそこが適度に狭く、僅かな差ではありますが、標準のそれよりも作業用の領域を広く使うことができます。 タイトルバーに凹凸がなく単色になっているのも気に入っています。 タブ機能はないと思いますが、代わりに screen を使うので問題ありません。 導入設定を備忘用に記録しておきます。

alacritty-on-ubuntu-desktop

Google Spreadsheet で 空の行を詰めて別の列に表示する方法

MS Excel で 空の行を詰めて別の列に表示する方法 で filter 関数が素敵というエントリーを書いたところですが、 Google Spreadsheet でも普通に filter 関数使えました。 filter 関数を使いたいだけで、業務などで MS Excel 縛りがない場合は、 Google Spreadsheet を使えばよい。

filter-function

MS Excel で 空の行を詰めて別の列に表示する方法

たとえばB列にポケモンの名前が入っているとする。 ただし、途中に空白行があるので、そこは詰めてD列に表示するにはどうしたらよいか?という問題。

ポケモン名リスト1

この問題の回答を検索してみるとこれらしい。

配列数式と index, small, row などの関数を組み合わせることで実現できるらしい。 なるほどわからん。

Golang, 指定のディレクトリ内のファイルまたはディレクトリを列挙する

Golang でそれをする方法の備忘録。

Thinkpad X1 Nano に Ubuntu 21.04 Desktop をインストール

Thinkpad X1 Nano に Ubuntu 21.04 Desktop をインストールしたので、取り急ぎレビューです。 まだ、数日前に入手してUbuntuをインストール、その後、コードを少し書いた程度なので、 その点はご了承ください。

Thinkpad X1 nano

Golang で JSON を Marshal, Unmarshal する(備忘録)

Golang での基本の JSON 処理をメモ。

Golang で POST する(備忘録)

Golang を使ってウェブサーバに POST する最小限のサンプルをつくる。 POSTを受けるサーバは Micronaut で用意する。

Apache FOP で日本語フォントを使用した fo を pdf に変換する

fop コマンドが既にあるとして、fo から pdf への変換は、 fop src.fo result.pdf するだけの話。 詳細は このページ を参照のこと。
しかし日本語文字列を含んだ fo を処理すると、日本語部分が意図通りには出力されない。 これを解消してみます。

こんにちは世界

Part 2: テスト用に json を POST して json を返す ウェブサービスをつくる

デバッグのためのテストとして json を POST して json を返すウェブサービスを Micronaut でつくる話。

Part 1: テスト用に json を返す ウェブサービスをつくる

デバッグのためのテストとして json を返すウェブサービスを Micronaut でつくる話。

goldmark を使って markdown を HTMLに変換する mymark コマンドをつくった

hugo という静的サイトジェネレータを使いはじめて、 急にこのブログサイトのオレオレ静的サイトジェネレータがみすぼらしく感じはじめた。 ならば、このブログサイトも hugo で構築すればいいじゃないか、と思ったのだが、 hugo 用の気に入ったテーマが見つからない。

hugo で使うコンテンツは markdown で記述するのだが、それは goldmark という golang 製の markdown パーサーが使われているという。 ならば、変換部分だけは goldmark を使うことにして、残りのサイト構築部分は既存のものを流用しつつ 良い感じにすればいいんじゃないの?ということで、オレオレサイトジェネレータの刷新がはじまった。

その顛末は長いので割愛するが、肝心の markdown を HTML に変換する goldmark がすばらしく便利なので、 そこだけ紹介します。

Wnn7egg から tamago-tsunagi に変更, Emacs 26.3 日本語入力

Wnn8 server + Wnn7egg + Emacs の組合わせで日本語入力しているが、なんか変換結果を学習してくれないのです。 単に自分が設定を間違えているだけだと思う。 しかし、少し調べたくらいでは解決方法がわからなかったので、 試しに Wnn7egg に代えて tamago-tsunagi を使うことにした。 インストールしてみると、問題なく使える。目的の変換結果の学習もしてくれる。 とりあえず当初の目的は果たしたので、しばらくは tamago-tsunagi を使い様子をみよう。

ついに Parallels Desktop 16 が M1 Mac に正式対応したので試した

とは言っても、M1 Mac ではなく、手元にある Intel Macbook Air にまずはお試しでインストール。

Parallels Desktop 16 for Mac のトライアルをダウンロードしようとすると、 ゴールデンウィーク向けのプロモーションとかで 25% OFF クーポンのオファーがあり、 もうこれ買うしかないのか、とか思いつつも、まずはトライアル。

インストールは簡単で、Ubuntu Desktop のインストールも、iso イメージファイルを指定するだけで あとはいつも通りです。 ただし、Parallels のアカウントを作成しないと試すことはできません。 これは少し煩わしく感じますが仕方ありません。

GA-F2A88XN-WIFI にインストールした Ubutnu 20.04 Desktop の bluetooth (7260HMW) がうまく作動しない問題の解決

こんな古いマザーボードを今の使っている人はほとんどいないと思うが、とりえあず備忘録。

歯車っぽい設定アイコン画像をつくる / 円周上の点を計算して図形を描画

歯車風の見た目の 設定アイコン をSVGで描画しようとおもった。 歯車の図形は円周上の点を計算してそれをつなぐとうまく描画できそうなので、 円周上の点の計算とそれらを組み合わせて図形をSVG描画する方法についてコードをまとめておきます。

settings_icon

Amazon Music から YouTube Music (Premium) への乗り換え検討中

もう数年前から音楽の聴き放題ストリーミングサービスは Amazon Music 一本で來た。 もともとは、聴きたい曲で、Amazon Music で聴けない曲が YouTube Music にあったので、フリートライアルをはじめたのだが YouTube Music がすばらしすぎるので乗り換えるかも。

NUC に FreeBSD 12.2 をインストールして それを Wnn8 サーバにした

少し前に Wnn7 + VirtualBox + FreeBSD 10.4 の環境をつくった。 しかし良く調べてみると Wnn8 を使えば、あんな苦労はしないで、最新の FreeBSD 12.2 に普通インストールできるらしい。 しかも Wnn8 で wnn7egg がそのまま使える。さらに Wnn8 は今でも購入することができる。

ならばということで、NUC ( NUC6CAYH ) を用意して Wnn8 サーバをつくることにする。 今回はその作業の覚え書きです。

Android Studio を使わない ライブラリプロジェクトで Robolectric テストをする一番簡単なプロジェクト例

諸事情により Android Studio を使わないでライブラリはつくるようにしています。 その場合の Junit4 と Robolectric を使った 一番簡単なテストの書き方を覚え書きとしてここに残します。

org.json.JSONObject で JSON データを読むときに欠落しているパラメータを上手に扱いたい

JSONは柔軟にデータを表現できて便利だが、 org.json.JSONObject を使ってプログラムでそれを読むときに、 プログラムからみて想定外のデータ構造(たとえば、キー name に対する値があるはずだが、無い場合もある、のような場合)に 例外が発生してプログラムがそこでストップすることになる。 それは困るので、例外をキャッチして、デフォルト値を代わりに適用するなどというコードを書くわけだが、 そのようなコードは非常に読みづらい。これをなんとかしてスマートに書く方法はないのか? ということであれこれ試行錯誤した結果をここに書き残す。

Wnn7 の FreeBSD 用アップデートを適用する

Wnn7 を macOS Catalina + emacs 26.3 nox で使う, VirtualBox + FreeBSD 10.4 を利用 では 製品版CDROM の内容でインストールを進めていましたが、 こちらから FreeBSD アップデートパッケージ が配布されていることが判明。 なるべく最新のものを使いたいので、このアップデートを適用してみます。

Wnn7 を macOS Catalina + emacs 26.3 nox で使う, VirtualBox + FreeBSD 10.4 を利用

随分前には ThinkPad X230 + Ubuntu + VirtualBox + Vine Linux + Wnn7 の組合わせで、運用していたこともあったが Wnn7 のためだけに VirtualBox をバックグラウンドで起動しておくのが負担になっていつしか使わなくなってしまっていた。

しかし、M1 chip 搭載の Mac が登場したことで、バッテリー効率が飛躍的に良くなったらしい。 それならば M1 MacBook Air などで、Wnn7 を常用する環境つくることできるのでは? と思いリサーチを始めた。

VirtualBox のゲストOSイメージのファイルサイズを減らす

検索すれば Windows がゲストOSの場合などの説明はあるのですが、 ゲストOSが macOS の場合の説明を見つけるのに苦労したので、ここに備忘用に書きます。

オブジェクト指向的な JavaScript

先日 closure を使った オブジェクト指向的なコードを JavaScript で書くというデモをする機会があり、これはその覚書です。

Chromebook Spin 13 レビュー

アメリカアマゾンから購入したものの到着してみたら外箱がぶっ壊れていて……という 幸先が悪かった Spin 13 ですが、初期不良の問題(キーボードの不具合)が解消してからは安定して利用できています。 しばらくは、また不具合が再発しやしないかとおっかなびっくり使っていたのですが、どうやら大丈夫のようです。

chromebook-spin-13-w640

Macの標準の日本語入力をやめて Google 日本語入力を試しはじめる

Macの日本語入力といえば「ことえり」だと思っていたのですが、Catalina から「日本語入力プログラム」と呼称されているようですね。趣がない。 その「日本語入力プログラム」が最近とても気に入らない。自分が期待した変換がこない感がすごい。理由はわからない。 そこで、Catalinaを機に使わなくなっていたATOKに戻ろうと思ったが、Macユーザはもはやサブスクリプションしか選択がなくなっていた。 毎日使う日本語入力なので、月額330円はアリといえばアリなのだが、どうしようかと思って調べてみると、 Macでも Google 日本語入力が使えることを知る。そうなんだ。 それなら、ATOKに行く前に先に Google 日本語入力を試すことにする。

V Corn をテスト導入

ここしばらくはずっと Sarasa を使ってきましたが、偶然 V Corn を使う機会に恵まれ、これを試験的に使いはじめました。

v-corn

Extendscript で 指定したフォルダ以下のフォルダ全部を探すには その2 (もっと単純に)

Extendscript で 指定したフォルダ以下のフォルダ全部を探すには その1 よりもっとシンプルに書く方法。 フォルダを順に辿りながら、フォルダを見つけたら callback する方式。

ExtendScript で 指定したフォルダ以下のフォルダ全部を探すには その1

指定したフォルダ以下のサブフォルダ、サブサブフォルダ...を含めてすべてのフォルダを探す、というコードを書いてみた。 ExtendScript では each や map, reduce などが使えないので、実装は少し面倒でした。

Chromebook Spin 512 を導入

数カ月前から Acer の Chromebook Spin 512 を購入しようかと悩んで今回のアマゾンプライムデーでようやく踏ん切りがついたというか。 とうとう入手しました。 ずっと日常的にペン入力できる Chromebook を探していて、Spin 13 が手元にあるのですが、あれは日常的にペン入力するには筐体が少しばかり巨大すぎました。 Android Studio 用の開発マシンとしては申し分ないのですが。

Chromebook で AsciiDoc をビルドする環境をつくる

執筆用のChromebookにAsciiDocでコンテンツをビルドする環境をつくったときの備忘録です。 HTMLに変換するだけならわけないのですが、PDFに変換しようとすると日本語が文字化けしてしまう問題がありました。 ググってもかなり苦労したのと、Chromebook の Linux(Crostini) 環境での構築説明が見つからなかったのでメモを残します。 ChromeOS バージョンは Version 86.0.4240.77 (Official Build) (64-bit) です。

macOS のターミナルでよく使う open コマンドを Chromebook の Terminal でも使いたい

macOS のターミナルでファイルの内容を閲覧するときに使う open コマンド。 これを Chromebook の Linux でも使うには、 open コマンドの代わりに xdg-open を使えばOK! と思っていたら、そうでもなかった。

VSCode と ExtendScript Debugger の使い方 覚書

VSCode での ExtendScript 実行は、 Adobe Script Runner を使えば簡単ですが、 これで実行したときにエラーがあってもその内容が表示されません。 これでは開発には困るので、 代わりに使うのが ExtendScript Debugger です。

回線を ADSL から Rakuten UN-LIMIT に乗り換え(暫定)

ADSLサービスがそろそろ終わりを迎えるので、いよいよ何かに乗り換えなければならない。 MVNOのSIM と ATERM の据え置きルータ(PA-HT100LN)を使った事前の調査で ここの環境では LTE の方が ADSL より速いことはわかっていた。 今年のはじめ頃には Fuji Wifi あたりに乗り換えて、しばらく様子を見ようなどと考えていたが、 コロナ禍により Fuji Wifi は契約できず。契約できるようになった頃にはお得なキャンペーンは終了してしまっていた。

SVGコマンドを android.graphics.Path に変換

以前に書いた Kotlin による簡易SVG parser の実装実験 を使って自前のAndroidアプリのアイコン描画などを行っていたのだが、 そんなの標準に提供されているライブラリで対処できるだろう、と思って調べたところ対処できたのでメモしておきます。

Java で JSON を diff したい → JSONassert が便利

Java を使って json データの差分を調べる必要が生じたので、便利なツールを探した。 Stackoverflow に JSONassert がよい、的な情報があったので、使ってみました。 とても便利だったので、紹介します。

Groovy で collectWithIndex 的な機能を実現する

Groovy で java.util.Collection コレクション に対するメソッドとして eacheachWithIndex があるので、 同じように collect にも collectWithIndex があるのかと思ったらない。
そこでそれを実現する方法を考えてみた。

再帰の復習

再帰のコードを書こうと思ったがわからなくなったので、 Groovy で復習した。

nginxで複数ドメイン運用と Let's encrypt 引越し&設定覚書

2つのVPSを使って、それぞれに一つのドメインをSSL/TLSサーバ証明書を入れて運用していたが、 諸事情により、これを一つにまとめたのでその時の手順の覚書です。 すごく面倒になると思って、先延ばしにしてきましたが、やってみたら簡単でした。

Elm, Hello World!

Elm で Hello World! したので、備忘録としてブログへ書き残しておきます.

Chromebook Spin 13 購入顛末 本当は怖い 米アマゾンからの個人輸入

Chromebook 単体 で Androidアプリ開発が完結できる ことがわかったので、 Android Studio が作動するスペックのChromebook を導入することにしました。 いくつか候補はありますが、 お絵描き系アプリをつくっているので、 スタイラス対応で、海外では評判が高いらしい Acer Chromebook Spin 13 にしました。

Chromebook に Androidアプリをサイドロードする、非デベロッパーモード

Chromebook に Android アプリを入れるには Google Play Store 経由が普通ですが、 開発中のアプリを ストア経由でなく直接 adb でインストールできないものかと思って 調べたところ普通にできることが判明。 今まで、Chromebook 自体をデベロッパーモードに変えないとそういうことができないと思っていたので これはうれしい。

LAMY ローラーボール再び、ただし中身は サラサ というか MUJIのサラサ互換替え芯

uni-ball シグノ vs LAMY safari に書いた通り、かつては、LAMYのローラーボールに LM-63 のアダプタを使って 替え芯は スタイルフィット ( UMR-109 ) または ZEBRA SARASA ( NJK-0.3 ) を使っていたのだが、 書き味がイマイチなのと、インク容量が少なくすぐなくなってしまう上に、価格が割り高なので、使うのをやめてしまっていた。

lamy-1

新しいサラサグランド 2020

新しくなった金属軸のサラサグランドを買いました(ダークグレー)。 古いサラサグランドを持っているのですが(ブラック)、 次第に気に入って頻繁に使うようになったので、もう一つ購入することに。

sarasa-grand-2020

帰ってきた iPhone SE (2016)

世間では iPhone SE 2020 が先月発売されたばかりですが、 iPhone SE (2016) のバッテリーを交換して使いはじめました。

iphone-se-2016

Rhino で js を実行中にファイルにログを書き出したい

Java から evaluateString する形で javascript コードを実行する場合に logger.log() で指定したファイルにログを書き出したい、という場合の解決方法.

Rhino で実行する javascript をコンパイルしてから使う

いままで Javaから javascript を実行するのに、 evaluateString ばかり使っていたが、事前にこれをコンパイルして使うことができるらしいので、試してみた。

改良版) Rhino を使って Java から JavaScript を実行する

Rhino を使って Java から JavaScript を実行する から、さらにあれこれ試していて多少進捗があったので、 現在までに得た見地をまとめます。

Mac の sed を GNU の sed に入れ替えよう

MacBook Air 2020 へ作業環境を移行しつつあるのだが、sed で躓いてしまった。 なんか作動がいつもと違うのだが・・・と思ったら Mac の sed と Linux の sed は振る舞いが違うのだった。 古い Mac では、GNU sed に入れ替えて使っていたのだがそんなことはすっかり忘れていた。

macOS Catalina に emacs をソースからインストール

Mac は Catalina から emacs がインストールされなくなった。 普通は homebrew などからインストールすればよい話だと思うが、 emacs のためだけに homebrew を入れるのもいやだったので、 今回、ソースからインストールしてみた。 特に難しいことはないのだが、備忘録としてシェアします。

Rhino で console.log() したい

Java から evaluateString する形で javascript コードを実行する場合に Node.js のように console.log() したい、という場合の解決方法.