today_rainy's blog

ガジェットやらプログラムやらを地道に弄くる。

Huawei Ascend G6の本体ストレージ

本体容量が異常に小さいため、アプリを少しインストールするだけでパンパンになる。記憶領域は余っててもダメ。ダメ端末。

Googleマップのローカルガイドまとめ

仕事もプライベートもバタバタして人工無能とかの熱は冷めた。最近はGoogleマップのローカルガイドに精を出している。

200ポイントを集めて、レベル4になればGoogleドライブ容量が1TB貰えると、一時話題になったアレだ。

しかし、結構情報が薄いので、今から始める人たちと、Googleの中の人に向けて要望をメモしておきたい。



1.ポイント制度の超概要

自分の街を設定して、マップ上の施設に、
  • クチコミで1ポイント
  • 写真提供で1ポイント
  • 質問回答で1ポイント
  • 新しい場所追加で1ポイント
  • 情報の訂正で1ポイント
つまり1箇所で最大5ポイント。



2.ポイント集めにおすすめの方法

新しい場所追加と情報訂正は、審査があるようで、いつ誰がどうやってやってるかは分からないけど、審査されない限り、ポイントは入らない。

だから最初は行ったことある場所に、クチコミ、写真、回答をしていくのが早い(3ポイント)。

自宅にいてクチコミと回答できる場所を探すのもいいけど、意外と探すことが大変だったり、写真があるといいので、駅周辺を実際に散策しながらやると手っ取り早い。私は一時間で100ポイントぐらい行きました。

あ、ポイントは即時追加ではなく、1〜2日、新しい場所の追加は長いと1ヶ月以上変化ない気がします。

また、レベル4になってもGoogleドライブの1TB特典は最大で5週間ほどかかるようです。気長に待ちましょう。



3.クチコミと回答はご自由に

書き方は自由だと思います。星だけでもポイントがもらえるかは未確認なので近々やります。

ただGoogleに対する文句を書いて、星を下げてる人がたまにいます。(例 ストリートビューの写真を見て、『店の写真が悪い!星一つ』とか)

いや、それ店の評価じゃないので。そういう場合は、『フィードバックを送信』してあげてください。まぁ問題の程度にもよるけども。

質問回答についても気軽にやりましょ。


4.私なりの写真の撮り方

最初はポイント集めが目的なので適当に撮ったりしますが、結局自分が便利に使えれば最高ですよね。ということで、私は次のように撮ります。

  • 店外観は位置が判るように引きで1枚
  • メニューや気になる情報を1枚
気になる情報というのは、フロアマップや駐車場の料金表を自分用に撮影することが多いですね。



5.私なりの情報の訂正
複数直してもひとつ直しても1ポイントなので、気分によって妥協します。一番は自分のために営業時間を追加します。位置が建物ひとつ違う等、微妙に間違ってるのも直します。あとは、場所名がたまに、宣伝かよ!ってぐらい長いものを正します。(例 『焼肉○✕ 〜のんびりできるゆったり空間〜』)

  • 営業時間
  • 位置
  • 場所名
  • 住所
  • 電話番号
  • WEB


6.新しい場所の追加

これについては首都圏じゃないからなのか、追加してもまったく審査がされないので、書くことができません。フロア図の作り方や、建物内を指定した住所登録等、気になることがあるのですが、、、まぁこんな感じだと時期に熱が覚めるんでしょうなぁ。。。




だらだら書いたけど、まだまだやるかは未定。散歩しながらできるので、健康には良さそうだけれども、居住地周辺でやると身バレするので、投稿者を匿名化できると嬉しいですけどねー。

人工無脳っぽいのを作ろうか、資料集めするか

だいたいこの辺を見とけば、平均点は取れるだろうという感触。

snipplr.com
http://www.ycf.nanet.co.jp/~skato/muno/
d.hatena.ne.jp
Rubyist Magazine - 人工無能 Reudy (ロイディ) 1.9
wise9 › JavaScript/enchant.jsで作る人工知能(アソシアトロン)
codezine.jp
blog.livedoor.jp
noob-programmer.hatenablog.com
www.nicovideo.jp


www.amazon.co.jp
www.amazon.co.jp

CaboChaのインストールと見せかけたMeCab from Python on raspbian

Python on RaspberryPIで形態素解析やりたくて、
色々調べた結果、係り受け解析ができるCaboChaをインストールTRY。
CaoboCha: Yet Another Japanese Dependency Structure Analyzer
qiita.com

qiita.com


失敗したら最悪これで行こう。。。developer.yahoo.co.jp


今回参考にしたページは
Lubuntu - だいたい15分でCaboChaマシン(2015年6月版) - Qiita

説明が面倒なので、詳細は参考ページにお任せ。もう全部いっぺんにインスコ

$ sudo apt-get install build-essential devscripts dh-make autotools-dev fonts-migmix mecab mecab-ipadic-utf8 libmecab-dev

とりあえずCaboChaの前段であるMecabちゃんを動かしたいけど、

$ python
Traceback (most recent call last):
  File "test_mecab.py", line 5, in <module>
    import MeCab
ImportError: No module named MeCab

