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は無料でいい感じの拡張があっていいですねー(棒読み

 

追記


プログラミングC# 第5版

man ascii

cygwinに入ってなかったので入れた。

2011/08/11

mkdirでディレクトリを一括作成

mkdir -p hoge/{foo,bar,baz,qux/{hoge,piyo,fuga}}
mkdir -p aaaaaa/{1..10}/{1..10}/hoge 

UNIXという考え方―その設計思想と哲学

2011/08/10

find結果をtarしてsshしてtar展開

find . -type f -name "foo-*" -print0 | xargs -0 tar -c | ssh valvallow@server '(cd ~/hoge/piyo/fuga && tar xvf -)'

tarのまま
find . -type f -name "foo-*" -print0 | xargs -0 tar -c | ssh valvallow@server 'cat > ~/hoge/piyo/fuga/foos.tar'
tarもしない
scp -P3843 $(find . -name "foo-*") valvallow@server:~/hoge/

UNIXという考え方―その設計思想と哲学

findで指定した条件以外を検索

*.datと*.gz以外
find . -maxdepth 1 -type f \! \( -name "*.dat" -o -name "*.gz" \)

UNIXという考え方―その設計思想と哲学

2011/08/09

日記

マロリー・ワイス症候群(Mallory-Weiss syndrome)とは、嘔吐後に下部食道に裂傷が生じ、出血を起こす症候群である。

大学生の頃、酒の飲みすぎで吐いた友人が「血を吐いた!」っつって大騒ぎしたことがありました。結局その時の「赤い液体」はカシオレじゃないかとのことでしたが、もしかしたらこれだったんじゃ。

Emacsでregionをインデント

C-u num C-x C-i
numには4とか-2とか指定する。

Emacsテクニックバイブル ~作業効率をカイゼンする200の技~

2011/08/07

flatten

このflattenカッコイイ
(use srfi-1)

(define (flatten xs)
  (if (pair? xs)
      (append-map flatten xs)
      (list xs)))

自分はこう書いてた
(define (flatten tree)
  (fold-right (lambda (e acc)
                (if (pair?  e)
                    (append (flatten e) acc)
                    (cons e acc)))
              '() tree))

Coders at Work プログラミングの技をめぐる探求

#セキュリティさくら に参加してきました

Posted using Mobypicture.com
ブログに参加レポートを書くまでが勉強会ということで。
(写真は懇親会で食べた@tanakakaさん撮影の馬刺し)

セキュリティさくら


他の参加者のレポート


開場の雰囲気

  • 30人くらいの参加者
  • 学生多い(3割以上?)
  • 10代の参加者も
  • ソフトウェア系の技術者多め
  • 福岡を中心に他県からの参加者も多数

感想

楽しかった!
@greenz_greenzさん主催/幹事お疲れ様でした!

熊本にも変な人(イイ意味で)がたくさんいるんですね。
勉強会に参加するといろんな人に会うことができるので、やっぱりそこが一番楽しいです。
Pythonでlambda乱用プログラミングしてる15歳ェ・・・
Gentoo連呼したりLinuxカーネルを読んでる16歳ェ・・・
(一応軽くLispを勧めてみましたが反応薄め。。OCamle, Haskellの方が人気っぽい)

あとやっぱ懇親会が楽しいですね。さくらだけに馬刺しだし。馬刺しうますぎ。

「セキュリティで飯を食ってる人」や「セキュリティが好きな人」の話を聞けるところも魅力ですね。むしろこれがメインですね。
リスクは0にできない!
セキュリティはトレードオフだ!

発表の内容については、公式ページや他の参加者の方にたくします。
オフレコの内容もあるし、できる範囲で発表資料の公開とかあるでしょうし、きっとね!

書籍

じゃんけんで白夜書房さんより提供の本をゲットしました!学生さんを差し置いて2冊も頂だいてしまいました。正直、普段手に取らない種類の本なので読むのが楽しみです。
わいrういろうもおいしく頂きました。
ありがとうございました!

他の勉強会の主催者や運営の方々の参加が多くて、勉強会運営の話も面白かった。
(最近滞りがちですが)私もKPF9LISPの主催者だったりします。

タイムライン

言い出しっぺの法則でトゥギャっときました。


セキュリティはなぜやぶられたのか

2011/08/06

Emacsでカタカナの全角半角変換(SKKとか)

M-x japanese-hankaku-region
M-x japanese-zenkaku-region

SKKで半角カナ入力ってどうやるんだろうって思ってました。たぶんSKKのチュートリアルには出てきってなかった。と思う。

Emacsテクニックバイブル ~作業効率をカイゼンする200の技~

2011/08/05

もじこーど(emacs, vim, screen)

メモ

emacs
C-x C-m f utf-8
vim
:e ++enc=utf8
:e ++enc=eucjp
:set encoding=sjis
gnu screen
C-t : encoding eucjp
(escape keyをtにしてる)

Emacsテクニックバイブル ~作業効率をカイゼンする200の技~

2011/08/04

GaucheのリファレンスURL

記事と直接の関係はないことなので恐縮ですが、 Gauche のマニュアルは改訂があった場合等に URL (ファイル名) と内容の対応付けが変わる場合があります。
より便利な以下の形式が用意されているので活用してみてはいかがでしょう。
http://practical-scheme.net/gauche/man/?l=jp&p=let/cc
もちろん、ここで let/cc とした箇所を他の構文や関数の名前にしても一発でその項目へ飛べます。
http://practical-scheme.net/gauche/man/?l=jp&p=let/cc

知りませんでした。知らなかったがために、このブログに貼られているGaucheのリファレンスのURLはカオスになっていますorz気づいたとこから書き換えようかな。。

プログラミングGauche

2011/08/03

ssh bind address

ssh -L 8888:locahost:80  valvallow@server
こんなことができるんですか!

UNIXという考え方―その設計思想と哲学

2011/08/02

LaTeXでパッケージを追加する

arydshln.styがデフォルトで入ってなかったので追加しました。
追加先のパスがわかりませんでした。
見るサイト見るサイトでパスが違うし試しても読み込まれないし。
途方に暮れました。

結局以下のようにしました。
kpsewhich longtable.sty
そしたら「/usr/local/teTeX/share/texmf-dist/tex/latex/tools/longtable.sty」とか表示されるので、同じディレクトリに突っ込みました。

で、
mktexlsr
して
kpsewhich arydshln.sty
で表示されたらOK。

FreeBSDだとportからサクッと入ってうらやま。
cygwin爆発しろ!

参考


[改訂第5版] LaTeX2e 美文書作成入門

2011/08/01

findしてcp(コピー)

find . -type f -name "foo-*" -print0 | xargs -0 sudo cp -t /hoge/piyo/fuga/hogehoge

UNIXという考え方―その設計思想と哲学