Home About
再帰の復習

再帰のコードを書こうと思ったがわからなくなったので、 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
Rhino で console.log() したい

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

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

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

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

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

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

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

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

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

macbook-air-2020-w360

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

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

» Read More
Android Jetpack: RecyclerView を使った一番簡単なリストの改良:二列に表示

いまさらですが Jetpack によるUI構築編、その2。 前回 一番簡単なリストをつくりましたが、それを改良して、二列表示に変えます。

recyclerview-two-columns

» Read More
Android Jetpack: RecyclerView を使った一番簡単なリスト

いまさらですが Jetpack によるUI構築編、その1。 シンプルなリストを RecyclerView を使ってつくります。
これ Create a List with RecyclerView を参考にしました。

recyclerview

» Read More
Chromebook で PyGame 環境をつくって遊ぶ

今、「たのしくまなぶ Python ゲームプログラミング」を読みながら PyGame を試しているのですが、 ちょうどよいタイミングで Chrome OS が 80 にアップデートされて Crostini で Debian 10 Buster が使えるようになったため、 PyGame 環境の構築が簡単になりました。

この本には 環境構築については WindowsとMac用の説明しかないので、Chromebook(OS 80) + Crostini での環境構築方法をメモしておきます。

python-idle-with-shoot-the-fruit

» Read More
ブラウザのテキストエリアで Emacs キーバインド を使いたい

Firefox Quantum がリリースされた結果、 Emacs キーバインド を簡単に実現できる Firemacs が使えなくなって随分時間がたつ。 Firemacs がなくても macOS では、もともと Firefox だろうと Chrome だろうと、ブラウザのテキストエリアで Emacs キーバインド が使えるので、その点ではよいのだが、 普段 ChromeOS と macOS と両方を使うので、うっかり Chromebook (のブラウザのテキストエリア)で、 Ctrl + N を使おうものなら、新規ウインドウが開いて大変なことになる。 たいてい Ctrl + N って連打してしまうから、無駄にウインドウがたくさん開いて、すごくいやな気分になる。

» Read More
ADATA SSD SU650 が作動しない... 安物買いのなんとやら

Ubuntu 18.04 との組み合わせで問題発生。 現象としては、使いはじめてしばらくは問題ないが、大きなファイルの読み書きなどが連続で続くと、ファイルシステムが壊れてしまう。 詳しい理由までは調べていない。 SSDをHDDに変えて、他の条件はすべて同じにすると全く問題が生じないので、原因はSSDにある。 ただし、SU650 という製品が悪いのではなく、購入したこの製品の問題(初期不良ってことになる)かもしれない。 それから Windows10 なら問題がないとか。または、マザーボードとの組み合わせ問題?それから冷却が足りないとか。 でも、もうこのSSDのせいでこれ以上の時間を無駄にしたくないのであきらめることにした。

adata-ssd-2

» Read More
無印のデスクライトから Z light に乗り換え

無印良品 手元をてらすリビングライト が素敵 とか言っていたのですが、結局 Zライトに戻ることになりました。

zlight-zg4000

» Read More
消しゴム付きの S Pen 互換品を入手した話 / raytrektab 標準ペン

数少ない日本の Chromebook の情報源の一つ おふぃすかぶ 氏のページを拝見していたところ、なになに LAMY AL-star の EMR Pen があると。 これが S Pen を代用できるとのことで、そのあたりを調べてみると、AL-star EMR だけでなくいつくも出てくる:

raytrek-pen

» Read More
Uni-ball Signo から Zebra Sarasa Clip + MUJI さらさら描けるゲルインキボールペン への乗り換え顛末・・・からの高級?軸サラサグランド購入顛末まで

途中 LAMMYを使うこともあったものの 基本的に uni-ball Signo を気に入って使い続けてきた。 しかし、もっとたくさんの色を使いたいなどの不満がにわかに高まってきてオルタナティブを探す活動を開始。 その結果、現在のところ、替え芯は無印良品「さらさら描けるゲルインキボールペン」、ペン軸はZEBRAの「サラサクリップ」を使う形で落ち着いてきた。

sarasa-grand-black

» Read More
Node.js での 巨大なエクセルデータ読み込み

