2010/04/19

プログラマーになってよかったと思うこと

9 :仕様書無しさん :2008/10/18(土) 16:34:29
ここまで低コストで、思い通りに動くモノが作れる世界は
実際問題、そうはないだろ

情熱プログラマー ソフトウェア開発者の幸せな生き方

無料CSVデータ


無料でダウンロードできる(っぽい)CSVを、ざっくり探してみました。
16の「海軍兵学校卒業者数一覧」と17の「ガンダムカラー」はなかなかストレンジ。
  1. 郵便番号データダウンロード - 日本郵便
  2. 住所データ、住所マスタ、住所CSVの無料ダウンロードサイト!【住所.jp】
  3. データダウンロード(CSV)│外国為替取引 セントラル短資FX
  4. みずほ銀行:ヒストリカルデータ
  5. 日本比較教育学会「比較・国際教育情報データベース」ダウンロードページ
  6. ATOK用郵便番号辞書配布サービス - 岐阜・大垣・名古屋のホームページ制作会社 > WORKSPACE > ソフトピアジャパン
  7. 株価データ情報
  8. アメダス気象図(近畿中国四国)
  9. 土木研究所観測データダウンロード
  10. 松山市水源状況・雨量 一覧表のダウンロード
  11. 株価データ ダウンロード
  12. ヒストリカルデータ - マーケット情報 - 外国為替(FX)を資産運用に変える。安心で選ぶならマネースクウェア・ジャパン
  13. 農林水産消費安全技術センター / 農薬登録情報ダウンロード(csvファイル)
  14. グリーンシート銘柄のCSVデータダウンロード
  15. ジャパンネット銀行:Japan Net Bank|CSVファイルのサンプルダウンロード|
  16. CSVファイル:heigakko.csv - 通信用語の基礎知識
  17. Kitbox - INDEX
  18. みどりのデータ

こっちが良いかも。

追記






Gauche CSV

勝手がわからなかったのでmemoがてら。サンプルに使ったデータはこちら。
今回のサンプルにはちょっと大きかった。


参考


今更ながら、どう書く?orgすげーな。shiroさんのコードがあるある。


プログラミングGauche

2010/04/18

邪悪なPostScriptコード


%!OPS-1.0 %%Creator: HAYAKAWA,Takashi
/A/copy/p/floor/q/gt/S/add/n/exch/i/index/J/ifelse/r/roll/w/div/H{{loop}stopped
Y}def/t/and/C/neg/T/dup/h/exp/Y/pop/d/mul/s/cvi/e/sqrt/R/rlineto{load def}H 300
T translate(V2L&1i2A00053r45hNvQXz&vUX&UOvQXzFJ!FJ!J!O&Y43d9rE3IaN96r63rvx2dcaN
G&140N7!U&4C577d7!z&&93r6IQO2Z4o3AQYaNlxS2w!!f&nY9wn7wpSps1t1S!D&cjS5o32rS4oS3o
Z&blxC1SdC9n5dh!I&3STinTinTinY!B&V0R0VRVC0R!N&3A3Axe1nwc!l&993dC99Cc96raN!a&1CD
E&YYY!F&&vGYx4oGbxSd0nq&3IGbxSGY4Ixwca3AlvvUkbQkdbGYx4ofwnw!&vlx2w13wSb8Z4wS!J!
c&j1idj2id42rd!X&4I3Ax52r8Ia3A3Ax65rTdCS4iw5o5IxnwTTd32rCST0q&eCST0q&D1!&EYE0!J
&EYEY0!J0q!x&jd5o32rd4odSS!K&WCVW!Q&31C85d4!k&X&E9!&1!J!v&6A!b&7o!o&1r!j&43r!W)
{( )T 0 4 3 r put T(/)q{T(9)q{cvn}{s}J}{($)q{[}{]}J}J cvx}forall 270{def}H
K{K{L setgray moveto B fill}for Y}for showpage

邪悪過ぎませんか・・・。

私も、PostScriptはちょっぴり書くことがあるのですが、とても読めません・・・。そもそも読めるようなものなんでしょうか・・・。
%!PS-Adobe-3.0 
% factorial

/fact { 
    1 dict begin 
        /n exch def 
        n 1 eq n 0 eq or { 
            1 
        } { 
            n 1 sub fact n mul 
        } ifelse 
    end 
} def

5 fact % 120

gif

こっちもすごいなぁ。gifにできるんですね。


%!PS-Adobe-3.0
%%BoundingBox: 0 0 100 20
%%Title: orz.ps
%%Creator: @aka
%%CreationDate: Thu May 19 23:06:30 2005
%%EndComments

64 dict begin

