読者です 読者をやめる 読者になる 読者になる

職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

2月の米子の旅日記 〜 中国地方DB勉強会への参加など

その他 MySQL PostgreSQL

先月の話ですが、鳥取県は米子に行ってきました。
中国地方DB勉強会 #19 を動機とした旅行計画でしたが、かなり満喫することができました。

(続きを読む 際は写真が多くなることに注意)

続きを読む

「暗号解読」を読んだ

パソコン・インターネット

昨年、オススメの本を紹介しあう会(ビブリオバトル)が会社で開催されたのだが、その会に同僚氏が持ち込んだ「暗号解読」という本がとても興味深かったので、買って読んだ。

暗号解読〈上〉 (新潮文庫)

暗号解読〈上〉 (新潮文庫)

暗号解読 下巻 (新潮文庫 シ 37-3)

暗号解読 下巻 (新潮文庫 シ 37-3)

手元の本は平成25年に15刷と書いてあるので、かなりのロングセラーなのだろう。恥ずかしながら自分は同僚氏に紹介されるまで知らなかった。

暗号解読。
身近なところでは、シェル芸人の皆さんによる暗号解読騒ぎなどが記憶に新しい。
【こわい】唐突に暗号解読を始めるシェル芸人達 - Togetterまとめ

日頃、SSL/TLS を喋るサーバを構築したり管理したり、アプリケーションが取り扱うデータの安全性をどのように確保するのか?といったことに頭を使ったりなど、暗号のことを考えない日は無いと言っていいほどだ。
簡単な暗号なら有限量の努力で解読できる。そういう自信もあった。
しかし、実際に自分の手を動かして、あるいは自分で解読用のプログラムを書いて暗号解読を試みたことはあるかと言われると、ほとんど無い。

この「暗号解読」は少々古い(2000年前後に書かれた本だ)が、古典的な暗号や第二次世界大戦、そしてRSAや量子暗号に至るまで、時代をたどりながら取り上げて行く。簡単なものについては解読するための手法も実践的なものが紹介されている。
また、ただ単に技術的な解説にとどまらず、その暗号の発明や解読に至る人間の動きも紹介されていて没入感が高い。
読むにあたって、全部理解しようとするとなかなか難しいものはあるかもしれないが、話を追う分には、前提知識は特に要らないだろう。きっと。
皆さんも読んでみては。

追記@2017/03/19 01:10頃

そういえば、ちょっと前に「セキュリティフォント」という いかがわしい 製品が話題になっていた。
security.srad.jp
この「セキュリティフォント」の仕組みは、単純な換字式暗号。「暗号解読」の上巻の、かなり最初の方で解読法が解説されてしまう代物だ。
「セキュリティフォント」には情報を守る効果がほとんど無い(ただしゼロではない)ということはすぐにわかることではあるが、この本を読んでいれば、単純な換字がどれだけ危険であるか身を以て知ることができるだろう。

忙しさから遠ざかれ

その他

数ヶ月前、近所のスーパーが閉店した。
閉店の2ヶ月前くらいから、忙しくてそのスーパーには買い物に行けてなかった。忙しさから解放されて「さぁ買い物に行こう」と思ってスーパーに行ってみたら真っ暗、だった。
「あぁ、俺が買い物をしなかったせいで経営不振に…」という気持ちはあって、すごい無力感に襲われた。(実際には、住民の一人が買い物できなかった程度ではスーパーは潰れないだろう。)

話は変わっておおよそ10年前のこと。外的要因によって精神を病んでしまった友人が居て、MSN MessengerMicrosoftさんが運営していたチャット)で話を聞いたりアドバイスしたりしてたんだけども、自分の仕事が忙しくなってなかなか返事を返せなくなって、しばらくしたら死亡していた、ということがあった。自分が返事を返すことができていたら助かっていたかもしれないという思いはあって、やはり無念だった。

人の死とスーパーの閉店とを同列に並べるのは変な話ではあるが、「自分の忙しさのせいで助かったはずのものが助からなかった」という思いを抱いたという点ではこの2つの出来事は全く同じだ。



…という話や思考があったことを、ここ最近の忙しさを振り返っていて思い出した。
断言しよう。忙しくしていることは「悪」である。自分の生活の中から、重要度の低いものはどんどん削ぎ落としていくべきだ。


