WordPress 2.5にアップグレードしたのだが…

たった今、WordPress 2.5に、このブログをアップグレードしたのだが、アップグレードした直後、何も表示されなくなって、顔面蒼白。あーー、バックアップとればよかった。結果としては、色々いじくっていたら、表示されるようになった。

問題はThemeの設定にあった。僕はカスタムのThemeをインストールして使っている。アップグレードする際に、インストールガイドに書いてあるように、全てのファイルを削除した。その際、一緒にThemeも消した。しかし、データベースは以前のThemeを参照したまま、新しい2.5には当然カスタムのThemeは入っていない。よって何も表示されなかった。WordPressをアップグレードする際に、全部ファイルを削除するつもりでしたら、アップグレードする前に、Themeをデフォルトのものに再設定する事をお勧めします。同時にまた新しいThemeに変えてみました。気分転換。

Flash24時間勉強プロジェクト (3月12日2時間)

昨日からFlashの勉強を始めた。24時間で何が出来るようになるのか自分の新しいものへの適応能力調査中。

合計 5時間 - 残り19時間

3月12日 2時間

3月11日 3時間

初めてのFlashアプリ

Flashをどうしても作ってみたくなり、Flash CS3 Proのトライアル版をインストールして、下記のチュートリアルで紹介されているバナーFlashを作ってみた。チュートリアルに説明されているように、Flash CS3 Proが動作しない場面がある事と、Flashに関する用語に無知であったため、このサンプルを作るのに3時間もかかってしまった。時間かけすぎ。このFlashアプリの特徴は、イメージが動く事と、全体がボタンになっていて、クリックすると、小人のイメージが表示されるウエブサイトにナビゲートします。要するにバナー広告の作り方みたいなサンプルでした。とりあえず成果物を書きに貼り付けておきます。Flashアプリはブログに貼り付けられるのが良い。今日これをやってわかった事、自分がしたい事はActionScripを使って作れるようだ。とりあえずFlashの勉強に3時間割いたので、24時間以内にどこまで出来るか計ってみたい。

Using Flash for the first time
Jen deHaan
In this three-part series, learn how to build a simple animated banner in Flash and add it to a web page using Dreamweaver.

「Hackers and Painters」読んだ記念

Hackers and Painters やっと読み終わった。集中して一気に読めなかった。反省。

読み終わった記念にその中から2つ程

1つ目、再帰

The Eiffel Tower is a recursive solution, a tower on a tower.
エッフェル搭は再帰を使って構造されている、搭の上に搭。

今日まで全くそんな事考えなかった、頭の中までコンピューターサインエスな人は目の付け所が違います。僕もそこまでギークになりたい。

2つ目、タイトルに付いて

本のタイトルはHACKERS & PAINTERS。最後まで読んでやっと分かったのだが、ハッカー(プログラマー)と画家は作品を作る上で似ていると。殆どの画家は部分部分を書いていく事によって全体を書くような事はしない。たとえば、レンガの建物を描く際に、レンガ一つ一つを描いていって全体を構成するような事はしない。レンガ一つ一つを描く作業はつまらないし、半分も書かない内にその絵を描くのに飽きてしまうからだ。 そんな絵はつまらない絵になってしまう。殆どの画家は全体のスケッチを描いて、全体の構成を描いてから部分部分を描いていく。ハッカーも同じで、部品から作り始めると、中々全体を通して動く物を作る事が出来ないし、興味もだんだんうすれ、途中で挫折してしまう。ハッカーもすぐ動く物を作って、少しずつ改善していくアプローチの方が成功するものづくりが出来ると。上手に日本語化できなかったので、原文の一部を下記に載せときます。

Morale is key in design. I’m surprised people don’t talk more about it. One of my first drawing teachers told me: if you’re bored when you’re drawing something, the drawing will look boring. For example, suppose you have to draw a building, and you decide to draw each brick individually. You can do this if you want, but if you get bored halfway through and start making the bricks mechanically instead of observing each one, the drawing will look worse than if you had merely suggested the bricks.

Building something by gradually refining a prototype is good for morale because it keeps you engaged. In software, my rule is: always have working code. If you’re writing something you’ll be able to test in an hour, you have the prospect of an immediate reward to motivate you. The same is true in the arts, and particularly in oil painting. Most painters start with a blurry sketch and gradually refine it. If you work this way, then in principle you never have to end the day with something that look unfinished. Indeed, there is even a saying among painters: “A painting is never finished. You just stop working on it.” This idea will be familiar to anyone who has worked for software.

UI=おもてなし

