QuickSilverでイーモバイルモデムの接続・切断を行う

QuickSilverからイーモバイルモデムの接続・切断を行うために自分が行っている方法をメモ。
Mac OS X 10.5 (Leopard)で確認。
Snow Leopardはまだインストールしてないので動作は未検証。

Automatorイーモバイルモデムの接続を行うアプリケーションを作成

1.イーモバイルのモデムAutomatorを起動
2.「新規ワークフローの開始点を選択してください:」のダイアログで「カスタム」を選択
3.アクションから「AppleScriptを実行」を選択し、ワークフロー部に追加
4.「AppleScriptを実行」のフローに以下のスクリプトを記述

on run {input, parameters}
	tell application "System Events"
		tell current location of network preferences
			set EMobile to service "HUAWEI Mobile"
			if exists EMobile then connect EMobile
		end tell
	end tell
	return input
end run

スクリプトの4行目で「HUAWEI Mobile」という文字列を指定しているが、これは自分がイーモバイルの「D02HW」を利用してて、[システム環境設定 > ネットワーク]の左側ペインの一覧にて、この文字列でイーモバイルモデムの接続設定が行われているため。モデムの機種によってこの文字列が異なるかもしれないので、その時はお使いモデムに合わせた文字列に変更してください。
5.スクリプトが書けたら「AppleScriptを実行」のフローの実行ボタンを押す。モデムの接続が行われればOK
6.設定したフローを保存。名前を設定し(例:emobile起動)、適当なディレクトリ位置を指定(自分は~/Documents に保存)。フォーマットを[アプリケーション]に変更して保存する。
7.ここまでの手順で、~/Documents/に、[保存した名称].app というファイルができてることを確認。
8.上記ファイルを実行すると、Automatorのランタイムにより、イーモバイルモデムが接続されるようになる。

QuickSilverに作成したアプリケーションをカタログ

QuickSilverを再起動するか、メニューバー「QuickSilver > Rescan Catalog」を実行することで、Automatorで作成したアプリケーションがカタログされるようになる。
あとは、QuickSilverを起動して、作成したアプリケーションの名前を入力し「Open」すれば、QuickSilverからイーモバイルモデムの接続ができるようになる。

Automatorイーモバイルモデムの切断を行うアプリケーションを作成

1.「Automatorイーモバイルモデムの切断を行うアプリケーションを作成」の手順1〜3までを実行。
2.「AppleScriptを実行」のフローに以下のスクリプトを記述

on run {input, parameters}
	tell application "System Events"
		tell current location of network preferences
			set EMobile to service "HUAWEI Mobile"
			if exists EMobile then disconnect EMobile
		end tell
	end tell
	return input
end run

接続のスクリプトとの相違点は、5行目の「connect」が「disconnect」になっている事だけ。
3.作成したフローを適当な名前をつけてアプリケーションとして保存する。
4.QuickSilverへカタログさせる。

というわけで、これにてQuickSilverを使ってキーボード入力のみでイーモバイルモデムの入力・切断ができるようになった。

参考URL

AppleScriptの部分はこのemylo0さんのブログのエントリーに書かれてるのを流用させていただいてます。
ありがとうございました。

Rubyでファイル/ディレクトリを年ごとに整理

という処理を書いてみた。

なんかRubyらしくない感じに思えるので、詳しい方添削をお願いします。

#!/usr/bin/ruby

require 'fileutils'

Dir.foreach(Dir.pwd) {|file|
  year = File.mtime(file).year.to_s

  dirname = Dir.pwd + "/__" + year
  if File.directory?(dirname) == false
    FileUtils.mkdir(dirname)
  end

  if file.to_s != __FILE__
    FileUtils.move(file, dirname, {:force => true})
  end 
}

SalesForce.comのアーキテクチャ

知られざる「マルチテナントアーキテクチャ」(1)〜SaaSはみんな同じではない?
http://www.publickey.jp/blog/09/1saas.html
知られざる「マルチテナントアーキテクチャ」(2)〜スケーラビリティのカギは組織ID
http://www.publickey.jp/blog/09/2id.html
知られざる「マルチテナントアーキテクチャ」(3)〜スキーマメタデータの謎
http://www.publickey.jp/blog/09/3_2.html

SaaSといえばSalesForce.com。
そのアーキテクチャをオープンになっている資料から推測した記事。

最近流行ってるキーバリュー型データストアを利用せず、スケーラビリティが高く、カスタマイズ性に優れたマルチテナントなWebアプリケーションの仕組みを普通のRDBMSを使ってどのように実現しているかかいま見る事ができる。

