「トリッキー」を含む日記 RSS

はてなキーワード: トリッキーとは

2012-01-20

まりが0になる場合だけ、商を一つ減らし、あまりを26と考える理由

ちょっと古いエントリーだけれど。

http://d.hatena.ne.jp/JunichiIto/20111231/1325311566

0をA, 1をB, 2をC, ..., 25をZにすれば、そんなトリッキーなことしなくても良いと思う。

はっきり言っちゃうと、「問題作った人の答案がこんなんで良いの?」って思ってしまうんだ。

教えてエロい人。

2011-09-18

Going Going Home

ハマちゃんTKの15年くらい前の曲、モトカノが好きだったんだ。

カラオケ行くと勝手に選曲されて毎回一緒に歌ってたわ。

  

  

俺30モトカノ35。

6年付き合って、その内の3年間は一緒に暮らして、その内の2年間は俺が欝でヒモになってて。

付き合った当初、25にもなってもまともな社会人ではなかった俺をここまで導いてくれた。

付き合って2年後くらいに欝になった時に一緒に住んでくれて支えてくれた。

そんな彼女と1ヶ月前に別れてしまった。

別れてしまったんではなく俺からフってしまった、つらい。

もうあんな彼女とは一生付き合えないんじゃないか

俺のことを大切に思ってくれる女性はもう他にはうちの母やんと婆やんくらいしかいなんじゃないか

それも分かってたけどフってしまった、更に上を見てしまった、欲が出てしまった。

恋人として見てほしかった、結婚したいと一緒に思ってほしかった。

ヒモ時代に払ってくれたお金を返した時に、

もうお金は返してくれたんだからヒモ時代はなかったことにしよう、とか言ってほしくなかった。

近くにかわいそうな人がいたから助けたと言ったけどそれが嫌だった。

そんなに気にするな、ということを言いたかったんだと思うが、

俺にとっては「恩を受けたからその金額を返して終わり」じゃないんだ。

これでチャラになったとかそういうのじゃないんだ。

今度は一緒にお金貯めて住みやすいところに引っ越したかった。

俺はずっと今のままは嫌だった、次に行きたかった。

ステップアップかどうかはわからないけど、引越しなり結婚なり今までより大きな決断を一緒にしたかった。

いや、別に結婚引越しもしなくても良い、ただ、あなた人生に俺がいるんじゃなくあなたと俺の二人で一緒の人生を歩みたかったんだ。

それは確かにリスクかもしれないし、それの定量的意味価値はわからないんだけど、

あなたとだけは理屈抜きでそうしたかった、俺にとってあなたは唯一理屈抜きに一緒に考えたい相手だった。

  

  

更に言い訳する。

俺の欝は甘えだった、4年前の当時あなたはいつも甘えじゃなくこれは病気だと言っていたが、俺の欝は甘えだ。

診断書も出されて薬も飲んでたけどアレは欝じゃない、病気じゃなかったんだ。

確かに当時の職場ブラック企業だったかもしれん、でも全ては俺の甘い性格が招いたことだ。

そして、そんな俺をあなたが隣で叱咤激励してくれたから、俺はまともになれた。

あなたのおかげで何も考えずにダラダラと生きていては駄目だと分かったんだ。

あなたと別れずに一緒に無双したりHAGEX話で盛り上がったりしながらとりあえず付き合っていくことも出来たけど、

考えて考えてクリティカル決断をしていくことで俺はまともになれたんだから、今になってまた決断をせずにいることは出来ない。

俺にとってそれは昔への逆戻りなんだ、仕事はしてるし給料も月40近くまで増えて貯金もできたけど精神的にはまた元に戻ってしまう。

それが怖いんだ、すごく怖いんだ、元に戻るのがすごく怖いんだ。

もうあなたに迷惑かけたくなかったんだ。

  

  

別れてから一度夢に出てきたよ、あなたには彼氏が出来てた。

彼は真面目そうで誠実そうで朴訥としていて、俺とは違って全くトリッキーではなかった。

すごい悲しかったけどホッとした、幸せそうでホッとした。

35の女子を、とても世話になった女子をフッた罪悪感から逃れたかたから見た夢かもしれない。

でも、でも幸せになってほしい、あなたのことだからやっぱり彼氏はいらないと思ってるかもしれない。

とにかく、どんな形でも良いか幸せになってほしい。

  

  

たまたまGoing Going Homeを聞いて色々と思い出した。

この1ヶ月間、胸に溜めてたものを出したよ。

もう勝手に選曲されることも一緒に歌うこともないけど、、、

もうないけど、ないけど、ないんだけど、、、がんばるよ。

2010-08-15

http://anond.hatelabo.jp/20100815180817

いや、仕事の時にトリッキーな読みにくいコード書いていたら、そっちのほうをDisるがなwww仕事趣味じゃないって。

なにかというと、逆に、趣味で、増田に平凡なコード書いても仕方ないじゃん。増田に書くならトリッキーにだよ。

なんつーか、そこが、アレなんだけどね。仕事向けのコードってBlogとか増田向けじゃないから、結局、一般的には使わない変なコードばかりがWebでは目立つんだよね。アレだね。

2010-07-27

可読性が悪いにもほどがある・・・と思った1関数

http://blog.livedoor.jp/dankogai/archives/51490675.html

inline U64 powmod(U64 base, U64 power, U64 mod){

return base >= UINT_MAX ? powmod_gmp(base, power, mod)

: power >= UINT_MAX ? powmod_gmp(base, power, mod)

: mod >= UINT_MAX ? powmod_gmp(base, power, mod)

: powmod_64(base, power, mod);

}

3項演算子を連打とか・・・

if(base  >= UINT_MAX){
 return powmod_gmp(base, power, mod);
}else if(base  >= UINT_MAX){
 return powmod_gmp(base, power, mod);
}else if(mod   >= UINT_MAX ){
 return powmod_gmp(base, power, mod)
}else{
 return powmod_64(base, power, mod);
}

