今日も微速転進

ここではないどこかへ

お知らせ

今日も微速転進へ来て下さった皆様へ

今日も微速転進へ来て下さり有難うございます。 私はこのブログの管理者atuyosiの弟です。この場をお借りしてご報告させて頂きます。

兄は2018年10月8日、享年33歳でこの世を去りました。葬儀、五十日祭も滞りなく終了致しました。

兄の記事を読んで下さった皆様、スターを下さった皆様、コメントを下さった皆様、いつも有難うございます。 特に兄に本を贈って下さった方、本当に有難うございました。

この場をお借りしてお礼申し上げます。

これ以降の更新はありませんが、兄の意向に沿いこのブログは可能な限りこのまま残させて頂きます。

よろしくお願い致します。

今年もついに10月……。

f:id:atuyosi:20181001231028j:plain:w480

今年も10月が来てしまった。また年齢がインクリメントされる月。というかインクリメント済み。

抜け毛と若白髪が増えておりちょっとどうかなという状況。もともと毛髪の量は多めなので抜け毛は問題ないけど。

若年性白内障(手術済み)、軽度(ほぼ中度)難聴、耳鳴り、若白髪……。

もともと鼻炎持ちなので首から上は満身創痍?

いろいろと勘弁してほしいですね……。

虚弱気味な人間と健康な人で税率とか諸々一緒なのはおかしいと思いませんか。

障害者手帳が取れるほどひどくないのはいいのか悪いのか。

メンタルの方は心療内科の類には行ったことがないのでわかんないです。

厳しい。人生ハードモード何じゃないのこれ。

天満宮に参拝したら蚊に11箇所も刺されていた。なぜだ……。

アテは外れることばかりで思惑通りにいかないですが、Life goes on...です。

なんだかんだで33才。2のべき乗から3のゾロ目ですね。

ちなみに欲しいものリストはこちらです。

それではでは。

自前のHomebrewリポジトリについて

HomebrewにPRを却下されたのでとりあえず野良リポジトリをつくっておきました。

却下されたPR

Pandocのフィルター、pandoc-include-codeのパッケージをHomebrewに追加したかったのですがダメでした。

github.com

GitHub repository not notable enough (<30 forks, <30 watchers and <75 stars)

公開されてからの日数という許可要件はなくなったのか。通るかと思ったけど普通に却下。

教訓:いいと思ったパッケージは積極的にスターを付ける、Watchしておく。

自前のリポジトリ

github.com

適当です。すいません。

参考にしたページ

Formula自体はpandoc-corssrefのやつを適当に弄っただけです。

他にも参照したはずだけど忘れた。

Tesseract 近況 その2 (2018/10 Early)

前回に引き続き、オープンソースOCRエンジンTesseractの開発状況ウォッチング、です。

a244.hateblo.jp

2018年10月の状況

10/1付けでRC1がリリースされています。

github.com

もうすぐ待望のバージョン4.0の正式版が(数々のバグとともに)リリースされそうです。ただ、状況としては未解決のバグがいろいろと存在しており、Help wantedとのこと。「求ム、C++ハッカー」、です。

メンテナの意向としては10月中旬で4.0をリリースしたいらしいです。

Heads up: release of tesseract 4.0 - Google グループ

何もリリースしないよりは、多少問題があってもリリースするほうが良いという判断の模様。

ref. RFC: Tesseract 4.0.0 – open tasks · Issue #1423 · tesseract-ocr/tesseract

4.0系使用時の注意点

Tesseract内部で使用している「ロケール依存で挙動の変わる関数」への対策として、API実行時に環境変数LANGCにセットする必要があります。

tesseractコマンドの使用時には影響はありません。

未解決のバグで影響の大きそうなもの

#1015

wrong coordinate in LTSM ocr mode and Japanese · Issue #1015 · tesseract-ocr/tesseract

認識結果は正しいが、文字の認識した領域の座標が(一部)おかしい。

