Home > Programming Archive
Programming Archive
緯度経度から、その場所を走っている道路名を調べる
-
- 2010年3月13日 09:15
- Auto | Programming
うわー、これまたタイトルからしてニッチ(笑
最近、「流行っている」と形容するのも恥ずかしいtwitterですが、「○○なう」などとつぶやいている人が結構見受けられます。「○○」にはその時訪れた場所だったり、その際やっている行動だったりが入るわけなんですが。
これ、車の運転中にはできないですよね、危なくて。なので、つぶやきをそれっぽく自動化できないか考えてみた訳なんですが...。
前回のエントリでは車の中を流れる各種データを取り出すことが出来たので、たとえば、エンジンを切らずに速度0が一定時間続いた回数をして「(ほぼ)信号待ちの回数」としてカウントし、「信号待ち100回目なう」などとつぶやくことは出来そうです。あるいは、制限速度を超えたら「現在XXkm/hで巡航中。○○県警かかってこいや」とつぶやくことも可能でしょう(よい子はまねしちゃいけません)。
...ただまぁ、大がかりなわりにはあまり面白そうなつぶやきのネタにはならなそうですし、第一この設備が一般的ではないので、他の人にとっては「ふーん」程度であまり参考にならないです(自分で運転を解析するにはとても面白い情報なんですけどね)。
そんなわけで、もう少し一般的なGPSから得られる位置情報を利用してなんかできないか考えてみました。それが、このタイトルにあるような技術を利用して「国道○○号線なう」みたいなことをつぶやくというものです。
- Comments: 0
- TrackBacks: 0
CANUSBを使ってRX-8の各種データを取り出してみる
-
- 2010年2月22日 00:40
- Auto | CAN | Device | OBD | Programming | Technology
前回のエントリまで使っていたELM327チップですが、どうも全てのデータのログを取ろうとするとバッファが溢れてしまうようで...。ただせっかく乗りかかった船なので、CANUSBという代物を購入してRX-8のデータをリアルタイムに取り出してみることにしました。
上記の画像においてグラフの意味は以下の通りです。
- 赤 線:車速
- 青 線:エンジン回転数
- 紫 線:ラジエータ水温
- 水色線:エアインテーク温度
- 黄色線:アクセル開度
- 赤領域:フットブレーキを踏んでいる
- 青領域:クラッチが切れている
- 緑領域:(高さに合わせて)ギアポジション
CANはまぁここでは車内LANのようなものだと考えておけばいいと思います。自動車内のコンピュータとその他センサや計器類との間で情報をやり取りするときのプロトコルなのですが、特徴の一つはブロードキャストだということです。 なので、OBD-IIのようにポーリングしてデータを取り出すのと違い、ネットワーク内を流れているデータであれば「盗み聞き」することができるため、車内コンピュータへの負荷が(おそらく)ありません。 コンピュータに負荷がかかった場合にもおそらくフェイルセーフが働くとは思いますが、心理的な負担がこちらのほうが少ないですね。
- Comments: 0
- TrackBacks: 1
RX-8とOBD-IIでお話をする - シリアル接続プログラミング
-
- 2010年1月14日 18:00
- Auto | Device | OBD | Programming | Technology
前回のエントリでELM327デバイスが動作することを確認したので、今回は簡単なプログラミングをしてみようと思います。
Bluetooth版のデバイスを自分は選んだので、BluetoothのRFCOMMを利用することになります。今回はJavaでプログラミングをすることにし、BluetoothライブラリはBluecoveを利用します。
- Comments: 0
- TrackBacks: 0
RX-8とOBD-IIでお話をする - 動作確認
-
- 2010年1月13日 00:00
- Auto | Device | OBD | Programming | Technology
ELM327の載ったデバイスを手に入れたので、今エントリでは実際に自動車に取り付けて動作確認をしたいと思います。
前回のエントリで自分はBluetooth版デバイスを買いましたが、基本的にデバイスとお話しする方法はシリアル通信となります。RS-232C接続(つまりシリアル接続)の場合には該当するデバイスとお話をすればいいですし、USBやBluetoothの場合、各OSで仮想的なシリアルデバイスを作成できます(WindowsだったらCOM1とか、Macだったら/dev/tty.*とか)。
MacだとBluetoothで仮想デバイスを使って常にお話しするのはどうも安定性に欠けるようなのですが(Snow Leopardは長く試してないので改善しているかもしれません)、いずれにせよ動作確認のためだけであれば問題ないでしょう。
普通だったらここで実際に配布されているソフトウェアを使って動作確認をするのでしょうが、自分の場合は(それだとつまらないので)実際にターミナル経由でデバイスと直接お話をしてみることにします。
- Comments: 0
- TrackBacks: 0
RX-8とOBD-IIでお話をする - 準備
-
- 2010年1月12日 01:14
- Auto | Device | OBD | Programming | Technology
久々の投稿です。
OBD-IIという自動車のコネクタを通した各社共通の診断プロトコルがあるのですが、そいつを日曜プログラマでも簡単に扱えるようにするELM327というチップが存在することを知りました。 そして、そのチップを使ってシリアルやらUSB、Bluetoothなどでパソコンからお話をするデバイスもいくつか売り出されているようです。これを使うと、エンジン回転数や速度などの基本情報、それにエンジン温度や瞬間燃費等の普通は知ることのない情報をリアルタイムに取得することができるようになります。
え、そういうのだったら既に売ってるって? ええ、BLITZ R-VITとかそうですよね。仕組みはまさに同じなのですが、自分でのプログラミングだと簡単にログをとったりいろいろ遊ぶことができます。逆にそういった加工をしないのであればこちらの製品のほうが手っ取り早いと思います。 自分の場合は、パソコンと連携していろいろやってみたかったってことと、どうせすぐに飽きるのに4万とか5万とか出せないので自作することにしました。OBD-IIから情報を取り出すだけなら5000円くらいのパーツだけで済んでしまいますので。
というわけで、この投稿から数回にわたってELM327を使って車とお話しするアプリ製作の備忘録を書いていこうと思います。
今回は、ELM327を搭載したデバイスを手に入れるフェーズに関して記載します。
- Comments: 0
- TrackBacks: 0
実装週間
-
- 2006年11月 8日 00:36
- Programming
実装週間です。
来週の月曜日にデモをする予定があるのですが、ついつい大風呂敷を広げてしまったので(つまり、実装は全然終わってない)相当テンパった状況です。
何日家で寝られるか分からないぜ、はっはっは。はぁ…。
ちなみに実装時に利用予定のライブラリやソフトウェアを列挙してみると
・Quartz Composer
・QuickTime
・CyberLink
・Julius/Julian
・Cocoa Framework
・GTK+
などなど…。
このリストから実装内容を想像できたらなかなか凄いですが(笑
しかしこうやって見ると、やっぱり自分は相当上位のレイヤーで生きているなぁと再認識いたします。
- Comments: 0
- TrackBacks: 0
ExifにGPS情報を付加する
-
- 2006年10月22日 19:48
- Programming
またプログラミングネタです、一般人の方ごめんなさい。
SONYからGPS-CS1Kという製品が出ています。「GPSユニットキット」という分かるんだか分からないんだかな名前がついていますが、要はGPS衛星から拾ってきた時間・緯度・経度の三点セットを15秒おきに記録するという単純な代物です。
ただ、これを使って実現するアプリはなかなか。
デジカメで撮影した写真データの撮影日時と上記GPSログを照らし合わせて、撮影時間の画像ファイルに緯度経度を付加します。
PC上で照らし合わせるので、デジカメ自体をGPS対応にする必要がないってのがミソでしょうかね。当然ですがPCを撮影時に持って行く必要もない。
ここまで割り切っているので、液晶画面や設定ボタンなどもまるでないシンプルな作りです。どのくらい売れてるのか分からないですが(そもそも、対応機種にSONYのデジカメしか載せてないのは売る気ないんじゃないかと思ってしまう)、なかなか面白いです。
こんなの大まじめに製品化する大企業ってSONYくらいしかない気もしますが(笑
難点は、機能を絞った割には値段が安くないってことと、Macでは(当然ながら)動かないってことでしょうか。
iPhotoとGarminを連携するアプリとか作れればそこそこ人気でそうだよなぁ、なぁんて想像してしまいます。
暇が出来たら作ってみますか。
(「暇が出来たら」ってのが免罪符化しているなぁ…)
- Comments: 0
- TrackBacks: 0
携帯を複数持つ人
-
- 2006年10月12日 01:30
- Programming
先日、結局物欲に耐えきれずにおもちゃとしてW-ZERO3[es]を買ってしまった自分ですが、さすがに今まで使っていたauを解約するほど勇気はなく、微妙にどっちつかずな生活が続いております。
胸ポケットにau、鞄の中にW-ZERO3[es]といった案配ですが、やはりWillcomユーザからはできればW-ZERO3のほうに電話がかかってきてほしいわけです。向こうとしても定額で話せるわけですしね。
そこで、鞄の中で気づかずに電話着信があった際に(つまり不在着信になる)、不在着信があったことと誰から着信があったかを自動でau携帯にメールするアプリを作ろうと思います(超ニッチ)。少なくとも不在着信のステータスを拾ってくるAPIは見つけたので、あとはメールするだけです。メールもおそらく自動でできるでしょう。
しかし、.NET Compact Frameworkの実行環境および開発環境をインストールするのがだるいわー。
(ここんとこプログラミングの話題で、一般の人をどんびきさせてますな…。すみません)
- Comments: 3
- TrackBacks: 0
WebObjects楽しい
-
- 2006年10月 9日 13:48
- Programming
現在、仕事でWebObjectsを触っております。
「WebObjectsの案件なんてあるんかいな?」と疑問に思われた方、もっともです(笑
実際のリリース時の実装はどうなるか分からないのですが、仕様をきっちり決める・欲しい機能をあぶり出すという点から、フットワークの軽いWebObjectsでプロトタイプを作っております。
個人的にWebObjectsですばらしいと思うのは、O/Rマッピングおよびカスタムクエリ作成のあまりの容易さ(どうやらEnterprise Object Frameworkは特許を取ってるとかでまわりが真似しないらしい)、意識せずともMVCにきっちり分かれる開発環境の的確なサポートあたりです。
スクリプト言語と比べるとコンパイルするのが煩わしいとかあるかもしれませんが、実行前に型チェックをしてくれる分自分としては安心だったりします(まぁ、WebObjectsはリフレクションをばりばり使ってるので変に作ると実行時エラーが出ますが^^;)。
どうやらWebServiceの作成も一瞬で出来る模様なので、ちょっとしたWeb2.0系システムを組む際にはかなり便利な予感。
まぁ、実際にサービスに載っけるときは、メンテできる人が少ないってのが問題になるわけですが^^;
- Comments: 0
- TrackBacks: 0
迷子
-
- 2006年10月 4日 03:28
- Bike | Diary | Programming
今日は研究室まで自転車。
終電がなくなる頃に研究室を出て帰宅したわけですが、途中で道に迷いました(汗
いつもの道を通って帰れば良いものの、「あ、この道使えば近いかも」とひらめいてコースを外れたのが運の尽き。
昼間ならたいてい大きな建物が見えるのでなんとかなるのですが、夜中となるとそうもいきません。まっすぐと思っていた道も実はカーブしていたりして方向感覚を失ってしまいます。
今日はずいぶんひどくて、知ってる道に出たにもかかわらず、一瞬研究室に戻る方向に走り出してしまいました(汗
まぁ、光が丘のマンション群の真っ直中だったため、景色で判断が付きにくかったってのはありますが、それにしたってここまで酷い迷い方は生まれて初めてです(そもそもあまりり道に迷わない)。
自転車乗りの間では、GARMINという会社のGPSが有名です。いわゆるカーナビの自転車版で、「どれだけの距離を走ったか」「どんなコースを走ったか」「今どこにいるか」などという情報が分かります。
ただ、寄り道するのが楽しかったりする自分としては、的確なコースを指定されてしまうというのは逆にあまり面白くないのです。カーナビがあまり好きじゃないのも同じ理由かもしれません。
自分が欲しい情報は、「目的地の方向にある程度向かっているかどうか」です。
自転車の進行方向ベクトルと、現在地から目的地へのベクトルとの内積が負だったら明らかに遠回りしてる(というか、真後ろに進んだ方がまだ近づく)ということが分かります。そうなれば、次の交差点でどちらに曲がって見ようか、といった指針として役立ちます。
これって、GPSのデータだけ使えばなんとかソフトを組めちゃいます。今度機会があったら携帯(といっても、WillcomのW-ZERO3ね)で動くソフトウェアを書いてみることにします。W-ZERO3にシリアルケーブルが繋がるかどうかが問題かぁ…。
- Comments: 3
- TrackBacks: 0
Quartz Composerのカスタムパッチ
-
- 2006年9月12日 03:22
- Programming
これまで作りためてきたQCのカスタムパッチを公開していこうということで、使わずに錆び付いていたwikiに新たなページを作成しました。
http://hiroaki.jp/index.php?Quartz%20Composer%2FCustom%20Patches
ソース自体あまり人に見せられるモノではないのですが、とりあえずちょっとでも盛り上がってくれればいいなぁと思っております。
- Comments: 0
- TrackBacks: 0
Movable Type 3.3でXML-RPC APIの仕様が変わってた…
-
- 2006年8月19日 04:17
- Movable Type | Programming
以前XML RPCを使ってMovable Typeのエントリをポストという題で記事を書いたのですが、そいつを辿ってきてくださる方もそこそこいるようなのです。
しかし、最近MT3.3にバージョンアップしたら該当コードが動かないことが発覚。
なんでよ? と思ってMovable Type 3.3 マニュアル - XML-RPC APIを見たところ…。
関数の一部はなくなってるし、ぐっちゃぐちゃでした…。
ドキュメントは多少整ってきたと言えるかもだけど、ここいらはもうちょっとちゃんとしてほしいなぁ。metaWeblog.newPostとかなくなってるし。んもう。
以前のコードは動かなくなってますが、基本的な動かし方は以前のコードと同様です。とりあえず自分は、metaWeblog.newPostで一発で処理していたところを
blogger.newPostで適当な内容の記事を作成してpostidをget。そしてきちんとした内容をmetaWeblog.editPostで行う
といった感じで二段組みで処理させました。metaWeblog.editPostはmetaWeblog.newPostと違って返り値がpostidではないので、その後のカテゴリ設定時には注意してくださいませ。
- Comments: 5
- TrackBacks: 0
Mac OS X で Bluetoothをいじる
-
- 2006年6月15日 21:57
- Mac | Programming | Research
研究室でいじってる某センサデバイスはBluetooth経由でシリアル通信が出来るんですが、どーもMacで使ってると怪しい挙動を示します。/dev以下にBluetoothのシリアルデバイスファイルを作ってopenすると、結構高い確率でへんなダイアログが出てきて使えません。catするとResource busyと言われたりします。
結果から先にいうと、どうも/dev以下に出来るBluetoothのデバイスファイルを使うとうまくいかないときがある、ということのようです。そもそもこのセンサデバイス自体特注なので他のデバイスも同じ不具合が出るとは限りませんが、もしかしたらAppleの実装の問題かもしれません。
というのも、/devを叩くとかいう横着をしないで、AppleのBluetoothのライブラリ(C or Objective C)からデバイスを触るときちんとアクセス出来るからです。JavaのBluetoothライブラリでもきちんとアクセス出来ます。
この不具合で数時間凹んでましたが、まぁ回避する方法が分かったのでよしとします。センサデータを取り込むQuartz Composerのパッチを作ってるのでどうせObjective Cで書きますし、AppleのBluetoothライブラリを俯瞰出来て良い経験になりました。
蛇足ですが、Appleのファイル入出力系のフレームワークは、ノーティフィケーションやデリゲートをふんだんに使っていて、とてもスマートなプログラミングスタイルを提供しています。(少なくともプログラマの視点からは)スレッドとか使わなくても非同期でがしがしできるんだから、大したもんです。可読性も良いですし、美しいです。
- Comments: 2
- TrackBacks: 0
HTMLと格闘す
-
- 2006年5月24日 04:20
- Programming
先月モントリオールへ行って以来、やっぱり英語版の自分のサイト作らなきゃだなぁと思っていました。
昨日は、どうも体がだるくてやる気が出なかったため、こういう時こそと思ってサイト構築開始。
まぁ、サイトと言ってもとりあえずは自己紹介の1ページだけでいいやと高を括っていたのですが、結局丸一日潰してしまいました。
最初はDreamWeaver(評価版)でさくっと作ってしまおうと思っていたのですが、起動するとメニューが文字化けしてしまい使い物になりませんでした。ファイルフォーマットをHFS+ CaseSensitiveにしているからかしら…。
んじゃぁ、と思ってNvuでも使ってみるかと思うも、こいつも立ち上げたらOSごと頓死。
…。
仕方ないので、タグとCSSを手打ちでぽちぽちやり始めました。まったく、なんで21世紀も6年目なのにこんな原始的な事を…と一人ごちながら。
丸一日つぶしてようやっとこんなもんかというところで、それまでMacのSafariとFirefoxでしかチェックしていなかったものを、最終確認という事でWinのIEで見てみました。
ひどいもんです。レイアウトはがたがた、typography系の設定もひどいもんです。聞きしに勝るIEのCSS解釈互換性の低さ…。やけになってIE7 beta2をインストールしてみたら、こちらでは普通に見えました。もう、IEなんてこの世からいなくなってしまえ(泣
しかたなく、それっぽいところをぽちぽち直してIEでもそこそこ見られるように修正しました。うーむ、屈辱だ。
まぁ、そんなこんなでできました。いっちょまえにHTML4.01とCSS2のvalidatorもパスしております。まぁ、中身は単純なんで…。
しかしほんと、HTMLなんてものはエディタで書くもんじゃありません。単なる苦行です。
しかしHTMLと比較すると、いわゆるソフトウェアプログラミングのライティングスタイルというのは、昔からあんまり変わってない気がするなぁ。まぁ、いろいろ工夫はされてきてるんですがねぇ。
- Comments: 4
- TrackBacks: 0
まだUbiquitous Communicatorなんてやってたのね
-
- 2006年5月 9日 01:46
- Device | Programming | Technology
MYCOMジャーナルの記事「新ユビキタス・コミュニケータ(UC)で切り開く未来」より。
…。こんなんでほんとにいいんでしょうか。技術面からの考察もほとんどないですし…。提灯記事かいな。
記事中の電子白杖の例はたしかに有効かもしれませんが、これ、おそらく電子白杖にしか使えません。
というのも、地中に埋め込まれたRFIDタグのデータを読み取るためには、RFIDタグリーダを数cm以内に近づけなければいけないからです。電子白杖で使えればそれで十分ではないかと反論があればその通りというほかないのですが、このパッシブタグの技術的制約についてどの程度周知されているのかは記事から推察できません。
それ以外のサービスに関しては、携帯もしくは既存PDAで出来そうなものばかり(RFIDリーダもPDA向けのありますし)。
わざわざ専用デバイス作って、専用の(というとまぁ言い過ぎだけれど)OS載っけてチューンして、そのOS向けのアプリをがりがり書いて…。さすがですねぇ、坂村先生。
これ、WinCE端末とかにしたらいったいどれくらい安上がりになったのでしょうか…。
こういった都市基盤に埋め込む、いわゆる「ユビキタスなサービス(さすがに英語表記にする勇気はない)」って端末などのハードウェアのスペックよりも、どのようなソフトウェアインフラを構築するかといった課題のほうが先に解決すべき問題だと思います。
それにも関わらず相変わらず独自OS・独自デバイスにこだわってるあたり底が知れると思うのですが、どうなんでしょうかね。こんなんじゃあ、実験するために新たにソフトウェア一個書くんだって大変でしょうに。
そういった意味では、「最大のネックは、特殊な専用端末を必要とする点にある(以下略)」と語る神戸空港ターミナルの方の意見が最も的を射ている気がします。
しかしほんと、なぜあんなにTRONにこだわるのでしょう…。
Windowsを使うのでもなく、分散環境向けの新しいOSを書くのでもなく、TRON...。うーん。
TRONなんかじゃやってられないくらい複雑なユビキタスサービスを脳内で無意識的に枝刈りしちゃう危険性だってあるでしょうに。先にソフトウェア基盤が決まっちゃってて良いことなどないと思います。
- Comments: 2
- TrackBacks: 0
AudioCodecを作ろうと
-
- 2006年2月12日 02:41
- Programming
S98Playerを作ったは良いものの,プレイヤのUIが貧弱ってことと,ファイル管理がしょっぱいってことで,これはS98のAudio Codec for QuickTimeを作ってiTunesで聞くしかー,となったわけですが.
なんか,全然資料ないですねぇ.
そもそもQuickTimeはOS7くらいからあるので(どうでもいいですが,初期のQuickTimeデモムービーって誰かまだ持ってます? 例のロゴのやつとか,傘さしてるやつとか,魚のやつとか),API内にかなり魑魅魍魎がいそうな雰囲気.
最近やっとCore Audioに対応したらしく,そのサンプルソースコードが一つだけあるのですが,いまいち要領がつかめません.
要領の掴めぬままコードを書き始めたものの,
あれれ?,あれれれ??
んー.えーっと….
あー,もう,やめやめ.
となってしまいました.
coreaudio-api MLのログを読んでいたら,それらしい記述もあったのですがそこそこ面倒そうなので,もすこし暇になったらやることにします.
- Comments: 3
- TrackBacks: 0
S98Player バグ取り
-
- 2006年1月23日 21:55
- Programming
ヘッダ処理関連でバグを見つけたので,そいつを修正したバージョンを置いておきます.
ファイルはこちら:S98Player0.1a.zip
OS X 10.3.xをお使いの方は,こちらをどうぞ
- Comments: 5
- TrackBacks: 0
S98Player for MacのGUI版を作ってみる
-
- 2006年1月21日 23:34
- Programming
論文を書き終わってから…ということだったのですが,進みが遅い時の気分転換に作ってしまいました….
ファイルはこちらです:S98Player 0.1.
バグを修正したバージョンをこちらからどうぞ.
S98ファイルフォーマットのうちVer.1を再生できます.Ver.2は仕様がよくわからないので,分かりません(汗
Ver. 3は正しく再生できませんが,読み込めてしまいます(汗
gz圧縮されたファイルもS98のフォーマットで規定されているのですが,そのファイルがないのでうまく読み込めるか確認できておりません.
CUI版だとBGMとして複数ファイルを再生するのが大変そうだったので,えいやと帰宅中の電車内で.
ランダム再生も出来なければ,プレイリストの並べ替えも出来ませんが,超評価版ってことで.
ボリューム調整もできませんのであしからず….次のバージョンでは何とかします.中のコード自体は対応してるんですけどね.
- Comments: 0
- TrackBacks: 0
S98Player for Macを作ってみる
-
- 2006年1月18日 23:24
- Programming
懐かしのOPNAでも書きましたが,微妙に懐古趣味に走り出した今日この頃.ネットを徘徊していたら,どうやらPC98本体からOPNAボードに流すサウンドデータをダンプしたファイルフォーマットがあることを知りました.拡張子はS98.
ひとまずネットでダウンロード可能なS98ダンプデータを,既存のMac用S98プレイヤにぶちこんで聞いてみました.
ざっと探して見つかったプレイヤは以下の2つ.
つい最近S98ファイル用のプラグインを公開されたようですが,残念ながら手持ちのファイルはどうもうまく再生されませんでした.どうもバッファ処理まわりでうまくいってない雰囲気.あと,再生周波数も半分くらいになってる感じで,音程が低かったです.
プラグインの方はソースが公開されていたので覗いてみたのですが(プレイヤのほうのソースが見当たらなかったのでいまいち全貌は掴めませんが),OPNAのエミュレーションはciscさんによって公開されているfmgenを利用している様子.
こちらはリズム音源をWAVで用意する必要があるのですが,このプラグインではいまのところ設定できないようです.リズムなし.
後者は海外のソフトウェアですが,S98に対応しているとの事でこちらもトライ.
…音程やらは良いのですが,こんどは音が抜けている….かなりお間抜けな感じに.
MAMEのコードを利用しているのかは分かりませんが,リズム音は入っています.なかなかそれっぽい.しかし,3音くらいしか同時になってないような….エミュレーションしてるのがOPNAではないのかも.
5分ほど迷った結果.
とりあえず,自分で作ってみました(笑
コマンドラインで動く即席バイナリはこちら.Autoreleaseなのにpoolループ作ってねぇぞ,とか怒られますが,そこはほら即席なので.
GUIかぶせる際にでも直します.
使い方ですが,ダウンロードしたS98Player.tgzを解凍したら,そのカレントディレクトリに移動し,以下のコマンドを打つだけです.エラー処理とかしてないので,存在しないファイルとか指定するとすぐに終了してしまいます^^;
と打ってリターンです.ループのあるデータは2周して終了します.
Rhythmデータを持ってない方もいるかと思いますが,僕はこちらのサイトで公開されているデータ(リズムライブラリと書かれているファイル.とりあえずどちらでも大丈夫)をダウンロードさせていただきました.
このソフトを作る際にお世話になったソースや情報源たちを備忘録代わりにのせておきます.
- chipplay with s98plugのプラグインのソースではfmgenが既にMacでコンパイルできるようになっていましたので利用させていただきました.
- S98プレイヤを作ってみるのページでは,S98のファイル構造とfmgenの利用法について知る事が出来ました.
- /Developer/Examples/CoreAudio/SimpleSDK/DefaultOutputUnitには,直接オーディオデータをいじくる方法についてのサンプルがあります.
- ADC Developer Transition Resource Centerには,エンディアンの違いによるビットのフリップなどを効果的に行う方法が載っています(そう,このソフトウェアはUniversal Binaryであり,Intel Macでもおそらくきちんと動きます).
面倒だったのは,S98ファイルやWAVファイルがLittleEndianでデータが格納されているので,ビットフリップのコードを書き足した事くらいでしょうか.
それ以外は至って簡単です.それにしたって,fmgenはインタフェースといい,良く出来ています.凄い.
しかしこういう趣味的な(そして,対象がかなり狭い)ソフトウェアを書くのは楽しいですね(笑 いい気分転換になります.
GUI化は,来週までの論文執筆が終わってから.
FMやPSG,Rhythmのサウンドのバランスに関しても,今は僕好みになってますが(デフォルトからだいぶ変わってます),暇になったらそれも調整できるようにしますかね.
- Comments: 0
- TrackBacks: 1
懐かしのOPNA
-
- 2006年1月15日 23:59
- Device | Diary | Programming
昨日一通論文を書き上げて,今週末はぼーっとしております.
ってか,一昨日から昨日にかけては徹夜だったのですが,昼過ぎにふらふらで帰宅した後に爆睡し,今日も起きたのが午後という廃人生活を送ってしまったため,なんだか曜日の感覚がおかしいです.
論文はなんつーか,書くと毎回「もっと早くから書こう」「英語もっと頑張ろう」って思うのですが,毎回思ってるあたりが進歩がないというかなんと言うか.
特に今回はスタートを切ったのが非常に遅かったため,関係者の皆さんに多大なご迷惑をおかけしました.あとは結果がついてくれば良いのですが.
さて,このエントリのタイトルに含まれる「OPNA」,もしくは「YM2608」に反応する人は比較的古くからパソコンを触っている人じゃないかと思います.それも,かなりコアな人.
- Comments: 1
- TrackBacks: 0
三角関数
-
- 2006年1月10日 06:37
- Programming | Research
二日続けて研究室に泊まっているわけですが….
おかしいおかしいと思っていたプログラムの挙動,理由が分かりました.
これまでそこそこ単純に考えていたことが,実際には結構複雑な幾何計算をしないと解けなかったのです.
うーん,今の状態のアタマできちんとしたアルゴリズムを組めるだろうか.
がんばれ,自分.
そもそも,単純に考えていたのは,完全にスレッドの事が頭から抜け落ちていたため.
ひとつひとつメソッドごとにステップを踏んで計算をしているという概念はスレッド上では成り立ちませんが,それでもうっかりやってしまうことがあります.
はぁ,困った.
- Comments: 0
- TrackBacks: 0
キーボード問題
-
- 2006年1月 8日 21:58
- Device | Mac | Programming | Technology
研究室には,PowerMac G5 2.7GHz Dual + 23インチディスプレイという,かなり豪華なマシンがあります.ビデオ編集やポスター作成のためにあるのですが,誰も使っていないときには特に制限なく使えます.
最近のプログラミングはかなり画面領域を使う仕事ですし,重たいプログラムを作る事もあるので,何かプログラムを組むときには使いたいなぁと常々思っているわけです.
がしかし,僕には使えません.キーボードの配列が異なるのです.英語配列のキーボードと日本語配列のキーボードは,「かな」が刻印されているかいないかだけではなく,「*()@[]:"」などの記号の位置も違います.僕は英語配列を好んで使っておりまして….
僕がMacを使い始めた頃(94年頃)は,まだ日本語配列のキーボードがありませんでした(正確には,英語配列のキーボードにかなを刻印してあった).それ以降,たまに日本語配列に浮気したりしましたが,英語配列の方が歴史は長いのです.
個人的にはプログラミングには英語配列のキーボードの方が効率が良いと思いますが,いかんせん慣れの問題もあるので研究室内でも少数派です.
今書いているのはObjective Cという言語ですが,これは[]やコロンをがしがし使う言語なので配列の違うキーボードだと効率ががらりと変わってしまいます.マシン自体は空いているのに勿体ない(T_T)
中国では英語配列だったので違和感なかったんですけどね.
一応日本語配列の方が規格(たしかISO)に沿っているんだったと思いましたが(うろおぼえだけど,少なくともアスキーコードのテーブルに沿っているのは日本語配列のほう),他に日本と同じ配列になっているところはどこがあるのでしょうか? ヨーロッパとかはアルファベットの位置自体が違ったりしますしねぇ.
写真は同じPowerBookでキーボードの違いを比較.左側が日本語配列,右側が英語配列です.
- Comments: 2
- TrackBacks: 0
地図をかく
-
- 2005年12月31日 07:57
- Diary | Programming | Research
なんの因果か,国交省で配っている地図データの作図をおこなうプログラムを書いていたりする.
昨日の午後からはじめ,忘年会を挟んで酔いながら書いたので,効率とかはあまり考えておりません.
しかしデータフォーマットを見て「うーん…」なんて言ってソースを書いたのは何ヶ月ぶりでしょうか(笑
しかし,こんなのに時間をかけている暇はありません.めどが立ったらつぎの作業をせねば.
ああいそがし.
- Comments: 2
- TrackBacks: 0
質問をするという事
-
- 2005年12月29日 00:44
- Diary | Programming | Research
26日から28日まで,大学院の集中講義がありました.朝9時半から17時過ぎまで行われる,結構体力的にきびしい講義です.
講義名は「オペレーティングシステム実装論」というものでしたが,実際の中身はどちらかというとセキュアなコードを書くにはどうしたらいいか,といったようなものでした.
講師は,Writing Secure Code〈上〉,Writing Secure Code〈下〉
を書かれたDavid LeBlanc博士.
内容は非常にためになりましたし,興味もわきました.いままであんまり意識してきませんでしたし….
講義前にWriting Secure Codeを読破しておけと言われていましたが(講義出席者には無料配布された),これも良い本です.特に上巻はMicrosoft製品のみよりも一般的な事例にスポットを当てて語られているので対象者を選びません.結構プログラマにとっては必須の本かもしれません.
んで,三日間の講義で感じたのは,受講者のテンションの低さ.
講義の最初に,いつでも質問してねー.Don't be shy!といっていたのですが,結果は全く質問なし.
たしかに,授業中に分からない点をとっさに頭の中でまとめあげて,進行をブレークして質問するというのは,あまり日本ではなじみのない事です.実際,僕もそれはできませんでしたし.
ただ,講義中の受講者の反応も凄く薄いし(ジョークを言っても反応しないし,同意を求められても反応なし),授業後の質問すらないというのはいかがなもんでしょうか.
そんな思いもあって,一昨日,昨日と授業後にはあたりさわりのない質問をひねり出してちょっとしゃべったりしました.
結果は,あたりさわりのない質問なのにも関わらず,凄く熱心に返答してもらっちゃって,個人的にはとても満足だったりします.
最終日の今日も,「誰か質問ある?」と進行の人が聞いても最初は誰も反応がありませんでした.
せっかく日本まで来ていただいて,これはあまりにも失礼だろうということで,例によって適当に質問をひねり出してたずねました.これまた短い質問に対して十分な回答をしていただきました.そしてやっぱり興味深い.
結局本日の質問は,これ以外に同じ研究室の同輩がした質問のみ.まったく,勿体ないったらないし,Dr. LeBlancとしても肩すかしも良いところ.「僕の夢は人にものを教える事.今回はじめてそれが出来て嬉しい」なぁんて言われたときにはほんと申し訳なくなってしまいました.
日本では,どうも「質問をする」ということが,とても高尚な事と考えられている節があります.
「みんなが知ってる事を質問しちゃったら恥ずかしい」 「的外れなことかも…」 「とにかく,興味深い質問をせねば」 「あとで本を調べれば分かるだろうし…」 などなど….
しかし,実際に生の人間に対して質問をすると,ほんと予想外のことも話してくれる事が多いです.回答する方もそのへんは当然分かっているわけですし,
「英語で通じるか分からないし…」というのもごもっとも.しかし,それなら休み時間にでも質問文を組み立ててしまえばよろしい.5分もあれば簡単な質問を英語に翻訳できるはず.
とにかく,自分を含め,もっと積極的にいったほうが良いよなぁと今回はつくづく感じました.
- Comments: 2
- TrackBacks: 0
WebObjects 個人的FAQ
-
- 2005年6月25日 12:17
- Mac | Programming
前のエントリで"Discovering WebObjects for HTML"をチュートリアルとして作業をしていったと書いたのですが,いくつかつまづいた点があったので,まとめてみます.
- Comments: 2
- TrackBacks: 1
WebObjectsファーストインプレッション
-
- 2005年6月23日 00:42
- Mac | Programming
今年のWWDC開催後に配布されたXcode 2.1ですが,目玉はUniversal Binaryだけではありませんでした.
今バージョンからWebObjectsの開発環境が同梱されるようになったのです!
Mac OS X Serverには運用パッケージがついているだけで開発環境は入っておらず,どちらにせよWebObjectsのパッケージを買わないと恩恵を享受することは出来ませんでした.
#まぁ,ADCでは以前より30日間だけ開発環境が使えるキーコードを配っていたんですけれどもね
ではMac OS X ServerがないひとはWebObjectsで遊べないかというと,そうでもありません.
上記開発環境中で"Build & Go"すると自前でサーバをたてて,Safariからアクセスして動作を確認できます.
ってなわけで,ちょろっといじってみました.この記事はその簡単な感想です.
- Comments: 0
- TrackBacks: 0
続・PhotoBlogユーザビリティ改善計画
-
- 2005年4月10日 01:46
- Movable Type | Programming
さて,前のエントリでXML RPCを使ってMovable TypeにポストするコードをPHPで書きました.これでだいぶ投稿が楽になったのですが,もうひとつ,やりたいことが.
それは,Moblog.せっかくのPhotoBlogなので,携帯からメールで写真イメージを添付して投稿したいっていう欲求が生まれてきます.既存のMoblogサービスも結構あるのですが,今回のようにQuixotic Pixelsのテンプレなんていうニッチな分野に対応しているサービスはないでしょうから,こいつも自作してみる事にします.
- Comments: 0
- TrackBacks: 0
XML RPCを使ってMovable Typeのエントリをポスト
-
- 2005年4月 9日 18:12
- Movable Type | Programming
Quixotic PixelsのPhotoBlogテンプレがいまいち投稿が面倒というのは一つ前のエントリで述べました.
というわけで,今回は以下の作業をおこなうスクリプトをXML RPCを利用したPHPで書く事にしました.
- GDを利用してイメージを縮小し,サムネイルも作る.ファイル名は日付ベースにしてユニークなものにする
- タイトルと本文はフォームから入力してもらい,Extendedで入力すべきファイルURIのプリフィクスは自動入力にする
- 当然,カテゴリなども選べるようにする
一つ目のGDに関してはこれまでもソースを書いた事があったので,見当はついてました.問題はXML RPCを使ってポストする部分ですが,これも至って簡単でした.なお,今回はsunouchiさんのサイトであるdrifting blog by snotchの記事を参考にさせていただきました.ありがとうございます.
- Comments: 0
- TrackBacks: 1
Cocoaと分散オブジェクト
-
- 2005年2月20日 20:32
- Programming
自分の所属する研究室では分散オブジェクトミドルウェアとしてIce (Internet Communications Engine)を使っております。
分散オブジェクトミドルウェアは、すごく端折って言えば「ネットワーク越しの別マシンのインスタンスのメソッドを簡単に呼べる技術」とでももうしましょうか。CORBAとかが有名です。
一つの言語に依存したものであればJava RMIなどで良いのですが、IceやCORBAは違う言語間でのメソッドインボケーションのできるところが特徴です。Iceに関して言えば、C++, Java, C#, Python, VBなどに対応しています。残念ながらObjective Cには対応していません…。
んで、現在MacでIceを意識したデモアプリケーションを作っているのですが、ちょいと環境がマニアックで、Cocoa-Java + Iceというものなのです。
そもそもなぜMacでプログラムを組むかと言うと、QuickTimeを操作するアプリケーションを作っているということと、見栄えを良くしたいという事があるからです。QuickTimeだけだったら、QuickTime Playerを操作するAppleScriptをJavaから叩くアプリケーションを作り、それをIceを使って呼んでやる…みたいな解決策も考えられるのですが、新規アプリケーションだとそう簡単にはいきません。
もともとは全てObjective Cで作ってアプリケーションを"Scriptable"にし、上記のような方針でJavaからコントロールしてやろうと考えていたのですが、ちょいと調べた感じではすぐにはできなそうで(というか、そういう資料があまり無い)方針転換です。
IceのIDLコンパイラってjavaでassert文とか吐き出すから嫌いです…。Project BuilderとかVMの設定し直さなくちゃいかんし。
本来Iceのサーバ側アプリケーションは、Iceが用意したスレッドでクライアントからのイベントを待つ(他の処理はブロックされる)というシンプルな形で実装するのですが、Cocoa-Javaアプリだとそもそもjavaのmain()は見えないので、仕方なくawakeFromNib()の中で別スレッドを生成してIceのスレッドを動かす形に…。
うーん、スマートでないけれど仕方が無い。
しかし、もともとObjective Cを使ってるものにとっては型の動的結合の無いCocoa Javaはまだるっこしい(actionメソッドの仮引数がid型ではなくNSObject型なので、仮引数のメソッドを呼ぶ時は明示的にキャストしなくちゃいけない)です。
また、Eclipseに慣れたJava屋にとっては、Project BuilderのJavaエディタの機能の貧弱さに参ります。
動的結合はまぁ別に良いとしても、Project BuilderでのCocoa-Java開発はもっと楽になっても良いものと思います。せっかくの技術なんだからなぁ。
- Comments: 0
- TrackBacks: 0
ウィンドウマネージャって大変ね
-
- 2005年1月 9日 02:14
- Programming
卒論卒論とわめいておりますが、現在はちょっと変わったウィンドウマネージャを書いてたりします。まぁ、見た目は「古き良きWM」って感じで常用しようとは思いませんが^^;
X Window Systemってプログラミングをするほど凄いなぁと感心してしまいます。
ここまで徹底的に(といっても、結構小回りの利かないことも多いので、卒論ではそこらへんに手を加えていたりします)分散ネットワークに対応しているとは、と舌を巻くばかりでして。
Xの未来がどうなるかは別としても、脳みそを(分散環境対応に)柔らかくするには良い教材かもしれません。
最近はProject Looking Glassに関連して、XプロトコルをJavaでラップしたescherというプロジェクトも進行中です。XlibをCでがしがし触るよりも、こちらのほうがちょいとかじるにはいいかもしれません。
- Comments: 0
- TrackBacks: 0
やっと
-
- 2005年1月 7日 02:15
- Programming
卒論の実装のペースが掴めてきました(遅)。
こうなってからはさくさく進むぜ。るんるん。
…って、もう二時だ。寝よう。
- Comments: 0
- TrackBacks: 0
LinuxでRendezvous
-
- 2004年12月31日 01:14
- Programming
現在、卒論でRendezvousをいじってるんですが、プラットフォームはLinuxだったりします。
mDNSResponderのPOSIX版などがソースで落とせるんですが、Makefileを見るとJNIを使ったJavaライブラリも作れるようだったので、作ってみました。ついでにJavaDocも。
んで、JavaDocを見て個人的に感じたことは、あんまJavaっぽくないなぁってこと。
もともとのCの使い方を見れば納得はできるんですが、プログラムの構造がどうにもこうにも。
ま、すぐに慣れるでしょうけれど^^;
- Comments: 0
- TrackBacks: 0
LinuxでのIDE探し
-
- 2004年12月12日 04:35
- Programming
最近、卒論の作業でLinux上でC++のコードを書き始めたのですが、迷っているのが統合開発環境。
いまさらemacsってのもなぁっていう人なので、とりあえずEclipse CDTとKDevelopを試してみました。
Eclipse CDT
Makefileを勝手に作ってくれるらしい。なので、一からコードを書くようなプロジェクトにはいいかも。
ただ、automakeやらautoconfを理解しているかはよく分からない。
あと、既存のconfigure Makefile付きソースをプロジェクトとしてぶち込んだら、メモリがないとか抜かして落ちました。心証悪し。
あと、なぜかローカルのプロジェクトをsubclipseでインポート出来ない。謎。
まぁ、これはEclipseの問題なのか分かりませんが。
KDevelop
ちょいと触った限り、なかなか高機能っぽい。
Doxygenとかにも対応しているっぽい。
sudo make installとかもやってくれるし、configureも実行出来る。
あと、個人的に嬉しいのは、Konsoleが一つの小窓で叩けること。なんかちょっと作業をしたいときとかいいです、はい。
例によってこちらでもsubversionがおかしいのですが、まぁ、小窓でコマンド叩けばとりあえずは。
…というのが、30分ほど触っての感想。
IDEはJavaはEclipse、それ以外はXcodeという人なので、LinuxでのメジャーIDEってのが分かりません。
どなたかおすすめとかあれば教えてくださいませ。
とりあえずは、既存のソースツリーと相性の良さそうなKDevelopを使ってみます。
- Comments: 1
- TrackBacks: 0
Eclipseを初心者に使わせたらまずいの?
-
- 2004年11月24日 02:30
- Programming
mixiのJavaコミュニティで話題になっていたので。
#あ、mixi招待してほしい人がいたら言ってくださいませ。
なんか、Javaの勉強で初心者からEclipse使ったら何か欠けるものがあるんじゃないかってのが話題になってるんですよ。
こんな話題以外で盛り上がってないあたりにこのコミュニティの悲哀があるような気がしますが…、まぁ、盛り上げたいのであれば自分でネタを提供せにゃあかんでしょうし、あまり贅沢は言うまいってところですか。
僕自身は最初からEclipse使ったって全然構わないっていう立場なんですが、案外駄目って人も多いらしい。
二回ほどEclipse推進派として書き込んだのですが、まぁ、これ以上書き込むのもうざがられそうなので、自分の意見をこちらに残しとこうかと思います。
ツッコミ歓迎。
- Comments: 4
- TrackBacks: 0
Rendezvousテクノロジーブリーフィングに行ってきた
-
- 2004年11月 8日 16:07
- Programming
ADCメンバー向けにRendezvousの技術概要を説明するイベントに行ってきました。場所は渋谷のセルリアンタワー東急ホテル。
内容は秘密保持の義務を負わされるようで書けないのですが(まぁ、特別なことはあまり話してないですけど)ちょいと気になった点があったので書いてみます。
プレゼンをやった人は米Appleのアーキテクトなので、当然英語な訳です。同時通訳がつくというので、レシーバが机の上にあります。
んで、どのくらいの割合の人がレシーバを使っているかを周りを見回して確かめてみたんです。
結果はと言うと、目算ですが7割強の人がレシーバを耳につけて同時通訳を聞いていました。
個人的にはかなり多いのではないかと思います。
別に英語が聞き取れなくても読めれば技術文書は何とかなるって言う意見もあるでしょうけど、ここまで多いとは。
日本人だけでプログラム書いて、日本国内でだけ売るってわけでもないと思うんですけどね。
それに、やはり同時通訳って微妙なんです。
内容に触れることは出来ませんけれど、発表者が「A, B, C, D and so on...」っていってるところを訳では「AやBやCなど」って言ってたんです。
個人的には一番"D"が重要でして。最初の方はレシーバをつけてたのですが、これを聞いて英語のまま聞くことにした次第です。
まぁ、たしかに、あの固有名詞は相当技術に詳しくないと知らないとは思いますけれど…。
- Comments: 0
- TrackBacks: 0
Mac OS X 10.4 "Tiger"の新機能
-
- 2004年10月22日 19:38
- Programming
Mac OS X 10.4の新機能が明らかになってきています。
この中でこれまで触れられてこなかったのがCore Data。
mkinoさんのとこでも日本語で解説されていますが、こりゃまたプログラミングに革命を起こしそうな…。
モデルへのアクセスを監視してundoとかの機能を実装しちゃおうってのは実は研究室でも考えていたのですが、そいつがSQLiteベースで実装される模様。トランザクション管理万歳。
いやはや…。やってくれますね、Apple。データベースもより身近になりますねぇ。
- Comments: 0
- TrackBacks: 0
FireFoxの開発リーダー
-
- 2004年10月22日 00:37
- Programming
FireFoxの開発リーダーであるBen Goodgerって弱冠24歳なんですね。<CNET Japanの記事>
なんつーか、凹む…。
自分も頑張らねば。
- Comments: 1
- TrackBacks: 0
libjpg, libz
-
- 2004年10月21日 01:20
- Programming
携帯端末のカメラ画像をホストマシンに送って加工するようなプログラムを書く。
生データだとでかいのでjpgかなんかに圧縮しようと思ったわけですが…。いまいちlibjpgに関するいい感じのサイトがないため、仕方なくzlibを使ってgzip圧縮をすることに。
…超簡単。
compress()で引数にデータ配列をぶちこむだけなんですね。uncompress()もやたら単純。
しかし、なんだかんだで圧縮する時間があるために生データを送るより遅くなる模様(汗)
考えてみれば、「色」という要素を考えない辞書式圧縮だからこんなに単純なわけで。
jpgだと色の近さとかも関係してくる気がするので、パックされたデータのどの部分がR, G, Bに対応するのかとか指定してやらなくてはならないのではないかと思います(全然調べてないので分かりませんが)。
もしそうだとすると早々にzlibに逃げた判断は正しかったかもなぁ(笑
…それにしても、リンカでのオプション、やっぱり"-lz"なんすね。
- Comments: 0
- TrackBacks: 0
Mac OS Xでarm-linux用のクロスコンパイル環境を
-
- 2004年9月25日 01:51
- Programming
研究室で使ってる某arm-linux端末があるのですが、そいつのクロスコンパイル環境をOS Xに構築したいなぁと思いまして。
binutilsやgccはなんとかコンパイルできるものの、某端末のカーネルソースが微妙にヘッダ足りなくて(!)うまくいかなかったり、__threadってナンデスカ?とか言われて途方に暮れておりましたところ、りなざうのクロスコンパイル環境をMac OS Xでーみたいなサイトを発見。
見ると、tgzファイルを放り込んだディレクトリと展開ディレクトリを指定すれば勝手に全部やってくれるスクリプト付き。なんか、あんまりにも親切すぎて疑心暗鬼になりますが、とりあえずこいつを利用してみようと思います。
りなざう用のバイナリはさくっとmakeできたです、はい。りなざうにMacから転送するのも一苦労ですが^^;
- Comments: 0
- TrackBacks: 0
センサを利用したプログラム
-
- 2004年9月18日 01:07
- Programming
現在、外部センサを利用したプログラミングをしてたり。
いろんなセンサがありますが、デバドラが優秀なためすべて/dev/以下をオープンすると普通に使えて便利。
しかし、それにしたって値の解析が面倒だなぁと実感。
もう少し修行せねばなりませぬ。
- Comments: 0
- TrackBacks: 0
Xcodeでgnu makeとsubversionを使う
-
- 2004年9月16日 03:21
- Programming
Macだけで動かすプログラムを作っている場合はいいんですが、クロスプラットフォームなプログラムを作る場合は、なんだかんだいってMakefileを利用することが多いです。
Xcodeは以前からMakefileの記述に従ってコンパイルするってのが出来たのですが、新しいPowerBookで新たな環境を構築するってことで、利用してみました。
#今までは普通にemacsで書いて、makeしてました…。
さらに、せっかく利用しているsubversionもXcode 1.5から利用できるようになったので、そいつも試してみることに。
- Comments: 0
- TrackBacks: 0
Java3D
-
- 2004年9月16日 01:32
- Programming
長らくMacはJava 3Dから放っておかれたのですが(基本的にJavaのMacへのポートは遅め)、昨年末だったか、Java 3DがMacで利用できるようになりました。
さすがにデフォルトでインストールはされず、Appleのダウンロードサイトからdmgファイルを落としてインストールする必要があります。
んで、適当にプログラムを動かしてみたんですが…。
ちょっとしたプログラムでCPU利用率が80%とかいっちゃって萎えます。
とりあえず来週の頭にある研究室紹介用デモプログラムはOpenInventor on SDLで作りますかね…。
- Comments: 0
- TrackBacks: 0
subversion
-
- 2004年9月14日 22:24
- Programming
ã¿ãªããããã¼ã¸ã§ã³ç®¡çã·ã¹ãã ã¯ä½ä½¿ã£ã¦ã¾ããï¼
ç 究室ã§åãæå±ãã¦ããã°ã«ã¼ãã§ã¯ããã¾ã§ã®CVSããsubversionã¸ã·ãããã¦ãã¾ãã
CVSããæ©è½çã«ã©ããã¸ãããããã¦ãããã¯ãã¾ãåãã£ã¦ãªãï¼CVSããã¾ã使ãè¾¼ãã§ããªãã®ã§ï¼ã®ã§ããããã£ã¬ã¯ããªç§»åã¨ãããã¡ãã¨ãµãã¼ããã¦ããããããæªããªãã§ãã
subversionã¯Apacheä¸ã§åãã®ã§ããï¼åºæ¬çã«ã¬ãã¸ããªã®ä½ç½®ã¯http://ããhttps://ããã§å§ã¾ãããã§ãï¼ãCVSã¨éã£ã¦.htaccessã«ããã¢ã¯ã»ã¹å¶å¾¡ããã¾ããLDAPãªããã¨é£æºãããã¨ãåºæ¥ã¾ãããæ®éã«.htpasswdã¨ã使ãã®ãOKã§ãå¤äººæ°ã§æ±ãã¨ãã¯çµæ§æè»ããããã¾ããã
å½ç¶httpsã§éä¿¡è·¯ãæå·åãããã¨ãåºæ¥ã¾ãã
ããã«ãææ°ãã¼ã¸ã§ã³ã ãã§ã¯ãããã®ã®ããã©ã¦ã¶ããã¢ã¯ã»ã¹ã§ããã£ã¦ã®ãé¢ç½ãã§ãã
ã¾ããé£ç¹ãããã¨ããã°Apache 2ä¸ã§ããåããªãã£ã¦ãã¨ã§ããããâ¦ã
仿¥ã¯ããã¾ã¾ã§ãã¾ãåãã¦ãªãã£ãsubclipseï¼subversionã®eclipseãã©ã°ã¤ã³ï¼ãåããã®ã§åå¿é²ä»£ããã«ã®ãã¨ãã¾ãã
- Comments: 4
- TrackBacks: 1
今日のfink
-
- 2004年9月14日 21:33
- Programming
パッケージに不具合があるというFinkのアナウンスがいつになっても消えないので、仕方ないので現行のFinkを導入しました。
で、今日いれてみたのはsedやらlsやら。
両方とももともとOS Xに入っているのですが、理由があってFink版を使うことに。
sedは、もともと入っている/usr/bin/sedのほうで/usr/bin/sed --version(もしくは-v)をやると入力待ち状態になってバージョン表記が出ないというバグ(?)があります。
configureの中でsedのバージョンを調べている最中に止まってしまって、こりゃだめだと思ったわけです。
最初はconfigureの中で
sed -v < /dev/null
とか書き換えてお茶を濁していたのですが(少なくとも入力待ちにはならない)、どっちにしろバージョンは分からないので心臓に悪いってことでFink版を使うことに。
lsのほうは、ディレクトリとかのカラー表示を有効にしたいなと最近になって思い始めたので。
もともとのlsは /bin/ls --colorとやっても色が変わりませんが、Fink版は色が変わります。
適当に.bash_profileでalias ls='ls --color'とかやって終了です。
ただ、Fedoraのようにtarやzipファイルを赤くするようにはなっていないようなので、そこらへんは設定ファイルをがしがしいじる必要があるっぽいです。まぁ、そこまでやらんでもいいか。
- Comments: 0
- TrackBacks: 0
プログラムを書くということ
-
- 2004年8月18日 20:01
- Programming
情報系の学科にいることもあって、ソースコード自体にはほとんど毎日さわっているわけなんですが(んー、さすがに大げさかな)、なんつーか、趣味のプログラムを書く段になると、それ相応の「やる気」みたいなのが必要な気がします。
研究室で書くプログラムに気合いが入ってないって訳じゃないんですが、趣味で書くプログラムと違って
・期限が決まっている
・仕様もたいてい決まっている
・Macでしか動かないプログラムはめったに書かない
ってなのがあるせいか、どうもプログラムへの取り組み方が違うような気がします。
こうやって書くと、趣味のプログラムの方が気楽でいいじゃんとも思うんですが、なんでかそちらのほうが「さぁ、気合い入れて書くぞ」みたいなのが必要です。
フリーウェアで公開してるってのも一因なんでしょうかね(公開してるっていっても半ば放置プレイでアレですが…)。
ほかのフリーウェア作家さんはどうなんでしょうか。知りたいところです。
- Comments: 0
- TrackBacks: 0
分散オブジェクト
-
- 2004年7月13日 01:58
- Programming
現在、研究室でCORBAならぬIceを触っています。
今日は自分で書いたC++コードを先輩にIceオブジェクト化してもらい、それを取り込むって感じだったんですが…。
なかなかうまくいきません(汗
なんてったって分散オブジェクトってばメモリ空間が自分のマシンじゃないもんで、デバッグとか訳分かりません。エラーログも意味不明だし…。
#そもそもC++のコンパイルエラーだって、STL使うと意味不明ですが…
ボスが帰り際に言っていた「分散環境の良いデバッグ環境があったら苦労しないよー」とのセリフが頭の中でこだましたりしなかったり。
僕自身はCORBAを触った事はないのですが、先輩&ボス曰く、IceはCORBAより速いらしいです。
そして、分散オブジェクト化するのも比較的楽なようで。これから僕も触っていくと思います。
というか、分散オブジェクトへのメソッドの引数に構造体しか渡せないっていう現状を打破しなければ^^;
こいつは余談ですが、国内でIce使ってる人ってほんと少ないらしく、googleでIce CORBAで検索かけるとうちのサイトが上位でひっかかっちゃうくらいマイナーだったりします。
なんとかならないもんですかねぇ…。
- Comments: 0
- TrackBacks: 0
伝道
-
- 2004年6月17日 00:39
- Mac | Programming
WindowsからMacへSwitchしようみたいなキャンペーンを昔Appleがやってました。
結構Winに対してネガティブなCMとかも放映されました。
あれがどのくらい効果があったのかは分かりませんが、GUIプログラムを書いた事のある人にはもっと魅力的に感じるような薦め方があります。
Objective-Cのダイレクトバインディングを利用したインスタンス間のAction - Outlet接続は、知らない人にはとても不思議(奇妙)に映るでしょうし、NSTextViewをWindowにDnDするだけでエディタが作れる、なぁんてデモはとても感激してもらえます。
すくなくとも、これまでデモしてきて感激しなかった人はいません(笑
商用アプリを作るとなるとOSのシェアなどが問題になると思いますが、自分でちょろっとプログラムを組んで使おうって場合はObjective C + Cocoaが非常に楽で便利なんじゃないかと思います。
とりあえず、気軽で楽しいです^^
- Comments: 0
- TrackBacks: 0
デザインパターン本
-
- 2004年4月29日 22:16
- Programming
買ったまま放置していた(というか、途中で挫折した)デザインパターン本ですが、読み直そうと思って本棚から取り出してぱらぱらとページをめくってみました。
そしたら、ふむふむって感じで結構すんなり理解出来そうな感じです。
2年前はちんぷんかんぷんでしたが…^^;
というわけで、読み進めようと思います。さくさくいくといいなあ。
- Comments: 0
- TrackBacks: 0
ICEを使おう
-
- 2004年4月18日 16:47
- Programming
Internet Communications Engine : ICEをMacに入れました。
これも一筋縄ではいかず、BerkeleyDBやらexpatを先にいれ、さらにそれらのパスは自分でファイルに指定せにゃいけません。aptやconfigureしか基本的に使ったことのないわたくしにとっては荷が重かった^^;
ICEはCORBAみたいなもの…っぽいです(比較対象のCORBAも使った事がない…)。
次のゼミまでにOpenInventorの簡単なデモプログラムを作る必要があるのですが、余力があったらICEも一緒に使ってみたいなぁ。
- Comments: 0
- TrackBacks: 0
OpenInventor導入
-
- 2004年4月14日 00:49
- Programming
PowerBookにOpenInventor互換のCoinを導入しました。
初めはObjective-Cで触れるSC21を入れてみたのですが、あまりに資料がなく動きも微妙だったので(InterfaceBuilderのパレットがあったのは良かったんですが)、Qt上で動くSoQtを入れました。
Qtのmakeで悶絶してたのはそのためでした。結局makeに5時間くらいかかりましたが…。
とりあえずデモも動いたしいろいろいじってみますかねー。
- Comments: 0
- TrackBacks: 0
Qtをmake中にOS頓死(汗
-
- 2004年4月12日 21:57
- Programming
Qt/Macをconfigure, makeしていたんですが、2時間くらい経ったところでMessengerの名前のところを変更しようとしたらいきなりOSが止まりました…。
編集中のデータもすっとんだっぽい。
うざすぎる…。
なんていうか、めげずに生きていこうと思います。
- Comments: 0
- TrackBacks: 0
WWDC 2004 Registration Now Open
-
- 2004年2月26日 23:43
- Mac | Programming
というメールがADCから来ました。
一度は行ってみたいWWDCですが、チケット代+飛行機代+宿泊費を合わせるととんでもない額になってしまうので毎年涙をのんでいます^^;
去年は確か、有楽町でJobsの基調講演の衛星中継を見たような…。
#PowerMac G5が発表された時ですね
WWDC 2004 E-ticket for US$1,295.
だそうで…。ちょっと趣味で行ける金額じゃないですよねー。
というか、昔作ったパスポート(赤いの)だって切れてるので、全然海外に行ける状態じゃなかったり^^;
- Comments: 0
- TrackBacks: 0
Remote Method Invocation
-
- 2004年2月22日 01:08
- Programming
現在、Javaで稚拙な画像解析プログラムを組んでるのですが、凝ったアルゴリズムを実装すると待ち時間が結構長くなっちゃいます。
もうちょっと実装方法を吟味してもいいんですが面倒なんで(ダメ)、サーバをぶん回して一部の処理をRMIを使って肩代わりさせてみようと思います。
マーシャリングとかにどれくらいのコストがかかるかがキモですな…。
つーか、RMIって楽そう…。
- Comments: 1
- TrackBacks: 0
Eclipse初体験
-
- 2004年2月17日 22:21
- Programming
どうもルックアンドフィールが嫌で今まで敬遠していたEclipseですが、本日初めて腰を据えて使ってみました。
いやはや、こんなに強力なものとは思いませなんだ。
パッケージ間の移動も何のその、メソッド補完や型チェック、名前チェックは当たり前ときております…。
今後活用したいと思います。今までの苦労が馬鹿みたいだ…。
CVSも楽だしなぁ。いい感じでございます。
CVSをEclipseで使う資料を探してたら、野村総研作成のPDFがありました。こんなのもやってるのねぇ。
しかしねー。あのルックアンドフィールはMacユーザからは敬遠されても仕方ないと思うわけですよ。
なんなんだ、あのタブとメニュー、ダイアログボックスは(泣
あと問題なのは、うちのMacじゃ重たいってことでしょうか…。
新しいマシンが欲しくなります。
- Comments: 0
- TrackBacks: 0
コンピュータ史
-
- 2004年1月22日 01:51
- Programming
僕が通っている学科は情報系なのですが、「コンピュータ史」関係の講義がありません。
Googleでざっと検索したところ、他の大学では専修大学などで開講しているようですが、あまり他大学でも一つの独立した講座として開講しているところはあまりないようです。
#専修大学の講義の参考ページとしてこちらがあげられてますが、なんかうわっつらの情報しか載ってなくて残念…。
- Comments: 5
- TrackBacks: 0
続:なんてこったい
-
- 2003年11月 9日 02:36
- Programming | SimpleMIDIPlayer
下のCoreAudio.pdfを斜め読みしたんですがね。
なーんか、AudioToolboxあたりが強力になっている予感。
MusicSequenceでイベントに対してCallback関数が使えますか?
…まじ?
暇を見つけて試してみよう…。
- Comments: 0
- TrackBacks: 0
なんてこったい
-
- 2003年11月 9日 02:19
- Programming | SimpleMIDIPlayer
Developer Toolsをインストールしている人は
file:///Developer/Documentation/MusicAudio/Reference/CoreAudio/CoreAudio.pdf
ここにあるCoreAudio.pdfですが。
以前配布されているものよりも版が新しくなっていました。
SimpleMIDIPlayerこれ読まずにリリースしちゃいましたが^^;
読み直さないと…。
しっかし、英語で100ページ以上あると萎え気味ですなぁ。
未だにPreliminaryって書いてあるしなぁ。CoreMIDIはOS Xのバージョンがあがるごとに変わるし。現在はCoreMIDI 1.4かしら。
#1.4はHeaderにしか情報が載ってないような。
#まぁ、1.3とかもそうだったのだけど、このCoreAudio.pdfに載ってる事を期待。
- Comments: 0
- TrackBacks: 0
シェアウェアの金額
-
- 2003年10月29日 02:14
- Programming
僕はまだフリーウェアしか書いたことがないですが、世の中にはそれはもう数多のシェアウェアが溢れかえっている訳です。
値段が決まっているものもありますが、「あなたが価値があると思った額だけ」てのもあります。
- Comments: 2
- TrackBacks: 0
CVS
-
- 2003年10月13日 19:26
- Programming
いい加減自宅のマシンにCVSあたりを入れとかないとソースがぐっちゃぐちゃになるってことで導入を検討開始。
あ、もしかして研究室のサーバに入ってたりして。っつーか、それを勝手に使えるかは分かりませんが。
…っていうか、CVS自体いまいち分かってないですが(汗
あ、でもPantherが25日に出るからなぁ。それからのほうがいいか…。うーむ。
とりあえず、「さっき動いてたのに〜〜。時間よ戻ってくれ〜〜(泣)」みたいな悲劇は二度と起こしたくない感じ。
- Comments: 0
- TrackBacks: 0
アプリ作成
-
- 2003年10月13日 15:48
- Programming
こう、なんていうか、じり貧生活に突入しはじめると、突如として
シェアウェアでも作って、大儲けだ!
とか思い付いたりする自分が駄目だ^^;
身の程を知れ>自分
あと、OS 9時代の偉大なシェアウェアMIDIシーケンサ、MIDIGraphyが2000円だったことを考えると(その上登録しなくてもフル機能使える)、生半可なものをシェアウェアにするべからず、と思い知らされます。
いやほんと、MIDIGraphyは凄い…。あれはOS Xに移植されないのかなぁ。
ピアノロール部分とか、どうやってプログラミングすると効率がいいんだろうな…。うーん。情報希望。
- Comments: 0
- TrackBacks: 0
リファクタリング
-
- 2003年9月29日 18:25
- Programming
/.Jでリファクタリングが話題に上っています。
ウォーターフォールモデル云々をソフトウェア工学で習い、最近はXPだと盛り上がっていたりするわけですが、実際授業で教えるのと現場の声とではだいぶ違うような気がします。
リファクタリングするにも前提条件が色々あるってのは、考えてみれば当然だけど、リンク先の記事を読むまで気付かなかったなぁ。反省。
- Comments: 0
- TrackBacks: 0
Home > Programming Archive