とくに、顧客がカスタマイズしたフィールドのデータを、500個を超える多量のフィールドを定義したひとつのテーブルでデータ管理してるのには驚いた。
えー?こういうデータの持たせ方でいいのか!ってな感じ。

話題のSinatraを使ってみた。

SinatraRuby製の軽量フレームワーク

Sinatra
http://www.sinatrarb.com/

インストールはgemコマンドを使う。

$ sudo gem install sinatra

インストール完了後、こんな内容のファイルをhello.rbと名前をつけて、適当なディレクトリに保存する。

require 'rubygems'
require 'sinatra'
get '/hi' do
  "Hello World!"
end

Sinatraの起動はrubyコマンドを使う。

$ ruby hello.rb
== Sinatra/0.9.4 has taken the stage on 4567 for development with backup from Mongrel

ブラウザを起動し、http://localhost:4567/hi のURLにアクセス。

Hello World

ブラウザにこのように表示されれば起動確認は完了。
ちなみに、存在しないURLにアクセスした場合、ステージにマイクがポツンと置かれた画像とともにオシャレなエラー画面が表示される。

パラメータ受け取りの一例はこんな感じ。

get '/hi/:name' do
  "Hello #{params[:name]}!"
end

内容を更新した場合、起動中のSinatraを再起動しないと反映されない。
再起動後、http://localhost:4567/hi/yuupon のURLにアクセスすると、

Hello yuupon!

と表示される。

すごくシンプル。これまで自分が使ってきたPHPMapleZend Frameworkなどのフレームワークとは毛色が異なりすぎて、なんだか「え、こんなんでいいの?」と戸惑ってしまう。

しかし、Rubyの関数を組み込んだり、表示するコンテンツを外部テンプレートファイルに切り分けたり、外部ライブラリをrequireしてデータベースにも接続できる。
セッションなど足りない機能は自分自身で実装するのでなくRackミドルウェアの機能を利用したりもできるらしい。
なんだかコバンザメっぽい感じ。

単にシンプルな構文が特徴的、とまとめるにはちょいと奥が深すぎるフレームワークなのかもと思った。

「小さなメーカーになりませんか?」元ハドソン・中本伸一氏の講義が面白かった件

