2009年12月29日火曜日

自分用メモ

このエントリーをはてなブックマークに追加
synergyc [IP address]

タイトル修正:車輪の再発明しました。

このエントリーをはてなブックマークに追加
Mozilla Re-Mix: 2009年 [moziller]がお世話になった13個のGreasemonkeyスクリプト
http://mozilla-remix.seesaa.net/article/136662241.html


追記の追記
初期投稿時に、不適切な表現がありましたので削除しました。
目を通してしまった方々には不愉快な思いをさせてしまい、大変申し訳ございませんでした。


追記
@os0x:@ArcCosine ちなみに、AutoPagerizeToggleRequestが追加されたのは最近のことで、それまではMouseEventを投げるしかなかったので、センスとかはあまり関係がないかと…

@miya2000:@ArcCosine ちょちょ、善意でコードを公開してる人に対してその言い方はないよ。(知り合いで何でも言い合える仲とかなら問題ないだろうけど)

大変失礼しましたorz
今まで無かったのですね……。




って事でソースコードを読んで、os0xさんからAutoPagerizeToggleRequestを教えていただいて、完成しました。
スクリプトはこちら
Iキーでon/offします。

miya2000さん色々アホなPostしてごめんなさい。
os0xさん直球ど真ん中の回答ありがとうございます。
この場を借りてご協力に感謝の言葉をお伝えしたいと思います。
ありがとうございました。

2009年12月25日金曜日

気づいた事

このエントリーをはてなブックマークに追加
iPhoneやめました
この記事を読んで一点気になったことがあった。
それは以下の文だ

しかし、iPhoneを買ったものの使いにくいと文句を言う人に対し、ヘビーユーザーが「どういうものか調べないで買うのが悪い」「iPhoneを使いこなせていないから不便に感じるのだ」といった言葉を投げかけるシーンを、いまだによく目にするのも事実。こういうやりとりがあること自体、やはりiPhoneはまだまだ普及したとは言えないという証拠なのではないか……iPhoneを1年近く使い、そしてやめた今、私はそう思っています。

このiPhoneはPCやブラウザといった単語に置き換えることが出来ると思った。
そして、調べないで買うのが悪いとか、使いこなせないから不便だと言うのは、男性側の意見なんだろうなぁと感じた。
女性と男性の思考パターンの違いは周知の通りで、お互いに理解出来ない所がある。
とはいえ、こういったちょっとした違和感を敏感に感じ取るのは開発者(?)として必要な能力だと思ってる。
PCやブラウザなどは一部の詳しい人だけが使うものでは無くなっていて、よく分からない初心者の人でも使わざるを得ない状況になっている。
その上で、良く分かっている人(≒スキルが高い人)にとって分かりやすいI/Fは、良く分からない人(≒スキルが低い人)にとっては分かりづらいI/Fである事を覚えておかなければいけない。

男性はPCやブラウザやiPhoneのようなガジェットを自分で調べる傾向が強いので(全ての人がそうだとは限らないけれど)自然とスキルアップする。
でも、女性はそういうのを面倒くさがる人が多いと僕は思っている。
これは単純に興味の範囲の違いである。

それならば、物を作る時に誰をターゲットにすべきかで当然I/Fの設計等は変わってくる。
それを僕は今まで意識していなかった。これは完全に見落としていた所だ。
「誰にとっても使い易いI/F」というのは非常に限られている上にしょぼい。
僕はしょぼいI/Fは大嫌いだし、ユーザもすぐ飽きると思う。
ならば、ターゲットユーザを見極めて、その上でそのユーザが何度も使いたいと思うI/F設計をしたいなと思う。
まあ、ただの戯言で御座居ます。
以上。

2009年12月23日水曜日

世界最速が帰ってきた。Opera 10.5 pre-alpha リリース!

このエントリーをはてなブックマークに追加
世界最速ブラウザ。
それがかつてのOperaの二つ名でした。
しかし、Firefox3、Safari、そして、Google Chromeの登場により、Operaは最速の座を明け渡すという屈辱を味わいました。
この一年間ちょっとはまさに苦闘の日々だったでしょう。


しかし、Operaチームはやってくれました。
世界最速の名を取り戻しに来たのです。
昨日リリースされたOpera 10.5 pre-alphaバージョンは現在世界最速のブラウザです。(ArcCosine環境限定ですがw)
Sunspiderのスコア最速を叩き出してくれました!

結果
Opera 10.5 pre-alpha Total: 686.2ms +/- 1.7%
Safari 4.0.4(531.21.10) Total: 770.8ms +/- 1.1%
Google Chrome 4.0.266.0 Total: 798.8ms +/- 2.7%
Firefox 3.5.6 Total: 1846.4ms +/- 1.4%

(参考中の参考)
Opera 10.20 Alpha 1 Total: 9490.2ms +/- 12.5%

※IEは比較対象にすらならないので除外。




