Home About
実験用 Windows 11 環境のために BIOSTAR J4105NHU を導入

AMD A10 7800 CPU と GA-F2A88XN-WIFI マザーボードを実験用に使ってきたが、Windows 11 対象外になってしまった。 今手元にあるリソース(ケースとか電源とかメモリ)を活用しつつ、もっとも安直に Windows 11 をインストールして使えるものとして BIOSTARのオンボードで Intel J4105 が搭載されている マザーボード J4105NHU を導入しました。

» Read More
opencv4nodejs インストール備忘録 / Ubuntu で使用 OpenCV をソースからインストール

本当は macOS で opencv4nodejs を 使いたいのだが、うまくいかない。 そこで、 Ubuntu 20.04 上で OpenCV 4.5.3 をソースからインストールした状態から opencv4nodejs をインストールして使うことができたので、その作業記録です。

» Read More
Windows + WSL と Chromebook のターミナル日本語入力設定覚え書き

Windows + WSL とか Chromebook + Linux(crostini) での Linux 側において、 日本語入力の設定とか、切り替えキーのホストOSとのバッティング回避とかが面倒なので、 もうそっち、つまり OSにパラサイトしている Linux 側は基本英語のみで使い、 日本語が入力したいときは emacs + wnn を使うことで運用してきた。

しかし、ある程度の分量を、複数の日本語テキストファイルで扱う場合、これでは困ることが増えてきた。 やはり、ターミナルで普通に日本語が使いたい。 とりあえずは、その手の場合は mac を使うことで済ませてきたが、 そのためだけに mac を使うのも面倒。

それで調べてみると、案外簡単に日本語がターミナルで扱えることが判明。

» Read More
pandas, Excel + VBA からの脱出

pandas が Excel + VBA の代わりとして使える可能性があるらしい。 Jupyter Notebook と併用すれば、インタラクティブに処理結果を確認しつつデータ操作できるので、確かにこれは便利。

MacList

こんなエクセルデータがあったとして、これを pandas で操作していく覚え書き。

» Read More
macOS の open コマンド相当のコマンドを WSL でも使えるようにする

Windows 11 の WSL での話です。 macOS の open コマンド相当の機能が使いたいのであれこれ調べた結果を備忘録として書き残します。

» Read More
Surface GO 3 セットアップ顛末

まだ、S モードを解除して、更新プログラムをインストール、WSL をインストールしたところです。 Surface GO 3 の第一印象を書き留めておきます。

» Read More
Windows 11 WSLg キーボードレイアウトを US に設定する

Windows 11 の WSL では、Linux アプリも GUI に対応したので、さっそく Firefox を使ってみた。 sudo apt install firefox して firefox で起動。 普通に使えます。 ただ、このマシンは キーボードレイアウトが US なのに、日本語キーボードとして扱われる。 もちろん、Windows 11 上では普通に US レイアウトのキーボードとして設定されている。

» Read More
WSL2 で Wnn8 を使う

以前に NUC に FreeBSD 12.2 をインストールして それを Wnn8 サーバにした というエントリーを書いた。今回これを Windows 10 WSL2 に移行したので、その備忘録です。 Wnn8 は WSL2(Ubuntu 20.04 LTS) 上で動きます。 インストールしただけでは、jserver, dpkeyserv が自動起動しないので、そこを手当てする必要がありました。 クライアントは emacs で使う tamago-tsunagi です。 X11用のクライアントは使っていません。

» Read More
Alacritty を Windows 10 でも使用

Ubuntu で使っている Alacritty を Windows 10 でも使いたいと思い調べた。普通に対応していた。 WSLのシェルとして使うことも当然できる。

» Read More
GA-F2A88XN-WIFI に Windows 10 をインストール / お使いのPCに必要なメディアドライバーがありません

諸事情により 今度は Windows 10 を GA-F2A88XN-WIFI にインストールすることになった。 Ubuntu では、Bluetooth の作動が不安定 というエントリーを書いたが、 Windows 10 では、OSインストール直後は Bluetooth の認識すらされなかった。 ただし、Intelのサイトから Intel Dual Band Wireless-AC 7260 + Bluetooth 7260HMW のドライバをダウンロードしてインストールしたらすべて問題なく作動した。

それより、今回は「お使いのPCに必要なメディアドライバーがありません」問題で Windows 10 のインストールに半日以上費やすことになったので、その備忘録です。

» Read More
kotlin script が便利 Javaのライブラリも使える

kotlin が気軽に使える kotlin script 便利です。 インストール方法や使い方の詳細はこちら Kotlin Scripting Examples: kotlin-main-kts usages をご覧ください。

kotlin 関連のインストールがされている前提ですが、以下のように kotlin script を実行できます。

» Read More
スターバックスコーヒーのコースターの正規品がほしい

