Posts

Showing posts from August, 2008

ものづくり革命

MITビットアンドアトムズセンター所長のニールガーシェンフェルドが書いた『ものづくり革命』という本を読みました。 コンピューターが大型汎用機からパーソナルコンピューティングに移ってきたように、ものづくりも工場から個人工場(パーソナルファブリケーション)に移ってくるだろう、という未来を書いた本で、すでにMITやマスマーケティングがアテにならない世界の地方では、現実になっていることを事例を挙げて紹介しています。 自分は堺屋太一の『知価革命』史観(大量生産→大量消費時代は石油文明とともに限界が来ており、現代版暗黒時代といえる社会主観・多様化の時代がくる)を支持しているので、この本は非常におもしろかったです。 NC(Numerical Control:数値制御)のレーザーカッターやミニ旋盤とかが、一家に一台ある時代になったらさぞ楽しいことでしょう。自分の道具や子供のおもちゃは自分で作るという、まさにMakerの時代です。

呼び出し元(Caller)の場所(行数)を特定したい

Pythonでprintデバッグをしていますが、すぐにどこに仕掛けたprintなのか忘れてしまう。 そこでDbgOutという関数を作ってみました。 def DbgPrint(obj, msg): print "(dbg)%s >"msg + str(obj) 折角なので、沢山これを付けたときにどの行から呼び出されたDbgPrintなのか分かると、いい感じそうです。javascriptならこんなのがあった気がするんだけどと思ったらやはりPythonにもありました。sys._getfram関数がソレです。 これでとれるframeオブジェクトのf_lineoに行番号が入っています。 つまり def DbgPrint(obj,msg): print "(dbg L%d)%s >"%(msg, sys._getframe(1).f_lineo) + str(obj) となります。 なかなか便利ですよ。