技術メモ

ftraceとtrace-cmdを使って、Linux Kernelのイベントログを簡単に取得する

Linuxには、ftraceというトレーサがあります。 カーネル内の全関数タイムスタンプつき呼び出し履歴などを、それなりに高速に取得できます。 詳しくは、@ITにある以下の記事をどうぞ。 http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch10a.html http…

どーしてもFTPサーバを立てなければいけない時に使う、使い捨てFTPサーバ

「最近ブログ書かないんですか?」と客先で聞かれることがあったので、生存確認の意味でブログを書いてみたいと思います。 FTPといえば、最近着目を浴びたプロトコルですね。FTPは、そもそもセキュアではないプロトコルです。追い撃ちをかけるように、FTPク…

はてなのようなキーワードリンクをRubyで付与する実例

hrjn: はてなとかニコニコ大百科のキーワードリンクってどうやってんのかなぁ。正規表現だと死んでしまうので、専用のパーサ作ったりしてんのかな。 http://twitter.com/hrjn/status/2926407314 ニコニコ大百科では、キーワードリンク専用のRubyモジュールを…

ニコニコ大百科アラートでのメッセージキュー設計について。

お風呂でメモ。 要件 ニコニコ大百科で起こったイベントのうち、 ユーザが指定したものだけを通知するクライアントアプリケーションを作成したい。なお、すべてのイベントは漏れなくユーザに伝わることとし、 すべてのユーザに送られる情報は同一とする。 イ…

Windows@i386でのatomic 64bit store

Windows@i386でのatomic 64bit store。_InterlockedCompareExchange64を使ったほうがいいのかな?だいたい、ちゃんと動作してるのかしら…ツッコミ求む。 #include <windows.h> #include <stdio.h> #define int32_t INT32 #define uint32_t UINT32 #define int64_t INT64 #define </stdio.h></windows.h>…

名は体を表す

Bepp Tokyoという名前を思いついた。名前を思いついただけで満足した。 誰か実装する人がいたら、受けはmemcachedプロトコルで宜しく。

技術イベントだらけ。

天下一カウボーイ大会が意外と真面目そうなイベントになっている件。 http://onosendai.jp/championship2007/cowboychampionship.html もっとユルい感じだと思っていた。。。 という今日は、WEB+DB PRESS Tech Meetingに行ってきます。 こちらは事前に「堅そ…

Django勉強会 Disc 4での資料を公開します

Django勉強会 Disc 4で発表させていただいた資料を公開します。 今回は構成とかグダグダ&Djangoの話が少なくてすみませんすみません… DjangoでSenna 2.0!(PDF注意) Senna 2.0を用いたWikipedia検索はリポジトリに公開しています。 Senna2.0でのWikipedia検…

今流行の.emacs & .vimrc

僕の周りで強引に流行らせている、 エディタで行末に存在するスペースを強調表示する設定。 この設定をすると、人が書いたコードの行末のスペースが大変気になってしまい、 その人に設定を押し付けて…といった伝染力を持ちます。取り扱い注意。 この設定の流…

Ohlohにプロジェクト登録をしてみた。

ドジっ娘のハッカーから、 Ohlohなるサイトを教えていただいた。 Open Hub, the open source network 早速Sennaも登録してみたが、 リポジトリのクロールの途中のようだ。 The Senna Open Source Project on Open Hub Sennaは、1.1リリースに向けて大きな変…

PythonでSQLiteのFTS2を使う

いつもおなじみの?「傀儡師の館」にてSQLiteのFTS2をPythonで使う手順が公開されている。 SQLite の全文検索を Python から使ってみる (1) | 傀儡師の館.Python - 楽天ブログ SQLite の全文検索を Python から使ってみる (2) | 傀儡師の館.Python - 楽天ブ…

音楽からボーカルだけを抽出or削除

ある音源があって、ボーカルだけを抽出 or 削除したい場合ってあるよね。 ボーカルが中央に定位していれば、 K5 WAVE Filterでセンター音を抽出 K5 WAVE Filter 波形エディタでボーカル以外を丁寧に取り除く 400Hz〜4Khzらへんが残るように周波数フィルタを…

WindowsNT・2000ネイティブAPIリファレンスが高すぎる

NtCreateSectionとNtMapViewOfSectionの挙動を記した本が欲しいなあ、と思って 探してみたんだけど…WindowsNT・2000ネイティブAPIリファレンス―アンドキュメンテッドAPIとNT・2000の内部構造を知る (Windows programming technique)作者: ギャリーネベット,G…

mysqlhotcopyが動かない

mysqlhotcopyを動かすと、 Invalid db.table name 'ore.ore`.`oretable' at /usr/bin/mysqlhotcopy line 855.のように、データベース名が2つ重なってしまって動かない。 MySQL Bugs: #27303: mysqlhotcopy dies with error Invalid db.table name 'foo.bar`…

Lucene 2.2の新機能を調べてみた。

関口宏司さんのLuceneブログによると、 Lucene 2.2がリリースされ、 ペイロードをつけることができるようになったようだ。 Lucene 2.2のリリース | 関口宏司のLuceneブログ 記事から名詞だけを取り出す | 関口宏司のLuceneブログ 人名がヒットしたときはスコ…