starbucks-coffee-coasters

左が最近メルカリで購入したもの。 右が 20年ほど前に自分で購入した本物。 入手してから気づいたのだが、これはどうもレプリカ・・・というか偽物な気がします。 本物か偽物か確認しようがないのですが。

落札時には偽物の可能性を考えたことがなく安易に落札、ちょっと残念に思っています。 使い勝手は問題ないのですが。

» Read More
Node.js + Underscore でcountif を使って2つのリストから重複した要素のみのリストを作り出す

二つのリストから countif をつかって 両方のリストに重複して含まれている要素のみを取り出したリストをつくる.

これを Node.js + Underscore で実装した。(覚え書き)

» Read More
Excel の countif 関数的なものをGolangで実装した

二つのリストがあり、 (1)両方のリストに含まれているもの、 (2)はじめのリストにだけ含まれているもの、 (3)あとのリストにだけ含まれているもの、それぞれを計算する必要が発生。 エクセルでそれを行うには countif を使う。

こんな風に:

Excel

これを Golang で実装した。(覚え書き)

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

関数型オブジェクト指向プロラミングを JavaScript に翻訳する というエントリーを2年前に書いた。 Haskell のオブジェクト指向的なコードを JavaScript に書き直したエントリーだが、今読み返してもいまいちピンとこない。 ならば Golang で書き直してみよう。 Golang であれば、JavaScript と違って型を明示的にコード中にかけるので、わかりやすくなるのではないか?

» Read More
Golang や Kotlin で関数の型を定義する

Go言語では first class functions とやらで、関数はファーストクラスオブジェクトであり値のように使うことができる。 そして、この関数の型(どんな型を引数にとってどんな型を返す、という情報)に名前をつけることができる。

» Read More
ラムダ(式)を javascript と kotlin script と golang で使う

パーサーコンビネータについて調べていて、 そもそもその元になる概念としてコンビネータがあることを知る(いまさら?!)。 つまり、パーサーコンビネータはいろいろあるコンビネータの中の一つ。 そして、いろいろあるコンビネータの中でもっとも有名なのが Y コンビネータとか Z コンビネータらしい。 そして、コンビネータを構成するパーツの一つがラムダ(式)とか無名関数であると。

名前付き関数はいつも使っていて、そして名前無し関数(無名関数)も結構使う。 では、ラムダ(式) と無名関数ってイコールじゃないの? と思って調べるもよくわからない。

Wikipedia によると: 「プログラミング言語における無名関数(英語: anonymous functionあるいはnameless function)とは,名前付けされずに定義された関数のことである.無名関数を表現するための方法には様々なものがあるが,近年主流となっているのはラムダ式による記法である.」 ということで、ラムダ式(という概念)をプログラム言語で表現するときに使うのが無名関数(または匿名関数)と考えて問題なさそう。

パーサーコンビネータや Yコンビネータを理解するための最初の一歩としてラムダ式を把握する。

» Read More
ExtendScript から https にアクセスする

ExtendScript には Socket があるので、http のように SSL でない ウェブリソースにアクセスすることができる。 しかし、SSL 化された https のウェブリソースにはアクセスする方法がない・・・と思っていたのだが、 なんと macOS では curl を経由すれば簡単にできることが判明した。

Windowsの場合も VBScript を経由することで実現できるようです。 詳しくは restix をご覧ください。

wttr.in with vscode

» Read More
ExtendScript で Underscore.js を使う(その2) webpack 編

ExtendScript で Underscore.js を使う(その1) rollup 編 で rollup + babel + Underscore.js を試したのだが、 rollup を webpack に差し替えての Underscore.js を試したのでその備忘録。

» Read More
ExtendScript で Underscore.js を使う(その1) rollup 編

Node.js で ExtendScript する話(パート3) ES6 Javascript 記述を使いたい で node.js を使ってモジュールを解決しつつ、アロー関数や const let などのES6 Javascript 記述を使って書けるようになった。 そこで、次に Underscore.js を利用した ExtendScript をコーディングすることを考えます。

実のところ単に Underscore.js を使うだけならば、ExtendScript 標準の @include ディレクティブを使うことで普通に利用できます。 しかしこの方法では、 (1)Underscore.js のファイルを常に本体のファイルとともに配布する必要があり面倒、 (2)Underscore.js を使う側のアプリケーションコードで、ES3レベルの Javascript しか記述できない、 という2つの問題があります。 Node.js + rollup + babel を使う方式でこの問題を解決しましょう。

» Read More
Node.js で ExtendScript する話(パート4) webpack アゲイン

Node.js で モジュールを使って ExtendScript するために

その後、さらに調べてみると、 パート1で不都合があった webpack で、オプションを適切に指定することで、 ExtendScript用のコードにバンドルできることがわかりました。

