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

本物のプログラマー

テキサスインスツルメンツ社の伝説的なプログラマがある日、長距離電話でユーザーからシステムクラッシュを告げられた。彼は、その電話口でユーザーに16進コードを指示して、メインフレームの制御フロントパネルのトグルスイッチを操作させた。曰く、「本物…

初めて知った。

"There's More Than One Way To Do It." の略で、「やり方はひとつじゃない」という Perl のスローガン。 なるほど、表記の冗長性が高いってことか。 素人の学習が難しくなるんだけど、それよりも表現の自由ってことかな? まあ、読めなくなるようなワンライ…

Cで書いてみた。

普通に組むと面白くないので。 ワンライナーでやってみる(笑 $ echo 'main(){int i;for(i=1;i<101;++i){if(i%3>0&&i%5>0)printf("%d",i);printf("%s%s\n",i%3<1?"Fizz":"",i%5<1?"Buzz":"");}}'>a.c;gcc -w a.c;./a.out;rm a.c a.out昔じゃ考えられないくら…

GNU Pascal

インストール #aptitude install gpc コンパイル方法 $gpc foo.pas

pascalで書いてみた。

か、完全に忘れてる。どこで;が省略可能とか最後のendの後の.とかif文がブロックの時にはbegin endとか。情けない。 program fizzbuzz; var i : integer; begin for i:=1 to 100 do begin if i mod 15 = 0 then writeln("FizzBuzz") else if i mod 3 = 0 the…

batでプログラム

どうしてもブロック内だとsetが動作しないので調べてみると いった内容のバッチファイルがあったとします。これをぱっと見ると"hogehuga"という出力がされると期待してしまいますが、実際に実行してみると"foobar"という出力結果が得られます。なぜこのよう…

batで作ってみた。

飽きもせずwin上のbat @echo off set i=1 :loop :echo %i% set /a m=%i%%%15 if %m%==0 goto :15 set /a m=%i%%%3 if %m%==0 goto :3 set /a m=%i%%%5 if %m%==0 goto :5 echo %i% :return set /a i=%i%+1 if %i%==101 goto :exit goto :loop :15 echo FizzB…

木製ガンダム

っていっても、「おちろ、かとんぼ!」の方の木星ではない。http://lalabitmarket.channel.or.jp/NASApp/prd_detail1/1/0/108745/0000000/-1/ 仏師が彫っているらしい。すごい。 でスラド*1で、こんなリンクが… http://www.geocities.jp/yuki7878jp/GV10v15v…

2進ソロバン

完全ハンドメイド

haskellでやってみた。

bashよりも恥ずかしい状況に(涙文字列変換関数showを覚えていなかった。あと改行コードを足すのがあまりにも恥ずかしい。猛省。 a = [1..100] main = do putStr $ concatMap fizzBuzz a fizzBuzz :: Int -> String fizzBuzz c = if c `mod` 15 == 0 then "Fi…

php版

これももらい物 for($i=1; $i<=100 ; $i++){ if($i % 15 == 0) { echo "FizzBuzz"; }elseif($i % 3 == 0){ echo "Fizz"; }elseif($i % 5 == 0){ echo "Buzz"; }else{ echo $i; } echo "\n" ; }もひとつ for($i=1;$i<=100;$i++){echo($i%3?($i%5?$i:"Buzz"):(…

gauchでやったもらい物

忘れないようにここにおいておく。一つめ (define (fizz-buzz) (let loop ((i 1)) (cond ((= (remainder i 15) 0) (print "FizzBuzz")) ((= (remainder i 3) 0) (print "Fizz")) ((= (remainder i 5) 0) (print "Buzz")) (#t (print i)) ) (if (< i 100) (lo…

bashでやってみた

性懲りもなく今度はbash。あまり上手じゃないのでマニュアルとお友達モード $ for i in $(seq 1 100); do if [ $(($i%15)) = 0 ];then echo "FizzBuzz"; elif [ $(($i%3)) = 0 ];then echo "Fizz";elif [ $(($i%5)) = 0 ];then echo "Buzz";else echo $i;fi;…

perlで組んでみた。

なんか調子に乗ってるな。 perlのmap調べて 文字列連結が+じゃなくて.なのを忘れてた。(ここがperlの悪いところ。) map{(($_%3==0?"Fizz":"").($_%5==0?"Buzz":""))||$_}(1..100)うつくしい、perlに戻ろうかな。(大嘘) $_に入るのはさすがperl。と思った…

(続) FizzBuzz をgaucheで解く

大層なタイトルのわりには 大したことないんだが昨日の関数定義をlambdaにしただけ。 defineがなくなって大域変数がなくなったのだが局所変数(仮引数?)使いまくっているあたりが素人。 (use srfi-1) (for-each (lambda (i) (print ((lambda (a b) (if (st…

perlとrubyの真偽の違い

perl お、しまった。(rubyのirbに相当する)インタプリタがない。perlshとやらを導入。*1 #aptitude install libterm-readline-gnu-perl #zcat /usr/share/doc/libterm-readline-gnu-perl/examples/perlsh.gz > /usr/local/bin/perlsh #chmod +x /usr/local/…

FizzBuzz解いてみた。

もちろんマニュアルとつきっきり。 何気に楽しかった。 fをdefineしているあたり負け犬。 (use srfi-1) (define (f a b) (if (string=? "" a) b a)) (for-each (lambda (i) (print (f (string-append (if (= (remainder i 3) 0) "Fizz" "") (if (= (remainde…

FizzBuzz解いてみた。

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。ちゃんとしたプログラマであれば、これを実行するプログ…

wgetのタイムスタンプ

wgetは取得中には現在の時間を指しているが、取得後にリソースのタイムスタンプに調整する。

全文検索システムhyperestraier その2

ファイルシステム代わりに全文検索システムを使うならソートは欠かせない。全てのファイルから新しいものをサーチ estcmd search -ic EUC-JP -vu -ord "@mdate NUMD" ./casket/ "[UVSET]" | nkf -e

全文検索システムhyperestraier

lgrepの挙動が寂しくってパッチを充てようとしたのだが挫折 rastをインストールしようとしたら本体のページが無くなってるのに気がついて不安に思い別の検索システムを発見。速そうな気配がしたので早速インストール #aptitude install hyperestraier libest…

lgrepでand検索

lgrepはオプションがlvのままでgrepの大事なオプション-l -Hが使えない。 単ファイルの時は通常のgrepと同じ動き 複数ファイルの時 grep -Hと同じ動きということはgrepのand検索である以下が使えない。 $ find . -exec grep -l "記者" \{} \; | xargs grep -…

漢字コードを横断するgrep

lvとセットのパッケージでlgrepというのがある。 $ export fn="1";echo "汽車で帰社した貴社の記者"|nkf -e|tee $fn.euc.txt|nkf -s|tee $fn.sjis.txt|nkf -j|tee $fn.jis.txt|nkf -w>$fn.utf.txt $ export fn="2";echo "隣の客は良く柿食う客だ"|nkf -e|tee…

sambaのユーザ設定ファイルの編集

/var/log/samba中にtdbが存在するわけだがもちろんバイナリなので操作はコマンドで行う。 pdbedit -a ユーザ名 で追加(事前にadduserでユーザ登録しておく必要あり) pdbedit -a -m マシン名 でマシンの追加(事前にuseradd マシン名$でユーザ登録しておく…

検証キット

なんか一台分組めるだけのパーツがあったのでケース無しで組んでみた マザーボードに直付けのLEDが健気だ で、以下がainex製の実験用スイッチ・LEDセット「検証マニア」(笑 これだけで1000円したんだけど、パーツを集めた方がやすいと思ったりもしたが探…

入力ファイルは最初で指定すること。

ffmpegの入力ファイルの指定を後で書いた方がきれいだと思い以下のようにするとエラーになる。 $ffmpeg -y -vcodec xvid -qscale 5 -s 320x240 -b 768 -ab 64 -i a.avi output.mp4 ・・・ Error while opening codec for output stream #0.1 - maybe incorre…

GAIMからチャレンジ

iGoogleのgoogle talkアプレットを誤って消してしまい。 しょうがなく、gaimからgoogle talkに接続してみた。 久しぶりにIMをインストールしてみたのだが悪くない。 昔のアカウントもそれなりに復活させてみた。 やっぱり誰も入っていなかった(笑 しかし、…

手軽にISOをあつかう。

いかんlinuxマシンにドライブをつけていなかった(笑 とりあえず、windowsマシンを立ち上げて…あ、ライティングソフトがない(笑 いろんなソフトがあるがとりあえず緊急着陸。IsoBusterとIsoRecorderだ。 特にIsoRecorderは右クリックメニューでisoファイル…

SDカードのLOCK

miniSDを使うときにアダプターを使っていたのだが、事件発生。 図に見えてる▲LOCKが書き込み許可なのを今まで知らなかった。 たまたまこれがずれてて何度やっても以下のエラーが帰ってくる。ちなみにminiSDにはこんな可動部分は無い。 touch: cannot touch `…

人工サンマはうめぇ

ちょっと前に見たのでついでに書いとく。FREEDOM 1 [ 森田修平 ]ジャンル: CD・DVD・楽器 > DVD > アニメ > その他ショップ: 楽天ブックス価格: 3,693円大友らしくて良い作品だ。若干古い感じはするけどスチームボーイよりは良いんじゃないかな。