2012-04-28

飲み屋計画の現時点でのまとめ

■何が起こっているか

俺が入り浸れる飲み屋がなくなった(結局回避)

高円寺の街自体で飲み屋がここ1年でガンガン減ってる

ギーク界隈でも、いろいろなプロジェクトがアクティブになっているが、それぞれで交流がなくなってきている

 

■何がなくなるのが問題か

本当に何をやってもいい場所

そこで作られた人間関係

地域のハブ(町内会の会合などで普通に使われたり、震災時の情報の集積所になったりする)

違う領域同士がコラボレーションして、面白いことを行なっていく環境

 

■どういう計画を立てたか

飲み屋計画

自由な場所と、地域交流は、持続性がないとできないから、ファイナンスを根本から変える

運営方法も根本から変える。店長1人に負担が来るから潰れる。

そこでいろいろプロジェクトの話や作業ができる

シェアハウス、コワーキングスペースとは違った関係性:常にいるほどコミットするわけでもなく、仕事場として割り切るわけでもない。来ても来なくてもよく、来て面白いことが起こっていたらどんどん参加できる環境

成果物を地域に還元して、面白い関係を作っていくことで、結果的に持続性を確保する

一方で、非常事態の引受など、従来飲み屋が持っていた機能も維持したい

 

■どう攻めていったか

とにかく関わる人全員と話した

「なんとかBAR」というところで1日店長をやった

どういう結果を出したいかというのを、あらかじめ実現しておく

ギーク界隈のいろいろな人間も、地域の人間も全員呼ぶ

プロジェクトの実作業もやりまくる

結果:盛り上がったし、意外に交流できた

 

■なんで頓挫したか

運営方法を変えるのは無理に近い

目的設定が広すぎた

ミニマムにやるとしたら、固定された店という形態はいらなくて、週1回場所を確保出来れば良い

ー>継続的な場所を作るのは断念、少なくとも飲み屋からスタートはできない

 

■これから何をするか

週1でカジュアルにイベント的なものをやりたい。ただ飯食うだけで、作業とかもできる

1月から月2回寿司の会をやっていたが、それがきっかけで100人規模で社会的にも意義があったりするイベントを行えた。メンバーも固定ではなく、かなり広く情報が流通した

 

■その他

正直、飲み屋で知り合った人々とそのまま関わり続けられる場所が欲しかった。オープンオープン言いながらクローズドな考えだった。その辺の矛盾は反省点。

地域の人間と「その飲み屋にしか来ない人間」は異なる。しかし、「その飲み屋にしか来ない人間」がいなくなったら、地域にとっても良くないんじゃないの?その辺の関係はもっと考える必要。

2012-03-26

REST APIとかだるくない?って話

なんか、今のWebサービスって

  • TwitterとかFacebook、一応FoursquareなどのデカいWebサービスがある
  • それらはREST APIで内部の情報を提供している

というのがまず前提にあって(これらのサービスを「デ」と略す)、連携したサービス(レ)を開発する場合、

  • 認証系はデのOAuthなどにおんぶにだっこ
  • デのユーザーと、そのデータに紐づいたデータをレで持っとく
  • デのプロフィールとかソーシャルグラフとかも持ってきたいから、レのクライアントかサーバーがREST APIを使いまくったりする
  • デが死んだらレも死ぬ

というのがセオリーだと思う。ただ、近年の流れとして

  • スマートフォンのネイティブアプリや、WebでもクライアントサイドMVCが流行してきて、レでもサーバーサイドはAPIを提供するだけになりつつある
  • それに呼応する形で、BaaS(Backend as a Service):リッチなクライアントとAPIでやりとりすることを前提に、レ向けに認証系、データストア、クロールなど必要なものを提供するサービスも始まっている

というのがある。こういう流れを見ていると、レにデがREST APIを提供するってモデル自体が古いものに思えてくる。だいたい理由を箇条書きにする。

  • どうせデもレも同じ認証を使うんだから、まとめたほうがいい
  • デは明らかにデカいデータストアを持ってるんだから、ついでにBaaS的に分けて欲しい
  • そのほうがデータの連携もまとめられて良い

つまり、デがレにAPIを提供するんじゃなくて、適切な権限においてデータストアとAPIの提供メカニズムを直接提供したほうがいいんじゃないかって話。タダ乗りがアレだったらレから金を取るか買ってしまえばいいし、買う場合もデータストアが同じだから比較的楽に統合できる。まあいろいろ問題はあるだろうけど、そういう流れないかな。

2012-03-22

Android SDK r17 で x86 版のエミュレータを動かす(Mac)

遅いので有名なAndroidエミュレータ。基本的にJavaのアプリのくせに、ARMのエミュレータで動かしているから、ストレスが溜まっている人やAndroid開発をやめてしまった人も多いだろう。そんな皆さんがついにストレスから解放される日が来た。新しいAndroid SDK r17では、ARMではなくWindowsやMacのネイティブでエミュレータを動かすことができるのだ。