って事で、要するに

if(base < UINT_MAX && power <  UINT_MAX && mod < UINT_MAX){
 return powmod_64(base, power, mod);
} else {
 return powmod_gmp(base, power, mod)
}

って事じゃないのか?実際Cは左辺優先評価で1つ目がFALSEの場合2つめ以後は評価されない(してはいけない)でelseにジャンプ だからif演算の回数だけなら等価

まぁ、確かに、パイプラインを考えればthen節とelse節は等価ではないので、データによって真ん中の書き方のほうが下より早いとか遅いという差はでるけど・・・

 

なくても、真ん中か、下の書き方でいいよなぁ。

まかり間違って

if(base >= UINT_MAX || base  >=  UINT_MAX || mod >= UINT_MAX){ 
 return powmod_gmp(base, power, mod)
}else{
 return powmod_64(base, power, mod);
}

と書いても、おそらく、コンパイラ先生がただしく最適化してくれればおなじになるだろう。正しく最適化しないと、コレは遅い可能性もあるが、そんなことはまず無いだろう。

 

いや?演算子が悪いとは言わないけど、チーム組んで初級の若いプログラマがこういうコードを読めるとは思わないし、読む必要があるとも思わないんだが・・・

ジェネリックに、みんなに分かりやすく。

トリッキーに書くのもいいけど、それは、速度かメモリかで恩恵が受けられる場合で、メリットがないなら、初心者でも読みやすく、メンテしやすくする。って間違ってるのかなぁ?

?連打の方が世の中読みやすいのか?

 

どうでもいいけど・・・UINT_MAX って、最大値+1じゃなくて、最大値だよなぁ・・・。確か>=の=の有り無し逆じゃね?

もっと、どうでもいいけど、mmレジスタとxmmレジスタmod演算ってクロック数違うんだっけ?だれか、教えて。ifでパイプライン崩すのとどっちがいいんだろう。

2010-06-19

初心者フェンサーに捧ぐ,高校2.5年間で培った俺のフェンシングのコツ

某県の某高校で,何年か前にフェンシング部に所属していた俺が,高校生活2.5年をかけて会得した技術を書いてみる。

というのも,あれからフェンシングに関わることなく過ごしてきたせいで,せっかく汗水流して会得した知識が,どんどん頭から消え去ってしまっているので,ひとまずここにまとめてみる。といっても別に大した成績もろくに残しちゃいないんだがね…。初心者とか現役フェンサーで初心者に毛の生えた程度の高校生が,ちょっと暇つぶしにでも読んでくれて,なおかつ参考にでもしてくれれば本望です。ちなみに,ルール改正前だから,振り込みとか,ばんばん使ってました。あと,用語は適当に使っていたので,細かいところは勘弁してくれ。ここではフルーレを主に解説して,オマケ程度にサーブルについても書いた。

フルーレ

ファントは2種類用意する

短い(速い)ファントと,長い(遅い),伸びのあるファントね。前者は相手の反撃が期待される時,もしくはコントアタックを予期した時など,わざと隙の小さいアタックをして相手の反撃を誘い,それから攻撃権を得て攻撃できるメリットがある。具体的にはピスト端に追い詰めての最初からコントルリポスト狙いのアタックなど。手数を用意した攻撃もこれの組み合わせがいいだろう。長いファントは隙が多すぎるので,あまり使わない方がいい。疲れるし。長いファントは,その伸びがメリットだが,初心者はただ遅くなりがちなことが多いからだ。闇雲に打つと疲労の原因になって自爆しちゃうから,相手より早く動けないうちは,相手を追い詰めて短いファントで仕留めよう。ただ,スピードが加算されてきたらこのファントは一発で仕留めるのに有効になる。振り込みと組み合わせてもいいし,ただ突くのもいい。オススメオクターブ。これはガチで,カルトなんぞいくなら最初からオクターブ狙いでいった方がいい。フェンシングは相手の意表をつけ,というのが俺の師匠の言った言葉。まあ問題はその攻撃範囲にたどり着くまでなんだが…。

何が言いたいかというと,初心者は短いファントを主軸にしつつ,長いスパンスピードのある長いファントをものにして,最後には使い分けようということ。

パラードは払うでなく,「叩く」

パラードはいつからか完全に払ってから攻撃するという習慣が身についてはいないだろうか?思い出して欲しい,攻撃権を得るためには,審判にわかるように相手の剣を払う動作(バッテ)をすればいいということを。相手の剣を音がするくらいの小さい力でちんと叩くだけでいいのだ。そのほうが隙も小さいし,動作も素早い。大きな振りがフェンシングでは致命的なのはお分かりと思う。あとパラードは攻撃が来てから,では遅いと思う。攻撃が来そうな時を把握して,来た瞬間に叩く位が調度いい。懐近くまで剣先が来てからでは遅いのだ。これからは来てから払うでなく,相手の攻撃に先行して攻撃権を取るように防御をして欲しい。ちなみにこの最小のパラードは時に振り込みの餌食となることがあるが,大きなパラードで防ぐのも,相手に付け入らせる隙を与えるようなものだ。これは後に書くコントルパラードで対処をするなどした方がいい。パラードで隙を作るな,である。

コントルパラードを通常防御に使う

大多数の人が使うデフォルトのパラードはカルトパラードだと思う。したがってカルトパラードに対するフェイクと,そこからのアタックがまず最初に練習されると思う。つまりいかにデフォルトとしてのカルトパラードを崩すか,に焦点がおかれることが多い。つまり,デフォルトのパラードをちょっと変えてやるだけで,相手のいつもの技が通じない,という状態にでき,大きなアドバンテージを得ることができる。そこでおすすめするのがコントルパラードである。時計回りに回すアレである。あってたかな?まあとにかく,コントルパラードで全て引っ掛ける,単純ながら大きな効果のある防御をしよう。円の大きさは意外と大きくても隙が小さいので,オクターブに来たアタックでさえ引っ掛けることができる。しかもそれが攻撃権取得に有効であるから,万能である。見た目はカチャカチャ汚くなるが,キレイな防御をしろなどというルールはどこにもない。海外選手を見てみればいい。

