groovyでmidi演奏

MIDIライブラリ。CORBAとともに削除してほしい、モジュラーJREの登場後はぜひとも読み込まれてほしくないAPIナンバーワン http://journal.mycom.co.jp/news/2009/04/22/018/index.html 不要No1がCORBAなのは同意だけど、midiを同列にするとは。こんな楽しい…

システムにインストール済みの全パッケージを依存関係に持つdebファイルの自動生成

ubuntuシステムのバックアップの一環として、定期的に dpkg-query -lからapt-get install ...で使うパッケージ名一覧をとり出し、ファイルで保存してた。 dpkg-query -l | ruby -ane 'puts $F[1] if $F[0] == "ii"' > installed_packages.txt 依存関係のみを…

pythonでflatten

def flatten(ls): """ >>> flatten([1, [2, 3], [4], 5, [6, [7]]]) [1, 2, 3, 4, 5, 6, 7] """ return sum((flatten(i) for i in ls), []) if isinstance(ls, list) else [ls] 大して変わらないと思うけど、flatten化するgeneratorをsumするのと、reduceす…

python-progressbarでターミナル上にプログレスバーを出そう

http://pypi.python.org/pypi/progressbar/ http://code.google.com/p/python-progressbar/ debianやubuntuにはパッケージもあります。使い方は簡単でした: from progressbar import * widgets = ["Test: ", Percentage(), Bar()] maxval = 1000 pbar = Prog…

SIEを使ってみた&&graphviz生成のSVGおよびツールチップ表示に対応させてみる

http://sie.sourceforge.jp/ IEでSVGを表示させるSIEを使ってみました。感想は 小さい画像向けか。大きいと固まったように重たい objectのサイズやSVGのサイズviewboxのサイズを合わせる必要がある? (拡大縮小がへん?各shapeがfirefox等でのにくらべ1.3倍く…

encode("zlib")でwsgiアプリをdeflate対応させる

strのメソッドencode()やdecode()では、"utf-8"などの文字コードだけじゃなく"base64"、"zlib"、"bz2"、"uu"、"hex"、"rot13"といったものもつかえるようです(/usr/lib/python2.6/encodings/以下にある)。でもなぜか"gzip"はありません。encode("zlib")をつ…

区から、定額給付金の説明が

受ける手続きは、3月30日〜9月30日の間に、通帳をコピーして、申請書とともに返送とのことだと。一家4人なら64000円でそこそこ使い方を考えられる額なんだろうけど、単身者の場合12000円なので、大半はそのまま貯金されるだけだろう。振込みだし。

Ubiquityコマンド更新

Ubiquityのアップデートによって動かなくなってた、Ubiquity用alc/eijiro検索コマンドを作ってみる - ラシウラおよび、Ubiquity用evalを作ってみる - ラシウラの更新をした。firefox3.1b3+ubiquity0.1.7.1で動いてるが不安定かも。 http://gist.github.com/8…

x86linux gasでhello world

ちょっとだけやってほとんど忘れてるgasの記憶確認としてHello Worldを書いてみました。 関数なし版 セクション、基本的なx86 asmの使い方、エントリポイント、システムコールwrite&exitを呼ぶ、アドレッシング # puts hello world # build: as hello.s -o h…

e-Taxやってみた

深夜4時、とりあえず終わった。値は事前に行った手計算と同じだったのでいいとして、最後のデータ送信は成功したんだろうか。還付金が振り込まれてるかどうかで確認かな。 はじめるまでの手順 区役所の自宅のそばにある主張所で、住基カードの申請をする e-T…

python rdflibを使う

firefoxのaddonを書くとき、install.rdfを書くことになるのですが、そのチェックをrdflibでやってみることに。 http://rdflib.net/ addonのxpiに入れるinstall.rdfは以下のような感じです。 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> </rdf:rdf>

検索フォームにヘルプ表示するJavaScript

そこで作ったのが下記です。どうでしょうか? http://techblog.yahoo.co.jp/cat207/how_to/javascript/ が汚いコードだというのと、表示のためだけにinputのvalueに入れるのもどうかと思ったので、CSSでその表示を後ろに出すようにし、操作するコードを書い…

nandロジック

32 :以下、名無しにかわりましてVIPがお送りします:2009/02/24(火) 17:07:24.42 id:aul/XQ0z0 パソコンの原理 AND OR NOT の回路だけでお前らの目の前のパソコンが動いてるんだぜ http://fsokuvip.blog101.fc2.com/blog-entry-1131.html 2入力ともに1のと…

bzrlib: bazaarをPythonから操作する

分散VCSのbazaarは、Pythonで作成されています。 http://bazaar-vcs.org/ 普通はbzrコマンドで操作するのですが、これをbzrlibを使ってPythonから直に操作してみます。 API: http://starship.python.net/crew/mwh/bzrlibapi/bzrlib.html コマンドライン機能…

Ubiquity用evalを作ってみる

プレビューに式の結果を表示するコマンドeval http://gist.github.com/67431 *1 範囲選択で実行とかもできますね。副作用も残るので、たとえば、 CmdUtils.getWindow().document.body.contentEditable = trueを範囲選択してCtrl+Spaceで窓を開いてevalを選ぶ…

