Skip to main content

ログ取得ツール

パズル事情の変化

最近は6x6のCalcudokuはもう、やりすぎて飽きた。その代わりに夢中なのが、Pearl(Masyu)ですね。 これです→ http://www.nikoli.com/ja/puzzles/masyu/ アプリで言えばSimon Tatham’s Puzzles。これでPearlというのがあって、ニュースに飽きたら通勤電車の中でずーっとこのパズルをやっている。たまにSlantとかもやるかな。このアプリはたくさんの面白いパズルが楽しめるけど、ルールが英語でしか出てこないので複雑なやつは理解できないこともあったり。まあルールが分かっても解けないのもあって、得手不得手はあります。 全てのパズルを解き終わった時、おれは…。

El Capitanがこんなにいいものだったなんて…

私は2014年に買ったMBPのRetinaのやつを使ってるんですけど、Marvericsのときには解像度がデフォルト以外の設定だと画面が汚くなっていた。Retinaっていうのは解像度の数字自体はあまり良いものではないのだけどディスプレイに出すときになんやかんやで綺麗にして出すという技術だったらしく、使用感としては普通のノートPCの解像度を割と綺麗なディスプレイで使っているって感覚だった。まあ高い解像度に設定することもできるんだけど、その場合の表示があまりうまくない。当時、これを無理に使ってると目が悪くなるだろうと思ったことだよ。 それで。 Yosemiteのときは試さなかったけど、最近になってディスプレイの設定を見てみたら項目の出方が変わっていた。試しに高い解像度を試してみたら、これが割と綺麗に映る。悪くない。これなら使える。El Capitanすげーじゃねーか。やるときはやるんだなApple! というわけでこの内蔵ディスプレイの画面が広々とする感じを久々に味わってます。 以下は余談ですが、、、 私は今でも裸眼で暮らしているんだけど、最近は視力が落ちた感覚がすごくあるんだよね。電車の中で本を読んでいてそう思う。たまに紙の活字が凄く読みづらいと感じるんだ。電話の画面にはあまりそういうことは感じないんだけど…視力低下の原因はスマートフォンだと思ってる。加齢というのもあるんだろうけどね。

何と呼ぶかで何者かが分かる?

ストレージのブロックマップからエントリを抜く操作。

  • TRIM…ATAかSSDの人。Flashの人もここに含まれる
  • UNMAP…SCSIの人、VMwareの人
  • discard…Linuxの人
  • punch hole…Linuxの人の一部(ユーザランドのプログラマ)
  • delete, BIO_DELETE, BIOCGDELETE…BSDの人

こういうのってありますよね。私はどうしてもdiscardと呼んでしまうんですが、通じてないんじゃないかと思う場面もある。 でもtrimって言うとSSD限定みたいに聞こえるからなぁ。 unmapも、SCSIってmapがないのにunmapがあるんでどうしても違和感を感じてしまう。 deleteはたいてい意味を誤解されると思う。 となるとpunch holeかdiscardだけど、punch holeで通じる相手は少ないと思う。 相手がLinuxの管理者であればdiscardと言えばファイルシステムのマウントオプションにも出てくる言葉で、通じるはずだ。でも時々本当に通じているのか不安になる。それがdiscardという言葉。 …だがdiscardも実際はcardの反対語なのか。cardがなくてdiscardがあるんならunmapと変わらんな。いやググるとdiscardの反対語はtakeだから!

FSという略称は最近はファイルシステムのことを指さないらしい

SSL関連でもうちょっと。 FS=Forward Secrecyらしい。securityじゃなくてsecrecyね。 このFSはNSAが将来の技術革新で解読できる可能性を考えて暗号化されたストリームを大事に保管しているということをスノーデンが暴露した(?)ため、それに対抗するために暗号化済みのストリームを保存しておいていつか鍵がバレた、という場合でも平文がバレないような仕組みを数学者が考えだしたらしい。なるほど。へーへーへー。 そしてもう最近は楕円曲線暗号つかうのが常識になってるのね。私が以前に聞いた時は楕円曲線暗号の関連で研究だの開発だので競争になっていたなぁ。当時はまだ実用的な状態になってなかったという話。 世間はずいぶん進んでるんだな。 暗号にワイドショー的な興味を惹かれた私は、とりあえずダン・ブラウンの「パズル・パレス」を読んでます。そしてそこに出てくる日本人の苗字がタンカド…暗号ってのは奥深いよね。 暗号に興味がある人は、初期に有効な暗号化アルゴリズムを考案し活用することで天下人になったカエサルの書いた「ガリア戦記」を読むといいと思います。紀元前でシーザー暗号だもんなぁ。何千年経ってんだって話。 世間も大して進んでねえな。