誰よりも早く逃げる

ここで話しているいくつかのテクニックは,相手と同等か,もしくはより早く動けることを前提としている。つまり相手のアタックを見極めて叩いたり,逃げながらコントアタックができたりするのは少なくともその瞬間は相手より早く動けることが必要なのだ。相手の突進を受けるにも,スピードを変えながらフェイクをするにはこちらには余裕がなければできないことだ。だから,よく足を鍛えることをおすすめする。

コントアタックを得意技にする

コントアタックは「逃げ」の行動として時にタブー的な指導を受けることがある。確かにフェンシングでは攻めの姿勢重要視されることが多い。しかし,相手の意表をつく,という俺の勧める戦法で言えばコントアタックは実に有効な攻撃の手段だ。それにコントアタックが得意であれば,相手の攻撃の抑止力ともなりうる。コントアタックはいくつか種類があるが,どれもコンスタントに使えるのがいい。まあそのシチュエーションに適したのがあるだろうが,同じ技は次は効かない,という心構えで繰り出そう。個人的におすすめなのは,相手が突進バカみたいなやつ(剣先を大きく外すなど,胴体ガラ空き君)に対して,突いてからすぐに引くやりかたである。名称は悪いけれどしらない。初心者だと,こういう追い詰め型に苦戦することがあると思うが,このコントルさえマスターしていれば怖くはない。特に日本ではコントアタックタブーな風潮から,相手の意表をうまくつく有効な技として活躍すると思う。概して初心者フェンシングでは変な攻撃パターンに苦戦しがちであるが,それぞれの攻撃法に対する,攻略法を学ぶことも大切である。柔軟な戦法も大事だが,こういう奴にはこの型のコントル,こういうヤツにはひたすら攻める,などお決まりの対処をするのも,下らない戦法に苦戦してぐずぐずするよりは何倍もいい。

フェイントアタックは「上→下」がやりやすい

つまり,カルトフェイントからオクターブ,シクストフェイント(振り込み)からセプティムへなど,上半身へのフェイントから下半身に深く突き込む戦術で,相手の意表をつくという点で有効である。下を突くのは必ずしも長いファントである必要はなく,フェイントをうまく使えば短いファントで十分に脇腹を突ける。ただ,攻撃後はすぐ戻るか,そのままもつれ込む形にするなど,失敗した時の対処も考えておくのがいい。ちなみにこのフェイントの回数は1回にとどめておくのが言いだろう。2回なんて器用なことできやしない。

ただで逃げない

先程解説した,相手の突進に対処するやり方である。あいてのプレパラーションにびびってただ下がれば,当然ピストの端に追い詰められ,仕留められるのがおちだ。なので,下がるときにも相手の剣をバッテする,ボディフェイントで相手をビビらせる,コントアタック(突き逃げ・ダッキングなど織りまぜて)をするなど,単純に逃げるのはお勧めできない。そこに戦術戦略があれば別であるが,下がって下がってリポスト,というのはあまりにも攻撃権がないターンで無力すぎる。ただ,相手のファントの伸びやスピードがある場合,相手の攻撃範囲に入らないように注意すべきだ。あえて入り,攻撃を誘うにしても,こちらの動きが相手より速い必要がある。下がってリポストなりしなきゃならないからね。だから,さきほど言ったように相手よりスピードの面で上回っている事が重要なのだ。

縦→横OR横→縦のアタック

これは攻撃の戦術で,プレパラーションフェイントの動きと,二番目のアタックの動きを変えることである。縦というのは,剣先を大きく動かすプレパラーションや,クーペフェイントのことであり,横はというのは剣先をくるくるとしたり,小さな動きのプレパラーションや,デガジェのフェイントのことである。この,異なる動きの組み合わせが相手の意表をつき,うまくアタックが決まることが多い。大きく動いてあまり見えなかった剣が急に小さなフェイントを繰り出す,もしくは頻繁な小さなフェイントをしていた剣先が急に姿を消す,というのはされる側にとっては嫌なものだ。この原則を覚えて,実践で試してみて欲しい。

2回下がって3回目でアタック

単純な技。ステップを使いながら攻め,ピスト端近くに追いつめたところで,相手に攻撃をするぞ!と二歩迫る仕草をして一歩下がるのを2回繰り返す。相手は2回目くらいでこないのか…?と思うので,3回目で攻撃をする。コツは2回のフェイントでは力を入れていかにも攻撃をする姿勢をつくり,3回目は急にスピードを落とすなりして,あきらかに戦意をなくしたフリをしつつ迫ることだ。そうすると3回目に相手は誘われて単純にアタックをすることがあり,そこに合わて突いてやるだけでいい。なぜなら攻撃権がこちら側にあるからである。

ファント→ルミーズ→フレッシュ

これも一つの技的なもの。ピストの端に追い詰める前にファントをうつ。あーあ届かなかった…的な感じでルミーズしつつ,そのままの姿勢フレッシュに持っていくと相手の意表を突ける。

気持ちで負けない

気持ちで勝った方が試合にも勝つ。お願いします!と声を出し,相手の目を真っ直ぐに見る。

もち手はドイツのアレ

個人的にはビスコンチがオススメ。振り込みしやすいし,手首が自由に動く分接近戦で有利。


形を崩す

プレパラーションや,普段の姿勢は常に動くようにする。剣道より動きに幅のある分,相手に動きを読まれないように心がけたい。コツはステップをふみつつ剣先も揺らしておくこと。攻撃に入る瞬間をフェイントでごまかすようにするとよい。

トリッキーに振舞う

