7/31/2009

Terminal での ftp を使うときの備忘録

Terminal で ftp 接続してからは、lcd でローカルディレクトリ移動の際、日本語名フォルダを打てない。Terminal に入力を拒否される。
だから ftp の前に移動しておくこと。
lpwd を使ってちゃんと確認しておくこと。

7/30/2009

倒産、入院、盗難

昨年、2008 年秋から今年の春にかけて、かなり散々だった。

◆9 月某日
当時働いていた会社の社長が役職付き(社員の過半数)と緊急会議を催す。我ら役職なし 3 人はその間、外でランチを採ることになり、帰社後、社長から 3 人が喫茶店へ呼ばれる。

「このままだと 11 月の給料を払えない(=倒産)。役職付きを全て解雇した。君らはどうする

なんだその言い草は。3 人とも腹は決まっていたが、とりあえず翌週に持ち越し、月曜に離職を伝える。

これが悪夢の始まりだった。

◆10 月某日
社長を除く全ての社員が退職する。

その後、1 通の手紙が社会保険事務所より来た。

「10 月の社会保険料払え」

いやいやいやいや、ないないないない。10 月の給与明細には、保険料がキチンと天引きされていることが明記されている。全国健康保険協会に電話をし、実情を話すと、「最初にもらった給与明細にも天引きが書かれていないか?それであれば、10 月分が天引きされているのはオカシイ。我々は離職票が出た月には会社に請求しない(=天引きされるはずがない)」とのこと。とりあえずその日は電話を置いた。

月末には職安へ行き、色々と申請しないといけない。その際に離職票にある「自己都合」で良いかと最後に訊かれ、事情を話す。すると「それ(社員の 1/3 以上を解雇した事実)は倒産になるので、会社都合であるべき。異議申し立て書に記載せよ」と言われたので、書いて提出。

◆11 月某日
職安から会社へ離職理由について問い合わせた結果がなかなか来ない。職安は怪しんでいる。「応答すらない。不審なことがなければ応答はあるはず」

そんな中、会社より手紙が来た。

「社会保険庁より指導があり、社会保険料を預かっていましたがお返しします」

嘘こけ。預かってるという認識がある訳なかろう。元々詐取するつもりだったに違いない。

後日、職安から電話があった。「会社が認めました。会社都合に変わりました」良かった。

◆2 月某日
頭痛がする。これは激しい。手で押さえるという動作しかできない。テレビも見られる状態ではない。土曜だったので、小康状態の時に病院をネットで探そうとしたがなかなか見つからない。仕方なく友人に電話すると、病院を紹介してくれた。待合室で待っている間にも激痛が走り、唸る。待合室で看護婦に「大丈夫ですか」と言われたのは初めてだ。

緊急で CT を撮影し、結果が出た。副鼻腔炎。

鼻炎はあるかと訊かれたが、鼻炎持ちではない。不思議そうにする研修医(っぽい若さ)だったが、都合悪く耳鼻科がない。

翌週、耳鼻科へ行き、投薬開始。

◆3 月某日
投薬では成果が上がらず、入院することに。ただ、鼻炎持ちだったか訊かれたという話をすると、「鼻炎は関係ないねぇ。鼻炎なら両方が(副鼻腔炎に)なるはず。君の場合は左だけだ。ひょっとしたら、左の上の奥歯に虫歯はなかったか?」

正解。3 年前に歯の芯がなくなるほど、医者に「これはエグイ虫歯だ」と言われるものを、左の上の奥歯に患った。みなさん、虫歯でも、放っておくと、大変なことになりますよ

◆4 月某日
手術を行い、無事、完治。

と思っていたら、仕事の現場でカバンごと盗まれる。全財産やカード類、果ては指輪まで入っていた財布もなくなっている。すぐに天王寺警察署に行った。調書をパソコンで作ってくれるのだが、なにやら迷ったのか、先輩を呼び、驚愕の一言。

「アンド(&)ってどうやって打つんですか?」

をい公僕!人の税金で飯食ってるならそれくらい勉強汁!

散々な半年だった。。。

CSS3 の text-overflow