SSLと緑色のアドレスバー

スクリーンショット 2016-01-19 21.01.25 私はEV証明書だとChromeのアドレスバーが緑色になると聞いていました。あの誇らしい緑色はEV SSLの証だと。でも実際にEV証明書を調達するにはまず会社か団体の組織を作らないといけない。登記とかして団体の存在を証明できないと取れないのよね。個人ではOVもダメで、DV証明書しか取れません。 DVってのはドメインを持ってれば良くて、これは別に本当のドメインでなくても、単純にホストを1台持ってれば良いのですね。Document Rootに特定の内容のファイルを置くとか、DNSのTXTレコードに特定の内容を書けるとか、admin@のメールアドレスでやりとりできるとか、そういう確認ができれば取れるようになっていて取得のハードルは実際低い。 で、DV証明書ってのは最近妙に安くなってきていて、これが年額1200円とかそのくらい。これは月に1回ペットボトルのジュースを買うよりも安い値段。試しに買ってみるのに充分な安さ。まったく激安なんですね。 で、試しに買って全部httpsにしてみたのはいいんだけど、DV証明書なのにアドレスバーが緑色になるんだけどうちのChrome(Mac)。バグってるのか? このブログとか、外部リソースを読み込んでるページは(このブログをPCから見た場合は右側のWorldCommunityGridのiframeのシールとかgoogle chartのQRコードの画像ね)普通に白くなる。さらに外部リソースを非SSLで読み込むようにしているとバツ印がつく。まあそりゃそうだな。 しかし緑色のアドレスバーをあんまり信用しないほうがいいというのは驚いたな。アドレスバーだと、組織名が出るかどうかで判断すべきだったのか。緑色は全部EV SSLだと思ってた。でもEV SSLでも組織名が出ないとこも多い(?)から、やっぱり判別できないようになっていたんだ。 しかし証券会社のログイン画面も1200円/年のwtnb.mydns.jpもアドレスバーの色合いが同じだなんて。だいたいメガバンクと言われるSMBCやUFJ、みずほのログイン画面は揃ってTLS1.0のSHA-1なので緑色ですらないというね。まあガラケーユーザを捨てられないんだろうけど… (追記) 2016/01/22 どうもやっぱり私が誤解していて、緑色の組織名が出るやつがEV SSL。ただ現状はちょっと問題があって、Chromeの基準が急激に厳しくなったせいで、EV SSLでも組織名の緑色が出なくなっているサイトが多い(OVやDVと区別がつかない!)ということみたい。鍵とhttpsの文字が緑色というのは単に暗号化が割と安全というだけの話でEV SSLであるという意味ではない。 つまり、こんにちのEV SSLは大部分がブラウザで見てDVと区別がつかないという状況らしい。何らかの区別がつくようにしないと、EV SSLが機能できないんでは? という気がする。 教訓としては、長期間使える証明書を買ってしまうと新しいブラウザに対応できなくなる。だから証明書買うなら短期間で期限が切れるやつを安く買うのがいいんだろうな。そして短期間でちょくちょく乗り換えていくのね。 …ずいぶんめんどくせー話なんだな。

sshのroaming

OpenSSHクライアントの脆弱性という話で、sshにこっそりroamingという機能が仕込まれていることを知った。その隠し機能に問題があり、さらにデフォルトで有効になっているという話。うーんこれは変なサーバにつなげなければいいだけの話なのかな。それとももっと深刻か。 このroamingが何の機能かというと、moshのように接続が切れてもセッションを続けて、次に接続した時にそのセッションを使える(切れちゃった後に復活できる)という機能のようだ。ただしOpenSSHの場合はサーバに対応する機能が入っていないという欠陥があって、まあ実際にこの機能がうまく動くケースはほとんどないみたい。そもそもRoamingに対応するサーバってあるんだろうか。有料のオプションだったりするのかな。 しかしまあ、、、割と魅力的な機能のように思う。隠す必要ないだろこれ。サーバの実装ができていないからドキュメント化しなかっただけだろう。 で、この種の機能を試すにはmoshを使ってみるのが一番簡単か、と思った。 moshでMacのクライアントからCentOS7のサーバにつなげることを考えると、

  • Mac: brew install mosh
  • CentOS7: yum install mosh

