あおしまの日記

あおしまさんの日記らしいです。個人的に興味がある事を時々書きます。スマートウォッチPebble日本語パックを作成、公開しています。

scrapboxのbookmarkletを改造した

scrapboxをブクマ以上web情報蓄積未満として有効活用したいと考えて、scrapboxbookmarkletを改造した。

  • 日付を入れた箇条書きのために先頭に空白を入れてある
  • 日付、タイトルで1行、なぞった部分のテキストをcode:txtで囲ってその下に格納する
  • 1ブクマ1ページではなく、bookmarkというページに追記していく形式
    • 必要だったらなぞってNewPageすれば個別ページにできるので、自分的にはこれでよい。

コードは以下の通り。改行を取って数珠つなぎにしてbookmarkletにすると動作する。
最後の出力行のURLを自分の使っているscrapbox名に書き換えること。

 javascript:(function(){
 var title=document.title.replace('[','').replace(']','');
 var url=window.location.href;
 var lines=['','['+url+']'];
 var quote=window.getSelection().toString();
 if (quote.trim()){
 lines=lines.concat('code:txt');
 lines=lines.concat(quote.replace('\r','').split(/\n/g).map(function(line){return ' '+line}));
 }
 lines.push('');
 var body=encodeURIComponent(lines.join('\n'));
 
 var dt = new Date();var year = dt.getFullYear();var  month = ("0"+(dt.getMonth() + 1)).slice(-2);var  date =  ("0"+dt.getDate()).slice(-2);var makedate = year+'-'+month+'-'+date;
 
window.open('https://scrapbox.io/(scrapbox名)/bookmark'+'?body= '+makedate+' : '+title+body);}
 
 })();


サイト名やURL、条件によって、追記先を分けようと思えば分けることもできるので、分野ごとのページなどに分けると便利だったりします。

ScrapboxにInterWikiっぽいものを入れてみた

過去Wikiデータの再活用

別のscrapboxページに過去のWIkiデータをimportしたものを持っているのだが、その時点でInterWikiがリンクにならない事が不便であった。

aoshimak.hatenadiary.jp
aoshimak.hatenadiary.jp


特に、本の情報にAmazonのリンクと書影をつけていたのが、すぐ飛べない、書影が出てこないのがどうにも惜しい。そこで、とりあえずjavascriptってそれ何おいしいの?というレベルの自分ですが、UserScriptという仕組みを使ってそれっぽい事が出来るか挑戦してみた記録です。

InterWikiとは?

