process substitution は bash とかでないと使えないぽい。

shebang に #!/bin/sh と書いてたり、 sh hoge.sh とかで実行した際、ときどきbash以外のshellが起動されるのか、process substitution のコードがエラーになることがある。 #!/bin/bash とか bash hoge.sh とかすると動いた。

Mapper/ReducerではrunというメソッドもOverrideできる

ということを今更知った。 runのデフォルトの実装の中で、setup, map/reduce, cleanup を呼び出している。 Mapper (Apache Hadoop Main 2.7.3 API) Reducer (Apache Hadoop Main 2.7.3 API) 参考:in-mapper combining(MapReduceデザインパターン) | mwSoft

自作クラスでHadoopのGeneric Optionsを使えるようにする。

最近、Hadoop忘れてきたのでメモ… 自作クラスにToolを実装させればHadoopのGeneric Optionsを解釈してくれるようになる。 Generic Options つまり、-confオプションでHadoopの設定を上書きしたりできるようになる。

attrbuteに対する||=でハマる。

class some_class attr_accessor :hoge def some_method hoge ||= "value" end この5行目で、hogeのアクセサが呼ばれるのではなく、hogeという新しい変数が定義されてしまう… @hoge ||= "value" とするしかない。

bashの関数はwhichコマンドしても出処が分からない

which や whereis でコマンドのパスが出ないんで「なんだろうな?」と思ったが、よく考えたら .bash_profile で定義しているbash関数だった。 関数の定義は以下で確認できる。 declare -f [function name]

ディレクトリのハードリンク恐い…

mac

coreutils入れて ln -F すればディレクトリのハードリンクも作れるのだが、消すには rm -fr するしかなさそう。 そうすると、ディレクトリの中身も消えてしまう… 一旦、中身の場所を移し、ハードリンク消してから戻せば良さそうだが、中身が多いとちょっと大…

githubリポジトリを別名コピーするやり方

リポジトリ hoge を hoge-cp にコピー。 まず、githubにhoge-cpリポジトリを空で作っておく。 それから、どこかの端末で以下を実行。 git clone git@xxx/hoge.git git remote set-url origin git@xxx/hoge-cp.git git push

bashのfor分で数値の範囲を指定する方法。

知らんかった… $ for i in {1..10}; do echo $i ; done 1 2 3 4 5 6 7 8 9 10 更にゼロパディングしたい場合は、 $ for i in {01..10}; do echo $i ; done 01 02 03 04 05 06 07 08 09 10

管理者権限のないマシンでtmuxを使う

ここを参考にした。 ken1row.net 但し、自分の環境の場合は、いくつか追加でインストールが必要だった。 いずれもtarballをscpでサーバにもっていき、--prefixオプションでローカルにインストールした。 nursesのビルドに必要 glibc tmuxのビルドに必要 auto…

carton exec で実行する際に実行時にモジュール・パスを追加

carton exec -- perl -I path home.pl

vimでクリップボードからコピる際に自動コメントがウザい場合

vim

Webとかからコードコピりたい時に「コメント行の次行も自動でコメントアウト」がウザい時がある。 そういうときは、おとなしく vi 使うのも手。 /bin/vi [file]

windows のバッチファイル内でのforの変数名で%%を2つ使う件

バッチファイル内で for文を使う場合、変数名には%%とパーセントを2つつける。 for %%a in (*.gz) do echo %%a しかし、これをコマンドプロンプトで直接打つと、以下のようにエラーとなる。 %%a の使い方が誤っています。 コマンドプロンプトで直接打つ場合…

google cloud SDK を windows にインストールした場合の設定ファイルの場所

GCP

C:\Users\[ユーザ名]\AppData\Roaming\gcloud

expect の使い方メモ(expect eofとか)

expect でコマンドを実行させ、そのコマンドの完了を待って続けて別なコマンドを実行させる場合は"expect eof"を入れるとよい。 # spawn したコマンドが完了してから別なコマンドをspawnする場合は expect eof を挟む。 expect -c " spawn scp hoge@fuga.com…

Microsoft Query のエラーメッセージがドイヒーな件

