一通り weblogin.rb でも実装してみたけど、アイコンとプロフィールぐらいはかけるようにならないと使えない。

hmac_sha1 って何だよとか思った。他の実装をみながら以下のように実装 (拡張性皆無)。

def hmac_sha1(key, str)
key = Digest::SHA1.digest(key) if key.length > 64
key << "\0" * (64 - key.length)
ipad = "\x36" * 64
opad = "\x5C" * 64
(key.size - 1).times do |i|
ipad[i] ^= key[i]
opad[i] ^= key[i]
end
sha1 = Digest::SHA1.new
sha1.update(ipad)
sha1.update(str)
str = sha1.digest
sha1 = Digest::SHA1.new
sha1.update(opad)
sha1.update(str)
sha1.hexdigest
end
  1. トップ
  2. web
  3. JugemKey

なかなか実装できない。いろいろ考えすぎかなぁ。頭悪いからなぁ……


今日考えたメモ


人間から見た無脳の楽しさ

「人間」はつまらないが、「無脳」が面白いということ。なぜか?

  • コンピュータだから (硬いイメージと、バカバカしい発言とのギャップ)
  • ランダム性 (人間でいえば「天然」であること。また、「天然」に対して悪意がないこと)
  • 悪意のなさ。利害の排除 (人間が関わっていないことそれそのもの)
  • 人間の子供に似ている
  • 新しい視点の提供 (空気が読めない副作用)

知能のトップダウン開発ではなく、面白い「無脳」の開発

逆に、つまらないこと

  • 意味不明な発言 (そもそも理解できないことはつまらない。文法)
  • キャラクタの無さ
  • 文脈のなさ (ある程度は許容される)
  • 空気の読めなさ (発言数など)

意味不明な発言の徹底排除がまず重要

  1. トップ
  2. ai
  3. 人工無脳

get_video_youtube.user.js

普通に /watch のアクション部分に Save Video のリンクをつけるのと、/results の画面のビデオ一覧からも直接ダウンロードできるように。ポップアップ許可しないとだめ。

  1. トップ
  2. js
  3. Youtube get_video, GreaseMonkey
  1. トップ
  2. gm
  3. Youtube get_video, GreaseMonkey

だいたい、ドラマとか小説なんかで「誠実」な人間が主役で頑張っているっていうのは、すごく共感するもんだ。でも現実は違う、誠実な人はうまく腐りきった「普通」に溶け込めず、周りはそれを悪意をもって笑う。(まぁ本当に完全に誠実な人なんて現実で見たことないけどね。)

この二つ何が違うってたぶん距離なんだ。ドラマとか小説っていうのはすごく遠くて傍観者としてそこに自分を重ねられる。でも現実として、そういう人が目の前にいても、自分はそれに向かい合っているいわば出演者で、しかも「脇役」になってしまう。だからその人に自分を重ねられないし、むしろ無意識に嫉妬したりして悪意を向ける。(実際はその時点で「脇役」にもなることができない存在であることを分からないことが多い)

普通の人は他人が共感できるような見かけの誠実さと、本音の悪意を同時に持っていて、使い分けている (それが悪いわけじゃない。程度の問題なんだ)。誰かがいなくなっていきなり饒舌になって悪意を出し始める人、そういう人たち。それが普通だから、そうしないとうまく生きていけない。でもたぶんその見かけの誠実さの中で何か感じてそういうモノガタリに共感するんだろうけど。

その上で、よくわからないことがいくつかある。なんでドラマとか小説なんかで、そういう誠実さが報われるストーリーが多いのか。つまりおそらく「望まれている世界」がそういうものにも関わらず、なぜ現実はそうじゃないのか。モノガタリのヒーローはできるだけ全ての人を救おうとするのに、なんで現実では誰かを蹴落としてヒーローになろうとするのか。

ずっと昔からこういう (こういう?) 悪意ドリブンなシステムがこの世界で動いているからには、おそらくそうなるのが自然だった、ということなのだろうけど、その自然さってどっからくるんだろうって思う。どっかで変えられなかったんだろうか。これから変わっていくだろうか。何千年たっても変わらない気がする。むしろ今より悪意に満ちるんじゃないかとか漠然と思う。


というか、モノガタリでも未だに「俺が一番になる」とか「屈辱を晴らす」みたいな悪意ドリブンでネガティブな動機なのも腐るほどあるから、あーというか、そういうののほうが多いのかもしれない。っていうが多いのかな。多いからこんなシステムなのかな。いや逆だけど

  1. トップ
  2. life
  3. 誠実さが報われない世界
  1. トップ
  2. thinking
  3. 誠実さが報われない世界

hatena-textarea-scroll.user.js

はてなの編集画面を開くたびにいちいち下までスクロールするのが面倒くさいので作った。ついでに編集画面開いたらキャレット位置を最後にしてフォーカスさせるようにした。すぐ書ける。編集しやすい。

Ajax でインラインエディットできたらいいんだけど

過去のページでもいけるように @include を書き換えました。

  1. トップ
  2. gm
  3. はてダの編集テキストボックスを自動スクロールさせる GM
  1. トップ
  2. js
  3. はてダの編集テキストボックスを自動スクロールさせる GM

hatena-newest-top.user.js

*t* 記法で書かれた日記やらブログを、新しい順にソートしなおします。

殆どテストしてない。*t* 記法使ってない場合どうなるかは知らない。

  • footnote (((..)) 記法) が上にきます。ひたすら appendChild しかしてないせいです。解決法:別によくね?

今時 *t* とか書かねぇよプププ らしいです! 編集設定の「見出しの時刻」を「保存する」にすると勝手に保存してくれるらしい。知らなかった><

このぐらいのスクリプトで30分かかってます。10分で開発とか普通に無理です。

ハッシュ指定で飛んでくると見失うので自動スクロールさせるよう修正した。

  1. トップ
  2. gm
  3. はてダの表示順を常に新しい順にする GM
  1. トップ
  2. js
  3. はてダの表示順を常に新しい順にする GM

hatena-kill-seemore.user.js

「続きを読む」を展開して表示します。それだけです。完成度が低いです。複数の「続きを読む」が一日の中 (日記モード) にあるとまざります。

  • 「続きを読む」のリンク先ページに複数の展開された「続きを読む」部分 (a@name="seemore")があるとまざります。解決法:わからない。

このスクリプトも30分ぐらい。どうすればいいか微妙に悩んだ。


一つ前 とこれはのりさんのアイデアです。

諸事情により XMLHttpRequest 版も作りました。機能も何も変わりません。XPath は使えるけど GM_xmlhttpRequest は使えないという特異な環境ではこちらが動くはず。hatena-kill-seemore-XHR.user.js

GM_xmlhttpRequest のほうが名前以外はいいなぁ。