html5 と同じように CSS3 も気になってはいるのだが、text-overflow をちょっと気に入っている。
ボックスよりも文字が長い場合、文字を途中で切って自動的に「...」を付随してくれるというもの。

今のところ、Safari 4 と Opera 10.00 beta2 で確認している。おそらく Safari と同じ WebKit の Chrome もいけるだろう。

--- CSS 側 ---
.test {
width: 300px;
height: 1.4em;
text-overflow: ellipsis; /* Safari 用 */
-o-text-overflow: ellipsis; /* Opera 用 */
overflow: hidden;
white-space: nowrap; /* この指定がないと効果が出ない。 */
border: 1px solid #666666;
}
.test:hover {
text-overflow: inherit; /* Safari 用 */
-o-text-overflow: inherit; /* Opera 用 */
overflow: visible;
}


--- html 側 ---
<div class="test">
ボックスより長い文章はちぎれて表示、マウスをあわせると全部表示。
</div>


今まではプログラムで文章の長さを見て同様の処理をする必要があったが、これは便利。

Firefox 用の「-moz-text-overflow: ellipsis;」というのもあるんだが、何故か確認できない。。。

Safari 4

Safari 3 から一気に戸惑った点がひとつある。
それは、ブラウザのリロードボタンが URL バーの右に移ったことだ。

Firefox も、一気に Chrome 似になった Opera も、今まで通り URL バーの左側のボタンゾーンにある。
Safari を使っていると、他のブラウザを使ったときに焦り、逆も然り。

今後はどちらが主流になるのだろうか。

7/29/2009

チェックボックスをチェックしたら、テキストボックスなどの有効無効を切り替える

例えば、チェックしないとテキストボックスが有効にならず、チェックを外したらまた無効になるというものをよく見る。
これも ! を使えば簡単。

--- js 側 ---
<script type="text/javascript">
function enableTxt(mode) {
document.getElementById("txt").disabled = !mode;
}
</script>


--- html 側 ---
<label><input type="checkbox" id="chk" onchange="enableTxt(this.checked);" />チェックするとテキストボックスが有効になる</label>
<input id="txt" type="text" value="" disabled />


ブラウザの js 実行スピードに頼らず、できるだけシンプルにスクリプトを書いていきたい今日この頃。

input の checkbox や radio に対する label 要素

そういえば、チェックボックスとかって、チェックするときに箱をクリックしないといけないページが多い気がする。
<label></label> でちゃんと括ってほしい。

英語とドイツ語の「明日」

以前ドイツで勤務していたとき、あるトルコ人と仲良くなり、色々と英語でお話していたときのことです。

私は「明日」の話をしているにも関わらず、彼は「morning」と何回も言ってくるのです。

別にその時に限ったことではなく、何回もこの場面に遭遇しました。
不思議に思い、辞書を引いてみると、判りました。

◆英語
morning = "朝";
tomorrow = "明日";

◆ドイツ語
Morgen = "朝";
morgen = "明日";

要は、私のドイツ語の知識のなさと、彼がドイツ語と英語を混同していたことが合わさった現象でした。

初めてドイツへ行くときはお気をつけください。。。

7/28/2009

こんな Safari も好き

Mac User の方、押してみてください。
Command + Option + Control + 8

html5 の新要素について

Google グループの html5-developers-jp でも少し論議になっているのだが、html5 の section や article といった要素は、現状ブラウザの解釈として、display がデフォルトとして設定されていない状態、要は inline 要素の振る舞いをする。
ただ、これはデフォルトとしてまだブラウザ側が定義していないだけで、将来的には display: block; としての挙動になると思われる。

A vocabulary and associated APIs for HTML and XHTML
ここに section 等の要素は display: block; と明記されている。

7/27/2009

Yahoo! オークションの一覧画面のカスタマイズ

先日、ヤホーオークションの出品一覧画面が見づらいので Hack して便利なようにカスタマイズした、という話をしたが、あれからまた変更してみたので、現時点の機能概要を書いてみる。

◆出品中一覧画面
◇商品名
クリックすると実際の商品ページが別ウィンドウで開く。

◇現在価格
価格が高い順にソート可能。

