春の翻訳&ドキュメンテーション祭りに参加

ということで参加してきました.WordPress はそんなに使ってないのですが(今はこのページともう一箇所だけ),普通にGettext での国際化のようなので最近翻訳してなくてコマンドとかも忘れてるし…てことで参加してきました.
会場は301コワーキングスペース.
IMGP9309
こちらのビルの
IMGP9311
その名の通り301号室です.

  • 鹿児島のコワーキングスペース 301 サンマルイチ | 鹿児島中央駅から徒歩3分
  • 2014-05-17 12.44.13
    #準備中の写真しかとってなかったですorz
    翻訳対象はドキュメント,プラグイン,テーマなど.鹿児島では Theme My Login Login LockDown をターゲットにすることに.

    Theme My Login は .pot があるのでお手軽だったのですが, Login LockDown は.pot の作成からでした.

    作業の前にdebian/ubuntu 環境だと,関連パッケージは以下のような感じで導入できます.

    % sudo apt-get install gettext-base gettext poedit

    .pot を作成します.初め以下のようにしていたのですが, _e の行が拾えません.

    % xgettext —keyword=’_’ —language php —from-code=UTF-8 -o ./loginlockdown.pot find $PWD -name *.php -type f

    試行錯誤して最終的に以下のように —keyword を複数指定することで恐らく全て抽出出来ました.

    % xgettext —keyword=’__’ —keyword=’_e’ —language php —from-code=UTF-8 -o ./loginlockdown.pot find $PWD -name *.php -type f

    .pot から ja.po の作成は以下のようにして行いました.

    % msginit —locale ja_JP.UTF-8 —input=loginlockdown.pot

    初め —locale ja としていたのですが,これだと charset=CHARSET となって先ずそうだったので ja_JP.UTF-8 を指定するようにしました.これで, charset=UTF-8 になりました.

    後はPoedit で翻訳して保存すると自動的に ja.mo も作成されます.
    手動で mo を作る場合は, % msgfmt ja.po -o ja.mo で行けます.
    #ちなみに今回 Poedit に有料版があるのを知りました! http://poedit.net/pro/

    ここでまた問題.
    ja.mo の結果が反映されない><

    source を見るとそもそも load_plugin_textdomain() が呼ばれていなそう.試しに書き換えてみると .mo が反映されました!
    #.pot が作れるのになぜ!?

    Screenshot from 2014-05-23 13:06:11

    という辺りで今回は時間切れとなりました.
    別の方々が ja.po の翻訳をされていたのでそっちとマージするといい感じになりそうです.

    鹿児島会場の参加者は最終的に7人でした.
    そうそう!定期的にやりたいねって話になりました.次回は恐らく6/14(土)となりそうです.
    興味のある方は以下のFacebook Group をcheck!

    関連URL

    今回のハッシュタグ

    OSunC2014川越に遠隔参加

    2014-05-10 13.28.32
    5/10 の OpenSourceUN-Conference2014川越 がUstreamで中継されるということでUstream 経由で参加しました. 当日は家だと回線が細い&不安定なので(光回線はよ><)ネットカフェで視聴しました.
    「今日の 行けないんで誰か の宣伝してくれないでしょうか(ぉ http://kagolug.org/ 」
    とか前日に投げたところ「東海道らぐってな〜に?」の中と「鹿児島Linux勉強会ってなーに」として発表してもらえました.はしもとさん,koedoyoshidaさんに感謝!

    発表内容はこんなかんじでした.
    Twitter 等で発表資料を見かけた人はURL をつけてます.

    #発表したい人は当日以下のページを編集してねって感じになってました.
    ##今は編集不可になってるよう.

    当日のTwitter つぶやきのまとめです.

    自宅でUst視聴すると色々割り込みが入るのでネットカフェで視聴したのは当たりでした. 問題はネットカフェが自動車で30分位のところに1件.後はフェリーを使って鹿児島市内へという感じで選択肢が数無いところですね.運転をするのでお酒も飲めないし><
    でも久々に小江戸らぐの空気に触れられて楽かったです.

    「赤城さんのお風呂タイマー @艦これ」をDebian jessie で試す

    赤城さんのお風呂タイマー @艦これ というソフトを見つけて,Linux でも動作するよと書かれていたので気になっていました.
    これをDebian jessie 環境でビルドしてみました.(が,動作していませんorz)

    ソースコードからビルドすれば、Linux や Mac でも動作することを確認しています。
    

    クリーンな環境でビルドしてないので足りないものもあるかもしれませんが,こんな感じで必要なパッケージを導入します.

    % sudo apt-get install liblua5.1-0-dev libyaml-cpp-dev libboost1.53-dev libopencv-highgui-dev libluabind-dev doxygen xdot libcsnd-dev lua5.2 mercurial build-essential
    

    bitbucket からsource を貰ってきます.

    % hg clone https://bitbucket.org/satofumi/bath_timer
    

    make します.

    % cd bath_timer
    % make
    

    実行ファイルを叩いてみます.

    % bath_timer/bath_timer
    zsh: segmentation fault  bath_timer/bath_timer
    

    orz
    カレントディレクトリで実行したりテーマファイルをコピーしたりしてみましたがうまく行きませんでした><
    テーマはディレクトリ構成とかがよくわからなかったのでWindows のものをCP したりしてみました.

    ということで,とりあえずいつものkoedoyoshidaさんの艦これタイマーに戻ります….

    ちなみに,どうやってブラウザと通信しているんだろうと疑問だったのですが,こちらに解説が.通信しているわけではなくOCR で読み取っているんですね.眼から鱗.

    Linux でバッテリー状況確認方法幾つか

    以前は /proc/acpi/battery/BAT0 以下のあたりを見てバッテリ状況を確認できていました.

    最近は /proc 以下は非推奨になっていてそこでは情報が見られません. /sys/class/power_supply/BAT0 あたりで見られるようになっています.

    でも値が生データのようです.

    % cat /sys/class/power_supply/BAT0/uevent
    POWER_SUPPLY_NAME=BAT0
    POWER_SUPPLY_STATUS=Unknown
    POWER_SUPPLY_PRESENT=1
    POWER_SUPPLY_TECHNOLOGY=Li-ion
    POWER_SUPPLY_CYCLE_COUNT=0
    POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000
    POWER_SUPPLY_VOLTAGE_NOW=12816000
    POWER_SUPPLY_POWER_NOW=0
    POWER_SUPPLY_ENERGY_FULL_DESIGN=93240000
    POWER_SUPPLY_ENERGY_FULL=78080000
    POWER_SUPPLY_ENERGY_NOW=78010000
    POWER_SUPPLY_CAPACITY=99
    POWER_SUPPLY_MODEL_NAME=42T4940
    POWER_SUPPLY_MANUFACTURER=SANYO
    POWER_SUPPLY_SERIAL_NUMBER= 4572
    

    acpi コマンドでも少し情報は見られますが少ないです.

    % acpi -bi
    Battery 0: Unknown, 99%
    Battery 0: design capacity 7275 mAh, last full capacity 6092 mAh = 83%
    

    acpitool だと詳細な情報が見られます.

    % acpitool -B
      Battery #1     : present
        Remaining capacity : 78010 mWh, 99.91%
        Design capacity    : 93240 mWh
        Last full capacity : 78080 mWh, 83.74% of design capacity
        Capacity loss      : 16.26%
        Present rate       : 0 mW
        Charging state     : Unknown
        Battery type       : Li-ion 
        Model number       : 42T4940
        Serial number      : 4572
    

    今回 * Lenovo のバッテリー自主回収 | matoken’s meme

    の時知ったのですが,upower というコマンドもありました.多分HAL 依存です.

    % upower -d|grep -i device
    Device: /org/freedesktop/UPower/devices/line_power_AC
    Device: /org/freedesktop/UPower/devices/battery_BAT0
    
    % upower -i /org/freedesktop/UPower/devices/battery_BAT0
      native-path:          BAT0
      vendor:               SANYO
      model:                42T4940
      serial:               4572
      power supply:         yes
      updated:              2014年04月02日 05時54分34秒 (6 seconds ago)
      has history:          yes
      has statistics:       yes
      battery
        present:             yes
        rechargeable:        yes
        state:               fully-charged
        energy:              78.01 Wh
        energy-empty:        0 Wh
        energy-full:         78.08 Wh
        energy-full-design:  93.24 Wh
        energy-rate:         7.137 W
        voltage:             12.816 V
        percentage:          99%
        capacity:            83.7409%
        technology:          lithium-ion
    

    proc や sys で覚えるよりコマンドの方で覚えといたほうがまた変わったときも吸収されて長く使えるかも?
    それともコマンドが対応できなかったり無くなっちゃうか….

    追記)
    Gnome のGUI だと「電源使用率の統計(gnome-power-statistics)」で見られます.多分upower を利用してるような気がします.
    Screenshot from 2014-04-02 20:17:14

    Lenovo のバッテリー自主回収

    2014-03-30 20.45.18

    Lenovo のNotePC に使われているバッテリーの一部で問題が起こる可能性があるということで自主回収を行っているようです.
    アメリカで2件の発熱事故があったそうです.

    対象機種を調べてみると,私の持っているX201s も対象だということで確認してみました.
    #現在USBx2が死んでたりマザーボードが死にかけてよく落ちたりするようになっているorz

    Windows で動作するチェッカープログラムが提供されていますが,OS はWindows ではないので次のフォームを利用しました.

    バッテリー裏のバッテリーコードを入力するのが面倒(22桁!)ですが,バッテリーさえ手元にあればチェックできます. 端末はLinux なのでバッテリのステータスを表示してコピペすればと思ったのですが,型番やシリアルなどは出てきますが,バッテリーコードらしきものは見当たりませんでした.チェックプログラムは提供されているので求め方はあるんでしょうけどね><

    手元に2本あるのでバッテリーコード入力すると,買い増しした方のバッテリーが交換対象でした. そのまま住所などを入力するととりあえず手続き完了. ちなみに1本ずつしかチェックできなので,恐らく複数の対象バッテリがある場合は住所等の入力はその都度必要そうです.

    しばらく待つと新しいバッテリーが発送されてくるはずなので,代わりに対象のバッテリーを返送する形になるようです.

    ちなみに,交換対象のバッテリセルはSANYO で,対象外のはPanasonic でした.

    バッテリーのヘタリ具合もみてみると,未だ80%程のようでまだまだ使えますね.2本を交互に使ってたのがよかったのかな?ちょっと勿体無い.

    $ upower -d|grep -i device
    Device: /org/freedesktop/UPower/devices/line_power_AC
      native-path:          /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:09/PNP0C09:00/ACPI0003:00/power_supply/AC
    Device: /org/freedesktop/UPower/devices/battery_BAT0
      native-path:          /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:09/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
    $ upower -i /org/freedesktop/UPower/devices/battery_BAT0
      native-path:          /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:09/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
      vendor:               SANYO
      model:                42T4694
      serial:               xxxx
      power supply:         yes
      updated:              Sun Mar 30 20:36:32 2014 (15 seconds ago)
      has history:          yes
      has statistics:       yes
      battery
        present:             yes
        rechargeable:        yes
        state:               charging
        energy:              56.1993 Wh
        energy-empty:        0 Wh
        energy-full:         75.3912 Wh
        energy-full-design:  93.24 Wh
        energy-rate:         17.3715 W
        voltage:             12.746 V
        time to full:        1.1 hours
        percentage:          74.5436%
        capacity:            80.8571%
        technology:          lithium-ion
      History (charge):
        1396179392      74.544  charging
        1396179363      74.337  charging
        1396179333      74.131  charging
        1396179303      73.910  charging
      History (rate):
        1396179363      17.371  charging
        1396179333      17.349  charging
        1396179303      17.072  charging
    

    ちなみにこの買い増ししたバッテリーは2011年3月19日に秋葉原のニッシンパルで購入しました.計画停電時にバッテリ容量が心もとなかったので購入したのでした.

    sl改なえるたそ〜

    てことで手元の端末に入れてみました.
    Debian jessie で動かしましたが,Debian/Ubuntu系だと同じ手順で行けると思います.

    先ずは開発環境の導入.

    $ sudo apt-get install build-essential git
    

    続いて,erutaso の元になっているsl のbuild に必要なパッケージ導入.

    $ sudo apt-get build-dep sl
    

    source を貰ってきて,build

    $ git clone https://github.com/sgymtic/sl.git
    $ cd sl
    $ make
    $ ./erutaso
    

    手元の環境では ~/bin にパスを通してあるのでそこにコピーしておきました :)

    昔Solaris 環境でいっぱいパッチの当てたsl 入れてたの思い出しました.遮断機とかすごい長い編成とか往復とかでなかなか邪魔でしたw

    追記)
    手元の環境で KININARIMASU と言わないのでsource 見たらoption ありました.

    • -a KININARIMASU というようになる
    • -F 斜めに移動

    ※米澤 穂信の最近の本読んでないなぁ…

    GdNewHat 20 を導入して日本語環境を設定

    GdNewHat 20 を導入して日本語環境に

    gdnewhat

    インストールの準備

    公式ページのダウンロードサイトからiso イメージを入手します.

    今回はx86_64 のiso ファイルを BitTorrent で入手しました.
    これをUNetbootin でUSBメモリに導入してGdNewHat のUSBインストールメディアを作成しました.

    GdNewHat20 の導入

    作成したUSBメモリから起動してGdNewHat のインストーラを起動します.
    日本語を選択してインストール.

    インストーラのディスク設定時にインストーラごと落ちてしまって困ったのですが,インストーラではなくfdisk で手動設定した後インストーラで設定したら通りました.

    Update

    起動できたらネットワークに接続し,最新の状態にします.

    $ sudo yum update -y

    日本語入力の設定

    日本語入力のためにibus-moac を導入して設定します.

    ibus-mozc の導入

    $ sudo yum install mozc ibus-mozc

    ibus の設定

    インプットメソッドの切り替えのショートカットが Super+space なので,Ctrl+spoace に変更します.

    $ ibus-setup

    で設定画面が起動します.

    ibus 自動起動設定

    ibus-daemon を起動すると日本語入力が出来ます.
    これを自動的に起動するようにします.

    「システム」->「Preferences」->「ユーザ向け」->「自動起動するアプリ」で「自動起動するアプリの設定」画面を起動します.
    「追加」ボタンで以下のように登録します.
    * 名前 : ibus-daemon
    * コマンド: /usr/bin/ibus-daemon -d
    * 説明 :

    これで再起動して Ctrl+space で日本語入力ができるか確認します.

    UNetBootin で opencocon の USB メモリを作る



    先日,opencocon のUSB メモリシステムを作ったのですが,UNetBootin でお手軽に導入できないだろうかと試してみたところうまく行きました.
    簡単に手順を書いておきます.
    ※UNetbootin はLinux 以外でもMacOS X/Windows でも動作するのでそれらの環境でも同様に導入は可能だと思います. :)

    opencocon の入手

    以下のページから最新の Live CD Edition とハッシュファイルを入手しましょう.(for Raspberry Pi の方ではありません)
    ダウンロードが終わったら md5sum コマンドでハッシュを確認しましょう.

    % md5sum -c opencocon-v8b-20140227.iso.md5
    opencocon-v8b-20140227.iso: 完了

    母艦(Debian) での準備

    UNetBootin パッケージを導入します.以下はDebian jessie 環境での例です.

    $ sudo apt-get install unetbootin unetbootin-translations

    USB メモリの準備

    opencocon 専用であれば 1GB あれば十分です.(多分256MB 以上でOK)
    これを vfat でフォーマットしておきます.

    UNetBootin でのopencocon 導入

    • UNetbootin を起動しましょう.

    起動時にOS や設定によりroot パスワードか,sudo の設定がされていればユーザパスワードが求められます.正しく入力すると起動します.

    起動したら以下の設定を行います.
    * 「ディスクイメージ」のチェックボックス.
    * ディスクイメージとして opencocon のiso イメージを指定します.
    * 「タイプ」の設定を「USB ドライブ」にします.
    * 「ドライブ」を opencocon を導入したいデバイスを指定します.
    Screenshot from 2014-03-23 22:33:33

    設定が終わったら「OK」ボタンを押すとUSB メモリへデータのコピーが始まります.
    Screenshot from 2014-03-23 22:36:38

    しばらく待つと出来上がりです :)
    Screenshot from 2014-03-23 22:39:45

    これで旧型PC とかで色々遊べます :)

    ちなみにRaspberry Pi 版もありますよ

    電波を見て NotePC を検知して盗難

    #asiabsdcon を眺めていて見かけたTweet ですが,

    これは怖いなー.助手席とか置いてたら一瞬ですね><

    最近だとWardriving も特に何も知識なくてもAndroid とかにAPP を入れるだけ(rootもいらない)で出来るのですごくカジュアル&怪しまれずに探れますね.
    そういえばゲーム機とかですれ違い通信とかを有効にしてるのも危なさそうだ.

    ちょっと違うけどアメリカの免許証のスキミングなんかも車外から可能だそうですが,日本の免許証とかどうなんでしょうねとか色々怖くなって来ました><

    Windows でdd を試みる(Kobo イメージ書き込み)

    Kobo Debian のmicroSD Card への書き込みにWindows を利用している方がバイナリエディタ使ったりしてるのですが,Windows のdd じゃ出来ないのかな?と疑問に思っていました.
    マンガ喫茶に寄った時にWindows 端末が触れたので試してみました.

    はじめWin32 Disk Imager で試そうとしたのですが,seek/skip の使い方がわからない(実装されてない?)ので諦めて,dd for windows で試しました.

    #rawwrite とか懐かしすぎる!

    ほぼ,Linux 版と同じ使い方ですが,デバイスの指定方法が違いました.
    以下の例では, F: に書き込んだ場合ですが, \\.\F: と指定するようです.

    >dd if=E:\2014-02-11_kobo_debian.img of=\\.\F: bs=4M
    rawwrite dd for windows version 0.3.
    Written by John Newbigin <jn@it.swin.edu.au>
    This program is covered by the GPL.  See copying.txt for details
    Error writing file: 87 パラメーターが間違っています。
    1023+1 records in
    1023+0 records out
    

    seek も使えます.

    >dd if=E:\glo_hwconfig.bin of=\\.\F: bs=512 count=1 seek=1024 count=2
    rawwrite dd for windows version 0.3.
    Written by John Newbigin <jn@it.swin.edu.au>
    This program is covered by the GPL.  See copying.txt for details
    2+0 records in
    2+0 records out
    

    ところで,フォーマット前のドライブレターが割り当てられてないデバイスに対してはどうやって書き込むんでしょうね?