m3pi を注文した


m3pi は ARM の展示会でたびたび見かけるロボットです。
調べてみると、個人でも購入できるようです。
mbed はすでに持っているので、Robot のパーツを注文しました。
ついでに、拡張基板と、AVRライターも。
発送方法は、かんぱぱさんに倣って Fedex にしました。

Pololu m3pi Robot with mbed Socket : $149.95
3pi Expansion Kit with Cutouts : $11.95
Pololu USB AVR Programmer : $19.95
FedEx International Economy : $36.95
計 $218.80

関連
m3pi が届いた

参考
Pololu 3pi robotをオーダーしました
m3piを作ってみよう


誕生日 on Facebook


今日1月25日は私の誕生日です。

例年なら「誕生日おめでとう」のメールを数件貰うぐらいなのですが。
今年は Facebook 上で36人の方から「誕生日おめでとう」を頂きました。
Facebook 上の友人はそれほど多いわけではなく180名くらいです。
割合にすると、20%くらいです。

ちなみに、Twitter 上で私をフォローしている人は1560名いますが、「誕生日おめでとう」を頂いたのは一人だけです。
割合にすると 0.06% ですね。

やっぱり、Facebook はリアルな繋がりには強いようです。

しかし、Facebook 最強という話をするのは、少し早いです。
リアルを基盤としたネット上の繋がりは、20年前の パソコン通信 の時代にもありました。
当時は毎月のようにお誕生日会オフをやってました。
地方に住んでいてネット上でしか知らない人とリアルの会う機会があると、迎撃オフと称して歓迎会もやってました。
そんなに盛んだったパソコン通信も、インタネットの波に乗れず、2006年には終了しまた。

Facebook も今は勢いがありますが、何年かすると利用者に飽きられて、新しいサービスに移行しているかもしれません。

Facebook の盛衰はさておき、インタネットは便利ですね。
1月25日生まれの有名人も簡単に調べられます。
松本零士さん、楠みちはるさん、櫻井翔さんなどです。

参考
さよならパソコン通信!――NIFTY SERVE終了に伴い、パソコン通信全盛期を知る人々が東京に集結
wikipedia:1月25日


Android の時刻合わせ



写真は 2009年にうるう秒が挿入されたときの NICT 情報通信研究機構 の時計

インターネットやUNIXシステムでは NTP Network Time Protocol による時刻合わせが一般的です。
Android では、NTP は使わずに、3G回線による時刻合わせが行われているようです。
世界的には NITZ Network Identity and Time Zone という方法が採用されています。
日本の通信キャリアや機器メーカーは対応は不明です。
ネットの情報を総合すると、ドコモは対応、ソフトバンクは非対応のようです。

3G回線を使わず、WiFiのみを使う環境では、NTP を使うことになります。
例えば、Clock Sync のようなアプリがあります。
しかし、Android では、アプリによる時刻合わせは許可していないので、root化する必要があります。
アプリによる時刻合わせを許可して欲しい という要望も出ていますが、採用の兆しはないようです。

参考
wikipedia: NTP Network Time Protocol
wikipedia: NITZ Network Identity and Time Zone
Nexus One(Android携帯)の時刻同期のしくみ
Android時刻を原子時計並に正確に設定する Clock Sync
Allow user apps to set the system time


ワードプレス カフェ 第1回目


2012年1月18日 ワードプレス カフェ 第1回目を開催しました。
私は主催者側としてお手伝いしています。

昨年行っていたワードプレスの初級講座と中級講座を、参加者同士の交流を主眼
に、リニューアルしたものです。
場所は横浜・関内の さくらWORKS です。
参加者は12名、私を含めたスタッフが4名でした。
過去に講座に参加した人を想定していたのですが、半数が初めて参加する人で、ちょっと嬉しい誤算でした。

前半は簡単な講義。
今回は 今井良さん @ryo_apejp による発表
Facebook(フェイスブック)とWordPressの連携の仕組みとは?
コードの脆弱性の恐怖と対応

後半はフリートーク。
最初は、参加者同士で顔見知りの人と、初参加の人がいたこともあり、話が弾みませんで
したが。
徐々に慣れてきて、最後の方では活発なトークが展開されました。
当日出た質問は 掲示板 に掲載しています。

次回は、2月15日の予定です。


目覚まし時計 Alarm Clock


Android の標準アプリに目覚まし時計 AlarmClock がある。

