「 2009年08月 」一覧

好きで働いてる人はそんなに多くないんじゃ?ただ生きていくためかと。

働く気のない奴に「働きなよ」って言うのは駄目なの? (追記あり): 切込隊長BLOG(ブログ) Lead‐off man’s Blog

個人的にはけっこう賛同なんだけど、今のご時世だとこういう事を言うと叩かれる風潮だもんなぁ。

私だって勝ち組では決してないし、ITブラック企業って言われるところでヒーヒー言いながらもう10年も働いているけど、頑張ったところが少しでも評価されて、自分のスキルがレベルは別にしろ頼られてると思ってるからそこまで労働という物に嫌悪感は無い。

まぁデスマやったりすると逃げたいとか会社行きたくないとか辞めたいとか思うけど、私も生きて、生活して、食べていくためには何か働いて収入を得るしかないし。別に仕事がすごく好きでやってるわけでもないけど、ただ仕事するからには何か楽しみとかやりがいは見つけたいとはいつも思ってる。

こういう話しをすると「精神的に病んでしまった人に鞭打つのか」って反応を見かけるけど、隊長だって

何らかの事情があって働きたくても働けない人らや、働くために求人に応じる努力はしてもなかなか働き口が見つからない人らは仕方ないんだろうけどさ。

ってわざわざ言及してるし、私だって身の回りに鬱や精神的に潰れてしまった人を見てきたから、そこまで非道い考えは持ってない。そういう人はケアしないといけない。

でも、「国が悪い」「企業が悪い」「制度が悪い」っていう意見を見てると、じゃあどうすれば良いのよ現実として、って思わないでもない。現実として今日、明日、1ヶ月、1年って生きていかないといけないわけだし。

世の中ブラック企業ばっかりだから嫌だって言うなら、どこにも属さずに自営業でもいいんじゃないのって暴言っぽいことも言いたくもなる。

本当に働けない事情がある人は別だけど、いろいろ理由付けて「働きたくないけど生活できる金くれ」って言ってる人がそれなりにいるのかなぁと。

日本が中東のどこかの産油国みたいに、税金も無くほとんど遊んでてもお金に困らないようなところだったら良かったんだろうけど、生憎違うしねぇ…。


スムーズさが増した? HTC Heroの新ROMデモムービー

HTC Hero new ROM gets video demo – SlashGear

HTC Heroの新しいファームウェアでの操作デモムービー。動作パフォーマンスが向上しているらしい。

ホーム画面からメニューが表示されるところ、横フリックでシートを左右に切り替えるところなど非常にスムースに動いてる。

メニューの中にJavaアイコンがあるんだけど、あれは何だろう?

Android標準の待ち受けではなくて、HTCカスタマイズの待ち受けでスムーズ動作か…。しかし良く作り込んであるな、この待ち受け。国内メーカーもAndroid携帯を出すときはこれくらいのカスタマイズしないと見劣りするんじゃないのかな。


手を動かした人が先を行く

@nifty:デイリーポータルZ:光の残像で文字書きますマシン、完成

毎日見ているデイリーポータルZ。

いやはや、3ヶ月前の記事ではArduinoまで投入しながら、実際はほとんど勘で回路を作っていた石川さんがこんなのをきちんと作れるようになっていたとは。

きっといろいろ試行錯誤したんだろうね…。

基板もきれいに作ってるし、上達ぶりに脱帽。私なんて何年も回路作れるようになりたいなぁなんて思うばっかりで手を動かせてないから素人のままだし。なんか負けた感じがするわ、っていうかやっぱりこういうのにしろプログラミングとかにしろ、手を動かした人が勝つよな。

あと、はてブコメ見てると、このLEDを振って文字を出すやつを知らない人が多いみたいね。特許取れるだの、おもちゃメーカーに売り込めるだの。記事中にも「電子工作の定番」って書いてあるのに。


福岡にマルツパーツ館がオープン

マルツパーツ館 博多千代店

Twitter経由で知った。

今や福岡の電子部品はカホ無線か、ハムジンしか無く、カホも今の場所に縮小移転してからは正直なところいつまで持つのやら…という心配をしていたのだけど、マルツが進出してくれたので電子部品の調達は少し安泰かもしれないね。

急ぎでなければ秋月なり共立電子*1なりの通販、という手もあるのだけど、コネクタ一つとかそういうのをすぐに手に入れたいってときに実店舗があると便利。

せっかくなので、いま流行のArduinoとかGainerとかAVRとか扱ってくれてるといいけどなぁ。

今度暇があれば行ってみよう…。

  • *1: 共立は普通郵便でも送ってくれるので小口でも買いやすいけど

30年以上現役の子供向け”宇宙”の本

天神の丸善、子供向け本のコーナーに宇宙関係を特集している棚があるのだけど、そこでふと見かけたのが「宇宙」という大きな本。

宇宙―そのひろがりをしろう (かがくのほん)
宇宙―そのひろがりをしろう (かがくのほん)
福音館書店 1978-01
売り上げランキング : 6131

