2007-10-26[n年前へ]
■「技術者は楽観的である」法則
ふとメモした言葉をオススメ記事として並べてみました。最後の「技術者は楽観的である」法則は一番のオススメです。
『勉強し続ければいつかはすごい人…(中略)になれるという妄想があるんです』
『人生の到達点はそれまでの積分なんだから、同じアドバイスがどの時点でも有効なはずだ』
『私は、技術者は本質的に楽観的であるし、楽観的であることが必要であると強く思います』
2007-12-18[n年前へ]
2008-06-30[n年前へ]
■「競馬」と「資本主義」
「何か」を表すためにスポーツを「たとえ」に使うことは多い。現在の「資本主義」をスポーツで例えるならば、それは「競馬」だと思う。「経済」に関する知識が(悲しいくらい)乏しい私の頭の中では、「競馬」は「現代の資本主義」とよく似ているように思う。
競馬を成り立たせているのは、意見の違いだ。
マーク・トウェーン
AERA Mook Special 「21世紀を読む」の中で、岩井克人が「イデオロギーとしての資本主義は、”見えざる手により調整される自己完結したシステム”だが、現実の資本主義は”(場所・価格・情報といった)違いを利用して利潤を生むシステム”だ」というようなことを書いていた。これは、マーク・トウェーンが”競馬”について語った「競馬を成り立たせているのは意見の違いだ」という言葉とよく似ている。”違い・差”があって初めて、現在(現実)の資本主義を回すエネルギーは生まれるのだ、という風にこの言葉は響く。「理想とズレ(差)がある現実を、理想に合わせていく調整の仕組み」ではなく、「ありとあらゆる意味の”差”を持ち続ける現実から生まれる利益」で世界が動いている、というように「競馬を成り立たせているのは、意見の違いだ」という言葉、そして岩井克人の言葉、は響く。
やりたいことと売れるというのは違うね。売れるってことはハリウッド映画みたいな、頭悪~い奴もわからなきゃいけないってことだぜ。
(西原理恵子との対談で)みうらじゅん ユリイカ 2006.07
たとえば、「PCを自由自在に使うことができる人」がいたとする。その人が「技術的な面で心地よく理解しあえる人」を周囲に求めようとしたならば、つまり周囲と自分との間の技術的な”違い・差”="境界"を小さくしたいと願うなら、ほとんど多くの場合”利益”を生むことはできないのではないだろうか。「あなたにできること」は「相手もできたりする」のだから、境界がないのだから、そうそう利益が生まれるわけもない。
けれど、「PCを自由自在に使うことができる人」が、「PCという言葉もよく知らないし、そんな代物を使うこともできない人」たちの中にいるなら、そこから「利益」を生むことは比較的容易にできるように思う。それを言い換えるなら、「技術的な満足」と「大きな利益」はなかなか両立しえない、ということになる。
どんな選択を選ぶかどうか、つまり「どんな馬券を買うかどうか」「あるいはそんな馬券なんか買わない」といった賭けが積み重なったものが、現在まで続く世界を生み出し・動かしているのかもしれない。選択肢という名の馬券はたくさんあって、どんな方向にに手を伸ばし、どこかに向かって進んでいく、動かず佇み続ける、違いのある場所に行く、、あるいは、理解しあえる場所にいく、そんな数々の選択が積み重なってこの世界を作り出しているのかもしれない、と思う。
2008-07-31[n年前へ]
■「計測・解析ソフトのハック」が実験系技術者の一番のLifeHack…かもしれない。
「計測・解析ソフトウェア/ハードウェアのハック」が実験系技術者の一番のLifeHack…かもしれない、と思っています。それを逆に言うならば、実験系技術者が費やす多くの時間を、計測・解析ソフトが消費しているということになります。つまり、一番時間を消費している部分の高速化をすることが、全体の高速化に効果的だろう、ということです。
そんなこんなで、何を今更…という、Perlで「シリアル通信とユーザインターフェース自動制御」のやり方を整理しておくことにしました。なぜかというと、経験的に「計測・解析ソフトウェア/ハードウェアのハック」は、シリアル通信制御とユーザインターフェース自動制御でほとんどの場合対応できることが多いから、です。しかも、計測・解析ソフトウェア/ハードウェアを外注したりすると、時間や費用が無視できないほどかかったりするわけで、そういったシステムを簡単に作ることができるということを知っていると、結構便利であるわけです。
たとえば、RBIOシリーズのような汎用(入)出力ボードは、お小遣い程度の価格で「シリアル通信経由でのハードウェア制御をする」ことが簡単にできます。それは、「計測ハードウェアのハック」がとても簡単にできる、ということです。
そして、Windows上(あるいはWindows上で動くソフトウェア)の作業を”勝手に”プログラミングすることができれば、「計測・解析ソフトウェアのハック」も簡単にすることができます。
というわけで、「シリアル通信とユーザインターフェース自動制御」ができれば、「計測・解析ソフトウェア/ハードウェアのハック」を簡単に実現することができるわけです。
とりあえず、たとえば、Perlで「シリアル通信とユーザインターフェース自動制御」を使うには、Win32::SerialPort と Win32::GuiTest という二つのライブラリが必要です。それらのインストールは、コマンドプロンプトから、
ppm install Win32-SerialPortという風に行うことができます。もっとも、インターネットに直接アクセスすることができない Proxy 内部からであれば、
ppm install http://www.bribes.org/perl/ppm/Win32-GuiTest.ppd
set HTTP_proxy=http://proxy.hoge.com:8080といったような、Proxy対策の環境変数設定をコマンドプロンプトから前もって行っておくことが必要になります。
set HTTP_proxy_user=hogehoge
set HTTP_proxy_pass=hogehoge
あとは、シリアルポート通信ようのConfigファイルを作る、プログラムを書く、ということだけです。たとえば、
!c:\perl\bin\perlといったライブラリを読み込む宣言をした後に、ソフトウェアのユーザインターフェース周りは、
use Win32::SerialPort;
use Win32::GuiTest qw( FindWindowLike GetWindowText SetForegroundWindow MouseMoveAbsPix SendMouse GetWindowRect SendKeys);
MouseMoveAbsPix(320, 160);というような感じで、マウスやボタンやキーボードを自動で動かすことができます。また、ハードウェア周りは、
SendMouse("{LEFTCLICK}");
SendKeys($fileName);
SendKeys("{ENTER}");
my $conf_file="serialport.conf";という感じで*、スイッチやモータを適当にシリアル通信(とRB-IOのようなお手軽I/Fボードで)制御すれば良い、という具合です。午前中に秋葉原に行って部品を買って、午後にスクリプトを2,30行書けば、それで自動計測・制御システムのできあがり、というわけです。
tie *PORT, 'Win32::SerialPort',$conf_file or die; pushSwitch(0);
close PORT or warn "Can't close serialport:COM*";
sub pushSwitch{
my ($portNo) = @_;
my $text=sprintf "PCT%d%d\n",$portNo,1;
print PORT $text;
}
*(なお、ここで使用している"serialport_conf"は、こういったserialport_conf.plで作成します)