先日のエントリーの中であげた、3つのキーワード「人を幸せにする」、「感情を考慮する」、「美学にこだわる」を一言の日本語で表現すると、中島さんが普段から言っている「おもてなし」だなと思った。昔から言われている事かもしれないが、ユーザーの立場に立ってユーザーインターフェースを作る事が大事である。

「素晴らしいソフトウェアを作るということ」 by Joel

すばらしいソフトを作るには、カリスマが講演 <- ものづくりをしている人は読んだらいいと思う。

プレゼンテーションをしているJoelは「Joel on Software」のブロガーです。

Joelはプレゼンの中で次にあげる3つが重要だと言っています。

  • 人を幸せにする
  • 感情を考慮する
  • 美学にこだわる

要するにソフトウエア(ウエブを含む)はユーザー・インターフェースが重要だと言う事ですね。デザインだけでなく、ユーザービリティが重要なんですね。

Joi ItoさんもUIが悪くて成功できないウエブの会社はたくさんあるって言ってました。

Hackers and Painters: バベルの塔

Hackers and Painters やっと半分程読み終わった。表紙になっている バベルの塔 が何を言いたいのかがやっと分った。Paul Grahamはプログラマーはみんな好き勝手なプログラム言語を使った方が良いよって言いたいらしい。もしすべてのプログラマーが同じ言語を使っていたら多分それは悪い言語だな。ちなみにPaul GrahamはLISP使いです。

Wikipedia: バベルの塔

Gパズル

ランチタイムにパズルの話題をする事がたまにある。今日まで知らなかったが、Googleでは下記のパズルを聞くらしい。有名すぎてもう使われていないと思うが。

“How do you determine good ways of sorting one million 32-bit integers in two megabytes of RAM?”

CEOのEric Schmidtは大統領候補にこのパズルを聞いたらしい。参照

ランチ中の僕の答え:ソートの問題には反射的にQuickSortと答えてしまう。ComplexityはO(n log n)だし、Memory UsageはO(1)。

友人:友人いわく、これはEfficientではない。Bitを使うらしいよ。1,000,000のintegerをパースして、1が見つかったら、2Mbytesのメモリーの1つ目のBitをたてる、99が見つかったら2Mbytesのメモリーの99番目のBitをたてる、それをone million times繰り返えせば、O(n)でソートできると言っていた。

家に帰って考えてみた(確かめてみた):32-bitのIntegerだから、単純化して整数のみを考えるとIntegerの値は0から2の32乗の値(4,294,967,296) 、使えるメモリーは 2Mbytesだからビットで考えると2*1024*1024*8 = 16,777,216 bits。よって友人が言っていた方法では16,777,216より大きい値が含まれている場合は対応できない。

現状:多分何かトリックがあるのだと思う。考案中。

パズルを解いてみた

vol.6 今回は、日本からシリコンバレーにやってきて働いている石塚さんの話(2/2)の中で紹介されている、インタビューに用いられるパズル・クエッションを解いてみた。近い内に必要になるかも知れないので。必要にならないのに越した事はないが。

『競馬トラックが一つあり、競走馬が25匹いる。一度に走れるのは5匹まで。タイムは計測できないとして、一番早い5匹を選ぶには何セット走らせる必要があるか』

僕の答え: 10レース

セットアップ:競走馬を5頭づつ5つのグループに分ける。
レース1-5:グループ毎に走らせ、グループ内で順位をつける。
レース6:各グループで一番早い馬を走らせる。これで、1番早い馬が見つかる。
レース7:レース6で一番早い馬がいたグループの中でその次に早い馬とレース6で一番になれなかった残り4頭を走らせる。これで2番目に早い馬が見つかる。
レース8:レース7で一番早い馬がいたグループの中でその次に早い馬とレース7で一番になれなかった残り4頭を走らせる。これで3番目に早い馬が見つかる。
レース9:レース8で一番早い馬がいたグループの中でその次に早い馬とレース8で一番になれなかった残り4頭を走らせる。これで4番目に早い馬が見つかる。
レース10:レース9で一番早い馬がいたグループの中でその次に早い馬とレース9で一番になれなかった残り4頭を走らせる。これで5番目に早い馬が見つかる。

だれか僕の答えがあっているか教えて下さい。

PHPの中身はC言語

僕はPHPは書かないが(書けないが)、PHPのセミナーに参加してきた。セミナーでは、PHPのデバックの仕方などを教えてくれた。PHPはC言語で書かれているので、メモリーリークを見つけるにはオープンソースのValgrindを使えと言っていた。PHPは初心者にやさしいと言われているが、PHPのデバッキングなどは、初心者には優しくなさそう。今日も、このセミナーのおかげで楽しい1日となりました。