自分自身の忙しさを測る(≒数値化する)手法は、睡眠時間の統計を取るというのが最も一般的だろうけれども、もしかしたら、自分で気付かないうちに家事を放棄して睡眠時間を確保しているかもしれない。
そうなったときでも、自分の忙しさを測るにはどのようにしていれば良いのだろうか?
例えば「近所のスーパーの特売情報を10秒以内に思い起こすことができなかったらアウト」といった基準は持っていても良いのかもしれない。

今日の教訓

近所のスーパーの閉店に気付かないのは相当ヤバイ。

第27回 #シェル芸 勉強会 参加記録

2週間も前の話ですが、シェル芸勉強会の大阪サテライトに参加してきました。
この記事は、その思い出話です。

リンク集
続きを読む

勉強会ウィーク

その他

1週間で7回も、同業の皆さんとの勉強会に参加するという珍事が発生したのでメモ。

参加したもの

感想

  • 大変だったけども、いずれも勉強になったのは確か。
  • 定時帰りできることの証明になった。
  • 仕事に関わりのあるテーマのものには極力参加しようとした結果、いつのまにか上記のような予定が組まれていた。
  • さすがに、全部のブログ記事を書くほどの時間は無い。

Apple ID を変えた

Macintosh iOS(iPhone/iPad) パソコン・インターネット

Apple ID と言えばメールアドレスです。iCloud やら何やらにログインするときは、メールアドレス+パスワードにて遂行することになります。二要素認証を有効化している場合はもう一つの要素も必要ですが、メールアドレスが必要であることに変わりはありません。
メールアドレスと言えば、何らかの事情で変わることがあるものです。
数年前までは、ISPや携帯電話会社の乗り換えなどによってメールアドレスが変わることが多かったでしょう。迷惑メールに悩まされた結果として変更する必要に迫られるというケースも耳にしたことがあります。ここ数年では gmail などの利用が一般的になり、これらの要因によるメールアドレス変更は減りました。
減ったとは言いつつも、もちろんゼロにはなりませんし、筆者も Apple ID として使用しているメールアドレスを廃止したい状況になったので、Apple ID の変更(すなわちメールアドレスの変更)の手続きを取りました。

予想通り、すんなりとは行かなかったので記録に残しておきたいと思います。

続きを読む

デザイン指示書 その未来

その他 デザイン

WebサイトやWebアプリケーション、iOS / Android などの開発の現場において、デザイナが他者に指示を出すために「デザイン指示書」やそれに類するものを作成することは少なくありません。
ここ数年の間で、このような文書のやり取りに絡んだトラブルの事例を数件見たり聞いたりしたので、そこで起きている典型的な問題と、それに対する対応策を紹介したいと思います。

※業界や業態が変われば「デザイン指示書」が指す文書の役割は異なり、デザイナに指示をするための文書を指すこともあるでしょう。この記事を読まれる際には、皆さんの環境において使われる文書名に置き換えて頂ければと思います。印紙税の課税対象であるか否かが文書の名称ではなくて文書の内容によって判断されることと感覚的には同じですね。この記事では、デザイナがプログラマや広報担当者などに出す指示を文書化したものという意味で デザイン指示書 という語を使っています。

続きを読む

c3シリーズでswap

AWS

明けましておめでとうございます。今年もよろしくお願いします。

さて、早速ですが。
AWSで様々なアプリケーションを動かしていると、普段は c3/c4 シリーズに適した使い方なんだけども稀に大量のメモリを一度に使うことがある、というものに出くわすことがあります。
このような状況ではswap(仮想メモリ)の仕組みが動いていると非常に効果的なのですが、デフォルトではオフになっています。c3/c4シリーズを使う上では通常は後継のc4を使うのが筋なのでしょうけれども、swap領域として使用するストレージは、c3シリーズのみに提供されるインスタンスストアを使うのが気持ちイイです。
この記事では、今更ながら、c3でswap領域を確保する手順を確認します。
※この記事は 第67回 紅白歌合戦 を視聴しながら書きました。

続きを読む

2016年、作ったものまとめ。

その他

2016年も残り10時間を切りました。
突然ですがここで2016年に作ったものをまとめておきたいと思います。

続きを読む

CloudWatch Logs を華麗に読む CWLReader v1.2

AWS パソコン・インターネット

CloudWatch Logs のログを華麗に読むツール CWLReader をアップデートしました。
github.com
pure HTML / JavaScript なツールで、html ファイルを1つ置くだけで使えます。ダウンロードはこちらから。

製品のコンセプトなどは、初回リリース時の記事 をご覧下さい。

主なアップデート内容と意図

