たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
という夢を見た。
という風な不安、恐怖が根底にあるような気がした。
分割ブラウザ更新した。Firefox 2捨てで、Firefox 3以降専用にした。おかげでJavaScriptコードモジュールとかの便利技術をためらいなく使えるようになった。最近になってアドオンを作り始めた人達がほんと羨ましい。あんな糞みたいな苦労をしなくても遙かに簡単に同じ事ができてより素晴らしい物を作れるんだから。羨ましいを通り越して妬ましくすらある。
更新履歴的には「ShiretokoとMinefieldで動くようにしました」で済ませてるけど、Firefox 2→Firefox 3で色々変わってた部分にかなり見落としがあったのを相当数直してる。ペイン内でのズームとかドラッグ&ドロップとか。
機能的な変更は以下の点くらい。
あと、地味にFirefox 3.5以降のプライベートブラウジングに対応してみた。プライバシーついでに、プライバシー情報の消去関係の機能とも統合を図ってる。この辺のノウハウはまたどっかで文書化したい(それか、勉強会のネタにするとか)。
以前書いたtabbrowser要素のswapBrowsersAndCloseOther()
メソッドの上書きの話で書いてたサンプルが使えなくなっていたので直した。というか自作アドオンの機能を使おうとして正しく動かなかったのでコードを改めて見てみて、メソッドの書き換えの対象になってる箇所に変更があった事に気付いた(4月16日に変更が行われていたようだ)。
以下は、Shiretoko 3.5b5preに合わせて修正した後のバージョンのサンプルコード。
if ('swapBrowsersAndCloseOther' in aTabBrowser) {
eval('aTabBrowser.swapBrowsersAndCloseOther = '+
aTabBrowser.swapBrowsersAndCloseOther.toSource().replace(
'{',
'$& MyAddonService.destroyTab(aOurTab);'
).replace(
'if (aOurTab == this.selectedTab) {this.updateCurrentBrowser(',
'MyAddonService.initTab(aOurTab); $&'
)
);
}
if (aOurTab == this.selectedTab)
を目印にして「タブを入れ換えた後の再初期化処理」を入れてたんだけど、同じif文がこれより前の位置に増えたせいで、コードの挿入位置がずれてしまい、本来期待していた順番とは異なる順番で処理が行われてしまっていた。if文の中まで目印に含めるようにして一応回避したけど、これはこれで、if文の中を書き換えるアドオンがあると破綻してしまう可能性があるわけで……何かいい方法はないものだろうか。
今回の場合に限らず、「メソッドの入れ替えではなく動的な書き換えを行う」やり方には、こういう変更に逐一追従しなくてはならないという弱点がある。メソッドのインターフェース(引数の数や返り値)はそうそう変わらなくても、中身は結構頻繁に変わる。なので、気をつけておかないといけない。
もう1つの弱点として、書き換え対象のメソッドの中で参照されている変数がそのメソッドが定義された変数スコープからしか参照できないものであった場合に、それへの対処も必要となる。その変数の値がグローバルな名前空間からアクセス可能なものであれば、メソッドの書き換え時にその変数を同時に宣言し直してやればいいんだけど……
(function() {
var attrName = 'foo';
window.ExampleAddonService = {
method : function(aNode) {
aNode.setAttribute(attrName, true);
}
};
})();
// メソッドの書き換えには成功するが、attrNameという変数が
// 見つからなくなってしまうので、実行時にエラーになる
eval(
'window.ExampleAddonService.method = '+
window.ExampleAddonService.method.toSource().replace(
'{',
'{ AnotherAddonService.preProcess(aNode);'
)
);
この例のような場合になると、もうお手上げ。
それでも動的なメソッドの書き換えの方を僕が積極的に使う最大の理由は、同じやり方でメソッドを書き換える他のアドオンとの互換性を維持するためだ。別名で元のメソッドを保持しておくやり方の場合、他のアドオンが元のメソッドの名前で関数オブジェクトを取得しても、その関数の内容は元のメソッドとは全然違うから、書き換えられなくて動かなくなる、という事態が起こり得る。それを避けるためには、上の例のようなお手上げな事例を除き、可能な限り元のメソッドを動的に書き換えた方が良いということになる。
個人的な意見を「一般人」として他者を責める行為について - suVeneのアレからLatest topics > 行為をバカな事だと言ったのか、人を馬鹿な人だと言ったのか、それがわかりにくいのが問題だ - outsider reflexへ、期間をあけて2度にわたってトラックバックがあった。1度目のトラックバックは2月22日、トラックバック元エントリが書かれた日。2度目のトラックバックは4月24日。
トラックバック元サイトには4月24日付けで新しく、「何故」と問うことが無意味になる場合 - suVeneのアレというエントリが書かれていた。4月27日23時17分現在、このエントリからはこのサイトへのリンクは行われておらず、また、名指しされている箇所もないため、このエントリが自分のエントリを参照して書かれたものであるという確証はどこにもない。しかし僕は、その前後にちょうど僕が別のエントリで醜態を晒していた事と、新しく書かれたエントリの内容を勝手に結び付けて、前述の重複したトラックバックはこの新しいエントリから僕がコメント欄で醜態を晒しているエントリへのトラックバックを意図して送られた物だったのではないか、と、証拠もなく妄想した。
ここで僕に取れた選択肢はいくつかあったと思う。
僕には1か2か3の選択肢しか思い浮かばず、1の選択肢は「管理者のくせに管理してない」感を醸し出すのが嫌だったので取り得なかった。そして、相手が僕か、あるいは、僕のエントリをウォッチしていた人達に何かを伝えたいと思っているにも関わらず、単純なミスでそれが伝わらなかったのならもったいないと勝手に気を利かせて、3の選択肢を取った。
でもその行動の根拠になっているのは、あくまで、僕の勝手な妄想であり、推測による思い込みであり、客観的な根拠は全く無い。偏見だけれども、こういう行為をこそモヒカンの人は慎むのではないだろうかと僕は思っている。そして、これまた偏見だけれども、4あるいは4-1の選択を取るのが正しいモヒカンという物なのではないかとも思っている。モヒカンの人の言う所の、表出した物だけから確実に機械的に客観的に読み取れる情報だけから考えるとは、そういう事なのではないかと思っている。
真のモヒカン的には、このエントリは、「ほのめかしばかりで卑怯な皮肉エントリ」なのだろうか。それとも、「誰に対して何を言いたいのか全く意味不明な、自意識過剰の人間による独り言の妄言エントリ」なのだろうか。
話は変わるけれども、相手が書いたテキストに込められた嫌味を華麗にスルーして、書かれた内容の客観的側面だけを淡々と追及し続けられる精神力、というものに僕は憧れすら抱く。安い煽りに乗らない賢さなのか、ただ鈍感なだけなのか、いずれにしても、そのようにできれば自分もきっと気分が楽になれるのだろうにな、と思う。
基本的にはUbuntu Japanese Teamのガイドの通りに進めた。
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
</match>
</device>
</deviceinfo>
を /etc/hal/fdi/policy/shmconfig.fdi として保存して再起動すると、次から「タッチパッド」が使えるようになる。くるくるスクロールも動く。net.ipv6.all.disable_ipv6=1
という行を書き足す方法→うまくいかなかった。最初はうまくいってたように見えたけど、しばらくしたらダメになった?blacklist ipv6
という行を書き足す方法→効果無かった。ipv6.disable=1
という行を書き足す方法→うまくいったっぽい? 今のところはIPv6がちゃんと無効になってくれているように見える。問題が見付かったりそれを解決したりしたらその都度書き足すつもり。
ライブの打ち上げの場でたまたま同席した人相手に色々と愚痴っていた(このところ、会う人会う人にこの話をしてる気がする)時に、言われたりして自分で気がついたんだけど。
よく、「自分から動かなきゃ出会いなんて無い、もっと外出ろ! 外!」という言説を目にする。別の場所では「趣味のオフ会にナンパ目的で参加して来る奴ウゼエ!」という言説も目にする。自分はその両方を見て「一体どっちなんだよ!!」とイライラしていたのだけれども、話をしていた人達の語り口からなんとなく、「普通」のケースでは「趣味を楽しみながら恋愛」という平行処理をできるのが当たり前らしい、僕はどうもそうではないようだ、と思った。
そう。ほんとにねえ、そういう「頭の切り替え」ってんですか? 世渡りっていうんですか? そういうのが壊滅的にできない。「趣味の活動をしながらいい人探せばいいじゃん」と言われても、「趣味を楽しむ時は趣味を楽しむ」っていう風に一直線にやらないとできない。
というか、その逆を考えてみると、「いい人を探す」事に関心を向けた途端、全ての物事を「いい人を見つける」という言わば繁殖行動に結び付けて考えるようになってしまい、趣味の事を楽しむという事ができなくなる。全ての物事が自分にとっては「セックスさせてくれるママ」探しになってしまう。そしてどうも世の中的には、趣味の分野においてその趣味に一直線である人と、趣味の分野において恋人探しに躍起になってる人とでは、後者の方が圧倒的にキモイ人扱いされているように見える。だから、どっちがマシか(どっちの方が自分自身が非難に晒されて嫌な思いをしないで済むか)と考えて、前者(趣味の時は完全に趣味の事しか考えないようにする、繁殖行動への関心には頭を持って行かないようにする)にならざるを得ない。そういう事なのではないかと思う。
本当だったらこんな酷い気分の時は缶チューハイ飲んで一日中フテ寝してたい所だったのだけれども、従妹に「Piro君アニメ好きだったよね。今度私の大学の頃の友達が出るアニソン中心のライブがあるんだけど、行ってみる?」ということで誘われた(僕のアイデンティファイのされ方は「アニヲタ」のようです……まあ間違いじゃないんだけどさ)ライブに行かないと……と思ったので、昨日は憂鬱な気分のまま西荻窪まで出掛けた。
結論から言うと、思った以上に楽しかった。
ライブでアニソンというと、原形とどめないほどに激しくアレンジされたアニメタルのもっとぶっ飛んだようなのばかりなんじゃないだろうか……と思ってたけど、そんな事なかった。むしろ原音に忠実ないわゆる完コピが多かったし、演奏も少なくとも素人耳には全然普通に聴ける上手さだったし、会場一体になって「おっくせんまん!! おっくせんまん!!」だとか、振り付きで「ノーザンクロス」だとか「星間飛行」だとかツインボーカルな「トライアングラー fight on stage」だとか、男声版と原版を織り交ぜた「メルト」だとか、ちゃんと分かっててやってる感があって良かった。
ニコニコ動画でたまたまFINAL FANTASYとかのスクウェア系BGMをライブで演奏するバンドの映像を見て、そういうバンドも世の中にはある物なのか……とついこの間知ったのだけれども、それが特別に変なバンドだったというわけではなくて、何かの余興のお遊びではなく真面目にヲタ音楽をやってる人が結構いるんだという事を、初めて知った。
本八幡鋼鉄ガールズとmelt.の曲目は全部よく知ってる物だったから良かったけど、ゲルマン魂からちょっとずつ分からない曲が増えてきて、肝心の主催の虹色☆マイノリティの曲目は「愛・おぼえていますか」「冒険でしょでしょ」「ポケモンマスター」以外さっぱり分からなかった(上に書いた曲目は、今番組名で検索してどうやらこれらしいという曲名を見つけてきた)。ライブはちゃんと予習しておかないとダメですね……
次にこういう機会があったらまた行ってみたいと思った。その後の打ち上げも含めて、良い機会になったと思う。
追記。誰が何をやったのか間違えていた箇所があったので直した。
ほんと思うけど、仮に僕が他の誰かで、Piroを「友達」の一人に抱えていて、Piroがいわゆる彼女募集中状態だと知ったら、その段階でもう、周囲にいる女性全員に「にげてー!!」と大声で呼びかけたい。そのくらい、今の自分の酷さがよく分かる。この状態で求めてるのってどう考えても、「自分を包み込んで癒してくれて、男性としてのアイデンティティも認めてくれる」相手でしかないよね。非モテ議論でよくいう「非モテを自称する男共が欲しがってるのは要するに『セックスさせてくれるママ』だろ」ってまさにこれだよね。
精神的には、多分今最も心が弱っていて心の支えを必要としているのだろうけれども、これにわざわざ誰かを関わらせるというのは、生贄を差し出すようなものだ。いや、生贄とすら言えない。生贄は共同体の利益のための犠牲だけど、僕なんかに犠牲を差し出して利益を得られる共同体は存在しない。良識ある人間だったら絶対に許せないだろう、こんなのに自分の身内を関わらせたくないと思うだろう。
※この日記はだいぶ前からリアル親バレしています。
統合を批判する拡張開発の人たちは、 「自分のやりたいことに何が必要なのかを考えない人は、 そもそも拡張を使うな」とどうしても厳しい目線に立ってしまう。
これはちょっと違う。使い手は使い手自身のエゴに則って好きにすればいいと思う。
僕がしてるのは、「自分が何をしたいかもちゃんとは認識できてない、『とりあえず何でもいいから便利なプラグイン教えて』と言ってしまうような人」の、行動や思想を批判する事でも、そういう人達の行動を改めさせるべく啓蒙活動する事でもなく、「そういう人達のために自分が努力する事を、やめる」「そういう人達の視界に入らない場所に自分が逃げる」って事だ。
何故そういう人の行動や思想そのものを批判や否定しないのかというと、自分自身も別の場面では「そういう人」だと自覚しているからだ。そういう人、をターゲットにアホだのマヌケだの言う自分の姿を想像すると、「こいつ自分がそうなのを棚に上げて他人の事ばっかり言ってやがるな」とあまりに滑稽すぎて恥ずかしいので、同じ事を他人から言われたくないから、そういう事をしないようにしようと思っている。
サイボウズラボで尖った事を色々やってる人達がごめんなさいと言うからジョークとして成立するけど、僕がごめんなさいと言っても「うん、ほんとそうだよね。反省しなさい。君は無能なんだから。」って感じで、何も冗談にならない。
タイトルは上記2エントリの発端である新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件 - ハックルベリーに会いに行くからの引用です。