尚、Opera 10.5 pre-alphaは名前が示す通り、Opera社内でもテストがほとんど終わってないバグがいっぱいあるブラウザですので、常用は不可です。
そして、Operaに慣れ親しんでいない方は触らない方が幸せです。
インストールして、大事なデータがクラッシュしても、責任は負えませんのであしからず。
ともあれ、次のOpera10.5は期待して良いと思います。
以上

2009年12月18日金曜日

ニコニコ動画の毎時リストでLDRizeするUserScriptを書いた。

このエントリーをはてなブックマークに追加
完全に自分用で、Operaでしか確認してない。いつも通りのScriptです。
Enterで動画を開けるのは便利かなぁ。


// ==UserScript==
// @name nico ldrize
// @namespace http://looxu.blogspot.com/
// @include http://www.nicovideo.jp/ranking/mylist/hourly/all
// @author Arc Cosine
// @version 1.0
// ==/UserScript==
(function(){
var keyHandler = {
'J' : function(){ NicoLDRize.scroll(1); },
'K' : function(){ NicoLDRize.scroll(-1); },
'ENT' : function(){ NicoLDRize.openTab(); }
}
var NicoLDRize = {};
NicoLDRize.init = function(){
var specialkey = {'13' : 'ENT'};
NicoLDRize.pos = 0;
var allow = document.createElement('div');
allow.id = 'nicoldrize';
allow.style.width = '16px';
allow.style.height= '16px';
allow.style.background= '#008800';
allow.style.position = 'absolute';
allow.style.top = '196px';
allow.style.left = '160px';
document.body.appendChild(allow);

window.addEventListener('keypress',function(e){
if( e.target.tagName == 'INPUT' || e.target.tagName == 'TEXTAREA' ) return;
var keyCode = e.which;
var pressKey= (typeof specialkey[keyCode] == 'undefined') ? String.fromCharCode(keyCode).toUpperCase() : specialkey[keyCode];
if( typeof keyHandler[pressKey] != "function" ) return;
e.preventDefault();
keyHandler[pressKey].apply();
},false );

}
NicoLDRize.scroll = function(num){
NicoLDRize.pos += num;
if (NicoLDRize.pos < 0) { NicoLDRize.pos = 0 };
if (NicoLDRize.pos > 100) { NicoLDRize.pos = 100 };
var divs = document.querySelectorAll('div.content_672 > div');
var pos = divs[NicoLDRize.pos].offsetTop - 20;
document.body.scrollTop = pos;
document.getElementById('nicoldrize').style.top = pos + 60 + 'px';
}
NicoLDRize.openTab = function(){
var aTags = document.querySelectorAll('div.content_672 a.watch');
var url = aTags[NicoLDRize.pos-1].href;
window.open(url);
}
NicoLDRize.init();
})();

2009年12月17日木曜日

60分かかった

このエントリーをはてなブックマークに追加
10分でコーディング|プログラミングに自信があるやつこい!!
http://ameblo.jp/programming/entry-10001721422.html

LDCにもPostしたけど、今日ふと思いついてもっとシンプルなコードができたので修正。
修正には10分も掛からなかったけど、この記事を書いてる時間を含めてトータル60分と言うことでw

考え方はシンプル。
もらったカードの数で割れる数字(=limit)まで計算して、後は順番に配るだけ。
余りを計算する事で、配る数値(例えば、numが3だった場合、0~2)を計算して出してるのが余計なループとかを省くポイント。

最初は+=で表現しようと思ったけどうまく行かなかったので、三項演算子でごまかしてる。
邪道な書き方なのでしょーがない。

も・ち・ろ・ん・I・E・非・対・応・!

まあでも僕はツンデレだから、↓のフォームはIEでも動くよ。







<html>
<head>
<title>test</title>
<script type="text/javascript">
window.addEventListener("load",function(){ init(); }, false );
var init = function(){
document.getElementById("fire").addEventListener("click",function(){
var num = document.getElementById("num").value;
var cards = document.getElementById("cards").value;
var card_sprit = new Array();
var limit = cards.length - (cards.length % num);
for( var i=0; i<limit; i++ ){
card_sprit[i%num] = (i<num) ? cards[i] : card_sprit[i%num]+cards[i];
}
document.getElementById("result").innerHTML = "resuluts: " + card_sprit;
}, false );
}
</script>
</head>
<body>
<input size="40" id="num" type="text" value="3" /><br>
<input size="40" id="cards" type="text" value="123123123" /><br>
<input id="fire" type="button" value="calc" />
<div id="result"></div>
</body>
</html>

2009年12月16日水曜日

文章を書くときに意識すること

このエントリーをはてなブックマークに追加
当たり前の事だけど、文章を書くときにその文章の「テーマ」を考えるよね。
これを考えないでいきなり書くのはせいぜい感想文位。
でも、感想文だって突き詰めると○○に関する感想ってテーマがあるよね。