Excelの Microsoft Query でSQL書いてデータを取り込もうとしたら、 「パラメータが少なすぎます。 2 を指定して下さい。」 とかいうエラーが出て「???」てなった。 よくよくクエリを見てみると、WHERE句でカラム名のつづりを間違っていた… もうちょっと…

VPNつながらないと思ったらWiFiルータの設定が原因だった

VPN

Shrew Soft の VPN Client というソフトを使っているのだが、 "negotiation timout occurred" というエラーが出て接続できない。 PC側でいろいろやってもダメなので、ルータが原因かと思い、WiFiルータの設定で「セキュリティ」というメニューを見てみると「…

複利計算(CAGR)

「72の法則」「114の法則」というのがある。(「なに?」「いいよ!」で覚えると覚えやすそう。) 但し、利率が小さい場合にしか使えない。利率が大きいと誤差が大きくなる。 3分LifeHacking:複利計算を“暗算”で行う - ITmedia エンタープライズ 利率がデカ…

軍隊の編制

軍隊の編制 - Wikipedia およそ 分隊(squad)もしくは班や組がピザ2枚 大隊が千人 師団が1万人 一つ下の単位を2~6まとめたのが一つ上の単位らしい。 (2~6個分隊で1個小隊、とか)

IEが勝手に互換モードになった件

会社PCのIEでブラウズしてたら、勝手にIE5互換とかIE7互換になっているのに気づいた。 特定のサイトだけでなく、どのサイトみても互換モード。 <meta http-equiv="X-UA-Compatible" content="IE=edge"> て書いてあるページでも互換モード… で、IEの「ツール > 互換表示設定」で「イントラネット サイトを互換表示で</meta>…

ExcelデータをSQLで処理(Microsoft Query)

VBA使った例もあるが、実はコード書かなくてもBIツール的に使えるらしい。 Microsoft Queryウィザードを使ってExcelのデーターを取り込む:エクセル2010基本講座 予め範囲に名前を付けておくと、Microsoft Query でブックを選択したら「使用可能なテーブルと…

特定の拡張子"以外"のファイルの一覧

find 使うしかない。 例えば、.gzじゃないファイルをgzip圧縮する場合は以下の通り。 find . -type f ! -name "*.gz" | xargs gzip

トップレベルで定義された my と our

コメントに書いたような挙動となる。 myはパッケージが違うと参照できない。 ourはどこからでも参照できる。(但しパッケージを指定すること) ちなみに、トップレベルのパッケージ名は"main"か、あるいは空文字。 よって、パッケージからトップレベルのグロ…

vagrant のVMを外に出れなくしたかったのだが、できなかった…

VM同士やホスト・VM間は自由に通信できるが、VMからインターネットに出られないようにしたかったのだが、やり方がわからなかった… vagrant で作ったVMは必ずNATが設定されるため、外に出れる? そのNATに対し、VMにssh接続するためのポートフォワーディング…

readline のキーバインドの指定方法 (inputrc の書き方)

hogem.hatenablog.com /etc/inputrc の書き方が前から謎だったのだが、emacs風の指定の仕方ができるらしい。 例えば、 $if mode=emacs … "\C-d": kill-word $endif のように、「"\C-d": kill-word」というのを入れたら、Ctrl+d すると単語単位で削除できるよ…

Poderosa の設定の意味

操作 > 追加キー定義 追加キー定義はカンマ区切りで複数指定可能。カンマの前後にスペースが入っても問題ないみたい。 Ctrl + d すると Esc + d したのと同じ動作にしたい(単語のカーソル位置より後ろの部分を削除)場合 Ctrl+D=0x1bd を設定する。0x1b と…

WindowsImageBackup (Windows 7 以降のバックアップ形式)からのデータ抽出

Windows 7 以降でバックアップを作成すると、WindowsImageBackup というディレクトリが作成され、その中に各種ファイルが作成される。 このバックアップデータから特定のファイルだけサルベージしたいような場合は、WindowsImageBackup 配下のどこかにある.v…

相対シェアの壁:射程距離理論(3:1の法則)

