2013年12月31日火曜日

へっぽこプログラマーの2013年購入ガジェットまとめ

大晦日ですね。2013年も残すところあと数時間。
昨年もやりましたが、購入したガジェットなどをまとめてみようかなと。

2012年は色々買いましたが、2013年はあまり買っていないような気がしています。
さて、どんなもんでしょうかね。



スマートフォン・タブレット関連


Nexus 7 黒 16GB

Nexus 7は手ごろな7インチタブレットが欲しくて買った。コスパは良いと思う。サクサク動くし画面もそれなりに綺麗だし。
Kindleでマンガ読む専用機になりつつある。

iPhone 5c ブルー 16GB docomo版

iPhone 5cは青可愛くて良いなと思って買った。色は気に入ってる。iOS7のデザインは嫌いじゃない。でもiOSの操作はやっぱり肌に合わない。サイズはまぁまぁ良い。

Nexus 5 白 16GB イーモバイル版

Nexus 5はGalaxy Nexus(SC-04D)がモッサリしてきたのでMNPして買った。サクサク動くし画面綺麗だし、Android 4.4でこなれてきたなぁと感じた。安いし買って良かったと思う。大きい割には持ちやすいし。でも大きいけど。


3機種とも買おうと思った翌日には手にしていた。思い立ったら即購入だったが外れを引いてはいないとは思う。


カメラ関連


Panasonic LUMIX G X VARIO 35-100mm F2.8 Power O.I.S.

35-100mm F2.8は友人の結婚式に持って行く明るいズームが欲しいと思って購入。防塵防滴なのはとても良い。最短撮影距離が80cmなのはちょっとツライ。
結婚式用にはわりと使い勝手が良い画角だったが、手元の料理撮る用には別のレンズがあったほうが良かった。
画的にはM.Zuiko 75mm F1.8には及ばないかなと個人的には思う。

