Thought about system by Hiroyasu Ishikawa

We are uncovering better ways of developing system.

LVMとpartedと

2個の4TB HDDをLVMで大きく使おうと思ったときのメモ

最近の大きなHDDのAFTに対応するにはpartedで
mkpart primary 0% 100%
とする。でないとAFTによるアライメント警告が出る。実際無視することもできるけどアクセス考えたらよろしくない。

論理ボリューム作成で最大容量を指定する場合
lvcreate -l 100%FREE -n lvol01 volg01
※ lvol01、volg01は論理ボリューム名とボリュームグループ名

参考
partedでパーティッション作成してLVMを作ってみた | 黒ぶちメガネのblog

XAMLとAndroid XMLと

久々にWindowsアプリを作る予定があり、開発環境については結構自由な感じ。環境はVisual StudioC#で良さそうな感じだが、UIとデータの永続化形式がまだちょっと不確定。

WPFを使ったことがなかったのでいじってみるとAndroid XMLを想起させる。

別に要求にはWindows8とか複数の解像度への対応とか含まれていないけれど、暫く使われるツールであろうことを考えると、WPFもアリなのかなぁ。

タブ(インデント)を半角スペースに変換

Vim含めテキストファイル(*.txt)に対する設定は以下で使っています

  • インデントにはタブ(ハードタブ)を使用
  • タブ幅は2(半角スペース2個分)

これを幅はそのままに半角スペースに切り替える方法は以下の通りです

  1. :set noexpandtab
  2. ビジュアルモードで変換したい範囲を選択
  3. :retab
  4. :set expandtab

シーンとしてはメール等にテキストを貼り付けるような場合かな。
1コマンドでできるといいんだけれど(多分できる、はず)

Ruby 2.1.2 install on Ubuntu Linux

Ruby関連の環境が全くない(というよりほぼまっさらのUbuntu Linux)にRuby 2.1.2をインストールするまでのメモ

インストールの環境作り

gitのインストール
sudo aptitude install git

gccのインストール
sudo aptitude install gcc

libssl-devのインストール*1
sudo aptitude install libssl-dev

rbenvのインストール

以下のページを参照してgithubからインストールする、gitが入っていなければaptでも使ってインストールしておく
https://github.com/sstephenson/rbenv

また上記ページに記載されている通りruby-buildもインストールする
https://github.com/sstephenson/ruby-build#readme

rubyのインストール

rbenvを使ってインストールする
rbenv install 2.1.2

*1:"The Ruby openssl extension was not compiled. Missing the OpenSSL lib?"って怒られたので

プロセスと成果物

ソフトウェア開発のプロセスをPFDで描いている時に気づいたことがあります。

プロセスはモノを作るためにあるのであって、モノより優先して考えてはいけない

や、当たり前のことではあります。しかしながら、プロセス定義書やPFDを作っていると案外はまってしまう点なのかもしれないと感じました。プロセス定義書やPFDを作る時は「プロセス」を中心に記載するため、頭の中も「どうプロセスを組み立てよう」という状態になってしまいがちです。作るモノも一緒に考えながらプロセスを組み立てるのであれば尚更です。プロセスを定義する時は、プロセスが完了した結果、産み出されるモノ・成果物を強く意識した方が良いと考えます。

作るモノのフローを考えるのだから、PFDは「Process Flow Diagram」というより、ひょっとしたら「Product Flow Diagram」または「Production Flow Diagram」でもいいのかな、と思ったりしました。

これは計画や見積もりにも同じことが言えると思うのです。また、機会があればこれも考えてみたいと思います。

達成できなかったTRY

プロジェクトでKPTによる振り返りを実施した時に、TRYの一部が達成できていない時はどうするか(続けるべきか)という課題に最近触れた。

アジャイルサムライのふりかえりに関する下記のような記述にもある通り、ふりかえりはできなかったことをつるし上げても価値は生まれにくい。

ふりかえりは魔女狩りじゃない

むしろ振り返ろうとする心を削いでしまうことが多い。
従って結論としては以下のような方針でやるのが良いのでは、という結論に至った。

  • できなかったものも含めてKPTして、TRYをもう1度出す
  • 続けるかどうかはTRY次第
  • 同じ目的でも別の方法でTRY

また、次のイテレーションではTRYのまず達成するアクションを決めてもらった。何も成果がない、という状態を防ぐためだ。アクション出せないなら、話し合おう、というのも伝えた。これもある意味でTRYだったかもしれない。
同じような課題にぶち当たった方々はどうしているのか聞いてみたい。

組込みの現場とアジャイルの狭間で

現在の僕の最大の課題は、どのように組込みシステムを、どのように組込みソフトウェア(F/W)を作り上げるか、という領域だと考えています。全ての組込みシステム開発が同様に作られているはずはないので、正確には現在関わっている組込みシステムをどのように作るか、かもしれません。

現在関わっているシステム開発方法も、水が下方に流れ落ちるように、様々な試行錯誤の結果としてあるわけで、過去から見ればきっと最善な方法であると信じています。しかし、まだまだ問題山積みであることと、なぜか悪化する方向に流れているような気がしてならない事があります。

アジャイル開発の一切の無駄を排除するような考え方やプラクティスを試行して、少しでも頑張らずに、楽しく開発できることを目指して活動しています。