新しくなった金属軸のサラサグランドを買いました(ダークグレー)。 古いサラサグランドを持っているのですが(ブラック)、 次第に気に入って頻繁に使うようになったので、もう一つ購入することに。
Java から evaluateString する形で javascript コードを実行する場合に logger.log() で指定したファイルにログを書き出したい、という場合の解決方法.
» Read Moreいままで Javaから javascript を実行するのに、 evaluateString ばかり使っていたが、事前にこれをコンパイルして使うことができるらしいので、試してみた。
» Read MoreRhino を使って Java から JavaScript を実行する から、さらにあれこれ試していて多少進捗があったので、 現在までに得た見地をまとめます。
» Read MoreMacBook Air 2020 へ作業環境を移行しつつあるのだが、sed で躓いてしまった。 なんか作動がいつもと違うのだが・・・と思ったら Mac の sed と Linux の sed は振る舞いが違うのだった。 古い Mac では、GNU sed に入れ替えて使っていたのだがそんなことはすっかり忘れていた。
» Read MoreJava から evaluateString する形で javascript コードを実行する場合に Node.js のように console.log() したい、という場合の解決方法.
» Read MoreMac は Catalina から emacs がインストールされなくなった。 普通は homebrew などからインストールすればよい話だと思うが、 emacs のためだけに homebrew を入れるのもいやだったので、 今回、ソースからインストールしてみた。 特に難しいことはないのだが、備忘録としてシェアします。
» Read More手書きのタブレット向けアプリで、ペンの入力が連続して発生するのだが、そのたびに保存処理を行うと作動が重くなる。
そこで、ちょっと入力が止んだそのスキを見計らって、保存処理を実行するようにしたい。
そのための java.util.Timer と TimerTask の使い方のメモ。
例によってコードはすべて Groovy です。
大量のXML文書から InDesign 文書を生成する必要が生じたので、Node.js での XMLパース方法をメモ。
» Read Moreシザー式キーボードが MacBook Air に来たら買おうと決めていたので、今回は発売されてすぐにオーダーしました。 まだ数日しか使用していませんが、このキーボードは(今のところ)気に入っています。
別に対象が InDesign ファイルに限った話ではないが、再帰的にディレクトリを検索して、すべての InDesign ファイルリストをつくる、 という必要が生じたので備忘録として書き残します. 基本的には 再帰を使って木構造をリストに変換する JavaScript で書いたのと同じです.
» Read Moreいまさらですが Jetpack によるUI構築編、その1。
シンプルなリストを RecyclerView を使ってつくります。
これ Create a List with RecyclerView を参考にしました。
今、「たのしくまなぶ Python ゲームプログラミング」を読みながら PyGame を試しているのですが、 ちょうどよいタイミングで Chrome OS が 80 にアップデートされて Crostini で Debian 10 Buster が使えるようになったため、 PyGame 環境の構築が簡単になりました。
この本には 環境構築については WindowsとMac用の説明しかないので、Chromebook(OS 80) + Crostini での環境構築方法をメモしておきます。
Firefox Quantum がリリースされた結果、 Emacs キーバインド を簡単に実現できる Firemacs が使えなくなって随分時間がたつ。 Firemacs がなくても macOS では、もともと Firefox だろうと Chrome だろうと、ブラウザのテキストエリアで Emacs キーバインド が使えるので、その点ではよいのだが、 普段 ChromeOS と macOS と両方を使うので、うっかり Chromebook (のブラウザのテキストエリア)で、 Ctrl + N を使おうものなら、新規ウインドウが開いて大変なことになる。 たいてい Ctrl + N って連打してしまうから、無駄にウインドウがたくさん開いて、すごくいやな気分になる。
» Read MoreUbuntu 18.04 との組み合わせで問題発生。 現象としては、使いはじめてしばらくは問題ないが、大きなファイルの読み書きなどが連続で続くと、ファイルシステムが壊れてしまう。 詳しい理由までは調べていない。 SSDをHDDに変えて、他の条件はすべて同じにすると全く問題が生じないので、原因はSSDにある。 ただし、SU650 という製品が悪いのではなく、購入したこの製品の問題(初期不良ってことになる)かもしれない。 それから Windows10 なら問題がないとか。または、マザーボードとの組み合わせ問題?それから冷却が足りないとか。 でも、もうこのSSDのせいでこれ以上の時間を無駄にしたくないのであきらめることにした。
数少ない日本の Chromebook の情報源の一つ おふぃすかぶ 氏のページを拝見していたところ、なになに LAMY AL-star の EMR Pen があると。 これが S Pen を代用できるとのことで、そのあたりを調べてみると、AL-star EMR だけでなくいつくも出てくる:
途中 LAMMYを使うこともあったものの 基本的に uni-ball Signo を気に入って使い続けてきた。 しかし、もっとたくさんの色を使いたいなどの不満がにわかに高まってきてオルタナティブを探す活動を開始。 その結果、現在のところ、替え芯は無印良品「さらさら描けるゲルインキボールペン」、ペン軸はZEBRAの「サラサクリップ」を使う形で落ち着いてきた。
前回( Node.js での エクセルデータ読み込み )で、エクセルデータが簡単に扱えると思っていたが、 実践的なデータを使って前のコードで処理したところ、ハングアップしてしまい作動しない. よくコードを見てみると xlsx.utils.sheet_to_json として、エクセルデータ全体を json object に変換している. 推測ではあるがおそらくこれが原因であろう.
» Read More2019年は デニムのラージサイズのWeekly Dialy を使ってきましたが、
2020年用には結局ポケットサイズに戻しました.
デニムのカジュアルな感じもよい、
ラージサイズなのでたくさん書き込みができる、など
それになりに気に入って使っていたのですが、
使用頻度で言えば併用していた ポケットサイズの moleskine classic notebook が圧倒的でした.
カタログ系組版では、エクセルデータを起点としてカタログを組んでいく仕事があります。 いままではもっぱら Java / Groovy + POI を使って処理してきましたが、 Node.js でエクセルデータをパースできるか調べてみました。
» Read MoreAdobe XD の ドキュメント構造は scenegraph.root をルートノードとした木構造として表現されています。
これらのノードをスクリプトから操作するには、この木構造をたどる必要があります。
いちいちたどるのは面倒なので、木構造からリストに変換することを考えることにします。
この問題をググってみると sumproduct 関数を使え、ということらしい。 あちこち見たのですが、結局一番わかりやすかったのが オフィシャルページの説明 SUMPRODUCT function です。
» Read Moreカスタムオブジェクトを Java側でつくって JavaScript であれこれしたい場合で、 そのカスタムオブジェクトが配列的なクラスの場合 list[0] のようにアクセスしたときに意図した値を返す方法.
» Read More今更な話題ですが 将来 nashorn (JEP 335: Deprecate the Nashorn JavaScript Engine ) が廃止になるらしい.
nashorn の代わりに Rhino で実行する方法を調査したのでメモします.
クライアントサイド/サーバサイド どちらからでも使える Javascript モジュールをつくる場合の備忘録。 ここでは、3x3 マトリックスを使って座標を別の座標に写す処理を行うモジュールを例に node.js のプロジェクトを作成してみます。
» Read More「入門 Haskell プログラミング」の Section 10 に Haskell で オブジェクト指向的なコード例が出ていた。 興味深い。ただ、Haskell のコードを見てもさっぱり意味がわからないので、JavaScript に変換してみた。 なお、本に出ているコードからは多少変えています。
» Read Moremake の wildcard 指定がわかりづらい。
» Read MoreUbuntu Server 18.04 LTS のインストールには Ryzen 2400G というか Raven Ridge の ビデオドライバの関係で カーネルオプションとして nomodeset を指定する必要があるようです。 逆にそれさえ指定すれば問題はない。
基本的に ボールペンは uni-ball Signo を使い続けているのだが、Singoの替芯の色展開が黒・赤・青・ブルーブラックの四色しかない。 他の色を使いたければ、替芯だけでなくペン本体ごと買わないといけない。 そこで色展開が豊富で替芯のバリエーションがあるものを探していたのだが、なかなかよいものがない。
Small Sketch という Android アプリのアイコンで星型を使いたくなったので、星をSVGで記述する必要が生じた. 星は円周上の5つの点を直線で結ぶとできる図形. 円周上の点の計算といえば三角関数、それから直線の交点の計算、それらの点を結ぶと星のパスが描画できる. これらの計算処理をまとめます.
» Read MoreChromebook で Android Studio が直接使用できるようになってきたのですが、相当のマシンパワーも必要です。 先日の Google I/O 2019 での発表によれば
ということで、これだけのスペックの Chromebook や Chromebox を用意するにはそれなりのお値段になりそうです。
以前 Windows10を導入しようとして諦めたそのNUC に再び Windows10 をインストールした。 前回の経験を活かし今回はトラブルなく導入できた。
» Read More以前に C100PA のレビューエントリを書いた。 そのとき C101PA を買いたい的なことを書いていたが、とうとう C101PA の英語キーボードモデル(C101PA-ENG)を入手できた。長かった。
以前ヤフオクは画像が3点くらいしか載せられなかった記憶があるのだが、 久しぶりにヤフオクしてみると 10点まで登録できるようになっていた。 画像点数が増えたのは嬉しいが、用意するときにちょうど良い画像サイズにリサイズして JPEG 保存するという手間も増えてしまった。 ならばスクリプトを使って解決するか...
» Read MoreChromebook Flip C101PA と Crostini で emacs 日本語入力環境を整える で 日本語入力環境ができたと思っていたが、文字エンコーディングの問題が残っていた。 前回の設定のまま emacs で入力したファイルを cat すると日本語部分が文字化けしてしまうのだ。 どうやら、現状の設定では emacs の文字エンコーディングが UTF-8 になっていないようだ。
結論としては次のような init.el に落ち着いた。
» Read MoreChromebook Flip C101PA と Crostini では日本語入力で躓いてしまったのだが、 その後、いろいろ試してみると思いのほか対応状況がよい。 これなら、日常活動の多くを C101PA で済ますことができるのではないかと思い始めた。
» Read More家人の iPhone6 のバッテリーがついにお亡くなりになった。 ここ数日は、充電してもいきなり 0% から 100%になるような有様で、いよいよかとは思っていた。 突然、電源ケーブルをつないでいても起動すらしなくなってしまった。
» Read Moreデスクライトと言えば Zライトでしょ、と思っているのですが、 諸事情により仕事用の机を小さいものに変えたことからライトもそれにあわせて小さいものを探していました。 いろいろ候補はあったのですが、結局 無印のこのライトにしました。
前のエントリーで Chromebook + crostini を試したとき vim, emacs 用の日本語入力環境を簡単には用意できなかった。 そこで、 Windows10 + Subsystem for Linux ならどうなのかと思い試してみました。 結論から言うと 難しい設定などは一切なしに vim で問題なく日本語入力ができました。 emacs-nox の方はデフォルトの状態では日本語入力問題あるみたいです。 Windows10 なら Chromebook とは違い ATOK も使えるし、なかなか素敵なのではないかと。
» Read MoreC101PA を使う機会ができたので、前から試したかった crostini を導入してみました。 CPU が ARM 系で Intel 系ではないので、Javaが動かない(要出典)のかと思っていましたが、普通に gradle で java プロジェクトをビルドすることができました。 備忘録として Hello, World! するところまでメモしておきます。
» Read MoreExtendScript は今風の JavaScript 記述方法……いわゆる ES6 などが使えない. その代わりに古い JavaScript の記述方法 ES3 などと呼ばれている で書かなければいけない. これはプログラマーにとって、苦痛なだけでなく、生産性も低く、コード品質の維持が難しい. しかし、TypeScript は JavaScript へコンパイルするときにオプションとして --target ES3 を使うことができる. これを使えば、ExtendScript を TypeScript で記述できることになる。
» Read MoreConoha の VPS 関連の整理整頓をしなくちゃとずっと年始から気になったいて、ようやく今日着手できた。 VPSの整理となると Let's Encrypt の再設定などがあり気が重い。
» Read More母親はいまだに音楽はCDで聴いている。 クラウドで音楽聴き放題の時代なんだといっても全く理解できない。 でも、声で呼びかけて操作できる amazon echo を見せたら興味を示したので、田舎の実家に導入してみた。
» Read More最近の2年間は Moleskin Weekly のポケットサイズを使ってきました。
昨年は実は Moleskin Daily 手帳ポケットサイズを試したのですが、厚みがありすぎて持ち歩くのが億劫になり結局あまり使わず。
期の途中で急いでまだ在庫があった Weekly 版を購入することになりました。
今年もポケットサイズの Weekly を使うつもりだったのですが、Amazon で デニム生地の限定エディションがあったのでこれを試すことにしました。
サイズはポケットサイズではなく、ラージです。
単に SVG を PNG に変換したいだけならば、 たとえば inkscape コマンドがあれば簡単にできる。 ただ、今回は諸事情により 画像変換だけでなく、さまざまな加工処理を連続して行いたかったので、 Groovy でそれらをまとめて処理することにした。
» Read More「Javaで学ぶ自然言語処理と機械学習」という本で紹介されていた Wikipedia でトレーニング済みの単語分散表現データが便利。 このデータの活用例として日本のブランドのマップを作成してみた。
別に PDF データに限らず Binaryデータを Base64 で文字列にして保存するという話。
時々必要になるがその度にあれどうするんだっけ、となるのでここにまとめておきます。
Groovy の LeftShift Operator (<<
) を IO 系のコードで使うと直感的にわかりやす過ぎなのでおすすめです。
アプリケーションでデータをキャッシュして再利用したい。 たとえば、 Mongo などを使えばそれを実現できるけれど、 UNIXのDBMのような、キーとバリューのセットを保存しておきたいだけなので、 もっと簡単に済ませたい。
» Read More諸事情により Ubuntu Server 18.04 上の Android Studio を MacBook 側にX11(XQuartz) を使って表示させて使っているのだが、そのとき Ubuntu Server 上で毎回 DISPLAY 変数を設定するのが面倒だったので、自動でセットするようにした話。
» Read MoreNUC NUC5I5RYH に Windows10 を入れて使っているのだが、長年の悩みは スリープ中に何もしていないのに、起動してしまうこと。 しかしついに解決しました。
» Read Moreまずテスト的にASUS Vivobook にインストールした Ubuntu 18.04 Desktop ですが、とても感じがよかったので Thinkpad X250 の Ubuntu も 18.04 にしてみました。 ところが、X250 は US Keyboard だったのでその部分で、躓きました。
» Read MoreNUC5CPYH への Windows10 のインストールが難しすぎて心が折れた話。
» Read MoreObjective-C をつかって terminal + make でビルド&実行できるコードスケッチ.
CoreGraphics の代わりに Cairo を使って シェルピンスキーの三角形 を描写します.
Ubuntu 18.04 がリリースされた直後のゴールデンウィークに、諸事情により使っていなかったサーバー用デスクトップを復活させることに。
» Read MoreUbuntu 18.04 LTS がついにリリースされたので早速 ASUS VivoBook N203NA にインストールしてみました。
» Read MoreInDesignでつくれらた既存カタログから商品番号を出現順に抜き出す.
» Read More