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

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

Thinkpad X1 nano

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

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

» Read More
Golang で POST する(備忘録)

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

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

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

こんにちは世界

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

settings_icon

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

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

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

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

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

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

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

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

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

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

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

» Read More
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 を常用する環境つくることできるのでは? と思いリサーチを始めた。

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

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

» Read More
オブジェクト指向的な JavaScript

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

» Read More
Chromebook Spin 13 レビュー

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

chromebook-spin-13-w640

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

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

» Read More
V Corn をテスト導入

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

v-corn

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

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

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

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

» Read More
Chromebook Spin 512 を導入

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

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

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

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

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

» Read More
VSCode と ExtendScript Debugger の使い方 覚書

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

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

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

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

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

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

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

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

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

» Read More
再帰の復習

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

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

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

» Read More
Elm, Hello World!

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

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

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

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

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

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

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

lamy-1

» Read More
新しいサラサグランド 2020

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

sarasa-grand-2020

» Read More
帰ってきた iPhone SE (2016)

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

iphone-se-2016

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

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

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

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

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

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

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

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

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

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

» Read More
Rhino で console.log() したい

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

» Read More
java.util.Timer を使って、連続で発生するイベントが小休止のときを見計らって処理する

手書きのタブレット向けアプリで、ペンの入力が連続して発生するのだが、そのたびに保存処理を行うと作動が重くなる。 そこで、ちょっと入力が止んだそのスキを見計らって、保存処理を実行するようにしたい。 そのための java.util.Timer と TimerTask の使い方のメモ。
例によってコードはすべて Groovy です。

» Read More
Node.js で XML文書をパース

大量のXML文書から InDesign 文書を生成する必要が生じたので、Node.js での XMLパース方法をメモ。

» Read More
MacBook Air 2020 ついにシザー式キーボードが搭載

シザー式キーボードが MacBook Air に来たら買おうと決めていたので、今回は発売されてすぐにオーダーしました。 まだ数日しか使用していませんが、このキーボードは(今のところ)気に入っています。

macbook-air-2020-w360

» Read More
Node.js で 指定されたディレクトリ以下にある InDesign ファイルを サブディレクトリを含めてすべて取得

別に対象が InDesign ファイルに限った話ではないが、再帰的にディレクトリを検索して、すべての InDesign ファイルリストをつくる、 という必要が生じたので備忘録として書き残します. 基本的には 再帰を使って木構造をリストに変換する JavaScript で書いたのと同じです.

» Read More