docker exec せずに docker コンテナ内のファイルを手元で編集できる docker-edit コマンドを書いた

gist.github.com

pipe + fork + exec 書いてみた

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> void strwrite( int const fd, char const* const str) { if(write(fd, str, strlen(str)) < 0) { perror("write"); exit(1); } } pid_t process_open( char const* const path, int const …</sys/wait.h></sys/types.h></unistd.h></string.h></stdlib.h></stdio.h>

こたつの外でこたつに寄りかかって寝る猫キャットタワーのハンモックの上にいるところを撮られた猫(画像投稿を試すための記事)

C++11以降で #define private public を弾く

C++

# define private public 検出器です.ついでに # define static_assert(...) 検出器も付けました.ご査収ください. http://t.co/l7oyLoZ9ky— でちまるさん(実際かわいい) (@decimalbloat) 2015, 6月 10 [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ https://t.co/k2oQ…

マイナンバーを全パターン出力するワンライナーを書きました

seq -w 0 99999999999 | awk '{l=split($0,ns,"");s=0;for(i=1;i<=l;++i){s+=ns[l-i+1]*((i<=6)?i+1:i-5);}d=s%11;print $0 (d<=1?0:11-d);}' awkフル活用なので面白みに欠ける。 マイナンバーのチェックディジットの計算式は 総務省令第八十五号の第5条より…

GUIアプリを端末から切り離して実行する

普通に端末からwiresharkとか叩くと、端末を閉じるとwiresharkも終了するので鬱陶しい。&付けて起動しても、なんか色々出力出るし。 wireshark < /dev/null >/dev/null 2>/dev/null & このように起動すれば端末から完全に切り離されて起動するので、端末閉じ…

svnレポジトリ以下のファイルを全検索してエディタで開くワンライナー(要 percol )

vim `svn ls -R | xargs grep -n $@ | percol | sed 's/:[^:]*$//' | sed 's/:/ +/'` これを適当な名前で PATH の通ったディレクトリに名前つけて保存するだけ。 percol は他の類似品でも多分大丈夫。

bashrcの変更を全bashプロセスに反映させる

.bashrc の先頭に trap 'source ~/.bashrc' USR1 と記述しておく。 .bashrc を編集したら、 pkill -USR1 bash とすると全てのbashプロセスで.bashrcが読み込み直される。 他にも inotifywait で .bashrc の変更を監視するとか考えたけど、それだとちょっと間…

man を vim で綺麗に見る

環境変数を以下のように設定しておくだけ。 MANPAGER="col -b -x | vim -R -c 'set ft=man' - " これでman memcpyとか叩くと こんな表示になる。もちろん環境やvimの設定によって違うが。 環境変数に設定したcolとvimのそれぞれオプションの意味は、この記事…

*nix環境でC++コードを書き殴るのに最高に便利なツールを作った

C++

C++ ファイルのコンパイル & 実行を LL系言語並に快速にするツールを開発しました https://t.co/vFG6YPXF0Y— にゃおきゃっと (@nyaocat) 2015, 8月 5 ファイル中にコンパイルフラグを含められるのと、そのままファイルを実行する形式でガンガン書けるので我…

bash の trap を複数指定する方法

bashスクリプトでシグナルハンドラを定義出来るtrapは大変便利だが、trapを複数回呼び出すと最後に書いたtrapの内容で上書きされてしまう。 ↓例 [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッmelpon.org 別段シグナルハンドラを複数定義したいことも普通は無いが、0 番(終…

mod_rewrite を使ってブラウザのURL欄には http://hoge.com/fuga と表示しつつページの中身は http://hoge.com/index.cgi/fuga を表示させる方法

.htaccess ファイルに以下のように書く RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^.* - [L] RewriteBase / RewriteRule ^(.*)$ index.cgi/$1 [L] Mojolicious::Lite を使ってて cgi だろうと単体で動かしてる時だろうと同じアドレ…

突然ひらめいたので小説を書きました

「やれやれ、この程度だったか」 僕はそう呟いてコミットをした。 バグ修正なので、コミットメッセージに「fix #615」とだけ記述。 そして僕の手は次のコマンドを git push origi…… と軽やかにタイプしていく。 僕は暇な大学生プログラマだ。時々そこら辺に…

gtkmm と SDL2 を組み合わせて使う

能書き Gtk+ には特殊なウィジェットとして socket, plug ウィジェットがあり, 親プロセスの持つ socket ウィジェット内に 別プロセスから plug ウィジェットを用いて描画させることが出来る. これだけでも充分面白いが,socket ウィジェットはウィジェッ…

declval<T>() の返り値型が T&& である理由

メモ。 そもそも declval とは? 型T1, T2 があり、それらの値を乗算した結果の型を得たい場合、 素直に考えると decltype( T1() * T2() ) で得られそうだが、これは T1, T2 共にデフォルトコンストラクタが無いと T1(),T2()がコンパイルエラーになってしま…

SDL2 の適当なサンプルコード

とりあえず動くコードをメモしとくと後で環境構築したときに本当に動くのかパパッと確認するときにたまに役に立つ

Redmine Startpage plugin で任意のプロジェクトの「概要」ページを指定する方法

Controller: projects Action : show Id : プロジェクト名 特定の Wiki ページをトップに指定する方法しかWeb検索だと出てこない……

SDL2で出来る事メモごく一部

http://www.libsdl.org/ SDLのバージョン2が出ると同時になんかサイトもオシャレになってるので, チマチマWikiを眺めてて知ったことをメモ. 尚,この記事は http://wiki.libsdl.org/ に書いてあること以上の内容はありません.

LaTeXでgraphvizのコードを直接埋め込み記述する

graphvizzz - A LaTeX package for inline graphviz code - Google Project Hosting これを用いると良い. 自分の環境では指定されたスタイルファイルの関係上pdflatexは使えず,platexを用いてたので少し改造して使った.↓がdiff 27,30c27,30 < \immediate\…

C++11のささやかなネタコード

C++

C++11 では initializer_list が実装されたのでこんなことができます data.txt { { {1, 3}, {5, 8} }, { {3, 8}, {1, 0}, {8, 8} } } main.cpp #include <iostream> #include <utility> #include <vector> using namespace std; vector<vector<pair<int, int>>> dataset #include "data.txt" ; int main(){} 展</vector<pair<int,></vector></utility></iostream>…

サーバに Alminium をインストールした

動機 色々がんばって構築したサーバを些細なミスから環境壊してしまった. もう一度設定するのめんどい Alminium(https://github.com/alminium/alminium)がその辺やってくれるらしい まっさら環境じゃないと入れにくいらしい ちょうどサーバまっさらにしたし…

Tcl/Tkアプリケーションを単一の実行ファイルにして配布する方法

Tcl/Tk スクリプトを実行するには Tcl/Tk の実行環境が必要になるんですが,残念なことに Windows では標準で Tcl/Tk はインストールされてないです.配布する際には Tcl/Tk の実行環境をユーザにインストールしてもらう必要があります. しかし折角 GUI ア…

i686-w64-mingw32 のコンパイル済みバイナリ入れたら一発で動いた

ありがたくも有志がビルドしてくれてるバイナリが普通にあったのでそれ入れたら一発で出来ました. http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.7-release/ ここのi686-w64-mingw32-…

さくらVPSのcentos に i686-w64-mingw32 が……入れられない

http://kanedaq.blog24.fc2.com/blog-entry-10.html ここを参考にして gcc-4.8.2 をビルドしてみたが,手順5の途中で checking for wchar.h... (cached) yes checking for wctype.h... (cached) yes checking for ld version... 22300 checking for ld that…

Lua で Boost::Lambda っぽいの

Lua

http://melpon.org/wandbox/permlink/LNbdDxlbAE4nkdrP Lambda もなにも,Lua は最初から関数がファーストクラスオブジェクトでクロージャもあるから直接その場にfunctionと書けば済むのだが……

とても単純なWebサービスを一時間で作った

作ったもの md.nyaocat.jp http://md.nyaocat.jp/?url=(マークダウンファイルのURL) これでMarkdownファイルをhtmlに変換して表示してくれる. あまりセキュリティ考えてないので悪いところがあったら教えてください. ソースコード Github nyaocat/md.nyaoc…

(Lua)読み取り専用テーブルモジュールを本気出して作った

Lua

Lua readonly module (https://gist.github.com/nyaocat/7380582) このモジュールを介して作成されたテーブル・ユーザーデータのフィールドは絶対に変更出来ません. (debugライブラリを除く) 他の類似モジュールとの違い いくつか "Lua Read Only" で検索…

Lua で Python の if __name__ == '__main__':

Lua

Pythonなら単体テスト自動化もバッチリ Python だと if __name__ == '__main__': でファイル単体で実行された時の動作を記述出来るらしい.いいな. モジュールのファイルを単体で実行した時に意味をもたせられるのは単純に面白い気がする. Lua でも出来る…

Lua に C関数を公開する時

Lua

Programming in Lua 曰く, Enum を受け取るような関数を定義する時は文字列で受け取ったほうが良い というような事が書いてあって,実際標準Luaライブラリにも luaL_checkoption というまさにうってつけの関数が用意されてる ……んだけど,その許可するもの…

まだまとまってないけどコルーチンが使える言語でアクション作る時に使えるかもしれないメモ

前提 簡単なアクションゲームプログラミングをしてるとして, キャラクタークラスが毎フレーム呼ばれる Update() メソッドを持っており, Updateメソッド内で座標移動とかをする. 他キャラクターとの当たり判定を IsHitOtherCharacter() で取得できる

Lua5.1 getfenv(), setfenv() 解説

Lua

Lua5.2 で getfenv(), setfenv() は廃止されたので読む必要はありません (一応記事の中身は残しておきますが)

C++ポケットリファレンスの執筆に参加しました。

C++ ポケットリファレンス(Amazon) http://gihyo.jp/book/2013/978-4-7741-5715-3 本日が発売日の、C++ポケットリファレンスに共著として参加しました。 2013/05/18 12:33 現在、AmazonのC++カテゴリで1位、プログラミングカテゴリで10位になっています…

シェルで短縮URLの展開

curl -I -s http://bit.ly/VLvdYd | grep -i Location | cut -d ' ' -f 2 で,実行するとhttps://twitter.com/nyaocatとか結果が得られる 簡単な解説 単に短縮URLはアクセスするとなんかリダイレクトするだけなので,curlで覗いてgrep -i Locationでリダイレ…

作りたいものメモ

Skype APIを叩いてブラウザからSkypeチャット出来るようにするcgiというかhttpサーバというか。 Skypeが色々な連絡に用いられてるから出来るならあちこちで見れるようにしたいのだけど、iPhoneのSkypeは重いしバッテリー消費激しい。サーバ内にSkypeを立ち上…

再開

以前に書いた記事を読み直してたら恥ずかしくなって全記事を一度消したのだけど、 無いなら無いで不便なので再開しようかなーとか。広告は付くわ当たり前の事をするのにも課金を要求されるわ設定は分かりにくいわブログ記事の階層化も出来ないわで不便極まり…