そもそもMeCabなんて見えてないっぽい。。。どうやらバインディングとやらで
mecabpythonで使うためのmecab-pythonが必要だけど、pipで上手く入らない。。。

$  sudo pip install mecab-python
 MeCab_wrap.cxx:149:20: fatal error: Python.h: No such file or directory

# 怒られた、、、python関連の環境追加して再トライ
$ sudo apt-get install python-dev
$  sudo pip install mecab-python
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default]
    MeCab_wrap.cxx: In function ‘PyObject* _wrap_Lattice_newNode(PyObject*, PyObject*)’:
    MeCab_wrap.cxx:5161:39: error: ‘class MeCab::Lattice’ has no member named ‘newNode’
 (以下、似たようなエラが続く・・・詰まった)

# MeCabとのVersionが不一致かと思い、合わせてみるもなんか違うSSL要因で失敗の様子
$ sudo pip install mecab-python-0.993
/usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Could not find a version that satisfies the requirement mecab-python-0.993 (from versions: )
No matching distribution found for mecab-python-0.993

# InsecurePlatformWarningというエラーはちょいちょ見るので、これを解決させてみよう
$ sudo apt-get install python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev
$ sudo pip install requests[security]

# 再トライも、そんなパッケージねぇ!と怒られる
$ sudo pip install mecab-python-0.993
Collecting mecab-python-0.993
  Could not find a version that satisfies the requirement mecab-python-0.993 (from versions: )
No matching distribution found for mecab-python-0.993


# うるせぇ、じゃぁ自分でやるよ!
$ wget http://mecab.googlecode.com/files/mecab-python-0.993.tar.gz
$ tar zxvf mecab-python-0.993.tar.gz
$ cd mecab-python-0.993
$ sudo python setup.py install

#
#                                 ,.へ
#  ___                             ム  i
# 「 ヒ_i〉                            ゝ 〈
# ト ノ                           iニ(()
# i  {              ____           |  ヽ
# i  i           /__,  , ‐-\           i   }
# |   i         /(●)   ( ● )\       {、  λ
# ト-┤.      /    (__人__)    \    ,ノ  ̄ ,!
# i   ゝ、_     |     ´ ̄`       | ,. '´ハ   ,!
#. ヽ、    `` 、,__\              /" \  ヽ/
#   \ノ ノ   ハ ̄r/:::r―--―/::7   ノ    /
#       ヽ.      ヽ::〈; . '::. :' |::/   /   ,. "
#        `ー 、    \ヽ::. ;:::|/     r'"
#     / ̄二二二二二二二二二二二二二二二二ヽ
#     | 答 |     コ ロ ン ビ ア       │|
#     \_二二二二二二二二二二二二二二二二ノ
#

$ python
>>> import sys
>>> import MeCab
>>> m = MeCab.Tagger("-Ochasen")
>>> print m.parse("今日もしないとね")
今日	キョウ	今日	名詞-副詞可能		
も	モ	も	助詞-係助詞		
し	シ	する	動詞-自立	サ変・スル	未然形
ない	ナイ	ない	助動詞	特殊・ナイ	基本形
と	ト	と	助詞-接続助詞		
ね	ネ	ね	助詞-終助詞		
EOS

疲れたので今日はここまで。2時間ほど。。。


追記:
寝る前にマルコフ連鎖で文章っぽいものを生成しているページを発見したので、ちょこちょこっとmecab-python風に書きなおしたらすぐ動いた。スゴイ簡単。でもイミフな文章だなぁ。kenkiti.hatenadiary.jp

$ python mecab_markov.py
 吾輩はここで聞くとそれは時々ぷうぷうと煙を見たかとんと見当がつかぬ。ただ彼の真中があったかとんと見当がいわゆる人間という話であった所である。第一毛をもって装飾されべきはずの掌に載せられたかとんと見当が今でも薄暗いじめじめしている。この時妙なものを吹く。ただ彼の上で一番獰悪なものだとそれは猫にもなかったがつかぬ。この書生というものだ。掌には書生というのがいわゆる人間中であろう。 どこで一番獰悪なものの真中があったから時々ぷうぷうと煙を捕えている。そうしてその当時はまだ無い。この書生の掌に載せられた事は書生というものだ。掌の上であろう。ただ彼のは時々我々を吹く。この頃知ったのがこんな片輪には書生というものを見た。掌に載せられた所でニャーニャー泣いていた事だけは何という考もだいぶ逢った。名前は書生の顔を吹く。しかしその穴のは何という話で生れた。何でも薄暗いじめじめしたばかりである。掌の上であったの見た感じがあまりに突起して人間の見始であったのが人間のがない

CTU設定を見直す

