カラクリサイクル

『輝かしい青春』なんて無かった人の雑記

もうそろそろブログを改修したい

と言う気分。


正直、僕はあまりモバイル前提でブログとか読まないんですが、今の世の中、 もはやモバイル対応じゃない Web なんて見られてないっぽい気配なので、

とりあえず、モバイルで最も読み易く美しくする

という改修をしたいなーと思ってます。

ただ、僕の持ってる小型モバイル端末って、

  • iPhone SE

ぐらいだし、あとあんまり使ってないんですよね。iPhone SE 。 基本、外出時に Reeder for iOS を使うぐらいしか使ってないし……って言う。


あと、なんとなく広告やらアクセス解析やらも再導入したい感じなんですが、 いかんせん、広告についてはセンシティブな記事との兼ね合いが有るので、 そこいら辺りをどうするかな……と、ちょっと考え中です。

まあ、基本はセンシティブな記事では広告を表示しない、って言うのがまあ標準なんですが、 そのセンシティブネタをどう分類するか、っていうアレがね。 こう、手作業でするのはちょっと厳しいっていう。なにせ 2000件超えてますからね。総記事数。

あと、センシティブ記事を分類がなんとかなっとしても、その後どうやって広告の非表示やらを行うか、 っていう問題もあるので、その辺りも考えモノです。なにせ Google Adsense とかは広告コードを弄るの不可ですからね。 他の広告プロバイダーでも大抵は一緒だけども。


まあ、とりあえずはそんな感じです。はい。

Windows 10 Pro 環境に mingw-w64 を入れた

と言う話。


今日、久しぶりに Golang を触っていて、なんとなく GUI が作りたくなり、 その時に、

github.com

を試そうとしたら、

gcc が無いからコンパイル出来んよ

みたいなエラーが出たので、

を突っ込みました。

で、最初は MSYS2 突っ込みかけたのですが、よくよく考えてみると、

自分、今 Powershell で生活してるから、 MSYS2 の Unix tools って必要ないやんけ

となり、とりあえず突っ込んだ MSYS2 を消し、 上記のリンク先から MinGW-w64 のインストーラーを落してきて、MinGW-w64 の 64bit 版のみをインストールしました。


で、とりあえず cgo が使える様になったんで、上記リンク先の andlabs/ui をちょろっと試したんですが、

Golang で GUI 出来る!!1

というのは結構楽しいですね。はい。

ただまあコレ触ってみた感じだと、

あれ、これ Custom UI Components は Golang の外側で実装するしかないっぽい……?

という様な感じな気がするので、まあ、その辺りはまだ良く判ってないです。


という事で今日の雑記は以上です、はい。

何故僕は次のメインマシンに DELL New XPS 15-inch (9560) を選んだか

という話。


まあ、昨年の終わり頃から、

もうそろそろメインマシンの Mac mini も古くなってきたし、PC 新調したいなー

と考えていて、実際には、

あーでもないこーでもない、うーん……

と悩みに悩みまくっていたのですが、その後の様々な検討の結果、

www.dell.com

を次の PC にすることとなりました。

ちなみに DELL New XPS 15-inch (9560) の注文をしたのが先週の終わり頃で、 実際に入金して発注が確定したのが今週の始めの方です。


それで、なんで DELL の Laptop にしたかっていうと、話の前提として、 最初は Macbook Pro の late 2016 にしようかとも思ってたんですが、 いかんせん、僕の欲しいスペックに盛ると大体 40 万超えしてきてアレだったのと、 あと、

  1. 色々試して macOS ではなくWindows でも普通に生活出来る事が分かった
  2. macOS + Macbook Pro だと Touch bar でロックインされ得るのが微妙だった
  3. Macbook Pro late 2016 だと、後々 macOS に飽きた時に Linux 突っ込めないやん

と言う辺りの理由が所以となり、

うーん、もう今は Macbook Pro はないなー

という感じで、 Macbook Pro late 2016 は選択肢から外れました。

それで、その次には質感やら高級感やらスペックやらで、

  • Razer Blade 2016 (無印)
  • Microsoft Surface Pro 4
  • Microsoft Surface Book
  • DELL New XPS 13-inch (9360)

辺りが候補になっていたのですが、

僕の欲しいスペックだと高く付くし、あとそんなに PC 持ち運ばないしなー

とうんうん唸っていた所へ、

DELL New XPS 15-inch が出てる……うん、スペッコドンピシャやんけ

って感じだったので、まあ正に渡りに船で購入に至った次第です。はい。


ちなみに。

今回は DELL の Laptop を選んだ訳なんですが、構成としては、

  • DELL New XPS 15-inch (9560) の高解像度 + タッチパネルの方がベース
  • Windows 10 Home を Windows 10 Pro へ変更
  • 1年間のあずかり修理を 4年間へ変更

と言う感じになっています。

