2008-02-01から1ヶ月間の記事一覧

じゃんけんプログラム

俺もMZ-80-K2Eで円周率を無限に求めるプログラムを開発して、 小学校時代の友達を驚かせたことがある。 10 PRINT "3. 1 4 1 5 9 2 6 5"; 20 A=INT(RND(1)*10) 30 PRINT A; 40 GOTO 20 http://alfalfa.livedoor.biz/archives/51247241.html これを見て昔やっ…

第9惑星

asahi.com: 太陽系に「惑星X」の可能性 神戸大など計算 - サイエンス 太陽から20天文単位ほど離れたところで生まれた惑星Xが、太陽系形成初期の約1億年で80?175天文単位離れた軌道上に移動したと考えると、つじつまが合ったという。 惑星Xの大き…

0,1,0,-1,…の繰り返し

mod前提の0?3限定版 x%=4; return x<2?x:2-x;mod無しで正の整数に使える版 return ((x+3)/4+x/4)*2-x;

各ブラウザのレンダリングエンジンとJSエンジン

それぞれに名前がついててこんがらかる ブラウザ レンダリング JS IE Trident Jscript Firefox Gecko SpiderMonkey Opera Presto ? Konqueror KHTML KJS Safari WebKit JavaScriptCore

ボーレートの設定

MacOSXでは以下のようなc_cflagでのボーレートの設定は出来ない。 cfsetispeed と cfsetospeed を使う方法なら大丈夫。 #define BAUDRATE B38400 /* BAUDRATE: ボーレートの設定.cfsetispeed と cfsetospeed も使用できる.*/ newtio.c_cflag = BAUDRATE | …

リアルタイム財政赤字カウンター

リアルタイム財政赤字カウンター ver 7.6.3 http://www.kh-web.org/fin/ プログラム上では3月31に1116兆円になることが4月1日時点で決まってるのか。 当サイトでは,複製後,データを年に 1,2 回程度更新しています. 計算方法は単純で,今年度(見込)の債…

bootpd

MacOSXではdhcpdのかわりにbootpdが入っている。 設定ファイルは/etc/bootpd.plist Mac OS X Manual Page For bootpd(8) bootpd -- DHCP/BOOTP/NetBoot server http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/bootpd.8.html こう…

lddはotool -L

よく見るとライブラリファイルのファイル名、拡張子等も違う。 $ otool -L /bin/bash /bin/bash: /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current v…

lpstatとlpinfo

なんか名前の意味が似てるのでこんがらかる… lpstat $ lpstat -t スケジューラは動作中です システムのデフォルトの宛先: hp_psc_2300_series hp_psc_2300_series のデバイス: ///dev/null hp_psc_2300_series は 土 2/12 02:46:12 2008 以来リクエストを受…

clocksource

Time: tsc clocksource has been installed. Clocksource tsc unstable (delta = 76024924 ns) Time: pit clocksource has been installed.カーネルブート時にこんなメッセージが出るのが気になる。 o RTC o PIT (Programmable Interval Timer) o Local APIC…

最近のJavaScript状況メモ

すっかり最近の動向に疎くなってたので、いまさらながらメモ。 IEやOperaの追従状況が気になるところ。 JavaScript 1.7 リストの分割代入が出来るようになってる。 [a, b] = f() というコマンドは、関数の返り値を角カッコ中の変数に順番に代入します。 http…

いろいろなコマンドでCGI

CGI

sh #!/bin/sh echo -e "Content-Type: text/plain\n\nHello sh" awk #!/usr/bin/awk -f BEGIN{print "Content-Type: text/plain\n\nHello awk"} make #!/usr/bin/make -sf all: echo -e "Content-Type: text/plain\n\nHello make" sed #!/bin/sed 1d Content…

PostScriptもどき言語

昔書いた逆ポーランド記法で動くPostScriptもどき言語を掘り起こしてみた。 未来の自分のために(そんなときがくるのか?)コメントをつけておく。 ついでに、当時の自分が知らなかったmatch-lambda*とlet1を使うように書き換え。 インタプリタ本体 引数は3…

変数=値と書くletマクロ

Arc版withを書いててふと思った。 ローカル変数部か評価式本体かの区別は、括弧のかわりに=を使ったらよくね? (define-syntax letm (syntax-rules (=) ((_ (ks vs) k = v . r) (letm ((k . ks) (v . vs)) . r)) ((_ (ks vs) . body) ((lambda ks . body) .…

GaucheのArc化計画

実は単にマクロの練習としてArcを題材にしただけ。 Arc版if 3つ以上の引数が渡せてelseifの処理が書ける (define-syntax if (syntax-rules () ((_ a) a) ((_ a b . c) (cond (a b) (else (if . c))))))実行例 gosh> (if #f (print 1) #f (print 2) (print 3)…

メソッドチェイン風マクロ2

cutマクロみたいに「<>」でもいいかも. http://mono.kmc.gr.jp/~yhara/d/?date=20080203#p02 これいいかも。 というわけで、メソッドチェイン風マクロで計算結果の挿入位置を<>で指示出来るようにしてみる。 補助マクロins まず、補助マクロとしてリストの…

Yコンビネータいろいろ

Yf=f(Yf)となるYをいろいろなコンビネータで書いたもの Y=UU Uxy=y(xxy)を使うとY=UUと書ける Yf=UUf =f(UUf) =f(Yf)U=S(K(SI))(SII)を使ってYをSKIだけで書くと Y=S(K(SI))(SII)(S(K(SI))(SII)) 使用関数14個 Y=SLL Lxy=x(yy)を使うとY=SLLと書ける Yf=SLLf…

一般化されたset!

CommonLispのsetfと同じようなことは、set!で出来ると教えてもらった。 これをobject-applyと組み合わせれば、Arcの=と同じようなことも出来る。 Special Form: set! (proc arg …) expression 2番目の形式はSRFI-17に定義されている「一般化されたset!」です…

mkdosfsコマンドの追加

busyboxにはmkdosfsコマンドがなかったのでとってきて追加する。 使ったバージョン busybox-1.3.2.tar.bz2 dosfstools-2.11.src.tar.gz busyboxが1.3.2なのはe2fsprogsが入っているから。 miscutils/mkdosfs.c いいディレクトリがうかばなかったのでmiscutil…

メソッドチェイン風マクロ

ネスト深くなるのが嫌で「これでGaucheでもRubyみたいにメソッドつなぎまくっちゃうもんね!」とか思ってこんなの書いた http://blog.livedoor.jp/dankogai/archives/50994188.html これなかなかいいじゃん。 マクロ定義 (define-syntax chain (syntax-rules…