2007-07-01から1ヶ月間の記事一覧

小町算

ref:Karetta|キミならどう書く 2.0 - 2007 - その 2 とりあえず、通常の演算優先順位で。全部で 303 個の式ができるという結果が出ました。まぁ、eval のおかげだし、Brute Force なんだけど。 しかし、最近の計算機だとこれを10秒ぐらいで計算してしまうん…

LDRのピン

LDR

ずいぶん前から Livedoor Reader のあるエントリがいくらピンを開いてもリロードすると復活するという現象が続いているんだけど、これ私だけなんだろうか。 まぁ、いまピン一覧からクリアをクリックしてみたら消えたんだけど。

小町算 #3

下のダメダメなのは捨てて、有理数を導入したまじめなのを。 import sys import re from rational import Rational OPERATORS = '+ - * / '.split(' ') NUM_PAT = re.compile(r'\d+') def exp_eval(exp): r = Rational fixed_exp = NUM_PAT.sub(r'r(\g<0>)',…

Javaの開発環境

最近は、すっかり淘汰されてしまった感があるけども、一時期は Java の開発環境ってすごいいろいろ出ていた。 ということで、意味もなく列挙。 Eclipse (Eclipse Foundation) NetBeans (Sun) IntelliJ IDEA (JetBrains) Borland JBuilder (Borland) Oracle J…

学生としての立場?

ref:http://private.ceek.jp/archives/002838.html ref:http://d.hatena.ne.jp/softether/20070715#p1 もう少し言葉を選んだほうがいいんでないの。公職選挙法違反なんてのは学生の立場とか関係ないしなぁ。

価値観の礼賛と否定

ref:信仰と狂気?吉村医院での幸せなお産 - NATROMの日記 まぁ、トンデモさん、なんだけど。 いろいろ指摘されているけど、「自然なお産」がすばらしいとか、「自然なお産で生まれてきた子供は目の輝きが違う」といった言動は裏返せば帝王切開を選択した母子…

パイプのブロッキング

パイプ上の I/O でブロッキングの挙動を見るためにちょっと実験してみた。以下、zsh で。 % cat /dev/zero | tr '\0' '\n' | cat -n | tee a | perl -MTime::HiRes=usleep -pe 'usleep 1000' > b別の shell で以下を実行。 % (repeat 10 (sleep 10; echo $(t…

アルファベットの繰り上がり

ref:アルファベットの繰り上がり import Char next :: String -> String next [] = "A" next ('Z':cs) = 'A' : next cs next (c:cs) = succ c : cs main :: IO () main = mapM_ (putStrLn . reverse) $ take 100 $ iterate next "A" 普通に基数変換かと思い…

バファリン

この Blog の半分はソースコードでできています*1。 *1:もっと多いかも

例外の発生箇所を gdb で捕捉する

C++

gdb で catch throw を使えば例外を捕捉できるという話をコメントで教えていただいたので、試してみた。 #include <string> static void foo(void); int main() { foo(); return 0; } static void foo() { std::string s = "abc"; s.replace(-1, 0, "d"); } % g++ -g</string>…

40Gbps

ref:The Local - Sigbritt, 75, has world's fastest broadband via:世界最速のインターネット回線を持っているのは75才のおばあちゃん - GIGAZINE Sigbritt Löthberg's home has been supplied with a blistering 40 Gigabits per second connection, many …

パイプ

Unix(or its variants)のシェルがどうやってるのかは知らないけど (少し前に Artonさんのところで何か見たような記憶はあるが)、 Windowsの場合は大まかに コンソール プロセスを生成して標準ハンドルをリダイレクトする方法 にあるように 入力用、出力用の…

rm -rf ~

ref:http://www.atdot.net/~ko1/diary/200707.html#d13 仲間がいた。

例外とバックトレースを使ったデバッグ

あるプログラムを使っていると std::out_of_range で abort したので、デバッグしようとするものの、C++ は例外で abort しても Java のようにバックトレースを表示してくれたりしないので、どこが問題か分かり難くて困った。 #include <cstdlib> #include <cstdio> #include <execinfo.h></execinfo.h></cstdio></cstdlib>…

ピラミッド

ref:ピラミッドを作る ひきつづき HUnit の練習。TDD、TDD。 import Test.HUnit nrepeat :: Int -> b -> [b] nrepeat n c = take n (repeat c) pyramid :: Int -> String pyramid n = pyramid' 1 (n - 1) where pyramid' _ s | s < 0 = [] pyramid' i s = nr…

必ずしも

FAQを見るとSweet氏はAppleでは必ずしもCUPSとは関係ない仕事をするようですが、ライセンスは従来どおりGPL2/LGPL2のオープンソースのままで開発しつづけるとのこと。 なんだかこの「必ずしも」の使い方に違和感を覚える。

公務員と労働組合

最近、年金問題がらみで社会保険庁と一緒に自治労のことが問題になっていたりするようだ。 で、自治労というのが社会保険庁の労働組合、らしいのだが、自分の理解では公務員には団結権と団体交渉権がないはずで、労働組合ってのありえないと思うのだが、この…

uniq

ref:アレイのuniq Doukaku? ちょいとトリッキーなのと素朴で遅い奴。 def uniq(iterable): """ >>> uniq([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9]) [3, 1, 4, 5, 9, 2, 6, 8, 7] """ s = set() return [s.add(i) or i for i in iterable if i not in …

コメントの削除

ref:/*コメント*/を取り除く どう書く?org こう、Haskell の練習というか HUnit の使い方確認というか。 import Test.HUnit removeComment :: String -> String removeComment = outOfComment where outOfComment ('/':'*':cs) = inComment cs outOfComment…

kill

そういえば自分の回りには KILL シグナルを送るときに kill -9 pidとするひとが多いようだ。なんでだろ。大学の実習ではそう習うのかな。 というか、みんな TERM と KILL 以外使わないというオチかも知れない。

昔からのUNIXプログラマがやりがちなこと

80年代から UNIX を使っているひとにありがちなこと ログインシェル ログインシェルはなれ親しんでいる csh/tcsh。 ページャ less ではなく more を使う。 errno #include <errno.h> ではなく、 extern int errno; とする。まぁ、昔は errno.h がなかったのだが、ISO </errno.h>…

今日のバカが征く

ref:http://www.jitu.org/~tko/cgi-bin/bakagaiku.rb?bakaid=20070710 んー、この switch-c++-buffer って ff-find-other-file でいいんじゃないだろうか。承知の上?あ、いや対になるファイルが存在しない場合に新規バッファを作るところが違うのか。 しか…

型推論の不思議

標準入力の各行にある数の合計を求めるプログラムを書いた。 main = do cs <- getContents print . sum . map read $ lines cs 以前はread関数を知らなかったので、ord関数とリスト操作を頑張ってやっていた。 readってすばらしい。けど、実数は読めないみた…

ファイル名と取り扱いとコマンド置換

ななし 『ファイルがないと * のままになるので、ls DIR 2>/dev/null と書いたりしますね。』 (2007/07/09 11:10) まぁ、そのとおりなんだけど、ls とコマンド置換を使ってファイル名を取得しようとすると、パスに空白が含まれていたりする場合にはまれる。…

ナインス

ref:スラッシュドット ジャパン | コピーワンスは、コピーナインスに コピーワンスからの連想なんだろうけど、これにナインスと命名した人とそれを通過させてしまうスラド編集者のセンスに脱帽。

trivia

例えば、ガードマンをしている知り合いから聞くトリビアな訪問者の話などは最高に面白いです。 長い間警備などをしていると「宇宙人に導かれてやってきた」のような事を真顔で言う人が来る事があるそうです。 ホテルマンな人の話も面白いです。 ヨーロッパな…

Transmeta

ref:スラッシュドット ジャパン | AMDがTransmetaに750万ドルを出資 そういや、この間、後輩に Transmeta の話をしたら Transmeta も Crusoe も知らないようだった。複数人に聞いたけど例外なく。 日本製ラップトップPCにも採用されていたし、雑誌なんかでも…

シェルスクリプトの書き方

ref:関数プログラミング的なシェルスクリプト via:Ryoの開発日記 - シェルスクリプトよくわかんね どこからつっこめばいいのやら。 コマンド置換とパス展開 ディレクトリ以下のファイルがほしいなら `ls ${2}` ではなく素直に "$2"/* でいいのでは。 クォー…

今日の行動記録

なぜか前日から一睡もしていない状態で、朝6時半に自宅を自転車で出発。7時前に豊橋駅に到着、JRの豊橋・名古屋往復券を購入し、JR名古屋駅に移動。 名古屋で近鉄に乗り換え、近鉄特急で鶴橋まで移動、大阪環状線内回りで西九条まで行き、桜島線でユニバーサ…

予約語の追加

アノテーションは@interfaceと宣言する。まぁ、一種のインターフェイスであることには違いないが、専用のキーワードを用意しても良かったんじゃないかな、とも思う。少なくとも日本人にはannotationなんて名前付けるような人はいない気が*1・・・ 自然言語処…