HPCメモ

HPC(High Performance Computing)に関連したりしなかったりすることのメモ書き

node.jsのfs.Statsからファイルのパーミッションを読み取る

node.jsのfs.stat, fs.lstat, fs.fstatが返すfs.Statsクラスには、その名もずばりのmodeというpropertyがあるのですが、この値からファイルのパーミッションを直接知る手段が標準では用意されていません。1 まーそんなに難しい話ではないので、頭の体操がて…

echo

みんな大好きなecho(1)ですが、最近Amazonから物理デバイスとして発売されたようですね。 しょうもないボケはさておき、Amazon Echoの発表と合わせてMusic Unlimitedという新サービスを開始するなど、スマートスピーカーの売り込みを頑張ってるようですね。 …

node.jsのpromisify

ここ数ヶ月nodejsでお仕事をしていて、こんな感じのコードをいくつか作ったんですが、昨日初めてutil.promisifyの存在を知りました orz function hoge(filename){ return new Promise(function(resolve, reject){ fs.readFile(filename, function(err,data){…

ケーブルオーガナイザ

結構前の話ですが、IKEAで売ってる高さ調節のできるワークデスクを導入しました。*1*2www.ikea.comほぼ高さ調節用のハンドルがついてるだけのシンプルな作りなのは良いんですが、仕事道具を並べたらさっそく机の上までスパゲッティに侵されました。*3そんな…

ansibleで改行コードの変換

ansilbleのplaybookの中でpatchモジュールを使って転送したファイルにpatchをあててたのがあったのですが、なぜかパッチファイルと適用対象ファイルの改行コードがLFの時は動作するのに、CRLFだと駄目という現象が起きたので、急遽playbookの中で改行コード…

mac 上で vagrant + ansibleの環境構築

前回は、ホストマシンとしてWindows10を使った環境を作りましたが、そろそろLinux環境をゲストにしたものも必要になってきたのでサクっと作ってみました。hpcmemo.hatenablog.com 既に入っているものもありますが、必要なソフトをbrewでインストールします。 >…

vagrant で modernIE

「せっかくだから、俺はこの銀の弁当箱を選ぶぜ!」くらいの勢いでMac miniを導入した私ですが、初っ端からwindows環境のお客様が続いています・・・ MSDNを導入するには予算オーバーだし、Macを買ってそうそうにwindowsのパッケージを買うのも負けた感がある…

コンパイラ製品のコミュニティエディション

MSがVisual StudioのComunity editionをリリースしてはや3年(くらいだっけ?)が経ちますが、同じようなノリでIntelとPGIもCommunity editionを出してたようです。*1 MSのも合わせてとりあえずリンクを置いときます。 www.visualstudio.comwww.softek.co.jpQua…

Macの初期設定&備忘録

私事ながら、昨年末で5年ちょっと勤めた某社を退職し、自分で会社を立ち上げました。 というわけで、「あーこのネタをブログに書きたいけど会社の人にバレたら困るなー」みたいな制約が無くなりましたんで、今年からはもっと記事を書く頻度を上げていきたい…

python3でtrelloに登録したカードを読み出す(その2)

前回作ったプログラムですが、実行に10秒ほどかかっていて、これならブラウザで複数プロジェクトのボードを全部開いてまわってもたいして効率が変わらない感じです。 おそらく遅い原因はボード一覧の取得->ボード毎にリスト一覧の取得->リスト毎にカード一覧…

python3でtrelloに登録したtask(=カード)を読み出す

googleカレンダーのお気に入りの機能のひとつに、「毎日指定した時間にその日の予定をメールで送ってくる」というのがあります。 気分的には、オフィスのエレベーターを降りて自席まで歩いている間に、クリップボードを持った秘書さんが付いてきて今日の予定…

pythonのwebbrowserモジュール

2年ほど前に、「へび年だからpythonの勉強でもするか」とかいう冗談みたいな理由でpythonを使い始めたんですが、今日初めてこんな素敵なモジュールがあることを知りました。21.1. webbrowser — 便利なウェブブラウザコントローラー — Python 3.5.2 ドキュメ…

MPIライブラリ毎のプロセスマッピング指定方法

さっき、ひさびさにIntelMPIを使ってて、プロセスマッピングの指定ってどうやるんだっけと小一時間悩んでしまったので、自分用メモとして残しときます。IntelMPIの場合、プロセスマッピングを指定するには以下の環境変数を使います。 I_MPI_PIN I_MPI_PIN_MO…

Alces Flight

starclusterだのcfnclusterだのをいじっていたら、なんかまた新しいサービスが始まってたようです。Alces Flight: Effortless HPC is Born (Finally)AWS marketplaceから起動できるので、これはこれで便利そうですね。 こちらは、starclusterやcfnclusterと…

starcluster と cfncluster その2

続いてcfnclusterを使ってPCクラスタを作ってみます。starclusterと条件を合わせるために、c3.largeの4ノード構成でやってみます。 インストール(windows native版) 記事を分けたついでに、windows nativeのpythonでもインストールしてみます。 >python -m v…

starcluster と cfncluster その1

AWSのクーポンが5月末(つまり今日)で期限切れということに気付いたので、急遽starclusterとcfnclusterを触ってみることにしました。STAR: Cluster - Home CfnClusterどちらも、pythonで書かれたAWS上でEC2のクラスタを構成するツールなんですが、前者はMITで…

windows(cygwin)でansibleその3

とりあえずparamikoで動くようになったものの、.ssh/configが使えないという致命的な欠点に気付いて、再トライしてみました。といっても、ぐぐれどもぐぐれども前々回みつけたこのblogと同じく、"-o ContorolMaster=no"を指定すればOKって記事しかひっかかり…

windows(cygwin)でansibleその2

ssh接続に成功したりしなかったりする問題は結局解決しないままなんですが、 OpenSSHがだめならparamikoを使えば良いじゃない ということで、paramikoで試してみました。 ansible hoge.huga.com -m ping -i hosts -c paramiko -k SSH password: <- 秘密鍵の…

windows(cygwin)でansible

ずいぶん前に、windows nativeなpythonに無理矢理ansibleをインストールしてみたら、pwdだのfcntlだのといったUnix固有の標準ライブラリに依存しまくってて、まったく歯が立たなかったので放置してたんですが、最近babunというcygwinの派生版を使い始めたの…

Intel版python

先日、VTuneのドキュメントを漁っていたら面白そうなものを見つけました。Python* Distribution | Intel® Developer Zoneドキュメントを見たところ、MKLとnumpy/scipyを同梱したpythonのようです。*1ダウンロードするためには、Technical Previewへ参加する…

git-hookを使ってコミット時にテスト

就職して以来CVS->subversion->gitと、かれこれ10年近くVCSを使ってきましたが、今だにcommitを忘れるという初歩的な問題が解決できません・・・ ソース作成/修正 ビルド テスト コミット という順番で作業してると、ビルド&テストしてる間に時間が空いてし…

cmderでIntel CompilerとVSを使う設定

数値計算というと、大学とかに置いてあるスパコンにログインして、Linuxのコマンドラインで作業してるイメージが強いかもしれませんが、時々windows上でVisualStudioとIntelコンパイラで開発してますっていう人にも出会います。*1となると、受託開発ではやっ…

pandas+matplotlibで3D棒グラフを作る

たとえば、こんな感じの表があったとするじゃないですか。 店 うし ぶた とり 肉屋 580 280 300 スーパー 420 260 320 これを、エクセルに入力して、挿入->3D-縦棒と選ぶとこんな感じのかっこいい(?)グラフが作れるわけですが、これをpandas+matplotlibでや…

windowsでのpython3のセットアップ

相変わらず仕事でpythonが絡むと「python2向けで」とか、下手すると「2.6で動作すること」とか言われますが、そろそろ自作のソフトくらいはpython3へ移行しようと思い立って、まずは環境を用意することにしました。まずは、chocolateyからpython2/3をまとめ…

chefをやめてchocolateyへ

単にパッケージをインストールするだけのこんな感じのレシピをいくつか書いた後でふと気づきました。 if platform_family?('windows') windows_package node['hoge']['display_name'] do source node['hoge']['url'] installer_type :custom action :install…

windowsの"PROGRAMFILES"環境変数

32bit windowsでは、プログラムのインストール先はたいてい"C:Program Files"ですが、64bit windowsでは、64bitプログラムは"C:Program Files"に、32bitプログラムは"C:Program Files(x86)"に分けてインストールするのがお約束になっています。この"Program …

cmakeでC++ルーチンを呼び出すFortranプログラムをビルドする

自作のライブラリ(C++で作成、C、Fortranのインタフェースあり)をFortranのプログラムから呼び出すサンプルコードを書いてたんですが、CmakeList.txtの作成ではまったので、メモcmake fortran c++ mixedlink あたりでぐぐると、 SET_TARGET_PROPERTIESで、LI…

chef -zeroでwindows用開発環境を構築(その4)

運用を始めてから気付いたことをバラバラとメモっときます。 gitでエラーになる gitのレシピを実行すると、こんなエラーが発生する時があります。 FATAL: Errno::EIO: git[C:\WORK\unix_home] (update_home_dir::default line 10) had an error: Errno::EIO:…

chef-zeroでwindows用開発環境を構築(その3)

再び続けてChef-zero on windowsの話です。前回までで、まだ足りないソフトがあるものの、windows8.1用のchef-repoを作成してOneDriveに放り込み、chefによる環境設定の運用を開始することができました。 今回は、OndeDrive経由で別のwindowsマシンにも同じ…

chef-zeroでwindows用開発環境を構築(その2)

さて、前回の続きです。普段、windowsマシンを使う時には、次のような運用方針にしているんですが、このための設定をchefのレシピでなんとかしてみましょう。 C:\WORK を作成して、必要なファイル類はそこへ置く bitbucketに置いてあるドットファイルをC:\WO…