また、DELL が信頼出来ない訳じゃないですが、SSD のパーティションの区切りとかも調整したいし、 あとアンチウィルスとか Windows 組込みの Windows Defender だけで十二分にやっていけるので、 とりあえずはモノが届き次第、

  • Windows の再インストール

は、行なっておこうかなーなんて考えています。

あと、背面に有るであろう DELL のロゴについては、恐らく、微妙にダサみが有ると思われるので、 これについては、YAPC::Asia 2015 Tokyo の時に id:motemen さんから頂いた、

輝く貌のモテメンシール

を貼っとこうかな、なんて考えています。はい。

Web サービス等の見直しを行った (WIP)

と言う話。ただし作業途中。


先月、一月の中頃よりちょっと前の週に、家にネコ達が来て以来、 僕はその環境の変化に伴って、結構日々の生活を周していくだけで精一杯だったのですが、 ここの所は割と生活の変化にも慣れて来て、色々と余裕も出来てきたので、 今日、なんかそれとなくですが、

普段使って加入している Web サービスやらを見直す

とか言う作業をしていました。

それで、実際にはまだ作業の途中で、色々固まってない所も有りますが、 とりあえず、

  • Drobpox 1TB

をリストラする方向で、

  • Google Drive 100GB

を契約したり、あるいは、

  • Vim + GFM (GitHub Flavoured Markdown) での Todo 管理

を、

  • Todoist Premium

を使ってみたりと、色々していました。

まあ道半ばというか作業途中なんで、全部が全部は切り替え終えてないけれども。


それで、なんで Dropbox 1TB とかリストラになったかっていうと、 これはもう、

Drobpox が 1TB 有っても、実際使い切らんぞコレ……

と言ううぐらい使ってなくて、あと次のメインの PC として発注した、

  • DELL New XPS 15-inch (9560)

や、今使ってる Mac mini late 2012 なんかも、

ストレージを足さない限り 1TB とかどうがんばっても同期出来んやんけ

という環境なので、バッサリとリストラしました。

それと、あとはクラウドストレージを使ってる理由が、今となってはバックアップの面が強くなってきていて、

PC 環境が災害かなんかで全部ふっ飛んだ時に復旧出来ればそれで良いよね

という考えになって来ている、というのも大きな理由の一つですね。はい。

それと、 Todo 管理で Vim + GFM から Todoist Premium に移った理由としては、 ほとんど『なんとなく』なんですが、以前にも Todoist を使っていた事もあり、

なんか、 Todo 管理をもうちょっとリッチな環境でしたいぞい

という気分でサクっと契約したりしてました。


あとは、

Vim で書き綴ってるメモやら日々の三行日記やらをどうやってリッチな環境にするか

と言う辺りなんですが、まあ、これもこれで色々と考え中で、

  • Markdown で書ける (必須)
  • 閲覧にもたつかない (任意)
  • 検索とか出来る (必要)
  • 最終的には Export 出来る (必須)

という感じの条件を満たす何かはないかなー、と探しています。はい。

TinySegmenter.jl を Javascript へ逆移植してみた

昨日、途中で時間切れとなった、

the.nyarla.net

の再チャレンジです。


話の中身

Javascript で書かれた小さな日本語分かち書きソフトウェア

として、

と言うのが有って、さらに、それを高速化しつつ他の言語に移植された一例として、

github.com

と言う実装が有るのですが、今回、これの最適化手法を参考にしつつ、 最新の Javascript へ逆移植したモノを作ってみました。

成果物

どれぐらい速くなったか

TinySegmenter.jl のリポジトリに有るベンチマークを適当に走らせてみた結果、 手元の、

  • Device: Mac mini late 2012
  • CPU: Intel Core i7-3720QM
  • Memory: 16GB
  • OS: Windows 10 Pro 64bit
  • Node.js: v7.5.0

という環境では、大体、ベンチマーク内にあるテキストの一回分の分かち書きの処理速度が、

オリジナル: 0.84sec ぐらい
逆移植版:   0.35sec ぐらい

となったので、大体 2.4 倍ぐらい速くなったっぽいです。

感想

うん、まあ今回は Julia 版をほぼ丸写しに近い形で移植したんですが、 僕がよく訳の分からんポカミスをやらかしていた影響で、昨日とかでもそうだったんですが、

あれ、なんか動いてない! なんでや……あ! 処理が抜けてる!

ってなって時間を消費していたので、まーその辺り、自分のポカミス具合いを改善出来たらなーとか思いました。

あと、今回書き写していた過程で、

Node.js v7.5.0 だと const とか let 使うと遅くなって var 使うと速い! なんでや!!1

という謎の知見を得られたりしたんですが、まあその辺りも面白かったですね。はい。


という事で話として以上です。

良かったら今回の TinySegmenter 、使ってみてください。 3-caluse BSD なので無保証だけど!