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

moe で HTML をきれいに書く

Haskell でまともな HTML 吐きたいときに便利. http://hackage.haskell.org/package/moe 使い方は github のほうにある test.hs に書いてあるようなかんじで,実に直感的に書ける. なぜか MPS.Light の - を使って書いてあるけど,これの定義は標準の $ と…

SICP Lite #7

いろいろと Lite な SICP Lite に行ってきた. http://atnd.org/events/1858 とりあえず俺は fold のことについて書かなければならないと思うので,思考過程みたいなものを書いてみる. 問題2.27. まず deep-reverse の前に普通の reverse をどう書くかを考…

lambdabot のリンクエラーではまった

lambdabot を Arch Linux にインストールしようとして cabal install lambdabot したら,ビルドの途中で can't load .so/.DLL for: ncurses (/usr/lib/libncurses.so: file too short)というエラーがでた. lambdabot.cabal が間違っていたり,ncurses のイ…

Vim からはてなに投稿

Vim

まぁ既にあるんですが… http://github.com/motemen/hatena-vim metarw を使って自分なりに書いてみた. curl 必須.complete と read は実装していない. ~/.vim/autoload/metarw/hatena.vim に置いて, :w hatena:eagletmtとするとはてなダイアリーに投稿さ…

もっと fold を使おう

関数型言語というと「ループじゃなくて再帰」というイメージが強くて,実際自分も最初の頃はそう思い込んでいたけど, 実際には fold 等の高階関数を使うほうが多いよという話と,それに関連して foldl と foldr の違いの話. Prelude に様々なリスト操作関…

SICP Lite #5 に参加してきた

http://atnd.org/events/1654 自分は初参加だったけど1章は既に読んであったので2章組に入った. 適当に時間を区切って各自読み進め,疑問に思ったことや確認したいことがあったら自由に発言して議論していくようなスタイル. 皆さんかなり細かいところまで…

Vim で Haskell 書くときに

昨日 freenode の #haskell.jp にて nwn さんの呼び掛けで HIMA が行われた. 自分は開催中ちょっと疲れていて頭が働かず,話に参加できなかったけど… その中でかずさんが ghc-mod.el を発表してた. http://d.hatena.ne.jp/kazu-yamamoto/20090930/12542996…

Terminal.app で SKK

http://d.hatena.ne.jp/hitode909/20090809/1249818638 すばらしい!! というわけで uim-fep を入れた. http://code.google.com/p/uim/ ここから uim をダウンロードし,適当なところで伸長して ./configure その場で make すると GTK とのなんちゃらまでビ…

よくわからない template

以前ちょっと触ったことはあったけど,本当に触っただけだったD言語でいろいろやってみようと思った. まぁとりあえず型とか template とかですよね. static if とか is とか alias が便利すぎてすごい. 型レベルプログラミングの会の k.inaba さんの資料…

可変長の否定戻り読み