前回( Node.js での エクセルデータ読み込み )で、エクセルデータが簡単に扱えると思っていたが、 実践的なデータを使って前のコードで処理したところ、ハングアップしてしまい作動しない. よくコードを見てみると xlsx.utils.sheet_to_json として、エクセルデータ全体を json object に変換している. 推測ではあるがおそらくこれが原因であろう.

» Read More
Moleskine Weekly 2019-2020 ポケットサイズ

2019年は デニムのラージサイズのWeekly Dialy を使ってきましたが、 2020年用には結局ポケットサイズに戻しました.
デニムのカジュアルな感じもよい、 ラージサイズなのでたくさん書き込みができる、など それになりに気に入って使っていたのですが、 使用頻度で言えば併用していた ポケットサイズの moleskine classic notebook が圧倒的でした.

moleskine-classic-notebook-and-diary

» Read More
Node.js での エクセルデータ読み込み

カタログ系組版では、エクセルデータを起点としてカタログを組んでいく仕事があります。 いままではもっぱら Java / Groovy + POI を使って処理してきましたが、 Node.js でエクセルデータをパースできるか調べてみました。

» Read More
Pixelbook Go

Pixelbook Go が登場。

pixelbook-go

» Read More
Node.js と Jimp で画像をクロップする

ちょっとした画像操作に Groovy を使ってきたが、最近 Node.js を使う機会が増えてきたので、 Jimp を使って画像を操作する方法をメモしておきます.

» Read More
再帰を使って木構造をリストに変換する JavaScript

Adobe XD の ドキュメント構造は scenegraph.root をルートノードとした木構造として表現されています。
これらのノードをスクリプトから操作するには、この木構造をたどる必要があります。 いちいちたどるのは面倒なので、木構造からリストに変換することを考えることにします。

» Read More
Excelで 行を一行おきに合計したい、つまり奇数行または偶数行のみの値を足し合わせたい件

この問題をググってみると sumproduct 関数を使え、ということらしい。 あちこち見たのですが、結局一番わかりやすかったのが オフィシャルページの説明 SUMPRODUCT function です。

» Read More
Rhino で Java 側でつくった配列クラスを使う

カスタムオブジェクトを Java側でつくって JavaScript であれこれしたい場合で、 そのカスタムオブジェクトが配列的なクラスの場合 list[0] のようにアクセスしたときに意図した値を返す方法.

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

今更な話題ですが 将来 nashorn (JEP 335: Deprecate the Nashorn JavaScript Engine ) が廃止になるらしい.
nashorn の代わりに Rhino で実行する方法を調査したのでメモします.

» Read More
自分で書いた JavaScript のモジュールを html と node.js の両方から使える形にビルドする

クライアントサイド/サーバサイド どちらからでも使える Javascript モジュールをつくる場合の備忘録。 ここでは、3x3 マトリックスを使って座標を別の座標に写す処理を行うモジュールを例に node.js のプロジェクトを作成してみます。

» Read More
関数型オブジェクト指向プロラミングを JavaScript に翻訳する

入門 Haskell プログラミング」の Section 10 に Haskell で オブジェクト指向的なコード例が出ていた。 興味深い。ただ、Haskell のコードを見てもさっぱり意味がわからないので、JavaScript に変換してみた。 なお、本に出ているコードからは多少変えています。

» Read More
たくさんある SVG ファイルを一括で PNG に置き換える makefile を書いた件

make の wildcard 指定がわかりづらい。

» Read More
Ubuntu Server 18.04LTS と CPU Ryzen 2400G インストール顛末

Ubuntu Server 18.04 LTS のインストールには Ryzen 2400G というか Raven Ridge の ビデオドライバの関係で カーネルオプションとして nomodeset を指定する必要があるようです。 逆にそれさえ指定すれば問題はない。

ryzen

» Read More
無印良品 さらさら描けるボールペン替芯は ZEBRA サラサクリップの替芯と同じ?

基本的に ボールペンは uni-ball Signo を使い続けているのだが、Singoの替芯の色展開が黒・赤・青・ブルーブラックの四色しかない。 他の色を使いたければ、替芯だけでなくペン本体ごと買わないといけない。 そこで色展開が豊富で替芯のバリエーションがあるものを探していたのだが、なかなかよいものがない。

pen-muji-and-sarasa

» Read More
星を SVG で描画したい

star

