12月
26
2008
0

Microsoft Robotics Studio

http://www.microsoft.com/japan/robotics/default.mspx

ロボット制御ソフトウェア開発に対するマイクロソフトの一つの答えがコレ。
コンセプトとしてはおもしろいと思います。
ただ、色々と概念が抽象化されているので、それを把握するのにちょっと勉強が必要かな、といった感じではありますが。。。

普通はロボットを買う軍資金に困るところなのですが・・・
幸運にも自分の所属している研究室に、LEGO Mindsotrm NXT が大量にあります。

ただ・・・残念なのは、シミュレータのビジュアライザがVista 64bit 非対応だった事だ!(今までも何度も Vista64bitで動かないソフトウェアに遭遇したが・・・今回もっ)
とりあえずその辺は、WindowsXPのノートを使うことで対応していけばいいかなと思ってます。

接続方式が Bluetooth ONLY ってのがまた・・・。
うちにはBluethooth ドングル が無いんですよ・・・orz
研究室にはいっぱいあるが、今後の事を考えると、自分で一つくらいは買おうかなと思います。

とりあえず、VPL(Visual Programming Language)で適当に組んで、シミュレータ&ビジュアライザで動かしてみたんですよ。

ロボットが前進するだけ、 or 決められた動き通りに動くだけという簡単な動き、
うん、これだけなら簡単でした。
・・・これだけなら・・・ね。

どうやら、これ以上に複雑な事をやろうとおもうと、色々と勉強する必要があるようです。

最終的には C# ( .NET Compact Framework )上で動かしたいのですが・・・
前途多難な感じだぜ。 フッハー。

最初はデスクトップで( .NET Framework を使って )開発しておいて、ある程度出来そうになったら、.NET Compact Framework で動くように移植するという手順が楽でしょう・・・たぶん。
使うクラスやメソッドは Compact でも提供されているものをつかっていれば、参照するアセンブリを切り替えるだけで・・・きっと移植できるはずです。

とりあえず、最終的なイメージ( アドエス を積載した Lego Mindstorm NXT を ネットワーク経由で遠隔操作する ) への道筋は見えた気がします。
今年はもうそろそろ実家に帰る関係で、プログラミングは出来ない状態なので・・・来年頑張ります。

12月
24
2008
0

Javaとコーディング規約

Javaに必要なのは、クラスライブラリの拡張よりも、言語仕様の整理だと思うんだ。
正直、何でもかんでも、コーディング規約で制御しようってやりかたは良くないと思う(例: getter, setter, Listener 等)。
予約語を増やさないという方針も有りかもしれないけど、多少増えるのは仕方ないと思うんだ。

やはり、プロパティ構文は必須だと思う。
get~ ってのは、オブジェクトに何らかのメッセージを送り、それに対するレスポンスとしてのオブジェクトを得るために使う”メソッド”であって・・・

今のJavaでは、get”メソッド”と、オブジェクトのプロパティを明確にかき分ける事が出来ないのが現状だったり・・・

でも、流石にJavaの開発者もこれくらい感じてるだろう・・・と思ってたら・・・
なんと、次のJava7 でプロパティ構文を採用するようです。

イヤッフー。

あとは、イベントドリブン駆動型に関するサポートが欲しいところです・・・。
GUI扱っている人くらいしか、イベントドリブンなコーディングはしないかも知れませんが・・・
やはりここも、コーディング規約で固められてるんですよね(文法上定められてないのでどうにでもかける)

今作ってるプログラムは、イベントドリブンな形で作ろうと思ってるのですが・・・Javaの標準的な規約で作ると面倒(コード量が多い)なので、独自の規約で作ることにしました。
ジェネリックを使えばかなり簡潔には書けますけど、やはり文法上定められてるC#等に比べると、冗長な書き方になってしまいます。。。

Written by ナ王 in: Java, プログラミング |
12月
23
2008
0

ベーコンw

http://bacolicio.us/http://naoblo.info/

なんていうか、こういう無駄な遊びって大切だと思うw

参考:http://bacolicio.us/