「foo でないものの後に続いている bar」にマッチさせたいという場合には否定戻り読み (negative lookbehind) が使える. 上の例を表す正規表現は (?

Twidge を試してみたが…

Twitter クライアントの一つである Twidge を試してみた. Haskell で書かれており,コマンドラインから Twitter の API を叩くのに便利なように作られている. -m (--mailto) オプションで結果をメールで送信する機能があるのだけど,これが俺の環境ではう…

乱数をくっつけてその乱数でソート

2回連続で mzp さんのエントリが元ネタ: http://d.hatena.ne.jp/mzp/20090729/shuffle 同じく Haskell で.State とか使わずに素直に「乱数をくっつけてその乱数でソート」を実装してみた. import System.Random import Data.List (sortBy) import Data.Fun…

正規表現だけで3桁ごとカンマで区切る

元ネタ: http://d.hatena.ne.jp/mzp/20090725/comma 数字が前にあって,3桁の数字のセットが最後まで続いている zero-width な文字をカンマに置換しています. #!/usr/bin/perl use strict; use warnings; use Data::Dumper; sub sep_by_comma($;$) { my ($n…

follower チェックに

follow 通知メールが来たり来なかったりなので,新規 follower がいれば列挙するプログラムを Haskell で書いた. それとついでに remove されたときにもそれを通知する機能もつけた. (新規 follower の数) + 1 回分の API を消費するので注意. エラー処理…

gcc さんのよくわからない挙動

builtin 関数 golf のときは普通 #include せずに書くわけだけど,引数として関数を渡そうとすると undeclared と言われてしまう. …なんかうまく説明できないので例で示すと, main(){printf("hello\n");} のように,関数を呼び出す形で使用する場合は imco…

魔法少女リリカルなのはViVid Memory;02

ヴィヴィオが全く10歳に見えないw まぁなのはの世界ではよくあることだけど. 今回のヴィヴィオはかわいいんだけど,なんか鼻につくかんじ.「わかってるよー」って雰囲気にちょっとイラっとくる. 公共魔法練習場なんてものがミッドにはあるんだね…市民公園…

Mac で Valgrind

Mac

Valgrind の次期バージョンである 3.5 から Mac 環境をサポートするそうだ. まだリリースはされていないけど,svn の trunk には既にきている. 以下,NEWS から引用 * Mac OS X is now supported. (Note that Mac OS X is often called "Darwin" because t…

point-free style での書き方

Haskell で普通の記法から point-free style へと変形する方針について考えてみた. きっかけは,この書き込み http://pc12.2ch.net/test/read.cgi/tech/1242876647/11 module Main(main) where import Data.Char import Control.Monad import Data.List mai…

魔法少女リリカルなのはViVid Memory;01

コンプエース初めて買ったよ! 意外と厚いんだね! 時間軸は StS から4年後.つまり,なのはさん23歳.Force の2年前ですね. 気になったところを列挙すると 「高町なのは一等空尉も現在はその翼をひととき休めて」ってことは,管理局の仕事はお休み中? なのは…

Quick Look のプラグイン

Leopard のすばらしさのひとつに Quick Look が挙げられるが,それのプラグインが存在することを今日初めて知った.Revealed: The secrets behind OS X Quick Look | TechRadarとりあえず,記事で紹介されている http://macitbetter.com/BetterZip-Quick-Loo…

screen で pbcopy/pbpaste が動かない問題

Mac

Mac にデフォルトでインストールされている /usr/bin/screen 内では何故か pbcopy/pbpaste が動かない. MacPorts で入れれば OK らしいのだが,俺の場合それでも直らなかった. git で最新版をとってきてビルドしたら解決した. http://git.savannah.gnu.or…

Chapter 2. Types and Functions

Real World Haskell をこれからちょっとずつ読んでいき,そのときのメモのようなものをここに残していきたいと思う. ツッコミ歓迎. 今日は Chapter 2. Chapter 2. Types and Functions type system strong types 暗黙の型変換(coercion)が行われない stat…

FFmpeg の GENERAL_REGS 問題について再び

yuki さんから情報を頂きました.ありがとうございます. http://d.hatena.ne.jp/eagletmt/20090315/1237114187#c1241296828 Lurker - Database message source pull failure ふむ,これを読む限り-O2以上を渡せばよさそうです. 実際, #include <stdio.h> #include <stdint.h></stdint.h></stdio.h>…

Mach-O から自力で関数を見つけて呼び出す その1.1

Mac

Mach-O から自力で関数を見つけて呼び出す - EAGLE 雑記 で載せたものが致命的に間違っていたので修正. gist のほうを修正しておいた.http://gist.github.com/103758 具体的には nlist の n_value を忘れていた.というか見落としていた. n_value An inte…

Mach-O から自力で関数を見つけて呼び出す

Mac

「Binary Hacks #72 オブジェクトファイルを自力でロードする」の Mac 版 (手抜きあり). 具体的には relocation してない Universal Binary を考慮していない あたりが手抜き. Universal Binaryのほうは otool -L 相当のことをやる - EAGLE 雑記 でもやっ…

Debian lenny をインストールしてみた

今まではVirtualBox上のLinuxはArchだけだったのだけど、Ubuntu 9.04のリリースが話題になっていたので、あえてDebianをインストール。 インストールは特につまるところもなく。最小構成でインストール。 それからapt-getで openssh-server sudo vim-nox rub…

バカテスの新着情報

http://www.enterbrain.co.jp/fb/pc/02sp/02a_0904baka/02b_0904baka_00top.html http://www.bakatest.com/ この組み合わせなのに制作がシャフトじゃないのは何故? キャラデザにギャップを感じないのは久しぶりだなぁ。全然違和感ないよ。まぁアキちゃんがさ…

Haskell で json を扱う

JSON Schema が提案されたりして、ますます使う機会が増えてきた JSON。 Haskell では http://hackage.haskell.org/cgi-bin/hackage-scripts/package/json を使って JSON を扱うことができる。 そこで、http://delicious.com の hot list をとってくるサンプ…

HaXml で html をパース

Haskell Haxml モジュール サンプルコード - x76789の研究メモ を参考にして、http://qb6.2ch.net/_403/madakana.cgi を見て自分が規制されているかどうか表示するコードを書いた。 Parsec もそうだけど、コンビネータを使ったパーサって使い方が面白い。あ…

半分の月がのぼる空、実写映画化決定

半月が実写映画化ねぇ… http://dengekibunko.dengeki.com/i/tokuhou090417.html