研究開発の自由度と互換性の両立
自分以外の方々にサービスや API を使ってもらう機会が増えるにつれ、研究開発の自由度(好きにコードを書きたい)と互換性(仕様変更で外部に迷惑をかけない)を両立するための工夫が重要になってきました。この記事では、とくに開発リソースがひっ迫している環境において、外部連携をスムーズに行うために、私が気をつけて実践してきたことを紹介します。
自分以外の方々にサービスや API を使ってもらう機会が増えるにつれ、研究開発の自由度(好きにコードを書きたい)と互換性(仕様変更で外部に迷惑をかけない)を両立するための工夫が重要になってきました。この記事では、とくに開発リソースがひっ迫している環境において、外部連携をスムーズに行うために、私が気をつけて実践してきたことを紹介します。
今年 4 月 30 日、立花隆氏が亡くなりました。立花氏ははやくからインターネットの可能性に注目していました。氏の公式サイトは、かつて私がメンテナンスをお手伝いしていたのですが、ドメインの失効とともに閉鎖になっていたのです。訃報を受け、サイトを一から作り直して 6 月に https://tachibana.rip で公開しました。さらに、このたび、そのソースコードを公開しました。
年初に、 Visual Studio Code などのコーディング時間をプロジェクトごとに集計してくれる WakaTime というツールを使い始めました。週休 2 日と思うとだいたい 1 日あたり 4 時間は VS Code を使ってるようです。VS Code 外などトラッ...
これまで WordPress を使っていたのですが、デザインが古いまま(Bootstrapテーマ)で、ポートフォリオサイトのSemantic UIにマッチしたテーマがなかなか見つからず、動作もそんなに軽くないということで移行先を探していました。仕事で普段から使っている Next.js が目的に使えそうということで、思い切って移行、改装しました。
昨日の記事でも紹介したWebmoは JavaScript で簡単に操作できることがウリですが、現状用意されているライブラリはブラウザ上で動作することを前提に設計されており、Node.js で実行するとエラーが起きます。エラーを直して本家に pull request を送ろう...
Webmoは JavaScript から気軽にサーボモータを操作できる Intel Edison ベースのデバイスです。Webmo を電源に繋ぐだけで、Wi-Fi アクセスポイントと Web サーバが立ち上がります。Wi-Fi アクセスポイントに接続すると、JavaScri...
最近 Intel Edison のお世話になっています。JavaScript で(ホスト PC なしに)センサ・アクチュエータが動くのって本当に素敵ですね!Intel Edison や Galileo では、GPIO などを操作するためにmraaという低レイヤーな通信用ライ...
最近書いたものをメモがてら。 1. bash で行ごとに処理 2. Git のログを整形して出力 3. フォルダ内のデジタル一眼 RAW を全部現像
日本のみなさん、あけましておめでとうございます!PDT(太平洋標準時)ということにして、先の記事でセットアップした QEMU上で #大晦日ハッカソン を続けておりました。けっきょくビルド時間などがネックになって実機での動作は間に合いませんでしたが、JavaCVを Rasp...
Raspberry Pi Type B 512MBを買ったのが 8 月のこと。Raspbian をインストールして無線 LAN 接続のための USB ドングル(BUFFALO 無線 LAN 子機 WLI-UC-GNM)を挿してカメラモジュールをつないで、ちょっと遊んではみた...
12/25 更新; Amazon の実装が変わって Chrome 最新版との組み合わせで動かなくなっていたものを修正しました。技術解説は最後に。そろそろ今年はいくら使ったか集計してみましょう^^もともともろやさんの書いたコードをちょっといじって使っていたんですが、Gist...
自分のポートフォリオサイトで使っている Bootstrap のバージョンを 2 から 3 にあげたので、このブログ(WordPress)のテーマも同時に更新しました。ポートフォリオサイトではBootstrap 3 の variables.less を編集したうえで grun...
1 年以上前にOpenCV の非公式な Java ラッパー JavaCV を使う方法について記事を書いたのですが、その後、OpenCV の公式な Java ラッパーが公開されたり、JavaCVのバージョンが上がったりして、色々と状況が変わっています。OpenCV の公式な ...
MediaWiki に画像をアップロードすると、その縮小版を ImageMagick で作ってくれます。デフォルトでは$wgFileExtensionsに jpg/jpeg/png/gif の拡張子が登録されており、JPEG/PNG/GIF 画像しかアップロードできないよう...
前日に引き続きMediaWikiに関する記事です。 素の MediaWiki は、記事を全て Wiki 記法でべた書きしなくてはなりません。Wikipedia の記事では、右の図の情報ボックス(Infobox)のように、記事の種類ごとにテンプレートがあって、同じようなレイア...
多言語対応できてそれなりにしっかりした Wiki エンジンを探していたらMediaWikiにたどり着いたのだけど、どうもやり方がよく分からない。ドキュメントも日本語ではあまり見つからなかった。というわけで、基礎知識と、多言語対応の方法について調べたことを書いておきます。
最近、Kinect を使う開発環境Picodeの実装を手直ししています。この開発環境は Java で書かれているのですが、Kinect for Windows SDK の API を使う必要があります。Kinect for Windows SDK は C++と C#向けの ...
最近 Processing 用のライブラリを Java で実装していて、Java 界の BufferedImage を何度も PImage として渡す必要がありました。最初は素直に次のようなコードを書いていたのですが…void draw() { BufferedImag...
最近、スマートフォンが赤外線リモコンの代わりになる製品をよく見るようになりました。この記事ではその私家版、 Web インタフェースから家電製品やルンバが遠隔操作できちゃうリモコンアプリ Realmote を紹介します。
Java/Processing で小型ロボットを簡単に動かせるツールキット Phybots は、オープンソースで公開されてしばらく経ちますが、正直なところ忙しくてあまり管理に手が回っておらず、すぐ使える配布ファイルもありませんでした。#五十嵐 ERATOのポスターセッション...
最近、照明を ON/OFF する機能を備えた Arduino ベースのネットワークカメラを開発したのですが、そこから定期的に画像を取ってきて保存したくなりました。自宅サーバとして Mac mini Mid 2010 (Mac OS X Snow Leopard)を使っている...
OpenCV には機械学習の実装がいくつか(単純ベイズ、k 近傍、SVM、決定木…)用意されていて、画像処理に限らず汎用目的で便利に使うことができます。実装ごとにクラス化されていて、学習(train)→ 予想(predict)という似たようなメソッドが用意されているため、学...
これまで、自前のライブラリで Web カメラから画像をとってきて、ARToolKitに渡してマーカー検出したりしていたのですが、画像処理関連の研究を始めたりして、そろそろ限界を感じるようになってきたので、Java からOpenCVの各機能が呼べるラッパーJavaCVを使って...