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

ICFPC 2009に参加してたので日記。

6/26 27:00 - 6/29 27:00の期間で開催されていたICFPC2009に一人で酒飲みながらちんたら参加していたので感想とか書いておきます。先に結論を書くと結構楽しかったんですけどScoreは0点。まだバグある提出していないもの一式。 twitterの発言あたり参考に振…

ICFPC 2009感想エントリとかリンク集

たぶんここだよね的なチーム名も併記します。間違ってたらすいません。指摘していただければ書き換えます。 チーム名 リンク shinh 2009-06-30 - 兼雑記: 一般的に、信用のおけるパーツを一つずつきちんと組んでくのは大事だなぁ shinhさんと俺じゃレベルは…

Firefox 出張ワークショップ 〜基礎から学べる拡張機能開発〜参加しました。

結果こんなにも立派な拡張機能を実装することができました! ボタンがロボットに見えて困ってしまう拡張機能です。 http://konbu.s13.xrea.com/lib/firefox/robotbutton.xpi あと拡張機能のinstall.rdfにはfirefoxのGUID書かんといけないのですけどそんなも…

Beep音を消そう

Beep音はデバイスマネージャで「非表示のデバイスを表示」にチェックを入れて「プラグアンドプレイではないドライバ」にある「Beep」を無効にすることで鳴らなくなります。

(本題)Luaのダイレクトスレッデッドコード

Lua

非常にいいかげんに実装。たいていのプログラムはセグフォで落ちる。非常に恣意的なテストプログラムを走らせる。 local i = 1 local j = 1 while i<100000000 do i = i + 1 j = j + i end print(j) % time (repeat 10 ./lua test.lua >/dev/null) 1:08.98 u…

ダイレクトスレッデッドコード復習。

VM

ひどく単純なVM #include <stdio.h> #define STACK_SIZE 30000 enum Instruction { I_PUSH, I_POP, I_DUP, I_ADD, I_SUB, I_JUMP, I_IF, I_NOT, I_EQ, I_RETURN }; typedef enum Instruction Instruction; struct Code { Instruction inst; int value; }; typedef str</stdio.h>…

bashrc設定切り分け