僕は、なにか文章を書く時は必ずメインテーマとサブテーマを考える。
大体、メインテーマは1個、サブテーマは2,3個でまとまる。
後は経験則と勘で凌ぐ。

最も、テーマが明確にならない内に文章を書き出したりする人も世の中には入る。
書いているうちに見つかるだろうという甘い考えなのだろう。
その辺をキチンと見分けて書かないと意味ないでしょうがw

文章を書くのが辛いと思う人は、まずテーマを決めてみましょう。
そうすると上手く次の言葉が出てくるかもしれませんよ?
以上

2009年12月10日木曜日

スライド携帯楽しい

このエントリーをはてなブックマークに追加
G9を手に入れてようやく遊べるレベルまで持ってこれました。
音楽を聞きながらメールするのというのはとても楽しいものですね。
付属のゲームがあるのですが、欠片も遊んでいないのはやっぱり遊び方のベクトルが普通の人と違うのかなぁと思う次第でして、ま、気が向いたら遊ぼうかな。

文字打ちがもう少し楽しくなれば、スライド携帯はもっと楽しくなるかもしれない。
そういう意味では、iPhoneはよく出来たUIを設計したなと思う。
やっぱり、ボタン数は少ない方が人間的には良いのだろう。
ただし、キーボードとマウスは除く(ぁ

タッチパネルの凄さはボタンの見た目は少ないけれど、実際にはInputを多く増やしてる所なんだなと改めて思いました。
さすが、Apple。人間工学がよく分かってる。
僕ももう少しその辺を勉強した方が良いかもしれないなぁ。

project twstar

このエントリーをはてなブックマークに追加
タイトルは無意味です。
ええ、全く持って無意味です。

本日、携帯+BTの音楽環境を整えました。
その為だけにLismoを入れるのも腹立たしかったのですが、短時間解決のためには致し方なし。
CDからインストールしたのですが、起動した瞬間にVerアップ通知が。
……これは酷い。

SonicStageのパチモンってか亜種ってかともかく使いづらいと感じました。
PCの起動とかが遅くならないと良いなぁ(・ω・)

2009年12月8日火曜日

携帯を新しいのにしました

このエントリーをはてなブックマークに追加
ということで、携帯の新しい機種を購入しました。今までポケベル打ちだったので、若干慣れていませんがその内慣れてくるでしょう。

2009年12月1日火曜日

ズバッと三振毎度ありっ!

このエントリーをはてなブックマークに追加

ズバッと三振毎度ありっ! powerd by ピアプロ

名曲!

なんでこんなにブックマークがあるんだろう?

このエントリーをはてなブックマークに追加
Gmailのキーボードショートカットによる生産効率向上が界王拳並みな件 - カイ士伝
http://blogging.from.tv/wp/2009/11/30/3016

書いてある内容は別にどうって事は無いし、公式Help読めば一発で分かることなのにはてぶエントリ数ブックマーク数が異常だったりする。
何でかなと思って適当な仮説を立ててみた。

1.タイトルの釣り効果が抜群だった
 界王拳というドラゴンボール世代を釣るには最適な言葉をタイトルに埋めてたのが良かった

2.意外とgmailのショートカットをきちんとまとめたエントリが無かった
 gmailのショートカットはgoogle maniaさんが既に紹介してるんだけど、全てを細かに紹介していなかった。
 きちんと文章読む人ならこれだけで十分だけど、適当に流し読みする人にはこれくらい事細かに書いてる方が親切なのかもしれない
 でも、キチンと検索すると一覧という意味ではこれだけあるので、決定打では無いと思う。
 http://gmail.1o4.jp/shortcuts.html
 http://bizmakoto.jp/bizid/articles/0901/07/news005.html
 ちなみに、本家ヘルプ
 http://mail.google.com/support/bin/answer.py?hl=jp&answer=6594

3.画像が良かった
 説明に使ってるスクリーンキャプチャが上手かった。
 塗りつぶし含め分かりやすかった。
 これは他のまとめには無い特徴だった。

4.実はgmailのキーボードショートカットキーは意外と使われていない
 多分、これが最大のポイントだと思うのだが、gmailのショートカット機能を使っていないユーザは多い。
 それも、ちょっとどころか大多数を占めているのではないだろうか。
 これは、UI的な事を考えれば一目瞭然なのだが、「ブラウジング」はマウスをメインに行うのが主である。
 一部の変態を除き、キーボードでgmailを操作するという「発想」がユーザ側には無いのだろう。
 その為、折角用意されているキーボードショートカットを使うユーザは少なかったのだろう。
 仮に居たとしても、彼ら変態に取っては「当たり前」の事なので、エントリにする価値が無いと判断し、今までキチンと書かれてこなかった。
 したがって、今回のエントリが大うけだったのではないだろうか。

という事で、総合すると良エントリだったのでしょう。
文句をつけようと思ったけど、冷静に分析するとやっぱりブックマークされる要因はあるものだなぁという事が分かり、一つ勉強になった。