◇入札数
入札が多い順にソート可能。

◇アクセス総数
商品ページを読み込み、アクセス総数を取得。アクセス総数が多い順にソート可能。

◇ウォッチリスト数
商品ページを読み込み、ウォッチリストに追加された数を取得。ウォッチリスト数が多い順にソート可能。

◇残り時間
残り時間が少ない順にソート可能。

◇質問
商品ページを読み込み、質問が来ていれば「あり」と表示。「あり」「なし」の順にソート可能。

以上 6 項目。デフォルトでは入札数でソート。
localStorage に格納している前回の一覧と比較し、今回表示するリストにない商品(出品中リストから消えた=終了分に入っている)があった場合、出品終了分一覧ページを読み込み、落札者ありにその商品があれば、「落札されました」旨のメッセージと商品ページへのリンクをお知らせとして表示する。

◆出品終了分一覧画面
◇商品名
クリックすると実際の商品ページに別ウィンドウで開く。

◇落札価格
価格が高い順にソート可能。

◇落札者
クリックすると、落札者の出品リストページが別ウィンドウで開く。a-z の順にソート可能。

◇落札者評価
落札者ページを読み込み、評価ポイント数を取得。クリックすると、落札者の評価ページが別ウィンドウで開く。

◇取引連絡
クリックすると、取引ナビのページが別ウィンドウで開く。

◇新着取引
商品の取引ナビページを読み込み、先方からの書き込みされた件数を取得。localStorage に格納している前回の件数と比較し、増えていれば「新着あり」と表示。「新着あり」「新着なし」の順にソート可能。

◇評価連絡
商品の評価ページを読み込み、既に評価しているかどうかを取得。評価していれば「評価済み」、まだ評価していなければ「評価する(クリックで評価ページが別ウィンドウで開く)」と表示。「評価済み」「評価する」の順にソート可能。

以上 6 項目。デフォルトでは評価連絡でソート。


Yahoo! オークションの一覧画面は、Yahoo! 側から見れば便利に作ったと思っているかもしれないが、実際に使ってみると、表示されてほしい項目はクリックしないと見られないとか、評価ページなどは「評価」ボタンをクリックしても評価を書き込むページには行けず、再度小さなリンクを見つけ出してクリックする必要があったりと、ユーザビリティが非常に悪い。

しかし、カスタマイズし始めたら、止まらないもんだ。。。

諸君、私は Apple が好きだ

ネタとしてはだいぶ古いが、ブログを始めたことだし、やってみた。

諸君、私は Apple が好きだ
諸君、私は Apple が好きだ
諸君、私は Apple が大好きだ

Mac OS が好きだ
Safari が好きだ
iTunes が好きだ
Logic が好きだ
Dashcode が好きだ

家で
会社で
スタジオで
iPod で
iPhone で

この地上に存在するありとあらゆる Apple が大好きだ

UI に対する絶対的な自信と実現する力が好きだ
Finder に Cover Flow が実装された Mac OS 10.5 の発表など心がおどる

想像を絶する発想力と実装する技術が好きだ
Mac に乗り換えた元 WIndows ユーザーが「使いやすいね」と言ってきた時など胸がすくような気持ちだった

安定稼働する OS の力強さが好きだ
Windows ユーザーに「OS がフリーズなんてしたことないなぁ」と話す時など感動すらおぼえる

Windows を使ったあとに Mac を使った時などもうたまらない
「ジャーン」という起動音を聞くのは最高だ

Windows ユーザは決して安くはないセキュリティソフトを買い、年々更新するのを
「そんなもの使ったことないし、使う理由が見当たらない」と説明する時など絶頂すら覚える

UNIX ベースの堅牢なシステムが好きだ
ただ、シェアが少ないだけで人々の購買選考基準になりにくいことはとてもとても悲しいものだ

CM や広告など優れた販売センスが好きだ
月々の利用料と称して密かに在日の分まで日本人に払わせている SoftBank のような糞キャリアから iPhone を販売しているのは屈辱の極みだ