おすすめ平均 star
starこの絵本にかけた思い
star子どもの想像力を限りなく刺激する最高の絵本
star男の子の夢をつくる一冊

Amazonで詳しく見る by G-Tools

これ、私が幼稚園の頃くらいから家にあったものと同じで驚いた。装丁も中身も変わらず、未だ現役で売られているってことに。

小さいころ、よく読んでたと思う。覚えているのは、弾丸や砲弾、そしてロケットがどれくらいの飛距離があるかっていうのを絵で比較したページ、最後のページだったと思うけど、銀河だったか星雲だったかの美しい渦を巻いた挿絵…。

小さいころから好奇心旺盛だった私には、とっても面白かったに違いない。

いまAmazonで見てみると、出版は1976年。私が生まれる一年前1978年、私が1歳の時。

内容は今と当時では科学的な認識が変わってしまったところもあると思うけど、絵が綺麗で、そして丁寧に作られていて、今でも十分通用する本なんだろうなとこの年齢になって思う。


夏休み終了

4日間なのでこんなものかな。

天気のせいもあって、外出したのは1日だけ、あとはけっこう引きこもり。

独り身だし、そんなにリア充でも無いのであんまり長い休みをもらっても疲れるかなーという気もする。旅行したとしても4〜5日が体力の限界だね…。

またこれから年末まではかなりデスマっぽくなりそうだし、体調だけは崩さないようにしないと。


厄介なリーダーのパターンと、技術音痴型の悩み

こんなリーダーでは戦えない – Basic

なんかどの型のリーダーも見たことあるな…。

そういう上司から逃げ出せれば良いけど、そうも行かない場合にどうするか。

社内調整型

これはたぶん技術音痴型とも関係するように思う。技術が分からないから技術的な交渉ができずにYesマンになってしまうとか…。

部下が進言できる余地があるようなら、打ち合わせのシナリオを事前に細かく吹き込んで芝居よろしく振る舞ってもらうしかない。カンペを持たせても良いかも。なるべく「よく分からないから押し切られた」という事態を避ける。

我が強くて話を聞いてもらえない上司なら無理かな。最悪、自分も打ち合わせなどに同席できるようにネゴるくらいか。

技術音痴型

社内とかの技術のスペシャリストが別に存在すればその人から言ってもらうのが吉。なるべく技術力が社内でも名の通ってる人もしくは役の上の人に少しだけ絡んでもらう。

もしくはいっそのこと、勝手に開発者が決めたやり方で突っ走ってしまう。できれば上司が口を出してくる前に始めてしまって既成事実を作るのが良いかも。「もうこのやり方で走り始めてますので」という具合。

独裁者型

一番手強い。というか言ってどうこうなる人では無いことがほとんど。

まぁやるとしたら、普段は敵視せずに軽口言えるくらいまでの関係になれば、「そのやり方はまずいんじゃないですかねー」という感じでやんわりと反対の意思を伝えられるようにはなるかも…。うーん。良かれ悪かれ懐に入るのが効果はあるかも。

…こういう小細工が嫌だって人も多いと思うし、私も変な気苦労は背負いたくないけど、逃げたり辞めたりできない状況ってあるし、何もせずに状況が悪化するのを見てるなら、多少は小細工使ってでも軌道修正できないかなぁと考えるのも一つのやり方ではないかと。

あと技術者が陥り易いのは「技術音痴型」。ちょうど今の私がそうなんだけど、5年ぶり位のJava案件のチームを見てるのだけど、やっぱり自分の知識が古いしそれほどスキルが無いのが分かってるので、どこまで言っていいのか迷う。

メンバーがはっきりと「それは古いです」とか「こっちのやり方が良いですよ」と言ってくれるなら良いけど、不満に思いながら言ったとおりに進めてしまわれると、たぶんプロジェクトは失敗するんだろうなと思う。なので、思い切って詳しいメンバーに任せてしまったほうが良いのかなと思ってる。

丸投げと言えばそうなんだろうけど、変に分からない人間が口を出すのと、任せてしまうのとどっちが良いんだろうか。できれば自分だって成果物を少しはチェックできるくらいの知識はその間に付けておきたいとは思うけどね。この辺の加減というか委譲具合が難しいなと、今まさに思っているところ。


地味に役立つ一冊「ARM組み込みソフトウェア入門」

ARMプロセッサの各バージョンのアーキテクチャの話から、アセンブラレベルでの最適化方法、アセンブラ命令リファレンスなど、ARMチップでシビアなプログラムを書いている人には地味に役立つと思う本。

実際、C/C++コンパイラが吐き出す最適化アセンブラコードより、さらに最適化が必要なシチュエーションくらいでしか出番はあまり無いのかなぁ…とも思う。だけど、以外とそういう場面があったりするのよね…。