これまでちょこちょこ解説してきた意表をつくこと。つまりトリッキーな動きや戦略を積極的に用いよう。フェンシングはリポストやファントを100回練習したところで試合に勝ち進めるとは限らない。それよりもルールを熟知し,技を考え出し,トリッキーに振舞う,頭を使う方が有効なことが多い。特に高校生から始めたフェンサーは技術的に経験者より劣るところが大きいので,人がやらないようなことを積極的にとりいれつつ,相手と同じ土俵で戦わない戦法をするのがいいと思う。ファントの速いやつにファントで挑んでも負けるのがオチなのは明白だよね。あと相手にあわせて戦法を変えるのも重要リーチの長い相手に遠くからちょこちょこやってもうまくいかないだろう。特に背の高い相手に対しては剣先をいつもより高めにして上をカバーし,ステップを多めに使って懐に飛び込むのが有効だったと思う。

試合経験を積む

いくら形の練習をしたりルール勉強をしたところで,実際に試合で勝たなければ意味がない。古来の剣術においても,試合で使われる複雑な技よりも,単純で気迫のある攻撃のほうが意外と有効であったりしたらしい。技に溺れず,本当に役に立つ技を磨き,試合で十分に扱えるようにならなければ意味がない。あと本番では練習の8割とかそれくらいの実力しか出せないなどと言われるが,そのギャップを埋めるためにも練習試合はどんどんやるべきである。試合でしか分からないこともあるだろうし,試合の中で編み出される技術というものもある。試合においては練習でしたこと以上の挑戦は控えるべきという人もいるが,本番試合は最も経験値を稼げるいい機会だ。余裕があるなら色々試してみるのもいいだろう。

サーブル

突く

サーブルはやったけど,特に活躍できなかったので一つだけ。サーブルは「切れる」競技だけど,実際突く方が早いので,手首とか顔面を突くのが相手の意表をついて良いだろう。

2010-01-28

再利用しやすいコード

書こうね、って言ってたのはどこのどいつだよ…

1: 全然コード規約に従ってない -- ok 100歩譲って、規約口約束だからまぁそこまで気にするな、ということを認めても、だ。script/***/foo.js は .apply を使うスタイルじゃなかったの…?

2: open/close principle に全然沿ってない。これ、どうやって拡張するの?押し付けてきたこのコードだと、僕の問題は全然解決できないんですが…

ライブラリと呼ぶからには、

a) めんどくさいことは全部透過的に解決

b) インターフェイスは極力簡単に

c) トリッキーなことはオプションで触れるように

するだろ普通。このスタイルだと、めんどくさいことは全部個別にラッパーを書いて解決しなきゃだめじゃん…

2009-06-18

http://anond.hatelabo.jp/20071103150024

意味がわからんね。


誰もトリッキーコードコードゴルフが絶対悪い滅すべきなんて言ってないし、

「遊び」や「芸」としてはそれなりにやられてるのを知らないのか。

そういうので競うためのサイトがあったり、

LLのイベントで公式にコードゴルフの解説がされたり、

わざと難解に書いたコードネタプレゼンやって賞賛されてたりするのに。

本当にそういう価値観に憧れてるんならそのくらい調べてきなよ。


てか、「可読性が高いコード」が賞賛されるのは「成果物としての」コードに関しての話だろ。

プログラムを書くこと」ではなくて「プログラムを書いて何かを作り出すこと」を目的とした場合の価値基準だろ。

それに異を唱えたら「アホか現場の苦労を知れ」って言われるのは当然で、

それに対して「現場のことなんか一切興味がない」って返しは筋違いだろ。


あとね、「可読性の高いコード」を「愚直」とか言うのって、

「写実的な絵画など面白くもなんともない、ピカソを見ろ!あれこそが芸術だ!」って言ってるような感じがする。

ピカソ絵すげー上手いし写実的な絵も書けてこそのあの絵なんだけどなぁ、それで芸術語っちゃうんだ、みたいな。


最後に言っておくけど「トリッキーコード」と「スパゲティコード」は別物な。

「何故君たちは街中にゴミを撒くのを止めてしまったんだ!ゴミに復権を!」

「なにをふざけたことを言ってるんだ。誰が掃除してると思ってんだよ。」

「いや、僕が言ってるのは街を美しく飾る、利用価値のある、素敵なゴミの話であってですね…」

「それはゴミじゃねーだろ。」

みたいな話に見えた。スパゲティーはスパゲティーなんだよ、ただのゴミ

2009-04-20

最近はてなハイクの一幕

などとタイトルをつけてはいますが、どんなことが起こっているのかを説明するつもりはさらさらありません。あしからず。以下のお題に投稿するには余りに長くなったので、勝手ですがこちらを借りました。

漢字はいらない!でひとこと - はてなハイク

http://h.hatena.ne.jp/keyword/%E6%BC%A2%E5%AD%97%E3%81%AF%E3%81%84%E3%82%89%E3%81%AA%E3%81%84%EF%BC%81

上のようなお題がハイク内で立てられ、ちょっと盛り上がったので、以下、全力で釣られてみます。


漢字使用によるデメリット

既にいくつか指摘のあるとおり、表意文字としての漢字日本語から引き算して表音文字としてのひらがな/カタカナへ統一することは、朝鮮半島でのハングル使用が少なくない同音異義語を産出し混乱を招いている現況と同様の事態を引き起こすだろうマイナスの側面がある。


弱者とは誰のことなのか

漢字使用によって抑圧される弱者として日本語母語としない外国人を想定するのなら、その弱者の補助ツールとして各種翻訳サービスを挙げることができようが、ひらがな/カタカナのみで表記された文章の翻訳は、日本語において多量に存在する、しかし漢字による表記で区別可能な同音異義語を、前後の文脈から判断して行わなければならなくなる事態を引き起こす。現在の提供されている無償の翻訳サービスですらまともなものではないのに、余計に使えないものになるだろう。