で、クライアント(Mac)から

  • mosh サーバ名

でCentOS7にログインできる。moshは通信のバックエンドにsshを使ってくれるみたいで、サーバ側で新たにサーバを立てる必要はない。moshのクライアントがssh接続後にmosh-serverを起動して、そのmosh-serverとのお話をする。CentOS7のパッケージにはsystemdの.serviceファイルも含まれていないから、独自のサーバがあるわけではないんだと思います。プロトコル上はUDPのやつがあるみたいですけどね。 使用感はsshとさほど変わりません。最大の特長のRoaming機能を見ていくと、moshで接続したままネットを切る。wifiをオフにするとか、そういう操作。やってみると、コンソールの上部に青色で接続が切れてます的なメッセージが出ます。秒読みがあったりして。そして、つなぎ直すと再び操作できる。 これ短時間なら(?)、sshでもTCPのセッションが切れない内は復活が可能なんですよね。moshを使っても、wifi接続を切ってからCtrl-^+.でmoshの接続を切ってしまうと、サーバ側でmosh-serverのプロセスが残りますがre-attachする操作が実装されていないため、screenのようにre-attachできると期待していると痛い目にあうことになる。 このre-attachがないというのも嫌な感じの状態になっていて、detach状態のサーバがあってPIDがいくつ、みたいな表示が出るんですよ。でもそこにattachできないから、表示されているPIDのmosh-serverを自分でkillして回らないとゴミプロセスが残った状態になってしまうという… まあこれならscreen使ったほうが便利ですね。re-attachがあればsshを捨ててmoshに移行すべきと主張するところでしたが…このへんがmoshが話題に上がってもいまいち普及していく印象を残せていない原因なのかもしれません。

3Dプリンタの世界

