2011/08/28

スカートの下の劇場

1989年に書かれた本。どんな内容の本かというと「パンティ」の話。下着のあのパンティ。 

あとがきより
私はパンティにこだわった。パンティにこだわる女にこだわった。女のパンティにこだわる男にこだわった。
ふんどし、トランクス、ブリーフ、コテカ、と男性の下着(?)も出てくるものの、パンティ、ズロース、タンポン、T字体、など女性の下着(や生理用品)を中心に話が進む。

下着の歴史、近代史、最近(89年当時)の傾向が、文化や近代家族観の変遷を通して語られる。 残念ながら卑猥な本ではない(下着を着けた、あるいは着けていない女性の写真も多いのでそうとも言い切れないかも)んだけど、平気で「マラ兄弟」とか「オ●ンコ・シスターズ」とかいう言葉が出てくる(笑)後半は下着と性器の関係や女性の自己身体意識について小難しい話が並ぶ。 

これが意外と面白かったのでついブログを書いた。紹介や感想が苦手だし、あまり書くとアレなのでこの辺で。 

作者曰く、もしシリアスなタイトルをつけるとすると「下着の歴史を通してみた女性の自己身体意識の構成について」だそう。

スカートの下の劇場 (河出文庫)

2011/08/25

JVM上のSchemeといえば・・・

schemeをJVMに載せたらええんじゃねってって思ったけどもうClojureがあった。

JVM上のSchemeと言えばKawaとかSISCとかが有名らしいですね。

んでKawaと言えばこんなのも見かけた
From http://appinventor.googlelabs.com/about/

The compiler that translates the visual blocks language for implementation on Android uses the Kawa Language Framework and Kawa's dialect of the Scheme programming language, developed by Per Bothner and distributed as part of the Gnu Operating System by the Free Software Foundation.

参考

なにこれすごい「Animated GIFs -- from Wolfram MathWorld」

gnu screenでpageup/pagedown

できなかったので、.screenrcに書いた。
termcapinfo xterm* ti@:te@
以前も同じこと書いた気がするけど気のせいか。。

C#練習がてらslices

C#の拡張メソッドでgaucheのutil.listにあるslicesっぽいもの書いてみた。組み込みでこういうのあるのかも知らんけども。 出力 Achiralというのをちらっと眺めてみたけど、Schemeで見慣れたようなものもあれば何をしているのかわからないものまでいろいろ。
拡張メソッドいいれすれー。  マクロもあればいいのに。Lispの伝統的なマクロをC系シンタックスでってのは無理があるのかもしれないけど、Pure言語にあるようなマクロだったらいけるんじゃないの。

追記

職場で「これだと遅延評価が効かないんで、こうしたら良いよー。」と教えてもらったので、それを参考に書き直してみました。



ホーガン

J・P・ホーガンにハマり中。
を読んでからすっかりハマって
と読んだ。
これらは単独でも読めるかもしれないけど、一応続きもの。

wikipediaによると同シリーズの続編がもう一タイトルあるようだけど、まだ日本語訳が出ていないらしい。

次は
が控えてる。楽しみ。どれから読もうかなー。古い順かなー。

星を継ぐもの (創元SF文庫)

2011/08/24

dateコマンドでepochとか

$ date +%s
1314196257
$ date -d $(date +"%Y-%m-%d") +%s
1314198000
$ date -d '1984-01-10' +%s
442508400
$ date -d @442508400 +'%Y/%m/%d'
1984/01/10
$ date +"%Y/%m/%d (%a) %H:%M:%S"
2011/08/24 (水) 23:32:13
最近特にどうでもいいことばっかり書いてる気がしないでもない。気にしない気にしない。メモなんだし。 そういう意味ではここのトップに書いてあることがいい感じので見習いたい。
twitter他に通知しない方が気楽で良いのかも。

追記

gaucheだとこんなんでいいかな。
gosh> (date->string (current-date) "~s") "1314202938" gosh> (sys-mktime (sys-localtime (current-time))) 1314202946 あれ、epochからdateへの変換はどうすんだろ。

追記

