« ダーツとか日記 |Main| 地震上野レオナルド日記 »

« 「すごい会議」日記 | zakki(雑記) | 地震上野レオナルド日記 »

今週ラボで何をしてたか日記

6月1日

ラボ掲示板からhowmにエクスポートするスクリプトを書いた。

GoogleDesktopを入れているとCtrl2回で検索ウィンドウが出ることに気がついた

あっ、そうか 今まで

for(Object o: r.marginalEdge){
        IEdge e = (IEdge)o;
}
ってやってたけど
for(IEdge e: (Vector<IEdge>)r.marginalEdge){
        
}
でいいのか。

少しずつかしこくなる。

口内炎がしみる…

わかった、右手首が痛くなったのはマウスを使ったからだ。 普段動かさない筋肉を使ったから筋肉痛になったんだ。

手首回すと引っかかる。かなりやばい。 腱鞘炎なりかけ。 それもこれもマウスのせいだ。

FujiSankei Business i. TOPIC/目で動くマウス 障害者、広がる仕事の場(2004/9/11) http://www.business-i.jp/news/top-page/topic/art-20040910214939-SQQMQUGOYK.nwc

フット用マウス http://www.edikun.co.jp/footmouse/footmouse.htm 高いなー

足用マウス「足技Ⅱ」:就労支援機器のページ http://www.kiki.jeed.or.jp/pro/g312210.html んー。

NOHANDS MOUSE http://www.footmouse.com/

HHKの真ん中にトラックポインタが付けばいいんだが。

悲しい。 ハッピーハッキングキーボードは ハックできないように特殊なもので止めてあった。 ハックしてゲームパッドのジョイスティックでも解体してつっこもうと思ったのに。 ハックできないハッキングキーボード…。

Python、re.finditerしらなかった。便利。