Written by ナ王 in: その他 | タグ: ,
12月
21
2008
0

WordPressでrealpathが警告を・・・

この間、サーバの総アップデートをかけた影響か、Wordpress がエラーを吐くようになりました。

メディアライブラリの画面で、

Warning: realpath() [function.realpath]: Unable to access /home/<(^o^)>/wp-admin/wp-content/uploads in /home/<(^o^)>/wp-includes/functions.php on line 1767

という警告が出るようになりました。一応ただの警告なので無視ってもいいのですが、
警告文のせいでかなりインターフェイスが崩れてしまっています。

見た感じ・・・存在しないアドレスに対してアクセスをしている模様。
(wp-admin/wp-contentは存在しない)

というわけで、Wordpress の該当箇所のソースを見たところ・・・

PHP:
  1. /**
  2. * Test if a give filesystem path is absolute ('/foo/bar', 'c:\windows').
  3. *
  4. * @since 2.5.0
  5. *
  6. * @param string $path File path
  7. * @return bool True if path is absolute, false is not absolute.
  8. */
  9. function path_is_absolute( $path ) {
  10.   // this is definitive if true but fails if $path does not exist or contains a symbolic link
  11.   if ( realpath($path) == $path )
  12.     return true;
  13.  
  14.   if ( strlen($path) == 0 || $path{0} == '.' )
  15.     return false;
  16.  
  17.   // windows allows absolute paths like this
  18.   if ( preg_match('#^[a-zA-Z]:\\\\#', $path) )
  19.     return true;
  20.  
  21.   // a path starting with / or \ is absolute; anything else is relative
  22.   return (bool) preg_match('#^[/\\\\]#', $path);
  23. }

となっていました。
用は、引数で与えられたパスに対して、絶対パスをrealpath関数で取得し、それと引数で与えられた元のパスを比較することで絶対パスかどうかの判定を行っているようです。

絶対パスが与えられた場合はいいのですが、相対パスが与えられた時、(カレントディレクトリ + 相対パス)が存在しないパスになってしまい、警告を発しているのでしょう。
今までのバージョンでは警告がでなかった仕様だったのが、最近のバージョンで警告がでるようになったのでしょう。

となれば、解決案は簡単。

PHP:
  1. if ( realpath($path) == $path )

この一行を、

PHP:
  1. if ( file_exists($path) && realpath($path) == $path )

と書き換える事で解決しました。

Apache/2.2.8
PHP/5.2.4-2

12月
20
2008
2

ブラウザって大事だと思う

改めて情報の流れを考えると、ブラウザの果たす役割の大きさに驚きます。

その大事さを踏まえた上で、自分の状態を考えると・・・

  • iGoogleを使っているが、トップページは未整備
  • お気に入りがごっちゃごちゃ
  • 情報を探すことはよくあるが、情報を受信することは殆ど無い

といった状態でした。
そこで、状況を改善しようということで、ブラウザを色々整備してみることにしました。

本当はブラウザにあまりプラグインは入れないつもりだったのですが、今回の整備の課程でどうしても標準の機能だけでは効率悪い箇所がでてきたので、最低限だけいれてみました。

というわけで、整備点は

  • iGoogle で不必要な情報は削除、見るべき情報を追加
  • お気に入りを整備
    • 使わないリンクを削除
    • 階層構造をしっかりする
    • 巡回用のフォルダを作成
    • 参照頻度を考慮して並び替え
  • 情報受信、巡回がしやすいようにプラグインを追加

うん、かなりわかりやすくなった。

これで、ニュースの記事もチェックしやすくなったし、巡回に今までのように時間をかけなくて住みそうだ。

Written by ナ王 in: その他 | タグ: , ,
12月
19
2008
0

鯖のバージョンアップを強行

このブログをホスティングしているサーバのバージョンが古く、そろそろUbuntuの公式サポートから外されそうだったので、更新することにしました。

年末に実家に帰った際に、OSのクリーンインストールをしてもよかったのですが、何かと面倒だったので、ネットワーク越しにディストリビューションのバージョンアップを行いました。
(※... 鯖は実家に設置しており、普段は住処(学校/寮)から遠隔で操作している)