ただし、導入手順が少し煩雑なので、解説しよう。基本的に以下の手順そのまま。今のところ2.3.3にしか対応していないらしい。

http://developer.android.com/guide/developing/devices/emulator.html#accel-vm

  1. Android SDK r17, ADT r17をインストール
  2. Android SDK Managerで、Android 2.3.3(現在)の「SDK Platform」,「Intel Atom x86 System Image」, Extrasの「Intel Hardware Accelerated Execution Manager」をインストール。
  3. SDKをインストールしたディレクトリの下のextras/intel/Hardware_Accelerated_Execution_Managerにある、「IntelHAXM.dmg」を開いて、中身をインストール。
  4. AVD ManagerでTargetを「Intel Atom x86〜」に設定してAVDを作る
  5. 実行時に指定して起動、速い!!!!!!
2012-02-10

政治と問題解決に関する覚書

正直最近の平行線ばかりをたどっている議論に飽きてきたので、個人的な問題意識の整理くらいはやっておく。貯めてある専門書を読む際のインデックスにする。(ここに書いた問題意識は全く新しくないし、全部割とどうでもいい)

投票と社会問題の解決

投票をする個人や集団は結局は自分の利益のことを考えるから、絶対的に解決できない問題は出てくるだろう。それを民主主義の改良で目指すのではなく、まずは解決できることとできないことを切り分ける必要がある。

政府と公共セクターの問題

EUは3年後にはフルボッコだろうが、EUが未来につながる研究開発などに、日本とは比べ物にならないほど適切な支援をしており、ニッチな研究分野でも人を集めて成果を出していたという事実は残る。では、財政の問題をクリアしながら良い支援を生み出すことはできるだろうか。

フリーライダーの問題を定義しなおす

情報が売られる時代になったのだから、同じ情報を有料で手に入れるのとタダで手に入れるのの2種類が現れるのは当たり前。あと、母数の問題からタダが多数を占めるのも当たり前。そこをDRMやSOPAなどの制御と罰則によるのではなく、別の切り口で問題化できないかという話。基本的に何かを売って儲ける人間は、顧客があるから儲かるので、顧客が利益を得れば得るほど儲ける人間も得をする。ここでいう顧客は有料で手に入れている人間なので、彼らに情報以外の手段で何かを与えることができれば、フリーライダーの問題も解決されるだろう。問題はそれをどうやるか。サポートとか誰も求めてないでしょ。

2012-01-06

Ubuntu で Objective-C の ARC を試す

何度目かのiOS開発がついに始まった。しかし、2ヶ月前まで「俺はもうiOS開発なんてしないだろう」と思っていたので、もらったMacBookを元の持ち主がiOS開発をするから返してくれると有難いと言われ、ホイホイ返却してしまった。

さて、最近のことだが、Objective-Cにすさまじい変化が訪れた。ARC(Automatic Reference Counting)だ。俺は元々、PythonPHPJavaなどのメモリ管理にルーズでも許される言語ばかりを使ってきたため、Objective-Cのretain, releaseにかなり悩まされてきた。前の開発では最後の方はだいぶわかってきたが、「なぜかここはreleaseを2回やるとうまくいく」みたいなものが多かったし、メモリリークは最後までなくならなかった。ARCはそれを勝手にやってくれるとのことで、非常にうれしい限り。ただ、これはまだまだノウハウがたまっていないらしく、癖などを把握する必要がある。

実は、Objective-Cを使うのに限れば、MacとXcodeは必ずしも必要ない。Xcodeで使われているコンパイラ「clang」はオープンソースで、誰でも使うことができる。もちろんARCも使える。ただし、Appleが提供しているフレームワークが使えないため、iPhoneのアプリは作れない、というわけだ。

ということで、今あるUbuntu 10.10の環境でARCを使ってみた。ARCに対応したclang 3.0はUbuntu 12.04で採用予定のため、apt-getでポンとはいかない。全てをビルドして動かすことにする。

1.llvm-clangのビルド

http://clang.llvm.org/get_started.html

のとおりにやる。最後にsudo make install。

途中のconfigureを../llvm/configure --enable-optimizedとするとリリース版がビルドされる。

さて、これだけではNSString, NSMutableArrayなどでいろいろ作ることができない、具体的には「詳解Objective-C 2.0 第3版」のサンプルを動かすことができないので、それらが入った「GNUStep」をインストールする。

2.GNUStepをclangでビルド

2.1.ソースをとってくる

svn co http://svn.gna.org/svn/gnustep/ gnustep

2.2. ビルドする

http://wiki.gnustep.org/index.php/Building_GNUstep_with_Clang

の4,5,6を行う。3はGCを使わないのでいらんと判断した。

2.2.4 gnustep-makeをインストールする

cd gnustep/modules/core/make

./configure CC=clang LD=gcc && make CC=clang LD=gcc

sudo make install

2.2.5 libobj2のインストール