ブログモードかつその日の最後のセクションの場合余計な展開をしていたので修正

  1. トップ
  2. gm
  3. はてダの「続きを読む」を展開する GM
  1. トップ
  2. js
  3. はてダの「続きを読む」を展開する GM

  1. 学校の階段2
  2. 青葉くんとウチュウ★ジン3
  3. 学校を出よう! Escape from The School
  4. 学校を出よう!2 I-My-Me

学校の階段はどういう方向に進めたいのかが謎い。ウチュウジンはあとがきが面白かった (謎)

学校を出よう!って主人公が変わるんだね。2のほうが面白かった。というか時間ネタが好きなだけな気もする。いやでも実際面白かったのは時間ネタというより

あと4冊

  1. トップ
  2. book
  3. ラノベいろいろ

教室に女の子がいて、俺の右の腕に腕が少し触れるぐらいの距離でなんかの作業をしてたんだけど、すごい熱くて、風邪でもひいてるの?って訊いたら38.8度 (38.9 だったかも 39.8だ) とかいうから、さっさと帰って寝ろよっていうんだけど、強がって帰らなくて、でも結局おれて帰ることになって、電車の中で機嫌だか調子が悪そうな顔をしてふらふらしてた。

っていうかクラスメイトに年齢的にありえない人 (アルファギーク (笑)) とかがでてきてあせる。ちょっと予定があったのを上の件で無理にキャンセルしようとして、謝りまくったけど笑っていいよっていってくれた。

いやおかしいから!って起きた後思った。寝てる間はあれが自然なんだよなぁ……それってやっぱり次の瞬間魔法使いが「自然」になることと同じなんだよなぁ。それに気付けない。


あと、黒い壁の部屋でなんかの集会をしてて、それを定期的にやってた。何の宗教だ。

電車から見える風景は中央線御茶ノ水か、あるいは小田急の登戸町田間か。


いい夢だった。

  1. トップ
  2. dream
  3. 濃い夢

なんかアーティストとしてすごくいいって思えるのがホントに見つからないなぁ。

同じような傾向の人の聴いてるアーティストで聴いたことないのとかを聴いたりしてみてるけど、なんか違う。気取った感じのアーティストは ART-SCHOOL でお腹いっぱいです。でもアートは歌い方は別に気取ってないから聴けるんだよなぁ……

ちゃんとした能力が欲しい。

  1. トップ
  2. music
  3. いいのが聴きたい

それが表現である限り、表現者が見えてこないと面白くない。ただの商品であるか否かの境界がそのへんにあると思った。なんとなく。でもただの商品が悪いわけじゃない。消費されて残らないだけで、瞬間いいと思えるならそれはそれでいい。役目が違うから

変にメッセージメッセージした歌とかが苦手なのは、本人たちが何を考えてそれを言っているかあまりに不明なことが多いから。別にメッセージメッセージさせなくったって、事柄をたんたんと言ってくれればいいのに。その事柄にリスナーが何を感じようとリスナーの勝手だ。そういうのを強くコントロールしようとする姿勢がなんかにがて。


デザインの怖いところは、それが明確なメッセージをもっていて、しかも気付かないうちにそれを内に入れてしまうところだと思った。作りたいものを感じたまま作ったものじゃなくて、メッセージによって作らされた、みたいな。よくわからないけど

メッセージっていっても周囲の空気とか環境が伝えてくることは柔らかくなっていていいんだけどなぁ。自分から出た何かが、環境に反射して、自分はそれを観察して、表現になる、みたいな。時間がかかるけど、熟考に必要な時間だと思う。環境は少し前の自分の反射だから。そういう手順が踏まれず、押し付けがましい感じがでるのがだめだ。


だからまぁ、こんなことは書くべきじゃなくて、押入れに詰め込んでおいて、隙間から出てくる溢れたものをすくうべきなんだろうなぁ。それができない時点でだめすぎる。

  1. トップ
  2. life
  3. 表現
  1. トップ
  2. thinking
  3. 表現
  1. トップ
  2. art
  3. 表現
  1. トップ
  2. music
  3. 表現

だいたいのことは目の前にあるものだけれど、理想的に可愛い女の子というのは存在しない。なぜかといえば、そもそもそんなもんないからで、それを求めて、夢の世界に戻るからだ。夢の世界に生きていながらいくには寝ればいい。


人間ごっこがいつ終わるかというのはまさに死ぬときで、おそらくそれ以外にない (もしかするとあるかもしれない)。今重要なのは「人間ごっこ」をしっかり「人間ごっこ」と認識して行動するということで、それはすなわちこのクソつまらない日々をどうにか楽しく感じるような心と体になることと同一である。決して楽しい日々に好転させることではなく、クソつまらないことを、それさえ面白いことだと思えるようになること。

しかしながらそれは、例えば楽しそうな高校生活を送ってきたある人間が少し現実に気付いて愚痴の一つでも洩らし周りのやつらに励まされているような情景を見て、ばかみたいに笑ってしまうのとはまた違うのだ。なんで俺はコンピュータに向かって必死に命令文をうちこむようなことをしていたんだろう? というかしているんだろう?


ほんとに、なぜだろうって何時も思うけど、自分だけじゃなくむしろこれは普通で、そういう意味ではマジョリティであるってことぐらいは分かっている、と思う。

客観的に見たら、どう考えても俺は恵まれた境遇にある。ただそこにあるものと求めるものが少し違うだけだ。でも、あまり文句を言える立場にない。もっとひどい人たちはいるから。それと、ただたんに幸せな情況っていうのはありえない (周りがそうさせないから)。気を抜くと悪意が入ってくる。

  1. トップ
  2. life
  3. Play a role
  1. トップ
  2. thinking
  3. Play a role

そういえば最近言及とかしてない。言及というほどのものなんてしたことないけど、例えば「このサイトのこれ見てパクってみた」とか、「これ面白いなぁ」とか。というか a 要素を書いてない。

後者ははてブで殆ど気が済んじゃうんだよなぁ。前者は面白いものが最近いまいち見つからないからか。

  1. トップ
  2. site
  3. 言及
  1. トップ
  2. web
  3. 言及

hatena-highlight-fragment.user.js

ハッシュつきアクセスの場合該当セクションをハイライトさせる GreaseMonkey。日記モードでしか意味がないっぽい。フィードリーダーで読んでるからあんまり意味ないけど。#1149956303 とかついてる場合そのセクションをハイライトする。クリックで解除


もともとはどこでも使えるようなスクリプトの予定だったけど、ちゃんと構造化されて id をふっているサイトがあまりにもなかった (id をふってる要素以下だけハイライトさせると悲惨になることが多い) 。なんか意味がなかった (というか弊害のほうが大きかった) ので、割と解りにくいなぁと思うはてダに特化させた。