最近は暇さえあればずっと3Dプリンタで遊んでいて、Webサイトの訪問頻度もthingiverseが上位に来ています。 3Dプリンタで遊ぶ場合に必要な知識を少し書いておこうと思います。参考にする人いるのかな?? まず、3Dプリンタにはいろいろな手法があるそうですが、現在出回っている廉価なものはRepRap系のプリンタで、積層型(?)と呼ばれるタイプのものです。プラッチックのフィラメント、ABSとPLAの2種類がありますが、これらを熱で溶かして前後左右上下に動くヘッドから出してくっつけていくタイプのものです。上下に動くと言っても、プリント中は下に動かすことはなくて、下から順番に積み上げていく。基本的には1色しか使えない。複数の色を使えるものもあるそうですが…。機種としてはReplicatorとかda VinciとかM3Dとかがあります。積層型が廉価なのは特許が切れたからというのもあるらしい。 特許は切れるから価値があるんだろうね。 素材のABSとPLAではそれぞれ特長がありますが、PLAのほうが素直に作れるという話なので私はPLAのフィラメントしか持ってません。ブツができる板のことをベッドと呼ぶらしいですが、このベッドに3Mのマスキングテープを貼って、その上にプリントしていく。このマスキングテープがなかなか秀逸で、100円ショップのマスキングテープやもともとの台に直接とか試しましたがやはり前評判通りの3Mのやつが最強だった。ちゃんとプリント側も台側もくっつくし、なおかつはがしやすいし、何度でも使える。 ABSはベッドを温めていないと反ってしまうという話ですが、まあPLAでも反りますよ。これでもマシなのかな。私は温めていませんし。interlockのパズルを出した時は、無理やりくっつけたら反っているために2度と離せなくなってしまいました。まさにinterlock。 モデリングには123D DesignかOpenSCADを使う。GUIで作っていくのが123D Designで、コードで書いていくのがOpenSCAD。だいたいパラメータがあってシンプルな道具はOpenSCADで書くのがいいと思う。あなたがプログラマであるならなおさら。OpenSCADは使いやすいですよ。言語はちょっとクセがあるけど、外側をつなげて作ってから削っていけば割と思い通りに形を作れる。いっぽうで123D Designはスケッチで平面に書いてExtrudeで3Dにして移動して回してくっつけて引いてfilletで丸めて…という感じにスムーズに作業できるのがいい。 OpenSCADは以前はモデルの図形に使う文字に日本語のフォントを使えなかったらしいけど、私が使い始めたときには普通に使える状態だった。123D Designは日本語フォントで文字を描くことはできない。他のソフトで.svgかなんかに書きだしておいて、.svgを123D Designでスケッチとして取り込めばいいんだけど、かなり面倒な作業になる。 これらのモデリングソフトを作って.stlファイルというのを作る。.stlファイルは色のない3Dの図形を記述できる言語。ポリゴンになってるのかな。よく分からないけど、この.stlファイルまでは配布できる形式。thingiverseでも配布形式はたいてい.scad(OpenSCADのファイル)か.stlだ。parametricと書いてあると.scadで配布してるなというのが分かる。中身を見ると前半にパラメータが変数に入っていて、これを自分用に書き換えることができるのね。 私はしばらくはドアとかフスマの枠につける部屋干し用のハンガー掛けのモデルをせっせと作っていろんな場所につけていったんですが、家族はあんまり使ってくれませんでした。自分がハンガーをひっかけるときはよく使ってますけどね。落ちにくくなって便利なんだけどな。うちの枠は7mmとか9mmしか奥行きがないから、うまく引っかからないんだよね。それが長年の悩みだったんで、3Dプリンタがそれを解消してくれたんだよ。あとは定番のスマートフォンスタンドとかを何種類かやったなぁ。いい練習になりました。 この種の実在のものと合わせる場合はノギスで測定しておくと良いです。私も安いノギスを買いました。これが便利。ノギスは定規やメジャーじゃ測定できないところの測定ができるからね。精度も高いし。 で、.stlができたら、次はスライサと呼ばれる種類のソフトが出てくる。スライサは私はSlic3rを使うことが多い。Slic3rはたまにサポート材がうまく入らないことがあって、その場合はCuraを使う。これらのスライサで.stlから.gcodeというファイルを作る。.gcodeはヘッドの移動や溶かしたフィラメントの吐き出しとかを記述しているコマンド。 Slic3rが出す.gcodeは速い。まあパラメータの調節がうまくいってるだけなのかもしれないけど。Curaが出す.gcodeは遅いし、最初の予定時間はかなり遅い方に常に外れるのがムカつく。しかもちょっと無謀に思える軌道を描くことがある。それでもなぜかできちゃうんだけどね。 この.gcodeができたらあとはドライバ的なソフトに食わせればいい。私が持っている3Dプリンタは3Dプリンタの中では非常に安い部類のThe Micro 3D(M3D)というもの。これをMacで使えるMicroPrintというOSSがgithubにあって、MicroPrintに.gcodeファイルを食わせればあとは待つだけだ。Slic3rが吐く.gcodeをMicroPrintに食わせると進捗がうまく表示されないので、コメントを追加する自作のスクリプトを使う。スクリプトはこちらに→ gist プリントの操作はこんな感じ↓ まずMicroPrintのToolでExtrudeを選んで、フィラメントをノズルに食わせる。このフェーズで数分かかるかな。M3Dには内部ポートと言ってベッドの下に純正フィラメントを格納することもできるが、なかなかフィラメントの入れ替えがうまく動かず(待つ必要があることや自動で吸い込まれたり吐き出されることを知らなかったため)乱暴に扱って数回で壊れてしまった。その数回も、詰まりとか引っかかりのためにほとんど失敗した。そのため現在は外部ポートしか使っていない。Extrudeが完了したかどうかは目で見て判断する。ノズルから出てくるものが入れたフィラメントと同じ色になったら止める。勝手に吸い込まれるので、なんとなく触っていると入っていくのが分かる。排出も勝手に吐き出されるので、軽く引っ張って取り出せるところまで放っておくほうが良い。 外部ポートを使う場合には補助的にこれに近い形のモノを(これも3Dプリンタで出せる)作って、フィラメントを置いている。この状態にするまではいろいろ試行錯誤して、そのため失敗も多かった。現状になってからは失敗プリントは割と減った。ただ大きめのモノはプリンタの性能のためか、かなりの確率で失敗する。まあ子供が机から落としたりしたからね…Calibrationしてなんとかなった。 フィラメントは純正のものをいくつか買ったけど、今は別で買った、暗いところで光るやつを使うことが多い。昼間は白くて、暗くすると蛍光グリーンで発光する。これは子供にも好評で、よく布団の中に持って行って光らせて遊んでいる。自分でもこのフィラメントで作った「r型ペントミノ」をキーホルダーにしている。オジサン世代には見れば意味が分かる、特徴的な形。 そしてMicroPrintか。こいつに.gcodeファイルを読み込ませて、Printボタンを押す。だいたい温度はデフォルトの215℃よりも少し高めにして235℃にすることが多い。経験則。 失敗プリントはいくつかパターンがあって、こんな感じ↓