HOMEをNFS共有してるのでこんな感じにFreeBSD環境、Linux 64bit環境、Linux 32bit環境と切り分けてる。 if [ `uname` = "FreeBSD" ]; then source $HOME/.shell.d/bashrc.bsd elif [ `uname` = "Linux" ]; then source $HOME/.shell.d/bashrc.linux if [ `un…

未踏ユースに応募とかしてました。

書類選考は通って、2009/06/13の土曜にオーディションでプレゼンをしました。なかなか面白いイベントでした。24歳とかそのあたり以下の人とかは面白いのでどんどん応募すると良いんじゃないでしょうか。 資料とかはたぶんそのうちどっかにアップロードします…

なんかアレな CentOS 4.7 (x86_64) に RPMForge を入れて多少アレにする

「# yum list」の出力を見て愕然とせざるをえないので RPMForgeなど導入する。ただし RPMForge のパッケージは yum で陽に指定したときのみ使うことにする。 # wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.x…

「ふろぉー しいてる ひちとたの はげつんを けっりんぶじ します。」なbotを書きました。

http://twitter.com/cmriadbge_botケンブリッジ大学がどうたらこうたら - hogeなlog に書いたケンブリッジなんたらをtwitterの発言に適用してるだけです。 13分おきくらいにフォローしてる人の発言を適当にケリブッンジ化して発言します。 話しかけるとだい…

ケンブリッジ大学がどうたらこうたら

Ruby1.9と適当に1.9対応したRuby/kakasi、mecab-rubyインストールした環境にて。 #!/usr/bin/env ruby # vim: set fileencoding=utf-8: require "kakasi" require "MeCab" class Cambridge def initialize @mecab_y = MeCab::Tagger.new("-Oyomi") end def h…

sort_by{rand}はちゃんとshuffleできてるのか

できてるのか。 irb(main):001:0> ([0]*7000).map{(0..6).to_a.sort_by{rand}[0]}.inject([0]*7){|t,i|t[i]+=1;t} => [947, 977, 979, 1022, 1021, 1047, 1007] 参考 ランダムソート(笑)とは - 西尾泰和のはてなダイアリー 配列のシャッフルの決まり文句は「…

超適当にkakasi-rubyをruby1.9で使えるように

1.8向けのruby拡張を正しく1.9向けに書きなおす作法がまったくわかってないけど、とりあえず動かすだけ動かしてみました。 http://github.com/hogelog/kakasi-ruby/tree/1.9 irb(main):001:0> require "kakasi" => true irb(main):002:0> Kakasi.kakasi("-JH…

Javaの復習

しばらく先にJava演習のTAをやるのでJavaの復習をします。Javaというのはしちめんどくさい言語で、Cなら main(c){while(c=getchar())putchar(c);} で済むプログラムが import java.io.*;class C{static{int c;try{InputStream i=new BufferedInputStream(Sys…

鬱陶しいSSH総当たり攻撃をDenyHostsではじく

適当に導入して設定して再起動。 % sudo aptitude install denyhosts % sudo vim /etc/denyhosts.conf % sudo /etc/init.d/denyhosts restartdenyhosts.confにした適当な設定。特に触れてないものは書いてない。 PURGE_DENY = 5d banしたホストをどれくらい…

longlife gc patchを少し試しました。

gc

http://d.hatena.ne.jp/authorNari/20090511/1242054805 ruby-1.9.1-p0で試してみました。そのままの方がruby-1.9.1、patchあてたものをruby-partialとしています。ao-bench*1の結果。 % time ruby-1.9.1 ao-render.rb >ao.ppm 6:03.64 user 0.012 system 6:…

luaでpit

Pitは細々としたスクリプトのパスワード管理の面倒さから解放してくれますが、luaのpit実装が見当たらなかったので書いてみました。http://github.com/hogelog/luapit/tree/masterluayamlをインストールして、pit.luaをダウンロードして/usr/share/lua/5.1/…

pitってこういう感じでしたっけね。

すごく適当だけど眠くてこのまま放置したまま数年とか経ちそうなので貼っておいてみる。luayaml使ってる。

Skype 3のチャットログ保存期間を自由に設定する

Windows版Skypeはチャットログがたまると起動すらしなくなる素敵なソフトとして有名です。なのでチャットログ保持期間を短かくしてログをガンガン削除してもらいましょう。がしかし、保持しない、2週間、1ヶ月、3ヶ月、無期限と非常におおざっぱにしか設定で…

ruby-1.9.1-p0 で termtter + Pit

Windowsでtwitter遊びするときはTwitとかTweenなどを使ってたりするのですが、Linux用にtermtterセットアップしてみました。 $ ./configure --program-suffix=-1.9.1 --prefix=$HOME/local $ make $ make installみたいに自前ビルドしてホームディレクトリに…

ruby-1.9.1-p0 に ruby-prof 0.7.3 を gemで入れられない件

% ./configure --program-suffix=-1.9.1 --prefix=$HOME/local % make -j 8 % make install-nodocのようにごく普通にビルド、インストールしたrubyにて、ruby-profをgemからインストールしようとしたらできなかった。 % gem-1.9.1 install ruby-prof Buildin…

Optimistic Stack Allocation For Java-Like Languages

論文(ACMへのリンク) 発表資料(pdf) 辞書で単語の意味を調べて繋げると「Javaライクな言語のための楽観的なスタック割り当て」ということになります。題名から予想するに「Javaライクな言語だったらだーいたいスタック割り当てで大丈夫っしょ〜」みたいな内…

習作GCライブラリ(1) exact copying gc

GC

習作として単純なGCライブラリを実装してみました。とりあえず面倒だったのでヒープとスタックのサイズは固定長。 githubを使って公開してみる http://github.com/hogelog/copying_gc/tree/masterこんな感じで使う。 static Memory *memory; void test_01() …

文字列の繰り返し

c

rubyのソースコードを眺めていたらrb_str_timesの実装がおもしろかったので、実際そういった書き方をすることでどれだけパフォーマンスに差が出てくるのか試してみました。http://codepad.org/AQbS4Ilu #include <stdio.h> #include <stdlib.h> #include <string.h> inline unsigned long </string.h></stdlib.h></stdio.h>…

LDRでのtumblrフィード消化を高速化(?)

tumblrにはdashboardというインターフェースが用意されていて、そこからfollowしているtumblrを見ることができます。が、あれは「tumblrのイマ!」を見るものと思っているのでほとんどはRSSリーダから見ているid:hogelogです。おはようございます。というわ…

ldr_view_entry_link修正

どうも問題があったようでpatchをいただいたので取り込みました。 patch 以下の問題に対応 w.Keybind がundefined の状態でショートカットキーを定義しようとしてしまうことがある setTimeout で回避 b, B のショートカットがLDR のショートカットと被る l(…

2009/1/24 23:05 追記

unescapeするの忘れてて http://hoge/fuga?moge&hage みたいなリンク開くの失敗してたので修正。

RSS消化を高速化

fastladderを常々愛用しています。みなさまご存知の通り、元エントリはvで一発で開けますが、エントリ中に含まれるリンクを開きたいときはどうしているでしょう。 マウスでクリック? vで元エントリ開いてからvimpのhintsで? 常々めんどくさいと思っていた…

精神衛生のため動的配列を実装する

twitterで hogelog bufで1024とかつい2のn乗確保するけど、なんか2のn乗じゃなくて○○の方が良いとかそんな意見をどっかで見たことあるような気がすんだけど、気のせいだろうか anemo @hogelog mallocが2^nで確保するのは、初期段階で必要なサイズがわからな…

test