m = re.match(...
if m:
    doSomething(...
じゃなくて
for m in re.finditer(...
    doSomething(...
という選択肢。

from xml.sax.saxutils import unescape

残念、&quot;とかは置換してくれない。


= 5月31日。

シングルトンパターンは事実上のグローバル変数だけども、 Javaの場合どこからでもアクセスできるのはクラスの名前だけで、 一般的な操作では同じクラスの名前が束縛されているオブジェクトが変わることはない。 つまり単一代入なのだ。 だからわりと有効に機能しているんだなぁ…と気がついた。

だからクラスが単一代入でないPythonで形だけまねてシングルトンパターンにしたって無意味だし、 仮に単一代入の名前空間を実装したところで、それ自体は単一代入でないなにかに入れないとアクセスできないわけなので根本的な解決にはなっていない。

for (int i = 0; i < vertexList.size(); i++) {
とか
for(Iterator i = allEdges.values().iterator();i.hasNext();){
とか
for(Object o: allEdges){
とかが混在している。成長の爪痕。

Javaで複数の値を返したくて、ローカルにネストしたクラスを作ったが 当然、それを返してもローカルのクラスはアクセシブルじゃないので無意味

フィールドの位置に移動したら見慣れぬエラーが。 >アクセス可能な型 Selection のエンクロージング・インスタンスがありません。 型 Selection のエンクロージング・インスタンスで割り振りを限定する必要があります (たとえば x.new A() で、x は Selection のインスタンス)。

今回はResultにstaticをつければ済む話だけど 仮にあえてやるとすれば Result result = new Selection(null).new Result(); でコンパイルが通った。 こんな書き方がありだとは… っていうか要するにnewの構文がおかしいんだよなぁ。 Selection.createInstance().Result.createInstance() ってことだもんなぁ。

(6月1日注:Pythonでタプルでくくって多値を返すようなことがやりたければ new Object[]{a, b, c}して返すのが近いだろうか。)

しまった、振り込まないといけないものがあったんだ お、みずほ銀行赤坂見附支店は24時間営業か。

配列をCollectionに変えるのに、Arrayにそういうメソッドがないなぁと調べてみたらArraysというクラスにasListってのがあった。 (6月1日注:以下しばらくの内容はラボブログに書きました)

(6月1日注: あー、こうやって公開してもよさそうな情報は一般公開しているけど、 mixiの書き込みで見つけた有名なハッカーのコメントなんかは 一応mixiの書き込みである以上公開しちゃいけないよな)

orz 銀行行くの忘れてた 今から行くと終電微妙 明日振り込むと発送が月曜日だろうなぁ そして受け取るのが次の日曜とかになりそうだ


= ジェネレータにsendをつけようという提案 http://www.python.org/dev/peps/pep-0342/ > to make them usable as simple coroutines ジェネレータをコルーチンとして使えるように、だそうな。

yieldを使いこなすと何かおもしろいことができそうだなぁ。sendとか。

send関係ないけどreturnの代わりにyieldって書くだけで遅延評価

>>> def foo(x):
        yield force(x) * 100

>>> def force(x):
        if "next" in dir(x):
                return force(x.next())
        return x

>>> a = foo(foo(5))
>>> a

>>> a.next()
50000
でも、Haskellが偉いのは遅延評価ができるからではなく、 パターンマッチが必要最小限だけその遅延されたのをforceしてくれるから。 こんな「全部展開しちゃう遅延評価」なんてHaskellの足元にも及ばない。

Pythonのバイトコードを実行する方法ってないのかなぁ。 sys.exechogehoge("\xff\xff\xff...")って感じの。

ぎゃー gzip -rってやったら 再帰的にすべてのファイルが*それぞれ別個に*圧縮された!orz

http://amaznode.fladdict.net/ あうー。

ASとXML http://members.netmadeira.com/killer/xmlrpc/ http://livedocs.adobe.com/flex/2/langref/XML.html

The Gutenberg Webster's Unabridged Dictionary by Project Gutenberg and Webster - Project Gutenberg http://www.gutenberg.org/etext/660

e 96161
i 76258
a 74936
r 64251
t 62125
o 61884
n 58064
s 52677
l 51265
c 40423
u 32216
p 28245
m 27593
d 26654
h 23204
g 19984
y 18587
b 16372
f 11089
v 8557
w 6244
k 5838
x 2781
z 2722
q 1709
j 1333
7文字以上の文字列で、J単体より出現頻度の高いものは存在しない。 6文字の ation$ 2317 が最大。

やはり冒頭より末尾に特徴が出るみたい。4グラムの結果:

ion$ 3629
tion 3517
ess$ 2981
ous$ 2955
ate$ 2574
atio 2451
ing$ 2217
ness 1960
ble$ 1900
ent$ 1779
able 1597
ical 1473
ity$ 1435
ter$ 1397
3グラムだと冒頭のも少し混ざってくる。

PythonにもHaskellみたいにconcatMapがあればいいのに。

sum(map(f, xs), [])
destinationから誤字を生成した結果:
13.9351636617 7 ation => g $desting$
7.67656794942 7 ation => e $destine$
5.10651757985 7 ation => ess $destiness$
4.67049248373 7 ation => t $destint$
4.41360062079 5 in => r $destration$
therapist:
68.5779159295 6 pi => li $theralist$
50.4951876028 5 ap => al $theralist$
48.9651783919 5 ap => m $thermist$
39.5948029493 5 ap => s $thersist$
30.8206729864 5 ap => t $thertist$
うーん。serapistとかが候補に挙がってこないなぁ。
= 5月28日。Jython関係であがく。
= 5月25日。
paths must precede expression(略
原因: *.* を引用符で囲まないとbashが展開しちゃう

レゴブロックでピタゴラ装置のレールを造る場合、 普通に作ってもでこぼこでうまく進まないし、 試しに上が平らな部品で覆ってみたけども 「そこが平らなレール」では「レールから離れるときの位置」に自由度があるためにコントロールしにくい。「離れる向き」にもばらつきが出るし。

というわけで今思いついたのだけど http://dgla.jp/shop/detail.php?seq=4461&&kw= これを使ってV字の谷を作ればいいんじゃないだろうか。 ブロック2ます分のスペースで十分ビー玉が通るし。

Vector params = (Vector) Convert.make(
        "[{'methodName': 'dump', 'params': []}]");

らくちん。

でも「Convert」って感じではないなぁ


= という感じの一週間でした。

あと僕が詳しいことを書いちゃいけないと思うので書かないけど、 今日から新しい人が入ってきました。 公式の発表をこうご期待。

あ、なんだもう公開してあった。 IT戦記 - そろそろサイボウズ・ラボについて一言いっとくか。 これ面接とかは僕が入る前に終わっていたので、僕が知ったのはスケジュール帳の「6月1日 天野さん入社」っての。で、どの天野さんかなぁ、とスルーしていたらなんとこの天野さんか! それを知ってから今日までどんだけしゃべりたかったことかw 社会人というものは業務上知り得たことをみだりにしゃべらない自制心が必要なのだなぁとしみじみ思ったものだよ。で、秘密は守り抜けました!えらい?(普通)

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/591

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.