4月


■ ChAir、渋谷ヒカリエに設置
大学院時代の友人からのご紹介から、
渋谷駅直結の大型商業施設ヒカリエに、
ChAirを設置させていただきました。
屋外かつ駅の真横なのでビル風が台風並みに激しかったりと中々課題が沢山な場所でしたが、
去年展示した作品がまさかこんなスピードで商業施設に取り入れてもらえるとは、という感じで、
手塚くんと日々夜なべしつつ設置させていただきました。
いつも無茶ぶりしてもしっかりこたえてくれる手塚くんは本当にすごいやつだと思います。


この展示では、5月がヒカリエの3周年記念ということもあり、
それに合わせて、3周年をイメージしたこれまでのChAirとはちょっと違う、
渋谷に光が満ちていくような、カラフルな演出を行いました。


新宿伊勢丹 ステージ#2に、移動型のディスプレー設置
大人の都合により写真掲載ができないのですが、
新宿伊勢丹の3Fに、
ショーウィンドーの中に自立移動型のディスプレーを作成させていただきました。
某ロボットのAPIをつかって、定時になるとディスプレーが動き出す、
ちょっとアホだけどかわいいロボットを目指して作りました。
シンプルだけど、かわいい、って大事だなと。

3月


■ ChAir、ライティング・フェアに出展
昨年、スマートイルミネーション横浜にて最優秀賞を受賞したChAirを、
スマートイルミネーション事務局の方からお声がけいただき、
ライティング・フェアというイベントに出展させていただきました。
このイベントは、メーカーが最新の照明技術を持ち寄る見本市のようなもので、
超指向性のあるピンスポットライトや、最新の有機ELが展示してあったりと、
来場者としてまわるだけでも純粋に楽しかったです。

2月


■ こども向けおもちゃの試作開発
今年、とても悔しかったプロジェクトの一つ。
某所に、子供向けのデジタル玩具の試作導入を進めていたのですが、
なかなか思うように進まず、止まってしまった。
止まった理由が不明瞭なのが、一番悔しい理由なのかも。
こういうデバイスは、いかに試作とモニターテストを繰り返すかが大事な気がするので、
なんとか来年もう一度回したいと思ってたり。
画像は、試作してた基板レイアウト。
これから一体何が生まれようとしてたのか、、、



■ 奈良の学校でプログラミング授業
ラボ時代の先輩にお声がけいただいて、
奈良の中学校にてプログラミング講座を開講しました。
プログラムといっても、CとかJavaではなく、Moon Blockという、
あらかじめブロック単位で機能が実装されたものを組み合わせていく、
Max / MSPやvvvvのようなものをつかって行いました。
若いという表現にしてしまうと陳腐な感じがしますが、
みんなもの覚えが早すぎて、
用意していた授業のスライドの半分くらいは要らなくなるくらいでした。笑
子どものフィルターなしの素直な反応って、難しい部分もありますが、
やっぱり楽しい。

1月


大分合同新聞に取材していただいた
大分出身で、県外で活動する人たちを特集する「My ふるさと」という連載記事で取り上げていただきました。
大分の仕事を作りたいー!って色んな人に言って回ってたらこんな形で取材いただき、
恐縮しつつも、これで何か始まればいいなーとぼんやり考えていました。
ちなみに、情報商材っぽい写真になっているのは仕様です。
大分合同新聞さんの記事はこちらからご覧いただけます



■ メグスリノキにインタビュー記事掲載
記事内容は、こちらからご覧いただけます。
前編:http://nikkomaple.net/ja/yuki-anai-interview-1/
後編:http://nikkomaple.net/ja/yuki-anai-interview-2/



■ まごチャンネルのプロト開発をお手伝いさせてもらった
今年の11月に、Makuakeで目標金額の571%超えという驚異的な数値を叩きだした
まごチャンネルの試作開発をお手伝いさせていただいていました。
遠く離れた両親やおばあちゃんに何かできないかと個人的に試作をしていた頃に
まさにそれをビジネスとして実行しようとしていた代表のカジケンさんにお会いして、
やりましょう!ということに。
一緒にモニターしてくださっているおばあちゃんのお家にいったり、
画面はあーでもないとか、機能これ要らないんじゃない、とか日々試行錯誤していました。
製品化まで持っていけたのは、ひとえにカジケンさんの思いの強さが勝ったのだろうな。
本当に楽しくやらせてもらって、自分もあんな一緒に仕事したい人になりたいなーと思いました。
(でもイケメンずるい)


■ メーカーの試作開発
これは、都合上公開できないものですが、
ある大手メーカーの試作開発をお手伝いさせてもらっていました。
未来のデバイスとはなんぞやとか、
製品開発のプロの方々とご一緒できて、超面白かったです。
試作品は、ありがたいことに好評だったようで、
もしかしたらそのうち製品化するかもかも?、です。
こううご期待。

2015年のまとめ