/dots 14 def
/Helvetica-Bold findfont 18 scalefont setfont

/orz {
  0 1 dots {
    /head exch def
    0 0 moveto
    dots head sub { (.) show } repeat
    (o) show
    head { (.) show } repeat
    (rz) show
    showpage
  } for
} def

orz

end
showpage
%%EOF

9LISP

9LISPでは、LOLの「第7章 Lispを動かすForthを動かすLisp」を参考にPostScriptを実装してみたい、というのも当面の目標の一つです。最終的にはS式で書けるPostScript的な何かができたら良いなーなどと。

たまには、スタック指向な言語もいかがですか。

関連


PostScriptリファレンスマニュアル第3版 (ASCII電子出版シリーズ)
Adobe Systems
アスキー
売り上げランキング: 332789
おすすめ度の平均: 4.5
4 端から端まで読む本ではありませんが
5 待ってました
5 PostScript開発者必携本です!
PostScript & Acrobat/PDF
PostScript & Acrobat/PDF
posted with amazlet at 10.04.18
トーマス マーツ
東京電機大学出版局
売り上げランキング: 1059666
おすすめ度の平均: 4.0
4 画像処理関係の開発者にお勧め

LISP・・・読み物?

memo
ソーシャルブックマークを使えば良いんでしょうけども・・・。はてブ?delicious?

読み物いくつか

読み物をいくつかメモ。

追加しようと思いましたが、別口で。
ソフトウェア開発者採用ガイドEric Sink on the Business of Software 革新的ソフトウェア企業の作り方

Pro Git 日本語PDF

PDFがあったのでメモ。

入門Git 実用Git

9LISP - 012, 013, 014


まとめ(?)を書いていませんでした。

012

高階関数の練習問題などをやりました。高階関数の例題がなかなか思いつきませんでした。木構造関連の例題をやりました。何か良い例題というか問題はないでしょうか・・・。

午後は量子論。

013

マクロに入りました。
どのように進めて行くか話合いました。
何を作るか話し合いました。
午後は、きゅーりすぷたん検討会。(こっちの方が盛り上がったかもしれない)

014

  • Common Lisp処理系を入れましょう(次回までに)
  • Common LispとSchemeについて違いを少々
    • t, nil, (car '()), undef, defun, dynamic-scope, funcall, setf, zerop, など
  • quote類について
書けばイメージもそれなりに湧くはず、ということで。マクロは書かないと書けるようにはならない。たぶん。

例えば、PostScriptのこんなコードが・・・、
/x 10 def
/y 10 def
x y moveto
5 5 lineto
S式でこういう風に書けたら、うれしくね?
((let ((x 10)
       (y 10))
   (lambda (x1 y1)
     (moveto x y)
     (lineto x1 y1))) 5 5)
ということで。


私の端末には、CLISP, SBCL, AllegroCLが入っています。Emacs+SBCL+SLIMEでやってみることにします。そういえば今回、これがLISPだ! (Information & computing (30)) を始めて目にしました。


Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~LET OVER LAMBDA Edition 1.0初めての人のためのLISP[増補改訂版]

quasiquoting

さっそく、マクロに使うテクニックを。クォートが4種類あります。それぞれの名前は覚えていません。
より

  • quoteは式を評価せず式のまま返す
  • quoteは'(シングルクォート)記号で代用できる
  • quasiquoteはquoteに似ているが、式の中でunquoteとunquote-splicingが使える
  • quasiquoteは`(バッククォート)記号で代用できる
  • unquoteは式の値を評価し、評価結果を式に埋め込む
  • unquoteは,(カンマ)記号で代用できる
  • unquote-splicingはリストの外側の括弧を取り払ってその場に展開する
  • unquote-splicingは,@(カンマとアットマーク)記号で代用できる
  • quote, quasiquote, unquote, unquote-splicingは特殊形式である



プログラミングGauche

2010/04/17

自転車置場の議論 (bikeshed discussion)

さっき@toshi_aさんに教えてもらいました。面白かったのでメモ。
「瑣末なことほど議論が紛糾する現象」
プログラミングの世界では、インデントの数や括弧の前後の空白など、「自転車置場の議論」がごろごろと転がっています。


パーキンソンの法則
パーキンソンの法則
posted with amazlet at 10.04.17
C.N.パーキンソン
至誠堂
売り上げランキング: 32539
おすすめ度の平均: 4.5
5 役人の数は仕事量が減ろうが、増え続ける
4 人間観察のパーキンソン則は、現代でも廃れていない!
3 有名な格言(?)の元ネタにあたって、ともあれ満足
4 社会科学を科学しよう
5 社会科学を科学しよう