初回リリースは 2016年8月 だったのですが、この4ヶ月の間にも AWS は凄まじい進化を遂げています。その進化の中には、リージョンの追加というものも含まれます。まずは、これらに対応しました。

その他には、画面の見た目やモノの配置に調整を入れました。例えば、誤解を招かない範囲でマージンを極力小さくすることで、ログそのものを読むことに集中できるようにしました。

さいごに

何かお気付きの点などございましたら、issue を上げて頂きますと嬉しいです。
英語書くのしんどいよ〜という方は、Twitterで連絡下さい(ブロックしてたらゴメンなさい)。

関西モバイルアプリ研究会 #関モバ 第21回 に参加

iOS(iPhone/iPad) 携帯・デジカメ

関西モバイルアプリ研究会(通称 関モバ)の第21回に参加してきました。

kanmoba.connpass.com

会場

今回の会場も、このブログなどでもお世話になっている 株式会社はてな さんの京都オフィス!
本当によくお世話になってます。

自分で発表した内容

speakerdeck.com
補足資料

うるう秒の挿入まであと5日間程度!ということで、うるう秒特集を組みました。
前回のうるう秒は2015年7月1日(日本時間)だったのですが、その直前には勤務先の社内勉強会で似たような話をしていました。その時の内容を関モバ向けにアレンジしたのが今回の内容です。

聞いた話

全部メモできたわけではないですが、だいたいこんな内容でした。

最後に紹介されていたプッシュ通知テスト用ツール、良さげでした。
GitHub - noodlewerk/NWPusher: OS X and iOS application and framework to play with the Apple Push Notification service (APNs)


おまけ1


これ、自分のマシンに突っ込んでるファイアウォールが原因になっているような気がしてきました。

おまけ2

懇親会では、ずっと日付の話をしていました。
祝日法国民の祝日に関する法律)、最高に萌えます。
第二条に登場する「春分日」と「秋分日」は、懇親会において総務省が決定し公表するかのような発言をしていましたが、調べてみるとこれは正確ではなく、内閣府による解説ページ によれば、国立天文台官報にて公表するという運用が正解でした。ここに訂正させて頂きます。

さいごに

運営の皆さん、はてな の皆さん、会場でご一緒した皆さん、ありがとうございました!

第26回 #シェル芸 勉強会に参加してきました

シェル パソコン・インターネット

2日前の話題ではありますが、タイトルの通りです。今回も大阪サテライトでの参加でした。

atnd.org
togetter.com

午前中の学び

午前の勉強会は bashキーバインドの話でした。

  • set -o emacs
  • set -o vi

どちらが良いかなんて一目瞭然ですね(宗教戦争を煽るスタイル)。

そしてbind芸。

もちろん午前の勉強会のオチは、危険bind芸で端末を落とすこと、でしたww


午後のクイズ大会


午後の部が始まる前に、大阪サテライトでは .xlsx のファイルフォーマット解説の会を開催していました。
基本は

  • zipで固めてある
  • 1シートで1つの .xml ファイルが存在する
  • 文字列は sharedStrings みたいなファイルに格納されている
  • 各シートのセルは、中身が文字列のときは sharedStrings の中身での出現場所を指し示すようになっている
    • 全く同じ文字列が複数のセルに入っているとき、sharedStrings は上手く再利用される
  • セルの中身が式(formula)のとき、その評価結果はシートの中にキャッシュされている
    • 例えば =A1 という式が入っていて、その参照先セルが文字列であるとき、式の評価結果がキャッシュされることになるため sharedStrings を参照する形にはなっていない。ファイルサイズが増える原因になり得る。
Q1

一度展開した .xlsx / .docx / .pptx を再びzipに戻す業務。
実は難しいです。。

Q2

パワポのスライドに含まれる「危険」という文字列が、何回登場するか数える問題。
回答:$ unzip -p 20141019OSC_LT.pptx "ppt/slides/slide*.xml" | grep -o '危険' | wc -l
unzip コマンドの展開ファイル指定にはワイルドカードも使えることが重要ですね。

Q3