Small Sketch という Android アプリのアイコンで星型を使いたくなったので、星をSVGで記述する必要が生じた. 星は円周上の5つの点を直線で結ぶとできる図形. 円周上の点の計算といえば三角関数、それから直線の交点の計算、それらの点を結ぶと星のパスが描画できる. これらの計算処理をまとめます.

» Read More
Chromebook Flip C434TA-DSM4T モデル レビュー

ASUS C434TA を米amazonにて入手しました。

chromebook-c434ta-w640

» Read More
Crostini で X11 を使って Linux サーバのGUIアプリを Chromebook のディスプレイに表示して利用

Chromebook で Android Studio が直接使用できるようになってきたのですが、相当のマシンパワーも必要です。 先日の Google I/O 2019 での発表によれば

ということで、これだけのスペックの Chromebook や Chromebox を用意するにはそれなりのお値段になりそうです。

x11-chromebook

» Read More
Windows10 と MS Excel そして WSL(Subsystem for Linux) 再び

以前 Windows10を導入しようとして諦めたそのNUC に再び Windows10 をインストールした。 前回の経験を活かし今回はトラブルなく導入できた。

» Read More
Yahoo オークション用 商品紹介画像のリサイズと JPEG 保存を Photoshop を使ってスクリプトでバッチ処理しようと思いたった

以前ヤフオクは画像が3点くらいしか載せられなかった記憶があるのだが、 久しぶりにヤフオクしてみると 10点まで登録できるようになっていた。 画像点数が増えたのは嬉しいが、用意するときにちょうど良い画像サイズにリサイズして JPEG 保存するという手間も増えてしまった。 ならばスクリプトを使って解決するか...

» Read More
Chromebook Flip C101PA ENG モデル レビュー

以前に C100PA のレビューエントリを書いた。 そのとき C101PA を買いたい的なことを書いていたが、とうとう C101PA の英語キーボードモデル(C101PA-ENG)を入手できた。長かった。

c101-and-coffee-cup

» Read More
Chromebook Flip C101PA と Crostini で emacs 日本語入力環境その2

Chromebook Flip C101PA と Crostini で emacs 日本語入力環境を整える で 日本語入力環境ができたと思っていたが、文字エンコーディングの問題が残っていた。 前回の設定のまま emacs で入力したファイルを cat すると日本語部分が文字化けしてしまうのだ。 どうやら、現状の設定では emacs の文字エンコーディングが UTF-8 になっていないようだ。

結論としては次のような init.el に落ち着いた。

» Read More
Chromebook Flip C101PA と Crostini で emacs 日本語入力環境を整える

Chromebook Flip C101PA と Crostini では日本語入力で躓いてしまったのだが、 その後、いろいろ試してみると思いのほか対応状況がよい。 これなら、日常活動の多くを C101PA で済ますことができるのではないかと思い始めた。

» Read More
iPhone6 バッテリ交換顛末、タブレットを iPad から Chromebook へ変更

家人の iPhone6 のバッテリーがついにお亡くなりになった。 ここ数日は、充電してもいきなり 0% から 100%になるような有様で、いよいよかとは思っていた。 突然、電源ケーブルをつないでいても起動すらしなくなってしまった。

» Read More
無印良品 手元をてらすリビングライト が素敵

デスクライトと言えば Zライトでしょ、と思っているのですが、 諸事情により仕事用の机を小さいものに変えたことからライトもそれにあわせて小さいものを探していました。 いろいろ候補はあったのですが、結局 無印のこのライトにしました。

muji-desk-light

» Read More
Windows10 と WSL(Subsystem for Linux)

前のエントリーで Chromebook + crostini を試したとき vim, emacs 用の日本語入力環境を簡単には用意できなかった。 そこで、 Windows10 + Subsystem for Linux ならどうなのかと思い試してみました。 結論から言うと 難しい設定などは一切なしに vim で問題なく日本語入力ができました。 emacs-nox の方はデフォルトの状態では日本語入力問題あるみたいです。 Windows10 なら Chromebook とは違い ATOK も使えるし、なかなか素敵なのではないかと。

» Read More
Chromebook Flip C101PA と Crostini

C101PA を使う機会ができたので、前から試したかった crostini を導入してみました。 CPU が ARM 系で Intel 系ではないので、Javaが動かない(要出典)のかと思っていましたが、普通に gradle で java プロジェクトをビルドすることができました。 備忘録として Hello, World! するところまでメモしておきます。

» Read More
ExtendScript を TypeScript と VisualStudioCode を使って記述する

