読者です 読者をやめる 読者になる 読者になる

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…

WindowsにおけるMongoDBのサービス化

これだけ。mongod.exe --config --rest --install --directoryperdb --logpath=mongod.log

POSTに対してリダイレクトされた場合に、次にブラウザが試すのは…GET?POST?

POSTリクエストを出して、サーバーがリダイレクトを望んだ場合 ブラウザによって、その次の行動が変わる。http://hakobe932.hatenablog.com/entry/20090707/1246985195ユーザーの情報を勝手に別のサーバーにPOSTされたらかなわん!って言うのが主な理由なん…

Pythonで[1k](キロ)とか[1G](ギガ)とかを整数の値にする

[1k](キロ)とか[1G](ギガ)とかを整数の値に直す。 import re def StrSizeToByteSize(str): r = re.compile(r"(?P<value>^([1-9]\d*|0)(\.\d+)?)(?P<fig>[kKmMgGtTpP]?)") res = r.search(str) if res != None: mag = 1 if res.group("fig") == "k" or res.group("fig</fig></value>…

指定のフォルダ以下のファイルをatime(アクセスタイム)でソート

以下のファイルをatime(アクセスタイム)でソート find <DIR> -type f -exec stat --format="%X %n" {} \; | sortもちろん[--format]オプションでatime以外でもSort出来るよ。 Usage: stat [OPTION]... FILE... Display file or file system status. -L, --derefer</dir>…

速度制限を付けつつ、フォルダの同期コピーを行う

よく忘れるので。 rsync -avr --delete --bwlimit=62 <SRC> <DEST>参考 http://www.maruko2.com/mw/rsync_%E3%81%A7%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E5%90%8C%E6%9C%9F%EF%BC%88%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%</dest></src>…

CentOS6.4+Nginx1.5.10+SPDY

ベースとなるNginxをインストール #リポジトリを取り込み rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm #ベースとなるnginxをインストール yum install nginx #一回実行しといて、必要なものを作…

.NET Frameworkでの最長ファイルパスは260文字

C#

.NET上でサポートされている最長ファイルパスは260文字。 UNCパスにおいては、32kの長さをサポートしているが、.NET側の不具合により使えず。http://stackoverflow.com/questions/3406494/what-is-the-maximum-amount-of-characters-or-length-for-a-directo…

CygwinからPowerShellを実行

$( cmd /C "powershell -Command .\TargetSscript.ps1 args" <

Windows+PowerShellでリモートPC上で、任意のコマンドを実行する。

RemotePC上で任意のコマンドを実行する 以下のPowerShellスクリプトをファイルとして保存する。 ここでは「RemoteCommand.ps1」とする。 Param( $computer, $username, $passwd, $command ) $password = ConvertTo-SecureString $passwd -asplaintext -force…

CentOS6.4+nginx+go(FastCGI)+FileUpload

nginxのインストール 特に何もしていない cat <<'EOF' > /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1 EOF yum install nginx Goのinstall # Ver1.2 x64 wget https:/…

PDB内部のソースファイルのパスを変更出来る?

PDB内部のソースファイルのパスは変更できる? VisualStudioにおいてPDBファイルに含まれるPathは通常「ビルドした環境においての絶対パス」となるが、/PDBALTPATHのオプションを用いる事で、これを変更する事が出来る。らしい。 http://social.msdn.microso…

HPN-SSHのパッチをあてたOpenSSHをインストールする。

HPN-SSHとは 正式な名前は「High Performance SSH/SCP」で、PittsburghのSuperComputingCenterが配布している、めっちゃ高速なSSHです。多分。これを利用するには、OpenSSHのソースにPatchを当ててビルドして利用します。 Patchを当てる 前回の記事をベース…

CentOS6.4+OpenSSH(ソースからRPMを作ってインストール)

基本的にはここをトレース http://centossrv.com/openssh.shtml #rootでよろしく #RPMを作るのに必要な物をインストール $ yum install rpm-build $ yum install pam-devel #Sourceをゲット $ wget http://www.ftp.ne.jp/OpenBSD/OpenSSH/portable/openssh-6…

Windowsで手軽に使えるMongoDBのGUIなViewer「mViewer」

mViewer Windows版でMondoDBを利用しようとした際 何の追加依存ファイルも無く、exe単体でmongodを使う事が出来る。ここで紹介したいのは、そんなMongoDBのデータを 手軽に見ることの出来るGUIなViewerを紹介する。[mViewer] https://github.com/Imaginea/mV…

MongoDBのScheme定義をProtocol Buffersで定義する in C#

MongoDBとProtobuf-netは相性が良いかもしれない? protobuf-netのprotogenで出力したclassは 普通にそのままMongoDB Official C# DriverのSchemaとして利用できる。 .protoの内容 message Person { required int32 id = 1; required string name = 2; optio…

Volume Shadow Copy Service をC#から利用する。

VSSをc#から利用するには、以下のAlphaVSSが役に立ちそう。http://alphavss.codeplex.com/http://wj32.org/wp/2012/12/13/how-to-backup-files-in-c-using-the-volume-shadow-copy-service-vss/

FilePathのHashとコリジョン

FilePathをHash値に変換する時の、各種アルゴリズムのコリジョンについて書かれた同僚のブログを紹介。http://www.irrelevantconclusion.com/2013/07/hashing-file-paths/もっともコリジョンが少なかったアルゴリズムが驚きの内容!! なんとほぼK&Rのサンプ…

Google Protocol Buffers + Pythonから使う

Google Protocol BuffersをPythonから使う 取得 以下から最新の[compiler]と[full source]を両方取得してくる。https://code.google.com/p/protobuf/downloads/listソースを適当に展開したら「protobuf-x.x.x/src」に、Compilerを展開して得られる「protoc.e…

socket.io のAPIのドキュメント

何故に公式存在しないのか?http://d.hatena.ne.jp/Jxck/20110730/1312042603

nginx + node.js + socket.io を同じサーバーかつ同じポートで動かす

node.jsのsocket.ioのポートと、nginxのポートを同じポートで運用したい場合は nginxのリバースプロキシの機能を利用すると良い。前提 httpポートは80 ドメインは「hogehoge.com」 node.jsのsocket.ioサーバーはポート12345でListen socket.io用のサブドメイ…