弱者として視覚障害者を想定するのであれば、視覚障害者と晴眼者の差異、視覚障害者能力が障害と見做される由縁は、「読む」ことと「聞く」ことにおける「読む」ことの利便性に他ならない。ここで、書記言語から口語言語の優位性を説くのであれば、文字を拒否するという極端な姿勢もあり得ようが、一方では、漢字使用をやめたところで、「読む」ことと「聞く」ことの差異が縮まるというものではないことも容易にわかる。漢字の不使用に「わかちがき」の使用を追加したところで事態は変わらない。ところで、書記言語から口語言語の優位性が説かれるときに、今度は聴覚障害者や構音障害者が抑圧されているかのようにみえるのは、一体どういうことだろうか。

あるいは、単に漢字の読みがわからない、また付随して意味がわからない者を弱者として想定するならば、キッズgooなどの検索先ページへの仮名振り機能は強力なツールとして既に存在しているし、オンライン辞書ツールなどの使用による「学習啓蒙」がなされて穏当、かつ然るべきではないか。

また、補助ツールを用いずに弱者への配慮をhtml/xml記述されたページ内で完結させることを考えるならば(大体、html/xml記述されたページがメディア媒介なのだが)、例えばhtml/xmlruby関連タグを備えているが、投稿においてタグ使用できないはてなハイク仕様が抑圧的だという見方もあり得よう。しかしながら、これは視点を変えれば、タグ使用することができない弱者への配慮でもあることは付記しておくべきだろう。

それどころか、ruby関連タグxml1.1でようやく認められるに至ったのであり、この点でいえば現状のhtml/xmlが抑圧的であるという判断すらあり得よう。引き算の態度を貫徹するのであれば、漢字を拒否する前に、はてなハイクでの、いや、ネット上の書き込みを拒否する態度というのも、ひとつ考えられよう。あるいは、html/xmlにおける扱いについて問題の多い日本語使用をやめて、問題の少ないラテン系言語使用に踏み切るという態度もあり得よう。


弱者とまた別の弱者

話は変わるが、歩道に敷かれている視覚障害者用の点字ブロックがいかに妥協の産物であるか、病院等の公共施設採用されるユニバーサルデザインがいかに試行錯誤の、過渡の形象であるか、ということに目をやるのが良い。そこに横たわる根幹的問題のひとつは、弱者とまた別の弱者の利害不一致である。漢字の排除が同音異義語の混乱を招くという形式は、弱者とまた別の弱者の差異を捨象するという形式と相同的なのである。これは、弱者とまた別の弱者の双方に潜在する、共通する性質を汲み取り問題解決へ向かわんとする繊細な作業――それは、不十分とは言え、点字ブロックユニバーサルデザインを産み出す過程で行われている作業である――とは全く相反した暴力的行為に他ならない。ユニバーサルデザインが足し算の思考であるとは、確かに足し算の部分も引き算の部分もあるだろう。しかし、足し算と引き算しかできない小学一年生であれば、最小公倍数と最大公約数の思考の部分についてわからないのも無理はない。

見え隠れする幼稚なユートピア幻想

さらに、より根本的には、スピヴァク古典サバルタンは語ることができるか』で指摘したのは、サティー寡婦殉死)の実行者を被抑圧者としてカテゴライズすることだったが、スピヴァクはそれを決して否定したり退けたりなどしていない。外部の視点を持ちこんで、ある彼/彼女を被抑圧者として規定すること、これこそが抑圧以外の何物でもないが、しかしこの規定によって被抑圧者を被抑圧者と認識し、被抑圧者たる彼/彼女に語りかけることが、彼/彼女の身になって考えることができる。抑圧なしのユートピアなど幻想である。抑圧なしのユートピアがお好みならば、まずもって「私」という拭い切れない自己同一性を捨て去ってみればよい。想像はできる。「お前」と同定されることのない、「私」を「私」と呼ぶことのできない、抑圧なしのユートピアがそこに拡がっているだろう。まさに、「サバルタンは語ることができない」。かつてフーコーが打ち出した『魂は身体の牢獄である』という、一見したところトリッキーテーゼに込められていたかもしれない苛立たしさには、同意するに吝かではない。この種の原初的抑圧の暴力性には敏感であるべきだし、しかし、しばし躊躇いながらも、この暴力から笑いを産み出す昇華の方法を探るべきなのである。この昇華幻想ではない。理不尽に突き付けられた、尽きることのない、終わりのない、仕事だからだ。

終わりに

僕が何を言いたいのかというと、お題ができたら全力で釣られて、あーでもないこーでもないと盛り上がり、次第に飽きては、パロディ化して派生した別のお題で盛り上がり――そんな楽しいところがはてなハイクです。

――落ち込むこともあるけれど、私は元気です――

2009-01-02

[]はてな大学社会科学部学科)

まだ志望校が決まっていない受験生にすごい情報をやる。


妄言学部よそ行きキャンパス

はてなブックマーク - ブックマークで妄想をよそ行きに。

id:chnpk教授

偏差値 59

科目 社会学政治学経済学

資本主義について勉強できる。

政策関連も少々勉強する。

学生は、ファーストネームがチュンプク○○になる。 

非コミュ学部非モテキャンパス

E.L.H. Electric Lover Hinagiku

id:y_arim教授

偏差値 63

科目 コミュニケーションデザイン政治学

東大卒はてなを代表するカリスマ教授

人が傷つく事とはどういうことなのかを学ばされる。

毎週、非コミュ非モテを救う方法をレポート10枚分提出しなければならない。

猫にゃん学部地下室キャンパス

地下生活者の手遊び

id:tikani_nemuru_M教授

偏差値 75 

科目 政治学歴史学社会学

語尾が「にゃー」で統一された教科書を使って勉強する。

近代思想は必修科目で、これを受けていないと講義の内容がわからない。

犬派は基本的に入学できない。

入試面接試験一本勝負で、猫の魅力について40分間喋り続けなければならない。