InterWikiとは、Wiki間の相互リンクを簡便化する仕組みです(でした)。例えば「Wikipedia:日本」と書き込むと、InterWikiNameページ内の定義リストを使って内部的に「URL+引数」に書き換えられたリンク( https://ja.wikipedia.org/wiki/日本 )が生成され、これをクリックすると当該ページに飛ぶ事ができた。他の用法としては、他WIkiのページに飛ぶときに、エンコードされたページ名を含むフルURL等だと可読性に乏しく、入力も楽になるために便利に使われた。

また個人的には、「URL+引数」の自動変換で他の一義的なリンクが生成できることから、検索や商品サイト等へのリンク、特に書籍が絡むメモでAmazonのページやGoogleの検索結果へのジャンプを積極活用していた。そうした補完を前提とした形式で記述された記録が手元に残っているが、scrapboxにはInterWikiのようなリンクの自動生成機能がないため、これをUserScriptで補うことで、昔の記録のリンク情報等を再活用したい。

コード

とりあえず、Amazonへのリンク変換を作ってみよう、ということで、右も左も分からないながら作ってみた。
前提として、以下のような記法のデータがあるものとする。Scrapbox内では[]で囲われているが該当するページは無いため、empty-page-linkである事が前提でコードを書いてある。

[Amazon:4-756-10120-8]

Scrapboxで動作させるには、自分ページを作り、そこにscript.jsとして貼り付け、リロードすることで、自分だけにScrapboxに作用するようになる。

現状では課題も多い(後述)

  $('a:contains(Amazon:).empty-page-link').each(function() {
  	//リンクからISBN番号を取得
     var str = $(this).attr('href').replace(".", "").replace("/", "").replace("-", "").replace(/Amazon:(.*)/g, "$1");
  
  	//AmazonのURLを生成
 		var amaurl = "http://www.amazon.co.jp/exec/obidos/ASIN/"+ str ;
 		var img = 'http://images-jp.amazon.com/images/P/'+str+'.09.TZZZZZZZ.jpg';
 	
 		var imgsrc = '<img class="image" src=' + img + ' >';
 		
     //上記で格納した文字列で上書き
     $(this).attr('href', amaurl);
     $(this).text('Amazon-'+str);
     // $(this).html(imgsrc);
 	});

課題

  • javascriptまだまだよくわからん
  • scrapboxの中身もよくわからん
    • これにまつわる事だが、リンク近くをクリックすると書き換えたリンクが元に戻ってしまう問題(重大)
  • 書影出せない問題
  • 他のInterWikiNameに拡張したいけど、汎用性を持たせられないか?
  • InterWikiNameのページを読み込んで、自動変換すれば完璧だが、今の自分にその技術はない。
  • Amazonの書影を取ってきて埋め込みたいが、ASIN一義で画像が取って来れなくなったので、敷居がすごく高くて自分では難しそう。
  • Amazonから書籍メモをscrapboxに貼り付けるbookmarkletのコードをどう活用すれば良いのだろうか?

自作カレンダーについてのまとめ

カレンダーを自作して6年目になりました

2015年に致し方なく始めた自作カレンダー作りも、気が付いたら6回目になりました。

aoshimak.hatenadiary.jp

基本的には自宅、勤務先、身内の欲しい人に配るだけに作っていました。
毎年数枚余るので、今年ははじめて、メルカリでも頒布する事にしました。
余るよりマシかな?と思って、ほぼ実費でお配りしている状態ですが、ありがたい事に数枚出て行きました。
毎年SNSには画像をあげていたんですが、こちらでは特に何も出していませんでしたので、これを機会に
まとめてみる事にしました。

大まかな設計方針

初回の設計方針は以下でした。

  • 数字は手持ちフォントで見やすいということで小塚ゴシックを中心に使用
  • 枠の色合いを暖色系に
  • 西暦と和暦をひと目で見てわかるように(今年は平成何年だっけ?とよく思うので)
  • 土曜日曜祝日を赤青で色分け(本家は青のみ)
  • 仕事上、六曜は欲しい
  • 満月新月の日は把握したい
  • 月末のはみ出た日を/でまとめない

その後、以下の問題がありまして、翌年からは少し方針転換をします。

  • A2/A3で作り分けをすると高い。特にA2の単独印刷は高くつく。
    • A2の時の文字の大きさをA3に詰めたら、A3用デザインひとつで済む
  • アラベール高い。湿気でよれる。
    • 湿気に強く、風合いの良い紙をということで、ここ数年はグランヌーボーに落ち着いています。
  • 六曜は遠くから見たときに日付を見る邪魔にならないように、近くで確認したらわかる程度に。
  • 新月、満月だけで充分で、その中間は要らない。
  • 外枠は明るい2色の濃淡で選んでましたが、2019からは開運カラー?を2つ選んで組み合わせる形に

歴代カレンダー画像

この6年のカレンダーをまとめてみました。
f:id:aoshimak:20200202102622j:plain

2020年のカレンダー

f:id:aoshimak:20191207143245j:plain
f:id:aoshimak:20191207143213j:plain

今年もカレンダーを自作しました。
毎年余っているので、今年はメルカリさんで売ってみる事にしました。
送料込みで300円です。(メルカリの最低出品価格が300円なので)

ご興味がある方はこちらからどうぞ。
https://www.mercari.com/jp/items/m82465863790/

追記

丸めて定形外郵便で送る方針に変えました。
その為、送料が嵩みまして、400円での販売に変わりました。
ありがたい事に、数枚売れました!びっくりです。
まだあります。

Pebble Time Steelの修理

Pebble Time Steelの修理について

細々と実験を行っていまして、Pebble Time Steelの修理方法に一定の目途が立ちました。(n=4ぐらい)
1つ目は3ヶ月運用済、2つ目は1ヶ月運用中で装着中です。
電池を交換して、蓋を再封止しています。*1

そこで、ご要望の方の修理を受け付けてみようかとも考えましたが、実験で色々な状態の機械を開けて
みて思うに、時計側にはいろいろなリスクがある事も見えてきました。

  • 充電が悪くて電源回路がいかれてる
  • 液漏れで回路がいかれ(ry
  • 浸水で回路がいか(ry
  • 汗やらでボタンがい(ry

あと、以下の要素も見逃せません。

  • 修理中に私が壊す(笑)

もし修理を受け付けるとなると、送っていただいて返送することになりまして、以下のトラブルも起こり得ます。

  • 運送中の紛失、損壊

という訳で、二の足を踏んでいる所です。

*1:電池は非売品をサンプルで取っています。

PX-Q3PE4再導入

PX-Q3PE4を入れた全録マシンを作成していたのですが、どうにも録画が終わらないゾンビプロセスが出たり、録画したファイルが再生できなかったり(録画ファイルにデータが入っているもの、0バイトで終わってるもの、の両方あり)が頻発したので、今年に入ったあたりから電源を落として使っていませんでした。

しかし、先日「ひろゆきチューナー」がゴメンナサイになったので、じゃあ他に何があるの?と探したところ、非公式ドライバが出ていたのに気付いて、死んでたマシンが生き返りそうだなと思ったので、突貫でシステムの改善とOSの差し替えを行いました。その時のメモです。
参考はこのあたり。
www.jifu-labo.net

ハードウェア的な改善

ハードウェア的な話で先達の話を見ていると、「ノイズで落ちる」という話がよく出てきます。
このマシンはDC電源を使ったマシンなので、まずはACアダプタからのラインにフェライトを噛ましてみました。

次に、ボードの上にはHDDが覆いかぶさっていましたので、それを抜いてみました。(もともと4TBx2だったのを、4TBx1に変更。)
また、チューナー付近に走る配線を見てみますと、HDaudioの線がありました。
音声を前パネルから出すのは特に使っていませんし、これもノイズ源かなと思い、引っこ抜きました。

そしてチューナーから内部USBに入れる信号線は、小型フェライトを噛ませたうえで、ケースパネル沿いを這わすことにしました。

またこれを機会に、CPUファンの掃除も行いました。

ソフト的な改善

今回の目玉は、非公式ドライバに差し替える事です。
github.com

これだけではすっきりしませんし、ついでに固定化されていたカーネルも含め、システム総入れ替えで更新しました。
Ubuntu18.04.3LTSのserverです。

その上で非公式ドライバの作業、ボードの認識、更にはMirakurun、Chinachu、と順番に入れていきます。
PX-Q3PE4の最新Windowsドライバ1.4からsysファイルを持ってきて、firmwareを抽出しました。*1
抜くのには非公式ドライバセット中にあるfwtoolをmakeして利用。

はまりどころは以下。

  • fwtoolはfwinfo.tsvを参照して居るので、これとsysファイルを一緒の場所に置いて実行する。(fwinfo.tsvがないよというエラーが出る。)
  • 抜いたfirmwareはpx4_drv.koが決めうちで読みにいくので、ファイル名をit930x-firmware.binにしなければならない。(W3U4で試したものと区別するのに、ファイル名を勝手につけていた。)
    • その結果、名前を別にしていたので、デバイスが認識しないのに気がつく。
    • dmesgで「探したけどfirmwareないよ」というエラーがあって、ファイル名変えちゃいけない事に気が付く。
    • そこで、firmwareファイルは名前をit930x-firmware.binとし、/lib/firmware/以下に置く事で解決した。

その上で、残りファイルをコンパイルして導入しました。
再起動しますとデバイスも無事認識しまして、あとはChinachu γの導入手順に従ってやっていくだけでした。

結果

  • 地上波4番組の同時録画で問題なし。
  • 2局の全録で一晩置いても問題なし。
  • 2局全録中に1番組or2番組の追加手動録画を入れてもドロップ無し。

結果としては万々歳でした。

考察

改善した原因を考えた。

  • HDDを1台減らしたことによる電源安定化
  • CPUファンの性能回復
  • ノイズ源の除去
  • OSのアップデートによる改善
  • 非公式ドライバによる改善

今後の対策

  • チューナーボード周囲に電磁遮蔽を立てる
  • グランド強化
  • Mirakurunメモリ喰いなのでメモリ増強

こんなところでしょうか?

Amazonさんとは、もう無理かも?

Amazonさんに久しぶりに注文

とある用事で必要になったので、Amazonが直接販売している在庫をわざわざ探し出して指定して、
注文をしてみたのでした。*1

注文後に確認して驚愕!
「在庫あり」な表示だったのにも関わらず、出荷が9月末から10月末の範囲内でと出て来まして、
それだと用事に間に合わないので、すかさずキャンセルしました。
いやあ危なかったです。

ちなみに私、Amazonさんであまり買う物がないので、プライム会員ではありません。
「プライム会員じゃない人に割くリソースはねえ!」って事なんでしょうね。

そうだとしたら、同じ商品で偽物も届くし、評価も買収されて信用ならないし、何もいい所がない
Amazonでは、今後「そこにしかない胡散臭い物」以外の物は買えないなあ、と思いました。
*2

「おまじない後」の検索結果の閑散ぶりを見ても、Amazonのハリボテ感を感じますし、
正直もう駄目かもわからんね、と思いました。

*1:出品者をAmazon.co.jpのみにするおまじないを活用。

*2:そういう物だって今やAliexpressから直で引ける世の中ですし。