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

ターミナルからSkype その2 -- pepi

昔こんなの作ったんですが、あまりにも酷い出来だったので作りなおしました。最初はcurses使えば少しはましなの作れるんじゃないの?と思ってcurses使ってちまちま作ってましたが、その後urwidというコンソール用のユーザーインタフェースライブラリ(普通の人…

Pythonのデコレーターの使い方

数カ月前にPythonのデコレーターを勉強した時はよく分かんなかったんですが、今日勉強してみたらなんか分かった気がするのでめも。間違ってたらごめんなさい。 以下のサイトを参考にしてます。 ・Python decorator 日本語で分かりやすいです。 ・PEP 318 -- …

firefoxのcookieをcurlから使う

firefoxのcookieは以下の場所に保存されています。 Wo die Liebe dich findet | ここにcookies.sqliteという名前で保存されています。名前のとおりsqliteのデータベースです。 cookies.sqliteはそのままだとロックされていて読みこめないので、まず適当にコ…

Vimから任意のデータベースを操作

Vim

ふとSQLを勉強しようと思ったんですが、ちまちまコマンドラインのクライアントから入力するのはきついので、Vimから操作できないのかなーとか妄想してたら普通にありました。 dbext.vim - Provides database access to many DBMS (Oracle, Sybase, Microsoft…

ref.vimからGNOMEのドキュメントを引く

Vim

最近gtkを勉強してますが、自分はドキュメントみないとやってけないです。が、なかなか公式のドキュメントが探しにくい(glibとかgtkとかgdkとかで分かれてる)ので、ref.vimから引けるように適当に作ってみました。ackとw3m(かlynxとか)が必要です。 使い方は…

関数ポインタ

gtkを勉強してて、コールバック関数を登録する際、 g_signal_connect(button,"clicked",G_CALLBACK(callback),(gpointer)"button 1"); とかしてて、このG_CALLBACK()って何してるんだろうと思ったけど、 typedef void (*GCallback) (void); #define G_CALLBA…

Macでrmした時ごみ箱に入れる

Mac

自分はいつもファイルを消すときrmを使うのでそもそもごみ箱の存在を忘れてたんですが、今日たまたまこんなの見つけました。 rmtrash rmtrash is a small utility that will move the file to OS X's Trash rather than obliterating the file (as rm does).…

growlでラーメンタイマー

思いつきで作ってみました。 まぁこれはただのタイマーです。 $ timer -m 1 $ timer -m 1 -s 10 $ timer -s 30 $ timer -s 300みたいに使えます。 ということで、 alias ramen="timer -m 3 -t 'Ramen' -i /path/to/ramen.gif"とかしてみるとラーメンタイマー…

Cでnon-blocking IO

こんな感じにすればできるらしい。 #include <stdio.h> #include <termios.h> #include <fcntl.h> #include <time.h> int main(int argc, char const* argv[]) { struct termios save_settings; struct termios settings; char c; tcgetattr(0,&save_settings); settings = save_settings; setting</time.h></fcntl.h></termios.h></stdio.h>…

Zshの右プロンプトにVimを起動しているか表示

自分はいつもscreen+vim+zshで作業してますが、たまにというかけっこう:shでシェルを起動します。が、自分はscreenでvimをいくつも開いて適当に放置するという癖があるのでこのシェルがvimから起動したものなのかそうじゃないのか分からなくなることがありま…

2次元配列を関数に渡す

C

なんか前にも似たようなこと書いた気がするけど、2次元配列を関数に渡す場合普通だったらポインタ配列を使うんだろうけど、 #include <stdio.h> void foo1(int *data[],int row,int column){ int i,j; for(i = 0;i < row;i++){ for(j = 0;j < column;j++){ printf("%d</stdio.h>…

GAlib 用のdictionary

vim用にGAlibのdictionary作りました。まぁtagsから適当に抜き出しただけです。よろしければどうぞ^^ http://gist.github.com/596490

C++用遺伝的アルゴリズムライブラリ GAlib の使い方

C++

この前はpyevolveを使いましたが、今回はC++用の遺伝的アルゴリズムライブラリであるGAlibというものを使ってみたいと思います。GAlib: Matthew's Genetic Algorithms Library予め言っておくと、pyevolveの使い方とGAlibは似てます。GAlibのソースにも多数の…

最新のファイルを表示するコマンド

最近~/Downloads以下にある最新のファイルをcpしたりmvすることがよくあって、mv ~/Downloads/{ファイル名} . とかしてたんですが、ファイル名なんだっけ?と思うことがよくありました。で、 $ ls -t ~/Downloads | head -n 1 すれば~/Downloads以下の中の最…

VimでAOJの問題文を取得する関数作りました

Vim

http://rose.u-aizu.ac.jp/onlinejudge/index.jsp というものがあって、まぁ自分は名前を知ってるだけなんですが、友達がやっていて、「onlinejudge.vimだとsubmitとかできるけど問題文が見れない。問題文見たい!」っていってたので適当に作ってみました。 …

Pyevolveで学ぶ遺伝的アルゴリズム

Pyevolveとは、Pythonで書かれた遺伝的アルゴリズムのフレームワークです。公式サイトによれば、Pyevolveの方針は、・ pure python で書く ・ APIを簡単に使えるようにする ・ 進化過程をグラフ等で見れる ・ 拡張性をもたせる ・ パフォーマンスを第一にデ…

factor 20100914: 2 137 73361

今日はじめて知ったんですが、linuxにはfactorという素因数分解をするコマンドが標準であります。 macにはありませんが sudo port install coreutils すれば gfactor という名前で使えます。 $ gfactor 12 12: 2 2 3 $ gfactor 100 100: 2 2 5 5 $ gfactor 2…

VimのステータスラインにGitのブランチ名を表示

Vim

今までGitなんてあんまり使ってこなくて使い方も正直よく分かってなかったんですが、最近複数人で開発(といっていいんだろうか)をすることになって、Gitを使っています。で、だんだんGitが分かってきたんですが、そんな中で便利だと思ったのがこれ。 Git だ…

FizzBuzz (Haskell編)

関数型言語やるのははじめてです。 最初に作ったのがこれ。 まぁちょっと調べて限りだいたいみんなこんな感じでやってるっぽい。 ただこれだと一回リスト作ってから出力してるので、逐一する出力ように改良(?)。 これでいいのかな。 …fizzbuzzでこんなに苦労…

cho : CUIな簡単な支出記録

自分用にCUIな簡単な支出記録作りました。Python2.7で動作確認してます。 GitHub - mmisono/cho: Siimple text-based command line expenditure record 日付ごとに 名前:価格 のペアを登録していくだけです。 まぁ今月いくらぐらい使ったのかだけ分かればい…

デバッグメッセージ を conceal する

Vim

せっかくvim7.3にしたのでconceal使ってみました。こうすると、debug("aaaa") とか書いてあるのが消えます。 誰得。。

構造体で任意の長さのデータを扱う

C

ICMPのパケットを見てはじめて気がつきましたが、こんなこともできるんですね。 これは…気づかなかった…。言われてみればそうだけど。というかいいのかこれ…。

VimからVisual C++ コンパイラを使う

Vim

初期状態のVimだとパスが通ってないのでclコマンドとかが使えません。しょうがないのでコンパイルしたい時はVisual Studio コマンドプロンプトを使っていたんですが、Vimって環境変数を設定することができたんですね。 if has('win32' || 'win64') let $DevE…

Pythonでフラクタル

Python Imaging Library (PIL)を使うとPythonで画像処理がいろいろできるというのでこれを使ってドラゴン曲線を描いてみました。 あまり日本語の情報はないようですが、ドキュメントは豊富だと思います。 以下今回使っている関数のめも。 Image.new(mode,siz…

GitHubでfork

GitHubでforkのしかた。 GitHubでforkしたいリポジトリに行くと、右肩にこんなものがある。 ので、ここのforkをクリック。 すると自動的に自分の所にforkされたリポジトリが作られる。 ということで、あとは $ git clone git@github.com:mfumi/hoge.gitとし…

MacBookのバッテリー情報を取得するプラグイン

Vim

自分用にMacBookのバッテリー情報を取得するプラグインを作りました。 GitHub - mmisono/battery.vim: vim plugin: get battery information 元になってるのはemacsに付属してるbattery.elです。lisp全く知らないけど適当に真似してみました。 現在の所macし…

Vimのhelpを複数個開く

Vim

Vimのhelpは1つのタブ内で基本的に1つしか開けません。まぁ普通に1つずつ読めばいいじゃんって話ですが私は開きたいので設定してみました。かなり強引できもい…。ついでに縦分割ができるようになってるのと引数いくつでも渡せるようになってます。これで:hel…

prototypeと__proto__

prototypeと__proto__についてよく分からないので調べてみると、以下のページを見つけました。 http://www.mollypages.org/misc/js.mp このページの図が全てだと思いますが、自分用に勝手にページを翻訳してみました。誤訳とかあるかも分かりません。。 - ポ…

Fizzbuzz (JapaScript編)

JavaScriptの勉強を始めてみたので、とりあえずfizzbuzz書いてみました。 for(i=1;i<=100;i++)print(i%15?i%5?i%3?i:'fizz':'buzz':'fizzbuzz'); で、久しぶりにfizzbuzzで調べてみたらforループの中にprint()を埋め込むと少し短くなることを発見(まぁほとん…

windowのリサイズ

Vim

vimのwindowを分割しててサイズを少し変えたいときいちちち+とかやってられないのでちょっとやってみました。rは使わないだろうということで上書き。j,k,h,lでwindowの幅を1ずつ変更します。で終了 (本当はに割り当てたかったけどできないよう。。普通にでき…