逆転することが難しくなる相対シェアの目安。 局地戦 → 3倍 総力戦 → 1.7倍 局地戦、総力戦の定義は、ビジネスではこういうことらしい。 局地戦 → 2社間競合、単品のシェアの場合 総力戦 → 3社以上の競合 マーケティング用語集 射程距離理論(3:1の法則)…

Wordの目次に表題や副題を出さない方法

表題や副題のスタイルの「変更」画面で、「書式 > 段落」でアウトラインレベルを「本文」にすればよし。

今更ながらの rsync

恥ずかしながら今までよく分かってなかった。 rsyncプロトコルで rsync rsync は、rsyncd や xinetd によってサーバプロセスとして実行させることができる。 この場合は rsync プロトコルで接続。 相手先を rsync://hostname.com/module/path で指定。 デフ…

破壊的イノベーション

参考 business.nikkeibp.co.jp 2つの覇道 1.新市場型破壊:異なる性能尺度、無消費の機会 2.ローエンド型破壊 1の例:PC、キャノンのコピー機(ミニコピア) 2の例:ティファール、イケア(自分で組み立て)、QBハウス、回転寿司、「俺の」 "無消費"を生…

Poderosa のポートフォワーディングで rsub を使おうとした際のエラー

逆ポートフォワーディングでサーバ上のファイルをローカルの Sublime Text で編集しようとした時のとこ。 rmate コマンドを実行したら、Poderosaの Portfowarding Gateway で 「要求したプロトコルと互換性がないアドレスを使用しました。 ::1:52698」 とい…

Excelリボンの「桁区切りスタイル」

Excelのリボンの「ホーム > 数値 > 桁区切りスタイル」をクリックすると、何故かセルが「通貨」扱いになってしまう(数値にしてほしいのに)。 どうも、「桁区切りスタイル」をクリックすると「桁区切り」スタイルが適用されるらしく、スタイルを変更したら…

Chromeのブックマークのリンク切れ、重複削除

※ 2015/11/20 改訂 同期の問題でよく重複が発生する。以下ではモバイルchromeが問題と書いてあるが、どうもPC同士でも重複を生じさせている様子。 Chromeのブックマーク同期で重複し数が増えてしまった時の対処法 Approid大好き AM-DeadLink というフリーウ…

Linuxファイル復旧

大事なファイルを rm するありがちなボケをかましてしまい、やり方調べたのでメモ。 extundelete を使うのだが、サーバ環境にあまり影響を与えたくなかったので、なるだけ無難な方法でやったつもり。 rootで以下を実行。 cd /tmp/ curl -L -o e2fsprogs-deve…

Word 謎多すぎ…

「見出し」問題 ・「見出し」のインデントが右に寄り過ぎ・段落番号とテキストが離れすぎ・設定変更してもファイルを閉じて開く直すと元に戻っている 解決方法 文書の最初の見出しにカーソルを合わせ、「ホーム > 段落 > アウトライン」をクリック。「新しい…

outlookで予定をガントチャートぽく表示

表示 > ビューの変更 > ビューの管理 で「新規作成」をクリックし、「ビューの種類」で「時間帯」を選んでOKを押下。あくまでガントチャート「ぽい」ものであり、ガントチャートではない。アレげかもしれない…

マイナンバー制度(というか公的個人認証)について思ったこと

itpro.nikkeibp.co.jpこれを読んでまず浮かんが疑問点が2つ。・マイナンバー無しで認証できるなら、なんでわざわざカードにマイナンバー書くの? マイナンバーって個人情報に紐付きまくるんだよね? ・システム運用、大丈夫か? 率直に言って、官公庁のITマ…

$PROGRAM_NAME と __FILE__

結論 $PROGRAM_NAME はmainの実行ファイル名。 __FILE__ はそのコードが書かれているファイルの名前。 検証 以下をを同じディレクトリにおいて実行。test.rb #!/bin/env ruby require './test_class' p $PROGRAM_NAME p __FILE__ p 'Now call class.' tc = T…

Bundler.require したら system関数に環境変数が追加されててトラブった

