確定申告書の整理番号

https://www.keisan.nta.go.jp/h29yokuaru/kessansyo/seiribango.html
>番号欄には何を入力したらよいですか?
>整理番号がお分かりにならない場合は、空欄のままで差し支えありません。

この番号は申告者を税務署ごとに追跡するための番号だと思われます。
でも、わからなければ入力しなくてもいい(わからないのだから当然か)。

しかしこの8桁の番号には法則性があるようで、左から2桁目と3桁目が苗字の1文字目を表しているようです。

具体的には2桁目があかさたな順で、1が「あ行」、2が「か行」という具合で、「や行」なら8ということですね。(ただし「や・ら・わ行」については後で補足説明あり)
そして3桁目は段を表していますが、0から2ブロックずつ使っています。「あ」の段なら0、「い」の段なら2、「お」の段なら8という具合です。2ブロックずつなので、1も「あ」の段で使われると思われます。

実際に名前がどのようになるかといいますと、「あ」から始まる人は2桁目が1、3桁目が0になります。同様に「き」の人は22、「そ」の人は38となります。
逆に整理番号から調べて、もし64だったら「ふ」から始まる名前の人と推測できます。

ただ、「や行」から使われない段(「い」と「え」)が出てくるためか、ここを空き番号にせず詰めて使われるようです。
「や」からの割当を説明すると、や=80、ゆ=82、よ=84、ら=86、り=88、る=90、れ=92、ろ=94、わ=96、となるようです。(もし「を」があるなら98?)
このことから2桁目に0がくることはないと考えられます。

残りの4桁目以降の後ろの5桁で、納税者に順番に割り振っていくと思われますが、5桁で表せる組み合わせはざっと10万人(社)分、2ブロックあるので20万人分ということになります。名前1文字あたりで考えると十分すぎるかな、とも思えますが、もしチェックディジットで1桁使っていたらと思うと、一気に2万人分しかなくなるんですよね。実際にチェックディジットがあるかどうかは不明ですが、かなり古くからある気がしますので無い可能性が高いですかね。

1桁目については、見たところ「0」で固定されていましたが、人口が多い首都圏では番号が足りなくなるかもしれませんので、ブロックが一杯になったら1桁目が1・2…と増えていくのかもしれませんね。もっとも首都圏でこの法則があてはまるかもわかりませんが。

ちなみに最初の方でも書きましたが、税務署ごとの割当てなので、税務署が違えば同じ整理番号になることも普通にあります。税務署番号5桁+整理番号8桁で同じ番号が重複して発行されることはありません。

Hello WordPress

WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !

ということで、Wordpressへ引越しました!

はてなダイアリー終了ということで、はてなブログへの移行もやってみたのですが、いい機会だし独自ドメインもあるしこちらへ。
MovableType形式のエクスポート⇒インポートで簡単に移行できました。
よく見るとはてな記法?の部分がちょっと体裁が変ですね。まあバリバリに使ってたわけでもないので徐々に直していきます。

今後ともよろしくお願いいたします。

ツイッターBOT作成苦労話

枯れた掲示板を運営しているのですが、書き込みがあったらツイートしたら便利かなと思ったんです。

iftttにメールを送ったらツイートするというレシピがあり、すぐできるなと思いました。

まず最初に、え?と思ったのが、ツイッターのアカウント作成。電話番号を入力しないと先に進めません。

ネットで調べると、スマホから登録するといいとのこと、確かに「スキップ」のリンクが出てきました。

iftttと連携して、いざメール送信。が、ちっともツイートされません。

ここでどうしたかよく覚えていませんが、すぐに解決できそうになかったので早々に諦めました。

php版のBOT作成プログラムを探すと結構出てきたので、簡単なツイートはなんとかできるようになりました。

注意点は古い情報が多いこと(ツイッターのAPI仕様がころころ変わるせいでもある)、そしてBOT用のAPIキーの取得に携帯認証が必要ということです。

同一の電話番号で10個のアカウントが作れるそうです。そこまで複アカしてないし、APIキーはどうやっても必要なので認証させました。

次にひっかかったのは140字制限。

BOTは自作のメッセージがほとんどなので当然140字以内に収めますが、掲示板は字数制限なしなわけで普通にツイートしようとしたら字数オーバーで弾かれました。

mb_strimwidth($str, 0, 140, ‘…’, ‘UTF-8’);

これだ! って思いましたが、コレmb_といいつつマルチバイト対応してない?(文字数じゃなくwidth(幅)で丸めるんだから自分の勝手な思い込みですよね)

mb_substrで十分でした。

SDが壊れていた

下の書き込みの時に新しく買ったわけですが、3ヶ月ぐらいで不調になっていたようです。

ようです、というのは、いわゆる「たちの悪い壊れ方」だったためです。

前は、ファイルの書き込み不良でしたが、これも半年くらいで、書き込みができたように見えて実は失敗しているというたちの悪さでした。

今回は書き込みは問題なくファイルも消えたりしてないが、実はこっそり中身が破損しているという・・・

最初は、SDに入れたmp3を再生していてプチノイズが少し気になるなという程度から始まり、画像をまとめたZIP書庫にもノイズが…、というところでやっとSDがあやしいと気づきました。

