weblog

--Weblogとは、インターネット上に個人が公開する日記の一種で、プライベートな内容を記すことよりも、むしろ話題となっているインターネット上のニュースを引用し、コメントや批評を加えたり、新しい視点を提供するといった方向性を持っているコンテンツの総称である。
なおblogという名称は1999年の四月から五月ごろにPeter Merholzによってweblogの略称として発案された。
言語学マニアのかれが冗談で語の区切りを移動してweb-logをwe-blogと戯れに理解してこの言葉を作り出したのである。--

わけのかわらないタイトルですが,そのままです.


import sys;from itertools import ifilterfalse, count;[globals().__setitem__('compile',lambda bf_src : '[globals().__setitem__("dx",0), globals().__setitem__("dseg",[0] * 32768)] '+bf_src.replace('[',' and [ifilterfalse(bool$( dseg#__getitem__(dx) != 0 and [ True ').replace(']','  ] for i in count()))#next() ] ').replace('.',' and [sys#stdout#write(chr(dseg[dx]))] ').replace('+',' and [dseg#__setitem__(dx$dseg[dx] + 1 )] ').replace('-',' and [dseg#__setitem__(dx$dseg[dx] - 1 )] ').replace('>',' and [globals()#__setitem__("dx"$dx + 1 )] ').replace('<',' and [globals()#__setitem__("dx"$dx - 1 )] ').replace(',',' and [globals()#__setitem__("dx"$ord(raw_input(">")[0]))] ').replace('#','.').replace('$',',')),sys.stdout.write('from itertools import ifilterfalse, count;' + compile(sys.argv[2])) if sys.argv[1] == '-s' else eval(compile(sys.argv[1]))]

takano32 のこれを見て

http://taka.no32.tk/diary/20060908.html#p01

  • Python でも出来るかなぁ
  • あ,インデント意識しなきゃだから単純な置き換えじゃ出来なそうだなぁ
  • インタプリタ的に置き換えよう
    • ワンライナだったらいけるんじゃね??

と思って書いてみました.

yoshiori@yoshiori-ubuntu [3]$ python bf.py '>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.'
Hello World!

こんな感じになるのですが,これだけだと面白くないので,コンパイルしたソースも表示出来るようにしました.

引数に [-s] を追加すると中間コード(Python-oneliner)が出力されます.

上記の Hello Workd! を表示する bf は下記のようにコンパイルされます.

