2011-01-01から1年間の記事一覧

GNOME3に移行

debian/testingを愛用してるんだけど、apt-get dist-upgradeしたらまさかのGnome3に...いろいろ手間取ったのでメモ。 gdmからログインしようとするとSad Mac的な画面に... GNOME3はcompizと一緒に使えない apt-get remove compiz-core Gnome Terminalが透過…

glDrawElements/gl.drawElementsが(GL_)INVALID_OPERATIONを返す

http://www.opengl.org/sdk/docs/man/xhtml/glDrawElements.xml GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array or the element array and the buffer object's data store is currently mapped. という…

デバッグ環境

http://benvanik.github.com/WebGL-Inspector/ UIかっこいい。gl命令のトレース表示、さらに部分実行とかも可能。しかし説明のとおりにやってもfile://URLではうまく行かないので、適当にサーバを立ち上げる必要がある。 サーバ立ち上げてもGLアイコン連打し…

WebGLたのしいよぅ

SOSP 2011 memo

Fast Crash Recovery in RAMCloud Diego Ongaro, Stephen M. Rumble, Ryan Stutsman, John Ousterhout, and Mendel RosenblumOn-memory KVSでログをディスクに書いていってその情報を元に他ノードを復旧。 するための様々なテクニックとか Transactional sto…

サブディレクトリにデプロイ

http://example.com/app1 http://example.com/app2 http://example.com/app3のように同じドメインに複数のアプリをデプロイしたい場合は、appserverのthinのオプションにそれぞれ--prefix /appNを指定するとできる。nginx.confは upstream app1thin { server…

gnome+compiz環境下でワークスペース数の変更ができない

compiz側で設定する。gnomeの設定(gnome-panel の workspace switcher)は無視される。

gnome-terminal3になったら入力がおかしい

ibusが原因らしいsudo apt-get install ibus-gtk3

SPICEの導入

debian上で運用しているQemu/kvmベースの仮想化サーバにSPICEプロトコル経由でのアクセスを試してみる。SPICEは、仮想マシンから他マシンに画面/音声/HID入力の転送を行うもので、VNCよりも高速らしい。 現在は、仮想化環境上ではサーバのみを運用しているが…

gcc -O4 -Sの出力とにらめっこするときにソースコードとの対応を取る方法

gcc

gccで-O4をつけると、がんがんインライン化された長い関数が吐き出される。 その中で目当ての場所がどのようにコンパイルされているのかを知るのは骨が折れる。なんかもう-gの情報はほとんどあてにならないかんじなので、__asm__("# hogehoge")みたいなコメ…

DropBoxクライアントのインストール

追記:下記の方法だとapt-get upgradeの度に文句言われてつらい。結局ソースからいれるしかないのか kouhei@havana:~$ cat /etc/debian_version wheezy/sid kouhei@havana:~$ sudo dpkg --force-depends-version -i ~/Downloads/nautilus-dropbox_0.6.7_amd6…

Wifiの簡易Hotspotを作る

#!/bin/bash sysctl net.ipv4.ip_forward=1 iwconfig wlan0 mode Ad-Hoc iwconfig wlan0 essid SSID_NAME_HERE iwconfig wlan0 channel 3 iwconfig wlan0 key s:WEPKEY_HERE ifconfig wlan0 192.168.222.1 up iptables -tnat -A POSTROUTING -s 192.168.222.…

Haml/sassのエンコーディング指定

Haml -# coding: utf-8 Sass @charset "UTF-8" @charset "UTF-8";て書いてて1時間強はまった。セミコロンが余計

NFSv4

メモ # apt-get install nfs-kernel-server # echo "NEED_IDMAPD=yes" >> /etc/default/nfs-common あとNEED_STATDはnfsv3つかわないならいらん。(現在のwheezyではこいつ壊れてるっぽい) # cat /etc/exports /mnt 172.22.0.0/20(rw,sync,no_subtree_check,…

ruby1.9 + MySQL + SequelでUTF-8問題を避ける