2015サッカーシーズン終了

川崎のシーズンはずっと前に終わってましたけど、Jリーグの日程が終了しました。ポストシーズンがあった今季。J2-J3の入れ替え戦をやるのはまあいいとして、J2のプレーオフ、J1のCSにけっこうな違和感があったのは事実。 J1のCSは決勝の広島とガンバのレギュラーシーズンの勝ち点差は11。J2のプレーオフ決勝の福岡とセレッソの勝ち点差は実に15もありました。これって普通に考えれば絶望的な差ですよね。ここまで差がついているのに、同一に近い条件で争うというのは…J2のほうはなぜかセレッソのホームで一発勝負。J1のほうは普通のH&A。まあ結果は勝点で上位にいたチームが勝ったので妥当と言えば妥当だが、劇的な展開でもあった。なんで大差で引き離したはずの相手にドキドキしなきゃならなかったのかな。 あと天皇杯も残ってますけど、川崎は敗退しちゃってるし、興味はわかないですね。天皇杯もグループリーグでやればいいのにな。 それよりも今日見たら等々力の工事がだいぶ進んでいました。プールと野球場はすでにサクの向こうでかなり壊されてて、入り口の謎の池(かつて噴水だったもの)にも工事の囲いができていました。プール脇のライトがなぜか点灯するようになっていた…電球交換or修理したのかな? 野球場は全体的に建て替えられてプールの跡地に作るという話だけど、計画を見ると旧野球場跡地の端っこのあたり(トイレがあるあたりかな?)にじゃぶじゃぶ池ができるみたいで、これは期待できる。 このへんでじゃぶじゃぶ池と言えば多摩川河川敷の第三京浜の近くか、中原平和公園くらいしかなかった。河川敷のじゃぶじゃぶ池はけっこう楽しめるスポットではある。等々力の謎の池は(子供たちはしばしば葉っぱを浮かべて遊んでいたけど)あまり楽しめるスポットではなかった。改修後もスケボー用のスペースは確保されるんだろうか?

簡易Webサーバをインターネットに立てることを考えると…

ちょっと思ったんだけど、docker使ってbusyboxのhttpdを立てるのが割と簡単で安全なんじゃないかと思って。 httpd.confをこんな感じにして、

I:index.html
/:username:password

.html:text/html; charset=UTF-8
.txt:text/plain; charset=UTF-8

そんで、こんな感じで上げる。

  • docker run -d -t -i -v /path/to/dir:/www:ro -v /path/to/httpd.conf:/httpd.conf -p 80:80 busybox httpd -p 80 -h /www -c /httpd.conf -f -vv

どうかなぁ。ログはdocker logsである程度は出る。時刻もdocker logs -tで出る。性能はあんまりアレだろうな、たぶん。もうちょっとやるなら、capability落としたりしたほうがいいかもな。そこまでやることもないか。

El Capitan…私には過ぎた玩具だったか…?

おおEl Capitanよ、愛用している安い3Dプリンタの純正ドライバ的ソフト(のβ版)が動かなくなってるじゃないですかーやだー! CuraかSlic3rでgcodeにしてOSSのα版のサードパーティ製ドライバ的ソフトなら動く。Slic3rはそれなりに優秀で、純正で8時間くらいかけて25%も進まなかった(そして失敗した)「おうち」のモデルが一晩でほぼ完成してくれた。まあこちらも最後のほうはフィラメントのリールが落ちてしまって失敗はしたが「おうち」の形にすることはできた。純正なんて最初からいらんかったんやー。 実際ドライバっていってもRepRap系の3DプリンタてゆうのはUSBシリアルのデバイスで、そこにボーレートを合わせてgcodeというヘッドを制御する言語みたいなテキストを送り続けるだけだから、いわゆる本来のドライバ部分自体は大したことはないんだけどね。フィラメントのload/exitのあたりとslice(stl→gcodeの変換。サポート材のレイアウトもここで決める)とかをまとめたUIがあって欲しいもので。