スキップしてメイン コンテンツに移動

投稿

12月, 2008の投稿を表示しています

2008年まとめ

羅列。記憶をあさって適当に。 去年した事が混じってるかも。 ■キーボード関係 ・HHKProを手に入れる。惚れ込みまくる。 ・完全に窓使いの憂鬱が無いと生きていけない体になった ・Vimperatorにはまった ・Operaにそれ以上にはまった ・Hit-a-Hintのお陰で幸せが訪れた ・メインエディタがVimになった。 ・Vimが無いと生きていけない体になった 総評:やっぱり、Vimだよね、 ■ネットサービス関係 ・GoogleReaderからLivedoorReaderへ乗り換えた ・LDRフィード数が5000越えた ・LivedoorClip始めた ・ニコニコ動画アカウント削除った ・RTM始めた ・Tumblr始めた ・Twitter始めた ・Outputz始めた ・iKnow始めた ・pixiv始めた ・/.J始めた ・/.始めた ・スタスト始めた ・読書メータ始めた 総評:なんだかんだ言って色々登録してるなぁ。 ■人関係 ・edvakfさんと知り合いになった(HaH的な意味で) ・rarereさんと仲良くなった(オフライン的な意味で) ・rancorさんと知り合いになった(ネットストーカーごっこ的な意味で) ・skashさんと知り合いになった(iKnow+Twitter+tumblr的な意味で) ・Erl_さんに声かけまくった(Twitter的な意味で) ・nyatlaさんに声かけまくった(NyARToolkit的な意味で) 総評:edvakfさんとrarereさん以外は11月以降知り合いになった人かな。 ■技術関係 ・CentOSにOracleインストールした ・PL/SQL覚えた ・地味にRuby+JavascriptのAjax Chat作った ・仕事辞めた(笑) ・仕事始めた(笑) ・Javascriptにさらに詳しくなった ・Rubyにも詳しくなった ・Apacheにも少し詳しくなった ・正規表現に少し詳しくなった ・帳簿つけられるようになった ・GNU Screen覚えた 総評:独立がある意味最大インパクト ■趣味関係 ・三大奇書を読破! ・ルービックキューブで二分切った ・車手放した ・超短編小説100個到達(予定) ・今年も独り身バンザイ! ・地味に将棋で五級タブキープ 総評:三大奇書は素敵だよ! ってか今年奇書ばっかり読んでる気がする!

おふざけブックマークレット