諸君 私は Apple を WIndows ユーザの垂涎の的の様な Apple を望んでいる
諸君 私に付き従う Apple 好きの諸君 君たちは一体何を望んでいる?
更なる Apple を望むか 
糞の様な Apple を望むか?
Windows という糞 OS を打ち破り、全く標準に沿う気のない糞ブラウザ IE を破滅させ、OS の支配者のような Apple を望むか?


Apple!! Apple!! Apple!!


よろしい ならば Apple だ

だが、会社の同僚や友達との会話で Mac を使ったことないくせに侮蔑することに耐え続けて来た我々には
ただの Apple ではもはや足りない!!
大 Apple を!! 一心不乱の大 Apple を!!

我々はわずかに小数
Windows User に比べれば物の数ではない
だが諸君は一騎当千の Apple User だと私は信じている
ならば我らは諸君と私で総兵力 100 万と 1 人の Apple の伝道集団となる
我らを忘却の彼方へと追いやり、「Mac?はぁ?シェア少ないからどうでもいい」と平気で言う Windows User を叩きのめそう
髪の毛をつかんで引きずり下ろし 眼(まなこ)をあけて思い出させよう

連中にパソコンを使う度にドキドキする感動を思い出させてやる
連中に使いやすいという根本的なことを思い出させてやる
Apple には奴らの哲学では思いもよらないクラッシュしない OS がある事を思い出させてやる
1000 人の Apple User の集団で 世界を Apple ロゴで埋め尽くしてやる

目標 Internet Explorer

WHATWG による世界標準化作戦 状況を開始せよ

征くぞ 諸君


「諸君、私はほにゃららが好きだ」ジェネレータで生成させていただいた。

7/26/2009

home page は web site に非ず

home page と呼ぶ人がとかく多い。
何故だろうと考えてみると、ひとつの推測がたった。

IBM のソフト Home Page Builder ではなかろうか。
割と web 初期からあるこのソフトの名称の影響が考えられると思う。
当の Home Page Builder の web site 内では、create and publish Web sites と記されている。

もちろん、このブログを閲覧されている人には釈迦に説法だが、home page はブラウザを起動したときに表示される web page。
要はブラウザの設定。
それ以外は home page の定義から外れる。

驚いたのだが、我が日本国の国営メディアである NHK、日本放送協会でさえ、「公式 home page」と宣伝している。
定義を考えれば home page に公式、非公式など有り得ない。

ブラウザで閲覧できるページは web page であり、まとめたものが web site である。制作側から言えば「web site 制作」であり、メディアは「公式 web site」と喧伝すべきである。私も web の未来のために、引き続き啓蒙活動を続けようと思う。

home page はあなたの設定ひとつで、作ることも変えることもできる。

7/24/2009

スマートフォン市場

iPhone が日本に登場してから、各社が「iPhone に似た」スマートフォンを発表してきた。
そこへ Google の Android も加わり、ますますスマートフォン需要が高まる気がする。

気になっているのは、既存の携帯ブラウザ。
Javascript を使えないのはかなりイタイ。
しかもキャリアに貢ぎ物をしないとなかなか上位に表示されない携帯 SEO。

もう早く駆逐されてほしい。

その分、フルブラウザと呼ばれる、パソコンとほぼ同じ(Flash 等プラグインは除く)機能をもったブラウザが早く普及してほしい。
既存のブラウザでは Flash を使わないとページ遷移なしでグリグリ動かすのは至難の業。
もう結構、DOM と Ajax で Flash っぽい動的コンテンツを作れるから、Flash を触っていない。
しかも Flash はキャッシュをもちやすいからちょっとイラつく。

スマートフォン市場の拡大に、憚りなく期待。

(a == 0) でも (b == 0) でないときだけの javascript

今まで、(a == 0) かつ (b == 0) でないときだけに処理をしたいことがあって、割と式を考えるのが面倒だった。

逆の場合は簡単なのに。
if ((a == 0) && (b == 0)) {
// 処理
}


気づいた。

if (!((a == 0) && (b == 0))) {
// 処理
}


条件を () でまとめて、さらにその前に ! をつければいいだけね。

気づかなかったことを恥じた。

Google Analytics