はてダの場合 id じゃなくて a @name だから、フラグメントとは言わないかな?

  1. トップ
  2. gm
  3. はてダ。フラグメントハイライト
  1. トップ
  2. js
  3. はてダ。フラグメントハイライト

本棚

流行にのって!! とか思ったけど、本買わないので大して面白くなかった。技術系の本は高すぎです。買えません。買えません。買えません。ウィッシュリストばっかり溜まっていく。

写真とり忘れたけど、他にもいろんなところに本が散らばっています。明解C言語とか、チャート式数2とか、キャッチャー・イン・ザライとか、図書室 (謎) のとか

自分で買った文庫本は13冊だけだ。全部高校のとき。ハードカバーは3冊ぐらいしかない。ほんと買わないなぁ。図書館とかで十分だしなぁ……置く場所もないし

  1. トップ
  2. book
  3. 本棚さらし

分離の問題って、単純に Event.observe("load", window, func) とかやるとページが完全にロードされるまで JS が一切実行されないことにあるよねぇ。画像を多く含むページとかは特に最悪。前に作った now playing のページ (バグって動いてないかも) なんてもうそれに当てはまってて結構アレだった。

で、このライブラリはどう解決してくれるんだうへへへとか期待して覗いてみたけど現バージョンでは特に対応されていない。すなわち上で書いたようにページが完全にロードされるまで、一切のイベントをキャッチできない。


と、いったところで、Google Group をほげーっと眺めてみると Google Groups: Behaviour Javascript Library というまさにソレなトピックがあって、コードが示されている。結局めんどくさいブラウザの独自拡張に手を出さないといけないみたいだ。

Gecko は DOMContentLoaded イベント (GreaseMonkey の実行タイミングと一緒かな?) を登録する。IE は script 要素の defer という属性を書いてあげればいいらしい。けど、実際試してみると IE でうまくいってないように見える。

どっちにしても Opera でうまくいかない以上、最速にしてストレスを減らすなら HTML 直書きになってしまうような。個人的には直書きが好きじゃないから分離してるけど、分離するだけなら別に behaviour.js はいらないかな (ちゃんとクラスとか id ふっておけばあんまり困らない)。

場合によっては、ポリシーを現実的なほうにズラして直で書く、と思う。諦めが肝心

  1. トップ
  2. js
  3. behaviour.js とか

ハリーポッターと謎のプリンスを読み始めようかと思ったり思わなかったりしつつ、とりあえずやっぱ先に読み終わってない「学校を出よう!」を読むべきだよなぁと思って開くけど閉じたりしたりしなかったり。

そんなことはどうでもよくて、久しぶりにハードカバーの本を手にとって広げてみるといい匂いがして無性に幸せだなぁと思ったりした。そういえば最近図書館に行っていない。「サボったら単位を落とす」という脅迫に追われてだいぶ必死なせいであり、学校の図書館にいってもなぜか集中できず寝てしまうとかいう謎の体のせいでもある。


ああそうだ 学校を出よう!4 Final Destination を読んだけど、0章を読んでる間なんとなくずっと海辺のカフカが頭に浮かんでた。10代の家出・頭の中の声・居場所、あたりのキーワードのせい。あと一章の一番最初の優弥のセリフがカラスと呼ばれる少年とかぶった。まぁ結局全然違う (あたりまえ) ものだった。これって視点が常に神視点だけど、いや、いいや。

どうでもいいけど、「答えが欲しい」とだけ思って本を読むのはやめたい。

  1. トップ
  2. book
  3. ハードカバーの匂い

やっと読み終わった。5と6が微妙に薄いと思ったら続きの話だった。4巻あたりから面白くなるなぁ。しかし4巻終わった時点だと俺には作者が何をしたいか全然わからなかった。読解力が欲しいです……

なんでもいいけど、5巻の宮野が若菜の本を改ざんするシーンが印象的だった。トリプルミーニングぐらいになってるよなぁ。そのまま意味・読者へのメッセージ・改ざんという行為のメタファー。面白かった。

  1. トップ
  2. book
  3. 学校を出よう! 5, 6

起きたらすごいだめな気分だったので、一限を潰して寝たのだけど、それでもだめな気分だったのでさぼった。

一限を潰した時点で親がだいぶうるさかった (高い金払っているのに!とか。関係ないけど俺にもし子供ができたら絶対こういういいかたをしないようにしようと思った) ので、とりあえず図書館に行くことを決め、電車に。電車を待つ間いろいろ考えた。いつの間にか落ち着いていられる場所が限られることに気付いた。

図書館についたらてきとーに本をとって閲覧室に入って寝た。下半身が痺れるごとに起きて体勢を変えつつ、最後に起きたのは13:30。それから眠れなくなって駅までなんとなく歩いた。歩道の、色の違うブロックだけをなんとなく踏んで歩いた。歩道横の緑色の部分に落ちているタバコの吸殻を見て空虚な気分になった。

別に何か目的があるわけでもないので、駅前の100円ショップに入り、大して面白くないので本屋でブックカバーを眺めた。すぐ飽きて外に出た。

そのあとダイエーの電気屋を眺め、帰宅した。めんどうくさい

  1. トップ
  2. life
  3. さぼった

どうでもいいこと (しかしやるべき、ないしやらなくてはならないこと) がルーチンワークなのは別にいい。それについて何も考えなくていいから。それについて何も考えなくていいということは、他のことを考える時間がそれなりにできるということだ。

特に俺が嫌なのは、どうでもいいのにルーチンワークじゃないことだ。心底「どうでもいい」ことに対していちいち時間を消費して考えなくてはいけない。

死ぬまでの時間はそう多くない。楽しいことに時間を使うのはいい。「どうでもいいこと」に時間を使うのはまさに浪費でしかない。そして楽しいこととどうでもいいことは紙一重で、ある一瞬をすぎてスイッチが切り替わると、とたんに今までのことがどうでもよくなったりする。それに自分が楽しいと思っていることが、他人にとって楽しいかどうかは全く分からない。

  1. トップ
  2. life
  3. ルーチンワークは悪くない。

LTS って何。Long Term Support

ダウンロード終了まであと43分


これってアップデートマネージャからアップデートしてもちゃんと ubuntu-ja のほうにアップデートされるのかしら。されなそうな気分。されてほしい。

emacs21 で致命的なエラーっぽいのがでて完了しなかった。apt-get remove emacs21 して再起動した。とりあえず起動はちゃんと?してくれた。PCMCIA マネージャの起動に失敗してたけど、何に影響するのかわからん。

しかしながら emacs は使える。バージョンが違うのかな。emacs のそのへんが意味不明

Rhythmbox が Audioscrobbler をサポートしてる。でも mp3 が再生できなくなった。gstreamer0.10-fluendo-mp3 を入れた。

Audioscrobbler 機能が動いてないような。むーん。