途中、SSH越しでは危険ですよ? とインストーラに警告されましたが…
何かあったときはあったとき、ということで、強行しましたw
(途中、ネットワークが切断されて冷や汗かいたのはここだけの秘密)

$ sudo apt-get install update-manager-core
$ sudo do-release-upgrade

このコマンドでバージョンアップが出来ました。
これが終わったら、

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"

これで最新版に更新できていることを確認できました。

なんとかうまくいってよかったw
会社の鯖とかだとこんな冒険できませんねw
私用鯖だからできる事だねw

Written by ナ王 in: Ubuntu, 備忘録 | タグ: ,
12月
19
2008
0

GA

何にでも適用できるアルゴリズムとして、GAとかSAが有名です。
何かと作っておくと便利かな、と思ったので、GAのエンジンをJavaで作ってみました。

正直、適当に作りすぎて、バグが怖いんですが・・・w
もしバグとか、あまり良くない記述などありましたら、コメントにて報告してくれたら幸いです。
ライセンスはBSDってことで、ご自由にお使い下さい。
gaengine

あと、サンプルコードって事で、ナップサック問題を解くコードを書いてみました。
knappsack

12月
17
2008
0

スープカレー

今日は夕食ネタで一つ。

最近、マジックスパイス という店がマイブームだったりします。
それで、先日マジスパにいった際にスープカレーの素 を買ったわけです。

昨日、スープカレーを2杯分作ってみたのですが、付属のスパイスを半分しか入れていなかったこともあり、かなり落ち着いた味になりました。
そこで、今日、残り1杯分を食べる際に、入れていなかった残り半分のスパイスを全部投入してみました。

20081217_hi3a0135

((゚□゚ ))かれえぇぇっ!!!
気持ちが良くなるくらい激辛になりましたw

スープカレーの素は普通に通販でも買えるので、興味ある方は試してみる事をお薦めします!

Written by ナ王 in: | タグ: , ,
12月
16
2008
3

mixiとの連携成功

ブログ(WordPress 2.7)とmixiの連携がやっと成功しました!

最初、Wp-MixiPublisherを使おうと思ったんですが・・・これがまたうまく動かないという状態で・・・。

スクリプトの改造も少し行ったのですが、やはりうまく動きませんでした。

そこで、解決案を模索していたら、publishToMixiというプラグインを見つけました。
しかし・・・ WordPress2.7 で動かそうとすると・・・ これがまた失敗する orz

グーぐる先生にすがりついたところ、解決案を発見!
http://www.nonsensecorner.com/wp25/?p=1822#more-1822

この通り編集したら、見事成功しました(´ー`)

しかし、オプションに乏しく、やりたいことができなかったので、スクリプトに手を入れてみました。
変更点は以下の通り

  • WordPress 2.7 で動くようにフックの修正
  • mixi投稿時にタイトルや本文を加工
    • タイトルに [BLOG] を付ける
    • 500字以上は省略する
    • BLOGの記事へのリンクを付ける

ライセンス形態がGPLなので、一応書き換え後のコードを置いておきます >>publishtomixiphp<<
編集箇所は /* Added */ で検索すればわかると思います。

12月
16
2008
1

SEO対策とかアクセス解析とか

最近なにかと SEO対策という言葉を聞くので、このブログでもやってみました。

とりあえず、URLは結構重要らしいので、
ブログの各記事のURLは ~~.html(実際はhtmlファイルじゃない)としてみました。

meta情報とかを付けるために、All in One SEO pluginを WordPress に組み込んでみました。
これで、タグがキーワードとしてメタ情報に埋め込まれます。

あと、普段から重要な項目を先頭に書く、Strongやh1といったタグを効果的に使う、等々があるようです。

ついでに、Google Analytics を導入してみました。
Google Analytics はじめて使いますが ・・・ 解析項目の多さに驚きましたw

Powered by WordPress | Aeros Theme | TheBuckmaker.com