このブログにも入れてみた。
今のところ、閲覧していただいている際のブラウザは Safari、Firefox、Chrome のみ。
末期的な IE では見られていない。
出だしは順調だ。

7/23/2009

Opera 10.00 beta 2

昨日のスピードテストの結果から Opera 10.00 beta 2 をちょっと使ってみた。
事実、「速い」と体感した。

昔いた会社の同僚から Opera を勧められ、使い始めたのが最初。
そのときも「速い」と体感していた。
もちろん、そのときは最悪 IE との比較だったから、その体感速度は物凄かった。
今は通常使いの Safari との比較になるが、それでも「速い」と思った。

思い返すと、新しいタブを開いたときに出るよく訪問するページのサムネイル化は、Opera のスピードダイヤルが最初だったように思う。
その後、Chrome、Safari が続いた。あたかも自分が開発したかのように。

あとデフォルトでマウスジェスチャーを使えるメジャーブラウザも Opera だけ。
他のも使えるようになってほしい。
右クリックしながら左クリックで「戻る」、その逆で「進む」を実行できる。
これは昔から個人的にとても重宝してた。

もう少し使う機会を増やそうかと思う。

HTML5 の Storage

http://dev.w3.org/html5/webstorage/

HTML5 では storage 機能が実装される。
これを書いている Safari 4 では既に対応しているので、その恩恵に浴することができる。

storage は cookie のようなもので、ハードディスクに情報を保存できる機能。
しかし、cookie と違い他のサイトでも共有されるらしい(This information can then be shared with other sites)ので、安易な名称は避けた方が良いと思う。
localStorage.userName なんてするのはおそらくユーザに危険。

ただ、使い勝手は物凄く良い。

localStorage.xxx = xxx;

とすれば保存されるし、

xxx = localStorage.xxx;

とすれば取得も簡単。

まだ Safari と Firefox で記述が異なるのがちと厄介。

どうも Safari ではローカル上から cookie をかませようとするとやる気を出さない。
web 上からかますと普通にいける。
Firefox はローカルでも cookie を読み書きできる。

この storage は Safari でもローカル上からいける。
その分、悪用されなければいいが。

ヤホーオークションの出品一覧画面

ヤホーオークションの出品一覧画面が見づらいという人がいたので、hack して作り替えてみた。

まず、一覧のアイテム背景が真っ白なので、数が多くなると右と左で合わなくなることがある。
そこで、1 つおきに背景を付けてみると見やすくなる。

あと、アクセス総数とウォッチリスト数が一覧に表示されないので、いちいち見に行くのがめんどくさい。
ということで、それぞれの出品物ページを hack してこれらの項目を取得。
一覧に項目を加えるととても便利。

ついでに、各アイテムの値は連想配列にブチ込んであるので、ページ切り替えせずにソートも思いのままにできる。

作ってみて思った。
ヤホーはユーザーを理解していない。

Javascript の処理スピード

getElementById で値とかを代入していくのと、getElementsByTagName で全部格納しておいて代入するのと、どちらが早いのか実験してみた。
getElementById だとその都度 document 内を徘徊するらしいので、後者の方が速いんやろなと思っていたけど、結果はあまり差はなかった。

まず、<input type="text"> をたくさん作っておく。今回は最大 2000 個まで生成するようにした。
そのときに、input の id に連番を振っていく。
ここからがテスト対象。
3 で割り切れる id の value に「アホ」と代入していくようにする。
2000 個の input の場合は、都合 660 回以上「アホ」を代入するという、外から見たらお前がアホなのではと疑われるような処理を走らせる。
処理の最初と最後に getTime(); の数値を取り、その差分で計測する。
結果、method での差はあまりなかったが、ブラウザでかなりの差があった。
以下は 2000 個での結果。
◆Safari 4.0.2
 約 340 ミリ秒付近
◆Firefox 3.5.1
 約 3300 ミリ秒以上
◆Opera 10.00 beta 2
 約 30 ミリ秒未満

※環境は Mac OS 10.5.7、G4 1.42GHz、1GB メモリ

Firefox が何故遅いのか、Opera が何故異常に速いのか。
また別のアホな実験処理をやってみたいと思う。