投稿

2017の投稿を表示しています

Focusrite Scarlett Solo G2 USBオーディオの開封写真、付属物等

イメージ
Focusrite Scarlett Solo G2 USBオーディオを買ったので写真等。

思ったより好みな、金属光沢がグレアな赤で嬉しかったです。









なおUbuntu16.04にて、USB接続から正面ヘッドホン出力を確認しました。
(フルスペック出ているのかは私の耳ではわからないですが、問題はありませんでした。)

svgzについて

イメージ
svgzについての調査メモ。
vecterionで書き出し形式にSVGを使っており、将来的にsvgzを使うこともあるだろうということで調査。

扱う:svgzの作り方、表示のしかた
扱わない:svgzの圧縮率、Windowsでどうするか、Webおよびブラウザでどうするか


svgzの作り方 svgzをInkScapeで作る Save時に"svgz(通常ファイル)"を選ぶ。
InkScapeのメタ情報が失われるが、シンプルな分、あとで開いた時にxmlテキストが読みやすい。
ラスターイメージ(ex. jpg画像)を持ったsvgzを作ると、svgファイルにbase64で持たせる。

svgzの表示 eog(Eye of Gnome)で見られる。
InkScapeも読み込める。

CSS3プロパティ周り("color=rgba()"指定)は、InkScapeがまだ解釈できない。
eogでは表示に反映される。

svgzの解凍圧縮 解凍 $ gzip -d -S .svgz test02.svgz
test02という名前で、svgのXMLテキストファイルが出力される。
svgz拡張子はgzipコマンドの標準ではないので、オプションで拡張子を指定する必要がある。
入力ファイルは削除されるので、残しておきたければ-kオプションを付ける。


圧縮 $ gzip rl_test.svg
$ mv test.svg.gz test.svgz
gzipコマンドで圧縮をかける。
拡張子は後からsvgzに変更する。(これでeogなどで開けるようになる。)
解凍時とおなじく、入力ファイルは削除されるので、残しておきたければ-kオプションを付ける。

svgzに含まれるラスタイメージについて ラスターイメージをbase64テキストではなくファイルとして持っているsvgzが欲しかったのだが、そういうものは無さそう。
(圧縮ファイルにアーカイブされている.jpgなどに相対URLでアクセスするような。)
(svgzの用途としてよくある)Web上に置いた際に、Webサイト上での相対パスと衝突すると思われる。
よくよく調べて考えてみれば、圧縮にgzip(アーカイバは含まれていないので別途tarなどが必要)を使うという時点で、svgz内にリンク先ファイルを持つことはできない…

空気清浄機AC-4234Wを買ったので開封時、フィルタ写真等

イメージ
TWINBIRD 空気清浄機 ファンディスタイル AC-4234W を買いました。
開封した際の写真と、起動時のウィザードのスクリーンショット等を載せておきます。










Aterm WG2200HPを買ったので写真等

イメージ
Aterm WG2200HPを買いました。
開封した際の写真と、起動時のウィザードのスクリーンショット等を載せておきます。

















スクリーンショット。ウィザードと通常の設定画面は、以前買った、今回よりもひとつ古いと思われる製品とほぼ一緒でした。使いやすくて助かります。
そういえば以前の製品では無かったですが、IPだけでなく固定のDNS名でも管理画面に入れるようになっていました。



エスペラント翻訳ブラウザ拡張を公開(WebExtension)

イメージ
lina_dicto for webextensionは、マウスで したエスペラントの単語を日本語に訳して表示するブラウザ拡張です。Firefoxに対応。Chrome対応を予定。
FireFox版の取得はこちらから
ソースコードをgithubに公開しています。




lina_dictoはそもそもPC向けのエスペラント辞書アプリケーション(Win/Mac/Linux対応)です。
また、これを移植した Andorodアプリケーション版 も存在します。

技術的な話 lina_dicto for webextensionは、WebExtensionで作りました。
WebExtensionは、JavaScriptとjsonのテンプレートで、FireFox/Chrome等の、マルチブラウザ対応のブラウザ拡張を作ることができる技術です。

# ざっくり - 名前空間は別なので名前空間トリック的なことはせずにベタ書きでいい。

#content_script.jsとbackground.jsの使い分け content_script.jsはページに読み込まれるので、ページ毎にインスタンスが生成される。
background.jsはブラウザ上のタブ間で1つを共有する。