これに関連するバグは複数あり(#1712#1146、他)。

認識結果に関するIssue

グレースケール v.s. 二値化画像

以前にも書いた気がしますが、4.0系は単純に二値化するよりグレースケール化するほうが結果が良好なことがあります。

OCR of binarized image does not lead to same result as OCR of input image · Issue #1780 · tesseract-ocr/tesseract

レイアウト解析の際は二値化画像(白黒)、文字認識はグレースケール画像、という使い分け。

PNG形式のアルファチャンネル問題

対処方法はPNG形式の画像からアルファチャンネルを除去する。Tesseract側で除去する処理を入れるかは不明。いまのところは前処理でどうにかすべき。

背景色と圧縮形式による認識結果の変動?

png vs jpg recognition results are different · Issue #1895 · tesseract-ocr/tesseract

文字色が白で背景色が濃い色の場合に、PNG形式とJPEGで認識結果が異なるらしい。

JPEG圧縮特有ののアーティファクトが悪さをしているのか。どちらかというLeptonicaの問題ではないかと思うけど。

c.f. The Hallucination Effect · tesseract-ocr/tesseract Wiki

まとめ

テストしてフィードバックしないと改善されないので積極的に新しいバージョンを試していきましょう(他力本願)。

そろそろ4.0系の再学習にリトライしないと行けないと思いつつ半放置です。

まあ確かにアルファ版から期間が空いているので多少の問題があってもリリースするほうがベターでしょう。

C++のコードを解読するのはしんどいし、しかもLSTMとなるとさすがにお手上げです。誰かサクッと直してくれるといいのですが、まあ厳しそうですね。

基礎からしっかり学ぶC++の教科書 C++14対応

基礎からしっかり学ぶC++の教科書 C++14対応

感想:『プロを目指す人のためのRuby入門』

ちゃんと読んだのは3章まで。あとは流し読み。

概要など

ruby-book.jnito.com

訂正等:サポートページ:プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで:|技術評論社

著者御本人による紹介ページ:プロを目指す人のためのRuby入門

ソニックガーデンの中の人が書いた、プログラミング中級者向けのRuby本。

初心者向けの本を読んだあとの2冊めという位置づけ。

対象読者など

仕事でRubyを使っている、または使う予定の人でRailsに興味がある人。または初級から中級を目指したいプログラマという感じ。

前書きに対象読者かどうかをチェックする簡単な質問が3つあり、3つともYesなら対象読者、2つまたは1つならよく考えてから購入してほしいとのこと。

正直に書くと、購入ボタンを押した瞬間は紛れもなくこの本の対処読者に該当する状態だった。ただ、そのあと数日で気が変わってしまった。

内容について

特にいいのは3章のユニットテスト。第11章のデバッグの章もいいと思った。

この本の最大の特徴はブログ記事風の文体。最初の方で普通に「なので」という書き出しの箇所があってびっくりした。

この文体で技術評論社の編集の人は何も言わないのかという驚きに満ちた本。

Rubyのインストール手順について、複数のやり方の特徴を解説したうえで「詳細な手順はネットで調べてください」と突き放す豪胆っぷり。 一体どうした技術評論社って感じの本でもある。

内容に関しては初心者向けのRuby本がスルーしているような内容をきっちりフォローしている。

ただ、Web上の「公式ドキュメント」を参照、という箇所が結構あって後半はかなり肩透かしを食らうかも。

コンセプトは素晴らしいのだけど、ところどころ大風呂敷を広げすぎな印象。

感想

いい本だけど……。自分がRuby自体を好きじゃないのを再確認してしまった。

Rubyらしいコードに違和感しか感じない。

例えばreturn文。省略できても嬉しくないし、我慢して省略ってなんか違う気がする。

つい、return 'こんにちは'やreturn 'hello'のように書きたくなるかもしれませんが、そこはぐっと我 慢してください。
p.37より引用

return文を入れるとRubyらしくないと言われるだろうけど、IDE使えば入力の手間は一瞬のはずで。

文章術の本に出てくる「体言止め(の乱用)はよくない」という話と同じで、(return文の省略は)コードを読む側に負担を掛けるのではないか。 コード規約でそうしろと言われたら文句は言わないし素直に従うと思うけど。

書いた方には悪いけど、この本のPython版とかJavascript版が欲しい。

オブジェクト指向言語としてのRubyの良さ、素直にコードが書けるのは確かにいいけどそれ以上ではない*1

Railsがすごいってのは理解している。でもなぜか面白みを感じない。

Swiftのような構文レベルでバグを減らそうとか、Pythonのインデントの強制とかほかの言語を知っているとRubyの省略文化に魅力を感じないのかな。

まとめ

結論:いくらいい本でも対象に面白みを感じないときはどうしようもない。

10年前にこの本があったら全然違ったと思う。

Ruby好きな人にはおすすめの本。

当たり前だけど。

我慢してまでreturn文を省略したいとは思わない。

*1:言語としてならSwiftのほうが良いが、Objective-Cと付き合いたくはない。

広告