Hatena::ブログ(Diary)

Hacking My Way 〜 itogのhack日記 RSSフィード Twitter

2016-08-23

べゼリーが家にやってきた!

f:id:itog:20160812234950j:image:w360

巷で話題の可愛い小型ロボットべゼリーをMaker Faire Tokyoでゲットしてきたのでさっそく組み立ててみた。

こんなケースに外装品とStduino等の電子部品など一式が入っている。

f:id:itog:20160812225128j:image:w360

パーツはこんな感じ。結構部品点数が多い。

カードサイズの組み立て説明書を一枚一枚めくっていきながら組み立てる。

f:id:itog:20160812232032j:image:w360

一部パーツはランナーでつながっているのでニッパーで切り取る。

3Dプリンタ出力ならランナーはいらないはずなんだけど、なんか事情があったんだろう。

f:id:itog:20160812231355j:image:w360

すごいなーと思ったのは、なんとStuduinoにファームが書き込み済みってこと。

組み立てて電源入れたらはい、動きました!

D

かわいいね!

上海問屋で売ってます。

https://www.donya.jp/item/73739.html

2016-08-01

"FABOOL Laser Mini"が届いたのでさっそく使ってみた

f:id:itog:20160801114000j:image

クラウドファンディングで支援していた小型組み立て式レーザー加工機「FABOOL Laser Mini」が届いたので早速使ってみた。

組み立て

f:id:itog:20160801130145j:image

組み立てマニュアルはこちら。

http://www.smartdiys.com/manual/fabool-laser-mini/

基本的にマニュアルには十分な情報が書かれている。

f:id:itog:20160801131657j:image

ただ、各工程が丁寧に説明されている分全体が見えづらいので、全体像を確認しながらやると良い。

2人以上で組み立てる場合、並列してできる作業はあまりなく、独立してできるのはPCBケースに基板やファンを取り付けるくらい。レーザー基板は事前にPCBケースに取り付けできるが、制御基板はPCBケースを本体に取り付けた後にしか取り付け出来ない。そのため、PCBケースの取り付け位置は取り付け時にしっかりと中心に置く必要がある。

f:id:itog:20160801151159j:image

基板の実装はちょっと雑w


アプリ

アプリはWebアプリ。

https://fabool.smartdiys.com/

機能はかなりシンプルだが、その分初心者にもわかりやすい。出力設定は、レーザー出力が弱いので基本出力は最大のまま、スピードを変えることになると思われる。

PCがスリープに入ってしまうと止まってしまって復帰できないようなので、出力中はスリープに入らないような設定にしておく。

f:id:itog:20160801174702j:image

出力結果

早速手元にあった100均木材に出力してみる。

3000mm/minだとだいぶ薄い。

f:id:itog:20160801181246j:image

500mm/minにしてみると色は出る(何度かスリープにしてしまったため段ができてしまってる)

f:id:itog:20160801214029j:image

細かく見るとが見えてしまうので、もう少し遅くしたほうが良さげ。

f:id:itog:20160801214059j:image


サイズも出力も手軽に使うにはちょうどいい感じ。念のためカバーは作っておきたい。

電源はブチッと切るしか方法ないのかな?

クラウドファンディングで台数で過ぎた感があり、これは出荷遅れは免れないだろうな、、、と思っていたのをきっちり出してくるのは素晴らしいね!

2016-06-13

プロジェクト掛け持ちするときの考え方

プロジェクト掛け持ちだとうまくいかない、みたいなブログを見かけたんだけど、ちょうどそういう人たちに向けて発信したいなーと思ってたのでいい機会ってことで。

自分自身の経験から言うと仕事は掛け持ちした方がより成果を出せていると思う。

ただし、それは最初からそうだったわけではなく、いくつかの仕事をする中でうまくい方法を試行錯誤した結果なので、参考にしてもらえれば。

待ち時間をなくすような時間配分をする

たとえば実働週2日で、という風に仕事を受けた場合、ざっくり半日*4で作業に使うのはうち3コマにして残り1コマ分は細かいタスクとかやる。

急ぎのタスクだと言われても急いでやったら他が遅れて待ち時間が発生なんてときに2日フル稼働とかって時間取っちゃってたりするとロスになる。依存タスクを見極めて環境が揃ってる状態で集中して作業して短い時間でちゃんとアウトプットを残そう。

エンジニアリング面での汎用知識を身につけ、広める