仕方ないので rbscrobbler を今まで通り起動してみる。

Rails 動かすために (ruby 1.8.3 だとダメっていわれた!) うpだてしたけど、終わったころにはやる気がなくなってる罠

一部の曲が文字化けする。エンコーディングとか一緒なのになぁ。意味不明すぎ。

むしろ id3v2 を読めてないくさい。なんだこれは。

RIFF -> Idv2 と変換させたら直った。

  1. トップ
  2. linux
  3. Update -> ubuntu 6.06 LTS

読み終わった。関係ないけど学校で暇だったから炎のゴブレットを飛ばしながら読んだ。内容忘れすぎ。

最終巻まだー? ハリーの夢落ち


これで溜まってる本は全部読み終わった。なんか次の探そう。

  1. トップ
  2. book
  3. ハリーポッターと謎のプリンス

なんか最近 CSS の具体的なイメージまでフォトショで作っても、そのまま CSS 書かずにほっとくことが多い。前はすぐに書いてすぐに公開してたんだけどなぁ……

それにトリッキーな CSS テクニックも全く使わなくなった。どうせ IE でおかしいし、みたいな。慣れただけなのかなんなのか、仕様書も前より読まなくなった。つまらない。

どれもそれほど面白そうに見えない。好奇心がなくなったのかなんなのか。

  1. トップ
  2. css
  3. CSS なぁ
  1. トップ
  2. web
  3. CSS なぁ

普通のブラウザならサポートしている便利なやつで data: っていうのがあるわけです。意外と知らない人もいたりいなかったり。たびたびこの話は出る感じ。以下 RFC:2397 のメモ。

data:[<mediatype>][;base64],<data>

セミコロンとカンマを逆にしたりする。

data:text/plain,foobar
data:,foobar 上と同じ
data:text/html,<html><body style="background:#fff"></body></html>
data:text/plain;charset=utf=8,%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92
data:image/gif;base64,R0lGODlhEAAQALMNADAwMBAQEO/v78/Pz0BAQCAgIN/f37+/v2BgYJ+fnwAAAP///4CAgP///wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAANACwAAAAAEAAQAAAEObDJieq8uFVEer5bR3xZFxQFiaGpOrHSIqtP3cgLbeP6IxlA1wRoEP4MgsPB2FAeElCXE5pgUpmuCAAh+QQJAAANACwAAAAAEAAQAAAEPrDJSaulKF+bUV1glQEEMYHLVZoSqpaSIW9NYTeyQdsFPm88yWF4eRgnw0PxKDwMEomK8VGBRmkTK3bLpUUAACH5BAkAAA0ALAAAAAAQABAAAAQ6sMlJK13Yarw0NQZXIeQEGhqJmGBaNkfsNUQNy15N3MesS4mgpkCcBBPDIlBIeTiVM+dj1nRSr9hJBAAh+QQJAAANACwAAAAAEAAQAAAEN7DJueq80+i6MNYG50nHIWjjVR4ptrZTIrdI3cgJbeM6AkuE4A8ohBUKgaLnwTwWYMyHE8oc/iIAIfkECQAADQAsAAAAABAAEAAABDiwyWnqvPPoapbHknZw3oIlyaBN5YmCMJrAdG3feN4gfM4jmIdwQiAAehfho8AsEmBKZsFpk+pqEQAh+QQJAAANACwAAAAAEAAQAAAENrDJeeq8M+l6jMeSlnCeATbi5C3sCbKLi8Fybd/yo+P6w+uFwgRBPAULhCQRYQwmCcvaE1eLAAAh+QQJAAANACwAAAAAEAAQAAAEObDJmeq8uNV0er5bd3xZJxgGiaGpOrHSI6tL3cgPbeP6IhVA1wRYEP4KAQLB2FASEFCXE4pgUpmuCAAh+QQJAAANACwAAAAAEAAQAAAEPrDJSaulKV+bU31glQ3HMYHPVZoSqpZSIW+NYTdyQdsGPm88CWF4WRgnQ0LxKCQAEIiKcVGBRmkTK3bLpUUAACH5BAkAAA0ALAAAAAAQABAAAAQ6sMlJK33Yavw0LQVXJeQEFhqZmGBaNkTsNUcNy1593MSsS4igxkCcBBHDIlBIWTiVM+di1nRSr9hJBAAh+QQJAAANACwAAAAAEAAQAAAEN7DJ+eq8s+j6MNYF50kEEWjjVRIptrYTIrdJ3cgIbeN6AkuH4A8ohBkMgqJnwTwaYMyFE8oc/iIAIfkECQAADQAsAAAAABAAEAAABDiwyVnqvJPoWp7HkkZw3oMhCKBN5YmCMIrAdG3feN4kfM4nmIVwcjgMehfhwsAsHmBKpsFpk+pqEQAh+QQJAAANACwAAAAAEAAQAAAENrDJSeq8E+lKiseShnBeATbi5D3sCbKPi8Fybd/youP6wusGwyRBPAUNhyQxYQwmD8vaE1eLAAA7