Panasonic LUMIX G VARIO 20mm F1.7 II ASPH.

    20mm F1.7は、何で買ったか覚えてないけど見てたら欲しくなって買ったとかそういう感じだったと思う。パンケーキで使い勝手はとても良い。持ち運ぶのに邪魔にならないし。
    E-M5に付けたときのバランスも悪くない。SIGMA 19mm F2.8との使い分けどうしようとかちょっと思うくらいで買って良かったなと思う。


    もう1個m4/3のボディ欲しい気がするので2014年には買うかもしれません。それよりもSTYLUS-1買ってしまうかな?という気がしないでもないですが。




    端末×3のレンズ×2なので2012年と比べると全然ですね。来年はもうちょい大人しくても良いかなとは思っている。



    それでは皆様良いお年を。
    来年もよろしくお願いします。

    2013年12月26日木曜日

    mecab-python-0.999をWIndows 64bit版で利用する方法。

    mecabは普通にWindows版の0.999をインストーラで入れておく。
    Microsoft Visual C++ 2010 Expressなんかを入れておく。

    mecab-0.999.tar.gzを展開し、cygwinなどで./configureを実行。

    src/feature_index.cpp(356)
    size_t を unsigned int へ置換
                case 'F':  {
                  const char *r = getIndex(const_cast<char **>(&p), F.get(), usize);
                  if (!r) goto NEXT;
                  os_ << r;
                } break;
                case 't':  os_ << (size_t)path->rnode->char_type;     break;
                case 'u':  os_ << ufeature; break;
                case 'w':
    
                case 'F':  {
                  const char *r = getIndex(const_cast<char **>(&p), F.get(), usize);
                  if (!r) goto NEXT;
                  os_ << r;
                } break;
                case 't':  os_ << (unsigned int)path->rnode->char_type;     break;
                case 'u':  os_ << ufeature; break;
                case 'w':
    
    src/writer.cpp(260)
    (usigned int)を追加
                // input sentence
              case 'S': os->write(lattice->sentence(), lattice->size()); break;
                // sentence length
              case 'L': *os << lattice->size(); break;
                // morph
              case 'm': os->write(node->surface, node->length); break;
    
                // input sentence
              case 'S': os->write(lattice->sentence(), lattice->size()); break;
                // sentence length
              case 'L': *os << (unsigned int)lattice->size(); break;
                // morph
              case 'm': os->write(node->surface, node->length); break;
    
    src/Makefile.msvc(6)
    /MACHINE:X86 を /MACHINE:X64 へ置換
    CFLAGS = /EHsc /O2 /GL /GA /Ob2 /nologo /W3 /MT /Zi /wd4800 /wd4305 /wd4244
    LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X86 ADVAPI32.LIB
    DEFS =  -D_CRT_SECURE_NO_DEPRECATE -DMECAB_USE_THREAD \
            -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 \
            -DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" \
            -DUNICODE -D_UNICODE \
            -DMECAB_DEFAULT_RC="\"c:\\Program Files\\mecab\\etc\\mecabrc\""
    
    CFLAGS = /EHsc /O2 /GL /GA /Ob2 /nologo /W3 /MT /Zi /wd4800 /wd4305 /wd4244
    LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X64 ADVAPI32.LIB
    DEFS =  -D_CRT_SECURE_NO_DEPRECATE -DMECAB_USE_THREAD \
            -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 \
            -DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" \
            -DUNICODE -D_UNICODE \
            -DMECAB_DEFAULT_RC="\"c:\\Program Files\\mecab\\etc\\mecabrc\""
    
    src/make.batを以下の様に書き換え。

    call "%PROGRAMFILES(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" X64
    nmake -f Makefile.msvc

    [スタートメニュー] ->[Microsoft Visual Studio 2010] -> [Visual Studio Tools] -> [Visual Studio x64 Win64 コマンド プロンプト (2010)]を起動してmecab-0.999/srcへ移動する。
    make.batを実行する。

    libmecab.libとmecab.hをmecab-0.996.tar.gzの展開先へコピー
    setup.pyを以下のように書き換える。
    #!/usr/bin/env python
    
    from distutils.core import setup,Extension
    
    setup(name = "mecab-python",
     version = '0.996',
     py_modules=["MeCab"],
     ext_modules = [
      Extension("_MeCab",
       ["MeCab_wrap.cxx",],
                            include_dirs=[r'.'],
       library_dirs=[r'.'],
       libraries=['libmecab'])
       ])
    

    [Visual Studio x64 Win64 コマンド プロンプト (2010)]でmecab-python-0.999.tar.gzの展開先へ移動してpython setup.py bdist_wininstを実行する。

    distの下にインストーラが出来るので実行する。

    lib/site-packagesへmecab-0.999/src/の下に出来ているlibmecab.dllをコピーする。

    以上。

    ちなみにmecabをインストールする際に選んだ文字コード以外だとうまく動かないような気がします。
    (ちゃんと確認したわけではありませんが、そんな感じだったので・・・。Sphinxから使うならWindowsでもUTF-8とかにしておくのが幸せになれるかも。)


    [参考]
    http://neu101.seesaa.net/article/272153413.html
    http://www.ipentec.com/document/document.aspx?page=mecab-compile-for-x64-windows-use-x64-windows




    実はこの記事は9ヶ月前くらい(2013/03上旬)に書いて公開を忘れていたとかそういうあれのやつです。内容古いかもしれませんが一応公開しておこうと思います。

    2013年12月17日火曜日

    あなたがブログを続けなくて良いたった一つの理由

    ブログを続けるデメリット、それは時間を取られることではないでしょうか。
    ネタを用意したり裏を取ったり構成考えたり文章を書いたりと。

    それが面倒だと感じるのなら続ける必要はないと思います。

    ブログを書く時間があったら他のやりたいことをする時間に充てた方がよっぽど有意義です。
    友人と会うとか本を読むとかプログラミングするとか写真を撮るとかそういうことにです。

    ブログを書くというある意味オマケ的な作業にそんなに時間を使うこともないのではないでしょうか。

    人生で使える時間は有限です。
    面倒だと感じることにそんなに時間を割いてないでやりたいことをやるべきです。

    ということで、ブログを続けなくて良いたった一つの理由は『ブログを書くより有意義と感じることに時間を使うべきだから』です。

    ブログを書くべきとか書かなければいけないとか言ってないでもっと肩の力を抜いていきましょう。

    あなたはプロのブロガーですか?
    答えがノーならば無理して続けなくて良いですよ。

    最後に

    こんな記事を書いておいて、じゃあお前なんでブログやってんの?って言われそうなので書いておきます。
    なんとなく書きたいと思う時があったり、ググると自分のためのメモが出てくるのが便利だなと思ったりするからたまに書いてるだけです。
    基本的にブログ書くのは面倒だなと思ってます。特に文章の構成とか考えるのが。
    まぁ特別やめたいとか思わないですけど。

    あとこれを書いたのは、ブログを書くべきだとか書かなきゃいけないと意識高い記事を見て「うへー、息つまりそう……」とか思ったあとに、ネタになるな思ったので書いてみた次第です。

    ブログを続けるメリットはあると思うし、楽しく続けられる人はやったほうが良いんじゃないですかね。