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

投稿

2010の投稿を表示しています

2010年を振り返る(駆け足で)

今年を振り返ってみるか 今年も色々ありましたので、だだーっと羅列したいと思います。 ・Zencoding導入により、コーディングスピードが10倍(誇張表現)に ・謎コピペ量産(主にOperaとか高専とか技術者ネタとか) ・IE6 must dieキャンペーン実施→今はもうやってない←えっ ・Opera Show with Twitter Searchを製造 ・Vim like on Safari(笑) ・将棋熱衰えず ・コーディング熱衰えず ・本業が普通に忙しくなってきた ・Skypeが常駐するようになった ・Twitterに常駐(ry

Rubyのスレッドプログラミングで悩んでいます。添削お願いします><

Rubyのスレッドを一定数に抑えたい この書き方がスマートかどうか分からないので、ブログにアップして添削を待つというWeb2.0な対応(意味不) やりたい事は、Rubyのスレッドを一定数以下に抑えたい。 例えばスレッドを一気に20も30もがーっと立ち上げるんじゃなくて、5個とか10個とかこちらでコントロールできる範囲でそうしたい。

ブラウザの拡張をつくろう!

いつもの前振り 初めましてもそうでない方もお元気ですか。 元気があれば何でも出来る!出来ません。 JavaScript Advent Calender 、13日目担当のArc Cosineです。 今回はJavaScriptのネタを何か書こうと思いましたが、どうせならツールの一つくらい作ったほうがいいだろうと言う事で土日に突貫工事で作ってみました。 Extension Maker http://www.tunsns.net/ExtensionMaker/ 時間切れで間に合いませんでしたが、Opera拡張だけは作れるようになっていますので、試してみてください。 チュートリアル トップヘアクセスしたら右下にある「今すぐ試してみる」をクリックしましょう。 そうしますと、基本情報を入力する画面が出ますので、必要な情報を入力してください。 今は入力チェックしていませんが、将来的にはちゃんとチェックするようにします。 次に、コードを入力する画面が出てきますので、ここにコードを貼り付けましょう。 Operaで動くUserScriptを試しに貼ってみると良いでしょう。 例えば、僕が昔書いたcolorful_favstarとかね! コード貼っておきますね。 コピペする場合は、view plainをクリックすると楽にコピペ出来ますよー。view plainの文字、薄くて見づらいけれど。 // ==UserScript== // @name Colorful Favstar.fm // @namespace http://moco.nond.es/ // @description Change tweet color and font size by favourites count like Favotter.net. // @version 0.1.1.20100808 // @include http://favstar.fm/* // @include http://ja.favstar.fm/* // @include http://de.favstar.fm/* // ==/UserScript== (function(doc){

新しいはてなブックマークボタンにしてみた。

テンプレートをいじれば誰でも簡単に新しいはてなブックマークボタンを利用することが出来ます。 Bloggerに慣れた人なら簡単だね!!! ……そんな簡単に直せませんって。 <div class='post-header'> <div class='post-header-line-1' style='margin: 10px auto 1.5em auto;'> <b:if cond='data:post.url'> <a expr:href='"http://b.hatena.ne.jp/entry/" + data:post.url' class='hatena-bookmark-button' data-hatena-bookmark-title='data:post.title' data-hatena-bookmark-layout='standard' title='このエントリーをはてなブックマークに追加'><img src='http://b.st-hatena.com/images/entry-button/button-only.gif' alt='このエントリーをはてなブックマークに追加' width='20' height='20' style='border: none;' /></a><script type='text/javascript' src='http://b.st-hatena.com/js/bookmark_button.js' charset='utf-8' async='async'></script> </b:if> </div> </div>

5分で作るOpera エクステンション

5分で作るOpera エクステンション Opera エクステンションがやって来るヤァ!ヤァ!ヤァ! Opera11が発表されましたが、皆様いかがお過ごしでしょうか。 開発者でない人でも、簡単に作れるOpera エクステンション。 作成するファイルは僅か5つ。 ・index.html ・background.js ・popup.html ・test.png ・config.xml 早速、作ってみましょう。 用意するもの Opera 11 あと、圧縮ツール。zip圧縮出来るならば、何でも良いです。 実際に作ってみよう まず、index.htmlを作りましょう。 <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>MyTest</title> <script charset="UTF-8" src="background.js" type="text/javascript"></script> </head> <body> </body> </html>

連想配列を使おう

きっかけ JavaScript関係のエントリで気になるコードがありました。 それは、以下の二つ 半角カナのスタイル名を全角カナに変換する - 名もないテクノ手 JavaScriptで半角英数字を全角英数字に変換する関数|本を買わずに解決するWeb制作の小技 問題点 どちらも、半角と全角の変換をするだけの簡単なコードなのですが、その変換用の辞書に使っているのが二つの配列というのがちょっと残念。 この程度の量であれば問題ないのですが、こういうコードメンテは大変面倒です。 辞書が増えて、配列の「順番」が変わった時にバグる という危険性も含まれています。 それでは、こういう時にはどうすれば良いのでしょうか。

高専にはアホしかいない.

ネタです 高専っていうのはつまらないところだ. アホしかいない. 学生も骨がないのばかりだし, 本当にただの学生である. それは違う. 研究室の学生は教官と対等である. それが研究というものだ. 授業においてはそうではないかも知れない. しかし, 研究室に入ったからには独立の精神を持って自分の意志で研究テーマを選択し実行しなければならない. こんな当たり前のことがほとんど行われていない. というか皆無である. これではどこぞの三流大学とどう違うのだ. 高専生の気概を持つべきである. おれたちはエリートなのだという意識を持ち, 教官のいうことにはまず逆らうことから思考すべきである. なんでもはいはいと言うことを聞いて, それではダメだ. 大体において, なんでもかんでも正しいアドバイスが出来る人間が高専の教官なんかやってると思うのか? おれたちは, これから日本を引っ張っていく人材にならなければいけない. その時におれたちにアドバイスをくれる人間はいない. 常に自分たちで思考し, みんなを引っ張っていく必要がある. それは三流大学の学生との違いだ. 彼らは教官のいうことを大人しく聞くことが研究であるが, おれたちは教官と対等に意見することが研究だ. これが出来なければ, 一体どの世界でリーダーになれるというのだ. もちろん, 研究能力において教官というのは多少は優れてるのだろう. 特に論文の書き方についてはまぁまぁ従うべきだ. しかし研究の内容については, とことん言い争うべきだ. 納得行かないことがあればとことん反論すべきだ. はい分かりましたはい分かりましたと連打するような学生であってはいけない. 研究テーマがつまらんと思ったらとことん拒否すべきだし, 教員の無能さを見抜けばとことん指摘して攻撃すべきだ. 場合によっては精神的に潰しても問題ない. というか, おれは教員というものが向上していくとすればそれは学生との対話の中でしかないと思っている. 彼らにとって, 学生と対話したことは生涯における価値なのだ. 学生と対話することを拒否するような教員は教員失格であろう. 一体何のために生きているのか. そんなに教官であることが誇らしいのであれば, おでこに私は高専の教官ですとマジックで書いて闊歩してみなさい. 日本人の教官にすら意見出来ない人間

あから2010が指した5七角について

この記事を読む前に 罪山罰太郎さんのこのエントリを先に目を通してください ■ 【レポート】プロ棋士vsコンピューター - 「あから2010」の威力を目撃してきた (1) 歴史的な対局が行われた | エンタテインメント | マイコミジャーナル ■ 俺の邪悪なメモ - ハートキャッチあから?! ついでに、脳内将棋盤を用意してください。 5七角は本当に理外の一手なのか マイコミジャーナルの方で書かれていますが、5七角は果たして理外の一手だったのでしょうか。 控え室でも検討されていなかったとありますが、改めて冷静にこの局面を分析してみたいと思います。

ニコニコ動画用の自作スクリプト更新

またニコニコ動画のHTMLが変わりましたね そのままだと不便なので、自作スクリプトを更新しました。 nicovideodown.js userscripts.orgに更新しました。 http://userscripts.org/scripts/show/84552 へアクセスして、ダウンロードして下さい。 自力で直せる人は自力で直しちゃってください。 nico_description 今回から、DOMContentLoadedで発火するようにしていますので、ファイル名を「nico_description.js」に変更してください。 また、今まで無駄にオブジェクト指向していたのを撤廃して、ふつーに連想配列にしました。 これでいーよね。 // ==UserScript== // @name nico description // @namespace http://looxu.blogspot.com/ // @include http://www.nicovideo.jp/watch/* // @author Arc Cosine // @version 3.0 // ==/UserScript== (function(){ var NDesc = { com_style : { 'color' : '#1259C7', 'text-decoration' : 'underline', 'padding-left' : '5px', 'cursor' : 'pointer' }, options : [ { 'text' : '広告表示', 'func' : function(){ NDesc.ad_toggle(); } }, { 'text' : 'Video詳細', 'func' : function(){ NDesc.description_toggle()

多分、誰か既にやってると思うけれど

Operaで、tumblrのスクロールが変 Operaでtumblrを使っていて前から、スクロールが変だなぁと思っていました。 tumblrはデフォルトで、j/kで画像を上下にいけるのですが、Operaでみてると何故か数ピクセルだけ余計にスクロールするんです。 そのため「○○user」の部分が見えなくて、若干苛立を感じていました。 他のブラウザではそんな事ないのでなんでかなーと思いつつも、生きていくのさほど影響が無いので放置していました。 ところが今日、ふとある事に気づきました。 世の中 変なOpera使いは少ない と思いますが、JやKにScroll up/downアクションを割り当ててる人っていると思うんですね。 それが、悪さをして数ピクセル余分に移動してるんじゃないかなと思ったわけです。 そういう訳で、書いたUserScriptは以下のようになります。 名前は keyaction_cancelar.js で。 Opera限定で使いましょう。むしろ、Opera以外使い道が無い。 // ==UserScript== // @name keyaction canceler // @namespace http://looxu.blogspot.com/ // @include http://www.tumblr.com/* // @author Arc Cosine // @version 1.0 // ==/UserScript== (function(){ var keyList = {'J':'dummy','K':'dummy'}; //You can add more key. window.addEventListener('keypress',function(e){ if( e.target.tagName == 'INPUT' || e.target.tagName == 'TEXTAREA' ) return; var pressKey= String.fromCharCode(e.which).toUpperCase(); if( typeof ke

Smooth Scrollのブログパーツ作りました

こりずにブログパーツを作りました といっても、某有名なSmooth Scrollスクリプトを丸パク(略 ま、どこかで見たコードだなぁと思っていただければ幸いです。 ダウンロード&デモ ダウンロードはこちらからお願いします。(新しいタブまたはウインドウが開きます) http://sites.google.com/site/mksdcom/Home/smooth.js デモページはこちら(新しいタブまたはウインドウが開きます) http://tunsns.net/smooth_test.html ライセンス ライセンスはPublic Domainです。 いつものごとく。 商用利用・非商用利用問わずお使いください。 サポートブラウザ Opera 9.5+ Google Chrome 5.0+ Firefox 3.5+ Safari 4.0+ IE 6.0+ Firefoxの3.0でも動くかもしれませんが、手元にない為、確認出来ていません。

久々の物欲

マウスは最初はMicro Hard Soft社製のマウスを愛用していましたが、数年前にLogicoolに乗換て以来、ロジクール派です。 んで、今日ふと見たこのマウスが欲しくなった! 物欲センサー全力ONって感じです。 ああ、いいなー、トラックボールいいなぁああ。 お金はありませんが。

将棋の棋譜 大逆転

今回の将棋のハイライト

VIM Like on Safariを更新しました。

忘れた頃にアップデート http://code.google.com/p/vimlike-onsafari/ 更新内容は下記の通りです ・「J」「K」でタブの切替を出来るようにしました(vromeのパクリ) ・ヒントキーをオプションで変えられるようにしました。  ・デフォルトではasdfghjklです.  ・1234567890にする事も可能です。 ・Metaキーを取得するようになりました(まあ、でも、キーが対応してないので意味がな(略)) ・Macな人でMetaキーが効かないよという人は 連絡 下さい。 ・CSS使ってみた。特に意味はありません。 ・useonlineモードは本当に便利なので、騙されたと思って使ってみてください。  ・(vimperator以外の)他の拡張って何故かそういうのをデフォルトで搭載してないよね。  ・まぁそもそも、そこまでキー入力に拘るアレゲな人はいな(ピチューン 以上です

mouseover、mouseoutイベントについて

JavaScriptでmouseoverとmouseoutイベントを使ってごにょごにょするコードを書いていたんだけど上手くいかない。 jQueryではmouseenterとmouseleaveというのを作って上手くやっていたが、今回実装しようとしているコードでは上手に動かすことが出来なかった。 多分、position:absoluteなものを表示してるからだと思う。 マウス周りのイベントって難しいよね。 やれやれ。

現役プログラマが、開発環境について二言三言語る

いろんな議論がされていますね 最近、IDE最高とか、CUI最高とか、Emacsは捨てろとか、今時Vimはねーよとか、色々議論が活発ですね(遠い目)。 僕の観測範囲は偏っているので、IDE最高とかEmacs捨てろみたいな事を言う人はどちらかと言うと少なく、むしろVimやEmacsをどうすればもっと楽しく使えるだろうかみたいな考え方をしている人が多いように思えます。 そりゃ、僕自身もVimをエディタ兼開発環境として活用しているのでそういう情報を好んで仕入れているというのがありますけどね。 プログラマは几帳面な面倒臭がり ところで、プログラマってものすごく几帳面な人が多い気がします。 ただ、その几帳面の方向が色々変わっているので、他の人には中々伝わらないところがあります。 (細かすぎて伝わらないモノマネ選手権みたいなイメージですな) そして同時に、とても面倒臭がりな人が多いのも事実です。 実際、僕もとても面倒臭がりです。 なので、どうやった手を抜けるかという事を考えるのが好きです。 手を抜くためにコードを書いているといっても過言ではありません。

親のありがたさ

本日、救援物資が届きました 最近、外を練り歩く事が多くなっているという話を親にしたところ、早速救援物資を送ってくれました。 (熱中対策水という500mlペットボトル×6、OS-1という点滴液もどき×6) 老婆心と切り捨てることも出来ますが、僕は素直に感謝したいと思いました。 熱中症になってほしくないという親心が実にありがたいです。 というか、ようやくそういう事を素直にありがとうと言える年齢になったのかもしれません。 五年前でしたら、照れの方が勝っていたと思いますが、最近は照れずにありがとうと言う事の大切さを痛感しています。 なので、早速電話でお礼を言いました。 あとどれだけ 親と過ごす時間が自分に残されているのだろうかとふと考えると、本当に限られた時間しか接していない事に気づきます。 一人暮らしをしつつ、実家から離れたところに暮らしていると、中々お互いの事を知ることが出来ないので、どうしても共に過ごす時間というのが短くなりがちですが、自分の方から時間を作り、親孝行出来ればなぁと思いました。 いや、そもそも今の生活が送れているのも、ましてや僕が生まれてきた事、育てて来てくれたこと。 それらを考えると、親に感謝しなくちゃならんという気持ちになりますね。 これを読んでいる貴方は、最近、親に「ありがとう」って言ってますか?

JavaScriptだけのGoogle検索作りました。

個人サイトに置いてあります Search Box LooxUと初音ミクで行こう!のGoogle検索結果を表示するだけの簡単なツールです。 まだβ版ですので、色々修正が必要だとは思いますが、告知だけ。 jQueryとか一切使っていないPureなJavaScriptでもここまで出来るんだよって事をやってみたかっただけです。 ソースはPublic Domainなので好きなように使ってください。

ニコニコ動画をダウンロードするUserScriptを更新しました。

1日で更新 更新早いよーとか言わないでください。 はてなスターとかはてブとかLDCで引用したりしないでください。 えっと、まず変更点をば ・DOMContentLoadedが効く場合と効かない場合を分けて処理しています(拡張子がuser.jsの時と.jsの時ね) ・mallowlabsさんに指摘された、詳細非表示の時にもダウンロードリンクを出すようにしました。 ・あと、Opera専用になりました。  ・他のブラウザでは、contentWindow.postMessageが触れなかったのだよ、ワトスンくん。  ・UserScriptじゃなければ特に問題ないんだけどねぇ。  ・それ、なんて拡張機能(アドオン)?  ・真面目にやるとアレなので、真面目にやりたい方にお任せします。 ・Safariな人は標準機能でダウンロード出来るから、このスクリプトはいらないよね。 ソースコード

ニコニコ動画をダウンロードするUserScriptを書きました。

ニコニコ動画ってダウロード出来るのだ UserScriptを使えばなっ! 地味にクロスドメインな感じだったので、window.postMessageを使って色々やってみました。 元ネタは、 ニコニコ動画をダウンロードできるようになるGreasemonkeyスクリプトのOpera版(管理人日記) - むぅもぉ.jp だったのですが、postMessageベースになってしまったので、まるまる書き換えたイメージです(笑) 日付を見ると、3年も前のネタなのかー。そりゃ、動くはずがない(笑) ライセンスはいつもどおり、public domainにします。 例の如く、Operaでしか動作確認していませんが、FirefoxやGoogle Chromeでも動くと思います。 Safariは……分かりません(笑) UserScriptが動くならば或いは……。 8/28追記 == 追記ここから == 確認した所、Operaでしか動きませんでした……orz テコ入れします。 == 追記ここまで == ブックマークレットでは絶対動きませんので、なんとかしてやろうとか思わないでくださいw UserScript.org nicovideo down for Greasemonkey http://userscripts.org/scripts/show/84552 Firefoxな人やコピペ面倒という人は↑をどうぞ ソースコード ソースコードは下記の通り

vimでの文字化け回避

自分用メモ set encoding=utf-8 ".vimrc(_vimrc)が cp932の場合 scriptencoding cp932 これを_vimrcに設定しておくとコピペの時に文字化けしなくなる。 windows限定の話。 参考リンク vim/gvimのUTF-8化とファイルの文字コード自動認識 - fudist

マウスカーソルを変えてみた。

マウスカーソルを変えてみたって何? マウスポインタの形状に関する私見 上記の記事を読んで初めて気づいたのですが、Operaだけが本文のマウスカーソルがデフォルトのままで、少しびっくりしました。( 参考 ) このBlogはOpera大好きな変人が運営していますので、早速先の記事を真似てbodyにcursor:default;を記載しました。 Opera以外のブラウザを使っている方は参考リンクの本文と比較してみて下さい。 今回のCSSの修正で、どのブラウザで見てもOperaで見てるっぽい雰囲気が出るようになりました。 もちろん、それで違和感を感じる人は少ないと思います。 (実際、僕は違和感を今まで感じていなかった) もう少し書かせて 今まで見落としていた箇所でしたが、今後CSSを書く時はマウスカーソルの状態も考えながら書いてみたいと思いました。 でも、文字選択時はI字のカーソルになっちゃうんですよね。 その辺上手く書き直せたら良いなぁと思います。 以上です

javascriptは外部ファイルにした方がいいの?それとも、インラインの方が良いの?

事の発端 os0xさんのブログコメント で、javascriptの書き方について、面白いやり取りがありましたので、それについての私見を書きたいと思います。 結論から言いますと、プログラマ的な立場から言わせて頂くと、外部ファイル管理が望ましく、コーダ的な立場から言わせていただくとインラインが望ましいです。 なぜそのような結論に至ったのか、まずは経緯を御覧ください。 コメント欄でのやり取り os0xさんのブログコメント欄を引用しています

「X分で読めるよ」のブログパーツ作ったよー!

サイトの滞在時間を13.8%伸ばすブログパーツです 参考画像 元ネタ たった一行追加するだけでサイトの滞在時間を13.8%伸ばす方法・・・ - IDEA*IDEA ~ 百式管理人のライフハックブログ これのリンク先を読んだり、 カヤックさんの所のエントリ を読んだりして、PHPとかに手を入れなくてもなんとかする方法を考えてみた。 ぶっちゃけ、javascriptで出来るんじゃないかなぁと思って書いてみた 導入の仕方 Bloggerの方は、以下のコードをコピペするだけ

JavaScriptのイベント

それはとあるユーザのつぶやきから始まった Twitterの以下のつぶやきを見て、ちょっと考えてみました。 http://twitter.com/altnight/status/21403130106 @ os0x 質問です。Javascriptにおいてイベントの実行順序で詰まることが多いのですが、これを体系的に(あるいは効率的に)学ぶにはどういった方法がいいでしょうか?なにを知るべきでしょうか? JavaScriptはイベント処理が変態的なので、その癖を掴む必要があります。 ということで、以下に僕なりのイベントに関する考え方をまとめてみました。 イベントとは何か まず、前提としてイベントとはなんぞやほいという話です。 イベントを日本語訳すると行事とか出来事とかになりますね。 プログラムの世界で言うならば例えばマウスをクリックしたとか、キーボードを押したとか、ページを読込み終わったとかそういう処理のことを「イベント」と呼んでいますね。 大前提なので書くまでもないのですが。 イマドキのイベント関数 JavaScriptを学びはじめて間もない人はどうやったらイベントを「追加」出来るのだろうかと考えますね。

AAテスト

            _,,... --‐─- 、.,          , '´           `' .、       ,. '"´                ヽ.         /L,     /                ヽ      '、        / /    /        ,〈     i / !   ',     ヽ、    //    ,'     |  ,! ト、  | />‐くハ  ,|      `ヽ. ´    !    ,ハ __八| \|'´ i´ ハ〉! /'ト-‐ァ     / ',    ',  i   .|./ ,!-、     ゝ-゚' レ'| .ハン\ /   !     ;'´i ,.-、   一回だけおことわりするわ    )八   !.イ !,ハ      ⊂⊃/´    !/    / (`ヽ. ./ .レ' /!   ああ妬ましい妬ましい    '´   \,ハ  ゝ'  '       ハ __/   /  _.〉 i/  / .//      / /ー-!⊃   ‐ ´     ∨ `Y:::`X>ー-ァ'´      ' /      !/   ト 、           ,ハ //:::;「  rハ、__r‐-、_,.イ、      ,'   ,ハ  |`7ァ=rァ'i´-‐'  ,./、::::::/   /ゝ-、__   r、__ノ)      ! /∨\ レ',..イ:::〉、__ノ/::::::>/   !    ` ̄   !      )'     )/´ |∨::|__/::/::/::/   八         /            /   |∧/ / !/:へ:::/  /|::::ヽ  、  ノ   ,'            /    |/    |::::/:/     ト、_,ハ        !          /´`ァ.、/  ,   ,'::く::::;'     .,' rァ-!       !        

Favstar.fm用のUserScriptを書きました。

今日、favstar.fmを見てみたんだけど なかなかいい感じ。 クローリング速度が十分速い。 でも、不満点が無いわけではない。 それは、ふぁぼったー風の文字表示。 あの色表現が絶妙なんだよね、ふぁぼったーって。 favstar.fm用のぐりもん見つけた Colorful Favstar.fm for Greasemonkey http://userscripts.org/scripts/show/82891 Firefoxユーザだとコレで良いよね。 でも、Operaユーザ的にちょいこれだと不満。 後、フォント小さすぎる。 favstar.fmと若干デザインが合わない。 ということでコード書いた。 保存して使ってください。 恐らく、.user.jsよりも.jsで保存する方がOperaユーザは幸せになれるとおもう。 (僕は colorful_favstar.fm.js って名前にした)

IE9 PP4がやって来た!

IE死ねの定義を変えたいと思います 僕のTwitterを眺めたことがある人は、仕事中に8割くらいの確率で「IE死ね!」と叫んでいる姿を見たことがあると思います。 あの罵倒は大抵、IEに対して無差別に行っていました。 しかし、この度IEBlogの記事を見てIE死ねの範囲を変えたいと思うに至り、このブログエントリを書きたいと思います。 IE死ねが適用されるのは、IE8以下まで! IE9 PP4の実力 IEが駄目駄目を晒すのに適したベンチマークと言えば、Acid3でしょう。 見てくれこのスコア、どう思う? 凄く……モダンブラウザです……。

僕の最近のHTMLの書き方のまとめ

最初に 「の」が連続するって頭悪そうに見えて良いですよね。 HTML5について HTMLを書く時、色々考える事が多いです。 HTML5で統一して書ければ良いんですが、お客様の要求次第ではそれでは不十分であることが多々あります。 個人的には一番操作(?)しやすいHTML4.01 Strictが好きなのですが、XHTML 1.0 TransitionalやHTML4 Transitionalを愛する方々もいらっしゃいます。 一時期は僕もXHTMLで頑張って書いていた事もありますが、やっぱりシンプルなのが一番良いなぁ。みたいな。 HTML5は非常にシンプルなので、とても好きです。

難しい日本語

日本語という言語は実にシンプルな言語であるが、同時にとても複雑で煩雑なルールで溢れている。 そのため、外国人からすると日本語は非常に「難しい」言葉になっている。 例えば、カタカナ。 外来語をカタカナ表記するという謎ルールを僕らは自然に受け止めているが、外国人からすると意味不明な言葉らしい。 音が違う、文字が違う、さらには意味まで違うなんてのはザラだろう。 なので、彼らは非常に混乱する。 例えば、助数詞。 この複雑さは日本人ですら理解出来ないほどであろう。 例えば、田んぼの数え方を知っている人は少ない。 田んぼは1枚とか1面と数える。 例えば、羊羹。 1棹、1本、1切れなどと複数の呼び方がある。 なんて複雑なのだろう。 そういう事を気にしだすと、(一応)日本人である僕が、まともな日本語を話そうと思っても話せなくなる時がある。 あれ、自分のこの言葉、正しい日本語なのかな、正式名称で言ってるかな。 そもそも、この数え方合ってるのかな。 そんな事が一瞬でも脳裏をよぎるともう駄目だ。 しどろもどろになって次に何を語るべきかを忘れてしまう。 日本語ってとても難しい(むつかしい)。

プログラマ35歳限界説について

なぜ、35歳が限界なのか プログラマ35歳定年説の方が正しいかもしれませんが、敢えて限界説としてみます。 深い意味はありません。 さて、幾つかのエントリに書かれていますように、35歳で限界を迎える、又は定年とされている職業、それがプログラマです。 曰く、体力が付いていかない。曰く、新しい知識を吸収できない。 故に、35歳が限界である。 これ、プログラマに限った話ではないですよね。 「職人」の世界は、一部の人を除いて、35歳くらいが限界だと思うんです。 体力、知力、経験、そして意欲。 これらがバランス良く保たれているのが35歳ぐらいで、後は体力がゆっくりと落ていく。 平均寿命から適当に類推するに、この辺が人生の折り返し地点であり、ピークになると僕は思います。 (人間の年齢と能力が正規分布に準ずるとして) 僕が見てきた現実

JSONPでの最速ローディング模索

ひとつ前のエントリが嘘ばっかりだったので、再度書き直しです。 今回、JSONPでの最速ローディングを模索して、こんなコードを書いていました。 function retが条件分岐している所。 あくまでも、JSONPのcallbackが走ってからという考え方なので、真の最速には程遠いと思います。 operaはscriptのcallbackが走る段階では、まだDOM構築が終わっていない。 Firefox,Google Chrome,SafariはDOM構築が終わっている IEはsetTimeoutの10msでほぼ確実に実行出来る(1msだと失敗するケースがある) 今まではDOMContentLoadedっぽいのを確認してから走らせていたけれども、それより先にJSONPリクエストを投げる形にしたかった。 IEの所、もしかしたらdoScroll判定した方が良いかもしれない。 色々悩ましい……。 ==チラシの裏== jsdoitに書いた最速のローディングからの発展です。 今までの自分の認識 ・windowのloadイベントに割り当てときゃとりあえずおk 現在の自分の認識 ・windowのloadイベントって全部読込み終わるまで待つのかよアホか。 ・DOMContentLoadedで最速だべさ ・ん、でも考えてみたら、scriptタグ内での関数が最速だよね ・headのscriptタグ内で動的生成したらもうちょい早く読み込めるんじゃないの? ・callbackの時点でDOM出来てるよねー? ・Operaたんorz そして、IEめ……。 ・ひとまず、Firefox、Safari、Chromeはこれが一番速い予感!!←チェックしろよ ・OperaたんはやっぱりDOMContentLoadedに頼るしかない ・IEはまあ、setTimeoutでも十分じゃろ ・正直アイディア切れ ・また今度考えよう ==チラシの裏終わり== JSONPを適当に実行するためにはてなスターのJSONP使っています。 テストする時は適当なURLに変えてください。お願いますm(_ _)m。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"

JavaScriptの最速実行を行うとき、Opera限定で起きる謎現象。

15:28追記 このコード全部のブラウザで駄目だw 自宅に帰ったら、再度エントリしなおします。 知ってる方が居られたら教えて欲しい。 下記のコードをOpera10.6で実行すると、「done!」が表示されない。 ・動かないケース(scriptが取得したいElementより前に書いてるケース) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Load test</title> <script type="text/javascript"> (function(_d){ var res = _d.getElementById('result'); res.innerHTML = "done!"; })(document); </script> </head> <body> <div id="result">test</div> </body> </html> ちなみに、こっちだと動く(当たり前だけど) ・動かないケース(scriptが取得したいElementより後ろに書いてるケース) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv=&qu

simple_html_domでFatal error: Allowed memory sizeが出まくった。

simple_html_dom.phpを使ってクローリングしたデータを加工してたんだけど、なぜだかメモリ不足になりまくったので調べたら、file_get_htmlで得たデータは解放しない仕様らしい。 んで、 FAQ に書いてあるように、 $html = file_get_html(...); // do something... $html->clear(); unset($html); と書けば良い事を知った。 結論:ドキュメントはちゃんと読みましょう

SafariでもVimキーバインドを!

vimlike-onsafari - Project Hosting on Google Code http://code.google.com/p/vimlike-onsafari/ こちらのページでVimっぽい動きをさせるSafari拡張を公開しました。 どうぞご自由にお試し下さい。 hjkl+HaHそしてgt、gTでタブ切替。 これで、Safariでも気持ちよくキーボードブラウジングが楽しめます。 キーボードブラウジングに慣れたら、是非 Opera を使ってみて下さい! より快適な空間ナビゲーションを体験出来ますよっ! (頑張れば空間ナビゲーションも実現出来るかもしれませんが(苦笑))

Safariの証明書作成でハマった。

Safari拡張の作り方 を参考に取り合えず開発環境を作ろうと思って、証明書発行の所でハマった。 ハマったのはここ(引用) Windowsの場合「Windows Safari Extension Certificate Assistant」の案内に従って、テキストファイル(http://devimages.apple.com/safari/files/certreq.txt )を保存、cmdで certreq -new certreq.txt newcsr.pem を実行。 cmdで、certreqしたら、Windows様から「んなコマンド知らん」と怒られて困った。 ぐぐったら、 Windows Server 2003 SP1 Administration Tools Pack をインストールすれば良いらしい。 と言うことで、12Mもあるファイルを落としてインストール。 再起動無しで使えました。 これで、俺的Safari快適環境が作れる! 今夜頑張る(謎

LDRのフィード購読停止を楽にするuserscript書いた

名前とか適当。 lキーを押すと購読停止→次のフィードへという動きをします。 既にLDRのキーバインドを変えるコード使っている人はそこに追加する方が良いかもしれませんね。 尚、購読停止はconfirm出てこないのでガンガン削除されます。それは仕様です。 これで気軽に購読停止出来ますね。 そもそもそんなたくさん消したい要望なんて殆ど無いしっ!! これで3000フィードくらいまでは減ると思う……。 // ==UserScript== // @name oreoreldr // @namespace http://looxu.blogspot.com/ // @include http://reader.livedoor.com/* // @include http://fastladder.com/reader/* // ==/UserScript== window.addEventListener("load", function() { var w = (typeof unsafeWindow == 'undefined') ? window : unsafeWindow; w.Keybind.add("l", function(){ if( State.now_reading ){ var api = new API("/api/feed/unsubscribe"); callback = Function.empty; var sid = State.now_reading; api.post({ subscribe_id:sid},function(res){ message("購読停止しました"); callback(res); }); Control.read_next_subs(); } }); },false);

Google Font APIのlinkタグ生成ツールを作りました。

Simple Google Font Generotr なんてこと無いただの 俺得ツール です。 これで生成したCSSを適用するだけであっという間にGoogle Font APIで遊ぶことが出来ます。 コピペで楽したい方にオススメ。 動作確認はOpera、Firefox、Safari、Google Chrome、IE8でしています。 IE8だと何故か意味不明なメッセージが出ますのでその他のモダンブラウザを使用することをオススメ致します。 jQuery使ってごにょったりOperaだけ特殊処理してたりと謎のコードになっていますが、誰かの勉強になるのでは無いかなぁと思い、恥さらしも込めて公開です。 色々指摘していただけるとありがたいです。 ・複数対応版が欲しい ・フォントサイズ変更したい ・イタリックにしたい ・太字にしたい 等色々アイディアが出ると思いますが、ソースをコピペって適当にちょちょいのちょいと変更すれば出来ると思いますので、適当にやってみてください。 以上です。

夜フクロウの件(完全作者擁護意見)

夜フクロウのやりとりを見て、色々と言いたいことがあったけど、大体このことは他の人が書いてくれたので少しだけ胸がすっきりした。 とは言え、先人の繰り返しになるけれども僕の意見も書きなぐっておこう まとめると、以下の三点になる ・機能削除を、作者の横暴だという意見は流石にイラッとする ・自分だけの狭い世界で全世界を語るな ・作れる、作れない事による差別を「自分」でするな そりゃまぁ、急に愛用していた機能が無くなったら(´・ω・` )ってするけれども、自分が作っている訳ではないのでそれは受け入れるしかないと思うんですね。 それを受け入れないのは傲慢としか言いようが無い。 学習コスト云々書いている人がいたけれども、問題はそこじゃないと思う。 利用者の権威だとか書いている人がいたけれども、問題はそこじゃないと思う。 その質はとか価値は別にして、意見を言うのは誰でもできるし、批評だって誰にでも出来る。 自然な思考として、質や価値が高い意見、批評ならば、誰もが聞きたいと思う。 けれども、それが高いかどうかを判断するのは意見、批評を聞いた本人になる。 そして、今回のケースは本人=作者であり、彼は今回の意見を、質も価値も低いと判断した。 僕の彼の意見に対する評価は、作者の評価と同じだ。 オブラートに包んで言うならば、実に嘆かわしい思考パターンですね、だろうか。 例えばの話ですが。 もし、自分にコーディング能力があり、尚且つ自分が使いたいソフトをさくっと作って、うひょーこれ便利だなぁ、よーし、パパ折角だからこれ公開しちゃうぞーみたいなノリで適当に公開したらなんか気づいたらいろんな人が使っててそのソフトに対してごちゃごちゃ言うようになり本来は 俺専用 ソフトだったのがいつの間にか「公共」のソフトになっててめーが作ったかもしれんが世界に公開した時点で「俺ら」のものになったんだからお前の意見よりも「俺たち」の意見を尊重しやがれくそやろうなどと言われたら、どう思いますか。 別にソフトじゃなくてもいいと思うんですね。 ソフトをレシピとかに書き換えても良い訳です。 もし、自分に料理の才能があり、尚且つたまたま思いついて作った料理が美味しかったので、うふふ、このレシピ最高ね、よーし、ママ折角だからこのレシピ公開しちゃうわみたいなノリで適当に公開したらなんか気づいたらいろんな人がレシピを試してそのレシ

TwitterAPIで取得したcreated_atを普通のDateオブジェクトにする。

IE以外は、普通にvar postDate = new Date(node.created_at);で処理出来ます。 問題はIEです。 Twitterのcreated_atをIE様は理解して下さらないので、専用に処理をしてあげる必要があります。 var wc = node.created_at; wc = wc.split(" "); var postDate = new Date( [wc[0],",",wc[2],wc[1],wc[5],wc[3],wc[4]].join(" ") ); これで行けます。 ちなみに、search系のAPIは特殊処理が施されてるのか、IEでも普通にnew Date(node.created_at)で処理出来る。 謎すぎる……。

備忘録的な何か

IE8がHTML5で対応したタグを認識してくれないのをむりくり対応させる方法。 headタグの中に以下のコードをコピペする。 今回はテンプレートを作成したので、headのテンプレートファイルに書き込んだ。 <!--[if lte IE 8]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> このコードを追加するだけで、HTML5がIE8で綺麗に表示された時、ちょっと感動した。 だが、IE7とかIE6では未確認。 端からサポートする気はありませんけれどね。

「Opera信者」にその素晴らしさを熱く語られたときの平和で適当なかわし方

Operaブラウザほど、はまっている人と興味がない人との温度差が激しいツールはないと言えるでしょう。 「おぺらー」というスラングでも有名ですが、はまっている人の中には、「Operaブラウザの素晴らしさをもっと広く伝えなければ!」という使命感を抱いて、ことあるごとに啓蒙活動に励もうとする“信者”が少なくありません。 その博愛の気持ちは尊いといえば尊いのですが、勧められる側がさほどOperaに興味がない場合は、どう対処していいのか困ります。今日も全国各地で、Opera信者の熱い勧誘を受けて、勧められる側が苦笑いを浮かべているという構図が繰り広げられていることでしょう。 Operaブラウザを持っていない側のあなたが、そういう災難にあったときはどう対処すればいいのか。信者の勧誘に対する平和で適当なかわし方を考えてみましょう。 「てっちゃん」を否定するのは危険 程度の差こそあれ、Operaブラウザを熱く勧めたがる信者のみなさんは、「Opera社と元CEOのTetzchner氏によってもたらされる新たな可能性」を信じ、そんなOperaブラウザを人より早く使いこなせていることに、ちょっぴり優越感を抱いていると言えるでしょう。どう見ても熱が入りすぎている人の中には、Operaブラウザに過大な望みを託して、いまいち不本意な現状から社会を大変革してくれる救世主のように見ているように思えるケースもあります。 いや、あくまで極端な例をあげているだけなので、「俺は違う!」とムキにならないでください。もちろん、私の周囲のOpera好きのみなさんに対して、私がそういう目を向けているわけでもありません。 今後の人間関係を考慮した言い訳で話がそれましたが、Operaブラウザを熱く勧めてくる人にとって、Operaにはまっていることが誇りであることは確か。何はさておき、そこを見逃さないようにしましょう。 たとえば、最近Weekly Build版Operaにはまっている同僚に、「お前も使ったほうがいいよ」と熱心に勧められたとします。素晴らしさを説かれても、いまいちピンと来ないからといって、 「うーん、よくわかんないなあ。みんなが高速だけど不安定ってだけで絶賛しあってるなんて、なんか気持ち悪い世界のようにも思えるけど」 「その直感的な操作?っていうのができても、未だにアドオンないし、ActiveX機能もない

なんという捨て身のギャグ

お店ホームページが簡単に作れる「グーペ」のキャラクターが運営する「とんかつ教室」 色々シュールな内容が続きます。 個人的にツボだったページ イカホットの作り方 真っ二つ!半額きゃんぺーん グーペで最高にハッピーな夏にしよう! イカホットは本気で誰得な動画付き。 突っ込んだら負けかな……。 捨て身のギャグ、凄いですね。 (※上記のページは公式ブログです)

Opera Show with Twitter Searchを作りました。

Opera mini for iPhoneが申請受理されましたね。 それに全く関係ないモノを作りました。 #どういう前振りだよ…。 #iPhoneやiPod touchを持っていない僕には欠片も関係ない話だしね。 #べ、別に悔しくなんかないもん。 Demoはこちらから http://tunsns.net/operashow/ Operaでアクセスして、F11を押して下さい。 スペースキーで次へ次へと進めます。 終了はEscキーを押して下さい。 元ネタはKurumanさんのこれ。 Opera User Meetup Vol.2 (kuruman.org > Kuruman Memo) Opera ShowをUniteで共有してTwitterのつぶやきを表示出来れば面白いんじゃない?!みたいなノリだったのですが、僕はTwitterのつぶやきを表示するという事だけに特化したアレゲな思考パターンでついやってしまいました。 今は公開しています。 冗談は兎も角。 構成ファイルは4つです。 ・index.html ・operashow.css ・twitter.html ・operashow.js このうち、operashow.jsの OperaShow.key = 'opera'; の部分を好きなハッシュに変えればあらゆるパターンを網羅出来ると思います。 かなり適当に作ってあるので、ある程度ブラッシュアップする必要があるかもしれませんが、それは特異な方にお任せ致します。 今度自分が何か発表するときは最低限こいつを使って何かしたいと思います(ぁ 以上です。

Livedoor Clip でAAを快適(?)に見るために変なUserCSSを書いたよ。

p.notes:hover, p.user-comment-box:hover { font-size: 12pt !important; line-height: 18px !important; font-family: "Mona", "IPA MONAPGOTHIC", "MS PGothic", "MS Pゴシック", "MS Pゴシック", "MS Pゴシック", sans-serif !important; } 追記 chalcedony姉さんから、livedoor clipで指摘があり、 p.user-comment-boxを追加しました。 これでどこでもみっくみく! ↑のコードをコピペして使ってね。 何をしてるかというと、コメントにhoverした時、MS Pゴシック表記するようにしただけ。 本当はもう少し良い書き方があるのかもしれないけれどもね。 これでAAをPostし放題だZe! テスト用 ミクさん ( 俺の嫁 ) AA                _ ,.、             _,. -┴ミハ       , -「|、, '´ .  -‐' ¨ヽ         l : :|:| : :/'´ : : : : ', : `ヽ .      | : :|」.:〃 : : : : ,ハ: :|ヽ.: : :', .      | : : ',、|l : : : : / l:/ィf|: :l, :| .      | :| : :',ヾ: : : ,佗) ' `从ハ|              __ .       川 :|:. ':.,ゝl/{゙{`、_‐'ノ、: : |          /    `ヽ      /ノ丿:| ∨   ドー-ゞニ才 : |  ,. .:个 、   />、     ', .   /. :/.: 八:| 、 __|::::::::::::::::: ハ: |/.:::::::ヤニゞニ⊃]        |    /. :/.: : / : :/'´〈:::::::::::::::

人間VSコンピュータ この世紀の決戦を楽しむために 補完

まず 人間VSコンピューター この世紀の決戦を楽しむために を一読下さい。 良いエントリです。 歴史を振り返るのに必要十分な内容が含まれています。 ただ、これだとちょっと省略されてる歴史があるのでそれを書きたいと思います それは、 アマチュアvsコンピュータの歴史 です。 アマチュアvsコンピュータの歴史 知らない人が多いと思いますが、コンピュータ将棋はアマチュアとの対戦を何度か行っています。 その中でも特に、 世界コンピュータ将棋選手権 でのエキシビジョンマッチは(ファンの間では)有名です。 2008年には、アマチュア側がコンピュータに完敗するという結果になり、(ファンの間で)話題騒然となりました。 (参考)10倍楽しむ!WCSC2008 http://homepage1.nifty.com/ta_ito/CS2008/WCSC08.html そして、昨年は一勝一敗の引き分けという形になりました。 (参考)『コンピュータ将棋の最前線』中継ページ http://minerva.cs.uec.ac.jp/~event/shogi/20091107/ しかし、コンピュータ側はバグで指し手を返せず負けという結果に終わり、実質的にはアマチュア側に二連勝したと言っても過言では無いでしょう。 さらに、最近行われた コンピュータ将棋オープン戦 では今泉健司さんがコンピュータ相手に二敗するという事態になりました。 知ってる人は知っていますが、今泉健司さんは元奨励会員で年齢制限による退会を余儀なくされた後、編入試験(瀬川先生が有名ですね)に合格し、再度挑戦するものの、勝数が足りず再び退会するという遍歴を持たれる方です。 (参考)今泉健司 - Wikipedia http://ja.wikipedia.org/wiki/%25E4%25BB%258A%25E6%25B3%2589%25E5%2581%25A5%25E5%258F%25B8 奨励会というのはプロ一歩手前です。 その奨励会に挑戦した人を下したというのは快挙と言えるでしょう。 他にも清水上徹さんや加藤幸男さん等プロに勝ったことがあるトップアマをコンピュータが下してる事を考えますと、実力的には奨励会三段レベルには到達していると考えても良さそうです。 それほど今のコンピュータ将棋は強くなっているのですね。 コンピュータが人間に勝

Twitterで時間を潰せる奴がちょっと信じられない

ゲームで時間を潰せる奴がちょっと信じられない の改変ネタです。 色々と無理 があります。 Twitterで時間を潰せる奴がちょっと信じられない けっこうオタク系の趣味は持っているんだが、俺はTwitterを一切やらない。 アメーバなうですら手は出さない。別に自分に禁じているわけじゃなくてやる気にならない。 半年前ぐらいまではちょこちょこやっていたけど今はまぁ絶対ないな。 周りはみんなTwitterをやってるんで(オタクかどうか問わず)それを知られるとけっこう不思議がられる。 むしろ俺はみんながなぜTwitterに時間をかけられるかが謎だ。それほど魅力があるとは思えない。 これから俺がTwitterをやる気にならない理由を書いてみようと思う。 Twitterが好きな人はもしよかったら反論をしてみてくれ。リアルでやるとウザがられるしな。 ちなみに断りが無ければ基本的に携帯のTwitterを想定して書く。 (1)値段が高い(パケット的な意味で) いきなり貧乏臭い理由で申し訳ないがこれも理由に入る。 従量課金制からパケット定額制に移行することで安くなったとはいえ、 それでも 6000円~8000円はしてしまう。これは高い。 映画のレンタルなら一本300円だと仮定して、20本は借りられる。 色んなジャンルを20本楽しめる映画に比べて Twitterというサービスでこんなにするので何だか損した気分になる。 ただし、別に安くなったとしてもやらないかもしれない。 それは以下の理由があるからだ。 (2)ネタ出しに時間がかかる おそらく 最低でも20時間 はかかるだろう。 それだけの一人の時間を確保するのがたいへん。 一日一時間として20日もネタ出しまでかかるし、 一個の『作品』に何十時間もかけるよりも、 必ず二時間以内に終わってくれる映画のほうが安心。 (3)話題を共有できる範囲が狭い followerが二桁であれば一つのTwitterネタをfollower全員がやっていたりするが、 今はfollower過多でfollowerが多すぎるので、 その Twitterネタが通じる相手が必然的に狭くなる 。 何千円も何十時間もかけて話題を共有出来る相手が あんまりいないのはなんだか寂しい。 (4)実生活へのフィードバックが少ない TwitterでネタをPostしたって実生活への変化は何にも

Pixivで1クリックブクマを実現する

Pixiv Starを愛用されてる皆様ありがとうございます。 この度、Pixiv Starをアップデートしてマウス派でも楽しめる仕様に変更しました。 Pixiv Starのインストールはこちらから 参考画像は下記の通り。 ご覧の通り①~③のオブジェクトが表示されるようになります。 (③は前からありましたけど) 機能説明しますと、 ①お気に入りに一発登録するボタンです。キーボードでは「o」が対応キーになっています ②作品を一発登録するボタンです。キーボードでは「b」が対応キーになっています ③漫画モードとそうでないモードの表示です。 特に気にする必要はありません となっています。 Firefox3.6+Greasemonkey、Opera10.51で動作確認しています。 ひたすらPixivでブックマークしたい方へお薦めいたします。 それでは、良いPixivライフを。

Ubuntu 9.04のVimでftpluginを有効にする

zen-coding.vimを使いたいだけって話です。 ubuntu 9.04ではデフォルトではftpluginが使えません というか、 無効になっています 。 なので、有効にするために、vimrcに以下を追加します。 filetype plugin on 後は普通に、$home/.vim/ftpluginに必要なファイルを入れるだけ。 元ネタ 9.04 and now vim isn't reading ftplugin/*.vim files on startup 以上です。

setZeroTimeoutをテストしてみた

Demo: Using postMessage to do setTimeout with a real zero timeout ↑のsetZeroTimeoutをテストしてみた。 ma.la氏のwait関数を使ってごにょる何か。 もしかしたら、テストにすらなっていない可能性が高い。 こちらのページで試せます。 http://sites.google.com/site/mksdcom/Home/postmessage.html 何をしてるのかと言うと、jQuery.min.jsを読み込んでいるだけ。 標準的なブラウザである、Opera、Firefox、Safari、Google Chromeで動作します。 addEventListenerをサポートしていればどのブラウザでも問題なく動くと思います。 IE? あんなマイナーブラウザの為に労力を割くのは時間の無駄です 。 お気づきの点がありましたら、Twitterとかコメント欄でお願いいたします。 以上。

radiko.jpで快適ラジオ+ネット生活

radiko.jp 楽しんでいますか? 僕は楽しんでいます。 元々ラジオ聴くのが好きだったのですが、ラジオを付けるのが面倒という理由で中々つけていなかったのですが、これだったらネットがあれば楽しめるのが◎。 ブックマークをクリックするだけで再生開始されますので素晴らしいの一言に付きます。 エリア内で良かったー。 僕はTOKYO FMをよく聞いているので、以下のアドレスを直接ブックマークしています。 http://radiko.jp/player/player.html#FMT Operaユーザでしたら、パネルに追加する という方法もありますね!(下図参照) これで楽しいラジオライフを送れますねー。 早く全国展開されると良いですねー。 以上です。

IE8の互換モード(笑)

http://blogs.technet.com/jpieblog/archive/2009/09/09/3280034.aspx ふむ。なるほど。 docrytpeやmetaタグのX-UA-Compatibleで分割出来るのね・・・。 言いたい事は色々あるけど、一つだけ。 document.querySelectorAllが互換モードでは無効になります(笑) 便利な関数なんだけどなぁ・・・。

IE6 must dieキャンペーンを個人的に始めました。

このスクリプト をサイトに挿入するだけのお手軽実装です。 参考コード <script type="text/javascript" src="suggest_browser.js"></script> 大変丁寧な口調でIE6をディスっています。 お気に入りましたら広めて下さいませませ。 以上です。 (ラベルから分かる通りこれは ネタ です) 3/14追記 <script type="text/javascript" src="http://sites.google.com/site/mksdcom/Home/suggest_browser.js"></script> ダウンロードが面倒な方は↑でもいけると思います。 IEにChrome Frameを適用されてる方はこのページでは実験出来ないかもしれません(笑)

Livedoorのログインってなんでhttpなの?

折角httpsでログインできるのに、デフォルトがhttpなのでしょんぼり。 しょんぼりするのはプログラマらしくないので、コード書いた。 // ==UserScript== // @name secure livedoor // @namespace http://looxu.blogspot.com/ // @description secure livedoor login // @include http://member.livedoor.com/login* // @author Arc Cosine // @version 1.0 // ==/UserScript== // License : Public Domain (function(){ window.opera.addEventListener('BeforeScript',function(){ location.href = location.href.replace(/^http:/,'https:'); }, false ); })(); ご覧の通り、Opera限定のUserScript。 UserScripts.orgでも公開しています。 Operaユーザであり、Livedoorユーザであり、尚且つhttpsでログインしたい人以外欠片も嬉しくないスクリプト ですが、まあ良いでしょう。 尚、window.operaをwindowにBeforeScriptをloadに変えれば他のブラウザでも動くけど、この程度だったら普通にブックマークレットとかにした方が良いかもね。 以上です。

死にかけました

昨日、朝起きた時は特になんともなかったのですが、お昼ぐらいから頭痛が増し、吐き気が襲ってきて、実際吐いてしまいました。 一瞬インフルエンザかと思いましたが、熱はさほど高くなかった(37.6℃)ので、風邪だろうと判断。 ふらふらの状態で病院に行って診てもらった所、案の定風邪でした。 お薬貰ってぼうっとした頭で一日を過ごしましたが、一人暮らしで病気するもんじゃないですね。 吐くほどの状態なったのは本当に数年振りだったので、自分でもショックが大きかったです。 とりあえず、今朝は昨日ほど体調が悪いという訳では無いので適度に頑張りたいと思います。 お薬すごいね。 みなさん、風邪には気を付けましょう。

Operaで1分間60reblogを実現する

俺俺rebloglet.user.jsをgithubにコミットしました。 こちらです Opera10.50で動作確認しています。 元ネタは2009-05-21 - cxxの日記 - たんぶら部 - Tumblove - http://tumblr.g.hatena.ne.jp/cxx/20090521 ここに公開されていたreblogret.user.jsを改造したものです。 @cxx さんありがとうございます。 本家に習い、本スクリプトもpublic domainにします。 バージョンとかnamespaceとかもう超適当です(ぉぃ 簡単な動作説明です。 まず、 ダッシュボード に移動します。 すると自動的にこのスクリプトが実行されますので、後は気に入った画像が出てくるまでスクロールします。 oAutoPagerizeのインストールをお薦めします。 リブログ前 上図の状態で「t」キーを押すとリブログされます。 リブログ後 スクロールダウンは「j」キー、スクロールアップは「k」キーです。 その他の動作は 本家を御覧下さい。 適用URLを一部削ってありますので、全般的に試したい方は本家のインストールをお薦め致します。 ちなみに、一部気に入らない(?)ところがあって、J/K等を通常スクロールに設定してる場合、preventDefaultが効いてない箇所があったので、そこに追加してます。 ま、そもそもそんなキーを使ってブラウジングするユーザがアレゲなんですけどね。 Operaの利点は、このようにモバイルで使っていたものをデスクトップへ流用する事が出来るって点だなぁと実感 。 ま、いや。それは単なる独り言。 それでは、良いtumblr生活を。

追加1分でOperaフォントをさらに綺麗にする

dgmatil blog: Build3296がそのまま正式版へ | フォント設定 font こちらのページに書かれていますが、最終的にはUserCSSを導入すると完璧に綺麗になります。 TwitterとかGmailとかMyYahooとかその辺がばっちり。 ↓こちらをコピペして適当な名前をつけて保存。エンコーディングはUTF-8お薦め。ってか、charsetにUTF-8って書いてあるよね? /* Name: 標準フォントに強制的に固定 */ @charset "utf-8"; /* font-family */ *{ font-family:normal !important } html[lang="en"] *{ font-family:normal !important; } html[lang="en-US"] *{ font-family:normal !important; } address{ font-family:normal !important } pre, pre *, code, samp, var, tt{ font-family:normal !important } h1, h1 *, h2, h2 *{ font-family:normal" !important } h3, h3 *, h4, h4 *, h5, h5 *, h6, h6 *{ font-family:normal !important } /* font-style */ *{ font-style:normal !important } h1{ font-style:italic !important } /* font-weight */ *{ font-weight:normal !important } h1, h1 *, h2, h2 *, h3, h3 *, h4, h4 *, h5, h5 *, h6, h6 *, dt, dt *, th, b, em, strong, a[target="_blank"]:after{ font-weight:bold !important } UserCSSはCtrl+F12から「詳細設定」→「コンテンツ」→「スタイルオ

現役プログラマが語るプログラミングの魅力

プログラミングは楽しいものです、本来は。 何故楽しいのか。 それは、自分が想像したものあるいはそれ以上の見たことが無い何かを作り出せる喜びを体験できる。 だから、プログラミングは楽しいのです。 しかし、世の中には楽しくないプログラミングが多いです。 何故か。 理由は幾つかあります ・前に同じようなものを作っている ・クライアントからの無茶ぶりで期限がとてもじゃないけどアレゲ ・(自分的には)分かりやすいドキュメントを相手が受け入れてくれない ・前提条件的に無理 そう、楽しくないプログラミングの理由はここに挙げた以外にもいっぱい上がるでしょう。 じゃあ、楽しいプログラミングとは何か? それは 趣味のプログラミング 。 自分の思うままに、思う通りに、好き勝手出来る。 それがとても楽しい。 後はほんの少しで良いので共感してくれる友人が入れば、プログラマーと名乗る人はみな幸せになれるでしょう。 実にハードルの高い趣味です。 それでも、止められない。 それが、プログラミングの魅力なんだな。 以上です。

5分でOpera10.50のフォントを綺麗にする方法

地球上最速のブラウザOpera10.50 を楽しんでいますか? インストールしたら、 フォントが汚すぎて吐きそうになった方への朗報 。 若干面倒ですが、フォントを綺麗にする方法をご紹介致します。 慣れた人なら2分、 不慣れな人でも5分 でフォントを綺麗に出来ます。 まず、Ctrl+F12をクリックして、設定画面を出し、「詳細設定」→「フォント」を選択し、「 文字別フォント 」をクリックします。 CJKの記号と句読点 のプロポーショナルフォントを「自動選択」から好きなフォントへ変更します。 Windowsユーザですと、MS Pゴシックとかメイリオとかを選択すると良いかもしれません。 僕は、最近リリースされたIPA Pゴシックを選択しています。 同様に、等幅フォントも「自動選択」から好きなフォントへ変更します。 スクロールが面倒だなぁと思う方も多いと思いますが、フォント選択領域にフォーカスした状態で、「M」とか「I」キーを押すと対象のフォントへジャンプしますので、その機能を活用しましょう。 (Windowsの標準機能だよ!) 日本語(カタカナ) のプロポーショナルフォントと等幅フォントを同様に好きなフォントへ変更します。 日本語(ひらがな) のプロポーショナルフォントと等幅フォントを同様に好きなフォントへ変更します。 日本語(漢字) のプロポーショナルフォントと等幅フォントを同様に好きなフォントへ変更します。 半角形・全角形 のプロポーショナルフォントと等幅フォントを同様に好きなフォントへ変更します。 設定のウェブページのフォント部分を変更しても、実は 綺麗さには影響がありません ので、ご注意を……。 それでは良いOpera Browsingを。 以上です。

zencoding.vimで、10倍速くHTMLを書く

ここ数日、Zen-CodingがLDCに上がってたので興味を持っていたのですが、手を出す事が出来ませんでした。 (環境構築とか面倒くさそうだったのでw) ところが、 mattnさんが、pure vim-scriptでZen-Coding を作成してたので、Vimmerな僕はさっそく導入してみました。 導入方法です。 3ステップで導入出来ます。 1. こちら からzencoding.vimをダウンロードします。 (僕のVim環境(Kaoriya版7.2.261)は若干古かったらしいので、Ver0.21を落としました) 2.vimをインストールしてあるディレクトリ/runtime/pluginにzencoding.vimをコピーする 3._vimrcに以下を追加 let g:user_zen_expandabbr_key = '<c-e>' これで導入終了。 さあ、HTMLを構築しましょう。 html:5 と入力し、挿入モードのまま<c-e>を押すと…… <!DOCTYPE HTML> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> </head> <body> </body> </html> はい。一瞬で出ます。 素晴らしい。 あと、例えば <div id="header"></div> <div id="content"></div> <div id="footer"></div> みたいなコードも #header+#content+#footer と入力してから、<c-e>一発で作れるようになります。 これは気持ち良い!! 慣れれば今までの10倍速くHTMLを書けること間違いなしです。 VimユーザでWeb開発な人は是非zencoding.vimの導入をしてみましょう。 以上です

「なんでも好きです」っていう奴ほど偏った趣味だな(プログラム言語Ver)

ネタです!! (元ネタ) 「なんでも好きです」っていう奴ほど偏った趣味だな。 「なんでも好きです」っていう奴ほど偏った趣味だな。 「プログラム言語ならなんでも書くんですよ」 「じゃあ例えばどんなのが好き?」 「なんでも好きですよ」 「じゃあこれ書いてみて。Java。 」 「なんですかこれ、結局バイトコード依存じゃないですか。書くに耐えません」 「じゃ あこれ、Perl」 「CPAN依存ですね。技術がないからCPAN使おうって意味が分から無い」 「じゃあこれ、PHP」 「スカスカのコードに素人のサンプルぺたぺたって恥ずかしいと思わない?こんなの書いてる人の気が知りたいです」 「じゃあこれ、 C++ 」 「C++とかもう死に絶えた古いのなんか書きませんよ」 「じゃあこれ。 JavaScript」 「JSとか、典型的な LL ですよね。あんなのプログラムじゃないですよ」 「じゃあどんな の書くの?」 「COBOLとか、Fortranとかですよ」 僕はどんな言語でも好きですよ><

将棋でアマチュア初段になるための五冊+α

僕は現在、アマチュア二段~三段くらいの棋力を持っていると思います。 僕が今の棋力を手に入れるまでに読んだ本の中から、読めば初段程度までの実力を身に付けられる本を五冊紹介したいと思います 対象は以下の人をターゲットとします。 ・将棋のルールは最低限知っている ・振り飛車党 ・将棋倶楽部24で5級の人に勝てない 序盤、中盤、終盤の三つの場面に分けて紹介します。 ・序盤  ・「 四間飛車の急所1 進化の謎を解く 」(藤井 猛著)    ・四間飛車党必読本。    ・急戦、持久戦の両方を網羅しているという点が非常に良い。    ・四間飛車以外の振り飛車党も持っていて損無し。    ・将棋における「序盤の形」を覚えるのにぴったり。      ・「 最前線物語 」(深浦 康市著)    ・若干内容が古いですが、現代将棋出てくる大まかな戦法の序盤を勉強出来ます。    ・戦法に関するコレクション的な知識を知るのに良いでしょう。    ・続編の2もオススメですが、基礎中の基礎として本書を読む必要があると思います。     ・中盤  ・「 羽生善治の終盤術1 攻めをつなぐ本 」(羽生 善治著)   ・タイトルに終盤術とついていますが、中盤に十分応用出来る手筋がいっぱい出てきます。   ・次の一手方式なので、実戦と同じ感覚で考えることが出来ます。   ・相手の陣形のどこが弱点なのか、そしてそこをどのように詰めていくのかを学べます。     ・終盤  ・「 羽生善治の終盤術3 堅さをくずす本 」(羽生 善治著)   ・この本の特色は代表的な囲いを崩していく方法を解説しています。   ・実戦譜をベースに解説しているので、終盤はこうやって指すのかという事を学習できます。   ・初段に至らない人は囲いの崩し方を知らない人が多いので、それを覚えるにもぴったりです。      ・「 五手詰めハンドブック 」(浦野 真彦著)   ・やはり詰め将棋は終盤力を鍛えるにの必須です。   ・五手詰めに限定しているので、読む範囲が短くて良いです。   ・それでいて角一枚分は強くなれます。   ・続編の2もお薦めできますが、本書の方が良作が多かったと感じてます。     ・+α  ・「島ノート 振り飛車編」(島 朗著)   ・絶版ですので+α扱いにしています。   ・振り飛車の変な戦法を網羅的に扱っています。

Moonflower JavaScript Benchmark 1.5.0 alpha 1を試したよ。

ヒゲの土管工経由 で、 Moonflower JavaScript Benchmark 1.5.0 alpha 1 の存在を知ったので、ベンチマーク取りました。 条件は下記の通り ・Opera,Chrome,Firefox,IE,Safariを全画面表示で起動 ・開いてるタブはそれぞれベンチマーク用ページのみ ・CPU:Ahtlon64 X2 3800+(2.00GHz) Mem:1.96GB OS:Windows XP Pro SP3 ・テストは3回実施した平均点 結果 ・Totalで見るとGoogle Chrome ・一部のテストではOpera、Safari ・Firefoxもまぁまぁ、早い ・IEは論外 参考画像 結果表 n/a Opera 10.50 build 3218 Chrome 4.0.302.3 Firefox 3.6 IE 8.0.6001.18702 Safari 4.0.4(531.21.10) Simple loop 0.67 0 0 0.67 0.33 Decimal calculation 1 4.67 2 31.67 1 RN generation 8 1 3 23.33 6.33 String process 4.33 4.33 8.67 31 7 Regex 46.67 52.33 288.67 363 92 Eval 30.67 40.33 108.33 411.33 30.67 Date 274.33 36.67 251.33 159.67 79.33 Document manipulation 29.33 12.67 47.67 141.33 23.33 Rendering 133.67 133.67 148 200.33 152.33 Total 527.67 285.67 857.33 1361.67 391.67 Opera最強伝説はまだ始まったばかり! Opera先生の次回作にご期待下さい!

GumblarウィルスがOperaを標的に

GumblarウィルスがOperaを標的に。Operaでマスターパスワードを使ってない人は今すぐ設定すること。 - 言いたい放題 - チーム俺等 http://orera.g.hatena.ne.jp/edvakf/20100203/1265202164 GumblarウイルスがOperaの認証管理を標的にしているそうです。 対策は上記のサイトを参考にどうぞ。 Operaユーザの方の殆どはマスターパスワードを設定してると思いますが、注意喚起を含めてご紹介です。

iPadが売れるための3つの戦略

を考えてみた。 妄想とも言う。 1.値段を安くする 現在、最低価格が$499なので、これを上手く誤魔化す。 いわゆる通信インフラとの抱合せで後から回収出来るじぇ、うっはうは~というよくあるパターンを行う。 具体的には、75%offの$125辺りで提供するのが吉か? (もちろん、75%はインフラ経由で回収) 2.キャリアを増やす 柔らか銀行だけでなく、DoCoMo、e-mobile、Willcomといったインフラと契約する事でより戦略が広がる。 もちろん、willcomは実質DoCoMoの回線を使わざるを得ないだろうけれど、そんなの関係ねぇ。 ちなみに、auが入ってないのは通信手段が違うので絶対無理だから。 au涙目wwww #僕はauユーザです #僕はauユーザです #大事なことなので二回書きました。 3.カラーを増やす やっぱり、若い子をターゲットとしたいので残り5色は欲しいよね。 そして、七色iPadを売り出すのだっ!!! あれ、それなんてガラケー?(笑) 結論 iPadはiPhoneほどは売れないよ お後がよろしいようで。 \e

kauliの広告がとても残念な件

popInと提携して表示されるkauliの広告ですが、とても残念な結果が表示されます。 例えば、twitterという単語に対して出てくるのが「 多汗症、ワキガ 」の広告。 たまにドメインの広告とか出てきますけれども、あんまり嬉しくない。 これ、もう少し種類が増えると良いですよね……。 Google Adsenceはやっぱり種類が多いんだなぁと改めて実感した次第でした。 広告ビジネスって難しいね。

BloggerにはてブとLDCを表示するコード

俺得Bloggerセッティング post-header-line-1 を変更する <div class='post-header-line-1' style='margin: 10px auto 1.5em auto;' > <b:if cond='data:post.url'> <a class='ldclip-redirect' expr:href='"http://clip.livedoor.com/redirect?link=" + data:post.url + "&title=" + data:post.title + "&ie=euc"' title='この記事をクリップ!'><img alt='この記事をクリップ!' height='16' src='http://parts.blog.livedoor.jp/img/cmn/clip_16_16_b.gif' style='border: none;' width='16'/></a> <a expr:href='"http://clip.livedoor.com/page/" + data:post.url'><img expr:src='"http://image.clip.livedoor.com/counter/small/"+ data:post.url' style='border: none;' title='ldc' alt='ldc' /></a> <a expr:href='"http://b.hatena.ne.jp/append?" + data:post.url'> <img align='absmiddle

ただの戯言ですよ

小飼弾「働かざるもの、飢えるべからず。」を読んで - phaのニート日記 LDCに上がってたのでなんとなく読んで思いついたので駄文をば。 ここのコメント欄のやり取りを見てると実に不毛な言い合いが行われているなぁと感じます。 なぜ不毛なんだろうと考えたのですが、結局の所、そもそも価値観が違う人同士が意見をぶつけてるのが原因だという事に気づきました。 そして、ここが一番問題かと思われるのですが、その「価値観が違う」事を理解できずに、「俺の考えが一番正しいんだからお前はそれを受け入れろバカ」となっているので、いつまで経っても言い合いが終わらない状態になっています。 これって何かに似てませんか? そうです、戦争ネタですね。 戦争は、この辺の自分勝手な考えがベースになる事があるよね。 「 お前の考えは間違ってる。俺の考えが正しい。だからお前のその考えを直せ 」 この考え方どうですか? 別に誰でもふとそういうふうに思ってしまう事ありますよね。 僕だってあります。 でも、そういった 考えの押し付けってのは良くない のはわかりますよね。 じゃあ、どうすれば良いのか。 僕は以下のプロセスで対応します。 1.相手の考えを許容する。  簡単に言えば、「なるほど、そういう考え方もあるのか。僕は受け入れられないが、考え方は理解する」 2.自分の考えを伝えて、相手の考えをさらに引き出してみる。  「僕はその事についてはこう思うんだけど、君はこの考え方をどう思う?」 3.最後に、相手に決定権を委ねる  「今、君は二つの考え方を知ってる。どっちを受け入れるかは君が選んでくれ」 結局、思想については相手に委ねるしかないんですよね。 それを他人が無理矢理押し付けるのは良くない。 ただ、教えないのは不親切なので、ある程度は伝える必要がある。 最も、伝える手段は複数ある訳だけど、ブログのコメント欄に殴り書きするよりかは、自分のブログにこうやってグダグダ書く方が僕としては建設的だと思うんだな。 他にもメールやチャット、最近ではTwitterやSkype等を経由して連絡を送る方法があるでしょう。 やり方は自分で選んでください。 でも、その前に、相手の考えを許容しなきゃダメ。 頭ごなしに否定するのはバカのやる事。 自分の今まで貯めてきた知識で明らかに間違った事だと思っても、足を止めて自分でじっくり考えて、心の底

OAuth使うと規制限界値が上がる

TwitterのAPIは1時間に150回までしかリクエストできない仕様ですが、OAuth経由の場合、1時間450回までリクエスト出来るようになります。 ただ、公式のURLではなく、 http://api.twitter.com/1/APIリクエスト という形式でリクエストする必要があります。 自分用メモ。

Sinatra+OAuthで遊んでました

正月なので、久々に趣味のプログラミングをということで、以前から気になってたSinatraを触ってみました。 いくつかコードを書いて感じたのは、なかなからくちんだなぁという事。 やっぱり、cgiベースで自分でゴリゴリ書くより、他人が書いたコードを再利用する方が効率が良いですね。 あと、ruby1.9は速い! 純粋にその速さにビックリです。 今まで1.8にしてたのが勿体無い>< 1.9ですと文字列の扱いが1.8と異なっているので、若干注意が必要ですが、それ以外は無問題。 Yes,it's cool. ってことで自宅鯖のrubyを1.9にアップデートしました。 今年もrubyでゴリゴリ書いて遊びたいなぁ。

天才の壁

世の中に存在する人間を以下の三種類に分けるとしよう。 ・頭の良い人 ・普通の人 ・頭の悪い人 上から順に10%、80%、10%の割合で存在すると定義する。 頭の良い人はさらに三種類に分けることができる。 ・天才 ・秀才 ・どちらでも無い どちらでも無くて頭が良いと言われる人は居る。 これは、先の定義で10%存在すると定義した為に発生する仕方のない分野である。 簡単に言えば、天才と秀才が一般的に「頭が良い」と見なされる人たちだと僕は考える。 それ以外の頭の良い人は普通の人よりほんの少し優秀な人であると考える。 本日のタイトルである天才の壁であるが、仮に天才+秀才が頭の良い人の50%を占めているとしよう。 さて、貴方は、その内天才は何パーセントを占めていると考えるだろうか。 僕の考えでは、その内に0.1%も居れば良いと考えている。 天才は、それほど少ないというのが僕の考えだ。 秀才はそれこそ、腐るほど居る。 しかし、天才はそうそう居ない。そうそう居ないから天才なのだが。 ぶっちゃけ、 10億人に1人 。これが僕の中での天才の定義だ。 従って、全世界には6人ないし7人が天才であり、後はすべからく秀才であるというのが僕の考えです。 結論としましては、天才になるのは不可能だというどうでも良い結論です。 意味不明駄文サイト『Loox Uと初音ミクで行こう!』、2010年もよろしくお願いします。