ひと月に一度「e-シルクロード大学」(http://esre.sblo.jp/)という、元北大教授の青木由直先生が主催する勉強会に参加している。
2009-08-20に行われた講義の講師は、ゲームメーカー・ハドソンの役員だった中本伸一さん。ファミコン時代の数々の名作や、PCエンジンなどを手がけた技術者として、日本のゲーム史にその名を残す著名な方だ。
ハドソンを辞めた後、現在は札幌で有限会社サイレントシステムという、社員2人だけの小さな会社を起業して活躍されている。
今回の講義は、会社を起業してからこれまでの経験を「個人で起業するにあたって」と題して語ったもの。
講義中に垣間見える、中本さんのタフさやマッチョぶりに驚かされ、また、起業家を目指さずとも、不安定な時代を生きるサラリーマンにとって参考になるとても有益な講義だったと思う。
以下、講義中にとったメモのうち、一部をピックアップして箇条書きで振り返ってみたいと思う。

北海道のIT業界の現状

  • 北海道のIT業界はこの不況でとても冷えきっている。
  • 冷え込んだ理由は、北海道のIT企業が主に下請け仕事ばかりしてたから。
  • しかし、現在は下請けしようにも、人件費の低さや納期の早さなど、もはやベトナム・中国等の海外アウトソース勢には勝てない。
  • 自分(中本氏)の友達で、ソニーに勤めてた技術者もリストラで会社を解雇されてしまった。日本を代表する大企業に勤めていても、安泰に過ごす事のできない不安定な時代。
  • こんな時代だからこそ、起業を行いメーカーになってみませんか?と提案したい。

「小さなメーカー」を目指す

  • メーカーといっても、目指すのは小さなメーカー。大会社のように、大きな工場を抱えたりするものではない。
  • 自分(中本氏)は趣味で文鳥グッズを集めている。
  • 最近、個人が趣味で作った文鳥の人形をインターネットで販売しているものを購入。
  • また、趣味の革細工で装飾に使う焼き印をインターネットで探したところ、個人が販売しているものを見つけた。
  • おそらく、普段金型を扱うCADオペレーターの人が、普段の仕事の合間に余った金型で焼き印を作ったものを販売しているのだろう。
  • このように、現在は個人で作った品物もインターネットを使って購入できるようになった。ある意味メーカーと言える。
  • 小さなメーカーでも、やり方次第では十分に利益を得られる。

サイレントシステム社の仕事

  • サイレントシステム社の商品は、組み込み機器モジュール。
  • 現在、ICやトランジスタなどの電子部品は小型化が進みすぎ、素人には簡単に取り扱えないものになってる。
  • 細かい電子部品をハンダづけで組み合わせ、プログラムを書いて組み込み、特定の用途に利用できるようなモジュールとして販売。
  • 主な顧客は、大学の研究室。販売はインターネットのみ。
  • 商品の注文はインターネットでしか受け付けない。インターネットが使えない、旧態依然な人はお客にできない。
  • 会社に電話は引いてない。電話は作業の手を止めさせる悪いメディア。商品のクレームを受け付けるのも時間の無駄。

社員は2人だけ

  • 社員は自分を含めて2人だけ。
  • 広報活動(HP作成、雑誌への原稿執筆など)、プログラマー、商品の発注、マニュアル制作など、一人何役もこなしている。
  • モジュールの組み立ては、自分の家族に手伝ってもらっている。
  • 会社で一番お金がかかるのはズバリ人件費。少なければ少ないに越した事はない。

経理業務について

  • 経理業務をタックスコンサルタントにアウトソースしている。
  • かかった経費の領収書を1ヶ月分まとめて渡すだけ。自分で帳簿をつけるより間違いはないし、時間も節約できて便利。
  • 費用は一ヶ月に5万円程度。経理マンを雇うより安い。

広告について

  • 広告は検索エンジンに対するSEOのみ。
  • 自分が動いて営業するより、SEOの方が効果がある。
  • 自社ページを某出版社からリンクしてもらっている。
  • 自治体のサイトは閲覧が多く、リンクによるSEO効果が高まるので、自治体にはぜひ地元企業のサイトへ積極的にリンクを貼ってもらいたいと思う。

ビジネスモデルは秋月電子

  • サイレントシステム社のビジネスモデルは、秋葉原秋月電子http://akizukidenshi.com/catalog/default.aspx)を参考にしている。
  • 秋葉原の店舗は非常に小規模。しかし通販だけで年間30億円もの売り上げがある。
  • 電子部品を海外などから調達し、組み合わせて、プログラムを組み込んで商品として売っている。
  • 商品にちょっとした付加価値をつけると、みんなが欲しいものなら、それなりに売れて行く。
  • B2Bは行わずB2Cのみ。取引は現金のみ。掛け売りはダメ。代金を受け取る間に取引先がつぶれることがあるから。

「Made in Hokkaido」のこだわり

  • 自社工場は、家賃月6万円のマンションの一室。地方はオフィスの家賃も安い。
  • 北海道内の工場にお願いして仕事をしてもらうこともある。
  • 自社で開発したモジュールには、必ず「Made in Hokkaido」とプリントしている。
  • 北海道には優秀な工場が多い。でも現在は仕事がとても少ない状況。
  • メーカーであれば、東京にこだわる必要はない。
  • 東京はオフィスの家賃等でかかるコストも高いし、東京一極集中という状況にも疑問を感じる。

ハイブリッド起業

  • 「今の仕事が嫌でつまらないから起業する」という考えではたいてい失敗する。
  • そんな人は今の会社に勤めつつ、起業の準備を進める「ハイブリッド起業」がオススメ。
  • 極論を言えば、会社の仕事なんてある程度しっかりこなしてれば、残りはサボってたって給料はもらえる。
  • ただサボるのではなくて、起業のための勉強をしたり、取引先とのコネを作ったり、副業をこなしたり、時間を有効に使う事はいろいろできる。
  • 技術者なら、勉強した成果をブログに書こう。ブログがきっかけで何かが始まる事も多い。「本日のメシ」の写真なんて別に見たくない。

まとめ

その他、旧態依然な価値観を持つ勢力との戦いとか、補助金のもらい方のコツとか、起業の際に銀行は当てにならないとか、小一時間ばかりの時間とは思えぬボリューム感たっぷりな講義で楽しめた。
個人的な印象としては、最近はてブホッテントリにも上がった、ポール・グレアムの「ラーメン代稼ぎ」(http://d.hatena.ne.jp/lionfan/20090728#1248806416)に通じるものがあるなと思った。
講義の終わりに、青木先生が「中本さんのような事は、誰にでもできる事ではない」と出席者に釘をさしてたのが印象深いです。