関係ないと思いますが、ルータが不安定なのでセキュリティ周りを見直し開始。
(数日までにSSH接続が切れたのも何やら不安。sshdプロセスがkillされてないよね?
Linux - 不要なユーザを強制ログアウトさせる - Qiita

CTU設定にてファイアーウォールが「WAN側からのウェルノンポート以外の通信はすべて許可」というガードを下げるスタイルだったので、基本的にWAN側からはすべてのポートを閉じて、指定ポートだけ許可する形に修正。

あとは、RaspberryPIのSSH認証関連で、以下の残課題を後日やろう。今日はここまで。
 ・パスワード認証から公開鍵暗号認証に
 ・PIユーザーの削除
 ・アクセスログの定期チェックCRON作成

後で参考にするページ
管理者/sshd への攻撃を撃退 - 武内@筑波大

手探りでPython(とりまtwitterAPIをいじる)

RaspberryPIでTwitterを弄りたいので、
初挑戦のPythonに手探りで特攻。

何事も最初は先達たちに学ぶ。

※参考にしたページ
Pythonで一番最初に入れるべきパッケージ setuptools と pip - Life with Python
Python で Twitter API にアクセス - Qiita


一番最初に入れるべきパッケージ管理ツール setuptoolsをインスコ

$ wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

次にインストールすべきパッケージ管理ツールpipをインスコ(setuptools活用、管理者権限を忘れずに)

$ sudo easy_install pip

メインではpipを使うようです。基本的にはapt-getみたいなもんですね。

やっと本題のtwitter APIを叩くパッケージをインスコ

$ sudo pip install requests requests_oauthlib

twitterAPIを叩くためにはtwitterへ登録が必要なので、下のサイトから
https://apps.twitter.com/app/new

・Name(必須なので適当に)
・Description(必須なので適当に)
・Website(必須なので適当に)
・Callback URL(任意なので空欄)
で登録したら、電話番号を登録しないとあかんと蹴られた。むむぅ。(2015.4月より)

止むを得ないので登録して再申請。
登録後の画面にて、「Key and Access Token」タブで、
・Consumer Key
・Consumer Secret
下部の「Create my access token」を押下後、
Access Token Key
Access Token Secret
をゲット。これで準備OK。

参考にさせていただいたページのコード(timeline.py)を一旦まるっと頂いて動作確認。よし。
でも書いてあるPythonのコードは雰囲気だけしか判らない。が、よし。

HDDの復旧 (SAMSUNG HD501LJ)

家に書斎を作ったので、今まで溜め込んでいたジャンクを整理した。
むき出しのHDDがいくつか転がっていたので、SATA-USBで中身を確認して必要なもののみ吸い出す。

その中で一つだけ。。。

f:id:today_rainy:20150830230942j:plain

SAMSUNG HD501LJが電源を入れても、

キュイーン、、、カコン、、、キュイーン、、、カコン、、、キュイーン、、、カコン、、、

あ、これダメな奴だ!人生で実は初めて不良HDDを手に入れたので少し嬉しいが、
中身が見えないので大事なものだったらどうしようという不安がよぎる。

(数年間を入れてないし、むき出しの時点で大事じゃないと思うけど、、、)


HDD復旧についてネットで調べるも、「業者は相当高額だよ!」ということが分かっただけ。
典型的な叩いて修理を試みるものダメ。

下の人のようなスーパー超人もいたけど、そんなスキルはない。

sunao.orz.hm



少し考えてみる、、、

USBを挿して電源を入れる
 → 異音がし続ける
 → ドライブ認識
 → エラーでドライブ認識できず

一瞬でもドライブ認識するってことは、ファイルシステムは生きてるのかな?
とりあえず、中身が何かが見えればいいので、

何となくRaspberryPIでマウントを試みる。

$ sudo fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   976771071   488384512    7  HPFS/NTFS/exFAT

初めて使うファイルシステムでんがな。必要なパッケージをインスコしてマウントする。

 $ sudo apt-get install exfat-fuse exfat-utils
 $ sudo mount /dev/sda1 /media/hdd4
The disk contains an unclean file system (0, 0).
The file system wasn't safely closed on Windows. Fixing.

なんか怒られた。。。Windowsでおかしな閉じ方したやろ!って。

ん?Fixing?ひょっとして回復した?もっかい!

$ sudo mount /dev/sda1 /media/hdd4
Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command.

ん?もうマウントしてるって?どれどれ。

 $ ls
AUTOEXEC.BAT            IO.SYS             php
bootfont.bin            hogege             Program Files
boot.ini                MSDOS.SYS          RECYCLER
Config.Msi              CONFIG.SYS         System Volume Information
cygwin                  npCrochetPLUG.dll  tool
Documents and Settings  NTDETECT.COM       usr
game                    ntldr              WINDOWS
hiberfil.sys            pagefile.sys

うごいたあああああああああああああああ!!!

Fixingといったんで、試しにアンマウントしてWindowsPCに繋ぐもののやはりNG
よっしゃぁああ!!全コピーだあああああああああああああ!!!

 $ cp -r target_dir/ /media/hdd1/dest_dir/

返事がない。まるで屍のようだ。転送速度がクソ遅いけど出来ている様子。

稀に壊れている箇所にぶつかるようで、そのときはエラーで止まるので、
やむなくそれはスキップしてコピー再開。


NTFSのファイルシステムが壊れているようなので、Linuxで直せないか調べたけど、
Microsoft独自仕様で非公開なので、そんなツールはないとのこと。とほほ。


まぁ、中身が大したことがないファイルだと分かっただけでも大前進