パワポに含まれる画像を全て抽出してzipに固める問題。
回答:$ unzip -d hoge/ 20141019OSC_LT.pptx "ppt/media/*"; cd hoge/ppt/media/; zip ../../../hoge.zip ./*; cd ../../../
テンポラリのディレクトリを作ってますが、最後に消してないのはお行儀が悪いですね。

Q4

スライド7ページ目に含まれる文字列を抜き出す問題。文字列に全角半角が混在している場合などにおいては、古き良き時代の shift-out / shift-in のような設計思想のタグ構造になっているので、どこからどこまでが1行であるのか?をきちんと管理しなければなりません。パワポにおいては <a:p> タグが段落を示すようなので、これを1行として取り扱いましょう。
回答:$ unzip -p 20141019OSC_LT.pptx ppt/slides/slide7.xml | sed 's/<a:p>/@/g' | tr '@' '\n' | sed 's/<[^<>]*>//g'


Q5〜Q8

大阪サテライトでの予習の成果を生かすことのできそうな問題でしたが、残念ながら正解にはたどり着かず。

気休め

懇親会 兼 LT大会

今回は私生活がボロボロでしたので自分では発表しませんでしたが、今回も大阪サテライトは最高の話が続きました。
素晴らしい発表の数々は、こちら!

さいごに

企画運営してくださってる皆さん、凄いネタをぶつけてくれる皆さん、各会場の皆さんなどなどに感謝!

それでは皆さん、良いshん年を!!(typoじゃない)

目とコーヒー

その他

先日、スターバックスでコーヒーを飲みながら本を読んでいると、二人組の女性客が入店してきて、店員さんに案内されながら筆者の隣の席に着いた。二人とも白い杖を持っておられる。恐らく目が見えないのだろう。

店員さんの行動を見る限りでは非常に慣れている様子で、商品の選択を促す際には点字のメニューを渡して放置ではなく(点字メニューが用意してあったとしたら、もちろんそれも素晴らしいことだが)、「どのような飲み物が欲しいのか?」を聞き出し、それに合う商品をいくつか提案し、その中から注文を取るということをやっておられた。
それ以外にも座席への誘導の仕方や会計の手順、商品の引き渡しなどにおいても理にかなった行動を取っておられた。これらの行動は「助けてあげたい」という精神だけではほぼ不可能だろう。この店員さんが相当の経験を積んできているか、きちんとした教育をうけているかのいずれかであることは容易に想像できる。スタバ凄い。

二人組のお客さんも、凄い。
テーブルの上に置いてある物の位置を、きちんと記憶しているようだった。コーヒーの容器を倒してしまわないか心配していたが、そんなことは無かった。
硬貨も紙幣も、識別して数えることができていた。硬貨は練習すれば識別できそうな気もするが、紙幣は難しそうだ。2016年9月にオーストラリアで 新しい $5 紙幣 が発行され、今後発行される紙幣では "Intaglio"(凹版印刷)で生じる突起によって、目が見えなくても紙幣の識別が可能になる、という話があった。日本の紙幣にはこのような機能は無いはず。どうやって識別していたのだろう…?

もしかすると、これらは盲目の方々にとってはできて当然のことなのかもしれないが、凄い。

筆者には、身近なところに盲目の方は居られないし、自分自身に何か進行中の病気がある訳でもないが、プログラミングという視覚が重要になる仕事をしている以上、盲目になることは怖いことだと認識している。少し前に音楽仲間と酒を交わしたときも「目が見えなくなるのと耳が聞こえなくなるの、どっちが怖いか?」ということが話題に上がったが、その場にいたミュージシャンも全員「目だなー」という意見を持っていたのは印象的だった。

過去にはこんな発言もしていた。


使える時間には制限があるけれども、人の為だけでなく自分自身の為にも、徳を積んでおきたいところだ。

退学後のキャリア形成と12年後の状態について

学問・資格 その他

この記事は、12月1日から25日まで、学校を退学した人・する人などが記事を続けざまに投稿していく「退学 Advent Calendar 2016」の15日目の記事です。
www.adventar.org

筆者は大学(学部)を中退しましたが、それから10年以上が経過しても生き延びることができています。
これまでに起きたことなどと適当に掻い摘んで書いていきますが、退学したばかりの人、退学しようかどうか悩んでいる人、そんな方々の参考になれば幸いです。

続きを読む

「〆切本」を買った

その他

歴史に名を残す作家・小説家が「〆切」とどう向き合ったのかの話を集めた本、「〆切本」を買った。

〆切本

〆切本

我々が日常的に使う言葉「進捗ダメです」をプロの作家さんが書くとどのようになるのか?
潔く醜態を晒け出すのか、それともあれこれ理由を付けて逃げ切るのか。

まだ読んでいる途中であるが、学びが多い。
納期に追われる皆さんにもオススメの一冊だ。