TumblrにPOSTするためのブックマークレット Operaでしか確認していない上、 超使いにくい。 このブックマークレットを実行すると、画像のURL一覧と入力ボックスが表示されるので、そこに表示されている数字を入力してエンターすればPOSTしてくれる仕組み。 問題は、画像一覧ではなく、画像の URL 一覧を表示してくれるという点。 どの画像がどのURLか分かるかよ、F○ck!! って感じなので後日修正しようと思う。 HaHみたいな感じにしたら、 edvakf さんあたりがもきゅもきゅするよね! ちなみに、POSTが成功すると謎の文字列一覧が表示される。 画面遷移しちゃうのは仕様です。 今後の課題 ・画像指定出来るようにする ・画面遷移せずにPOSTできるようにする  (iframeを作ってそこからpostかなぁ、現実的には) javascript:(function(){ var em = 'your_address'; var ps = 'your_pass'; var type= 'photo'; var im = document.getElementsByTagName('img'); var image_list='Select Number\n\n'; for( var i=0, l=im.length; i<l; i++ ){ image_list += i + " " + im[i].src + "\n"; } var num = window.prompt(image_list); if( num.match(/[0-9]+/) && num < im.length ){ var form = document.createElement('form'); var link = "<a href='" + location.href + "'>" + document.title + "&

Rubyで変数に格納した文字列を正規表現で検索する方法

Rubyで文字列検索を関数化したい時あるよね! え? 無い? まあ、いいや。 変数に格納した文字列を正規表現で検索したい時は以下のようにする def hoge(query) line = "abc def ghi jkl mno pqr stu vwx yz" if /#{query}/ =~ line then p "fooooooorrryyyyyy!!!" end end hoge('abc') 式展開すれば良かったんですねー。 式展開しているサンプル少なすぎるだろ、F○ck! この方法を知るのに2時間もかかってやんの。馬鹿だなぁ、自分。 参考 http://oshiete1.goo.ne.jp/qa916511.html

TortoiseSVNの設定続編。

以前に こんなエントリ 書いたんだけど、サーバ側にそんな設定しなくても回避する方法が分かった!! 問題だったのは、puttyの設定。 puttyに標準の設定って項目があるんだけど、そこにホスト名とか鍵のパスを保存していたのがいけなかった。 TortoiseSVNのネットワークにplinkw.exeを設定する事でようやく原因が分かったというアホっぷり。 どうやら、標準の設定に設定されたホスト名を優先して見に行く動きをするらしい。 そのせいで、なんだか変な挙動をしていたって落ち。 あー、ようやく長年の疑問解決した。 って事で、もし標準の設定に色々設定されてしまった方は、別名保存した後、内容をクリアされることをお勧めします。 TortoiseSVN使っていてなんだか上手く接続出来ねぇよ、F○CK!って人にこの情報が役立つと良いな~。 ではでは♪

頭が良い人と悪い人を分けるたった一つの思考パターン

最近とある増田の日記から火がついているから便乗して(笑) ……なーんて、悪いこと考えながら、30分かけていっぱい書いたんだけど消えてしまったorz 因果応報っと。 やる気がないから結論だけ。 「なぜ」と考える うん。これだけ。 何事に関しても「なぜ」という思考パターンを入れるか入れないかで頭の良し悪しが変わってくる。 「なぜ」という思考なしにただ言われるがままに物事を覚える人はただの馬鹿。 で、企業にとってはそーゆー中身の無い人間の方が使いやすい。 日本の教育もうまい具合に詰め込み形教育だから、中身の無い人間を排出しまくってる。 もっとも、根本的にそーゆー事を親が教えて来なかったってのがあるんでしょうけどねぇ。 本当に頭が良い人は「なぜ」そうなるのかというのを自分なりに考え、自分の意見をちゃんと出してくる。 なので、その意見が間違っていた場合「なぜ」間違えたのかを再検討する。 結局頭が良い人は頭が悪い人よりも多く頭脳を使っている。それだけだよね。 頭を使ってない人が頭悪くなるんだよ。 頭が良い人は頭を使っている。 ね、簡単でしょ? (これを書いている人はもちろん、頭使っていませんorz)

IEというかFirefoxではまった。

いや、結局はIE死ねって話ね。 今日、YahooオークションのデータをいじるJavascript書いていたんだけど、Firefoxでの動作確認が終わってさあ、IE行くぜーってやったら、全然行かなくて。 そもそも、動かない。 そして、エラーすら出さない。 何このブラウザ? マジギレしてconsole.logとかalertとか入れたけど全然動かない。 そこで、Operaの登場。 で、チェックしたらOperaも動かない。エラーコンソールをチェック。 var hoge = item.option[0].new; 上記のコードでエラーが出ていた。分かる人は即効で分かる。 そう、末尾のnewだ。 アホIEはnewという要素を関数と勘違いしているのだ。 #そもそも、responseにnewとか(複数言語の)予約語を含めるとか、ありえないでしょう! #それ以前に、JSONでXMLのデータをごりごりいじろうとしている自分もどーかと思うが。 まあ、Yahooの結果を何も考えずにJSONにコンバートしてるという変態的な処理をかましてるせいで、こーゆーエラーが出ちゃっている訳なんですがねぇ。 なので、一旦、以下のように直した。 var hoge = item.option[0]['new']; だがしかし、これでも動かない。 IE死ねってTwitterにPOSTしまくった。 結局 var hoge = item.optiopn[0]["new"]; でようやく動いた。もしJavascript使っていてIEでエラーが出なかった場合、Operaを一回通すとエラー箇所が見えるかもしれない。

色々リーク。

ここで読んだ内容を誰かに話しても良いようになるべく伏せて書こう。 今やってるお仕事は、Javascriptメインでのお仕事です。 んで、Javascriptが絡んでくる=Web関係のお仕事って訳。 んでさ。 そのWeb関係のお仕事で今回自分が作りこんだのはサイト側でAutopagerizeを実現するというもの。 ほら、FirefoxユーザやOperaユーザはユーザ側でAutopagerizeを作ってSITEINFOとかゴリゴリ書いて対応させたけど、サイト側で対応している場所ってあんま無いよね? 無いから価値が高いんじゃないかなーって自分で思っている。 特にIE! あの駄目ブラウザも対応している点がポイント。 でも、かなりきつかった。 スクロール位置を検索するためのコードが全然効かないの。何このブラウザ。 実際、開発責任者に言ったのよ、Arc「IE対応しなくて良いっすか?」 責任者(以下、責任)「おk」 Arc「マジで?」 責任「マジマジwww」 Arc「いや、やっぱまずいっすよね。一応ユーザ数はIEの方が多いですし」 責任「でも、難しいんでしょ?」 Arc「難しいです。つーか、そうとう大変です」 責任「大変って事は、出来ない訳じゃない?」 Arc「汎用的に作るなら厳しいですけど、サイト側でタグのクラス決めうちなら出来るっす」 責任「ぢゃあ、それで」 Arc「軽いノリですねー」 責任「時間かかっても良いから、お願いね」 Arc「了解っす」 (上記かなりの脚色アリ) とまあ、そんな感じでうまく乗せられて作っちゃいました(爆) Twitterで、たまに IE死ね!死ね!死ね! って発言が流れたら、ArcCosineの中の人がIE専用のコードを書いている時だと思ってください。 ちなみに、IE専用の方がシンプルになったからそれにあわせてモダンブラウザ側のコードを変えたって経緯もあったりします。 IEみたいに出来ない子の方が時には良い結果になるという例でして。 ああ、でも一番辛かったのはCSSかなぁ。 Javascriptは奇妙な手法を取らなくて良いんだけど、CSSは兎に角キツイ。 CSSを見た人はポカーンってなると思う。本当にアレは酷い。 ブラウザハック知らなかったら一個のCSSで対応とか到底無理。 まあ、divとulとliだけでなんとかしようとする自分が悪いのかもしれないけ

tumblrの面白さによーやく気づく。

良く分からずにtumblrしてたけど、ようやく面白さが分かってきた。 tumblrのfollowとreblogの二つを使うと初めて面白くなる。 1.follow followは気に入ったユーザのtumblrが自分のtumblrで見れるようになる。 まだ自分は三人しか登録してないけど、これから増やす。 ちなみに、以下の三人。 http://rancorcool.tumblr.com/ http://caprin.tumblr.com/ http://otsune.tumblr.com/ followは上記のページにアクセスして右上のfollowボタンをクリックするだけ。 らくちん。 2.reblog reblogは、気に入った画像を自分のtumblrにも登録できる機能。 これは便利。つーか、この機能に気づくのに2ヶ月もかかる僕は真性の馬鹿。 馬鹿でいいもーん。 後、最低限Autopagerizeが無いと楽しさは半分になるので、ご用心。 どうでも良い蛇足。 何気に、tumblrのブックマークレット重くね? 高機能なのは良いが、スピードを犠牲にした高機能はあまり好きじゃないなぁ。 I love faster,faste,faster! なので。

Opera9.63のAcid3と最近のLDRと操作性とつまり雑文ってことね。

Opera9.63がリリースされていたので、当然のようにインストール。 ついでにAcid3をやらせたら85だった。 まあ、自分は10Alphaをメインにしたので、毎回100点が出ますけどね。 つーか、アホだよなぁ、Alpha版のブラウザを常用してるなんて。 閑話休題 最近、LDRの使い方をちょい変えてみた。 LDRはFirefoxで見て、ピンを開くのはOperaという変則的な使い方をしている。 というのも、LDRはどうやらFirefoxに最適化されているらしく、スピードが速い。 (逆にGmailとかだとFirefoxよりOpera10の方が速かったりするから不思議) ともあれ、自分は適材適所って言葉好きなので、LDRの消化はFirefoxに任せることにした。 なんだかんだ言って、ブラウジングはOperaの方が好きだからだ。 ある程度カスタムすればFirefox(厳密にはVimperator)でもそれなりにブラウジングは出来るんだろうけど、一回に100タブ前後をザコザコ開く使い方で安心して任せることが出来るのはOperaだ。 こればっかりは、まだFirefoxを信頼出来ない。 後は単にOperaの方が使い慣れているってのもある。 閑話休題その2 個人的にパスワード記憶したサイトの動きについてはOperaの操作感が非常に気に入ってる。 Ctrl+EnterまたはAlt+→でログインして画面を進むのが気持ち良い。 Vimperatorの場合は、ログインボタンをクリックしないといけない。 この差は小さいようで意外に大きい。 操作性の統一性というただ一点において、OperaはFirefoxより気持ち良く使える。 単に自分がものぐさとも……。言いますががががががが。 まあ、そんな感じでOperaを愛してやまないOpera信者の戯言でした。 えんいー。

Gmail+Opera10α=最速!

度肝抜かれた。 何気にOpera10αでGmailにアクセスしたら異常に速くて笑った。 GoogleChromeの1.8倍くらい(当社比)(主観100%) キーボードショートカットを使う人は、j,k,oの速さに泣くはず。 ただ、あくまでもこれは読み込みが終わったあとの動作なので、トータルするとどうだか。 とはいえ、自分は初期起動時間をあまり気にしない性質なので、Opera最強伝説はまだまだ続くという訳である。 ってか、単なるOpera信者(ry

なんとなくうれしい。

autopagerizeは、自分に取っては物凄い技術の塊だと思っていた。 が、自分にも(根性で)実装出来たのがうれしかった。 もちろん、過去にそのソースコードを公開してくれた先人のお陰なのであるが、それでも実際にやるかやらないかでは大きな違いだ。 公開しようと思っているサービスにもこの機能を実装しよう。 本体は実装するほど出来ていないけどorz

馬鹿な話。

深夜にやった凡ミスのメモ。 コンソールからroot権限に変更できなくなって死ぬほど焦った んで、クラックされたんじゃねーの?やべーやべー!とか言いながら、線をぶち抜いたりルータをリセットしたりしていたらら、今度はネットに繋がらなくなって途方にくれました。 放心状態でルータを見たら、 WAN側の線が抜けてましたorz それからは一気に問題解決。 ああ、それにしてもアホなミスだったなぁ(;;) #ちなみに、root権限に変更出来ないのは、ユーザグループを変更したからというお粗末なミスでしたorz

AAテスト

プログラミングRuby 第2版 言語編 プログラミングRuby 第2版 ライブラリ編 一応、今読んでいる本のAA。

ギーク度チェックやってみた。

オタク度を判定する「Geek Test」を試してみた - GIGAZINE http://gigazine.net/index.php?/news/comments/20081213_geek_test/ 気になるテストはこちらから。 http://www.fuali.com/test.aspx?id=2c7d8bff-7f9d-4e46-a4e5-dfd101d894cc ArcCosineの中の人の結果。 I am 40% Geek. You probably work in computers, or a history deptartment at a college. You never really fit in with the "normal" crowd. But you have friends, and this is a good thing. Take the Geek Test @ FualiDotCom 50%に達していなかった。良かった。

昨日のブックマークレットに機能追加。

まあ、何も言わずに以下のブックマークレットに更新してくれぃ。 LDRとLDCをキーボードから変更するブックマークレット 全ソースコードは以下の通り。 javascript:(function(){ if( location.href.match(/clip.livedoor.com/)){ var num = window.prompt('レートを入力', ''); var rate = parseInt(num); if( !isNaN(rate)){ if( rate > 5 ) rate = 5; if( rate < 0 ) rate = 0; var el = document.getElementById('rate_img'); if(!el.getAttribute('orig_src')){ el.setAttribute('orig_src',el.src); } el.src = '/img/rate/pad/' + rate + '.gif'; document.getElementById('rate').value = rate; } }else if( location.href.match(/reader.livedoor.com/) ){ var num = window.prompt('レートを入力', ''); var rate = parseInt(num); if( !isNaN(rate)){ if( rate > 5 ) rate = 5; if( rate < 0 ) rate = 0; v

今週のOutputz

木曜日自重wwwwwwww 12/8/2008 - 12/14 Outputz 82,880文字 powered by Outputz .

LDCのレートをキーボードから変更する。をちょこっと修正した。

さっき投稿した ブックマークレットをちょこっとだけ修正。 折角なので、改行ありバージョンをうp。 javascript:(function(){ if( location.href.match(/clip.livedoor.com/) ){ var num = window.prompt('レートを入力', ''); var rate = parseInt(num); if( !isNaN(rate)){ if( rate > 5 ) rate = 5; if( rate < 0 ) rate = 0; var el = document.getElementById('rate_img'); if(!el.getAttribute('orig_src')){ el.setAttribute('orig_src',el.src); } el.src = '/img/rate/pad/' + rate + '.gif'; document.getElementById('rate').value = rate; } } })(); んで、一行Verはこっちね。 javascript:(function(){ if( location.href.match(/clip.livedoor.com/) ){ var num = window.prompt('レートを入力', ''); var rate = parseInt(num); if( !isNaN(rate)){ if( rate > 5 ) rate = 5; if( rate < 0 ) rate = 0; var el = document.getElementById('rate_img'); if(!el.getAttribute(&#

LDCのレートをキーボードから変更する。

LDCのレートってキーボードで変更できないじゃないですか。 いちいちマウスオーバーとか馬鹿なの? 死ぬの? って事で、カッ!となってブックマークレット作った。 javascript:(function(){ var Rate = {}; Rate.image_path_p = "/img/rate/pad/"; Rate.set = function(rate){ if( rate > 5 ) rate = 5; if( rate < 0 ) rate = 0; var el = document.getElementById("rate_img"); if(!el.getAttribute("orig_src")){ el.setAttribute("orig_src",el.src); } el.src = Rate.image_path_p + rate + ".gif"; document.getElementById('rate').value = rate; }; if( location.href.match(/clip.livedoor.com/) ){ var num = window.prompt("レートを入力", ""); var rate = parseInt(num); if( !isNaN(rate)){ Rate.set(rate); } } })(); これをブックマークに保存 使い方は、LivedoorClipの全画面表示の所で、このブックマークレットを実行。 レートを入力ってダイアログがでるから、数字の1~5を入力すれば、それに対応した星がセットされる。 OperaとFirefoxで動作確認した。変なJavascriptは使っていないので、IEやSafari、Chromeでも使えると思うけど、キーボードから変更しようっていう変人以外にはお勧めできない。 #そもそも、OperaとVimper以外でこんな事考える奴はいないんじゃな(ry

TortoiseSVNでsvn+sshでハマッタ件

ずっと前から半ばあきらめ気味だったsvn+sshでの接続が急に出来るようになったのでメモ。 TortoiseSVNでサーバへsvn+sshで接続しようとすると「command not found」というエラーメッセージが出まくってほとほと困っていた。 で、その解決策。 サーバ側のauthorized_keysに以下を加える。 command="/path/to/svnserve -t -r /virtual/root" ssh-dsa AAAABBBB999CCC.... hoge@hoge.hoge SSHの設定がちゃんとできていないので、この症状が出てるんだろうなぁ。 ひとまず通るようになったから良かった良かった。 参考 capsctrldays - バスタオルを一回使っただけで洗濯する派ですか? , svn+sshの設定方法 http://capsctrl.que.jp/kdmsnr/diary/20060704.html

LivedoorReaderの隠しショートカット?

LDRの隠しショートカットを見つけたのでメモ。 セミコロンを押した後、数字キー1~5+Enterでレートの変更が出来る。 某人間の台詞の所に入力したのが出るので便利。 これ、LivedoorClipにも欲しい機能だなぁ。 元ネタ Yoshioriの日記: livedoor Reader でレートをショートカットキーで変更する Greasemonkey 用スクリプト http://yoshiori.org/blog/2006/09/livedoor_reader_greasemonkey.php

怪しげなコード書いています。

自前のサイトでAutopagerizeするためのコードをゴリゴリと書いています。 特徴的なのは、XMLHttpRequestではなくJSONPの遅延ロードを使ってやっている事。 本当に怪しげな感じです。これで読み取り中のアニメーションでも付ければ完璧っすね。 問題は、Autopagerizeの機能を単品で提供できる仕組みを考える事。 結構難しいです。 出来たらどこかで報告したいと思います。

JSONPの遅延ロード

JSONPで遅延ロードするコードをごりごり書いた。 かなり嘘コードなので、信じちゃ駄目。 イメージとしては、WebAPIのJSONP経由で自前のCallBack関数で処理してた人は参考になるかも。 意味不明な日本語だねぇ(笑) 肝になるのは、callback1.flgとcallback2.flgを処理が終わった後でtrueにしているところ。 これを設定する事で、initの中のwait関数が動くわけ。 もっとシンプルに書ける方法があるかもしれないので、知っている人はコメント欄なりトラバなりで教えてください。よろしくお願いしますm(_ _)m //遅延ロードsample //ma.la 's wait function //http://la.ma.la/blog/diary_200702210356.htm function wait(a,func){ var check = 0; try{ eval("check = " + "(" + a + ")" ); }catch(e){ } if(check){ func() }else{ var f = function(){wait(a,func)}; setTimeout(f,100); } } function init(){ parseScript('http://hogehoge.hoge/hoge1.js'); parseScript('http://hogehoge.hoge/hoge2.js'); wait( 'callback1.flg' , function(){ wait( 'callback2.flg', function(){ alert('finish'); }); }); } function callback1(){ //処理 alert('hoge1'); callback1.flg = true; } function callback2(){

Google ChromeのDevelopperバージョンをダウンロードする方法

英語が読めれば2秒で出来る(大嘘) 1.まず、ここにアクセス http://dev.chromium.org/getting-involved/dev-channel/ 2.Google Chrome Channel Chooserをダウンロードする 3.Google Chrome Channel Chooser(chromechannel-1.0.exe)を実行すると↓みたいな画面が出てくるので、devを選択。 4.Updateボタンを押せばOK。 5.×ボタンでGoogle Chrome Channel Chooserを終了させた後、GoogleChromeを更新するとDevelopperバージョンがダウンロードされる。

iKnowでBrainSpeed

ベストスピード62単語/分。 これって早いほう?

恥ずかしい話。

はてなブックマークの新しい登録ブックマークレットは危険 http://slashdot.jp/comments.pl?sid=428647&cid=1463675 自分が投稿したネタ。はてなの新ブックマークレットがどんな物か良く分からないで書いているのが分かる。 恥ずかしいorz #1463969のレスにあるとおり、「ページ内JavaScriptウィンドウ」なので、アドレス表示出来ないという罠。 Dragonflyで確認したら、div要素だった。 つまり、div要素をcreateElementして、body要素にappendChildしてる。 (ソースは読んでいないので、これが正しいとは限らないけどこれ以外の方法はまず考えられない) これの危険性は 高木先生の日記 に詳しく書いてあるが、フィッシングの脅威があると言う点である。 どこで起きるのかというと、はてなにログインしていない状態でそれが起きるって書いてある。 なるほど。そーゆー事か。 裏を返すとはてなにログインしている状態ではこのブックマークレットは使っても差し支えないと判断してよいのかな? この辺はギークかそうじゃないかで意見が分かれるなぁ。 でも、高木先生の指摘では一般人はそこまで分からないからエラーが発生するかもしれないシステム作るなボケぇと噛み付いているんだなぁ。納得。 結局、システム使う人の安全を考えないと駄目って事ですね。 Webシステムの開発は難しいねぇ。 見た目のカッコよさは必要なんだけど、それだと多分不足なんだよね。 新はてぶのブックマークレットで、「ページ内JavaScriptウインドウ」が表示されるのは実は問題じゃなくて、その「中」で「ログイン認証」するのが問題なんだよね。 ログイン認証の部分はポップアップ表示してアドレスを確認できるようにしないと駄目だよねーって事か。 おk。理解した。 今後自分がシステム開発でログイン画面作るときは「ページ内JavaSc(ry」に表示しないようにしようっと。 難しいなぁ、セキュリティは。

はちゅね in Opera

偉大なる元ネタサイト [Opera][3D]Operaで「はちゅね」を動かしてみた これはwwww はちゅねがぐるぐる動く様子はすっごい面白かったです。 後で自分もごにゅごにゅしてみよう。 ちなみに、通常版のOperaでは確認できません。 開発版Operaにて動作確認できます。 http://labs.opera.com/news/2008/11/25/

このサイトへ訪れるブラウザ比率

以前にもやったこのサイトのブラウザ比率。 あれから少し変動がありました。 Firefox 38.45% IE 26.80% Opera 26.42% Chrome 4.33% Safari 2.68% その他 略 Firefoxの利用率がアップし、変わりにOperaが落ちました。 IEも若干落ちています。 Chromeは変わらず。 Safriは若干アップって感じですか。 ってか、何でこんなにFirefoxのパーセンテージがアップしてるんだろう。 うーむ。

ガラパゴスケータイじゃない

今まで日本の携帯はガラパゴス、ガラパゴスって言われてきたけど、実はそうじゃないんじゃないって話。 結論から言うと、ガラパゴスなのはキャリア。携帯キャリア3社がガラパゴスなんだよ。 携帯を普及させるためにやってきた0円携帯のばら撒きを携帯キャリアがやる事によってパワーバランスが完全に狂ってしまい、携帯電話を作っているメーカーではなくキャリア主体の携帯業界になってしまった。 結果どうなったかというとガラパゴスという単語が何度も出てくる世界になってしまった。 だからNokia撤退という悲しい事態になる訳です。 正直、日本の携帯端末に魅力を感じないのは、どの端末にもキャリアの「色」が色濃く出てしまっているからだと僕は思います。 結局、日本を孤立させたのはほかならぬ携帯事業者。中心核ですよ。 日本ってこーゆー傾向が多いよね。 過去の例から全く学ばないこの国の企業体制はある意味驚愕というか驚嘆。 意味同じだって。 ともあれ、ここまで成長してしまった分野は修正効かないから仕方が無いよね。 SIMフリーな状態だったら携帯業界はもっと別の形になっていた気がするんだよね。 (あくまでも気、ね) だから、ニュースサイトの人はガラパゴスケータイって言うのはもう止めようぜ。 ガラパゴスキャリアって言おう。 そっちの方が自分としてはしっくり来る。

Google Readerリニューアルした?

さっき久々にGoogleReaderに行ったらリニューアルしていてびっくりした。 え、ナニコレ? 軽くなったのかもしれないけれども、残念ながら最近はLDRばっかなので、動作の差異が分からない。 ヘビーユーザさんにその辺は任せておこう(ぉ

Opera 10 alpha1 Released!

Presto2.2エンジン搭載のOpera 10 Alpha1がリリースされました。 Acid3で100とかどんだけ無茶したんだ、Opera開発チーム。 今回のリリースで初めて自動更新機能が着いたらしい。 今まで毎週更新してるようなアフォなユーザだから、そういう機能がついても「ふーん」としか感じない。 どう見ても変人です。本当にありがとうございました。 ちょっと使ってみた感想としてはなんか起動が早くなったかもしれない。

自分とコンピュータ&プログラムの歴史

プログラムを読み書きできるようになるために必要なエッセンス - 探神 http://d.hatena.ne.jp/clock9/20081203/1228270475 ここのプログラム学習ルートを見て自分とPCの歴史を振り返ってみようと思った。 1.隣のおじさんからIBMのPCをもらう(10歳ごろ)  ・なんかグラフィック動いてる、カコイイ!  ・実はBASICで書かれた超高度なプログラムだった。  ・多分、ベースはMSX-BASIC  ・当時はグラフィックを見てるだけで満足 2.MSX-BASICの本を手に入れ、PC-9801を手に入れる(11~12歳ごろ)  ・勉強用に手にしたBASICの本がMSX-BASIC  ・でも、手にしたPCは9801  ・\(^o^)/ 3.ベーマガの存在を知る。(12~13歳ごろ)  ・ベーマガの存在を知り、色々とコードを打ち込んでいく。  ・FM-TOWNSのコードも打ち込んで動かなくて泣いたのは今では良い思い出。  ・DISK版 N88-BASICをこの時に知る。  ・平行してポケコンも手に入れていた。確かPC-1250。  ・もぐら叩きゲーム作った気がする。 4.DOS版 N88-BASICにはまる(13~15歳ごろ)  ・中学三年間はひたすらN88-BASIC。  ・最終的にはマシン語を使ったプログラムを書くようになる。  ・オリジナルゲーム(のバグ)に定評のあるArcCosineでした。  ・最大1000行程度のプログラムだったので、地味にしょぼかった。  ・この当時、9821を手に入れたり、MS-DOSに触ったり、一太郎JUMPを使ったりとある意味一番楽しかった時期。 5.Windws3.1に出会う(14~17歳ごろ)  ・メモリが少なかったので、config.sysとautoexec.batをひたすらvzで編集する  ・この当時はMS-DOSとWindows3.1を同時に勉強している感じ。  ・秋葉原を訪れたのもこの頃。 6.Turbo Cに出会う(17~18歳ごろ)  ・知り合いからTurbo Cを譲ってもらう。  ・真面目にC言語の勉強をする。  ・行番号がない事に俺、涙目wwwww  ・配列、ポインタ、構造体の概念を学ぶ。  ・#includeの意味が分かるまで相当時間がかかった。  ・学校の授業でも習った。情報

LDRの凄さを改めて実感。

今日公開フィードをたくさん突っ込んだ。 おかげで、5000フィードを超えるユーザになってしまったorz まあ、それはともかく。 そんだけいっぱいフィードがあると中には自分の読みたくないフィードだってある。 んで、それを編集画面から選択して消すという作業をする訳なのだが、これは超絶に面倒だろうなぁと勝手に想像していた。 んが、それはただの杞憂に過ぎなかった。 読み込みはかなり時間がかかるものの、読み込んだ後の快適さにはびっくり。 文字による絞込みはもちろん、一覧の前後移動とかめっちゃサクサクと動く。 多分、最初の読み込みでメモリに必要な情報だけ突っ込んでいるんだろうけど、ここまで快適に動くと感動モノである。 で、そこで気がついたのが5000フィード近い量を前提としたシステム設計だったんだなと。 LDRは大量にフィードを閲覧するGeek向けのツール(サービス?)なので、これくらいの量は想定内だ、という事だ。 これは何気に凄い事じゃないかと思う。 非一般的な使い方をする人間が何を求めているのかキッチリツボを抑える事は、普通出来ない。 色んなノイズが入って使いづらい物が出来上がるはずが、そうなっていなかった。 LDRの作者は凄いよなぁ。もちろん、それをリリースする事を許したLivedoorもだけど。 最初はGoogleReaderから入ったけれど、今ではLDRが無いと生きていけない体になっている。 むう、困ったなぁ(ニヤニヤしながら)

windowsのvimでoutputzをやるためのメモ

outputzひゃっはーな人用のメモ。 ・VimとcURL.exeのインストール vimはkaoriya版の7.1使用。(自分はgVim.exeを利用している) http://www.kaoriya.net/ あと、curl.exeをダウンロードしておく事。 同じページにあるので、忘れずに。 curl.exeはgvim.exeと同じディレクトリに突っ込んでおけば幸せになれる。 ・outputz interface for vimをダウンロードする。 outputz - outputz interface for Vim : vim online http://www.vim.org/scripts/script.php?script_id=2455 Verは0.0.1を落とす事。 ダウンロード完了したら、ひとまず展開。 ・outputz inteface for vimの修正 展開すると、フォルダが出来てるので、autoload/outputz.vimを編集する。 編集内容は以下のサイトを参考に。 Windowsのvimでoutputzのカウントを行う - /halt/Snapshot http://project-p.jp/halt/anubis/blog_show/1141 なんかデフォで折りたたまれてるぜF○ck!という人は落ち着いて、zOコマンドをやってね。 http://www.ksknet.net/vi/post_183.html ・_vimrcの編集 最後に_vimrcを編集する。 _vimrcはC:\Document and Settings\ \の直下にいる。 そこに以下の二行を追加。 let g:outputz_secret_key = 'outputzの復活の呪文' let g:outputz_uri_function = 'http://example.com/vim' これで全ての作業は終了。 後はひたすらvimでコード書きまくればoutputzに大量にリクエストが飛びまくる。

Webアプリケーションの優位性

Webアプリケーションの優位性はなんだろうか。 端的に言ってしまえば、ネットワークを介する事でどこででも同じデータを取得できるという点だと思う。 それ以外は特に無い。 なので、どこででも見たいデータ以外はWebアプリケーションにするプライオリティというか重要性が低いと僕は思う。 では、どこででも見たいデータとはなんだろうかと考えるとToDoだったりスケジュールだったりメールだったり、メモだったりする訳で、それ以外は意外と一箇所で見れれば良いやってデータだったりする。 つまり、人間というのは不器用なので思った以上にデータを処理出来ない訳でして。 だからこそ、Webアプリケーションよりデスクトップアプリケーションの方が優れている理由なんぞそれこそ山のようにあるわけですね。 Webアプリケーションはその性質上、「小さくて」「誰に見られても良いデータ」である必要があります。 見られたくないデータはやっぱり各人のコンピュータ内に保持する方が懸命だと判断します。 そういう意味では、Gmailやremember the milkやQuillは良い点に着眼したと思うし、Operaのメモ機能というかOpera Linkはすげーなーって感じる訳ですよ。 例のごとく駄文でした。\e