Node.js ではさまざまなツールの組み合わせが存在していて、自分の目的にあうツールがどれなのか・・・という。 アプリケーションコードを書く前段階での試行錯誤が半端ないですね。

» Read More
Node.js で ExtendScript する話(パート3) ES6 の Javascript 記述を使いたい

実のところ、 パート1パート2は、この ES6 の Javascript 記述で ExtendScript 用のコードを書くための前準備であった。

ここまでで、モジュールを使ってコードを書けるようになり、rollup により、それらのコードを一つのファイルにまとめるところまでできた。 あとは、このコードをいわゆるトランスパイラと呼ばれるコード変換ツールにより、ExtendScript として機能する Javascript に変換します。 このトランスパイラは定番の babel を使います。

» Read More
Node.js で ExtendScript する話(パート2)

パート1では、webpack を使って、モジュールを一つのファイルにまとめていました。 しかし、この方法では、webpack により、ExtendScript で実行できないjavascript記述が追加されてしまう不都合がありました。 そこで モジュールをひとつにまとめる機能を webpack の代わりに rollup を使って解決することにします。

» Read More
Node.js で ExtendScript する話(パート1)

Web関係のJavascript 開発では、Node.js を使って モジュールに分割して開発をしていく。 これを InDesign 用の ExtendScript でもできるようにしたい。 もちろん、ExtendScript にも @include 記述により、モジュールを使うことはできる。 しかし、その場合できあがったコードを配布するときに、依存しているモジュールファイルも一緒に渡す必要が生じる。 これを避けたい。配布時には単にひとつのファイルだけで完結したい。

» Read More
Golang, listFiles 指定のディレクトリ内のファイルまたはディレクトリを列挙する(改良版)

Golang で listFiles する方法 の改良版。

» Read More
Thinkpad X1 Nano 使用開始から 2ヶ月経過 / 今オーダーすると納期が来年?!

Thinkpad X1 nano

この夏、Lenovo で BTO のマシンをオーダーしたら納期が来年の予定になった、という記事がありました。 Reddit の r/thinkpad でも 納期が 2022年4月になっているという投稿があったので、半導体不足のせい? 自分の場合は、Thinkpad を 6月1日にオーダーして、当初は一ヶ月程度で納品という表示だったのですが、 途中で、納期が延びて 9月になっていた時期もありました。 しかし、その後また何度か納期表示変更があり、結局7月上旬に到着、 おおむね当初の納期見積りの通りでした。

» Read More
Golang, 名前付きタイプにメソッドを生やす

Golang では named type に対して method を生やすことができる。 これが Java などでクラスがあると便利だった機能の代替として使える。

» Read More
Golang, アイテムを日付でソートしたい

Golang でのソート処理をメモ。

» Read More
Groovy / Golang / Node.js, リストを n 個ごとに分割したリストのリスト(サブリスト)をつくりたい

このサイトのエントリーを全部取得してリストにして、それをたとえば10エントリーごとに分けてページネーションしたい、のような場合の話。 元のリストから n個ごとに分割したサブリストをつくりたい、というケースは結構ある。

» Read More
自宅回線を Rakuten UN-LIMIT から楽天光 に乗り換え

回線を ADSL から Rakuten UN-LIMIT に乗り換え からの楽天光への乗り換えです。 OCNモバイルONEを契約しているので、月額費用を比較すればOCN光を選択するところなのですが、 1年無料の3年縛りの楽天光キャンペーンに乗っかりました。 相手の策略に落ちた感がありいい気はしないのですが、光コラボレーションなので、時が来たらOCN光に切り替えるのもさほど苦労はなかろうと。

» Read More
InWin Chpoin Mini-ITX ケース レビュー

開発用メインマシンとしての Ubuntu サーバに Fractal Design の Define Nano S ケースを使っていたのですが、 集中できる環境づくりのための一環として机周りのものを減らすために、 もっと小さいケースに変更しよう!と思い立ち、InWin の Chopin にしました。

Chopin シリーズには Chopin と Chopin Pro があり Pro の方が付属電源の品質がよいので、そちらも 検討したのですが、日本では入手が難しいようです。 結局、入手が簡単な 普通の Chopin を購入しました。

InWin Chopin Case

Mini-ITX のマザーボード用で、この Chopin のように小さいサイズのケースはほぼこの製品一択のようです。 とても気に入ったので、後継機種が出るようにレビューを書きます。

» Read More
Golang, マップの使用例

ポケモンのタイプ別にポケモンリストを用意する例。 Golang の マップでそれを実装方法の備忘録。

» Read More
Alacritty と Solaraized Color と 行間調整

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

alacritty-on-ubuntu-desktop

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

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

filter-function

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

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

ポケモン名リスト1

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

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

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

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

改良版をこちらに書いた。

» Read More
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 で記述するのだが、それは 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