バイナリエディタって何使ってる?

僕は中高生の頃バイナリエディタを激しく使っていました。 その頃の名残(?)で、僕の中でバイナリエディタと言えばMDeです。 さて、 Sennaのインデックスの一部を破損させた場合の挙動を調べるために、 バイナリエディタでインデックスファイルを書き換え…

Windowsのcmdでコードページを変更

以下のエントリを読んで、直接関係ないのですが備忘録を。 Perlでマルチバイトなファイル名を扱えないというFUD - Charsbar::Note Windowsのcmdでコードページを変えるコマンドは「CHCP」。 これ、ついこの間まで僕知りませんでした。 cmdで「HELP」とすると…

Protothreadsで学ぶC言語

いまだにC言語をよく理解していない。 1文しかない関数を定義する場合でもブロックは必須なのね。 例えばこういうのはダメ、と。 void test_func(void) return; 上記の問題は、 epollのチェック関数を作っているときに気づきました。 しかし、Linux 2.4君よ…

Webサーバ書くのって流行りなの?

Memcachedの添え物として扱われている(ような気がする) libeventちゃんカワイソウ。 libevent というわけで、libeventとsennaを使って COOKIEによるセッション維持機能がついたWebサーバを書いてみた例。 (Sennaは単なるハッシュライブラリとして使ってい…

ちょ、高すぎ。

lex & yaccプログラミングの邦訳版はオライリーのページを見る限り絶版のようだ。 Amazonだと\12,000-!!! ヤフオクでも\9,800-!!! たけーっすよたけーっすよ… 英語版でもいいけど、読み進めるのがすっごく遅くなるからなぁ… 誰か邦訳版が余っていたら適価で…

sudoの正しい発音

職場で話題に出た。 結論は http://www.gratisoft.us/pipermail/sudo-users/2006-July/002913.html The correct pronunciation is sue due / soo doo for "superuser do". - todd 僕は、'su'を「えすゆー」と発音しています。もはやswitch userになってます…

sourceforge.netのコンパイルファームが落ちている?

せっかくSPARC + Solaris用にコードを修正しようと思ったのに、 sourceforge.netのコンパイルファームが落ちているようだ。 sourceforge.jpにはSPARC環境のコンパイルファームがないので悩ましい。 どっかいらないSPARCマシンないかなあ。

Binary 2.0 カンファレンスにいってきた

Binary 2.0 カンファレンスにいってきた。 どの話も面白かったよ。 Sennaはlock-freeなRCU(Read-Copy-Update)を使っていますよ! Sennaはlock-freeなRCU(Read-Copy-Update)を使っていますよ! Sennaはlock-freeなRCU(Read-Copy-Update)を使っていますよ! と…

JiroSearchという検索エンジンがあるようだ。

JiroSearch http://www.crm.co.jp/jirosearch/ Luceneベース。基本N-Gram。 タグ検索機能がついているらしい。 タグ検索かあ。 検索エンジンは世の中にかなりの数が出ていると思う。 そのうち多くは、転置インデックスをインデックスのデータ構造として採用…

MySQL or PostgreSQL + Sennaのオススメ構成

Sennaの主な利用用途であると考えられる、 データベース組み込み用途。 ブラジル内部でもSennaを用いたサービスを運用していますが、 その運用ノウハウの一部をメモ。

ARMのインストラクションセットいいねえ。

ARMのatomic_addについて調べた。 ARMはswp命令を備えているので、 load->add->swp->cmp でいけるね。 昔、ポケットステーション用のプログラムを触っていたときにちょっと調べたけれども、 もともと6502や65816を触っていたこともあり? かなり好きなインス…

DBMSデフォルト組み込みの全文検索

PostgreSQL 8.2からGINというインデックス形式が追加され、 それを用いれば全文検索インデックスが実現できます。 分かち書きを別途行う必要はありますが。 http://itpro.nikkeibp.co.jp/article/COLUMN/20060912/247864/?ST=lin-server&P=3 MySQLのデフォル…

Ludiaリリースおめでとう。

Sennaを使ったPostgreSQL用全文検索エンジンLudiaがリリースされたよ! http://www.nttdata.co.jp/release/2006/101100.html http://www.nttdata.co.jp/services/ludia/index.html

LANケーブルはカテゴリ6eで

LANケーブルを買うときはカテゴリ6eのものを買うようにしている。 サンワサプライのKB-T6Eシリーズをよく買っている。 ラインナップは0.5m,1m,2m,3m,5m,7m,10mの白・黒・水色。 サンワサプライ エンハンスドカテゴリ6LANケーブル0.5m KB-T6E-005BK サンワサ…

PHP Crawlerを日本語で使う

MOONGIFTで紹介されていたPHP Crawlerだが、 日本語ではそのまま利用することができない。 http://oss.moongift.jp/intro/i-2341.html 利用するためには、Sennaを用いるのが楽だろう。 http://qwik.jp/senna/ SennaやSenna+MySQLのsrpmは以下のサイトのを利…