2009年 6月

編集日記

Daisukeh 2009/06/03 15:15

 どうにも feed.php が言うことを聞いてくれないようだ。ドメインの認識が曖昧で、LANからアクセスすると変換スクリプトが設計通り動いていない。このスクリプトに問題があることは明白だけど、とりあえずキャッシュ制御の可否を指定できるようにして対応してみた。多分PHPの言語的な問題やアルゴリズムの問題ではなくて、もっと根幹のウェブサーバーの考え方(インターネット・クライアント-サーバー・モデル)に問題があるように思えてくるのだが…。

Daisukeh 2009/06/08 11:35

 タスクで使っているRedmineのフィードが、アクティブチケットだけ表示するようになっていた(フィードアドレスが間違っていた)ので、全てのチケットを表示するように変更した。チケット更新しないと意味が無いんだけどね。

Daisukeh 2009/06/08 12:09

 と思ったけど、アクティブチケットがうまく表示されないことがわかったので、元に戻した。

Daisukeh 2009/06/12 05:34

 Windows Update にあわせて、サーバーを再起動しました。以前ブログにも書いたけど、なぜかハンドルが増加して減少する兆しがないという、致命的な傾向が見受けられるので、今後何かしらの対策をしなければいけないと思っている。あと、今週末に2本くらいブログをアップする予定なのだ。

Daisukeh 2009/06/12 11:34

 シンセサイザに先日偶然RapidLibraryで手に入れた、WaldorfのVSTi(とVST)を追加しました。ついでに気になっていたu-heのVSTも追加しておきました。と言ってもスクリーンショットだけで中身がないんですけど。Zebraのライセンス、どこにいったかなー?

U-heU-he Filterscape
U-he FilterscapeQ6
U-he FilterscapeVA
WaldorfWaldorf Attack
Waldorf PPG Wave
Waldorf D-Pole