歴史学部過ぎ去ったキャンパス

過ぎ去ろうとしない過去

id:hokusyu教授

偏差値 77

科目 歴史学政治学哲学

歴史修正主義賛否両論」という有名なゼミがある。

はてなを代表する歴史学偉人

歴史学卒論は必修。

歴史学の文献が難読で厳しいキャンパスライフになるが

人生を通じて役に立つ知識を持つことができる。

毒舌学部消毒キャンパス

消毒しましょ!

id:AntiSeptic教授

偏差値 44

科目 政治学経済学英文学

4年間を通じて毒舌に耐える忍耐力を鍛えることができる。

他人を罵るためのコミュ力も高まる。

そして、表面的な罵倒用語に惑わされずに本質を見抜く眼を養うことができる。

卒業すると、「消毒液処理」という免許がもらえる。

狐学部フォックスキャンパス

狐の王国

id:KoshianX教授

偏差値 54

科目 プログラミング犯罪学、教育学

犯罪に対して若干センセーショナルな面もあるが、

制度や技術について、人に流されない姿勢を持ち続けることの

重要さを勉強することができる。


メディア学部魔道図書キャンパス

はっはっは

id:magician-of-posthuman教授

偏差値 73

科目 社会学文化人類学メディア論

ポスト○○」や「魔術」等のキーフレーズ釣りを書くこともあるが

基本的にその学術レベルトップクラス

ただし、分厚い長文の教科書は持ち歩くことができないくらい重たいので、

教室用と自宅用とで二つ以上は購入しておく必要がある。

怠けたはてブコメントを書くと退学処分になる。眉毛が太いと合格率が上がる。

雑草学部草原キャンパス

雑種路線でいこう

id:mkusunok教授

偏差値 75

科目 政治学経済学、制度

政治財政について、

コンスタントに安定した思考能力を養える。

はてなー学部越後キャンパス

ekken?

id:ekken教授

偏差値 63

科目 コミュニケーションメディアウェブ社会学

1学年は「無断リンク未来」が必修科目となる。

2学年に進級すると、「oredoco」という科目が必修になる。

3学年になると、「はてブの魅力」という科目が必修になる。

そのほか、はてブブログの使い方を勉強できる。

誰も思いつかない奇をてらったマッチョ論や、

逆転の発想など、トリッキーな発案ができるようになる。

応用すれば、どんなところでも役立つtips


アルファ学部アーティファクトキャンパス

ARTIFACT@ハテナ系

id:kanose教授

偏差値 64

科目 コミュニケーション戦争論、オタク文化

1年まではオタク文化論の基礎を学ぶ。

2年になると、揉め事の分析が主流になる。

3年になると、「アルファブロガー品格」が必修科目になる。

どちらもウェブについての重要考察になるので

ぜひとも受講しておきたい。

メンタル学部ヘルスキャンパス

xevraの日記

id:xevra教授

偏差値 34

科目 精神分析学、心理学コミュニケーション

全ての問題をメンヘラの問題として対処する実技を学ぶ。

ただし、メンヘラの問題としてしか対処できなくなるので、

その手の分野に就職する予定の学生を受け入れている。


インスパイア元→2009年に起こりそうなスーパーはてな対戦

2008-12-30

http://anond.hatelabo.jp/20081230163552

そ〓、だから、スキルの断絶を埋めれる様な規約は無理なんじゃないかね?と

再帰や多重継承を禁止の規約とか、トリッキーコード量産して欲しいんですか?って感じだし

それぞれ使うべきところがある

使うべきところで使うべきアルゴリズムコードを書くことを禁止する規約は守ったとしても

あんまり意味のある結果にならないと思う


で、高スキルな人のコードで読みにくいのは、使うべきじゃないところでも

無駄に面倒くさい書き方してる点が問題だとおもう

で、これをパラノイア的な書き方と書いたつもり

2008-04-17

でもすっごく合理的なコード見て

トリッキーだとか分かるわけねえとか言ってた奴もいるからな。。。

http://anond.hatelabo.jp/20080417132240

トリッキーソースコードコンテストとかあるよな。ああいうのは芸術じゃないかな。

仕事ソースは別に芸術的な方向にこらなくていいから普通に書いてくれ、ということなんじゃないか?

2007-11-10

関数プログラミングにおけるFizzBuzz問題

いくつか考えてみた

(問1)高階関数再帰関数を必ず使って数値を要素とするリストの要素の総和を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

(問2)二つの引数をとり二つのうち大きいほうを返す関数高階関数再帰関数をつかって数値のリストの最大値を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

というのは簡単すぎるか?簡単すぎるなら

(問3)高階関数再帰関数を必ず使ってある数値に5を足し、10かけて2で割った数を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

こっちの方がいいかな。でもトリッキーすぎる気もする。

一応問題を出したので、SchemePythonで自分で想定している答えを書いておいた。はてなではSchemeが人気のようなので、あまり知らなかったけど関数言語ではSchemeで書いておいた。Pythonで書くのはSchemeだけだとわかりにくいので、なにかスクリプト言語で書いておこうと思ったから。Rubyの方が人気なので、はじめはRubyで書こうと思ったけど挫折した。だれかRubyで書いてくれないかな・・・。コードオブジェクトってなによ。というか関数オブジェクトなのに引数にできないの?なんで?(以下疑問と愚痴の嵐なので略)Perlは古株が多くてユーザー数も多そうだけど、・・・その・・・無理です・・・。あの言語仕様はやる気がしない。ぶっちゃけ理解できない。Pythonを知らないひとは多そうだけど、知らなくてもSchemeよりは感じは掴めると思うのでPythonでも書いておくことにした。

Scheme

http://anond.hatelabo.jp/20071110215936

Python

http://anond.hatelabo.jp/20071110220132

これで大部分のひとがこの問題に興味をもたなくて解答するひとがいなくても、興味を持ったひとは安心だね!