今年は、リリースのペースは少し落ちているけど、
大規模なものや仕込み期間が長いプロジェクトが多かったなという感じでした。
とはいっても、
もう少し時間の使い方うまくできただろうなぁという時期が多くて、
使うべきばしょ、使うものをもっと考えていかないとなぁと
毎年のごとくですが反省した一年でした。



以下、それぞれの月ごとのまとめ。

ディップスイッチによるアドレス計算


2進数くらい計算すればいいじゃんと言われそうですが、
ぱっと計算して試せるプログラムをProcessingで書いてみた。
数字の下の■をクリックすると、on / offをトグルして計算される。

final int NUM_LEDS = 150;

RectButton rect1, rect2, rect3, rect4, rect5, rect6, rect7, rect8, rect9;//, rect10;
int address = 0;

void setup() {
  size(320, 200);
  smooth();

  rect1 = new RectButton(20, 40, 10);
  rect2 = new RectButton(40, 40, 10);
  rect3 = new RectButton(60, 40, 10);
  rect4 = new RectButton(80, 40, 10);
  rect5 = new RectButton(100, 40, 10);
  rect6 = new RectButton(120, 40, 10);
  rect7 = new RectButton(140, 40, 10);
  rect8 = new RectButton(160, 40, 10);
  rect9 = new RectButton(180, 40, 10);
  //rect10 = new RectButton(200, 40, 10);
}

void draw() {
  background(0);

  fill(255);
  text("1", 20, 30);
  text("2", 40, 30);
  text("3", 60, 30);
  text("4", 80, 30);
  text("5", 100, 30);
  text("6", 120, 30);
  text("7", 140, 30);
  text("8", 160, 30);
  text("9", 180, 30);
  //text("10", 197, 30);
  text("Address : " + address + " ~ " + (address + NUM_LEDS), 60, 80);

  stroke(255);
  rect1.display();
  rect2.display();
  rect3.display();
  rect4.display();
  rect5.display();
  rect6.display();
  rect7.display();
  rect8.display();
  rect9.display();
  //rect10.display();
}

void mouseClicked() {
  address = 0;
  if (rect1.getPN()) {
    address += 1;
  }
  if (rect2.getPN()) {
    address += 2;
  }
  if (rect3.getPN()) {
    address += 4;
  }
  if (rect4.getPN()) {
    address += 8;
  }
  if (rect5.getPN()) {
    address += 16;
  }
  if (rect6.getPN()) {
    address += 32;
  }
  if (rect7.getPN()) {
    address += 64;
  }
  if (rect8.getPN()) {
    address += 128;
  }
  if (rect9.getPN()) {
    address += 256;
  }
  /*if (rect10.getPN()) {
    address += 512;
  }*/
}

class RectButton {
  int x, y;
  int size;
  boolean activated = false;

  RectButton(int ix, int iy, int isize) {
    x = ix;
    y = iy;
    size = isize;
  }

  boolean getPN() {
    if(overRect(x, y, size, size)) {
      activated = !activated;
    } 
    
    return activated;
  }

  boolean overRect(int x, int y, int width, int height) {
    if (mouseX >= x && mouseX <= x+width && 
      mouseY >= y && mouseY <= y+height) {
      return true;
    } 
    else {
      return false;
    }
  }

  void display() {
    stroke(255);
    fill(activated ? color(255, 0, 0) : color(102));
    rect(x, y, size, size);
  }
}

今更MacのOSをYosemiteにUpdateしてApache起動で死んだ件

元凶としては、Apache2.2をYosemiteになると勝手に2.4にUpdateされていることが原因だった様子。


大枠は、下記のサイト見ながら対応する部分をしらみつぶししていった。
http://qiita.com/DQNEO/items/1556a8e85af4bc40aad6


「User」まわりのエラーは下記を読み込んだ。

LoadModule unixd_module libexec/apache2/mod_unixd.so


「Order」が使えなくなった件については、下記モジュールを入れた。
「Require」なんとかはまだ触っていない。

LoadModule access_compat_module libexec/apache2/mod_access_compat.so


「configuration error: couldn't check user: /」とかでるエラーについては、以下をロードして解決
# http://damelog.com/computer/server-administration/apache/gentoo%E3%81%AEamd64%E3%81%ABapache-2-4-1%E3%81%8C%E6%9D%A5%E3%81%9F%E3%81%AE%E3%81%A7%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/

LoadModule authz_core_module libexec/apache2/mod_authz_core.so


これでだいたい起動出来た。
その後PHPでテストしようとしたらMySQL周りで「SQLSTATE[HY000] [2002] No such file or directory」のエラーがでた。
sockの指定がズレていたようなので、php.iniの下記を変えた。

- pdo_mysql.default_socket = 
+ pdo_mysql.default_socket = /tmp/mysql.sock

- mysql.default_socket = 
+ mysql.default_socket = /tmp/mysql.sock