# webextensionから動的にアイコンを変更 webextension状態をアイコンに反映するコード。
``` : background.js
function setIcon(is){
    if(is){
        browser.browserAction.setIcon({path: "../icon/icon_48.png"});
    }else{
        browser.browserAction.setIcon({path: "../icon/disable_icon_48.png"});
    }
}
```

# background.jsのデバッグ console.log()がデバッグコンソールに出ない。 Firefoxではアドオンのデバッグを有効にして、そのアドオンのデバッグリンクを押すと、別Windowでbackground.jsのデバッグコンソールが出る。
chromeもそんな感じ。

# タブ状態変更時のコールバック 新しいタブが作成さ…

エスペラント辞書アプリ lina_dicto for androidをリリースしました

イメージ
lina_dicto for androidをリリースしました。
エスペラントと日本語で、単語を翻訳できるAndroidアプリです。
AndoidのPlayストアからインストールできます。


エスペラント単語の入力補完機能があり、入力中の文字から単語を予測します。
また、スペルミスによるミスヒットに対して、正しい単語の候補を示します。

エスペラント文では、単語検索だけでなく文章検索にも対応しています。
文章を入ると、自動で単語分割して結果表示してくれます。
Web上のエスペラント文を読みたい場合などに役立つ機能です。

ソースコードを公開しています。githubはこちら

技術的な話は少し下の日記に書きました。
https://srad.jp/~m_nukazawa/journal/616311/

lina_dictoはそもそもPC向けのエスペラント辞書アプリケーション(Win/Mac/Linux対応)です。これの裏側がelectronだったため、そのままWebViewを使ってAndroidアプリケーションにできるなと思って作りました。


KWIN-4K32B 4Kディスプレイ フォトレビュー等

イメージ
いいかげん4Kディスプレイを導入しようということで、KWIN-4K32B を買いました。 
これまで27インチのディスプレイを使っていて、32インチははじめてです。
開封の様子と付属物、セットアップ等について、写真を中心にざっくり残しておきます。



付属物の説明には1.5mのHDMI2.0ケーブルと書いてあるが、測ってみたら1.4mしかなかった(そういうものなのかもしれない)。いちおう、ケーブル長がぎりぎりの方は注意。













エスペラント辞書アプリをElectronで作って公開しました

イメージ
エスペラント辞書アプリをElectronで作成し、リリースしました。
エスペラントto日本語の単語変換をします。とりあえずエスペラントの単語を引くことができます。
名前はlina_dictoです。
https://github.com/MichinariNukazawa/lina_dicto

なおエスペラント辞書データですが、すばらしい辞書データ が公開されており、これを使っています。
感謝。


ダウンロードはこちら。
https://github.com/MichinariNukazawa/lina_dicto/releases


本記事では辞書アプリ固有の話はしません。なぜなら今は2017年であり、辞書データをすべてメモリに置き、かつ動的言語を使って辞書データを頭から尻尾まで舐めるという超富豪コーディングをしても、ユーザ体験をまったく損ねず遅延もまったく体感しない辞書アプリケーションが作れるからです。IntelとJavaScriptエンジンのエンジニアには足を向けて寝られません。データサイズが小さかったのもあるかな。

事前に検索インデクスくらいは作る必要があるだろうと想像していたので、正直、拍子抜けの気持ちが無いといえば嘘になります。

# エスペラント固有の話 先にエスペラント固有の話をします。固有の話は2つあります。

## 語根分かち書き 語根とは、語尾の変化による現在形への変換などをされる前の単語です。詳しくはWikipedia。
特にエスペラントは、語根を組み合わせて単語を作ることで、話者の記憶リソースへの負担を軽減する設計になっています。エスペラントは語根がはっきり定義されており、なぜなら人工言語であり、そういう設計だからなのですが、単語が複数の語根から成る場合がかなりあります。詳しくはWikって略すな。
今回使用した辞書データには、単語が語根分かち書き形式で収録されています。この分割部データもいずれは有効に使いたい所存ですが、検索時は、普通のユーザがタイプするであろう分かち書きされていない単語文字列と、分かち書き済み単語データをマッチングしなければなりません。
なので、分かち書きは単純に取り除きます。
上で、動的言語で文字列のマッチング・ループなんて...って書いてありますが、実際にはもっとひどいことをしています。具体的には、分かち書き状態の単語文字列…