ブログも書けませんな…。

10月から異動になり、現場のSEから、仮想化技術を利用したシェアードホスティングのプリセールスエンジニアになった。で、基本的に勝どき勤務になった…のだが、前の担当のハウジング案件の引き継ぎ相手が未だ決まっておらず、ほぼ完全に兼務状態。

データセンターの入館対応だけは委譲させてもらったのだが、SE支援のある案件などは、トリトンからだとネットワーク的に全くアクセス出来ないので、PHSでVPNで別の東京都下のセンター経由で、まずWindowsで立てているtelnetサーバにログイン。さらにそこから128kbpsの専用線でtelnetでアクセスする、という経路なもんで、コマンド入力に表示が追い付かず、enter押したら10秒くらい待たんとアカン。非常にストレスが溜る。

で、今日から異動先で年内で退職される方からの引き継ぎが始まり、今までと全く異なる仕事な上に前任者ができる人なのでかなり大変そう。やりがいはあるけど。年齢的にも今の会社じゃ現場のSEで続けるのは難しくなるので、そういう意味では丁度良いタイミングではある。

なんだけど、兼務せざるを得ないので必然的に残業…。orz 早く帰りたいのに。ハウジングの時も前任が二人でやっていた仕事を一人でやらざるを得ない状況に追い込まれ、それでも一人でできるようにしたのだが、またしても…。さらに効率良く仕事こなすようにしないと、いつまで経っても定時で帰れないなぁ。

む、もしかしてこれでまた何とかこなせるようになったら、なし崩し的に引き継ぎを立てずにこのまま続ける羽目になるんじゃなかろうか…。いい加減、休みもまともに取るのが大変な属人化体制は何とかして欲しいな。

“癒し系オヤジ猫ツネオ”

と、まぁ絶妙なネーミングで今さっき、めざましテレビで紹介されていた ツネオテレビ 、超藁。

その直後天気予報で、愛ちゃんってばパジャマ!?

組合サーバでごにょごにょと。

電子投票システム構築するのに、” vote OSS “で検索しても、なかなか良いものがないので自前で立てることに。ほぼ個人的な趣味&勉強したいからRoRで構築する事にした。以下、今日の作業内容。

  • Proxy経由でAPTを利用可能に。

  • IPフォワーディング、IPマスカレードの設定。ちょうどこの前の勉強会用に作成した資料を参考にする。

  • Apacheでリバースプロキシの設定。

  • ApacheでDigest認証の設定。Apache2.2だと2.0.x以前とディレクティブ名が異なるのね。知らんかった。

  • Apache&mod_fcgid&rubyでRoRの設定。

  • MySQLで別のサーバからアクセスできる用に。

  • phpESPをローカルホストのDBからIPアドレスの接続に変更。

  • Samba削除。

MySQLで、Password Noでアクセスできないのは、-pオプションが足りないからだったのか~。

とりあえず、別ホストのMySQLを利用して、RoRを使えるようにしたので、あとは実装やな。

pcc-acpiが使えなくなったと思ったら。

Let’s noteのファンクションキーを使えるようにするための、pcc-acpiだが、先日、kernel 2.6.22.6にした時、makeは普通にできるのに、kernel moduleロードで失敗する、という問題にぶち当たっていた。一昨日、kernel 2.6.22.9にしたので、再度やってみたら、今度はmakeでwarningが出まくった。

~/pcc-acpi-0.8.4$ make
make -C /lib/modules/2.6.22.9/build SUBDIRS=/home/hoge/pcc-acpi-0.8.4 modules
make[1]: ディレクトリ `/home/hoge/kernel/linux-2.6.22' に入ります
  CC [M]  /home/hoge/pcc-acpi-0.8.4/pcc_acpi.o
/home/hoge/pcc-acpi-0.8.4/pcc_acpi.c:163: warning: initialization from incompatible pointer type
/home/hoge/pcc-acpi-0.8.4/pcc_acpi.c: In function ‘acpi_pcc_retrieve_biosdata’:
/home/hoge/pcc-acpi-0.8.4/pcc_acpi.c:261: warning: implicit declaration of function ‘acpi_os_free’
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: /home/hoge/pcc-acpi-0.8.4/pcc_acpi.o(.text+0x73c): Section mismatch: reference to .init.text: (between 'acpi_pcc_hotkey_add' and 'acpi_pcc_dc_brightness_open_fs')
WARNING: /home/hoge/pcc-acpi-0.8.4/pcc_acpi.o(.text+0x751): Section mismatch: reference to .init.text: (between 'acpi_pcc_hotkey_add' and 'acpi_pcc_dc_brightness_open_fs')
WARNING: /home/hoge/pcc-acpi-0.8.4/pcc_acpi.o(.text+0x4ae): Section mismatch: reference to .exit.text: (between 'acpi_pcc_hotkey_remove' and 'acpi_pcc_hotkey_notify')
WARNING: /home/hoge/pcc-acpi-0.8.4/pcc_acpi.o(.text+0x4bf): Section mismatch: reference to .exit.text: (between 'acpi_pcc_hotkey_remove' and 'acpi_pcc_hotkey_notify')
WARNING: "acpi_os_free" [/home/hoge/pcc-acpi-0.8.4/pcc_acpi.ko] undefined!
  CC      /home/hoge/pcc-acpi-0.8.4/pcc_acpi.mod.o
  LD [M]  /home/hoge/pcc-acpi-0.8.4/pcc_acpi.ko
make[1]: ディレクトリ `/home/hoge/kernel/linux-2.6.22' から出ます