プロジェクト特有の知識は覚えるしかないが、その他を標準化することで切り替えコストをなくす。

一番わかり易いのがプログラマーならgit/github flow.

導入してないプロジェクトであればまずは導入する。導入されていたとしてもうまく運用されていない場合は運用ルールを教える。もちろんこれも仕事として。

複数プロジェクトにいると、いろんなツールや運用を試したり出来るのでそれぞれいいところ、悪いところがわかってノウハウが溜まっていく。そうすると次別のプロジェクトに入る時も事前にどういう状況かだいたいわかって、新規プロジェクトにジョインした直後でも結果出せる。

趣味でもやりたいことを仕事として請ける

今は次々に新しいモノやテクノロジーがリリースされてて、趣味でやってるとなかなか追いつけないし、趣味だと自分のお金や時間を消費してしまうし、なかなか世の中に出せるような成果には繋がりにくい。

それを仕事でやると、なんと人から感謝された上にお金までもらえちゃう。エンジニア冥利につきるとは、まさにこの事なんじゃないだろうか。

エンジニアとしては興味のある技術にキャッチアップ出来ないというのはとてもストレスになるので、お客さんに必要とされているというのは前提になるけど、自分にとっても興味があって新しい領域に触れられる仕事を選ぼう。

能力よりも大事な仕事力

こういうことを言うと、それは特殊能力があるから出来るんだと思われるかもしれない。

でもそうじゃない。

人間の能力というのは一朝一夕で変わるものじゃない。今の自分に出来る範囲で、最大限プロジェクトの成功に貢献していくしかない。

自分がバリバリコード書いてサービスが動いたら「俺がつくった」って言えてそれはそれでもちろん嬉しいんだけど、それよりもプロジェクト全体の成果に繋がるようにちまちまドキュメント作ったり、曖昧なタスクを実行可能な単位に分割したり、必要があれば自分自身の成果には直接つながらないことでも率先してやる。

大切なのはこうした仕事への取り組み方であって、特殊能力を持っていることじゃない。一部の天才は最初から圧倒的な能力を持ってるのかも知れないけど、ほとんどの人にとっては能力というのは真摯に取り組んだ結果のご褒美として後からついてくるもの。


そんな地味な仕事でも、効率良くして組み合わせると、魔法のように見えることもあるんだよね。


※ウチでこんな働き方を一緒にしてくれる方を随時募集中ですw

2016-03-16

人工知能で画像合成させる「ostagram」実行環境の作り方

f:id:itog:20160316110340j:image

何かと話題な人口知能。

中でもニューラルネットワークを使って2枚の画像を合成する「ostagram」というプロジェクトが話題になっている。

https://www.facebook.com/ostagram/

冒頭の画像のように、画像に別の画像のスタイルを適用することによって、ゴッホっぽい、エッシャーっぽい、ムンクっぽいなどの画像生成することが出来る。

で、作例は #ostagram あたりをキーワードにググってもらうとして、以下Macで試す手順。

CUDA対応してるマシンがあると速いけど、なくてもOK。

neural-style

以下が、この画像生成を実現するプロジェクト。

https://github.com/jcjohnson/neural-style

事前準備としてTorch7,loadcaffeが必要で、CUDAはあったほうが良い。

Torch7のイインストール

http://torch.ch/