Ubiquity用alc/eijiro検索コマンドを作ってみる

(追記: Ubiquity 0.1.7以降の対応済みソースはこちら: http://gist.github.com/86773 ) (追記: Ubiquity 0.5以降の対応済みソースはこちら: http://gist.github.com/144227 )遅ればせながらUbiquityを使用しはじめた。 https://wiki.mozilla.org/Labs/Ubiqui…

Python ctypesでSpiderMonkeyを呼び出す

PythonでのFFI - ラシウラ の続きで、ctypesの練習にSpiderMonkeyのDLLを呼び出してみました。 べた書きで、後半の例題に必要最低限の情報を使うだけにとどめてます。参考文献は http://www.mozilla.org/js/spidermonkey/tutorial.html および、SpiderMonkey…

djangoをmod_wsgiやcgiで使うためのpythonスクリプト

mod_wsgiを使うことでも、djangoアプリケーションが使えます: http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango とはいえ、このドキュメントも、.htaccessで使うためのものはなく、いろいろな環境の対策が混在してるために自環境に合わせる部分…

BeautifulSoupで簡単に危険なタグをエスケープ

閉じてないタグを閉じたり、タグ名を小文字にしたりというような副作用もあるわけですが。 from BeautifulSoup import BeautifulSoup import cgi dangerous_tags = [ "script", "applet", "object", "embed", "img", "form", "input", "select", "textarea",…

Luaのはまりどころ

マイクロスレッドの比較対象のひとつとしてlua5.1を使ってみたけど、Luaって最近の言語と比べて結構独特な部分が多いなと思いました。以下、はまったところ: Tableを配列風に使うときの開始インデックスは1であることを忘れる Tableの存在しないインデックス…

0usersってどういうことでしょうね

http://b.hatena.ne.jp/bellbind/ http://b.hatena.ne.jp/entry/http://www.reddit.com/r/programming/comments/7fcaq/oo_programming_why_traits_rule_and_mixins_and/

新はてブの本文埋め込みがうざいので、Stylishで消してみる

新しいはてブは一覧ページでも本文を埋め込むようになったけど、どうもこの本文はノイズが多すぎて、一覧性にも支障があるので、Stylishを使ってユーザーCSSで消すことにしました。タグで絞り込むと非表示表示を切り替えられるのに、絞り込まないとそれがな…

merbを使ってみる

rails風にwebアプリを作成できる話題のmerbを使ってみました。 インストール すでにgem,rails,mongrelが入っているcygwin上にいれてみました*1。まずはgemの更新 gem update gem cleanそしてmerbを入れる gem install merb入ったのはmerb-1.0.1でした。デフ…

gccでのx86とamd64の時のsizeofの値

linux上でgcc-4.3を使った場合。違いはptr型、long、long double、size_t、time_tなどで起こる。 x86 sizeof(int) = 4 sizeof(void *) = 4 sizeof(size_t) = 4 sizeof(ptrdiff_t) = 4 sizeof(wchar_t) = 4 sizeof(void) = 1 sizeof(clock_t) = 4 sizeof(time…

つづき、文字単位コピーからブロック単位コピーにする

fgetcで書ければ、freadで書ける - ラシウラでは、fgetcからfreadを使うように変えました。これは機械的に変換しただけでしたが、ここからつぎは1文字づつコピーしている部分を、memcpyを使用して、ブロック単位でコピーするように変えてみましょう。 まずリ…

fgetcで書ければ、freadで書ける

初心者では、fgetcで一文字づつ処理するコードは記述できるのに、バッファを使うfreadで書くのに悩む人もいます。単純にfgetcで一文字づつ処理するコードは、以下のような形になるでしょう for (;;) { int ch = fgetc(file); if (ch == EOF) break; ... } こ…

PythonでDSL記法化に挑戦してみた

PythonでのDSL風記述に挑戦するため、PythonでのProlog風のソルバーを作ってみました。エンジンの実装は、 合併のお知らせ|OKIソフトウェア をベースにしています。PythonでPrologのDSLをやってるものとしては、以下のものがありました: http://code.active…

C言語の理解度を突いてみる

Cが使えると自称する人で、本当にC言語の意味を理解できてる人はわずかだったりします。というかリファレンスマニュアル等を見たことが無い人も多かったりするし、かれらが参考にしたリソースが仕様を理解して書かれているかどうか怪しいものも多い。実装が…

C言語の理解度を高めるための課題の案

配列シャッフルをC言語(ISO C89)で書くと以下のようになります: #include <stdlib.h> #include <math.h> #include <stdio.h> static void shuffle(const char ** const array); static void swap(const char ** const array, int i, int j); static const char * names[] = { "taro", "j</stdio.h></math.h></stdlib.h>…

ソートの学習では選択ソートをはじめにやるべき

配列のソートはいまさらいうまでも無いアルゴリズムですが、なぜか最初にくるアルゴリズムがバブルソートだったりするのはなぜでしょうか。正直バブルソートは直感的にわかりにくいと思います。比較的わかりやすいのは選択ソートだと思います。「一番小さい…