yoshiori@yoshiori-ubuntu $ python bf.py -s '>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.'
import sys;from itertools import ifilterfalse, count;[globals().__setitem__("dx",0), globals().__setitem__("dseg",[0] * 32768)]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx - 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [sys.stdout.write(chr(dseg[dx]))]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx - 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx - 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx - 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [globals().__setitem__("dx",dx + 1 )]  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [globals().__setitem__("dx",dx - 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [sys.stdout.write(chr(dseg[dx]))]  and [ifilterfalse(bool,( dseg.__getitem__(dx) != 0 and [ True  and [dseg.__setitem__(dx,dseg[dx] - 1 )]   ] for i in count())).next() ]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [dseg.__setitem__(dx,dseg[dx] + 1 )]  and [sys.stdout.write(chr(dseg[dx]))]

これで,「難解プログラミング言語」は読めねーよ!! って人も読みやすくて有名な Python に変換されるので良かったですね!!


ちなみに id:kazuhookuマジメに素数探索を実行すると

1分くらいかかります.

yoshiori@yoshiori-ubuntu [3]$ time python bf.py '>++++[<++++++++>-]>+++++++[<++++++++>-]<+>+++++++++>>++++++++++[<++++++++++>-]<--[>[-]<[->+>+<<]>>[-<<+>>]<-[>[-]<<[->>+>+<<<]>>>[-<<<+>>>]<+[>>[-]>[-]<<[>+>+<<-]>>[<<+>>-]<>[-]+<[>-<[-]]>[-<<<<[->>+>>+<<<<]>>>>[-<<<<+>>>>]<<+>>]<<-<-]> >[-]+<[[-]>-< ]>[-<>>[-]+<<<<[-]+>>>]<<<-]>>>> >[-]+<[[-]>-< ]>[-<<<<<<<<.>>>[-]++++++[<<++++++++>>-]<<.>>++++++[<<-------->>-]<<<<.>>>>>>>>>]<<<<<<->>[-]<<<[->>+>+<<<]>>>[-<<<+>>>]<>+<[[-]>-<<<->>]>[-<<<+++++++++<->>>>]<<]'
97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 07 05 03 02 
python bf.py   57.01s user 0.04s system 99% cpu 57.496 total
2010年02月08日 20時30分 | Permalink | コメント | トラックバック

java-ja 温泉開催します.


java-ja 温泉とは?

Python 温泉(PySpa)にインスパイアして開催している,というか,

PySpa が大体 6 月と 10 月開催なので 3 月くらいにもやらないの?

と思ったら,id:voluntasに「メンドイ,お前がやればいいじゃん」

と言われたのが元なので PySpa と場所も期間も変りません.

違いは「お酒飲んでもいいよ」って事だけです.


なので,ほとんど PySpa のパクりになっちゃうけど,纏めると以下になります.

  • 毎回言っておりますが、温泉旅行であり開発合宿でも勉強合宿でもありません。
  • 食事の時間以外は自由にしていただいて構いません。
    • 参考までに ... 西尾は3日間ほとんど寝てるだけでした(第2回 Python 温泉)
  • 駐車場は 3 台くらい、駅から徒歩20分くらいなので是非電車で。
  • 24 時間使える会議室
  • 24 時間入れる温泉
  • ホワイトボード(無料)
  • プロジェクタ有り(無料)
  • 無線 LAN (主催者側で準備します)
  • 有線 LAN (無料、かなり高速)
  • お茶飲み放題(お湯を準備してくれます)
  • 水飲み放題(冷たい水を準備してくれます)
  • とても理解のある宿のご主人(元プログラマとのこと)
  • 電源タップも準備されています
  • 椅子も結構イイ椅子

参加資格

@yamashiro @yoshiori という意見がありますよ RT @tomerun: @voluntas 参加資格のところがよく分からなかったのでとまどった、というのがあります

http://twitter.com/voluntas/status/8280172789

簡単に言ってしまうと

成人のチンコクラスタなのですが,もうすこし説明すると

成人男性(何かあっても自分で責任がとれる人)

です.

言語とかも関係ありません.


お金が無い人!! 安心してください!!



java-ja 育英会

無線 LAN 完備,3 日間,朝晩飯付きで 24 時間温泉に入れて 2 万円は高くないと思うのですが,

相場として高い安いは別にしても払えなくて参加出来ない人がいるのはかわいそうだよねと,

参加したいっていう折角の意気込みを「お金」がネックになっちゃうのは不毛だ!!

っていう男気溢れる人が参加費を負担してくれちゃいます!!

なんて太っ腹!!!


最初はそういう学生とかにも参加して欲しいよねって事で立ち上がったのですが,

別に学生じゃなくても良くね?って事で学生じゃなくても申し込めるので,おきがるにどうぞ!!

id:t_yanohttp://d.hatena.ne.jp/t_yano/20100105/1262668611
id:warufuzaketaichihttp://d.hatena.ne.jp/warufuzaketaichi/20091226/1261833543

日時

2010/3/20, 2010/3/21, 2010/3/22の2泊3日


場所

熱海/来宮 芳泉閣

貸し切りです

すでに予約済み


費用

2万円です.

余った金額は PySpa と協力して旅館の設備(LAN環境など)にまわします.

実際に第一回はどうだったのか?

Java 書かなきゃいけないとかの縛りもないので,みんな好き勝手に書いています.

また,ボドゲとかが大好きすぎる人間が数人いるので,大ボドゲ大会が開かれたりもしました.

お酒が入るのを少し心配していたのですが,そもそもその場で寝ちゃってもいい会場なので,

何も問題無く終りました.


まとめ

という事で,是非申し込んでくだしあ><

http://java-ja.yoshiori.org/index.php?%E7%AC%AC%E6%8D%A8Q%E5%9B%9E%E7%AC%AC%E5%BC%90%E5%9B%9Ejava-ja%E6%B8%A9%E6%B3%89

2010年02月01日 10時51分 | Permalink | コメント | トラックバック

ドワンゴのパブリックイメージってどうなんだろうねーって

このまえ社内で話してました.

「汚ない格好でコンビニ袋さげて時間関係なく出社」なんて

2ch で書かれてたりしましたし,

「ふざけてる」,「遊んでる」,「破滅」とかまぁ,そんな感じかなぁと……


で,まぁ,大体あってます.

あってるし,否定しないし,しかも,

そう思われてるのを寧ろカッコイイと思ってしまう

駄目男気な人の集りなのです.


ただ,まぁ,本当にふざけて遊んで破滅してるだけだと何も出来ないので,

実際の開発がどんな感じで進んでるのかをちょっと発表してみようと思います.

(僕は裏方の開発なのですが,サービス側の開発の話しも入れる予定)

三周遅れのXP -僕とドワンゴのXP-


そもそものはじまり

「java-ja 第1回チキチキ 地方巡業withひがやすを飲み会in富山」で発表した時に,

id:t-wada からこんなブコメを頂きました.

良い発表でした! 資料もすばらしい。ドワンゴでの試みをぜひ他所でも今後聞きたいなと思いました。私は転ぶメタファを優先するから三本柱というけど、三種の神器の方が語呂としてはカッコいいな。

http://b.hatena.ne.jp/t-wada/20090408#bookmark-12852198

このころから漠然と「あぁ,さらにプロジェクトが進んだら続きを話したいなぁ」と

思っていました.


で,次にJJUG で「15分で0からCIまで用意してTDD開発」というのをやりました.

(これはライブコーディングだったので資料ありません><)


今回の発表が集大成的な感じになるんじゃないかなぁと思っています.

TDD,CI と開発手法的なものが続きましたが,今回はそれにプラスして

タスク管理と見積りの話しをしようと思っています.


タイトル

「三周遅れ」について

遅れって書いてるとネガティブなイメージとか卑屈っぽいイメージで取られてしまうかもしれませんが,そんなつもりは毛頭ありません!!

  • ケント・ベックとかが提唱し
  • それに乗って日本でも先駆者が出て
  • そして僕達が加速する!!

という感じです.

方向を示し(一周目),道を通す(二周目)の人たちがいたからこそ

高速道路の設置が三周目で出来る事を伝えられればいいなぁという

前向きどころか前のめりな三週目です.


方向を示し,道を通してきた人達がいるからこそ,アクセル限界まで踏み込める今の環境と,さらなる高速化のための高速道路の設備的な発表です.


「XP」について

で,XP なんですが,正直僕がプログラマになったころはプログラムの文法やらアルゴリズムを覚えたり考えたりするのが精一杯で,XP とか アジャイルとかは

「何言ってるの??」的なスタンスでした.

ちょっと胡散臭い宗教的な目でも見てました.

でも,実際にやってみると,そうじゃない,例えそうであっても,その宗教の崇める神はコードであり,そこから生まれるソフトウェアであり,さらにそこから生まれる価値なんだという事がわかりました.

なので,逆に昔の僕みたいな考えの人にも是非聞いてもらいたい感じです.


タスク管理と見積りについて

なんか気がつけばサブチームのリーダになっていたので,今まで苦手で逃げてきていた,タスク管理や見積りもしなくてはいけなくなりました.

覚えなくてはいけないのでスキルとして身に付けるために,社内で有志を募って

「アジャイルな見積りと計画づくり」の読書会を開いて勉強しつつ,タスク管理や見積りをしました.


やっていくうちに感じた

「お,これってパフォーマンスチューニングなんじゃね?」

とかも含めてどうやってタスク管理しているのか,見積りしているのかを発表したいと思っています.


まとめ

(今のところ)特に箝口令とかないので,話せるギリギリまで話すつもりです.

成功の部分だけでなく実際にやって失敗したところとかも含めて話しますので

是非,聞きにきてください!!><

2010年2月19日(金)の 13:10〜14:00 ,B(夢扇)で話します!!

http://codezine.jp/devsumi/2010/

2010年01月27日 14時38分 | Permalink | コメント | トラックバック

@yoshiori はじめましてこんにちは。LinkedListのsize()とArrayListのsize()は、Linkedの方がパフォーマンスが悪い、という認識は合っていますでしょうか?

http://twitter.com/bar_row/statuses/7984257052

多分,このへんを読んでの感想なんだと思うんだけど

http://yoshiori.org/blog/2006/12/javaiterator.php

size() に関してはパフォーマンスはまったく変りませぬ.

実装もどちらも

   /**
     * Returns the number of elements in this list.
     *
     * @return the number of elements in this list
     */
    public int size() {
	return size;
    }

です.

List#add などでサイズを変更して,

キャッシュしてるサイズの値を返しているだけなのでコストは変りません.


あ、あと、はじめまして!! こんにちは!!

2010年01月21日 12時07分 | Permalink | コメント | トラックバック

foursquare はじめますた!!

で,折角初めたので友達いっぱいにしたいので

下記で検索です!!!

http://foursquare.com/import/twitter

僕は友達が少ないので心配したのですが,「dankogai」って検索したら

いっぱい出てきました!!

わーい!!

で,ボタンを押すだけの簡単なお仕事が嫌なのでブックマークレット作りました.

javascript:(function(){$('img[alt=add],img[alt=accept]').click()})();

ブラウザのアドレスバーに貼りつけても動きます!!!

あと,友達申請してくる人がいっぱいいた時も上記ブックマークレットで承認できます!!


というわけで,僕とも友達になってください><

http://foursquare.com/user/yoshiori

元ネタ

foursquare の /manage_friends ページで javascript:$('img[alt=accept]').click() を実行で、全 accept 出来て楽ちん

http://twitter.com/amachang/status/7939074036
2010年01月19日 22時02分 | Permalink | コメント | トラックバック
Powered by はてな



Vox

根強い愛好家がいるフィルムカメラ。フィルムカメラを使った事はありますか?また、フィルムカメラのイメージを教えてください。 「写るんです」→「デジカメ」の世代なので微妙です。 レンズ付きフィルムをフィルムカメラに含めれば使ったことあります。

Read and post comments | Send to a friend

20080512222859.jpg

テーブルの写真を見せてください。 会社の机

Read and post comments | Send to a friend

Powered by Vox

日記

--日記とは人々が言ひたい放題の事を書連ね、無駄な駄文を残して行く行為の総称である。
なおウェブ日記の場合、検索頁からやつと辿り着いた頁がウェブ日記であつた為に、餘計な内容を読まされる事があり、更に目的の項目に辿り着いたかと思つたら期待を裏切る内容だつたりして、結局無駄骨を折る結果を招く。 --

2009年3月10日

test

foo

続きを読む "test" »

テスト

テスト

続きを読む "テスト" »

テスト

テスト

2009年2月 6日

デブサミですよ!!「なんぞwww」の説明 日記

コンテンツ委員なしんちゃんに
「なんぞwww」と微妙なコメントでお勧め(?)いただいていますが,
デブサミで「【13-A-6】ひよこクラブ ver.Engineer」やります!!

続きを読む "デブサミですよ!!「なんぞwww」の説明" »

2009年1月30日

僕の足長オジサン達 日記

R0010780.JPG
年始に bose... の人とかを呼んで子供含めて8人くらいで
ゲーム&鍋パーティーをしました.
その時に bose... さんの子供が Xbox360 のバーンアウトに
すごく楽しんでいました.

で,なんと次の日に Xbox360 ごと買ってしまったみたいです.
お年玉パワーすげぇ!!!

なんかついでに bose... もはまってたようで……
「xxx ってゲーム買っちゃった!!」
「xxx って面白いの!?」
と言い出すしまつ……
まぁ,ここまではありそうな話なのですが……

続きを読む "僕の足長オジサン達" »

<<前のエントリへ

プロフィールらしきもの

birthday

肉がダイスキで
仕事したり、本読んだり
ゲームしたり、映画みたり
自由気ままに生きています。
とりあえず最近はiPodが手放せない。
楽しく生きるために日々努力中♪

元々blog書いてたけど
周りでblogの引っ越しが流行っていたので
自分も引っ越そうと決意。
30分後、めんどくさくなったので
blogはそのまま続け、
日記を新たに書くことに。
blogはRSSで引っ張ってきているが
両方続けられるかどうかは本人も不安。

contact me

mail
My status

find alive.

アーカイブ

最近のコメント

最近のトラックバック

mobile

QR_Code

banner_mt4i_01

RSSフィード

  • Subscribe with livedoor Reader
  • Subscribe in Bloglines
  • はてなRSS
  • Add to Google
  • feedpath

あわせて読みたい

あわせて読みたい