タグ

ブックマーク / tasukuchan.hatenablog.com (11)

  • ftraceとtrace-cmdを使って、Linux Kernelのイベントログを簡単に取得する - グニャラくんのグニャグニャ備忘録@はてな

    Linuxには、ftraceというトレーサがあります。 カーネル内の全関数タイムスタンプつき呼び出し履歴などを、それなりに高速に取得できます。 詳しくは、@ITにある以下の記事をどうぞ。 http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch10a.html http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch03a.html ためしにftraceを使ってみました。2010年5月時点にて、Debianでの使用方法をメモします。 Debianの現行testingにおいて、kernelのftrace機能は無効とされています。ftrace機能が有効かどうかは、以下の操作で確認できます。 # mount -t debugfs nodev /sys/kernel/debug # cat

    ftraceとtrace-cmdを使って、Linux Kernelのイベントログを簡単に取得する - グニャラくんのグニャグニャ備忘録@はてな
  • インターネットを活用した、ひきこもりのための株式会社の創り方

    この度、株式会社wktk(ワクテカ)という法人を設立いたしました。 30歳の誕生日に何か面白いコトをやろう!と思い立って、2週間くらいで法人設立にこぎつけました。あ、会社勤めは辞めてないし、辞めるつもりもないですよ、念のため。僕の勤め先は、そういうところに融通が利くところなのです。起業を促進してます。うんうん。 株式会社の作り方と、基的な開業準備について、「ひきこもり気質でインターネット大好きな人」向けに情報を公開します。 世の中には、会社設立のガイドがあふれかえっています。重複することを書いても仕方ないので、や他のサイトに載っていない情報を主に書いていきます。情報は2010年4月現在のものです。 前提条件 一人発起で、代表取締役のみの株式会社を東京都xx区に設立する。 .co.jpドメインを取得する。 公告方法を官報にしつつ、財務諸表のみをWebページに載せて官報掲載代を節約する。

    インターネットを活用した、ひきこもりのための株式会社の創り方
    dann
    dann 2010/05/07
  • 音楽からボーカルだけを抽出or削除 - グニャラくんのグニャグニャ備忘録@はてな

    ある音源があって、ボーカルだけを抽出 or 削除したい場合ってあるよね。 ボーカルが中央に定位していれば、 K5 WAVE Filterでセンター音を抽出 K5 WAVE Filter 波形エディタでボーカル以外を丁寧に取り除く 400Hz〜4Khzらへんが残るように周波数フィルタをかける 細かい手作業 逆位相にする 元音源にぶつける で結構キレイにボーカルが抜けると予想。 倍音成分がちょっと残ってしまうかもしれない。 適当でよければ、 K5 WAVE Filterでサイド音だけを残したり、 ボーカルリデューサーを使ったりで十分かもしれない。 http://limetarte.net/software/more/binary/VocalReducer.htm 英語サイトのソフトウェアも試してみたのだが、 どれもソフトウェアとしてのデキが… BestPracticeの使い心地は悪くなかった。

    音楽からボーカルだけを抽出or削除 - グニャラくんのグニャグニャ備忘録@はてな
    dann
    dann 2010/01/28
  • Google Suggestのようなものを高速に実現するサーバsuggested - グニャラくんのグニャグニャ備忘録@はてな

    Google Suggestのようなものを高速に実現するサーバsuggestedというものを書いてみた。 が、しばらく放置していた。とりあえず公開してみる。 特徴 epollやkqueueを使っていてネットワーク部分が速い Sennaを使っていてSuggest部分が速い Sennaを使って正規化している。「トン」とか「ミリバール」(組み文字)とか「Wiki」(全角)とかでも検索可能 置き場 CodeResosに置いてあります。 http://svn.coderepos.org/share/lang/c/suggested/trunk 一応、2008/01/17バージョンの全ソースコードを貼っておこう。 #include <sys/types.h> #include <sys/time.h> #include <stdlib.h> #include <err.h> #include <sys

    Google Suggestのようなものを高速に実現するサーバsuggested - グニャラくんのグニャグニャ備忘録@はてな
  • Webサーバ書くのって流行りなの? - グニャラくんのグニャグニャ備忘録@はてな

    Memcachedの添え物として扱われている(ような気がする) libeventちゃんカワイソウ。 libevent というわけで、libeventとsennaを使って COOKIEによるセッション維持機能がついたWebサーバを書いてみた例。 (Sennaは単なるハッシュライブラリとして使っています。) mainを書き下すと、 Senna初期化 libevent初期化 httpd機能開始 URIごとにハンドラ関数を設定 イベントをガンガン処理 といった感じ。 Cでこれくらいの長さだったら、 妥当だと思います。 バグがありそうだし、セッション変数の種も適当だけど、 気にするなってことで。 実用にはならないけど、サンプルの1つとしてどうぞ。 LLな言語のインタプリタなんかを抱え込むと面白いのかもね。 #ifdef WIN32 #include <winsock2.h> #include <wi

    Webサーバ書くのって流行りなの? - グニャラくんのグニャグニャ備忘録@はてな
  • utf8::SWASHGETが重い - グニャラくんのグニャグニャ備忘録@はてな

    なんか動かしてるプログラムのとある関数がやたら重い。 DProfセンセ〜イ!! %Time ExclSec CumulS #Calls sec/call Csec/c Name 59.3 36.62 38.237 1 36.621 38.236 Omokute::Tamaran::Function 19.6 12.10 15.161 15223 0.0008 0.0010 utf8::SWASHGET ぎゃあ。激重いがな!utf8::SWASHGET。 で、正規表現を使う際に内部的に呼ばれているらしいけど、 ちょっと重すぎ。 http://www.nntp.perl.org/group/perl.unicode/2807 によると、 Unicode含まない正規表現使うときは、 そこだけスコープ切って、その中でuse bytesを指定してあげな! だそうです。 めんどい。 しかも日語での情

    utf8::SWASHGETが重い - グニャラくんのグニャグニャ備忘録@はてな
  • はてなのようなキーワードリンクをRubyで付与する実例 - グニャラくんのグニャグニャ備忘録@はてな

    hrjn: はてなとかニコニコ大百科のキーワードリンクってどうやってんのかなぁ。正規表現だと死んでしまうので、専用のパーサ作ったりしてんのかな。 http://twitter.com/hrjn/status/2926407314 ニコニコ大百科では、キーワードリンク専用のRubyモジュールを書いています。「SENNA」というキーワードがあったら、「senna」とか「SENNA」とかにリンクさせたりとかもできます。 Senna 1.1.4 + Ruby 1.8.6で、UTF-8専用ですが、使いたい人はどぞー。あと、いつもどおりいい加減な書き方なので気をつけて。とりあえず、以下のtest.rb, wordsym.rb, extconf.rb, sen_np_api.cをどこかに放りこんで ruby extconf.rb make sudo make install ruby test.rb 的

    はてなのようなキーワードリンクをRubyで付与する実例 - グニャラくんのグニャグニャ備忘録@はてな
  • ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな

    Twitter mongrelP: @tasukuchan グニャラくーん、ニコ百の鯖がEeePCという話が持ち上がってますがただの監視用ですよね(しんぱいそうなめでみている) http://twitter.com/mongrelP/status/1524183917 ニコニコ大百科のアーキテクチャについてメモしておきます。 当は、このネタでRuby Kaigiに申し込もうと思ったけど、すっかり忘れていたのでエントリを起こしておきます。Rubyあんま関係なかったし。 全てのリクエストを受付、セッション情報も保持するEeePC 次世代サーバプラットフォーム EeePC ニコニコ大百科宛ての全てのリクエストは、全てEeePCに送られます。 実物の写真を載せておきます。 EeePCは2台稼動しており、1台はホットスタンバイです。 EeePCは、SSDとUPSを備えた次世代サーバプラットフォーム

    ニコニコ大百科のアーキテクチャ - グニャラくんのグニャグニャ備忘録@はてな
  • Rubyでeventmachineを使って高速にメールを送る - グニャラくんのグニャグニャ備忘録@はてな

    またまた某サービスで、今度はメールを送るという要件が発生。 しかも、ユーザごとに異なった内容を送るというもの。 テンプレートはErubisを使うとして、 メール送信はどのライブラリを使おう。tmailかなぁ? とGoogle検索すると、eventmachineってものがあるらしい。 Rubyから非同期でガンガンSMTPサーバに接続できるようです。ひゃっほい! というわけで、ためしにeventmachineを使って メールを送信するテストコードを書いてみた。 一応並列に20個コネクションを張っている…はず。 テストが怪しいので、ご利用時は検証のこと。 eventmachineの挙動全く理解してねっす。 eventmachineにはSMTP clientだけでなくSMTP serverの実装もあるので、 テスト時にはそれを使うといいと思う。 ちなみに、EM::Protocols::SmtpCl

    Rubyでeventmachineを使って高速にメールを送る - グニャラくんのグニャグニャ備忘録@はてな
  • lighttpdでモジュールを書く際に気をつけること - グニャラくんのグニャグニャ備忘録@はてな

    lighttpdのモジュールを書くことを覚えてしまったせいで、 ついついlighttpdのモジュールで仕事を進めてしまうクセがつきました。 「なんでもおもっど」状態です。 全パスに対するアクセス数をTokyoCabinetに記録したり、 特定のパスに対してはmemcachedから値を取得したり、 Sennaで特定のキーワードにリンクを付与したり、 まあ、やりたい放題です。パフォーマンスも出てます。 ああ毛が立っちゃう。 lighttpdのbufferやarrayを使えば、 メモリリークなどに悩まされることはほぼありません。 意外と安定して開発・稼動できたので正直ビックリしています。 まあ、cookieをパースしたりする便利関数がないので、 そこらへんは根性で書く必要はあります。 どうにかしてくれよ(そろそろ飽きてきた)。 lighttpdのモジュールの欠点は、 ビルドシステムがちゃんとして

    lighttpdでモジュールを書く際に気をつけること - グニャラくんのグニャグニャ備忘録@はてな
  • 今流行の.emacs & .vimrc - グニャラくんのグニャグニャ備忘録@はてな

    僕の周りで強引に流行らせている、 エディタで行末に存在するスペースを強調表示する設定。 この設定をすると、人が書いたコードの行末のスペースが大変気になってしまい、 その人に設定を押し付けて…といった伝染力を持ちます。取り扱い注意。 この設定の流行り始めた段階では、 Subversionの差分で「どこが変わったの?」と思うような差分が多く出現します。 .emacs (when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t)) .vimrc highlight WhitespaceEOL ctermbg=red guibg=red match WhitespaceEOL /\s\+$/ 追記その1 Vimでtabを使っていると、2つめ以降のタブで強調表示されないようだ。 2007-09-0

    今流行の.emacs & .vimrc - グニャラくんのグニャグニャ備忘録@はてな
    dann
    dann 2008/02/25
    autocmd WinEnter * match WhitespaceEOL /\s\+$/
  • 1