メモ my.cnf: cat etc/mysql/conf.d/charset.cnf [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 [mysqldump] default-character-set=utf8 mysql2 gemを使う (MySQL/Rubyはエンコーディング対応してない) Sequelから接続するとき…

virtio有効化

以下の手順をそのまま実行http://wiki.libvirt.org/page/Virtiodebian環境では問題なく認識した。/etc/fstabにちょっと注意。UUIDやLABEL指定なら問題出ないはず。

VMWare上のWindows環境をQemu+KVM上に移行する

まず、VMware上でvmware-toolsをアンインストールし、mergeide.regを実行しておく。これをやる前に元環境壊しちゃったので、MacのVMWare Fusionからsamba経由でvmx読んできてがんばった。 qemu-img -O qcow2 -c xpclean.vmdk xpclean.img virt-install --con…

Qemu+KVM環境をdebian squeeze上に構築する

6年前ぐらいから使っている自宅サーバのVMイメージが度重なるdebianのdist-upgradeで壊れてきて、cronが自動で起動しなくなったりイミフな状態になっている。あと外向きサーバだったはずなのにいつのまにか内向きのサービスも走ってたりしてセキュリティ的に…

さくらVPSセットアップ記録

自宅サーバと大学においてあるサーバが落ちる為、さくらのVPSを借りてそちらに機能を移行

log書き込みてすと

fdatasync(2) やっぱおそいよ。timeは数回はかって最短のものをかいた。 $ wget http://static.nyaxtstep.com/misc/log.c $ gcc -DALLOC_FALLOCATE -DSYNC_FDATASYNC log.c -o log_falc_dsync $ gcc -DALLOC_FALLOCATE -DSYNC_SYNC_FILE_RANGE log.c -o log_…

sync_file_range用の領域を確保する。

確認にはColin King氏のfiemap.cを使わせてもらった。 1. ftruncate(fd, size) sparseファイルができるだけ。データブロックの確保はされず 2. pwrite(fd, "", 1, size-1); samba hack! sambaがファイルを書き込む際、領域予約するのにつかってる?でもNFSし…

disk syncの挙動を細かく制御する

mmap I/Oアプリケーションにおけるdisc sync ファイルを読み書きするようなアプリケーションにおいて、キャッシュの管理をOS任せにしても良いのならば、ファイル全体をmmapしてしまうと非常に楽にI/O処理を書くことができる。しかし、mmapしてデータを書き込…

blktraceでIOボトルネックを探る

ファイルを読み書きするようなアプリケーションの最適化を行う際、実際どのようなIO命令が発行されているか知りたくなる。 小崎さん(@kosaki55tea)によるとblktraceを使うといいらしい!http://linux.die.net/man/8/blktrace使い方を書こうと思ったけど、解…

今日はささだ研雑談会でした。

kernel packageを作る

よくわからん。oprofile用とかconfigかえた勝手パッケージを作る方法。前にもやったけどやり方忘れたのでめも。 sudo apt-get install linux-patch-debian-2.6.32 linux-source-2.6 binutils-dev cd /usr/src tar jxvf linux-source-* # パッチ適用? 効いて…

GCCのデフォルト定義マクロ一覧

かってに#defineされる定数群を表示。 echo '' | gcc -dM -E - | sort

mmap /dev/zeroできない

osx

ちょっとはまったLinuxだと/dev/zeroから適当にmmapしてメモリ確保するけどmac os xでそれやるとこける。 かわりに-1をmmapするとよい。 #ifdef __linux__ int fd = ::open("/dev/zero", O_RDONLY); return mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PR…

Mozc導入

apt-pinningでunstableを導入済みだとする。 apt-get install -t unstable uim-mozcあとはuim-pref-gtkで適当に設定。

InnoDB/HailDBの異なるバッファを理解する。

なんか2、3回同じ事を調べている気がするのでメモ。ツッコミ歓迎元ネタ:http://dev.mysql.com/doc/innodb/1.1/en/glossary.html Buffer pool ユーザレベルのページキャッシュ。LRU(っぽいの)で管理。 double write buffer random writeおそいので、とり…

自作ログ構造化ストレージ

ログ構造化ストレージをここ2ヶ月ほど作ってます。 単一ノード上で動作するKVSとしては競合実装よりずっと早い感じですが、あまりに差がつきすぎてなんか計測条件まちがえてる気もします。具体的には、100万keyを10000回のトランザクションに分けてputする…