もちろん image/* のときは base64 を使わないといけないという規則があるわけじゃない。% エンコーディングで普通に書いてもいい。クソ長いけど。

ユーザ CSS とか JS とかを配布するとき、一つのファイルに纏めたいときは便利。

  1. トップ
  2. js
  3. data: (data scheme)
  1. トップ
  2. web
  3. data: (data scheme)

久しぶり。黒背景にしたけどきもい。すぐ違うの作らないと

背景画像は /2006/other-side-world です。久しぶりに RDF 書いた……

  1. トップ
  2. css
  3. CSS 書いた。変えた。
  1. トップ
  2. web
  3. CSS 書いた。変えた。

学校のテストでみごとに0点だったのでちゃんと頭に入れるよ!!

何がわからないってことを明確にしとこう。

  • サブネット
  • ネットワーク部・ホスト部っていうのがなぜ存在するのかがわからない。
  • ネットワークアドレスっていうのは実際どういう風に使うのか
  • サブネットをどう設定するとネットワークアドレスがどうなるのか。
  • ネットワークの設定とかででてくるサブネットマスクには実際どういう設定をするのよ。

IP をそもそも理解していないようです。

さてそこで #XSLT で訊き (今現在既に理解の範疇を超えた話をしている (わらい)) つつ @IT:連載 基礎から学ぶWindowsネットワーク 第7回 1.IPアドレスとは とか読みつつ疑問を解決していく。


TCP/IPでは、ネットワーク全体をフラットな1つのネットワークとして扱うのではなく、いくつかの小さなネットワークの集合体として扱うことになっている。

そもそもこの辺で躓いていた。グローバルIPとプライベートIPっていうのはあるけど、グローバルIP の中では全部フラットだと思ってた。グローバルIPの中でも階層があるんだなぁと。無駄なトラフィックを減らすため (同じネットワーク内の通信は同じネットワーク内で完結するように) らしい。


  • ネットワークアドレスを求めるにはネットマスクと AND 演算。AND だから分かりきった部分のオクテット (サブネット26bitだったら上の3つ (24bit分)) はそのまま書いていい。
  1. トップ
  2. net
  3. IP がわからん

いろいろソフトウェア系でわからないこと

  • ランダウの記号
  • 浮動小数点数の二進数表記
  • ルーティングテーブル
  • アルゴリズム全部
  • SQL
  • コンピュータのメモリの管理
  • 確率
  • 決定表
  • CPU スケジューリング
  • データベース正規化
  1. トップ
  2. soft
  3. いろいろわからんこと

hatena-bk-neglect-comment-by-id.user.js

指定ユーザのコメントを消します。デフォルトでは「ブックマークしている」ことは薄く見えるようにしてあります。ERASE_FROM_THE_WORLDtrue にするとブックマークしている事実も消します (ブックマーク数は変えません)。

  1. トップ
  2. gm
  3. はてブ。見たくないユーザのコメントを消す GM
  1. トップ
  2. js
  3. はてブ。見たくないユーザのコメントを消す GM

GreaseMonkey では GM_xmlhttpRequest で他のページとってくるじゃないですか。で、onload して req.responseXML をとるなり req.responseText をとるなりするけど、どうにもこうにも not well-formed なページ (HTML とか) をとってきてノード検索するとき面倒くさいんですよ。responseXML はもちろん空だし、responseText はもちろんただのテキストだし。

で、なんとなく思いついたので以下のように解決するようにした。

GM_xmlhttpRequest({
method : "GET",
url : i.href,
onload : function (req) {
// てきとーなエレメント作って突っ込む (ブラウザにパースさせる)
var d = document.createElement("div");
d.innerHTML = req.responseText;
// d を最初のコンテキストノードにして文書を XPath 検索
$X(".//foobar", d);
},
onerror : function (req) {
alert(req.responseText);
}
});

なんてキモイ!

問題点は application/xhtml+xml なページから not well-formed なページをとってくるっていう場合は使えないこと。なぜなら innerHTML が使えないから。でも殆どの場合 (というか殆どのページは) text/html なので問題ない感じ。はてなとかはてなとかはてなとか。

Firefox 1.5 からは application/xhtml+xml なページでも innerHTML 使えるみたいです。by yoko さん

  1. トップ
  2. js
  3. ふぁっきん not well-formed, XMLHttpRequest とかで
  1. トップ
  2. gm
  3. ふぁっきん not well-formed, XMLHttpRequest とかで

はてぶでコメントと画像を表示させてる

hatena-bk-show-ss-and-comments.user.js

似たようなのがあるけどとりあえず公開する。こっちは自分のブックマークじゃなくてもいろんなところで動くと思う。

  1. トップ
  2. js
  3. はてブでスクリーンショットとコメントをさっさと表示させる GM
  1. トップ
  2. gm
  3. はてブでスクリーンショットとコメントをさっさと表示させる GM

sayonara-hatena-by-araiteru.user.js

気が付いたらはてなを使っている人向けのスクリプトです。そこそこ適切な代替サービスなどにリダイレクトします。

実装がダサかったので少しだけ変えました。コンセプトが既にダサいとかは知りません。

  1. トップ
  2. js
  3. はてな使うのをやめるための GreaseMonkey スクリプト
  1. トップ
  2. gm
  3. はてな使うのをやめるための GreaseMonkey スクリプト

via 適宜覚書はてな異本 - AdobeAcrobat7のロードをスピードアップする方法

紹介された方法だと何かうまく行かないので自力で try and error してみる。(7.0.5)

  • EScript.api
  • EScript.JPN
  • EWH32.api
  • Ewh32.jpn
  • Search.api
  • Search.JPN

エラー出しながらやったけど、「プラグインについて」を見れば依存性が書いてある罠。

  1. トップ
  2. soft
  3. Acrobat Reader 高速化

いろんなところでカリー化と普通に言われて、カリー化って何だよって思っていたけど、ふとした拍子に理解した (と思う)

引数を一個とって関数を返す関数をカリー化された関数というらしい。なんか言葉にするとそこらの説明と大して変わらないなぁ。

檜山正幸のキマイラ飼育記 - JavaScriptでカリー化 の最初に「カリー化ってなに?」って書いてあるけど、今はこれが一番わかりやすい例だと思える。前読んだときはよくわからなかった。2引数の関数f(x, y)に対して、「gがfのカリー化」だとは、f(x, y) = g(x)(y) が常に成立すること。ちなみに「なに?」の部分以外はわからない (読んでもいない)

モナドもわからない。ほっといてもそのうち分かるんだろうな

  1. トップ
  2. prog
  3. カリー化をふと理解した?

  1. 半分の月がのぼる空7
  2. さよなら、いもうと。

半月は短編集の前編らしい。なんかもうどうでもいいよ!

さよなら、いもうと。いもうと以外のキャラがいい。負荷軽減のためにわざとやっているのかなんなのかしらないけどそういう雰囲気。実際登場時間も少ない気がする。

「俺だって今日、死ぬかもしれない。明日、死ぬかもしれない。そのことがわかったはずなのに、少しも必死じゃない」 「必死じゃないといけないの?」 「いけないわけじゃないかもしれないけど……なんつうんだろ? 明日死ぬかもしれないのにさ、今日をやけにのんびり生きてるんだよな。死ぬ前にやっておきたいこととか思いつかない。だからそのことを考えないようにして、また明日とか平気で言ってしまう。そんな自分のままじゃダメなんだって思うんだけど、でもどうするんでもないんだよな」

開始早々のアレとか、途中のイベントとか、最後のアレとか、随所に新井輝臭のようなものが漂っています。当たり前だけど

  1. トップ
  2. book
  3. 半月7, さよなら、いもうと。を読んだ

9.0 がリリースされたのでいろいろ調べて書く。

XPath は割と普通に使えるっぽい。時々変な挙動な気もするけど。$X は書き換え無しに動く。と思いきや createNSResolver は動かない

innerHTML 使ってパースさせるやつ は Opera でもできるようだ。


Array#forEach や GM_xmlhttpRequest がないため、殆どの GreaseMonkey スクリプトは動かない (が、後述するスクリプトでほぼ解決)。ついでに Opera はハイパートリッキーなことをしないとドメインを超えられないようだ。

Opera 用のラッパは 000.user.js とか最初のほうに呼ばれそうなファイルに書いてあげればいいっぽい。000.user.js . インターフェイスのラッパだけです。ドメイン超えるのも 000.user.js に書けば普通にいけるかもしれない。

作ったスクリプトで確認がとれたやつを列挙する。


E4X とかクロスドメインとかでひっかかる。E4X を innerHTML + XPath にし、クロスドメインのハックをすれば動くと思われる。

それと、日本語は素でかけないようです。\u でエンコードする必要あり。スクリプトを直接編集する場合もです。(GreaseMonkey はインストールするときに化けるらしく、直接編集している限りは日本語は普通にかけます。)

  1. トップ
  2. js
  3. GreaseMonkey Script on Opera 9.00
  1. トップ
  2. gm
  3. GreaseMonkey Script on Opera 9.00
  1. トップ
  2. soft
  3. GreaseMonkey Script on Opera 9.00
  1. トップ
  2. opera
  3. GreaseMonkey Script on Opera 9.00

データベースの設計ができないからなんだと思う。Rails ってまずはじめにデータベース設計ありき、みたいな雰囲気があって、どうしたらいいかわからない。きっとこの辺が分かれば高速に開発できるのだろうけど、いかんせんデータベースって「レスポンスがいいけど面倒くさい」というイメージがずっとある。

というか実際問題面倒くさい。ロックが効かないシステム (学校の鯖) でやろうとするとデータベース使うって段階で既に躓く。自宅鯖でやるとなると、デーモンが一個動いたりするから、セキュリティ云々で面倒くさい (SQLite を使うのはスタンダードじゃなくて躓く)。セキュリティ云々が面倒くさいとかいう人間に公開サーバーを運用する資格なんてないので、この辺で脱落する。公開できないサービスなんて面白くない。だからといって開発用に鯖を借りる金は出てこない。そこまでモチベーションがあるわけじゃない。

データベースありき。データベース側からやっていくと、そのものの表面的カタチ (インターフェイス) がなかなか見えてこなくてつまらないし、いざインターフェイスを作る段階になると、ロジックで疲れ果てててきとーなモノになってしまう (「よしじゃあ rhtml と CSS 書こうか、でももう一応できてる (scaffold のおかげ) しなぁ、めんどいからいいや」みたいな)。

ユーザーインターフェイスなんて後からどうにでもなる、わけない。最初に作ったイメージはあとあとまで引き継がれてしまう。最初のできが悪いと、ずっと悪いまま。すごく優秀な「別の」人が関わらない限り、それは直らない。(自分としてはこういう新しい視点を提供してくれる頭のいい女の子に憧れる。関係ない)

CSS 書くときと、プログラムのロジックを書くときの脳みその状態が全然違う。切り替えるのが面倒くさい。先に見た目を作ると、あとで「あーこれが本当に動いたらなぁ」なんて気分になってロジック書く気になるけど、逆だとならない。

根本的に何か勘違いしている可能性がありまくるけど、現状だといまいちやる気にならない。今作りたいものはあるけど、データベース設計で既に躓いている (だいたいテーブルの数が5個ぐらい)。だからとりあえず UI だけ作ろうかと思った。そのうち。いつか。

  1. トップ
  2. rails
  3. Rails ができない
  1. トップ
  2. ruby
  3. Rails ができない

LDR でのメインフィード (RSS) の購読数が100を超えてた。

なんとなくメインのフィードが100いくのが区切りな気がしてたので書いてみる。


Atom は 23, RSS は 102。Bloglines は 100 いってない。

  1. トップ
  2. net
  3. フィードの登録数

確認がとれたものと修正して動いたもの

ずばばっと表示させるやつはどうも挙動が怪しいです。動的にレンダリングするのを変えるのはやっぱちょっと苦手っぽい。

require 000.user.js

ignore-not-cc-photo.user.js を書き換えた。flickr が gamma になったときぐらいに HTML の構造を変えたらしく、もっと簡単に書けるようになっていた。ついでに $X 使うように修正した。

  1. トップ
  2. js
  3. flickr 系 user.js for Opera
  1. トップ
  2. gm
  3. flickr 系 user.js for Opera
  1. トップ
  2. opera
  3. flickr 系 user.js for Opera

長い夢を見た。昨日学校の図書館で爆睡したときに見た夢と、昨日の夜妙に早く (8時ごろ) 寝て、今まで見ていた夢 (15時間)。続いていたけど、前半を覚えていない。クライマックス付近だけ覚えている。アルファギークはでてこなかった。むしろ珍しいことに現実にいる人が一人しかでてこなかった。


  • なんかの拍子に別の世界に紛れ込んだ。電車・トンネル
  • 高校生ぐらいの人たち (ないし人じゃない何か) が集まる四年制の学校
  • 廊下の奥の奥、生徒会役員とその周りの人が所属する人たちのための食堂がある。薄暗い。というかこの世界自体が薄暗い。関係者以外は入ってはいけない。
  • 一年生と二年生はライン (パシリの意味らしい) と呼ばれている。三年生・四年生にも呼び方があったけど忘れた。
  • 生徒会長は痩せ気味・身長はあまり高くないが、能力がアレらしい。結局見れなかったので不明
  • 彼女 (こちらの人間・髪が長い・身長が高い・微妙に天然入ってる) は時を止められるが、とめる時間帯が決まっている。ついでに準備が必要。周りに数名協力者がいる。
  • 彼女 (というより彼女の中にある何か) と、郊外のアパートの101号室に住むネコはキーである。
  • ある入り口がない建物の前にマットがしいてあるが、そこがトビラ。最後まで気付かない。というより気付けない。

キーパーソン (彼女とネコ) といろいろあるけど忘れた。ネコは人語を喋れる。アパートの一人暮らししている時点でただのネコじゃない。ネコのほうは純粋にキーだけど、彼女は元々こちらの人間なので、紛れ込んだときにキーが混入したみたいだ。たぶんそのキーのおかげで彼女の使える力が大きかったんだと思う。

なかなか死なない人がいた。だいぶひどいことをしたと思うけど、結局弱りもしなかった。気持ち悪かった。というか人じゃないんだなあれ。多摩川・長い道路・本

生徒会役員に味方が一人いる。と思いきや、割と味方がいる。というよりむしろ一緒にまぎれこんだ人たちは基本的に仲間のようだ。が、誰がまぎれこんだ人なのか正確に知る方法がないため信用できる数名で動く。


専用食堂で食事をしていると生徒会長が来る。逃げる。違う人間がターゲットになる。よかった。騒ぎが大きくなる。どうでもいいけどエロ本は一万円の罰金 (高すぎじゃない?)。ここで時が止まる (これは誰の協力ない。彼女の独断によるもの。協力がないため、動けたのは彼女と自分だけで、時間も短い)。手紙をもらう (内容は忘れた)。それとは別に口頭で、次の時間は4:00だと告げられる。

急いでこの世界がでないと、という話になる。このへん曖昧。先輩関係でネコがキーワードになっていることが判明し、アパートのネコを尋ねる。学校に帰る途中、今まで入り口がないことが変とは思いながらそれ以上を考えなかった場所がトビラであることに気付く。マーキング (あとで戻るためのしるし) をつけて学校へ。

他の人たちをまとめてマーキング位置に転送し、扉を開いてもとの世界へ。

  1. トップ
  2. dream
  3. 長い夢を見た。
  1. トップ
  2. life
  3. 長い夢を見た。

ビューって何。つまり、使うと何が嬉しいのかよくわからない。パフォーマンスのために云々っぽいけど、実際どういうケースで使うんだろう。


最近分かったこと。というか教えてもらったこと。

カラムに配列 (のようなもの) を突っ込みたいときは、配列の要素をテーブルにして、元の行の id とデータを複数突っ込むらしい。

/* この例だと当たり前な感じがするなぁ。 */
CREATE TABLE entries (
id INT PRIMARY KEY,
body TEXT,
...
);
CREATE TABLE comments (
id INT PRIMARY KEY,
entry_id INT,
body TEXT
);