CPUパワーがそれほど高くないハードで、重い処理を一定のパフォーマンスで動かしたいという要求があったときなんかには、本当にギリギリまでチューニングしてみてOK/NGのジャッジをしないといけないとか。

この本でもC言語でのコードの書き方と出力されるアセンブラコードの違い、そして最適化のための方法が章を立てて書かれているので、こういうチューニングが必要な仕事がたまにある人は持ってても良い本かも。でも逆にそこまでカリカリにCPUの細かい所まで意識しなくてもいい場合には出番の無い本でもある。

ARMの人が執筆、翻訳をしているので内容に信頼性はあるだろうし、英語のチップリファレンスを読まなくても日本語で読めるというのも大きい。

ARM組み込みソフトウェア入門―記述例で学ぶ組み込み機器設計のためのシステム開発 (Design Wave Advanceシリーズ)
ARM組み込みソフトウェア入門―記述例で学ぶ組み込み機器設計のためのシステム開発 (Design Wave Advanceシリーズ) アーム

CQ出版 2007-08
売り上げランキング : 11291

おすすめ平均 star
star実業務で役立つ本

Amazonで詳しく見る by G-Tools

ついでに、Cortexチップ向けに新しいシリーズが出ているみたい。

ARM Cortex‐M3システム開発ガイド―最新アーキテクチャの理解からソフトウェア開発までを詳解 (Design Wave Advance)
ARM Cortex‐M3システム開発ガイド―最新アーキテクチャの理解からソフトウェア開発までを詳解 (Design Wave Advance) 宇賀神 孝

CQ出版 2009-05
売り上げランキング : 10778

Amazonで詳しく見る by G-Tools


androidのenvsetup.shに隠されてる(?)便利なコマンド

androidのフルソースをビルドするときに使うenvsetup.sh。

普段はビルドで’mm’するための準備にくらいしか使ってないけれど、実はいろいろなコマンドが拡張されるのだ。

試しに、envsetup.shを読み込んでから’help‘とコマンドすると…

$ source ./envsetup.sh
$ help
Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:
- croot:   Changes directory to the top of the tree.
- m:       Makes from the top of the tree.
- mm:      Builds all of the modules in the current directory.
- mmm:     Builds all of the modules in the supplied directories.
- cgrep:   Greps on all local C/C++ files.
- jgrep:   Greps on all local Java files.
- resgrep: Greps on all local res/*.xml files.
- godir:   Go to the directory containing a file.

Look at the source to view more functions. The complete list is:
add_lunch_combo cgrep check_product check_variant choosecombo chooseproduct choosetype choosevariant croot findmakefile gdbclient get_abs_build_var get_build_var getbugreports getprebuilt gettop godir help isviewserverstarted jgrep lunch m mm mmm pid print_lunch_menu printconfig resgrep runhat runtest runtest_py set_sequence_number set_stuff_for_environment setpaths settitle smoketest startviewserver stopviewserver tapas tracedmdump

m,mmの他に、

  • cgrep … C/C++ファイルのみのgrep
  • jgrep … Javaファイルのみのgrep

などもあるみたい。

で、オマケはその下にあるコマンドの羅列。

“Look at the source to view more functions.”とあるように、envsetup.shの中身を直接見て動作を確かめるといいのだけど、個人的に特に使える!と思ったのが”gdbclient“コマンド。

Native層のデバッグは、gdbとgdbserverを使ってリモートデバッグをするわけだけど、シンボルの読み込み設定だったりServer側とClient側でそれぞれポートの設定やらプロセスにattachしておいたりだとかデバッグを始めるまでの手順がけっこう多い。

gdbclientコマンドだと、エミュレータでデバッグ対象のアプリプロセスもしくはプロセスを起動しておけば、

  • client側のシンボルの読み込み(システム系ライブラリなどほぼ全て)
  • target側のgdbserverの起動と、デバッグ対象プロセスへのattach
  • target側のadb forwardの設定
  • client側gdbの起動

までを1コマンドでやってくれる。

一番便利なのが、attachするプロセス番号を勝手に探してgdbserverでattachしてくれるところだと思う。

このgdbclientコマンド以外にもいろいろ使えそうなコマンドが拡張されるので、envsetup.shのソースは一度眺めてみると良いかも。


盆休み

ようやく今日から盆休み。

会社としては前の週末からまる一週間が夏期休暇だけどプロジェクトの都合上そうもいかずに、今日から4日間。

実家暮らしなので特に帰省する必要も無いし、4日しかないので遠出もしないつもり。去年は京都観光したし、今年のGWは東京観光してるし、まぁいいかと。

休み明けからまた仕事がハードスケジュールになりそうなので、休養メインで過ごします。

ああ、オブジェクト指向設計のリハビリでも少ししておこうかな…。ブランクが空きすぎてクラス抽出とかどうすれば良かったんだっけ?見たいになってるし。実際は最近までJavaをやっていたメンバーに作業をお願いするつもりだけど、レビューでチェックする私のほうも少しは知らないとね。


スポンサーリンク