rubyのスクリプト内で、system関数使って Treasure Data のコマンド(tdコマンド)を打つというのをやったらちゃんと動かなかった。 (本来は、Treasureのrubyライブラリ使うべきなんだろうが、ライブラリの使い方調べる時間が惜しくてひとまずやっつけでこ…

Bundler.require の使い方

ソース・ファイルが複数になる場合(クラスやモジュールを使う場合)は、mainのファイルで Bundler.require するのがたぶん正解。 一箇所で Bundler.require しておけば、呼び出し先ファイルでもgemをrequireできる。 再利用性も考え、クラスやモジュールで …

EC2のインスタンス数制限

ec2

インスタンスタイプ別の制限とは別に、全体で オンデマンド20+リザーブド20+スポット5/リージョン という制限があるみたいだ。 よくある質問 - Amazon EC2(スケーラブルなクラウド上の仮想サーバー) | アマゾン ウェブ サービス(AWS 日本語) 異なるイン…

日本の国家予算(平成27年度)

平成27年度一般会計予算(平成27年4月9日成立)の概要 : 財務省 歳入 4割弱が公債、その他が税収。 消費税、所得税がそれぞれ残り(基礎的財政収入と呼ぶ?)の3割弱(17,8%)。 法人税が基礎的財政収入の2割弱(全体の11%)。 これらで基礎的財政収入の75…

EMR でS3の「整合性のあるビュー」のエラー

EMR

EMRいじってたら、なんかこんなエラーが出るようになってしまった。 com.amazon.ws.emr.hadoop.fs.consistency.exception.ConsistencyException: Directory '[some path]' present in the metadata but not s3どうも、EMRFSの整合性のあるビューの対象になっ…

linux kernel のバイナリはどこにある?

ふと疑問に思い、ググりつつ CentOS 6.4 で見てみたら、どうやら /boot/vmlinuz-2.6.32-358.el6.x86_64 というのがそれらしい。 vmlinuz というのは圧縮イメージらしい。 サイズは3.9MB。 小さいな。kernelだけだとそんなもんか?

自動運転技術の実用化は google にどれくらいの潜在的価値があるのか

勝手に推測してみた。 運輸業 まず、自動運転と地理情報システム、お得意のデータマイニングによる最適化技術でトラック運送業(日本国内だけでも12兆円規模*1)や路線バス・タクシー業(同3兆円規模*2*3)をディスラプトするシナリオ。 国内だけでも市場規…

有意差の話

Optimizelyを使ってクビになりかけたワケ ~統計学が苦手なマーケターへの薦め~ | プロダクト・サービス | POSTDpostd.ccこれって片側検定、両側検定の問題なのか? 「2つのまったく同じホームページの比較テスト」の結果を見てみると、95%信頼区間が重なって…

企業ランキング(純利益、売上高、時価総額)

売上高(fortune global 2013) フォーチュン 2013年版「Global500(世界企業500社番付)」発表 日本企業は62社ランクイン!: 東京・大阪 都心上空ヘリコプター遊覧飛行上位5位は ロイヤル・ダッチ・シェル、ウォルマート、エクソンモービル、中国石…

日本の企業数等

※ 企業は個人事業主含む。会社は法人。 豆知識!日本の企業数、倒産件数、赤字会社の割合、上場企業数など企業数 412万強(2012/2時点) → 人口30人に1社くらい。学校1クラスに社長一人? → 2014年10月の生産年齢人口が7785万人*1なので、1企業平均 20人。法…

世界の国の数

196 (日本が承認している国)世界と日本のデータを見る(世界の国の数,国連加盟国数,日本の大使館数など) | 外務省地域の数(ISOのカントリーコードの数)は249。(多くの国が承認していない国家、海外領土、自治領等含む)世界の国の数 - Time-j.net

カテゴリ別の相対度数をggplotで棒グラフにする

R

例えば qplot(color, data=diamonds, facets= ~cut) とやると、以下のように因子別の度数を出してくれる。しかし、度数ではなく相対度数が欲しかった(facet間で比べたいので)。 簡単そうだが、やり方見つけるのに半日かかった… d <- as.data.frame(prop.ta…