サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
blog.junkato.jp
Wikipedia Infobox 前日に引き続きMediaWikiに関する記事です。 素の MediaWiki は、記事を全て Wiki 記法でべた書きしなくてはなりません。Wikipedia の記事では、右の図の情報ボックス(Infobox)のように、記事の種類ごとにテンプレートがあって、同じようなレイアウトの Wiki データを何度もコピー&ペーストしないで済むようになっています。 Wikipedia の便利なテンプレートを自分で設置したローカルの MediaWiki でも使えるようにするには、まず Wikipedia で Infobox を定義しているデータを XML ファイルとしてエクスポートしてから、ローカルの MediaWiki にインポートする必要があります(Wiki データのコピー)。また、特定の拡張機能に依存しているテンプレートの場合は、当該の拡張機能もインストールする
萩谷先生の「Excel でプログラムを書く」という原稿が話題に挙がっていたので、僕の知る範囲で、研究の文脈をちょっとご紹介します。 プログラミング環境としての Excel という考え方は、文字列ベースの開発環境に慣れた人にはちょっと頓狂に聞こえるかもしれませんが、Microsoft Research Cambridge のSimon P. Jones 氏 (2003-2004 年あたりに関連研究)など、MS の中の人もかなり自覚的に極めようとしてきた節があります。最近の例だと、Excel 2013 から導入されたFlashFillという機能もプログラミング言語の研究が背景にあります。 Excel に限らず、関数をサポートするスプレッドシートは関数型プログラミングを可能にするデータフロー言語の一種です。データフロー言語というと、ノード間の依存関係が有向辺で結ばれた Visual Progra
最近、プログラミングのための文字列表現ベースの統合開発環境(Eclipse とか VisualStudio、Xcode みたいなもの)に視覚表現を統合する手法について、自分がやってきたこと、考えてきたことをまとめる作業をしています。僕にとって、文字列表現というのは視覚的なものとは対極にある存在でした。例えば、先に挙げたような統合開発環境と Visual Programming Language(LabVIEW や PureData)の違いを考えてみてください。 しかし、様々な文献を当たってみると、コンピュータにおける文字列表現は、その他の声や印刷のような言語表現よりも既に視覚的であるという論説が多く見受けられました。考えを整理するために、ちょっと書き下しておこうと思います。 文字列表現=一次元的、視覚表現=二次元的 僕にとって、プログラムや普通の文章も含めた文字列表現というのは、一次元的な
C#サーバとJavaクライアントがThriftで通信 最近、Kinect を使う開発環境Picodeの実装を手直ししています。この開発環境は Java で書かれているのですが、Kinect for Windows SDK の API を使う必要があります。 Kinect for Windows SDK は C++と C#向けの API しか提供していないため、Java から使うためには C++または C#のプロセスと通信することになります。そこで今回は、Thriftという Facebook が開発したフレームワークを使ってプロセス間通信(Inter-process communication)してみました。 ソースコードとバイナリはGitHubにあります。 Inter-process communication (IPC) Java VM と外界が Inter-process commun
最近、照明を ON/OFF する機能を備えた Arduino ベースのネットワークカメラを開発したのですが、そこから定期的に画像を取ってきて保存したくなりました。自宅サーバとして Mac mini Mid 2010 (Mac OS X Snow Leopard)を使っているので、Mac mini で定期的に wget を走らせることができればよいはずです。言ってしまえば簡単なことですが、意外と設定に手間取ったので手順を書いておきます。 カメラの画像を日付連番で保存するスクリプト まず、カメラから画像を取ってきて日付連番で保存するスクリプトを書きます。date コマンドで現在の日付を適当なフォーマットに整形し、それを wget の出力ファイル名として渡します。最新の画像は ln -s で newest.jpg からシンボリックリンクを張って常にアクセスできるようにしておきます。カメラから画像
IT が生活のいろんな部分に入り込んでくるにつれ、プログラミングの重要性がどんどん増しています。しかし、Visual StudioやEclipseに代表されるような開発環境の使い勝手を向上させる研究は、意外といっていいほど見当たりません。その中でも著名な研究は、Last author をたどるとたいてい 2 人の研究者に行き着きます。ユーザインタフェース(UI)・Human-Computer Interaction(HCI)という研究分野はありとあらゆる人が使う情報機器を対象とします。プログラマ向け UI である開発環境だってもちろん研究対象となるはずなんですが、関連研究の少なさ、関わってきた人の少なさから、これまでは世界的にもマイナーな研究分野だったと言えると思います。 ただ、僕はこの研究分野はすごく重要だし、今後どんどん成長すると思っています。現に、ここ一年で Web ベースの開発環境
OpenCV には機械学習の実装がいくつか(単純ベイズ、k 近傍、SVM、決定木…)用意されていて、画像処理に限らず汎用目的で便利に使うことができます。実装ごとにクラス化されていて、学習(train)→ 予想(predict)という似たようなメソッドが用意されているため、学習結果がイマイチなら他に切り替える、ということも比較的簡単にできるようです。 この便利な機能は、Java 版ラッパーである JavaCV にもポーティングされています。そこで、とりあえず 5 次元ベクトル群を 2 つのクラスに分類するコードを書いてみました。下の画像では、5 次元中 2 次元を可視化しています。他のパラメタで実行してみた画面キャプチャやコード全体は記事末尾にあります。JavaCV のインストールなどに関しては前の記事「OpenCV を Java から使う」をどうぞ。 準備 // Parameters fo
2014 年 1 月 26 日追記; JavaCV のバージョンがあがって、使い方がもっとシンプルになりました。詳しくは新しい記事をご覧ください。 これまで、自前のライブラリで Web カメラから画像をとってきて、ARToolKitに渡してマーカー検出したりしていたのですが、画像処理関連の研究を始めたりして、そろそろ限界を感じるようになってきたので、Java からOpenCVの各機能が呼べるラッパーJavaCVを使ってみることにしました。 インストールおよび実行までの道のりが果てしなく遠い…かと思いきや、意外とすんなりできました。 64-bit Windows で JavaCV OpenCV のバイナリ版(OpenCV-*.exe, 自己展開 ZIP)をダウンロードして適当なディレクトリ(C:¥opencv など)に解凍 Visual C++ 2010 のランタイムをインストール 環境変数
学部生のころ研究について想像していたことと、実際に修士を修了して博士課程にきて分かった現実の間にけっこうギャップがあったので、この感覚の差を忘れないうちに書いてみます。なお、僕の専門はコンピュータ科学のなかでもユーザインタフェース・Human-Computer Interaction と呼ばれる分野です。他の分野だとまた事情が違うと思うので、その点ご承知おきください。 研究には時間がかかる フルペーパーを書くのは大変 新規性は大きさよりコントラストが大事 研究生活は自律心がないとつらい 研究には時間がかかる 学部生のころは、研究プロジェクト一つ終わらせるのに 1 年以上かかるなんてそんなバカな!と思っていました。実際は成果としてまとめるのに 2 年かかったものもありました。 学部生のころの想像として、アイデアを考えて実装するのに 1-2 ヶ月で、それを論文にして投稿したら終わり!3 ヶ月あ
このページを最初にブックマークしてみませんか?
『blog.junkato.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く