Getting Started (http://torch.ch/docs/getting-started.html)を参照してTorch7をインストール

git clone https://github.com/torch/distro.git --recursive
cd torch
install-deps
./install.sh
loadcaffeのインストール

https://github.com/szagoruyko/loadcaffe

brew install protobuf
luarocks install loadcaffe
CUDAのインストール

以下からインストーラーをDLして実行。

https://developer.nvidia.com/cuda-downloads

※環境がなかったので今回はスルー

neural-styleの実行

いよいよneural-styleのインストールと実行

  • インストール
git clone git@github.com:jcjohnson/neural-style.git
cd neural-style
sh models/download_models.sh
  • 実行
th neural_style.lua -style_image <image.jpg> -content_image <image.jpg>

CUDA環境がない場合は"-gpu -1" オプションつけてCPUで実行。600*400くらいの画像で2hかからないくらいだった。

デフォルトで合成の程度が違う10枚が出力される。

とりまやってみた、ラッセンっぽいペンギン。

f:id:itog:20160316112502p:image

作例はネット上にいくらでもあるけど、自分でやってみるとそのクオリティに改めて驚かされる。

リソース使いまくって囲碁で勝つのもすごいけど、庶民のローカルマシンでもこうして恩恵に預かれるのがすごい。

これまで単純作業はいずれコンピュータに置き換わり、クリエイティブな作業は人間がやる、というのが定説のように言われていたが、クリエイティブの世界のほうが先にコンピュータに置き換わるかもしれないなー。

2016-03-09

Google I/O Extendedを開催するには

この資料Google I/O 2016 Extended - Organizer guide - PUBLISHED - Google スライドのダイジェスト翻訳です。

Google I/O Extendedとは

概要

シリコン・バレーで開催されるGoogle社の技術者向けイベント「Google I/O」のパプリックビューイングを行うイベント。HackathonやCodeLabなどを併催することもある。

  • 誰が開催できるの? → 誰でもOK.
  • リアルタイムで開催しないとダメ? → いつでもOK.ライブストリーミングを見ても、録画を見るのでもOK.
  • IO Extendedのアジェンダは誰が決めるの? → イベントのホストが決めてOK.
  • 優秀な開発者に発表の機会を用意したり、HackathonとかCodeLabもやると良いと思うよ。
  • I/O Extendedの公開イベントはGoogle I/Oのウェブサイトで公開されるよ。
  • イベント中の写真シェアしてね

イベントを開催するには

ロジスティクス
  • 開催場所を選びましょう。アクセスいいところが良いです。
  • インターネットコネクション大事!ライブストリーミングがちゃんと見れるか確認してね。
  • 開催時間が長いので食べ物用意しましょう。用意できない場合は近くに買いに行けるところがある場所を選びましょう
  • Tシャツなどの参加者プレゼントがあるといいです
アジェンダを考える

良いアジェンダ

ライブストリーミング
  • ライブストリーミングどこ?

Google I/O home page (https://events.google.com/io2016/)

ライブ外リーミングを配信する場合は https://support.google.com/youtube/answer/2853702

準備
  • サウンドシステムとかなくてもlaptopとポータブルスピーカーでOK.

step by step

  1. laptopがスリープしないようにする
  2. 音声がみんなに聞こえる事を確認
  3. ストリーミングの遅延確認。有線接続しよう。
  4. Google I/O homepageを開く
  5. 解像度を選択して、フルスクリーンにする。解像度はAutoでOK.
  6. Google Cast(http://www.google.com/cast/) 使うのもいいね
参加者登録
  • 参加者登録はなる早で。人数予測大事。
  • 登録情報は開催者にお任せ。
  • 名前とemailアドレス
  • どのGoogleプロダクトに興味があるか
  • 開発者のレベル(ハッカソンとかやる場合)
  • 食べ物の制限
Googleからのサポート

開催者がやること

  • 公開参加登録ページを作成
  • I/Oのウェブに登録
  • I/O 2016 Extended OrgazinerのG+コミュニティ(https://plus.google.com/communities/115868578067134472113)に参加
  • 質問は io16extended@google.com へ 開催場所がGoogleオフィスの場合はケースバイケースで

イベント・プロモーション

ブランディング
マーケティングチャネル
  • 参加登録ページを先に作ること
  • I/O Websiteのフォーム(https://events.google.com/io2016/form)で登録する
  • SNS(G+, Twitter, Meetup.com, etc ← FB入ってないw)ハッシュタグは #io16extended
  • MLやコミュニティイベント
  • フライヤー、バナー、検索広告
PR
  • 地域のメディアにプレスリリース送る。このイベントがすげーEPICだって言う。
  • 地域のTech blogとパートナー組む
イベント・プロモーション(事前)

宣伝しましょうね、ってこれまで内容と同じ

イベント・プロモーション(イベント中)
イベント・プロモーション(イベント後)

イベントのハイライトをポストしたりハッカソンの優勝者を表彰したり

Resources

リンク集- (https://docs.google.com/presentation/d/1xnPwOFSGz6L2OMzRsW8RtFarEKTDIdf4s-RdvoNcBVU/edit#slide=id.g57a8513c1_0194)

写真がFab蔵! (https://docs.google.com/presentation/d/1xnPwOFSGz6L2OMzRsW8RtFarEKTDIdf4s-RdvoNcBVU/edit#slide=id.g5cf65e859_00)

あわせて読みたいブログパーツ テクノラティのお気に入りに追加する