donut(v1.6) の com.android.AlarmClock を移植した。
そのままコピーして、ユーザアプリとして、コンパイルを通るようにしたもの。

ソースコードは Google code に置いています。

AlarmClock の中には、アナログ時計のウィジェットも含まれています。

参考
Android Developers: AlarmClock
GingerBread から provider に移ったようです。


アナログ時計 Analog Clock


Android の UI にアナログ時計 AnalogClock がある。

レイアウトファイルに下記のように記述する。

<AnalogClock
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"/>

このクラス自体が Java で記述されています。
donut(v1.6) の android.widget.AnalogClock を移植した。
そのままコピーして、ユーザアプリとして、コンパイルを通るようにしたもの。

ソースコードは Google code に置いています。

時計の刻み
Android には、毎分0秒ちょうど を通知する仕組み ACTION_TIME_TICK が用意されています。
これを受け取って、分を刻んでいます。

時計の画面
下記のような3つの画像(文字盤、短針、長針)の組み合わせで出来ています。
他の画像を指定することも出来ます。

短針の描画は、下記のように回転させています。

canvas.rotate(mHour / 12.0f * 360.0f, x, y);

参考
Android Developers: AnalogClock


デジタル時計 Digital Clock


Android の UI にデジタル時計 DigitalClock がある。

レイアウトファイルに下記のように記述する。

<DigitalClock
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"/>

このクラス自体が Java で記述されています。
donut(v1.6) の android.widget.DigitalClock を移植した。
そのままコピーして、ユーザアプリとして、コンパイルを通るようにしたもの。

ソースコードは Google code に置いています。

下記のように、一定周期で現在時刻を読み出している。

mTicker = new Runnable() {
  public void run() {
    if (mTickerStopped) return;
    mCalendar.setTimeInMillis(System.currentTimeMillis());
    setText(DateFormat.format(mFormat, mCalendar));
    invalidate();
    long now = SystemClock.uptimeMillis();
    long next = now + (1000 - now % 1000);
    mHandler.postAtTime(mTicker, next);
  }
};

参考
Android Developers: DigitalClock


Time Machine


Time Machine (タイム・マシン) は、 H・G・ウェルズが創造した時間旅行を行う乗り物が有名ですが。

MACでは、バックアップソフトウェアのことです。
時系列の増分バックアップにより、特定の時点のデータが復元できるのが特徴です。
外部のHDDが必要で、USB接続にもLAN接続にも対応しています。

今回は、バッファローの HD-LEM2.0TU2J 2TB容量、USB接続 を使用しました。
実売価格で2万円を切っています。

最初に、HDDをMAC拡張形式で初期化します。
次に、Time Machine を有効にします。
後は自動的にバックアップしてくれます。
初回は、フルバックアップなので、4時間くらいかかりました。

参考
Macのバックアップ、Time Machineで始めよう!


ネスト赤羽IT勉強会 – Android で未来へ行けるか?


2012年1月13日 ネスト赤羽IT勉強会 に講師として参加しました。
ネスト赤羽は、北区は運営している創業支援施設です。
ネスト赤羽IT勉強会は、3年前より月1回のペースで行われいるそうで、今回は第29回目です。
主催者の一人である 星野さん からお招き頂きました。

演題は Androidで未来へ行けるか?
スマートフォンやAndroidの状況について2時間半ほど話をしました。
1.自己紹介 & Androidに関する活動紹介
2.スマートフォンの状況
3.Android vs iPhone
4.Android開発のいろは
5.多様なAndroid

[slideshare id=11029870&doc=20120113akabaneandroid-120113201240-phpapp02]

当日の様子
参加者は30名ほどでした。
講演の様子はこちらで紹介されています。
Androidで未来に行けるか?(大和田健一さん)

開発環境に関する質問が多かったです。
Titanium MobilePhoneGap の人気が高かったです。
Webアプリなら作ったことがあるという人が多かったためだと思います。
また、App Inventor はすでに知っていた人や、新しく関心を持ってくれる人もいました。

Android の家電への応用について質問されたので、Android@home を紹介しようと思いましたが、その場ではよい情報は見つけられなかった。
昨年5月の Google I/O にて大々的に発表された割には、その後は新しい情報がないみたいですね。
Google I/O、モバイル関連は「Android@Home」など盛りだくさん

懇親会
赤羽駅前の 庄や にて、20名ほど参加しました。
いろいろ楽しい時間を過ぎしました。