追記:

問3で次のは無しとしておきたい。

Scheme

(define continuous-apply
    (lambda (lst obj)
        (cond
            ((null? lst)
                obj)
            (else
                (continuous-apply (cdr lst) ((car lst) obj))))))

(define plus5
    (lambda (num)
        (+ num 5)))

(define times10
    (lambda (num)
        (* num 10)))

(define divide2
    (lambda (num)
        (/ num 2)))

(define plus5-times10-divide2
    (lambda (num)
        (continuous-apply (list plus5 times10 divide2) num)))

(plus5-times10-divide2 2)

Python

def continuousApply(lst, obj):
    if lst:
        return continuousApply(lst[1:], lst[0](obj))
    else:
        return obj

def plus5(num):
    return num + 5

def times10(num):
    return num * 10

def divide2(num):
    return num / 2

def plus5_times10_divide2(num):
    return continuousApply([plus5, times10, divide2], 2)

plus5_times10_divide2(2)

2007-11-03

http://anond.hatelabo.jp/20071103150024

スパゲッティはうまかろうがまずかろうがスパゲッティなんだ。本来トリッキーコードこそ環境や状況が生み出した「やむなし」とされるべきものなんだよ。平易な表現に置き換えられるものを無意味にややこしくして楽しんでるのは"奥が深い症候群"の連中じゃないか?


プログラミングの楽しさはまず書いたものが動くことだろう。

スパゲッティに美しさはない。

読みやすさを追求して設計されたコードを読んで感動したことがないのならば残念なことだ。

http://anond.hatelabo.jp/20071103133112

難解だが愉快スパゲッティコード


こないだこんなのがあったんだぜ?

というような話題話しにはできても、愉快だったためしは一度もない。


助けてくれ!というどう考えても死亡フラグヘルプに駆けつけたことがある。

メーカー子会社だ。コードスタイルを見るに多分以前はコボルとかをやっていた連中だと思う。

コードを見てこれほど唖然としたことはない。

言語は…なんだったかな…時代的にaspだったような気がする。

コードを見て泣いた。functionのひとつもありはしない。

一晩の徹夜の後、3000行あったコードは300行になっていた。

難読すぎてスパゲッティーを解いた結果がこれだ。

何か機能を盛り込み忘れたのではないのかと目をゴシゴシした。

10人ぐらいをつっこんで数十の主要なコードを直した。

目をごしごしして2日間の貫徹だ。

成果物はなぜかボリュームが減っていた。

普段だったら絶対に許されない修正方法だが、

緊急に緊急を要したためコードを見てからの説得はかなり強引だった。

ただのスパゲティは修正するのがムリだと判断したからだ。

このプロジェクトを進行した連中無駄努力をただ恨みながら。


それ依頼、コードレビューを煩くするようになった。

自分のところのメンバーであんなコードを生み出されちゃ適わない。

他の協力会社にもずいぶん口うるさくいうようになった。

バグ出しで工数かけるまえにコードレビューだ。

君が苦労して実装しているところは既に**が**で実装している。

こういうだけで相当数工数が稼げた。

テクニカルな一行は分解されただの部品になった。

部品にしておけばみんながそれを利用できるからだ。


1人で組み上げるならいくらトリッキーでも構わない。

2人以上でやるならルールを作れ。

話しはそれからだ。

可読性の高いソースコードが良いコードとされるに至ったのは、一体いつ頃からであっただろうか……。

その結果、何が起こった?

難解だが愉快なスパゲッティコードは悪となった。呆然とさせられるあの遊び心に満ちたトリッキーコードは悪となった。感動コードゴルフもまた悪手とされた。

プログラミングとしての技巧的なものに取って代わって、より安易なコードを書くことが良いこととされるに至った。よりテクニカルな、たった一行にも知識と労力を要するコードよりも、誰にでも読めるようなコードが良いとされるに至った。

じゃあ、ぼくらプログラマを志すものは、一体何がしたかったんだ? ソフトウェアを作りたかった? 断じて否! あの考え抜かれたコードの中に美と情熱思想とを感じ取り、それに憧れたんだ。愚直なコードに誰が感動しよう、誰が憧れよう! 誰にでも作れるようなソフトウェアでも構わない、他の誰にも書けないようなあのコードを書いた人々と、そのコードに憧れたんだ。それを解読できる人々に憧れたんだ!

2007-09-21

実況が困りそうな野球スコア

http://anond.hatelabo.jp/20070921053307

2007-08-23

文系技術を語ってはいけない理由」の文系にもわかるような説明 -論理を覚えたばかりの大学二年生は論理が大好きだ、でもちょっと待て。帰納ってのは論理じゃないんだ。お前の論理演繹だろ。でも、証明には帰納が大事なんだ

文系技術を語ってはいけない理由

http://anond.hatelabo.jp/20070822131329

で、文系技術を語ってはいけない、ということを書いた。

そしたら、

論理ができない理系は文章を書くなby理系

http://anond.hatelabo.jp/20070822142115

というTBをもらった。

どうやら、無知は恥ずかしい、というタイトルにした方が良かったのかもしれない。



サブタイトルが暗に示すように、対話では論理的である必要は必ずしも無い。

その理由を示す。

  • 公理系がないと証明はできない
  • 公理系(何を正しいと信じるか)は人それぞれ違う
  • 他人の公理系を直接観測することはできない

しかしながら

  • 公理系は人それぞれ違うけれど、かなり似ている

だから、論理だけを使って何かを証明することができなくもない。


だけどもだっけどー、通常の対話では完全な証明を与える必用は無く

「説得」という形をとるのだ。

じゃあ、説得とはなんなのか?


人間は外部から情報を与えない場合には、「演繹」という論理ステップしか実行できない。

一方で外部から情報を与えると、「帰納」という論理ステップを実行することができるようになる。

ただし、この「帰納」というのは統計的な正しさしか保証しない。

