サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
zariganitosh.hatenablog.jp
貨幣や経済の本でよく引用される、南の島の巨大な石のお金の話(有名らしい)が好き。何年か前に、どこかのページで読んだ。とても良くまとまっていて、面白い話だなーと、感銘を受けた。いつまでも記憶に残っている。しかし、今検索しても、感銘を受けたあのページは見つけられない...。関連する情報はたくさん出てくるのだが、以前見たのとはちょっと違う気がした。ならば、自分で書き留めておこうと。若干の想像や創作が入ってしまうかもしれないけど、忘れたくないので書いてみる。 巨大な石のお金 ミクロネシアのヤップ島では、島中に大きな石のお金が置かれているらしい。小さいものは直径30cmくらいから、大きいものでは3m以上、その重さは5トンにもなる。 まさしく、アニメ「はじめ人間ギャートルズ」の世界のようだ。ギャートルズの世界は原始時代の設定であったが、ヤップ島ではつい最近(20世紀初頭)まで、このような石のお金=石貨
浴室のドアノブが握り玉で15年以上経過している場合、注意した方がいい。 外見はステンレスなので問題なさそうだが、内部は錆びてかなり腐食が進んだ状態であることが多い。動きは渋いけど、開け閉めできるからまあいいか、と思ってそのまま使い続けていると、ある日突然、ドアが開かなくなるかもしれない...。風呂に入る時はちゃんと開け閉めできるのに、浴室から出ようとした時に開けられなくなるのだ。 おそらく、浴室内側のドアノブ内部は湯気やシャワーや結露によって、錆による腐食が相当進む。どれくらい錆びているかというと、これくらい錆びている。 � 多くのドアノブ(握り玉)は、外側(外皮)がステンレス覆われていている。しかし、内側の本体はスチール(鉄)なのだ...。よって、上記写真のように激しく錆びてしまう!このように錆びてしまうと、もはや簡単に取り外すことはできなくなる...。 正常な取り外し方法 ドアノブのラ
三菱リモートコントロールに不正アクセスして、アウトランダーPHEVの車両設定を第三者が勝手に変更するかもしれないお知らせが、発表されていた。 http://www.mitsubishi-motors.co.jp/important_news/20160613/index.html 不正アクセスと言われると、何やら非常に危険な雰囲気を醸し出すのだけど、実際どれほどの危険レベルなのだろうか?闇雲に恐れずに、どのように不正アクセスされる可能性があり、最悪どのような被害を受けるのかを検証しておくことにした。 三菱リモートコントロールの仕組み 三菱リモートコントロールは、個々の車ごとの専用の無線LANネットワークに接続することで操作可能になる。 アウトランダーPHEV(車両)が無線LANルーターとなり、スマホのWi-Fi経由でそのネットワークに接続するのだ。(接続範囲は20〜30m程度) スマホにイ
最近の車にはほとんど、OBD2(On Board Diagnosis 2nd generation)コネクタが装備されている。OBD2コネクタを経由することで、車に搭載されているコンピューターと通信して、様々な情報を引き出すことができる。 車の状態はメーターや警告灯に表示されるが、それらの情報はほんの一部である。車の内部(センサーやコンピューターユニット間)では、はるかに多くの情報がやり取りされ、最適な状態で走行するための制御が行われているのだ。OBD2コネクタに接続すれば、今までは見えなかった、はるかに多くの情報にアクセスできるようになる。また、メーターなどに表示されていた針の情報を、数値として見ることもできる。センサーやコンピューターが出力する生(未加工)の情報を手に入れられる。 OBD2コネクタを利用すれば、前回問題になった総合航続可能距離が---kmと表示されてしまい、燃料残量が正
実は、ルーフボックス購入にあたって、危なく詐欺サイトに騙されるところだった。 www.zzbestwish.com ← 詐欺サイト 現在は削除されているが、10月中旬までは存在していた。 経過 そこではterzo シンメトリックが相場価格より2割以上安い価格だった。 しかも、送料込みだったと思う。 Google検索で辿り着いたページだった。 購入直前に、なぜそこまで格安販売できるのだろう?と疑問が湧いた。 しかし、価格の魅力に負け、購入ページで住所・氏名・電話番号を入力。 送信ボタンを押す直前、httpsで保護されていないのが気になったが、そのまま送信してしまった...。 その後、支払方法の選択をするページへ移動して、銀行振込かクレジットカードの選択を迫られた。 上記2択のみ。代引配送なし。 しょうがなくクレジットカードで支払いたいが、またしてもhttpsで保護されていない通信である! こ
モデル アウトランダーPHEVは4つのモデルが展開されている。 モデル 車両本体価格 (8%税込) M 3,596,400円 �Gセーフティー パッケージ 3,882,600円 Gナビ パッケージ 4,233,600円 Gプレミアム パッケージ 4,590,000円 どのモデルでも29万円の補助金が出る。 差異 それでは各モデルの違いはどうなっているのか?diffコマンドを実行してみる。 すると価格順に機能が追加される仕組みでモデル展開されていることが分かる。 上位モデルは下位モデルの機能をほぼすべて含むのだ! 但し、赤字の項目のみ、提供される機能に違いがある。 Mはベースモデル。純粋に電気とモーターで走ることを楽しめるモデルだと思う。 直前まで乗っていた車には、以下のオプション機能は一切なかった。 それでもかなり満足して13年間乗っていたので、Mでもよいのかもしれないが、 やはり今時は安
今年で13年目の車検を迎える車を売却した。売却するまでの顛末とか、反省とか、将来の売却に備えてメモしておくのだ。 車のスペック 2002年登録 レガシィツーリングワゴン(BH5)GT-Bリミテッド2 MT 69000km走行 走行距離は控えめだが、今年で登録13年目の古い車。 雪国走行が多いので、下回りはかなり錆びが出ている。 一方、古い車だが現時点ではどこにも不調はない。 エンジンも調子いい。高回転まで気持ちよく回る。 ワンオーナー、改造なし、修復歴なし。 現時点での調子は良いが、今後数年以内に複数の不調が発生する懸念あり。 今後も乗り続けるなら、タイミングベルト・クラッチ・ブレーキホース・タイヤ等は交換が必要かもしれない。 売却手段 友人・知人に売却 知り合いに自分の車を欲しいという人が居れば、友人間売買が最も効率的な販売手段だと思う。 しかし、今回は登録13年目の古い車。かなりの車好
ストリーム・フィルターチェーン・フィルターグラフ・リンクラベルという概念に注目して調べてみた。 ファイル情報を見る ファイルに含まれるビデオとオーディオの形式を確認してみる。 $ ffmpeg -i sample.flv ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers ...中略... Input #0, flv, from 'sample.flv: Metadata: starttime : 0 totalduration : 1155 totaldatarate : 346 bytelength : 50005082 canseekontime : true sourcedata : B0AFCF105HH1424147114695748 purl : pmsg : httphostheader :
先日「このDVD(コピーガードなし・ホームビデオの類が収録されたもの)を10枚コピーして欲しい」と頼まれた。「はいはい、できますよ、お安い御用です」と引き受けたのだが、家に帰って考えてみると、�最近のAppleマシンには光学式ドライブが搭載されていないことに気付いた。調べてみると、2012年のMacBook Pro Retina15(初代Retinaマシン)以降、Appleが新発売するマシンに光学式ドライブは搭載されていない。そして、過去5年以上、自分がDVDを焼いた記憶もなかった。 久々にDVDを焼こうとすると、何をどうやるか、暫し悩む。そして案の定、無駄なDVDをたくさん焼いてしまった...。今後DVD-Rを無駄にしないように、メモしておくのだ。 そもそもDVDって、データ容量はでかいし、物理的に焼かなきゃいけないし、時間かかる。作るのがとても面倒なのである。 試しに渡されたDVDをM
玄関の鍵が壊れて中に入れなくなったことを契機に、鍵について調べることが多くなった。そうしているうちに、電子錠を取り付けてみたい!という欲求がふつふつと湧いてきた。鍵に頼らず、暗証番号と電気的なコントロールによって施錠・解錠するという継続的な体験をしてみたい。指紋認証やICカードで解錠できるものもある。電子錠なら鍵穴もないので、ピッキングや鍵穴の詰まりとか、鍵の紛失といった心配も無用になる。 もちろん、DIYで取り付けるのだ。自分自身で作業して取り付けることによって、未知の電子錠の仕組みを漏らさず理解しておきたいから。それに、このブログにも書けるし。 引戸用の電子錠 ところで、電子錠を取り付ける場所は玄関の引戸である。具体的にはTOSTEM(現在LIXILに統合)のエルミナという引戸。2枚の引戸が中央で若干重なるタイプ。 中央で引戸が若干重なる位置の鍵を「引き違い召し合わせ錠」と呼ぶ。 そし
最近の室内のドア*1は、巨大な木目調のシールで装飾されていることが多い。シールの下は安価な合板素材なのだけど、ドア全体をリアルな木目調のシールでラッピングすることで、まるで高級な木材を使った質感を感じさせる仕上がり。素晴らしい技術である! ところが、時は流れて5年、10年経過してくると、場合によってはシールの端がめくれ上がってくることがある。入居当初はシールということをまるで感じさせない本物の質感であったのだが、めくれ上がったシールを見てしまうと、フェイクであることを強烈に感じてしまう。 最初はドアの端の一部がほんの少しめくれ上がった程度であったが、一旦剥がれ始めたシールは、日常のちょっとした身体や荷物との接触によって、そこから加速度的に広がって、現在に至る。なんらかの対処をしなければ、めくれ上がった範囲はさらに広がり、状況は悪化することが懸念される。今の時点でどうにかしなければならない。
OSX 10.8以降、システム環境設定からWeb共有のGUI設定がなくなってしまった。しかし、なくなったのはGUI設定だけで、apache2の設定ファイルを修正すれば、以前同様Web共有が使える。そこで、簡単にWeb共有を開始できるように、以前の日記でAppleScriptにまとめておいた。 OSX 10.8でWeb共有を有効にする - ザリガニが見ていた...。 ところが、時は流れてOSX 10.10 Yosemiteでは、上記AppleScriptではWeb共有が使えなくなっていた...。 apacheのバージョン 調べてみると、OSX 10.10 Yosemiteから、apacheのバージョンが2.4に変更されていた。(以前はバージョン2.2だった) OSX 10.9 Mavericksまで $ apachectl -v Server version: Apache/2.2.26 (
iMacのIPアドレスを確認したい。そんなの簡単、簡単。システム環境設定 >> ネットワークで確認すればいい。 上段のネットワークサービスほど優先順位が高くなる。よって、現在のIPアドレスは特に指定しない限り、10.0.1.20が利用されることになる。 このようにGUIでは何の苦労もなく確認できるのだけど、コマンドを使って確認しようとすると、途端に深い悩みとなった...。 ipconfig ipconfigにデバイス名(en0、en1など)を指定すると、そのデバイスに割り当てられたIPアドレスを取得できた。 $ ipconfig getifaddr en0 10.0.1.20 $ ipconfig getifaddr en1 10.0.1.102 しかし... デバイス名を指定する必要があり、すべてを網羅する自信がない。 また、どちらの優先順位が高いのかは分からない...。 ifconfi
エスケープシーケンス(escape sequence)とは、直訳すれば「エスケープに続く数列(文字コード列)」といった意味合いになると思う。広い意味では、特別な文字表記(エスケープ記号)で始まる一連の文字列を連想してしまう。例えば、\nが改行を表現するのも広い意味ではエスケープシーケンスに含まれる。しかし、ここではもっと狭い意味のエスケープシーケンスを扱う。ASCII制御コードを拡張するためのエスケープシーケンスだ。 前回調べたように、ASCII制御コード(\x00〜\x20、\x7f)はテレタイプ端末で通信することを想定した古い規格になっている。その古いASCII制御コードだけでは、時代と共に進化してきたビデオ端末や端末エミュレータを満足に制御できるはずがない。新たな制御コードを追加する必要があったのだ! ところが、新たな制御コードを追加するにも、たったの128文字しかないASCIIコー
本当はエスケープシーケンスのことを調べていたのだが、その前にASCIIコードについて調べることになってしまった...。文字コードの基本として知っているつもりだったASCIIコードについて、あらためて見直してみると、実は本当の意味をよく分かっていなかったことに気づいた。 ASCIIコード表 ASCIIコードは、7ビット(2進数7桁)の文字コードであり、全部で128のコードが定義されている。 最も基本的な文字コードであり、その他多くの文字コードはこのASCIIコードと互換性を維持している。 00 10 20 30 40 50 60 70 00 NUL DLE SP 0 @ P ` p 01 SOH DC1 ! 1 A Q a q 02 STX DC2 " 2 B R b r 03 ETX DC3 # 3 C S c s 04 EOT DC4 $ 4 D T d t 05 ENQ NAK % 5
前回からの続き。 明治ミルクチョコーレートパズルの解をすべて探す - ザリガニが見ていた...。 ペントミノの解を求めるプログラム高速化 - ザリガニが見ていた...。 ペントミノパズルを解くPythonコードは、順調に高速化の道を歩んできた。 3時間以上 → 50分 → 20分 → 3分。 ところで、現在はnumpyにほとんど依存しないコードになっている。ならば、他のプログラミング言語でも同じアルゴリズムでペントミノパズルを解けるはず。ふと、使い慣れているRubyで書いてみたらどうなるのだろう?と思った。やってみた。 Rubyで解く 完全にPython脳になっていたので、endが必要な書き方に激しく無駄を感じてしまった。 いくつかのエラーに悩まされながら、どうにか以下のRubyコードを完成させた。 実行してみると... # coding: utf-8 BROW, BCOL = 10, 6
前回までにペントミノの解をすべて、求められるようになった。実行してみると、完了するまでに20分くらいかかる。当初に比べればこれでもかなり高速化したのだけど、まだまだ高速化の余地はありそう。チャレンジしてみる。 最初は、6行10列のボードに敷き詰めようとして、3時間15分経過しても800解しか出力できなかった。 つぎに、ボードの縦横を入れ替えて10行6列にし、50分で9356解を出力した。 現状は、重複解を排除するように変更し、20分で2339解を出力する。 $ time python pentomino.py ...中略... 解合計 2339 操作数 10385817 real 18m56.501s user 18m47.271s sys 0m1.475s 現状のコード # coding: utf-8 import numpy as np # すべてピース形状をPieceオブジェクトの配
今年の正月明けは、明治ミルクチョコレートパズルの問題に夢中になった...。 正月の酔っ払い物理学者が数学者の皮を被った天使に出会うお話 | カメリオ開発者ブログ このパズルはチョコレートシリーズの中では甘めらしいのだが、各ピースがチョコレートで出来ている訳ではなく、食べられない。甘めというのは難易度のこと。これはABS樹脂で作られたチョコレート風デザインのパズルなのだ。写真で見ると、思わず食べてみたい衝動にかられる。 1ピースは正方形5個の組み合わせで構成される。 その組み合わせは全部で12通りある。よって全部で12ピースある。 各ピースにはアルファベットをイメージした名前が付けられている。 この12ピースをうまく組み合わせて、6×10(=正方形60個)の箱に収めるのだ。 これは紛れもないペントミノ(pentomino)パズルのなのだ!このペントミノパズルをコンピューターに解かせる、という
前回までにバックグラウンドでジョブを複数管理できるようになった。ところで... ターミナルでタブを開く度に、あるいはsshでどこかの端末にログインする度に、 シェルが起動して、コマンドを入力・実行・出力する環境を整えてくれる。 そして、タブを閉じたり、ログアウトすると、シェルは終了する。 と同時に、通常はそのシェル上で実行されていたジョブも終了してしまう。 不要なバックグラウンドジョブを漏れなく終了できるので、多くの場合これで良いのだけど、 稀に、シェルが終了しても処理を続けて欲しい状況もある。 特にsshでログインして時間のかかる処理(ダウンロードとか)をしている時などは、 一旦ログアウトしたいんだけど、処理はそのまま続けて欲しいことが多い。 そんな時は、nohupコマンドを使うと幸せになれる。 環境 MacBook Pro Retina15 OSX 10.9.5 $ bash --ve
かつて... 今どきのターミナルはタブやウィンドウをいくつでも開けるから、 フォアグラウンドでコマンド実行中に何か別のことがしたくなったら、新たにタブを開いて、そこでコマンドを実行すれば十分用が足りる。 バックグラウンドでコマンドを実行できることも知っているけど、体系的に理解してないのでうっかりミスを繰り返した。 うっかりバックグラウンドで処理していることを忘れていた...。 処理中だと思っていたら停止していた...。 終了したと思っていたら停止していた...。 停止中のプロセスを再開するにはどうする? やっぱり終了したいんだけど、どうすればいいのか? そんなうっかりを繰り返すうちに、見えないバックグラウンドで実行して悩むくらいなら、常に状態が見えるフォアグラウンドにしておいた方が益し。 好きなだけタブを開いてしまえ、という方針になってしまった。 しかし... 何かの補佐で一時的にバックグ
10年来使ってきた二つ折り財布、自分にとっては使いやすく気に入っていたのだけど、さすがにガタが出始めた...。 ボックス型小銭入れのホックの付け根が破れた...。 二つ折りにした時のコーナーも激しく摩耗している...。 札入れの仕切りなし、カード入れ6カ所。 失敗 似たような財布ということで、30分くらいWebページを眺めて、以下の財布に絞り込んだのであった。 サ イ ズ … 縦12cm 横9.5cm 厚さ2cm 材質 … 表…牛皮 内側…牛皮/合皮/ポリエステル ファスナー…YKK 仕様 … 札入れ×2 カード入れ×10 フリーポケット×2 小銭入れ×1 レビュー … 5星=4 4星=7 1星=1 平均=4.1 価格 … 4千円くらい 上記スペックから、それほど悪くないだろうと予想して、いつもの調子で購入ボタンを押したのだった。 ところが... 商品が届いて、箱を開けてみると、自分が想像
rbenvによって、Rubyバージョンは素早く、簡単に切り替えられるようになった。 すると、作業中にいったい自分はどのRuby環境にいるのか、見失ってしまうことがある...。 そうならないように、コマンドプロンプトにRubyのバージョンを表示しておきたい。 やってみた。 プロンプト Rubyバージョンの由来を調べて(rbenvのglobal・local・shellのどれか) systemの場合は、ruby -vのバージョンを使う。 __ruby_ps1() { if [ -e "$HOME/.rbenv" ] ; then if [ "$RBENV_VERSION" != "" ]; then rbenv_scope="shell" else if [ -e ".ruby-version" ]; then rbenv_scope="local" else rbenv_scope="glob
Rails1.1.6の環境でどうにかscaffoldはできるようになった。その時の実行環境は以下の状態だった。 $ rbenv version 1.8.7-p375 (set by /Users/zari/.rbenv/version) $ gem list *** LOCAL GEMS *** actionmailer (1.2.5) actionpack (1.12.5) actionwebservice (1.1.6) activerecord (1.14.4) activesupport (1.3.1) rails (1.1.6) rake (0.7.1) sqlite3 (1.3.10) この実行環境というのは非常にデリケートである。 例えば、今の時代にRails-1.1.6を�gemに従うままにインストールすると、最新のRake-10.3.2がインストールされる。 しかし、Ra
~/.rbenv/以下に複数のRubyバージョンをインストールして、それぞれのRuby環境を切り替える仕組みを提供する。 ~/.rbenv/ (rbenvがRubyを管理するルートフォルダ) ~/.rbenv/shims/ (rubyやgemがインストールするコマンドへのラッパーを保存しておくフォルダ) ~/.rbenv/version (global環境のRubyバージョンを記録するファイル) ~/.rbenv/versions/ (Rubyの各種バージョンをインストールするフォルダ) Ruby環境の構造 例えば、rbenvがインストールしたRuby-1.8.7-p375は、以下のような構造となっている。 ~/.rbenv/versions/1.8.7-p375/bin/(実行コマンドを含む:erb gem irb rake rdoc ri ruby testrb) ~/.rbenv/v
古いRails環境というのは、具体的にはRails1.1.6である。実はこのブログの始まりは、Railsの学習の記録であった。むかしむかし、このブログ創世の頃、Railsはバージョン1.1.6がメジャーであった。そのため、自分のMacBookの中には、Rails1.1.6の実験プロジェクトがたくさんある。 しかし、現在のRailsはバージョン4.1.7まで進んでしまった。過去のプロジェクトをちょっと動かして試してみたい衝動に駆られても、エラー出まくり。まったく動かない...。このまま永遠に起動しないRailsプロジェクトが残り続けるのも悲しいので、昔の環境を整えて、過去の遺産を再起動してみようと思い立った。以下は、MacBook Pro Retina15 OSX 10.9.5の環境で、Rails1.1.6を起動するまでの記録。 HomebrewとCommand Line Toolsを使う
OSX 10.6.8のMacBookを起動した時に、いつの頃からか「接続に失敗しました」という警告が出るようになってしまった。 接続に失敗しました サーバ"MacBook-Pro-Retina15(3)"が存在しないか、現在利用できません。 サーバーの名前またはIPアドレス、およびネットワーク接続を確認してから、もう一度やり直してください。 まったく身に覚えがない...。長らく、どうして起動時にMacBook-Pro-Retina15(3)に接続しようとするのか、原因不明のままだった。 普段はモニタを閉じてスリープするだけで、再起動することがほとんどない、ということがこの問題の放置に拍車をかけた。 それに、警告されるだけで、OKボタンを押すと問題なく起動が完了して、正常に使えたので。 警告される煩わしさ、ボタンを押す面倒臭さ、原因不明の気持ち悪さ、を我慢して使い続けてしまった。 共有のコン
必要最小のgemパッケージの作り方は大体理解できた。 rubyコードをlib/とbin/に振り分けて、 .gemspecファイルに設定を記述して、 gem build、gem installしてテスト、 問題なければgem pushで公開。 とっても簡単である。 初回のみ.gemspecファイルの追加とRubyGems.orgへの登録が必要だが、手間はかからない。 一旦公開してしまえば、コード修正して、gem build、gem install、gem pushの繰り返しだ。 これ以上何を求めてbundlerを使うのか?探ってみた。 bundle gemが生成するもの sampleという名のgemプロジェクトを始めてみる。 $ bundle gem sample create sample/Gemfile create sample/Rakefile create sample/LICEN
前回からの続き。 gemコマンドは、.gemファイルを元に、gemが管理する階層にライブラリやコマンドをインストールする。 前回手順7で試したとおり、.gemファイルさえあれば、それがどこにあってもインストールは可能なのだ。 但し、そのためには.gemファイルの正確なパスを知っている必要がある。 一方、gemコマンドの醍醐味は、.gemファイルがどこにあるか?なんて気にせずに、gem install jpdateで素早くインストールできてしまう所にある。 �gemコマンドは https://rubygems.org で公開されているgemを探しに行って、同じ名前のgemが見つかれば、それをインストールしようとしている。 RubyGems.orgに.gemファイルを登録しておけば、苦労最小のgem install jpdateでインストールが可能になるのだ。(憧れる) 以下は、jpdateを
gemは、Rubyのライブラリ管理のコマンド。Rubyのライブラリを検索・インストール・アップデート・削除など、苦労最小で操作する仕組みを提供してくれる。今までgemを使って、多くの素晴らしいライブラリをインストールしてきた。しかし、自分が作ったものをgemでインストール可能な形式で公開したことはなかった...。 できることならgemでインストールできるようにしてみたい。では、自作のRubyコードは、どうすればgemでインストールできるようになるのか?果たして、簡単にできることなのか?調べてみた。 作業環境 MacBook Pro Retina15 OSX 10.9.5 Rubyバージョン $ ruby --version ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13] Gemバージョン 最新のG
次のページ
このページを最初にブックマークしてみませんか?
『ザリガニが見ていた...。』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く