pcc_acpi.cの163行目と261行目ですか。

163                                  .resume =       acpi_pcc_hotkey_resume,
261          acpi_os_free(buffer.pointer);

まぁ、間違いなくkernelを上げたことによるのが原因だろうと思って、久々に pcc-acpiの開発元のページ を見てみた。最新版は0.8.4じゃなくて、0.9が出てました…。で、やってみたら、あー、無事できました。

0.8.4と0.9のpcc-acpi.cをdiffってみたらやっぱり。

$ diff -c pcc-acpi-0.8.4/pcc_acpi.c pcc-acpi-0.9/pcc_acpi.c
*** pcc-acpi-0.8.4/pcc_acpi.c   2006-05-30 00:17:10.000000000 +0900
--- pcc-acpi-0.9/pcc_acpi.c     2006-11-21 16:38:41.000000000 +0900
***************
~中略~
*** 142,165 ****
     ENV_STATEs: Normal temp=0x01, High temp=0x81, N/A=0x00
  */
  enum SINF_BITS { SINF_NUM_BATTERIES = 0,
!                  SINF_LCD_TYPE, SINF_AC_MAX_BRIGHT,
!                SINF_AC_MIN_BRIGHT, SINF_AC_CUR_BRIGHT, SINF_DC_MAX_BRIGHT,
!                SINF_DC_MIN_BRIGHT, SINF_DC_CUR_BRIGHT, SINF_MUTE,
!                SINF_RESERVED,      SINF_ENV_STATE,
                SINF_STICKY_KEY = 0x80,
  };

! static int __devinit acpi_pcc_hotkey_add (struct acpi_device *device);
! static int __devexit acpi_pcc_hotkey_remove (struct acpi_device *device, int type);
  static int acpi_pcc_hotkey_resume(struct acpi_device *device, int state);

  static struct acpi_driver acpi_pcc_driver = {
        .name =         ACPI_PCC_DRIVER_NAME,
        .class =        ACPI_PCC_CLASS,
        .ids =          HKEY_HID,
        .ops =          {
                                .add =          acpi_pcc_hotkey_add,
!                               .remove =       __devexit_p(acpi_pcc_hotkey_remove),
                                .resume =       acpi_pcc_hotkey_resume,
                        },
  };
~中略~
*** 258,264 ****
        sinf[hkey->package.count] = -1;

  end:
!       acpi_os_free(buffer.pointer);
        return_VALUE(status == AE_OK);
  }
~以下略~

Mainlineにマージしてほしいなぁ…。

どこも同じようだ…。

前の職場の飲み会で、同じく別の部署に遷った先輩に、仕事の状況を聞いてみた。どうやら今、自分がいる部署だけでなく、他の全然違う部署でも、前の職場に比べるとプロ意識がかなり低いらしい。前の職場を終了になった人を今の自分の現場に引き込んで、権限もそういう人に与えれば、一気に品質を上げられるのにねぇ、という話をしたら激しく同意された。そして同じく前の職場にいた先輩で、それを実際にやっているあの部署では、毎日終電近くまで残っている。全社で取り組んでいるあのプロジェクトってやっぱり…。(ry

昨日の飲み会でもやはりというか、やっぱり彼女のことでかなり突っ込まれた。どこでこのブログの事を聞いたのやら。Debian勉強会に出ても毎回突っ込まれるので、この手の話はみんな好きなんだねぇ。w