しかしながら、人間が定理だと信じていることは、全て統計的な正しさしか持っていない。

運動方程式が100%真実だと言う人もいないだろう。


すると、ある情報を与えると、人間演繹帰納を使うことで、

各自が持つ定理系自動更新する。

これによって、件の命題の真が統計的に保証されれば、説得が終了したことになる。

つまり、本来は論理的である必要など無く、

外部からの情報を入れれば、あとは各自で演繹してくれればいいのだ。

もちろん、数学のようにピンポイントな仮定と、トリッキーかつ複雑な論理が必用な場合は別である。

だけれど、そんな複雑な論理構造が通常発生することはまずない。


説得が成功するかどうかは、各自の持つ公理系と、各自の持つ論理能力に依存する。

後者は、馬鹿を相手にする気がないので、私にはどうにもできないが、

前者に対してはわかりやすい説明をすることで、

説得力を増すことができる。

従って、これからはこの目的で、説明文を書くのでよろしく。


だけど、これから用事があるので

続きが読みたかったら、TBくださいね。

2007-06-15

俺が Ruby を覚えた方法

http://anond.hatelabo.jp/20070615171101

俺は大学四年まで全くきちんとしたプログラミングをやったことが無くて(大学講義Javaの超簡単なのを教わったぐらい)で、卒論プログラミングをしなくちゃならなくて、そのとき初めて Ruby を触った。

RubyOOP ですげーんだぜ、とか一部で云われていた時代で、有名なアプリケーションtDiary ぐらいしかなかった。はじめはクラスとかも解らずに何が何だか。そのとき tDiaryプラグインクラス使ってないから簡単に書けるよ、というどこかのチュートリアルをみて見よう見まねで。GD という画像ライブラリを使ったら、サンプルをちょっと弄るだけで画像が作れて面白かったんだ。で、それを日記で公開してみた。今見返すとものすごくしょぼいソース

そのときたまたま Ruby ハカーの方がそのプラグインリファクタリングしてくれて、クラスを使って抽象化してくれて、初めて OOP をほんの少しだけ理解して、こうやってクラスって使うんだなぁというのを知った。本当に運が良かった。

その後就職して仕事php ハカーのすごい先輩にいろいろ教えてもらって php を使って基本的な OOP は理解した(PHPDIS る人が多いけど、プログラミング初心者には良い言語だと今でも思ってる)。これまた運が良かった。

その後またまた Ruby を使い始めたら今までよくわからなかった部分もするする頭に入ってきてホント面白ろくて没頭して。今では一通りのことは Ruby でできるようになった。

プログラミングが解るなら、Railsソース(トリッキーなことやりまくってるのでつらいかも。ActiveRecordActiveSupport はその中でも解りやすい)を読んで、解らなかったら rubygems で興味のありそうなライブラリコード読んで、あたりが OOPRuby 覚えるには手っ取り早いかも。

今なら Rubyレシピブック 268の技Rubyクックブック ―エキスパートのための応用レシピ集 あたり読んでおけば良いんじゃないなぁ。

あと今はてダRuby を含む日記を書くともれなく ruby-dev な人たちがキーワードからたどって読んでくれるので、解らないことをつぶやいたりすると結構答えてくれるみたい。のではてダ使って勉強日記とか書くのも良いと思うよ。

とあんまり参考にならないと思うけど書いてみた。なんか目的見つけられて、楽しく覚えていけたら勝ちなんじゃないかな。たぶん。

2007-05-11

http://anond.hatelabo.jp/20070511034045

いくつか考えられるな

まず、if で書いた方が可読性が高い、という考え方。まあでも一行で書いてもすぐわかる以上はよっぽどのアホが入るかも知れないプロジェクトで考慮するようなことでしかなくて、まして短文合戦トリッキー合戦になってるこの話題においてこの理由を持ち出すのは微妙だな。

次に、Java では一行にまとめる慣例があまり無い、と考えているから。確かに Java の場合、簡単な内容であっても C のマクロほど頻繁には一行にまとめないと思う。そもそも C のマクロみたいに関数へのジャンプコストが無くなるという利点も無いしね。それでも if ぐらいは削ってもいいと思うが。

まあ元のコードが一行にまとまってないからそのままにしただけで、最後に C のマクロなら一行にするような内容だわな、と思って一文書き足して、コードは書き換えずそのまんま投稿、ってのが一番可能性高いとは思うけど。

2007-04-12

規約の人

こういうの書くのはお寒いかもだが、あれは半分ネタで半分本気です。増田は滅多に使わないけど、いろいろ意見が聞けて良い。それはともかく

あるあるw自動変数についてはどう名前付けても良いと思います(常識的な範囲で)。

はい。

自分は8タブです。誰がなんと言おうとw三項演算子は使いどころを間違えなければいいんだけどね。自分もJavaScriptを弄くり回していた頃、トリッキーコードを書きまくってました。

K&Rスタイルですね。

CやC++ではハンガリアン記法は有効だと思いますが、ゆとりプログラマですのでwPython自体はあまり好きじゃないけど、IronPythonはホントに面白い。

新しい行に中括弧を置かないというのは、秀丸アウトライン解析を利用するためでもあります。でないと正規表現が書けないので。

2007-03-23

http://anond.hatelabo.jp/20070323102101

彼女も熱心らしいし、たぶんその子もそれを望むのだろうし、別にいいんでない?

信者的には、せっかくランク上がれるチャンスなのに妻が寵愛を受けることを嫌がるっていうのは間違ってる……のだと思うよ。ユダヤ的には、せっかく美味しいのに親子丼(あっちの意味じゃないよ)食べれなくて、卵と肉と分離しなくちゃいけないみたいなものじゃない?

あ、でも、ユダヤさんでも一々原料まで調べる人もいれば、見えないものに関しては気にせずに外食してる人までいろいろだから、トリッキーな回避策思いつく人もいるかもね。親をすり替えるとか。

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:22件)