多対多な関係の場合は仲介テーブルを作るみたい。

CREATE TABLE ideas (
id INT PRIMARY KEY,
body TEXT
);
CREATE TABLE users (
id INT PRIMARY_KEY,
name VARCHAR(60)
);
CREATE TABLE votes (
id INT PRIMARY KEY,
idea_id INT,
user_id INT
);
  1. トップ
  2. sql
  3. SQL わかんね
  1. トップ
  2. prog
  3. SQL わかんね

見て不愉快になる物は見なければいい、と人は言う。例えば自分に対する陰口が書かれた匿名掲示板。例えば自分に向けた悪意が積み重ねられているソーシャルブックマーク。身分の目に入るところにそれを入れなければいい、そう言う人は多い。中にはシステム的にそれをやってしまう人もいる。リンク先のさとうさんはそういう人のようだ。

これはちょっと違うんだよね。あのスクリプト書いたのはもうちょっと違う理由があって、まぁスクリプト自体はそういう風にも使えるんだけど、もともとは違うって意味でちょっと違う。

自分が「何を」消したかったかというと、見たくないものというより、もっとなんていうか、有害なものを消したかった。例えば、本当に例えばだけど「さっさとクソして寝ろ」とか「くだらない」とかしかコメントに書いてないブックマーク (ブックマーカー) って、その文に価値がないうえに、自分にとって不愉快になるという点で「有害」なんです。だから消したかった。読むに値しない以上に有害なのを消したかった。

