m128のNaNチェック

__m128 mask = _mm_cmpeq_ps(m128, m128); __m128i vi = _mm_cvttps_epi32(mask); int32_t c[4]; _mm_storeu_si128((__m128i *)c, vi); if (c[0] == 0 || c[1] == 0 || c[2] == 0 || c[3] == 0) { //NaN }

JSPMで始めるWEB開発

jspmはSystemJSをローダーとした、ライブラリ管理、Transpile、パッケージングを一つにまとめたシステムの事。 Webpackみたいなもん。ウィザード的な使い方ではなく、一般的な利用方法を説明。 迷わないように、気にしなくても良い部分は割愛。 jspmインスト…

POCOライブラリの準備

POCOのダウンロード Ver1.7.3の話し。 ここからソースコードをダウンロードして任意の場所に展開。 ここでは「c:\poco」とする。http://pocoproject.org/index.html Libの作成 前提条件として、VisualStudio2015 Communityがインストール済みとする。(VS 14.…

プログラムの性能テストの邪魔となるディスクキャッシュのクリア方法

SysInternalの提供するRAMMapのメニューバーから、Empty->Empty Standby List を選択する。Clear file cache to repeat performance testing - Stack Overflow

Windows7+.NET Coreの開発環境を作ってビルドして実行

まずはdnvmをインストール 本家の情報を参考に、dnvmをインストールする。(dnvmは「Dot Net Version Manager」の略だそうな)https://github.com/aspnet/home以下インストールコマンドの例(記事作成時) @powershell -NoProfile -ExecutionPolicy unrestri…

「ASP.NET 5」が動くDockerコンテナを作る

基本的な手順はここを参考にする。Running ASP.NET 5 applications in Linux Containers with Docker - .NET Web Development and Tools Blog - Site Home - MSDN Blogs ASP.NET 5のサンプルコードを落としてくる。 ちなみに、本文中のGithubのサンプルでも…

Vagrant+AtomicHostでDockerのhostとなる環境を作る

DockerのHostOSとして、AtomicHostのCentOS版を使用http://www.projectatomic.io/ProjectAtomicで提供されているVagrantのBoxイメージを利用する $vagrant box add AtomicHost http://buildlogs.centos.org/rolling/7/isos/x86_64/CentOS-7-x86_64-AtomicHos…

MongoDBのindexと正規表現

MongoDBのIndexの張ってある要素に対して、正規表現で検索をかける場合、最低限以下のルールを守らないと実質Indexが全く効かない。 先頭一致を使う「^」 大文字小文字を意識しない"IgnoreCase"は使わない

C#でParallel Prgoraming

C#

ここで書いているのは、全て個人的な所感です。 勘所 基本的には全てasync/awaitを主体としたプログラム構造にしておく。これはMain関数から全て対応する必要があるので最初のプログラム設計に注意が必要。後でやろうとは思わない方が良い。 TPL DataflowのA…

Cloud9上のスクリプトファイルをローカルで実行する(Pythonの例)

PreviewをPublicにしていない場合 Cloud9上のファイルへのリンクは、ファイルをダウンロードしようとした際のリンクを利用すると簡単。例えば以下の様な、pythonスクリプトのダウンロードリンクが手に入った場合 https://hogehoge.cloud9.no.server.death/wo…

電子回路シミュレーターNGSPICE

Next Generation Spiceの略で、NGSPICEらしい。 使い方はSpiceと同じ。誰かAPIでアクセス可能なNGSPICEサーバーとか公開してくれないかなー。自分で作るしかないかなー。http://ngspice.sourceforge.net

.Net Framework4.0から"全て"の例外をcatchで補足するには一工夫必要(C#)

破損状態例外を処理する

ギター/ベースのオートチューンマシン「PLEK」

PLEKとは ギターやベースの状態を、センサーで正確に検出して、チューニングや加工等を行う事が出来る機械 取り扱い先 東京では渋谷のSleekEliteさんが取り扱いをしている模様 http://sleekelite.com/plek/

JavaScriptでPythonの様な書式化文字列(format) を使う

なんで標準で無いのかな?JavaScript で文字列フォーマットを実装してみた(sprintf もどき) | TM Life

Windows+リモートサーバー上のショートカット(シンボリックリンク)を開くには

クライアント側の設定を変更すると、サーバー上のショートカットが開けるようになる。 以下作業ログ >fsutil behavior query symlinkevaluation ローカルからローカルへのシンボリック リンクは有効です。 ローカルからリモートへのシンボリック リンクは有…

Cloud9でMongoDBの操作をhttpで出来るようにするPythonスクリプト「SleepyMongoose」を使う

SleepyMongooseの最新版をゲットしてくる。 https://github.com/10gen-labs/sleepy.mongoose Cloud9にファイルを転送する。 フォルダを掘って入れておいた。 Pythonにpymongoを入れる $sudo pip install pymongo Run Configurationを作る メニューの[Run]->[…

Windowsでファイルやディレクトリの変更を監視する

Windowsのファイルシステム(ReGS or NTFS 3.0 or それ以降)では最近のファイルシステムに対する全ての操作をUpda Sequence Number(USN) journalと呼ばれる物に記録している。これを読み出す事で、ファイルやディレクトリの変更を監視する事が出来る。...が、…

C++でNetwork関係に強いライブラリ「POCO」の紹介

日本では全然有名ではないが(とは言え海外事情も知らないが)色々と便利な機能が入ったC++ライブラリ「POCO」と言うものがある。http://pocoproject.org/index.htmlクロスプラットフォーム対応で、win/linux/macはもちろん、androidにも対応してるみたい。W…

Protobuf-net (Protocol Buffers for C#)のドキュメント

なぜかオフィシャルのドキュメントが、ほぼ無いに等しいProtobuf-netのUnofficialなドキュメントの紹介。 (英語です)http://www.codeproject.com/Articles/642677/Protobuf-net-the-unofficial-manual

Visual Studio 2012の修復に失敗する

とあることがきっかけでVisualStusioが起動しなくなり、修復を試みようとしたら WebDeployとか言うところで、「パッケージソースが見つかりませんでした」とか出る問題に遭遇。インターネットを検索すると、以下のページへたどり着いた。http://support.micr…

Windowsユーザーのログイン(ログオン)/ログアウト(ログオフ)時に任意のスクリプトを実行させる

http://technet.microsoft.com/ja-jp/library/cc770908.aspx

Windowsのサービスが起動しない+マウントした仮想ドライブ上のファイルを読めない

Windowsの制約として、仮想ドライブ上のファイルをServiceとして登録する事は出来ない。 実際には登録出来るのだけど、実行出来ない。また、Service内部からも仮想ドライブにマウントしたファイルを扱う事は出来ないので注意が必要。理由は簡単で、Windowsの…

/proc/diskstatsの説明

詳しくはここ。(ぶん投げ)https://www.kernel.org/doc/Documentation/iostats.txt基本的には全部積算値なので、時間単位の増加量を求めたい場合は 定期的に監視した上で (今回の値 - 前回の値) / (今回の取得時間 - 前回の取得時間) = 値 per 単位時間とす…

MongoImportでCSVデータを取り込む

headerlineを付けるとCSVの最初の1行目が、フィールド名として認識される。 mongoimport --db データベース名 --collection コレクション名 --type csv --headerline --file CSVファイル名例えば name,addr,tel mataro,tokyo,090-1111-1111 hogehoge,kyoto,0…

Python覚書

ソースファイルのエンコード指定 # coding:UTF-8 エントリーポイントの書き出し if __name__ == "__main__": print "Hello Entry Point." ディレクトリの列挙 import os def getdirs(path): dirs=[] for item in os.listdir(path): if os.path.isdir(os.path…

便利なsshfsでネットワーク先のストレージをマウント

sshfs user@servername:<src_path> <mnt_path>SSHで接続可能なサーバーのストレージを、Localにマウント。マウント先のファイルにapacheとかがアクセスする必要があるときは「-o allow_other」オプションを付けてあげることで、アクセス出来るようになる。</mnt_path></src_path>

sedでPATHの区切り文字をエスケープ

SRC_PATHに「c:\windows\hogehoge」とかが入っているとする。 DEST_PATHに結果が格納される。 #[\]を[\\]にエスケープ DEST_PATH=$(echo $SRC_PATH | sed -e "s#\\\\#\\\\\\\#g") #[\]を[\/]にエスケープ DEST_PATH=$(echo $SRC_PATH | sed -e "s#\\\\#\\/#g…

socket.ioをnpmでインストールする時に、msbuildで失敗する

socket.ioををインストールする際、Windowsの場合はVisualStudioを用いてライブラリをビルドする必要がある。 その際にMSBUILDのエラーが発生してしまい、インストールに失敗してしまうことがある。その場合は「--msvs_vesion=2013」のオプションを設定して…

ZabbixのUserParameter

特定のフォルダのサイズを取得する UserParameter=custom.vfs.dir.size[*],du -c $1 | grep total | awk '{print $$1}'Permissioに気を付けよう。 正常に取得できているかチェック # zabbix_get -s 127.0.0.1 -k "custom.vfs.dir.size[/hoge/foo]"空行が返っ…

MarshalByRefObjectのLifeTime

MarshalByRefObjectはLifeTimegが設定されており、InitializeLifetimeServiceにて時間が制御されている。 (デフォルトでは2~3分) 無限に生きててほしい場合は、Overrideし return null するとよい。 [SecurityPermissionAttribute(SecurityAction.Deman…