ブログでは書いていませんでしたが、実は先月の1日に転職しました。
前の会社の経営状況が芳しくなくてどんどん収入が厳しくなってるってのも当然ありますが、それ以上に業務範囲をどんどん狭められることによって技術、人間関係(後輩が入ってこないので指導することもない。。)の両方で閉塞感を強く感じるようになったってのが一番の理由ですね。
そんなモヤモヤを抱えてたところ、今まで担当してた製品と比較的近い物を作ってるメーカー系企業から中採試験の話をもらいました。さすがに4年ちょっと過ごした会社なので、お世話になった先輩方や気の合う同期とかもいるわけで、そういう人達から離れて全然知らない人達の中に飛び込むのは抵抗を覚えましたが、それでも閉塞感を何とかしたいと思い試験を受け、運良く内定を貰うことができ、今に至っています。
しかし閉塞感を打破したくて転職したのはいいですが、いきなり全く経験のないハード設計に関わらされたり、他社の人も交えた会議に引っ張り出されたのにはさすがに参りました・・・。特に前職では他社の人と打合せしたことなど数えるほどしかなく、会議に呼ばれてから名刺交換とかのマナーとかを焦って復習するハメに。。いい悪いは別として、今までほんとに製品開発プロセスの一部しか知らなかったと痛感したひと月半です。
今までの経験から想像していた職場とあまりに違ったので、最近まで気持ちの方がついていかずかなりの不安に苛まれていましたが、最近ようやく少し落ち着いてきたように思っています。まだまだへこむ日々は続くと思いますが、頑張って少しでも早く自分の立ち位置を確立していきたいと思います。
青き風のような日常
とあるエンジニアの雑多な日記
2010/10/17
2010/08/03
BlackBerry Bold 9700を購入
ここ数カ月、全くネタがなかったので本当に久しぶりの更新です。。
1年くらい前から携帯を買い替えようと思っていて、docomoユーザの私は海外でXperiaが発表されたときに、この端末なら買ってもいいと思い楽しみにしていました。。
・・・が、日本発売までに半年くらい待たされて完全に購買意欲が萎えてしまい、完全に買い替えのタイミングを見失ってしまっていたのですが、ひと月ほど前にふとBlackBerry Bold 9700のレビュー記事を目にし、なんとなく惹かれた勢いで予約までして買ってしまいましたw
最近のスマートフォンはタッチパネルが当たり前のようになっていますが、PCに慣れてる私にとっては、トラックパッドとQWERTY配列のキーボードはなかなか使い易くてよいです。
あと、BlackBerry Internet ServiceでGmailとかの受信も即座に通知してくれるのも非常に便利です。
スマートフォンを使うのはこれが初めてなので、これからアプリをいろいろ試しながら楽しんでいきたいと思います。
1年くらい前から携帯を買い替えようと思っていて、docomoユーザの私は海外でXperiaが発表されたときに、この端末なら買ってもいいと思い楽しみにしていました。。
・・・が、日本発売までに半年くらい待たされて完全に購買意欲が萎えてしまい、完全に買い替えのタイミングを見失ってしまっていたのですが、ひと月ほど前にふとBlackBerry Bold 9700のレビュー記事を目にし、なんとなく惹かれた勢いで予約までして買ってしまいましたw
最近のスマートフォンはタッチパネルが当たり前のようになっていますが、PCに慣れてる私にとっては、トラックパッドとQWERTY配列のキーボードはなかなか使い易くてよいです。
あと、BlackBerry Internet ServiceでGmailとかの受信も即座に通知してくれるのも非常に便利です。
スマートフォンを使うのはこれが初めてなので、これからアプリをいろいろ試しながら楽しんでいきたいと思います。
2010/04/20
ARM用Linuxカーネルのクロスコンパイル環境構築
今日は、ARM用Linuxカーネルのクロスコンパイル環境をGentoo Linux上に構築してみようと思います。
以前ARM用アプリケーションバイナリを作成しQEMUでエミュレーション実行する手順を書きましたが、このときは日本語で見つかった情報でちゃちゃっとすませちゃった感があるので、今回は本家のドキュメントを参照しながらちゃんと進めていこうと思います。。
1. crossdevのインストール
Gentoo Linux上にクロスコンパイル環境を構築するのを支援してくれるツール、crossdevをインストールします。
# emerge crossdev
2. ARMクロスコンパイラのインストール
crossdevを使用して、ARMクロスコンパイラをインストールします。
まず/usr/local/portageというディレクトリを作り、/etc/make.confに以下の行を追記します。
PORTDIR_OVERLAY="/usr/local/portage"
そしてcrossdevを次のように実行します。
# crossdev --ex-gdb --stable --target arm-unknown-linux-gnu
これでクロスコンパイラのインストールは完了です。
3. Linuxカーネルのクロスコンパイル
今回はカーネルモジュールのインストールについては考慮しません。また、カーネルソースは一般ユーザのホームディレクトリ下に展開するものとします。
まず、展開したソースの直下にクロスコンパイル用の以下のような内容のシェルスクリプトを作り、xkmakeという名前で保存します。
#!/bin/sh
exec make ARCH="arm" CROSS_COMPILE="arm-unknown-linux-gnu-" "$@"
xkmakeに実行権限を与えます。
% chmod u+x xkmake
あとはxkmakeを使って、x86と同じように下記のようにカーネルをコンパイルすることができます。
% ./xkmake menuconfig
% ./xkmake
---
ARMターゲットのコンフィギュレーションはさっぱり分からないので、この環境を利用してぼちぼち調べてみようかと思います。。
以前ARM用アプリケーションバイナリを作成しQEMUでエミュレーション実行する手順を書きましたが、このときは日本語で見つかった情報でちゃちゃっとすませちゃった感があるので、今回は本家のドキュメントを参照しながらちゃんと進めていこうと思います。。
1. crossdevのインストール
Gentoo Linux上にクロスコンパイル環境を構築するのを支援してくれるツール、crossdevをインストールします。
# emerge crossdev
2. ARMクロスコンパイラのインストール
crossdevを使用して、ARMクロスコンパイラをインストールします。
まず/usr/local/portageというディレクトリを作り、/etc/make.confに以下の行を追記します。
PORTDIR_OVERLAY="/usr/local/portage"
そしてcrossdevを次のように実行します。
# crossdev --ex-gdb --stable --target arm-unknown-linux-gnu
これでクロスコンパイラのインストールは完了です。
3. Linuxカーネルのクロスコンパイル
今回はカーネルモジュールのインストールについては考慮しません。また、カーネルソースは一般ユーザのホームディレクトリ下に展開するものとします。
まず、展開したソースの直下にクロスコンパイル用の以下のような内容のシェルスクリプトを作り、xkmakeという名前で保存します。
#!/bin/sh
exec make ARCH="arm" CROSS_COMPILE="arm-unknown-linux-gnu-" "$@"
xkmakeに実行権限を与えます。
% chmod u+x xkmake
あとはxkmakeを使って、x86と同じように下記のようにカーネルをコンパイルすることができます。
% ./xkmake menuconfig
% ./xkmake
---
ARMターゲットのコンフィギュレーションはさっぱり分からないので、この環境を利用してぼちぼち調べてみようかと思います。。
2010/04/15
CGDB
以前GDBを使うときはEmacsと組み合わせて使っていたのですが、最近はVimを常用していることもあってviっぽい操作でソースも見ながらデバッグしたいなと思っていたところ、「実践 デバッギング技法」(オライリー刊)にCGDBというのがちょろっと紹介されていたのを思い出して調べてみました。
日本語の資料はほとんどないっぽいようなので、頑張って本家ページの英語ドキュメントを見ながら使い方を調べていこうと思います。。
まず、~/.cgdb/cgdbrcが設定ファイルなので、「4 CGDB configuration commands」を見て必要そうなのを記入しました。
ざっとこんな感じです。
set cgdbmodekey=<C-K>
map r :run
map c :continue
map f :finish
map n :next
map s :step
map q :quit
CGDBを起動すると上にソースコード、下にGDBインターフェイスが表示され、ソースコード枠にフォーカスしているときを "CGDBモード"、GDBインターフェイスにフォーカスしているときを "GDBモード" というようです。
で、CGDBモードに移るときのキーをcgdbmodekeyの値を変えることで設定できるようになっているので、1行目記述でCtrl-Kを割り当てています。(デフォルトはEscなんですが、ちょっと押すのがだるいので。。)
また、mapコマンドでCGDBモードのキー、imapコマンドでGDBモードのキーをコマンドに割り付けられるようになっているので、残りの記述でCGDBモードのときデバッグで多用するコマンドをキーに割り付けています。
とまあ、こんな風に.vimrcと似たような感じで設定をいじれるようになっており、準備はこれで完了です。w
あとはGDBを使うときと同じように、シェルから
cgdb <実行ファイル>
と打てばデバッグが開始できます。
開始直後はGDBモードなので、Ctrl-K (設定を変えてない場合はEsc) を押すとソースコード枠にフォーカスが移りCGDBモードになります。基本的にViっぽい操作で表示場所を移動することができ(kで上に移動とか)、スペースキーでブレークポイントをはることができます。
CGDBモードでできないことをやりたくなったら、iを押してGDBモードに戻ります。
このようにエディタにVimとか使ってて、かつGDBに慣れてる人にとってはなかなか快適なデバッガだと思いました。w
日本語の資料はほとんどないっぽいようなので、頑張って本家ページの英語ドキュメントを見ながら使い方を調べていこうと思います。。
まず、~/.cgdb/cgdbrcが設定ファイルなので、「4 CGDB configuration commands」を見て必要そうなのを記入しました。
ざっとこんな感じです。
set cgdbmodekey=<C-K>
map r :run
map c :continue
map f :finish
map n :next
map s :step
map q :quit
CGDBを起動すると上にソースコード、下にGDBインターフェイスが表示され、ソースコード枠にフォーカスしているときを "CGDBモード"、GDBインターフェイスにフォーカスしているときを "GDBモード" というようです。
で、CGDBモードに移るときのキーをcgdbmodekeyの値を変えることで設定できるようになっているので、1行目記述でCtrl-Kを割り当てています。(デフォルトはEscなんですが、ちょっと押すのがだるいので。。)
また、mapコマンドでCGDBモードのキー、imapコマンドでGDBモードのキーをコマンドに割り付けられるようになっているので、残りの記述でCGDBモードのときデバッグで多用するコマンドをキーに割り付けています。
とまあ、こんな風に.vimrcと似たような感じで設定をいじれるようになっており、準備はこれで完了です。w
あとはGDBを使うときと同じように、シェルから
cgdb <実行ファイル>
と打てばデバッグが開始できます。
開始直後はGDBモードなので、Ctrl-K (設定を変えてない場合はEsc) を押すとソースコード枠にフォーカスが移りCGDBモードになります。基本的にViっぽい操作で表示場所を移動することができ(kで上に移動とか)、スペースキーでブレークポイントをはることができます。
CGDBモードでできないことをやりたくなったら、iを押してGDBモードに戻ります。
このようにエディタにVimとか使ってて、かつGDBに慣れてる人にとってはなかなか快適なデバッガだと思いました。w
2010/04/09
Linuxカーネルの開発を追おうとしてみる
おもむろにLinuxカーネルの開発を追いかけてみようと思い立ちました。。w
以下は、2.6系ツリーをローカルにクローンする手順の覚書です。
以下は、2.6系ツリーをローカルにクローンする手順の覚書です。
- 現在Linuxはgitという分散型バージョン管理システムでバージョン管理されているので、まずgitをインストール。自分はGentooを使っているので、 emerge git 。
- クローンを作るディレクトリに移動し、次のコマンドを打つ。git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
これでカレントディレクトリの下にlinux-2.6ができます。
自宅で作ったものの管理は最近Mercurialを使っているのですが、Linuxカーネル開発を追っかけながらgitの使い方もちょこちょこ調べていこうと思います。。
2010/03/22
マイレージ、マイライフ
昨日、久しぶりに洋画を映画館で見ました。(ロード・オブ・ザ・リング以来かな。。)
テレビ番組での紹介を見ただけで特によく調べずに見に行くという、かなり思いつきな行動でしたがかなり楽しめました。w
不況、ネット社会、家族に縛られない人生といった現代社会の有様がとてもうまく描かれており、自分の生き方についていろいろと考えさせられましたね。。
テレビ番組での紹介を見ただけで特によく調べずに見に行くという、かなり思いつきな行動でしたがかなり楽しめました。w
不況、ネット社会、家族に縛られない人生といった現代社会の有様がとてもうまく描かれており、自分の生き方についていろいろと考えさせられましたね。。
2010/03/03
coltrane's sound
大学時代、友達に貸すためにサークル部屋の連絡箱に入れた後で行方不明になってしまったという、やや苦い記憶のあるJohn Coltraneの「coltrane's sound」のことを横浜に用事で出たときにふと思い出し、そのままHMVで再度購入しましたw
「The Night Has a Thousand Eyes」、「Body and Soul」など名曲が収録されたこの作品ですが、数年ぶりに聞いて改めてその素晴らしさに感動しました。。
「The Night Has a Thousand Eyes」、「Body and Soul」など名曲が収録されたこの作品ですが、数年ぶりに聞いて改めてその素晴らしさに感動しました。。
登録:
投稿 (Atom)