ExtendScript は今風の JavaScript 記述方法……いわゆる ES6 などが使えない. その代わりに古い JavaScript の記述方法 ES3 などと呼ばれている で書かなければいけない. これはプログラマーにとって、苦痛なだけでなく、生産性も低く、コード品質の維持が難しい. しかし、TypeScript は JavaScript へコンパイルするときにオプションとして --target ES3 を使うことができる. これを使えば、ExtendScript を TypeScript で記述できることになる。

» Read More
クラウドが普通の時代になるのを実感した

Conoha の VPS 関連の整理整頓をしなくちゃとずっと年始から気になったいて、ようやく今日着手できた。 VPSの整理となると Let's Encrypt の再設定などがあり気が重い。

» Read More
音楽をいつも聴いている母親宅に amazon echo を導入

母親はいまだに音楽はCDで聴いている。 クラウドで音楽聴き放題の時代なんだといっても全く理解できない。 でも、声で呼びかけて操作できる amazon echo を見せたら興味を示したので、田舎の実家に導入してみた。

» Read More
Moleskine Weekly 2019 限定版デニムを入手 ラベルを剥がす

最近の2年間は Moleskin Weekly のポケットサイズを使ってきました。
昨年は実は Moleskin Daily 手帳ポケットサイズを試したのですが、厚みがありすぎて持ち歩くのが億劫になり結局あまり使わず。 期の途中で急いでまだ在庫があった Weekly 版を購入することになりました。 今年もポケットサイズの Weekly を使うつもりだったのですが、Amazon で デニム生地の限定エディションがあったのでこれを試すことにしました。 サイズはポケットサイズではなく、ラージです。

moleskine-denim-fix

» Read More
Apache Batik SVG Toolkit による SVG から PNG への変換

単に SVG を PNG に変換したいだけならば、 たとえば inkscape コマンドがあれば簡単にできる。 ただ、今回は諸事情により 画像変換だけでなく、さまざまな加工処理を連続して行いたかったので、 Groovy でそれらをまとめて処理することにした。

» Read More
Word2Vec, 単語ベクトルを2次元でマッピング

Javaで学ぶ自然言語処理と機械学習」という本で紹介されていた Wikipedia でトレーニング済みの単語分散表現データが便利。 このデータの活用例として日本のブランドのマップを作成してみた。

word2vec-map

» Read More
モバイルモニタ と NUC を USB Type-C ケーブル一本でつないでデスク周りをすっきりさせた話

一ヶ月ほど前に アイ・オー・データの モバイルモニタ(LCD-MF161XP) を導入しました。 モバイルモニタだがまったくモバイルではなく仕事場で使っているだけです。

nuc-with-usb-c-alt-mode

» Read More
MacBook 12inch 2017 を入手した話

今更と言うべきか、とうとうと言うべきか、MacBook 12inch 2017 を手に入れました。

macbook-2017

» Read More
MapDB に PDF を保存する、そのために PDFデータを Base64 文字列に encode したり decode したりの話

別に PDF データに限らず Binaryデータを Base64 で文字列にして保存するという話。 時々必要になるがその度にあれどうするんだっけ、となるのでここにまとめておきます。 Groovy の LeftShift Operator (<<) を IO 系のコードで使うと直感的にわかりやす過ぎなのでおすすめです。

» Read More
MapDB: Javaアプリケーションでちょっとしたデータを保存しておきたい場合に便利

アプリケーションでデータをキャッシュして再利用したい。 たとえば、 Mongo などを使えばそれを実現できるけれど、 UNIXのDBMのような、キーとバリューのセットを保存しておきたいだけなので、 もっと簡単に済ませたい。

» Read More
Ubuntu Server に ssh でログインしたら DISPLAY 変数を自動セットする話

諸事情により Ubuntu Server 18.04 上の Android Studio を MacBook 側にX11(XQuartz) を使って表示させて使っているのだが、そのとき Ubuntu Server 上で毎回 DISPLAY 変数を設定するのが面倒だったので、自動でセットするようにした話。

» Read More
NUC NUC5I5RYH Windows10 のスリープ問題がついに解決した話

NUC NUC5I5RYH に Windows10 を入れて使っているのだが、長年の悩みは スリープ中に何もしていないのに、起動してしまうこと。 しかしついに解決しました。

» Read More