買い換えたときのデータコピーの際にfasthashでCRCを残していたので、比べてみるとファイル数で15%ほど破損していました。酷い…

データ的に破損しているのは、動画、mp3、zipが多い。単純にサイズがでかいからかと思ったが、アプリもバックアップしてるのにこちらは割合が低い、ということはアクセス頻度の高いデータ、ということですかね。アプリもそれなりに破損してました。

ちなみに購入直後にCheckFlashを使って全領域の書き込みテストを4回ほど行いこの時点では問題がないことを確認していましたが、レビューにもあったようにわずか数ヶ月後のトラブルとなり非常に残念です。

このSDはもうゴミ箱行きとして、次はどのメーカーにしましょうかね。一番悩むところです。

SanDiskと迷いましたが、悪い評価が少ないこちら SAMSUNG EVO microSDHCカード を試してみます。

(追記)ファイル数ベースだと15%でしたが、ファイルサイズベースだと44%の破損でした

siriの語彙

お昼を食べていると友人からツイートが。

「siriに人生とは?と聞いたら『人に親切にすること、食べ過ぎないこと、いい本を読むこと、適度に散歩すること、信条や国家を問わず、あらゆる人々と平和に仲良く暮らせるように努力することです』と出た」というもの。

siriにはまだ自分で考えることはできないはず。

ならばこの言葉の裏がどこかに、たぶんWEBのどこかにあるはず、と思い探してみました。

適当な(自分でもわかる)単語を英語にしてひたすら検索。

ありました。

・Monty Python’s The Meaning of Life
http://en.wikipedia.org/wiki/Monty_Python’s_The_Meaning_of_Life

モンティパイソンのThe Meaning of Lifeという映画の最後でPalinという女性の出した結論

Try and be nice to people, avoid eating fat, read a good book every now and then, get some walking in, and try and live together in peace and harmony with people of all creeds and nations.

これですね。

タイトル「Meaning of Life」はそのまま「人生とは」ですもんね。

でも、これの元がまた別にあるかどうかまではわかりませんでした。

ちなみにアメリカではこの一節を使ったCMが作られたようです → Macなこと

Androidとセキュリティ

Androidなどのスマートフォンは携帯電話と同列で、個人情報の塊と言える。

PCにおいては、ウイルスが愉快犯から個人情報搾取に変わっていったとき、ファイアウォールがOS標準機能として組み込まれるようになった。

それに対しAndroidでは(基本的には)アンチウイルスソフトで対策するしかない。

どうしてかといえば、Androidのアプリに広告を組み込むことで収益を上げるシステムがあるから。

アプリそのものは無料で公開しても、そこに広告を表示させユーザが購入(クリック?)すれば、開発者に収入が入る。

たとえ微々たるものでも、ご褒美があれば開発者のモチベーションもあがろうというもの。

広告の表示方法は、googleの方でワンセット準備されていて、手間無くお手軽に導入できる。

そしてこのセットは、googleと通信してアプリ利用者ごとに最適な広告を表示するようにプログラムされている。

ここ。

ここだ。

アプリは通信できないと広告表示できない。

だからAndroidはファイアウォールが標準で用意されないのだ。

ファイアウォールがあれば、広告を表示する通信を遮断して表示させなくすることができる。

間違いなく自分もそうする。

ということでAndroidのファイアウォールは今後しばらく存在しないことになったわけだが、これでよいかと言えばもちろん答えはNO。

まずアンチウイルスソフトだが、検出が遅れれば、あとの祭り、個人情報は送信済み、となる。

PCに比べ、スマートフォンでは詳細な検証ができるほどCPUパワーもメモリもない。

次に権限のこと、アプリをインストールするときに必ず出てくるあれです。

大半のアプリにはフルインターネットアクセスの権限があるでしょう。

これがくせ者で、本来インターネットアクセスなんか必要ないアプリでも広告表示のためには必要、というわけです。

そうやっていくつかインストールしているとだんだんインターネットアクセス権限についての判断が麻痺してきます。

あやしいアプリがインターネットアクセス権限を求めてくる、広告表示のためなのかな、まいっか。

いくないです(あやしいと思った時点でインストールしたらいかん)。

電話帳へのアクセス権限要求も多い気がする。

でも仮に電話帳から個人情報が抜かれたとしても、インターネットアクセスができなければどうにもならないはず。

電話帳とインターネット、両方許可したら・・・

ちなみにファイアウォールがないと書いてきましたが、DroidWallとかあるにはあるんですよ。

ただroot化が必要で、国内キャリアが販売してる端末は禁止行為になっていますんで、ええ。

SDが壊れたとき(保証があるとして)

  • バックアップをとっていない場合
    「プライベートなデータが入っているから復旧して」
     →メーカーへ
  • バックアップをとっている場合
    「プライベートなデータが入っているから見ないで」
     →泣き寝入り

10年保証や永久保証をうたうメーカーもありますが、まずはちゃんと使える(故障率を減らす)ようにしていただきたい。

Amazonのレビュー見ても、購入してから1ヶ月や2ヶ月して壊れるケースが結構あります。
初期不良で壊れるよりたちが悪いです。
購入直後にエージングを3周ぐらいさせればいいんでしょうか。