不愉快になるけど、批判は全うで、読んでおくべきだなぁと思ったらそれを消したりはしない。

何も得るものがないうえに不愉快になるとか、そのこと自体がまた不愉快なのでスクリプトを書くに至った的何かで、そこまで感じなかったらスクリプトなんて書かないわけです。そうじゃなかったら $X("//div[@class='bookmarklist']/ul/li[a["+xpath_fl+"]]/text()[last()]") なんてめんどくさいコード書かないです。

  1. トップ
  2. life
  3. 無価値じゃなくて有害
  1. トップ
  2. web
  3. 無価値じゃなくて有害

DHH 本がきたので、ちゃんと入門するよ!

ところで全然どうでもいいけど、本を読むと本のマジックというかなんというか、読んでいる間は「うわすげぇー簡単じゃーん」とかわかった気になるんだけど、実際のケース (今作ろうとしているのも) に当てはめようとするとことごとくうまく行かないという泣きたくなる情況が頻発して凹む。

とりあえず多対多の場合 ActiveRecords は id カラムを持たないテーブルを一個仲介役に作ってあげるみたい。んでテーブル名は二つのテーブルをアンダースコアでつなげたものにするらしい。(244 ページ, has_and_belongs_to_many)

それで、一個疑問は解けたけど、実際にやってみようとすると問題がまたでてくる。例えば vote っていうのはそれぞれの Topic に対して User がそれぞれ投票できるような感じ (Topic と User が多対多で、vote という意味で繋がってる) だけど、っていうかコード書いてみよう。

class Topic < ActiveRecord::Base
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :topics
end

とかやると vote っていう名前が一切でてこなくなる。

でもってどうするんのよ!って聞いてみたけど、要は has_and_belongs_to_many のリファレンス嫁ってことらしく読んでみる。実際実行して試したいけど、どうやって試せばいいか分からない。うーん気持ち悪い

下のようにするっぽい?

class Topic < ActiveRecord::Base
has_and_belongs_to_many :votes,
:join_table => "topic_votes"
:class_name => "User",
:foreign_key => "user_id"
end
class User < ActiveRecord::Base
has_and_belongs_to_many :voted_topics,
:join_table => "topic_votes"
:class_name => "Topic",
:foreign_key => "topic_id"
end

この has_* 系メソッドの第一引数は、そのまま@をつけてインスタンス変数名になるのかな。そうっぽいけど明確に書いてあるリソースが見つけられない。ソース嫁ってか。


それにしてもテーブル作って、generate model した直後でテストが通らない。もっと小さいアプリケーションからやるべきだなぁ……でもそういうアプリケーションで作りたいのがない。

  1. トップ
  2. rails
  3. Rails 入門, DB/ORM
  1. トップ
  2. ruby
  3. Rails 入門, DB/ORM

メイリオを試してみた。

ヒラギノとか IPA Gothic に比べると、雰囲気が丸くて、柔らかい感じ。SHARP のなんかのフォント (名前忘れた) に似てる気がする。あんまり好きじゃない。

文字小さめのほうが綺麗に感じる。ClearType のせいかな。

Windows はアンチエイリアスのかけたかがいくつか選べたらいいのになぁ。IPA Gothic も Windows だと汚く感じる。もったいない。

システム系フォントを全てメイリオにしてみた。なんか思ったよりいい感じ。

  1. トップ
  2. design
  3. メイリオ
  1. トップ
  2. font
  3. メイリオ

カタチのあるものを全然作れない。うーん。

プログラムより、ちゃんと物理的に形が見えるのを作りたい。

  1. トップ
  2. life
  3. もっと、カタチのあるものを作りたい
  1. トップ
  2. thinking
  3. もっと、カタチのあるものを作りたい

"CSS3 media queries for Opera" ハックで処理していた部分が修正されたおかげで逆に変になっていたのでコメントアウト。おぺらーな人は 9.0 に乗り換えるよね、乗り換えるよ、乗り換えてくださいよ、って感じで過去のバージョンはざっくり知らんふりします。

でも、このサイトのナヴィゲーション部分が Opera だとなんかズレてるんだよなぁ。なんでだろう……

イソムラさんが面白いバグを発見したので動画にしてみます。他人のサイトを録画とか趣味悪いですが、とりあえず圧倒的に楽しい。

Opera 9 の楽しいバグ

動画を見るより実際やってみるほうが圧倒的に楽しいです。