cd ../../dev-libs/libobjc2/

make CC=clang LD=gcc CXX=clang++ messages=yes

sudo make install

2.2.6 coreのインストール(guiとかもあるが、使いたいのはFoundation Frameworkだけなのでだるい!)

cd ../../core/base/

./configure CC=clang CXX=clang++ LD=gcc && make CC=clang LD=gcc CXX=clang++ messages=yes

おっと、こりゃダメだ!

http://www.gnustep.org/resources/documentation/User/GNUstep/gnustep-howto_2.html#SEC2

のライブラリが足りてないと動かないぞ!

自分はffiが足りなかったので、適当にaptで入れた(本当はffcallってのをビルドする必要があるらしい) 

再度試したら成功。

sudo su

 . /usr/local/share/GNUstep/Makefiles/GNUstep.sh(パスがページのものと違っている)

make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install

3.いろいろ試す

http://www.moonmile.net/blog/archives/2252

のテスト用ファイルをコンパイルしてみる。

http://wiki.gnustep.org/index.php/ObjC2_FAQ

http://qanda.rakuten.ne.jp/qa6407252.html

などを参考にいろいろ追加して、このオプションで動いた。

clang -lobjc -lgnustep-base -fobjc-nonfragile-abi -fconstant-string-class=NSConstantString test.m

4.ARCに挑戦

いよいよARCを試すときが来た。

clang -lobjc -lgnustep-base -fobjc-arc -fobjc-nonfragile-abi -fconstant-string-class=NSConstantString test.m

としてARCを有効にすると、「deallocするな」「releaseするな」などとなかなか好感触。

deallocやreleaseを抜いて、autoreleasepoolを新しい形式にして再コンパイルすると、ARCへの一歩を踏み出せたようだ。

2011-12-06

Make: Tokyo Meeting 07 で iModela で作った試作品を展示しました

f:id:kybernetes:20111203145953j:image

f:id:kybernetes:20111206083228j:image

12/3, 4 に催された Make: Tokyo Meeting 07 で、先日先行予約をして購入した iModela で作ってみたものを展示しました。申し込みの際にまだ届いてもいないiModelaを推していたので、CNC(コンピュータ制御工作機械)や3Dプリンタの島に配置されました。

プレゼンもやりました。スライドはこちら。

iModelaを購入したのは、ファンシーショップ憧れです。かわいいグッズをたくさん作って配ったり売ったりするとおもしろいのではと思っています。あと建築模型もおもしろそうです。基本的に作業はできるだけコンピュータ上で行いたくて、3Dモデリングや形態形成のシミュレーションなどをちょこちょこ勉強しています。
基本的に切削作業は以下の手順でやります。
  1. モデルデータを用意。2.5D(2Dの図形に深さを加えたもの)ならiModela Creatorを使う。Illustrator8形式がインポートできるが、持っていない場合はsvg->Uniconverterでaiに変換すれば大体読み込める。3DならDXF。あとで適当に縮尺を変えられるので楽
  2. パス(どう機械を動かして切削していくか)を出す。出したパスはVirtual Modela(iModelaの動きをシミュレートしてくれるソフト。大体の切削時間(じっさいは体感で2割増し)も出してくれる)で確認できる
  3. 素材とドリルをセット
  4. iModela Controllerで位置合わせ。ドリルが素材に接触している場所を原点にする
  5. 切削。途中でドリルの交換もする。
  6. 取り出す
  7. 掃除
業務用で当然だった切削加工機なのもあり、フィジカルな側面でいろいろ失敗することがあるので、ネット/デジタル方面からきて切削加工などまったくわからない、という方がつまづきやすいポイントをまとめておきます。
  • 素材やドリルの固定が甘い:基本的に素材は両面テープで固定して、ドリルはイモネジ(というらしい。回す部分も同じ径の小さなネジ。なくしやすいので東急ハンズで購入したが、3.0mmのを買うといいらしい)で固定するのですが、素材の固定が甘いとツルツルすべって全然削れなかったり、ドリルの固定が甘いと吹っ飛んだり変な場所が削れたり、最悪火がついたりします。
  • そもそもドリルで削るのがよくわからない:エンドミルだったりドリルだったりいろいろな呼び名がありますが、種類が全然わかりません。あと、ドリルの径によって同じモデルでも彫れる結果がかなり変わってきます。
  • 削りかすに困る:小さい領域でもかなりの削りかすが出ます。紙を下に敷いて一気に集める方法でやっています。しかし、それでも積ん読の本にうっすらと削りかすが乗ってしまっていたので、専用のボックスを用意する計画です。
  • 音がうるさい:最初は眠れませんでしたが慣れれば眠れます。毛布やコートをかけて軽減していた時期もありますが、カーペットが燃えたことがあったのでやめました。外に漏れる可能性としては、ドアを閉めると隣の部屋からはまったく気づかない程度、猫が起きる程度です。
ということで、iModela、癖がありますがかなりおもしろいのでおすすめです。