あれ、epochからdateへの変換はどうすんだろ。
すぐ上のコードでやってた。string->dateでもできそう(だったので試したけどよくわからなかった)。

test

twitterfeedのテスト

ブログの更新をTwitterに通知するのをfriendfeedに任せてたけど、動かなくなって久しいのでtwitterfeedを試してみる。

bcで基数変換

$ echo 'obase=16; 99' | bc
63
$ echo 'obase=16; 28' | bc
1C
$ echo 'ibase=16;obase=2; 39' | bc
111001
$ echo 'ibase=16;obase=2; 52' | bc
1010010
$ echo 'ibase=16; 52' | bc
82
$ echo 'ibase=16; 39' | bc
57
$ echo 'obase=16; 28' | bc
1C
$ echo 'obase=16; 28' | bc
好きな言語でワンライナーでいんじゃね?という話ですた。
$ echo '(print (number->string 28 16))' | gosh
1c
$ echo 'Console.WriteLine(Convert.ToString(28, 16));' | csharp
1c
$ echo 'puts 28.to_s(16)' | ruby
1c
$ php -r 'print(base_convert("28", 10, 16) . PHP_EOL);'
1c
で、気になってたんだけど、PHPってechoした結果をパイプできないの? ついでにzsh

2011/08/22

csharp repl

何かとREPLが欲しくなるわけです。

monoにはC#のreplがあるってんで入れてみました。どうして肝心のVSにはないんでしょうね。馬鹿なの死ぬの? mono自体はyumで入れようと思いましたが途中でコケたので、ソースから入れました。(windowsでも
$ csharp
でREPL開始。

ShowUsing();でusingされている名前空間を、ShowVars();でREPLの環境内にある変数を表示しれくれます。quit;で終了。
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> ShowUsing();
using System;
using System.Linq;
using System.Collections.Generic;
using System.Collections;
csharp> var a = Enumerable.Range(0, 100);
csharp> ShowVars();
System.Collections.Generic.IEnumerable a = System.Linq.Enumerable+c__Iterator24
csharp> var a = Enumerable.Range(0, 100).ToArray();
csharp> ShowVars();
int[] a = System.Int32[]
csharp> a.Select(i => Convert.ToString((byte)i, 16).ToUpper());
{ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1A", "1B", "1C", "1D", "1E", "1F", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2A", "2B", "2C", "2D", "2E", "2F", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3A", "3B", "3C", "3D", "3E", "3F", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4A", "4B", "4C", "4D", "4E", "4F", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5A", "5B", "5C", "5D", "5E", "5F", "60", "61", "62", "63" }
csharp>
微妙に補完も助けてくれます。 Enumerableと入れてタブを押したら
csharp> Enumerable
Enumerable EnumerableExecutor EnumerableQuery
続いて「.」を入れてタブを押したら
csharp> Enumerable.
Aggregate All Any AsEnumerable Average Cast Concat Contains Count DefaultIfEmpty Distinct ElementAt ElementAtOrDefault Empty Except First FirstOrDefault GroupBy GroupJoin Intersect Join Last LastOrDefault LongCount Max Min OfType OrderBy OrderByDescending Range Repeat Reverse Select SelectMany SequenceEqual Single SingleOrDefault Skip SkipWhile Sum Take TakeWhile ThenBy ThenByDescending ToArray ToDictionary ToList ToLookup Union Where Zip
csharp> Enumerable.
といった具合です。

 テスト用のプロジェクトを立ち上げてもいいし、コードの余白に確認用のコードを書いてイミディエイトウィンドウで確認してもいいんですけどね。


ところで

最近mifareをC#でごにょごにょする仕事をしてます。
C#もVisual Studioもすごく久しぶりでプログラミング以前のところで四苦八苦したり。
プログラミングの方もだいぶ四苦八苦してますが。

C#(というか.NET)はすごいし、まじで素晴らしいです。でもC系のシンタックスって人に優しくなくないですか?優しくないです。

VSのEmacsキーバインドがどうにも微妙でViEmu入れてみたり。
このままだとViEmu買ってしまいそうで怖い。その点2010は無料でいい感じの拡張があっていいですねー(棒読み

 

追記