はわわーっ

はわわわわっ

TokyoVim #18 に行ってきたよ

TokyoVim#18 - connpassに行ってきました。今回はmac率が高くてちょっと疎外感を感じながらいろいろした。 9/11がmac使っていた。作業は unite から docker を触るためのプラグインを書きかけたりした。 とりあえず docker ps とかの結果を出すくらいはでき…

Yokohama.vim #5 に行ってきたよ

Yokohama.vim #5 に行ってきました。 http://atnd.org/events/48511 こういうイベントに参加するのはかなり久しぶりでした。アットウェアが移転したらしく会場が横浜からみなとみらいになってました。オフィスめっちゃきれいで羨ましい。 特にホワイトボード…

debianでxenとlinuxカーネルをビルド

依存パッケージとかのメモ。 # apt-get install -y build-essentials python-dev gettext bin86 bcc iasl uuid-dev libncurses5-dev pkg-config glib2.0 libaio-dev libyajl-dev libc6-dev-i386 libpixman-1-devxenはいらないものをビルドしないようにした。…

dhcpサーバ入れた

ローカルで使うVMようにdhcpサーバをインストールしました。 参考: DHCP_Server - Debian Wiki # apt-get install isc-dhcp-serverで、/etc/default/isc-dhcp-server に INTERFACES="tap0"/etc/dhcp/dhcpd.conf に subnet 10.0.3.0 netmask 255.255.255.0 { …

無線LANの設定

/etc/network/interfaces にこんな感じで書く。 参考: WiFi/HowToUse - Debian Wiki auto wlan0 iface wlan0 inet static address 192.168.0.223 netmask 255.255.255.0 gateway 192.168.0.1 wpa-ssid [ssid] wpa-psk [password]dhcpのときはstaticじゃなく…

nfsを使う

メモです。サーバ側。 # apt-get install nfs-kernel-server portmap # cat /etc/exports /var/nfs *(rw,sync,no_subtree_check) # mkdir /var/nfs # chown nobody:nogroup /var/nfs # chmod 777 /var/nfs # service nfs-kernel-server restartクライアント…

debianでsambaサーバたてた

メモです。 # apt-get install samba/etc/samba/smb.conf を編集。 [global] workgroup = WORKGROUP server string = %h server dos charset = CP932 unix charset = UTF-8 interfaces = 127.0.0.0/8 10.0.3.0/24 bind interfaces only = yes map to guest =…

qemuのネットワークとか

VDEを使ってみた。(VDEが何なのかよく知らない)あと、ホスト側でNATの設定もした。 いろいろ試行錯誤したのを思い出しながら書いてるので、これで本当にうまくいくか不明。必要なパッケージ入れる。 # apt-get install vde2 uml-uitilities iptables/etc/n…

chefでvirtualboxインストールしようとしたらタイムアウトしたぽ

apt_repository 'virtualbox' do uri 'http://download.virtualbox.org/virtualbox/debian' key 'http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc' distribution 'wheezy' components ['contrib'] end package 'virtualbox-4.3' do actio…

debianにvagrantとchefをインストールした

メモです。historyみて思い出しつつなので、おかしいところあるかも。基本的に今っぽい Vagrant + Chef Solo チュートリアル - Qiita [キータ] 見ながらやった。めっちゃわかりやすい。とりあえず、debian testingでインストールしてsidに上げた。 ruby入れ…

chefでnodejsをインストールする

メモです。 debianのwheezy-backportsをリポジトリに追加して、nodejsをインストールするレシピ。 definitionsでリソースの定義をしてみた。 # site-cookbooks/nodejs/definitions/apt_repo.rb define :apt_repo, :uri => '', :distribution => '', :comporn…

chef-solo使ってみた

メモです。 % knife solo init chef WARNING: No knife configuration file found Creating kitchen... Creating knife.rb in kitchen... Creating cupboards... % cd chef % ls cookbooks/ data_bags/ environments/ nodes/ roles/ site-cookbooks/ % knife…

qcow2の差分ディスクイメージ

毎回インストールからやるのが面倒なのでインストール直後のイメージを作っておいてそれを元に別のイメージを作成してそれをつかうようにしてみようと思った。 % qemu-img create -f qcow2 wheezy.img 30G Formatting 'wheezy.img', fmt=qcow2 size=32212254…

qemuにdebianをインストールする

メモです。ネットワーク周りのやつ。 % cat /etc/netctl/bridge Description="Bridge connection" Interface=br1 Connection=bridge BindsToInterfaces=(eno1) IP=dhcp ## Ignore (R)STP and immediately activate the bridge #SkipForwardingDelay=yes % ip…

あけましておめでとうございます

あけましておめでとうございます。() ^o^) ちくわ!

Cでファイル全体を読み込む

c

