2009年3月1日日曜日

moo.comで最高にカッコイイ名刺を作ってもらいました!

自分の名前を売るならどうするのがいちばんいいだろう?
→それなら名刺を作るのがいい!


ということで、このたびパーソナル用の名刺を作ってみました。
私の勤めている会社からも自分用の名刺を作っていただいているのですが、
自分のウェブサイトが載せられなかったり、Twitter IDが記載できなかったり、住所が会社だから郵便物が会社に届いたりでいかにも不便。
とうとう、自分で名刺を作ることを決意いたしました。


名刺を作ってもらうのなんて初めてですから、まずはGoogle先生にお尋ねしてみることに。
http://www.google.co.jp/search?q=%E5%90%8D%E5%88%BA+%E4%BD%9C%E6%88%90&ie=UTF-8

うわー出るわ出るわ!こんなにたくさん!
一つ一つ見ていきましたが、どこのサービスもほとんど同じような内容で困ります。
まずほとんどが「既存のデザインを選ぶタイプ」です。「自分の好きなデザイン」で名刺を作ろうと思ったら、Illustratorを使ってデザインしたファイルを送るしかありません。
私はデザイナーさんではないですから、当然そんな高価なソフトは持っていませんし・・・
しかもせっかくのネット注文なのに、システムを使ってその場で完成品を見ることも出来ません。注文時にお願いしたらまず最初に見本品を印刷してお送りしてくれるサービスもありましたが、これも結局何日かは待つことになります。気に入らなければまたオンラインから注文して・・・ってこれじゃ何のためのネット注文なんでしょう。

自分の好きなように名前・住所・URLなどなどを配置したいのですが、それすらかなわず。

困り果てていたところに@technohippyさんが面白いサービスを紹介してくださいました。
それがこちら。moo.comです。
http://www.moo.com/products/

イギリスの会社さんらしいのですが、大丈夫でしょうか?
早速Business Cardを注文してみました。

注文できる名刺の種類は以下の通り。
  • Flickerから画像ファイルを持ってきて、それを元に名刺を作成
  • 画像ファイルをアップロードして、それを元に名刺を作成
  • テキストメッセージを自由に入力して、それを元に名刺を作成
  • できあいのデザインから名刺を作成
自由に画像ファイルを選択できる!というのがものすごく面白そうだったのですが、
残念ながら名刺に適した画像など手持ちになかったため、今回はテキストメッセージを元に名刺を作ってみました。


文字を入力すると、こんな具合に「完成予想図」をその場で見せてくれます!
その場で確認が出来て、その場で修正が出来るってすごいですよね!?


海外のサービスですが、きちんと日本語も使えます!
(ただし、modern以外のフォントは選択できません)


入力した文字の回転や移動もできます!!すごい!
どうやらFlashを使って自由な回転・移動をサポートしているみたいです。すごい。


続けて裏面の設計も出来ます。
こちらも自由に文字が入力でき、イメージを貼り付けることも出来ます!
入力した内容がその場で確認できるって、本当に便利です。

最後に作成した名刺の表裏プレビューを確認して、問題がなければ注文です。
決済方法はPaypalかクレジットカードを選択することが出来ます。今回はPaypalを使ってみました。
イギリスのサービスなので英語で住所を指定しないとまずいかと気をもんだのですが、
中の人曰く、Billing Addressが日本語の場合でも大丈夫らしいです。安心ですね。


気になるお値段は、50枚で$21.99。送料を含めると$27ぐらいになります。
一般的な日本の名刺作成サービスが100枚で1000円程度ですから、相当割高な感じです。
しかし私はあまり名刺を渡す機会がありませんから100枚も作る必要はないですし、
どうせ作るなら自分が本当に納得できる物がいいだろうと思い、注文!


以下、注文後の経過です。
日本時間2月6日(金):注文、自動返答システムからお返事
日本時間2月7日(土):Moo.comの中の人からお返事
日本時間2月10日(火):発送しましたよメールが到着
日本時間2月19日(木):郵便ポストにエアメールが到着しましたよ通知が届く
日本時間2月21日(土):無事受け取り完了!

実物を手に取ってみた感想ですが、
  • まずなんといっても、手に取った瞬間にわかるほど紙が上質!きちんとラミネートされており、普通の名刺に比べてかなり厚みとコシがあります。
  • 一般的な日本の名刺と比べて、長辺の長さが 3mm程度短いです。ですがあまり気にする必要はないかと思います。
  • そして印刷がとても綺麗!日本語の文字にもかかわらず、とても綺麗にアンチエイリアスされています。色のにじみもほとんどありません。
  • 添付した写真も思った以上に綺麗に表示できていました。
  • 何より、テキストや写真の配置がプレビューを正確に再現してくれていました!


本日皆さんに届いたばかりの名刺をお配りしてきましたが、
何人もの方から「面白い名刺だね」とか「インパクトがあるね」とお褒めいただいてちょっと有頂天です。
値段は張りましたが、その分素晴らしい名刺が出来て大満足です!
普通の名刺には飽きた、みんなとは違う名刺が作りたい!という方にはmoo.comは本当にお勧めです!


ただ、名刺ばっかり褒められて肝心要の私自身が中身のないスッカラカンな奴では何の意味もありません。
もっともっと中身を磨いてモノを作れる男にならねば・・・

2009年2月26日木曜日

input type="radio"でchecked指定しているにもかかわらずデフォルトでチェックが入らない?と思ったときは・・・

原因を調べるのにずいぶんと苦戦したので備忘録を作ります。
input name="calendar_1" value="1" type="radio" checked

こんな感じのチェックボックスが画面にあるのですが、何度試してもデフォルトcheckedにならないのです。
IEでもFFでも再現しました。

