2012年の反省と2013年の抱負など
なんだか、日記と銘打ってるブログのくせに、全く更新されてないな^^;
久しぶりなのでまずは、改めて自分のことを話したいと思います。
ぼくは、自分より優れている人以外を相手にしない傾向があります。
10数年システム開発をしていて、エンジニアとして本当に尊敬できる人なんて
数人しか巡り会えていないと本気で思っているし、
それは会社の経営という面についても同様の判断をしてしまう傾向があります。
ぼくを評価できない人はぼくを評価するだけの力量がないと考えるし、
逆にぼくのことを利用するためだけに近寄ってくる人も多いと思ってしまいます。
今まで色々な事にチャレンジして来たけれど、その全てをある程度の期間で
そこそここなして来てしまっていました。
あぁいやなやつ。
いつからこんな性格なんだろうと思い返してみて、まぁだぶん、子どもの頃からそうだったし
社会に出てからさらに悪い方向に進んでいるような気がする。
さておき、なぜ今日このブログを更新しようと思ったか。
それは、最近少し変わってきたから、そのことを自分にも言い聞かせるためです。
変わって来たのは私ではなく、周りの人達。
こんなぼくにもついて来てくれる人が少しながらいること。
協力してくれる人がいること。
相談に乗ってくれる人がいること。
窘めてくれる人がいること。
少し前までは、全てを自分でやっていたし、出来ていたし、助けて欲しいとも思わなかった。
月並みかもしれませんが、多くの人に支えられて自分は成り立っているという事実を知ったことと
そのありがた味を肌で感じたこと、それが2012年のぼくの成果かもしれません。
今のぼくがあるのは、生んでくれた両親から始まって様々な人達との関わりを経て、
今年2012年に会社を作ったことも大きく影響しています。
会社を作って仕事をすると、プロジェクトの実行も行うし、プロジェクトメンバー集めもやる。
一緒に業務を進めていくとこで連帯感も生まれる。
折角関わりを持ってくれた人達に、少しでも恩返しをしたい。
金銭関わらず、講演会講師を引き受けてくれる人や情報を提供してくれる人、
業務に巻き込んでくれる人など世の中にはそういう人達がいる。
2013年には、できたら、できるだけ、少しずつでも
そんな人達に恩返しをしたい。
なにが恩返しになるのか、とにかく一生懸命頑張ること、
なんてそれこそ有りがちな答えに行き着きそうですが。
とにかく、関わった人全てから「はしもとおさむ 蕩れ」と言われるように頑張ります。
新会社 ネビラボを設立しました!
ふと気がつくと2年ぶりのブログ更新になってますね^^;
さておき、今年2012年4月に新しく会社を立ち上げました。
会社名は、株式会社ネビラボです。
メンバーとしてはシステム開発を十数年やってきたメンバーが集まっているので、
いわゆるシステム系の開発会社になると思います。
その中でも特に、私自身の得意分野に特化して、
データ分析、データマイニングを専門的に行う会社にしていきます。
「ネビラボ」という社名には、二つの意味を込めています。
- ネビラ => Nebula => 星雲
地上があって空があって雲があって、宇宙があって。
その宇宙に浮かぶ雲のように突き抜けて行きたい。
そんな思いを込めています。
- ラボ => lab
開発だけを行うのではなく、研究的な要素や実験的な取り組みも実施し、
世の中に貢献できるような会社にして行きます。
設立のコアメンバーは、以前から一緒にやっているエンジニア。
さらに9月からは昔の上司も加わって体制も強化しました。
元々設立の際の思いとして、それまで受託開発やSI事業をやってきて、
その悪い所を良く知っています。
それはメンバー全員がかなり酷い職場も経験していますし、
システム業界の悪癖も熟知していると言えると思います。
これまでやってきたことはベースとして活かしながら、
でも同じことはしたくない。
どうせやるならお客さんも幸せにしたいし、自分たちも幸せになりたい。
そのための会社として設立しました。
なので、たぶん今までのような人出しのビジネスはしませんし、
単なる受託開発というのも行わないでしょう。(たぶん^^;)
これからは、お客さんに真にためになるシステム開発と、
さらに直接社会のためになるシステム開発を目指して行きたいと思っています。
皆さんのご指導ご鞭撻のほど、よろしくお願い致します!!
http://nebulab.co.jp/
Android Hackathon in Fukuokaに参加してみた
Android Hackathon in Fukuokaへの参加記録
土曜日の朝10:00〜20:00の10時間。
初めての参加だったが、違和感なく受け入れてもらえ、
おかげでとても楽しい時間を過ごす事ができた。
スタート
10:30〜11:00
始めに自己紹介
トータル15名くらいだったかな
何を作るか
参加者全員から意見を募って、今日で何を作るか決める
ホワイトボードに意見をホワイトボードに書いて行く
グループ分け
自分のやりたい物を選択し、4つのグループに分かれる
グループ毎にテーブルにつく
実践
それぞれのテーブルで検討&実装開始
私の入ったグループは3人
私以外はandroid経験者
まずは、アプリの概要を決める
グラフ表示用のライブラリを作るつもりだったが、
既にあるライブラリが思ったより優秀という事がわかった
方針転換して、ライブラリを活用してTweitter TLを解析して
表示するアプリを作成する事にした
私は初心者と言う事で、一番簡単なトップ画面
後は画面からをデータを格納するContentsProvidorまで、
データを格納してライブラリへ送るまでと分けて実装
おわり
最後に全チームで成果発表
Bluetoothを使ったじゃんけんゲーム作成チーム、
AR APIを使ったアプリ作成チーム
電飾ボードへの組み込みアプリ作成チーム
と我々のチーム
それぞれに面白そうなアプリを作っていた
感想
みんなでわいわい作成しながら作るのは、
例えば、分からない所は隣に聞けば良いし、
どういうコーディングをしているかを知れるし、
時間制限があるので緊張感もあるしと
とても楽しめる会だった
今後も参加して行きたいし、android自体への興味がとてもました
参考URL
[AHF]Android Hackathon in Fukuoka vol.2 : ATND
https://docs.google.com/document/edit?id=15JGOsE9rhFEIA-lhC6eoRkhs4j0hL0MYP8rqX_gCEfE&hl=ja&pli=1#
Google Code Archive - Long-term storage for Google Code Project Hosting.
Android Developers
八角研究所 : Android
http://yakinikunotare.boo.jp/orebase/index.php?Android%A1%CA%B3%AB%C8%AF%A1%CB%2F%A4%C1%A4%E7%A4%C3%A4%C8%A4%B7%A4%BF%C0%DF%C4%EA%A4%CE%B1%CA%C2%B3%B2%BD
http://ascii.jp/elem/000/000/546/546427/index-2.html
入力された値を取得 - EditTextクラス - Androidプログラミング入門 | JavaDrive
Ubuntu10.04のNetBeans文字化け解消
Ubuntu10.04にNetBeansをインストールしたら、
一部日本語が四角(□)に文字化けしてしてた。
良く知られた問題らしく、Ubuntuのフォーラムにも解決方法が載っている。
フォントの場所なんかが微妙に違うので、メモ的に残しておく。
JVMのフォント ディレクトリにTTフォントを置く
今回はTakeoフォントを使ってみた。
IPAフォントのコミュニティ版。
Takao Fonts in Launchpad
以下のコマンドを実行。
# cd /usr/lib/jvm/java-6-sun/jre/lib/fonts # sudo mkdir fallback # cd fallback # sudo cp /usr/share/fonts/truetype/takao/Takao* .
※最後の「.」注意
これで、文字化けが解消された。
Javaの.classをdecompileしてみる
Javaのサンプルプログラムなどを試していると、
中のプログラムがどうなっているか気になる時がある。
WindowsだとJadなんかを使うんだけどUbuntuだと使えない。(たぶん)
何かないかなぁと探していたら、Java Decompilerなるものに行き着いた。
http://java.decompiler.free.fr/
Eclipseのpluginもあるので、こちらをインストール
http://java.decompiler.free.fr/jd-eclipse/update
メニューの「ヘルプ」→「新規ソフトウェアのインストール」
あとはclassファイルを開くとソースコードにしてくれる。
ソフトウェアライセンスに気をつけさえすれば、
非常に簡単便利なツール
Hadoop開発準備のためのEclipseインストール
前回までで、Hadoopの実行環境の準備ができました。
・第一回:Ubuntu10.04でHadoop環境構築(疑似分散編)
・第二回:HadoopのHDFS確認とサンプルプログラムの実行
・第三回:Pigのインストール
これからいよいよMapReduceを記述して行くのですが、
そのための開発環境を作成していきます。
一番慣れているのでEclipseの設定を行いますが、
もちろんTextEditorでプログラム作成してantでbuildでも問題ありません。
Eclipseのインストール
Eclipseの日本語化
Pleiades:http://sourceforge.jp/projects/mergedoc/releases/
上記サイトからD/Lし、適当な場所に解凍しておく
解凍したディレクトリに移動し、以下のコマンド実行
# cp -R features/* /usr/lib/eclipse/features/ # cp -R plugins/* /usr/lib/eclipse/plugins/
/usr/lib/eclipse/eclipse.ini ファイルの修正
-javaagent:/usr/lib/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
の追記
#-showsplash #org.eclipse.platform
上記二行をコメントアウト
$ eclipse -clean
これで無事日本語化
Eclipseのpluginsを追加
追加するpluginは以下
- svn:subversive
- hadoop plugin
subversiveのインストールは過去のエントリを参考
hadoop pluginは以下のディレクトリのものを使用
Cloudera’s Distributionには入ってないので、hadoopプロジェクト配布のパッケージから展開
hadoop-0.20.2/contrib/eclipse-plugin
これをplugins配下にコピーした後、Eclipse再起動
$ eclipse -clean
これでpluginが認識され、MapReduceなどのメニューが追加される
Hadoopインストールディレクトリの指定
以上でMapReduce作成とデバッグ環境が揃いました。
実際にデバッグするにはもう少し設定などが必要になります。
次回は、実際にこの環境を使って実装していきます。
私は、Hadoop本と呼ばれるHadoopやってるエンジニア必携の本を食い入るように読み、勉強しました。
このブログを読んで頂いている方から、どのように「習得したら良いか?」と聞かれた時には
この本をお薦めしています。
Hadoop本
この記事を書いた当時には出ていませんでしたが、非常に分かりやすい入門書も出ています。
Hadoop徹底入門
※
Ubuntuのアップデート・マネージャでEclipseのアップデートを行うのはさけた方が良いようです。
自動アップデートしたためにEclipseのpluginが読み込まれなくなる現象に見舞われました。
eclipse -clean やConfiglationsを削除しても解決せず、
再作成した方が早いと判断してEclipseの再インストールしました。
解決方法をご存知の方、良かったら情報教えてください。
Pigのインストール
勝手にHadoop環境構築シリーズ、今回はPigのインストールです。
・第一回:Ubuntu10.04でHadoop環境構築(疑似分散編)
・第二回:HadoopのHDFS確認とサンプルプログラムの実行
PigとはHadoopファミリーの一つで、Map-Reduceを生成するコンパイラと
Pig Latinと呼ばれるテキストベースの言語のセットです。
プログラミングを簡単にする、コードの最適化、
ユーザー独自関数による高い拡張性などの特徴があります。
例えば、以下のような特徴を備えています。
・10LinesのPig Latinは200LinesのJavaコードに相当する
・Javaで書くと4時間かかるけど、Pig Latinだと15分で書ける
・join、group、filter、sortの一般的なオペレーションが記述可能
(JavaのMapReduceで記述するのはちょっと面倒)
※Clouderaのチュートリアルサイトより引用
前提条件
前回からの流れでUbuntuを前提にしています。
Pigは自動的にActiveなHadoop構成を使用します。
事前にHadoop環境を構築しておいてください。
参考サイト:第一回:Ubuntu10.04でHadoop環境構築(疑似分散編)
構築するモードは、standaloneでも疑似分散でも完全分散でも良いようです。
Pigのインストール
インストール自体は簡単
以下のコマンドをroot権限で実行
# apt-get -y install hadoop-pig
export JAVA_HOME=/usr/lib/jvm/java-6-sun/
Pig起動の確認
$ pig 2010-06-02 22:37:45,842 [main] INFO org.apache.pig.Main - Logging error messages to: /home/ubuntu/pig_1275485865841.log 2010-06-02 22:37:46,209 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://localhost:8020 2010-06-02 22:37:46,506 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to map-reduce job tracker at: localhost:8021 grunt>
起動に意外と時間がかかる時がある
2〜3分程度
grunt shellでHDFSの確認
grunt> ls hdfs://localhost/user/root/input <dir>
Pigでサンプルの「grep」と同じ動作を実行
grunt> A = LOAD 'input'; grunt> B = FILTER A BY $0 MATCHES '.*dfs[a-z.]+.*'; grunt> DUMP B; (結果) 2010-06-02 22:45:22,662 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size before optimization: 1 2010-06-02 22:45:22,662 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size after optimization: 1 2010-06-02 22:45:23,488 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - Setting up single store job (中略) 2010-06-02 22:45:59,941 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Successfully stored result in: "hdfs://localhost/tmp/temp999939448/tmp-1040540214" 2010-06-02 22:45:59,959 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Records written : 4 2010-06-02 22:45:59,959 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Bytes written : 223 2010-06-02 22:45:59,959 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Success! ( dfsadmin and mradmin commands to refresh the security policy in-effect. ) ( <name>dfs.replication</name>) ( <name>dfs.permissions</name>) ( <name>dfs.name.dir</name>)
結果が、「stored result in」に出ているので確認
ブラウザで確認できる
ファイルを見ると、6つ作成されているのが分かる
Mapが6個動いて、まとめのReduceが動いていない(存在しない)
このMapReduceの動作もブラウザで確認できる