あ!つづりが間違ってる!( WaldolfWaldorf

Daisukeh 2009/06/13 09:51

 散髪しました。いつものとおり3mm坊主です。それはいいのですが、サーバーから4GB位のファイルをローカルPCにFTPでダウンロードしていたら、なぜかわからないけどサーバーの通信がダウンしてしまったようです。パソコンの画面やネットワークステータスを見ると平穏無事に見えるのですが、PINGもダメ、80番も21番も応答なし、なにが悪かったのかな?一応セキュリティチェックと最適化ツールを使ってから再起動をしておきましたが、この土日に様子を見てもう一度再起動しようと思います。

Daisukeh 2009/06/19 08:46

 ネットサーフィンしていたら世の中の電子工作はArduinoGainerといったガジェットとブレッドボードのようで、自作できることがわかったので作ってみることにした。(「arduino開発・実験」参照)今週末に体調とタイミングがよければ感光基板を作る予定で、昨日の夜に感光フィルムとシルク面の転写シールを印刷した。感光基板の消費期限が2年以上前!なのだが大丈夫だろうか?感光塗料の品質が落ちることが原因だろうが、以前にも期限内に使い切ることができない事があった。今回は病気のこともありブランクは仕方がない。ということで、4回転各10分の露光と、濃い目の現像液、新しいエッチング液で備えることにしている。ちなみに、エッチング液は3~5回くらい使ったら捨てようと思うので、日付を付箋紙か何かで書いておこう。(忘れちゃうからね。)ちなみに、Arduinoの開発環境はprocessingから派生して作られている、と言うような話が載っていた(確かにインターフェースは良く似ている。)が、スクリプトをAtmel AVRmega8(168)に書き込むのは、中間コードとかじゃなくてGCCを使っている(もしかしてWinAVR?調査不足でごめん。)らしい。ということは無論AVRマイコンのバイトコードに変換している訳で、それが証拠にブートローダで自己書き換えする仕組みになっている。なんとなくシステムが理解できそうで、ちょっと有耶無耶な部分があるように思うので、互換基板が組みあがったら実験を兼ねてソフトウェア/ハードウェア両方の検証をしたいと思う。

arduino.jpg

 話は変わってこのサイトのアクセスカウンタとグラフ表示をするPHPスクリプトが時々ストールしてしまう。以前にも何回かあったことだが、 気が付かないとカウンタがクリアされてしまう ので、チョッと問題だ。(いや、かなり問題だ。)いっそのことこのプログラムを削除しようと思ったが、これで蓄積したデータが1年分ある(ということは、かれこれ自宅サーバー開設から1年以上が経過したということだ。)ので、思いとどまってストールの原因になりそうな部分を、リカバリ処理に遷移させないで脱出させるという改造をしてみた。しばらくこれで様子を見てみよう。蓄積したデータはPukiWiki時代にはAjaxで表示できるようにしていたが、DokuWikiにしてからサボっているので、近いうちにAjaxを思い出すためにもコードを書こうと思う。早速Redmineにチケット作るか!

Daisukeh 2009/06/22 15:59

 独りで取り組んでいるμITRON4互換のRTOS「ENCOM4-H8A-Y」が、IIC通信やSCI通信を備えていよいよ実用的になってきた。はっきり言って、RTOSのプログラミングは習得する程にコーディングが楽になる気がしてくる。ウィンドウズですらイベントドリブンで、応答処理は手短に書かなければプロセスがストールしてしまうから、スレッドを立てたりする工夫が必要なのに、RTOSときたらやりたい手続きをほとんどベタ書きでいいのだ。何バイト受け取って、計算して、何バイト送り返して…、っていう処理だけを書けば、あとはタスク(スレッドやプロセスと同義)タスクスケジューリングで勝手に動いてくれる。デバッガで複数タスクのスイッチをステップ実行で観察すると、ブロックの途中で別の関数のブロックへジャンプしたりするので、タスクがまさにマルチで動いているんだなぁ、と実感できるのだ。通信処理には最適なんじゃないかと思う。

 それはさておき、いまマイブームはArduinoなのだ。ふたたびハードウェアの世界に戻ってきた感じがする。いままでI/Oのテストというとちょっと面倒だったしうまい方法が見当たらなかったが、Arduinoを使えば高級言語からマイコンの世界をドライブできるようになる。このあたり、以前自分がインプリメントしてまだ完成していない組み込みFORTHにも通じる部分があると思う。実行速度と人間とのインタラクションがどこまで許せる範囲なのかがわからないが、H8/3664向けのインプリメント作業も復活させたいところだ。

AVRSP回路(変形版)でAVRDUDEから書き込んでいるところ。

 そして何より、いまさらだがブレッドボードが熱いのだ。多分ArduinoGAINERといった電子ガジェットの流行が大きく影響していると思う。自分もブレッドボードを1枚持っていたけど、「別に基板を焼けばいいじゃん。」くらいにしか思っていなかった。が、実際使ってみるとものすごーく便利だった。写真はブログからの転載だが、奥に写っている銀色のペンケースの中には、もう一枚のブレッドボードとジャンパーワイヤー、各種抵抗・コンデンサ・ダイオードと、AT90S2313やPIC、インバータやオペアンプがすべて入っている。これひとつで電子回路が無限に作れるというわけ。写真には写ってないけどもうひとつ小さな箱があって、その中にはブレッドボードで使えるRenesasMicrochipNEC-ELの基板が入っている。電源供給は秋月電商のUSBシリアル変換基板を使うので、通信の電源の両方を獲得できる。便利だよー。

Daisukeh 2009/06/24 09:10

ブレッドボード用ツールボックス

 ついにArduino Duemilanove 328を手に入れた!そして自作用のAtmelのマイコンにブートローダを書き込むことにも成功した!とりあえず第一段階はクリアという感じかな?今週中に感光基板のリベンジ・マッチをしないとね。ちなみに上の写真は最近使い出した道具箱(上に書いてあるもののこと)の中身で、三段重ねの上から電子部品、ジャンパーワイヤー、ブレッドボードが入っている。本来はペンケースなんだけど、かなりコンパクトに電子回路の実験ができる部品を納めることができた。これのおかげで2階の机で汗だくになる必要がなくなったのが嬉しい。(といいつつ、1階で作業していても汗だくなのだが。)

Daisukeh 2009/06/24 12:35

 Arduinoは確かにすごいんだけど、やっぱりハンドメイドのガジェットを作るのが楽しいと思う。Arduinoはその点でマイコンを 部品 として扱いやすくしたひとつの形態なんだと思った。だから当然プロトタイピングをするのに役立つし、今回のように誰かが作ったスケッチでArduinoのブートローダをAtmelのマイコンに書き込む、なんて事が簡単にできる訳だ。

 手元にはRenesasMicrochipNECELのマイコン基板がたくさんある。こういう基板もArduinoのように手軽に扱う手段が、しかも共通した手段がないかなぁ、と思ってしまう。そのひとつの答えは僕の頭の中にすでに存在している。それは中間言語処理系をマイコン側に持たせて、ホストマシン(パソコン)からプログラムをダイナミックにロードして実行するというアイディアだ。要するにForth言語が限りなく近いと言える。そのインプリメントはPHPRenesas H8/3664・3069版としてプロトタイピングしてきた。今はそのプロジェクトは眠っているが、Arduinoが手に馴染んだら復活させようと思う。

 
editnote/2009-06.txt · 最終更新: 2009/06/03 15:15 (外部編集)
 

Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS
Driven by DokuWiki Powered by Google do yourself a favour and use a real browser - get firefox ! GIMP is the GNU Image Manipulation Program. Adobe Flex smarty : Template Engine