Posts

Showing posts from September, 2008

あーあせったーー(EeePC 英語キーボードをeeeUbuntuで使う)

今頃eeePc901を買いました。 本当はDellのminiPCにしようかと思っていたのですが、言われているようにキーボード配列が気になりすぎます。いくらキー自体が打ちやすくてもはっきり言って無理! そこでeeePCなのですが、やはりキーボードは英語でしょうというわけで、ヤフオクでキーボードだけゲット。日本語キーボードは一度も押すまでもなく交換し(詳しくはこちら)、Linuxをインストール。 最初はXandrosにしようかと思ったのですが、なんだかネットワークに繋がらない。そこで ライブCDの部屋 さんのeeeUbuntuを使わせてもらうことにしました。 もっと遅いかと思ったのですが、スピードは十分。快適に使っていて半日がたったころ、おや?!バックスラッシュとパイプのキーがうごいていません。 すわ、キーボード取り付けをしくじったか、駄目なキーボードをつかまされたかと焦りまくり。結果から言うと設定→キーボード→レイアウトでレイアウトはUSAになっているのに、キーボードの形式がja-106のままでした。これをACPI Standardに直したら動きました。あーあせった。 ケアレスなことですが、万が一、同じところでハマってる人がいるかもしれないことを考え(そんな人、おらんかな?)ここに書いておきます。

今更iPhone

1ヶ月ほど前からiPhoneを使っています。 Willcomのw-zero3[es](Advancedではない)をずっと使っていましたが、元々、電話嫌いな上、ネット端末としても微妙に使いづらく、殆ど使っていなかったので、解約していました。 ただ、やはり全く電話がないというのも不便ですし、どうしようかなーと思ってたところで、iPhoneの通話料が値下がりしたので、イッチョ買うかと思った次第です。 で、賛否両論も既に言い尽くされている通りで、文字入力はひどいがsafariのネット環境はいい。表面にとっかかりがないので、落としそうではありますが、見た目はカッコイイ。 そこで こんな記事(iPhoneという奇跡) を読みました(やっと本題) iPhone発売直後の記事で、筆者はそうとう盛り上がっており、今ではちょっと意見も変わっているかもしれませんが、その熱い気持ちが伝わってきます。 全面的に賛成とはちょっと言えませんが あらゆる革新的な製品は垂直統合モデルから誕生します。 いかに最後は負ける運命であっても、OASYSが載った富士通や一太郎が載った日本電気のようなモデル、つまりハードウェアからアプリケーションまで一体化された斬新な体験によって、新技術に突破口が開けるのです。 という文章には、ドキリとしました。 確かに今までなかったものを世間に問う場合、製品のあらゆるレベルに工夫を投入して未来を先取りしなければなりません。それが出来るのは垂直統合モデルからだという意見はなかなか斬新です。 確かにAppleは垂直統合でPCを切り開いたし、日本の自動車企業やソニー・松下が世界に通用してきたのも、垂直統合の先進性という強みを発揮してきたからという気がします。(その成功体験が今、足を引っ張り始めている感もありますが……) そしてiPhoneに比べ、Andoroidがひ弱に見えるのも、これが原因かと思い当たります。 しかし、うーーん、それにしてもそんなにすごいのかiPhone。でも確かに、いつでもどこでもネットサーフィンが(比較的)苦にならない小型端末というのは、人間の何かが変わるぐらいインパクトがある気もしないではなくなってきました。 でも、イマイチ、何に使えばいいのか……。 あーそうか、ずっとPCの前にいる日常だから、ありがたみがないのか。 ……あかんやん

Pythonで序数を返す関数

1st. 2nd. 3rd, 4th, 5th ....と序数を表示する必要があったのですが、pythonなら  def order_n(i): return {1:"1st", 2:"2nd", 3:"3rd"}.get(i) or "%dth"%i の一行で書けますね。辞書型のgetメソッドは、辞書にない時Noneを返すので、そのときは"%dth"を返せばいいわけです。こういうのを一行でさっと書けるので、pythonは癖になります。

GoogleToolBarの検索ボックスへのショートカット

Firefox 3でCtrl-Gでグーグルツールバー内の検索ボックスにカーソルが飛ぶことに今、気づきました。(OSX 10.5) あったら便利だと思ってたらやっぱりあるのね。

Pythonでのワンライナー

バグがないプログラムを作るコツは、なんといっても書かないことです。 書かなければバグらないわけですから、当たり前と言えば当たり前ですが…… だとすると、たとえ一行じゃなくてもワンライナー的な書き方は有効でしょう。 その点、Pythonのリスト内包はあまり美しい文法ではないものの慣れると手放せません。 Noneが値として入っているようなリストを集計する場合、 sum([x or 0 for x in list])で一発です。 Noneが入っている文字列の集合を作るなら "".join([str or "" for str in list])でリスト内の文字列が繋がって出てきます。 Noneかどうかより複雑なフィルターを使いたい場合は、bool値を返す関数filterを作って def filter(): ... sum([x for x in list if filter(x)]) でいけるので、ラクチンです。 うーん、すばらしい。Pythonで無名関数がもっと簡単に作れたら言うことないんですが。(関数内関数が使えるので、それほど問題でもないですけど)