Humanity

Edit the world by your favorite way

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

rvalue referenceむずい

C++

本の虫: rvalue reference 完全解説実はFirefoxにいくつかrvalue referenceの見ようと思って途中でやめたタブがいくつかあるので消化したいと思う。 ...思うんだけどももう祝日は終わってしまったようなのでとりあえずTODOとしてエントリにしてみる。 でも俺…

はてなアンテナが200件越えたのでサブアカウントに退避させた

絵師さんとか同人サークル用アンテナ 技術系アンテナで、はてなアンテナって他ユーザのアンテナをインポートできることに気づいた(管理→データの管理→アンテナのインポート)のでサブアカのアンテナもインポートしてとりあえず制限は免れた。 これでRSSリーダ…

バイト面接落ちた

落ちたorz 時間的なスケジュールが合わないということらしい。 ただ噛みまくったんでそれ以外にも色々理由を妄想してしまう...鬱

CでもSTLっぽいの作る

http://github.com/tyru/nstllibdatastructにないものは自分で作るしかないなーということで作った。名前センスなさすぎわろた テストにはnanotap.hとかPerlとか使ってる。 今のところlistしかない。 STLのインターフェースに合わせた関数などを定義してある…

どうでもいいけど

TMPとMPLをなんだか混同して言ってたことにふと気づいた。 略語の元の意味は知ってるのに。

ライセンスについて

libdatastructのページを見ててライセンスがLGPL(githubの最新版は新BSDライセンス(修正済BSDライセンスとも言うらしい)を適用してるとのこと)と書いてあったのでちょっと調べてみた。 説明はここがとても分かりやすいのでGPLとLGPLについてざっと知りたい場…

配列の添字のラップアラウンド

ふと配列のインデックスをラップアラウンドする必要があって、考えてみたらこんなのにしばらく悩んでけっこう凹んだ。 元のはVimスクリプトだったんだけどPerlで。 #!/usr/bin/env perl use strict; use warnings; use Test::More; sub array_get_elem { my …

cp -a

最近ディレクトリも含めて手っ取り早くコピーしたい時は「cp -R」じゃなく「cp -a」を使ってる。 man cp見たら「-a」は「-dR --preserve=all」の略らしい。 「-d」はさらに「--no-dereference --preserve=links」の略なのでようするに「--no-dereference --p…

double2string

C

