2011/12/31
2011/12/30
2011年のふりかえり(予定地)
少しふりかえっておきたい。
で、いい加減働こうとしていたところに声を掛けて頂き、2011/01からスーパーハカーが二人もいるところで働くことになった。 こういうことを言っていたので願ったり。
なのでOutputzの集計がscheme-modeだらけ。
気まずい人が「この人友達じゃね?」って出てきて怖いですね。
画面保護シートはゴリラガラスらしいしいいかなーって。
社会復帰した
2009/10いっぱいで仕事を辞めて2010/12までたっぷりブラブラした。で、いい加減働こうとしていたところに声を掛けて頂き、2011/01からスーパーハカーが二人もいるところで働くことになった。 こういうことを言っていたので願ったり。
27歳になった
誕生日は01/10です。binary dayです。27歳になりました。もうすぐ28歳です。仕事でlisp
仕事でGaucheを使わせてもらいました。(ほぼ通年)なのでOutputzの集計がscheme-modeだらけ。
ぎっくり腰になった(11年ぶり2回目)
やばい。ぎっくり腰やばい。すぐ整体にいってかなりよくなったけど、3日くらいは日常生活もまともに送れなかった。J.P.ホーガンを読みあさった
今は造物主(ライフメーカー)の掟を読んでる。unix/linuxが好きになった
shellコマンドにハマった
プログラムを書いたらとりあえずコマンドにした
客先泊まり込みデスマ
6,7月やばかったウィスキーが好きになる
久し振りにKPFを開催
隔週開催していた9LISPが不定期開催(不本意)
ThinkPad買ってubuntu入れた
筋トレ始めた
facebookに地元の友人/知人がたくさん
最近はスマートフォンの影響かリア充(この単語はもう死んでしまったかも)が大量に流れ込んでるようですね。気まずい人が「この人友達じゃね?」って出てきて怖いですね。
ガラケーからスマートフォンにした
ようやく5年くらい使ったガラケーからスマートフォンに。galaxy s2にしました。Xiじゃないやつ。とりあえずこれを装着した。画面保護シートはゴリラガラスらしいしいいかなーって。
2011年の目標
果たして達成されたのか。
labels :
diary
2011/12/29
2011/12/28
sedでマッチした部分を置換にも使う
何を言ってるかわからねーかもしれねーが、&で
$ for i in {1..10} ; do ; echo "$RANDOM" ; done | sed 's/0/[[&]]/g' 31171 21328 499 1717[[0]] 12253 28374 124[[0]]8 9972 6892 1525最近shellでsed/awkとかワンライナーが楽しくて仕方ない。
2011/12/27
2011/12/26
2011/12/25
2011/12/24
emacs lispのplist
これを見て初めて知りました。
elispにもcl同様にplistがあったんですね。しかも変数/関数とは別にバインドできるアレが。(あ、でもこれはcl packageのお陰なのかな?そこまで調べる気は起きなかったり)
*** Welcome to IELM *** Type (describe-mode) for help. ELISP> (get 'hoge :foo) nil ELISP> (get 'hoge :bar) nil ELISP> (setf (get 'hoge :foo) 100) 100 ELISP> (setf (get 'hoge :bar) 200) 200 ELISP> (get 'hoge :foo) 100 ELISP> (get 'hoge :bar) 200 ELISP> hoge *** Eval error *** Symbol's value as variable is void: hoge ELISP> (setq hoge 'aaaaaaaaaaa) aaaaaaaaaaa ELISP> hoge aaaaaaaaaaa ELISP> (defun hoge (x) x) hoge ELISP> (hoge "hoge") "hoge" ELISP> (hoge "hello, world !!") "hello, world !!" ELISP> (symbol-value 'hoge) aaaaaaaaaaa ELISP> (symbol-function 'hoge) (lambda (x) x) ELISP> (symbol-plist 'hoge) (:foo 100 :bar 200) ELISP> (symbol-name 'hoge) "hoge" ELISP> (symbol-package 'hoge) *** Eval error *** Symbol's function definition is void: symbol-package ELISP>twitterで教えてもらったけど、Common Lispのsymbolって5つもスロットあったのか(笑)変数/関数にplistの3つかと思ってた。その点schemeは良し悪しは別としてすごくシンプル。
labels :
common lisp,
Emacs,
Lisp
2011/12/23
2011/12/22
Re: lispのマクロ定義について
最初の例は動かないんじゃないかなー。取りあえずmacroexpandしたらいいかと。この辺はLOLの評価の梯子(だっけ?)の話がわかりやすかった。
[1]> (defmacro inc! (var)`(setq var (1+ var))) INC! [2]> (let ((x 1))(macroexpand '(inc! x))) (SETQ VAR (1+ VAR)) ; T [3]> (defmacro inc! (var)`(setq ,var (1+ ,var))) INC! [4]> (let ((x 1))(macroexpand '(inc! x))) (SETQ X (1+ X)) ; T [5]>On LispもLOLもせっかくWebで読めるので参考にしてはどうでしょう。 こんなとこでドヤ顔しながら回答しても無意味だけど。
labels :
common lisp,
defmacro
2011/12/21
ubuntuにGauche-gd入れてなかった
というかgdも入ってなかった。
$ sudo apt-get install libgd2-xpm-dev
$ ./configure $ make $ sudo make installしばらく前に仕事でGauche-gd使って画像レンダラコマンドとDSL(振り返るとこれはひどかった・・・)を書いたんだけど、それを自分用に書き直したいなーって思っていたり。あと、当時それらを作るのにGDのことを何もしらなかったのでいろいろサンプルを書いた残骸があるのでブログに書こうと思っていたんだった(忘れてた)。いつか書く(かも)。
2011/12/20
favrand自動更新
2011/12/19
2011/12/18
2011/12/17
bloggerバグってる?
このブログに下記の記事がある。2011年12月の記事。右側のarchiveの2011/12/14と2011/12/13の間に並んでいるので、個別にアクセスすることができる。だけど、ブログ最下部の「前の投稿」から辿ると表示されない。
全ての記事がトップから「前の投稿」まで流れたら表示されるようになった。つまりこの記事を投稿した時点で上記の症状がなくなった。
- vallog: shellで適当な数値セットを作る(while, od, /dev/random, expr)
- vallog: shellで適当にCSVを作る(while, od, /dev/random, shasum, cut, expr)
- vallog: shellで乱数(od, /dev/random, tr)
- vallog: 日付を2進数とか16進数に変換してみるshell script(date, bc)
追記
と、思ったら・・・全ての記事がトップから「前の投稿」まで流れたら表示されるようになった。つまりこの記事を投稿した時点で上記の症状がなくなった。
2011/12/16
2011/12/15
2011/12/14
shellで連番の欠番を探す(awk)
欠番に耳あてしてみる。
そういえば以前同じようなことした。
$ i=10 && while [ $i -ne 0 ] ; do ; od -vAn -N1 -tu4 < /dev/random ; i=`expr $i - 1` ; done | tr -d ' ' | sort -n | uniq > ~/temp/randnums.txt $ cat ~/temp/randnums.txt 1 13 62 64 114 137 210 240 253 $ cat ~/temp/randnums.txt | awk BEGIN{'FS=","}{print $1}' | awk 'BEGIN{pre=0;}{if(pre+1<$1){for(i=pre+1;i<$1;i++){print "*"i"*"}}{print $1}pre=$1;}' | head 1 *2* *3* *4* *5* *6* *7* *8* *9* *10* *11* *12* 13 *14* *15* *16* *17* *18* *19* *20*取りあえずコマンドにしてみる。
$ cat ~/temp/randnums.txt | toothless | head -n 15 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17ソースはこちら
そういえば以前同じようなことした。
おまけ
- ライフゲーム by awk: いつも orz な ふぶき さん
- AWK Users JP :: 日本の AWK ユーザのためのハブサイト
- The GAWK Manual - Table of Contents
基本的にこのページは全て awk で記述していく。awk/sedいいですよねー面白いですよねー。もっとちゃんとやってみたい。
shellで適当な数値セットを作る(while, od, /dev/random, expr)
shellで適当にCSVを作る(while, od, /dev/random, shasum, cut, expr)
こないだも同じようなの書きましたけども
$ i=30;while [ $i -ne 0 ] ; do ; echo `od -vAn -N1 -tu4 < /dev/random`','`head /dev/urandom | shasum | cut -f 1 -d " "` ; i=`expr $i - 1` ;done 143,7ed6cdfacce9c8180f084f11ff40a487fb9b76cc 172,e8868853fbf06a59d54a80af5d326ee923f5c2a5 20,aa6964527830642d0487d8c91ee729acd596d2c6 16,39653698b5f44272b9323175142c6f697b0b56e5 147,58d0a5b4f8ba2b6b232b3d880b012dbc5c8f7003 124,4b29452a6ceed3bc5cbc5646f89b8d059f35142c 77,79d318be8be409b772f5bc084119816e1d8a7b3d 5,830c44e27e2541f5b3cb93dfad07a35121f19d4a 29,e822b1cd62a150c6f33f5db764e2ea4a684e79d2 90,d32f9c0a7b84f2cdd9621ed8a9265cd95a56c263 65,fd244f7b6c689510e4b5ddf12871497c74fdc499 189,1731b1bf3a5376880b36dc95ec1e7f7195648e20 137,79b3c453d5157bd39d27cd5ce543f652f9b3bcaf 28,9ed7b27b2f119e9d5b90807c8eb95871d2b41f9b 45,52e2a699499889ea4f8c6840ab968f8c56fd3811 148,ff29ed9a549e9252e230321d2aa620850aa1f88f 162,baecf2ff043644044b8ed901e70283a645990d4f 169,9b1d410a6a7e1b3babfe4ccbbef0aa769bad9bf7 117,16d548cb175ccf8e992ed69ec1d43940a15bda85 127,ca7533638cd1cb09d774d3515d4298842c912a93 203,80431c1c5296af45c7974d07ae2aea803167a395 5,0488e6326128587a7a0f8fa071120b78752dacbf 102,c3882ba4b20a38f34cb08b96bd7cec22a0cf47a7 161,9efe9a3c9a9f46fc928ef077123dc3ae188f6973 9,cd5c6555c08ddf3a81b8a682b65a7de3adb25cd4 132,7abe72b0e1341a5b4b24b06dcc75fbc2615fa3c7 229,5ee1c7255d38acbe446e8a30bcf6ddcefd8615bb 193,228f6cdab6ae3d276a1b4b543ca39cf93f499a5f 188,f6b215b5202d7342f7c310402dffedaf349fcbce 54,6e2490ea175f1e4ea009e441fccabe08d2d8c0c7
shellで乱数(od, /dev/random, tr)
$RANDOMってのもありますね。
$ od -vAn -N1 -tu4 < /dev/random | tr -d ' '
$ od -vAn -N4 -tu4 < /dev/random | tr -d ' '
日付を2進数とか16進数に変換してみるshell script(date, bc)
最近「入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界」って本を読んでて、シェルスクリプト書いてみてます。
普段は何かやりたいことがあればGaucheで書いています。ですがシェルスクリプトで書いた方が手軽な場合も多々あります。やりたいことがあったときにシェルスクリプトで書くか、お気に入りの言語で書くか、この辺の判断はまだできません。シェルスクリプト書くのが結構楽しいので、もうちっと書きながら勉強してみます。
当初考えていたやりたいことを実現するにはシェルスクリプトで十分でした。が、機能を付け加えていくうちに「Gaucheでやればよかった・・・」という状況になりました。。なぜかというとコードが手続き的でわかりにくくて面倒になったからです。まだシェルスクリプトの作法がわからないこともありますが、文法的に手続き的なコードになりやすい印象を受けます(そりゃそうだろうと思いますが)。手続き的なコードが苦手なのであーあーあーあーあー状態。
で、本題。
date2binという名前を見ればわかるように、日付を2進数に変換してみようと思ったのがきっかけでした。そのうち16進数も、8進数も、CSVにも、といろいろやってるうちに面倒なことに。
今回気づいた面白い日付は3/14とか5/12とかでしょうか(今回のコマンド関係ない)。あとはbinary dayくらいですかね。epochで言えば2012/04/02の11時くらいが1333333333でちょっと面白いですね。他にはもう過ぎ去りましたが
ダサいコードで恥ずかしいですが、どんどん晒していきます。
普段は何かやりたいことがあればGaucheで書いています。ですがシェルスクリプトで書いた方が手軽な場合も多々あります。やりたいことがあったときにシェルスクリプトで書くか、お気に入りの言語で書くか、この辺の判断はまだできません。シェルスクリプト書くのが結構楽しいので、もうちっと書きながら勉強してみます。
当初考えていたやりたいことを実現するにはシェルスクリプトで十分でした。が、機能を付け加えていくうちに「Gaucheでやればよかった・・・」という状況になりました。。なぜかというとコードが手続き的でわかりにくくて面倒になったからです。まだシェルスクリプトの作法がわからないこともありますが、文法的に手続き的なコードになりやすい印象を受けます(そりゃそうだろうと思いますが)。手続き的なコードが苦手なのであーあーあーあーあー状態。
で、本題。
date2binという名前を見ればわかるように、日付を2進数に変換してみようと思ったのがきっかけでした。そのうち16進数も、8進数も、CSVにも、といろいろやってるうちに面倒なことに。
$ date2bin -n3 -------------------- count : 0 +%Y-%m-%d : 2011-12-14 +%s : 1323788400 +%Y%m%d -> bin : 1001100101101111101101110 +%m%d -> bin : 10010111110 +%s -> bin : 1001110111001110110100001110000 +%Y%m%d -> oct : 114557556 +%m%d -> oct : 2276 +%s -> oct : 11671664160 +%Y%m%d -> hex : 132DF6E +%m%d -> hex : 4BE +%s -> hex : 4EE76870 -------------------- count : 1 +%Y-%m-%d : 2011-12-15 +%s : 1323874800 +%Y%m%d -> bin : 1001100101101111101101111 +%m%d -> bin : 10010111111 +%s -> bin : 1001110111010001011100111110000 +%Y%m%d -> oct : 114557557 +%m%d -> oct : 2277 +%s -> oct : 11672134760 +%Y%m%d -> hex : 132DF6F +%m%d -> hex : 4BF +%s -> hex : 4EE8B9F0 -------------------- count : 2 +%Y-%m-%d : 2011-12-16 +%s : 1323961200 +%Y%m%d -> bin : 1001100101101111101110000 +%m%d -> bin : 10011000000 +%s -> bin : 1001110111010100000101101110000 +%Y%m%d -> oct : 114557560 +%m%d -> oct : 2300 +%s -> oct : 11672405560 +%Y%m%d -> hex : 132DF70 +%m%d -> hex : 4C0 +%s -> hex : 4EEA0B70 --------------------
$ date2bin -fn3 count,ymd,epoch,ymd_bin,md_bin,epoch_bin,ymd_oct,md_oct,epoch_oct,ymd_hex,md_hex,epoch_hex 0,2011-12-14,1323788400,1001100101101111101101110,10010111110,1001110111001110110100001110000,114557556,2276,11671664160,132DF6E,4BE,4EE76870 1,2011-12-15,1323874800,1001100101101111101101111,10010111111,1001110111010001011100111110000,114557557,2277,11672134760,132DF6F,4BF,4EE8B9F0 2,2011-12-16,1323961200,1001100101101111101110000,10011000000,1001110111010100000101101110000,114557560,2300,11672405560,132DF70,4C0,4EEA0B70コードはこちら
今回気づいた面白い日付は3/14とか5/12とかでしょうか(今回のコマンド関係ない)。あとはbinary dayくらいですかね。epochで言えば2012/04/02の11時くらいが1333333333でちょっと面白いですね。他にはもう過ぎ去りましたが
$date -d @1234567890 +%Y-%m-%d
$date -d @1111111111 +%Y-%m-%dとかですか。
ダサいコードで恥ずかしいですが、どんどん晒していきます。
blogの更新をtwitterに通知する
以前はfriendfeed経由でやってました。いつからかfriendfeedからの通知ができなくなったのでtwitterfeedから通知するようにしました。twitterfeedの通知は微妙でした。ので、Twitterへの通知はしばらく止めてました。今度はfeedburnerの通知機能を使うことにしました。
ということでテスト。
labels :
diary
2011/12/13
2011/12/12
2011/12/11
1000
このブログ1000記事目だー
昔書いた下書き記事を含めてだけど。
下書きの記事はpure言語を触ってみた結構長めの話だった。
ちょっと振り返ってみる。
このブログは2009/01/01から書いてる。それ以前の記事は前のブログから移行したもの。
(ということは1000記事目じゃないな)
sicpを読むために「もうひとつの Scheme 入門」を読み始めたのが2008/11くらいからだった。(lispを始めたきっかけは同時期にハッカーと画家を読んだからだけど)
だからこのブログもこのありさまなんだ・・・。
そういえばKPFを始めたのも同じ頃。 初めて参加した勉強会というかイベント?(2008/12に福岡であった九州Ruby会議)とTwitterがきっかけ。2008年末にいろいろやったから今があるんだなー(白目
2008年末頃のバイタルは異常。
意識高ぇー(笑) 当時RTなんてなかったんだぜ・・・信じられるか・・・。
昔書いた下書き記事を含めてだけど。
下書きの記事はpure言語を触ってみた結構長めの話だった。
ちょっと振り返ってみる。
このブログは2009/01/01から書いてる。それ以前の記事は前のブログから移行したもの。
(ということは1000記事目じゃないな)
sicpを読むために「もうひとつの Scheme 入門」を読み始めたのが2008/11くらいからだった。(lispを始めたきっかけは同時期にハッカーと画家を読んだからだけど)
だからこのブログもこのありさまなんだ・・・。
そういえばKPFを始めたのも同じ頃。 初めて参加した勉強会というかイベント?(2008/12に福岡であった九州Ruby会議)とTwitterがきっかけ。2008年末にいろいろやったから今があるんだなー(白目
2008年末頃のバイタルは異常。
意識高ぇー(笑) 当時RTなんてなかったんだぜ・・・信じられるか・・・。
labels :
diary
2011/12/10
2011/12/09
2011/12/08
extractコマンド
そんなコマンドはないですが、下記リンクのものをコマンドにしています。
ソースはこちら。こんな感じ。
link先ではaunpackがあるじゃんって話ですね。aunpackも使いますが、上記コマンドはリファレンスにもなるのでこれはこれで便利。
ssh先のディレクトリをtarしてローカルにコピーして展開(ssh, cd, tarしてtar)
dateコマンドで日付の加減算
$ date Thu Dec 8 19:35:07 JST 2011 $ date --date '-100month' Fri Aug 8 19:35:19 JST 2003 $ date --date '-100month' +%Y-%m-%d 2003-08-08 $へぇーへぇー。
2011/12/07
2011/12/06
2011/12/05
2011/12/03
2011/12/02
クリスマスツリーを飾りました。Lispで。
もうすぐクリスマスなのでterminalにクリスマスツリーを飾りました。
Lisp(というかScheme(というかGauche 0.9.1以降))で書きました。
和田先生の去年の記事を参考に・・・。
ソースはこちら。毎度よろしくコマンドにしました。色付けが若干間違ってるのはご愛嬌ということで。
Lisp(というかScheme(というかGauche 0.9.1以降))で書きました。
和田先生の去年の記事を参考に・・・。
$ christmas-tree -size 6 -color
ソースはこちら。毎度よろしくコマンドにしました。色付けが若干間違ってるのはご愛嬌ということで。
lispギャグ
リリカル☆LispとかマンガでわかるLispの中の人が。
LispやSchemeはいつもAdvent Calendarないですねー。
クリスマスネタとか新年ネタ探そ。
クリスマスツリーは去年見かけて、真似して書きかけたのがある。
書き初めは、仕事で書いたgauche製の画像レンダラがあるのでできそう。ってか普通にGauche-gdだけでいいか。
LispやSchemeはいつもAdvent Calendarないですねー。
クリスマスネタとか新年ネタ探そ。
クリスマスツリーは去年見かけて、真似して書きかけたのがある。
書き初めは、仕事で書いたgauche製の画像レンダラがあるのでできそう。ってか普通にGauche-gdだけでいいか。
渾身のlispネタ
- Twitter / @valvallow: 「carってなんですcar?」「cdrらないこと言っ ...
- Twitter / @valvallow: 「目を覚ましてcdrさい…。結consるって言ったじ ...
- Twitter / @valvallow: 君たちはいつもそうだね。ブラウザだエディタだshel ...
- Twitter / @valvallow: スlambdaンク! ...
- Twitter / @valvallow: 「ハッカーと画家」読んでLisp始めたり、有名なプロ ...
labels :
Lisp
2011/12/01
2011/12/01
- txt2re: headache relief for programmers :: regular expression generator
- 守旧派 - Wikipedia
- 特定のプロセスをアクティブにする-2(ShowWindow, SetForegroundWindow) - いろいろ備忘録日記
- 特定のプロセスをアクティブにする-3(ShowWindow, GetForegroundWindow, SetForegroundWindow, GetWindowThreadProcessId, BringWindowToTop, AttachThreadInput, PostMessage, WndProc, 最前面に表示) - いろいろ備忘録日記
- 韓非子 - Wikipedia
- pha語録 - COBOL技術者の憂鬱
2011年11月の筋トレ
10年以上体重に目立った変化がなかったのに今年になって6kg太った。腹がぷにぷにしてきた。思い切って11月から筋トレを始めた。「痩せるには筋肉つけて代謝を上げればいいはず(キリッ」と考えて筋トレ。
取りあえず少ない回数から始めて、「続ける」ことを目標にした。これからも焦らず無理せず続けたい。
目標は半年後に腹筋を割ること。誰かアドバイスたのむ。
目指せガチムチェ・・・
スクワットは途中でやめた。腕立ては楽しく続けている。腹筋はツライ・・・。懸垂したい。
夕食後就寝前に筋トレしてるのでまずいと思う。夕食前にシフトしたい。 身長は171cm。
ちなみに記録は、筋トレ用にCSV記録用のshellスクリプト書いて、集計と表組はawkでやった。
目標は半年後に腹筋を割ること。誰かアドバイスたのむ。
目指せガチムチェ・・・
日時 | 体重 | 腕立て | 腹筋 | スクワット |
---|---|---|---|---|
2011-11-02 | 59.7 | 20 | 20 | 20 |
2011-11-03 | 60.4 | 20 | 20 | 20 |
2011-11-04 | 59.4 | 30 | 30 | 30 |
2011-11-05 | 59.4 | 30 | 30 | 30 |
2011-11-06 | 59.8 | 30 | 30 | 30 |
2011-11-07 | 59.6 | 40 | 0 | 50 |
2011-11-08 | 59.4 | 40 | 10 | 40 |
2011-11-10 | 58.9 | 30 | 5 | 30 |
2011-11-12 | 58.2 | 50 | 50 | 30 |
2011-11-14 | 58.4 | 50 | 20 | 30 |
2011-11-15 | 59.0 | 50 | 20 | 0 |
2011-11-16 | 57.0 | 50 | 30 | 0 |
2011-11-17 | 58.8 | 70 | 30 | 0 |
2011-11-18 | 58.8 | 100 | 50 | 0 |
2011-11-19 | 59.8 | 100 | 50 | 0 |
2011-11-20 | 58.8 | 100 | 50 | 0 |
2011-11-22 | 58.8 | 115 | 50 | 0 |
2011-11-23 | 59.2 | 100 | 50 | 0 |
2011-11-25 | 59.0 | 140 | 50 | 0 |
2011-11-26 | 59.0 | 100 | 50 | 0 |
2011-11-29 | 58.8 | 80 | 30 | 0 |
2011-11-30 | 58.6 | 100 | 50 | 0 |
22/30日 | 平均59kg | 1445 | 725 | 310 |
スクワットは途中でやめた。腕立ては楽しく続けている。腹筋はツライ・・・。懸垂したい。
夕食後就寝前に筋トレしてるのでまずいと思う。夕食前にシフトしたい。 身長は171cm。
ちなみに記録は、筋トレ用にCSV記録用のshellスクリプト書いて、集計と表組はawkでやった。
登録:
投稿 (Atom)