404 | Opera 9 アンダーグラウンド に詳細な手順が! Flash ダウンロードするのめんどくさい人はとっとと試しやがれですよ。楽しいから

  1. トップ
  2. web
  3. Opera 9 出現に伴い@ヘッドフォン娘 wiki

前に 短めの bf コードを吐くスクリプト 書いた。

数学が分からなくて、これが本当に最短なのかわからない。そのうえ、255 以上 (より上?) の数値を最適化するとき無限ループさせるコードを吐いてしまうバグがある。よくわからない。

mixi で一時期書いてた bf はこれで生成していた。

  1. トップ
  2. prog
  3. Brainfuck といえば

今時 Ajax とか (口に出すのが) ワロスだけど、選択式レポートで Ajax について書けみたいなの (他には既存システム推測・ルータの設定詳細) があったので、これを選択することにしようとか思った。

Ajax で実装された何かを取り上げて利点をあげよとかいうのがあって、何をとりあげるか悩む。あんまり Ajax! Ajax! してるのってないしなぁ……

どっかのコメントフォームのやつとか投票みたいな簡単なのにするか、LDR みたいなアプリケーションにするか。どっちがいいんだろう。


むしろ既存システム推測のほうが簡単な気もしてきた。推測だからてきとーに想像しても割りとよさそうだし(ダメすぎ

  1. トップ
  2. js
  3. Ajax 課題

どうも XML 書くのが面倒くさくなってきた。もう全部 Trac wiki 記法で書きたい。


やっぱバックエンドに svn を使った日記とか CMS が欲しい。バージョン管理システムを既存のを使えば、どこでもチェックアウトしコンテンツ書き換えられる感じに。


なーんも考えてない。英語キーボードを試してみたい。ノートPC (たぶん MacBook) が欲しいので15万ぐらい溜める。すげぇ長い。やだなぁ。はやく欲しいなぁ。明日地震がくるかもよ。かもよ。明日死ぬかもよ。やりのこしたことはない? あるよ。あるけど実現できないよ。あるけど実現できないよ。可愛い女の子と青春したかった、なんて叶わないことさ。

ここ数日なぜか中年とすっ飛ばして、このまま老人になって、ああ、みたいなこと考えて、だめだなぁと思った。中年になったって、どうせ、ごちゃごちゃ言ったって、ぎりぎりになった未来の俺はぎりぎりでどうにかするんだろうし、それが詰まらないことでも、どうせ死なないんだろうなぁって。全部やめたい、とか今も思ってるのに結局続けているわけで、なんなのよと、思わないでもない。何なのよなんてわかってはいると思うけど。

最後の砦、みたいなのがいつも必要だと思う。今はまだぎりぎりあるけれど、そのうち無くなることは分かりきっている。もうない人も世の中にはいっぱいいる。


他人を見下してると、見下されてるほうは絶対わかるものだ。だから「見下さない振り」じゃなくて、見下さないことを心がけるんだよ。本当はそんな人はいないのだから!

そんな無意識の自信過剰をまわりは感じる。「ぶっちゃけそんなに自分は頭よくないよ」って何をぶっちゃけているのだろうかとか、そういう。そして見て見ぬふり。しないように意識しないと

まず間違いなく、自分以下の理解力の人はいない。いない。伝わらないなぁってときは、まず間違いなく自分の説明が悪く、まれにそもそも思考レイヤーの差のせいで話が通じないことがあるぐらい。思考レイヤーの違う人とは話していても結局意味がないから、できるだけ話さないように。思考レイヤーの違いは、思考方法の回路が違うから、理解力がどうとかで比べられない。あうか、あわないか、それだけだと思う。

何かが起きたなら、原因があるはず。でもどうしてか理不尽さを感じることがある。例えばちっぽけだけれど、歩きタバコしてる人の後ろを歩いたとき。なんで自分が被害をうけているんだろうと思う。例えばちっぽけだけれど、こんな無駄に長い日記を書いていること。なんで自分はこんなもの書かなければならない情況にいるんだろうと思う。もっと大きく。病気・事故、何に繋がっているんだろう。

携帯電話の「電話」機能が好きじゃない。携帯電話なのに電話機能が好きじゃないとか無駄さが溢れているけど、特にかかってくるのがあんまり好きじゃない。その場の、目の前にいる人間との会話に、半強制的に割り込みをかける感じが好きじゃない。だからあんまりとらない。あんまりかかってこないけど。メールでいいじゃん。メールもこないけど。

それに、そもそも電話が好きじゃない。電話で話すのは気持ち悪い。理由は知らない。考えても無駄だと思う。どうせ理由なんて、殆どこじつけなんだし。上のも、無駄。無駄。


授業とかで Flash を強制されたり、「Flash はこんなに素晴らしい!」みたいな話を聴くたび、Flash のことが嫌いになっていくんだよね。

Flash を何かに置き換えてもいい。Java とか (やってないけど)、VB とか (やってないけど)、ユーザーインターフェイス設計とか (やってないけど)

  1. トップ
  2. net
  3. あーあーあー
  1. トップ
  2. life
  3. あーあーあー

Flash が苦手なのはもう仕方ない気がしてきた。開発環境もそうだし、雰囲気もそうだし、みたいな……コンテンツとしては悪くはないと思う。でもアプリケーションみたいになってくるとちょっと気持ち悪くて耐えられない。そしてひっぱられてコンテンツもうまく作れない。楽しくない。


Flash のユーザの主導権をにぎるやりかたは、全然消えていない (消そうとしてない?)。ユーザは「こうしないといけない」って Flash アプリケーションに暗に言われる。強制されるのはいつも気分が悪い。その「デザイン」に気付けない Flash アプリケーションは優秀かもしれないけど、デザインに気付いてしまったら、また「操られている」感じが不快だ。どっちにしろ Flash が今のようなユーザにフックを許さないような構造な限り、フックしたい人には不快感を与え続けると思う。

かっこよく動いてるアプリケーションを使ってる俺はオシャレなんだぜ、みたいな、そういう雰囲気、そこで止まってしまう感じ、そんなのもなんかちょっとだめな原因かもしれない。モテ系。

かっこよく動いて、デフォルトのデザインも気持ちいいけど、さらに自分の手をそこに加えたい。そういうことができて欲しい。押し付けがましいのを排除したい。目立たないデザイン。表にでないところが綺麗になっていて欲しい。あなたの自由にしていいですよってことができて欲しい。ほんとに


なんかネガティブなことが多すぎる。もっといいこと考えないとなぁ。いいこと。大学行くと嫌なことばっかり入ってくるなぁ……

  1. トップ
  2. flash
  3. やっぱり Flash はにがてだ
  1. トップ
  2. net
  3. やっぱり Flash はにがてだ
  1. トップ
  2. web
  3. やっぱり Flash はにがてだ