適当だなぁ。 あとstring2double()もそうだけどstring2double([from], [to])な引数なのがちょっと紛らわしいかも。 1.00000 -> 1とかせずに最初からsnprintf()使わず自前で変換すればうんたらかんたら。 bool digit2token(double digit, char *str, size_t m…

string2double

C

使わなくなったので晒し。 元はman strtolからパクったんだったと思う。 bool string2double(char *str, double *digit) { char *end_ptr; errno = 0; *digit = strtod(str, &end_ptr); if (errno == ERANGE || (errno != 0 && *digit == 0)) { return false…

スリラー 8bit Mix

かっけー 【Saitone】"Thriller 8bit tribute mix"【Michael Jackson】 - YouTube

ι

C++

vectorをそのまま渡したとして、intってどうやったらとれるのか分からない... (要するにvectorだけじゃなくコンテナ全般に対して要素の型を取得したい) 追記:id:faith_and_braveさんが要素の型はvector::value_typeで取れると教えてくださったので書き直し…

ポインタ同士の加減算

C

なぜかポインタ同士で差を求めようとするとバイトでのオフセットが返ると思ってた。あぶないあぶない。 正しくはそのポインタ間での要素数が返る。 #include <stdio.h> int main(void) { int arr[] = { 1,2,3 }; int *p1 = &arr[0]; int *p2 = &arr[3]; // sizeof(int</stdio.h>…

rpm -qfとrpm -qlに対応するdpkgのオプション

こうすればいいのか。rpm -qf => dpkg -S rpm -ql => dpkg -L 参考URL dpkg, rpm, pkginfo 比較 http://www.tymy.net/~matsu/blog/2008/12/08/rpm-dpkg-%E5%A4%89%E6%8F%9B%E8%A1%A8/ dpkgでやっていたことをrpmコマンドで - のしろの徒然日記

void*に対して加減算をすると何Byte進むのか

C

答え: 1Byte。 コンパイルエラー(gcc以外では)。(コメント欄にてid:pi8027さんにvoid*に対して加算できるのはgcc拡張だと教えていただきました。詳しくはid:pi8027さんのコメント欄のURLを参照してください) 歴史的な理由があるらしくて、char*と同じになっ…

変数を定数値として扱う

C

キャストすることによって「定数値であるべき変数」に対して代入を抑制する方法。 #ifndef __cplusplus extern #else extern "C" #endif signed char _mb_cur_max; #define MB_CUR_MAX ((int)_mb_cur_max) ...MB_CUR_MAXマクロの定義で、int型にキャストして…

Firefoxのスマートキーワード

は s@... 検索用 k@... キーワード用 b@... ブックマークレット用 とかにすると被らなくて便利。

まとまった時間がとれない...

Coroのcedeについて

Gistにうpしたけど合ってるか微妙。

Ubuntu 9.10にアップグレードした頃からタブを閉じれなくなった

vimperatorでタブが閉じられなくなった!しにたい http://twitter.com/tyru/status/5332720310 Processing keypress event: TypeError: aTab.clearTimeouts is not a function http://twitter.com/tyru/status/5332733079 Ubuntu 9.10のアップグレードとFire…

^q^o^p^

Cで二重typedefを避ける

C

今日id:mattnさんのブログで前見たハックを実際に使う場面があった。 apr.h typedef int uid_t; perl.h typedef long uid_t; もちろんこのヘッダを同時に読み込むとエラーになるんですが、こういう場合に私がよく使う手として #define uid_t _uid_t #include <apr.h></apr.h>…

「gitリポジトリからファイルを完全に消去する方法」をコマンドにしてみた

git

gitリポジトリに間違って追加してしまったファイル等を完全に消去する方法を紹介します。1 % git filter-branch -f --index-filter 'git update-index --remove "filename"' HEAD 2 % git push --forceディレクトリを削除したい場合は、ディレクトリの中身の…

libdatastructにパッチ送った

送ったのは何日か前だけど作者のブログでも取り上げてもらったのがうれしかったので。 libdatastructというのはid:pi8027さんのライブラリ。 Associative array stack queue double-ended queue (deque) といういろいろ便利なデータ構造を扱える優れもの。で…

今更だけどポインタって便利

NULLで何もないことを表せて、その上NULLでない場合には値をも表現することができる。 intでも特定の値をNULLと同じ役割にすればいいけどその値使えなくなっちゃうし。 C++の参照は素晴らしいけど、どうも俺は.よりも->のが好きらしい。 感覚的すぎてイミフ…

そういやTB自動で送らない設定にしてたの忘れてた。

Re: git のブランチ名を zsh の右プロンプトに表示+ status に応じて色もつけてみた

git のブランチ名を zsh の右プロンプトに表示+ status に応じて色もつけてみた - ヤルキデナイズドだった がすごい便利だったので、ディレクトリは表示させないようにして、ちょっとだけ表示するメッセージ弄ってみた。それだけ。 追記:元記事先のGistみ…

Firefox起動中に変なキー押した

そしたらこんな画面に。なんぞこれ!!

reblog: Cygwinにtscreenいれた(ついでにMercurialも...)

Cygwinにtscreenいれた(ついでにMercurialも...) - 今日もスミマセン。を見てtscreenというものがあるらしいと知った。 どうやらGNU screenのforkらしい。 しかもtscreen - hogehoge @teramakoによると.screenrcをそのまま流用できるらしい。 じゃあちょっ…

~/.gitconfigの設定

git

を晒してみる。 [alias] pullmy = pull --rebase --tags pushmy = push --tags last = log -1 HEAD st = status co = checkout wh = whatchanged br = branch [user] name = tyru email = tyru.exe@gmail.com [color] diff = auto status = auto branch = au…