やってみたけど、fseek() とか ftell() とか rewind() とか初めて使ったからよくわからん。 エラー処理もちゃんとできてんのかよくわかってない。 #include #include char *readfile(const char *filename) { FILE *fp; long size, n; char *buf; fp = fopen…

インプットデバイスの情報を表示する

/dev/input/event* のデバイスの名前とかを表示する。 #include <dirent.h> #include <fcntl.h> #include <linux/input.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> int is_event_device(const struct dirent *dir) { return…</unistd.h></sys/types.h></sys/stat.h></sys/ioctl.h></string.h></stdlib.h></stdio.h></linux/input.h></fcntl.h></dirent.h>

カーネルモジュールを作ってみる

まず簡単なところから。 #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("GPL"); static int __init hello_init(void) { printk(KERN_ALERT "hello, world\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_ALERT "bye\n"); } module_init(hello_i</linux/module.h></linux/init.h>…

Arch Linuxでカーネルをビルドする

% tar xf linux-3.11.tar.xz % cd linux-3.11 % zcat /proc/config.gz > .config % make menuconfig % make -j8 # make modules_install # cp arch/x86_64/boot/bzImage /boot/vmlinuz-linux-3.11.0-ARCH # mkinitcpio -k 3.11.0-ARCH -g /boot/initramfs-li…

gnomeでibusを無効にする

gnome3.6からibusがgnomeに統合されたらしく日本語入力環境作るのにハマったのでメモ。 ibusに環境変数とかをいじられて、他のIMEが使えなくなってたのでibusを無効化する。 % gsettings set org.gnome.settings-daemon.plugins.keyboard active falseってや…

trifectaでスタイルの設定とか

やってみた。 とりあえず動くようになったけど、いろいろ間違ってるかもしれない。。。トークンパーザにコメントを解釈させるようにする。 trifectaにはParserっていうのがあるけど、コメントは設定できないっぽいので自分で型を作る必要がある。 {-# LANGUA…

GeneralizedNewtypeDerivingする

GeneralizedNewtypeDerivingでさよならボイラープレート - 厨二病患者のプログラミング入門みてやってみた。 {-# LANGUAGE GeneralizedNewtypeDeriving #-} import Control.Applicative newtype Foo a = Foo { foo :: Maybe a } deriving (Eq, Monad, Functo…

Lensにさわってみた

Lensをちょっと触ってみた。 詳しく知らないけど、getterとかsetterとかオブジェクト指向的なことができるライブラリらしい。 ekmett/lens · GitHubのREADMEに書いてたものの一部ををそのまま実行しただけ。まず、インポートする。 > import Control.Lensget…

neobundleをインストールした

vim

新しい環境に一からインストールするのが面倒なのでコマンド作った。 もうすでに誰かがやってるのかもしれない。 set nocompatible filetype off let s:neobundledir = expand('~/local/neobundle') if isdirectory(s:neobundledir) if has('vim_starting') …

archinstallbattleした

arch linuxをインストールしてmikutterを使うまで。 基本的には前やった時(arch linux をインストールした - はわわーっ)と同じでBeginners' Guide - ArchWikiを見ながらやった。 思い出しながら書いてるので間違ってるところがあるかも。 インストーラは2…

TokyoVim#14に行ってきた

TokyoVim#14http://partake.in/events/ac685ff5-1214-4124-95cf-9cf5e22d61edに行ってきました。関東に引っ越してきたのでこういうイベントに気軽に行けるようになっていいですね。ここ1ヶ月くらいまったく何もしていなかったのでVim advent calendarたまっ…

よみたそは社会人になります

4月から社会人になります。つらいです。 川崎あたりに生息してます。一応IT企業なんだけど寮にネット環境がありません。つらいです。 いろいろ手続きするのにも平日昼とか時間取れないです。つらいです。ということで、明日からつらい社会人生活が始まります…

配列とリストの線形探索

c

やってみた。 まず配列のほう。 #include <stdio.h> int *search(int *, size_t, int); int * search(int *array, size_t size, int value) { size_t i; for (i = 0; i < size; i++) { if (array[i] == value) { return &array[i]; } } return NULL; } int main(void)</stdio.h>…

Cでn-クイーン問題

やってみた。 #include <stdio.h> #include <stdlib.h> #define N 10 static void solve(int *, int); static int check(const int *, int, int); static int count = 0; static void solve(int *board, int i) { int j; if (i == N) { count++; return; } for (j = 0; j < N; j</stdlib.h></stdio.h>…

関数ポインタを使う

c

やってみた。 #include <stdio.h> int add(int x, int y) { return x + y; } int subtract(int x, int y) { return x - y; } int main(void) { int (*func_ptr)(); int (*func_array[])() = { add, subtract }; func_ptr = add; printf("%d\n", func_ptr(1, 2)); prin</stdio.h>…