Firebugからcheckedを再度指定し直したり、きちんとchecked="checked"に書き方を変えてみてもダメ。HTMLのバグかと思いましたよ。

原因は・・・そう、ラジオボタン、カレンダーで使ってたんですよ。
3月の1日と4月の1日が同じカレンダーの上に乗っかることもありますよね。

input name="calendar_1" value="1" type="radio" checked
input name="calendar_2" value="2" type="radio" checked
input name="calendar_3" value="3" type="radio" checked
・・・中略・・・
input name="calendar_31" value="31" type="radio" checked
input name="calendar_1" value="1" type="radio" disabled checked
あ、同じ名前のラジオボタンがあるじゃーん。しかもcheckedだー。
そりゃだめだわーアハハハハというお話でした。
checkedが機能しないときはまず真っ先に同じ名前のラジオボタンがないか疑え、ということで。

2009年2月22日日曜日

Mac OS X LeopardでPYTHONPATHとPYTHONSTARTUPを設定してみました

  • 環境変数PYTHONPATHとは、Pythonがimportするときにモジュールを探しに行くパスのこと。JavaでいうところのCLASSPATHにあたる
  • 環境変数PYTHONSTARTUPとは、Pythonを対話モード(プロンプトモード)で実行した時に自動的に実行されるPythonスクリプトのこと。起動時に毎回読み込みたい設定とかを書いておくことができる
  • autoimpとPYTHONSTARTUPを組み合わせるとimportの手間から解放されて非常に便利

Pythonのモジュール名・関数名がわからないときや、ちょっとだけスクリプトを実験してみたいときなどPythonをコマンドラインから呼び出すことがよくあると思います。
ところが未設定のままのPython対話モードだと以下のような問題が生じます。
  • 毎回毎回使うimport osとかimport sysとかをいちいち手で実行するのが面倒くさい。自動でやりたい
  • 後からインストールしたライブラリ、特にGoogle App Engineのモジュールが利用できない
そこでこれらの問題を解決するべくPythonの環境設定を行ってみることにしました。
以下、すべてMac OS X 10.5.6と付属のPython 2.5.1 (Apple Build)で設定を行っています。python.orgからダウンロードしてきたPython 2.6や3.0の場合はファイルのあるパスが違ったりなどするかもしれません。


■PythonPathを通そう
PythonPathとは要するにJavaのクラスパスです。このパスが通っているところからPythonはモジュールをインポートしようとします。
現在のPythonPathを確認するためには、以下のPythonスクリプトを実行します。
>>> import sys
>>> sys.path

似たようなのにos.pathがありますが、アレは全く別物みたいです。まどろっこしいです。

さて、PythonPathを上手に利用するためには2通りの方法があります。
一つは自分で環境変数PYTHONPATHを設定してPythonPathに好きなパスを追加する方法です。
export PYTHONPATH=${PYTHONPATH}:/usr/local/google_appengine:/usr/local/google_appengine/lib/antlr3:/usr/local/google_appengine/lib/django:/usr/local/google_appengine/lib/webob:/usr/local/google_appengine/lib/yaml/lib

もう一つは最初からPythonPathが通っていて、かつユーザーが自由に使ってもいい領域「site-package」を利用する方法です。
詳しい理屈はよくわかりませんが、Pythonには最初からsite-packageとかいう自由にライブラリを追加するための領域があるみたいです。
現在のsite-packageを調べるためには、id:a2cさん曰く
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

これだけでいいそうです。試しにPython 2.5.1 Apple Buildで実行してみたところ、
$ python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/Library/Python/2.5/site-packages

こうなりました。たぶんpython.orgのPythonや、macportでインストールしたPythonだとまた全然違った値になるのではないかと。
ということでこの/Library/Python/2.5/site-packages以下に、ダウンロードしてきた外部のライブラリなどを配置していけば自動的にパスが通っていい感じになりそうです。


■autoimpを使ってみよう
autoimpというライブラリを利用すると、いちいち最初にimport osとかimport mathとかしなくても直接os.path.join()とかmath.piとかが呼び出せるみたいです。
http://www.connellybarnes.com/code/autoimp/
使い方は簡単、まずはライブラリのソースを↑のページからダウンロードしてきて、
先ほどご説明したsite-packages以下に置くだけ。

あとは、
>>> from autoimp import *
>>> os.stat('.')
>>> sys.path
>>> math.pi
>>> google.appengine.ext.db.Model

一度from autoimp import *してしまえばimportなしで何でも自由に使えるという寸法らしいです。すごい。
でもこれでは結局最初にfrom autoimp import *と書く手間がかかってしまいますので、
Python起動時に自動的にfrom autoimp import *してくれるように設定してみましょう。


■PYTHONSTARTUPを設定しよう
環境変数PYTHONSTARTUPを利用すると、Pythonの起動時に毎回決められたスクリプトを実行することが出来るらしいです。
たとえば自分のホームディレクトリに、以下の.pythonstartup.pyというファイルを作ってみます。
#!/usr/bin/env python
#coding: utf-8
print 'hogehoge'

そして環境変数PYTHONSTARTUPを以下のように設定します。
export PYTHONSTARTUP=~/.pythonstartup.py

一端ターミナルを再起動してからpythonを実行してみると・・・
akisute ~$ python
Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
hogehoge
>>>

ほら、print 'hogehoge'が実行されてますよね。
同様にして、以下のように.pythonstartup.pyを設定すれば・・・
from autoimp import *

Pythonを実行すると・・・
akisute ~$ python
Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> os.path
<module 'posixpath' from '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py'>
>>> math.pi
3.1415926535897931
>>> google.appengine.ext.db.Model
<class 'google.appengine.ext.db.Model'>

ごらんの通り!importなしに自由にモジュールが利用できています!