2012-03-01 :-(
_ 読書メーター
2月の読書メーター
読んだ本の数:7冊
読んだページ数:1657ページ
ナイス数:3ナイス
「結果を出す人」はノートに何を書いているのか 実践編 (Nanaブックス)
コーネルメソッドとかライフログとか既にやってた/夢を張り出すは
読了日:02月24日 著者:美崎 栄一郎
おせん 3
編集長の糖尿病の自覚症状の説明が全部当てはまるんだけど / 塩麹はじめました
読了日:02月11日 著者:きくち 正太
制御工学の考え方 (ブルーバックス)
制御入門。数式はほとんど登場せず、制御の歴史や制御が使われる場面を紹介している。
読了日:02月09日 著者:木村 英紀
機械・ロボット業界大研究
2008年の本。製造業→機械産業という分野の現状や歴史やシェアについて云々
読了日:02月06日 著者:川上 清市
おせん(2) (イブニングKC)
山田さんの尻に敷かれたい
読了日:02月05日 著者:きくち 正太
おせん(1) (イブニングKC)
日本酒欲しい / 女性の区別がつかない
読了日:02月05日 著者:きくち 正太
御手洗冨士夫が語る キヤノン「人づくり」の極意
2005年なので経団連会長になる前の本。実力主義を徹底する仕組みというのが一番効果的なんですかねー / トヨタとよく比較してるんだが「キヤノンの闇」とかいった本は無いかしら
読了日:02月04日 著者:水島 愛一朗
2012年2月の読書メーターまとめ詳細
読書メーター
_ [NetBSD][翻訳][Minix]hubertf's NetBSD blog - Minix 3.2.0 released... with lots of NetBSD code added Minix 3.2.0 リリース。NetBSD のたくさんのコードも追加
Version 3.2.0 of Minix, the operating system started by Andrew Tanenbaum, has been released. Started quite some time after BSD and before Linux, its userland grew somewhat outdated. To remedy this, Minix' userland was now updated to large extents with components from NetBSD as result of Minix' 2011 Google Summer of Code project, which was done by student Vivek Prakash and mentored by Gianluca Guida.
Andrew Tanenbaum によって開始されたオペレーティングシステム Minix の Version 3.2.0 がリリースされた。BSD よりも後、Linux のかなり前に開始されたもので、ユーザーランドはやや古くなってきた。これを解決するために、現在の Minix のユーザーランドは、Minix' 2011 Google Summer of Code project の成果により、NetBSD 由来のコンポーネントで大規模拡張されてている。Gianluca Guida をメンターとした学生 Vivek Prakash によるものだ。
Components merged from NetBSD include:
NetBSD から取り込んだコンポーネント:
- NetBSD C library
- NetBSD password file format
- NetBSD bootloader
- New NetBSD userland utilities: ext2 fsck&mkfs, gzip, m4, man&tools, mkdep, mkdir, mkfifo, mktemp, rm, rmdir, tic, uniq, libcurses, libcrypt, libprop, libterminfo, libutil, bzip2, date, indent, mdocml (mandoc), sed, zoneinfo ports
See the Minix release notes for more details,
詳細は the Minix release notes を参照。
2012-03-03 :-)
_ 午前
1000 起床 || 部屋掃除
_ 夜
2300 飯
_ [RIDGE RACER][リッジレーサー]RIDGE RACER NIGHT
@VUENOS
リッジレーサーシリーズの曲を、その曲を書いた作曲者たちがみずからプレイするイベント。はいはいナムコ祭りナムコ祭り[ 20080517#p01 ] っていうレベルじゃねーぞ。
出演順に並び替えるとこう
- DJ/ Taku Inoue (NBGI)
- DJ/ Ryo Watanabe (NBGI)
- DJ/ Yuu Miyake (MIYAKEYUU STUDIO)
- DJ/ AJURIKA (NBGI)
- DJ/ Hiroshi Okubo (NBGI)
- DJ/ sanodg(DETUNE Ltd.)
- DJ/ Ayako"SamplingMasters AYA"Saso (SuperSweep co.,ltd.)
- DJ/ Shinji "SamplingMasters MEGA"Hosoe (SuperSweep co.,ltd.)
早くに入場できたから再残列を確保してヘナヘナ踊っていたんだが途中から会場に暖房が入ったのかかなり暑くなってきて渡辺量さん(Ryo Watanabe) のプレイ途中で 2F に退避した。熱気がすごすぎる。そのとき初めて最前列から背後を見たんだが会場に入ってるひとが物凄く多かった。LINEAR のナムコ祭り程度の客なのかなあと思ってたんだがそんなもんじゃなかった。すげえ人多い。以降は 2F のモニターで会場の様子を写していたので( たぶん Ustream してたのと同じ絵 )モニターの目の前のソファーに座ってまったり聞いていた。
初代リッジから関わっている細江慎治さんなどは持ち曲が豊富なので昔の曲から最近のリッジレーサー3D の曲までプレイしていたんだが、井上拓さん(Taku Inoue)は( リッジの持ち曲は少ないよね? ) Nitro Right Now! やってくれた他に Cross Saw Funk もプレイしてくれるなどして幅広かった。
大久保博さんからあとはもうおっさん向けの懐かしい曲が満載で( といっても私はリッジレーサーズからプレイしはじめたので R4 とかサントラしか知らない ) 会場は大盛り上がりだし身体が動くのがむしろ自然の流れであった。リッジレーサー大好きな私には至福の時間でありました。
来年はリッジレーサー 20 周年なので、来年もイベントやってくれることを期待。今度はもう少し広い会場がイイナー
2012-03-06 :-(
2012-03-07 :-(
_ 夜
1900 build.shほげ
1930 クローズアップ現代 アニメを旅する若者たち “聖地巡礼”の舞台裏 see also NHK「クローズアップ現代」を見て佐藤順一、錦織博両監督の感想 - Togetter
2100 飯
_ [cygwin][NetBSD][クロスビルド]cygwin で NetBSD クロスビルド(失敗)
環境
- Microsoft Windows7 Professional 64bit
- cygwin
- gcc 4.5.3
手順
筒井さんの投稿そのまんま Cross build on Cygwin-1.7.1
ほげ
xinstall で fail する。
# link binstall/xinstall cc -O -I/cygdrive/c/home/public/NetBSD/src/tools/compat/obj -I/cygdrive/c/home/public/NetBSD/src/tools/compat/obj/include -I/cygdrive/c/home/public/NetBSD/src/tools/binstall/../compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -I/cygdrive/c/home/public/NetBSD/src/tools/binstall/../compat/sys -DTARGET_STRIP=\"/cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/i486--netbsdelf-strip\" -I/cygdrive/c/home/public/NetBSD/src/usr.sbin/mtree -o xinstall xinstall.lo getid.lo -L/cygdrive/c/home/public/NetBSD/src/tools/compat/obj -lnbcompat -lz install ===> binstall # install /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/i486--netbsdelf-install mkdir -p /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin ./xinstall -c -r -m 555 xinstall.exe /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/i486--netbsdelf-install /usr/bin/sh: ./xinstall: Permission denied *** Failed target: /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/i486--netbsdelf-install *** Failed command: ./xinstall -c -r -m 555 xinstall.exe /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/i486--netbsdelf-install *** Error code 126 Stop. nbmake: stopped in /cygdrive/c/home/public/NetBSD/src/tools/binstall *** Failed target: install-binstall *** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/cygdrive/c/home/public/NetBSD/src/tools" ;; *) this="${dir}/"; real="/cygdrive/c/home/public/NetBSD/src/tools/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget binstall install *** Error code 1 Stop. nbmake: stopped in /cygdrive/c/home/public/NetBSD/src/tools ERROR: Failed to make dependall in "tools" *** BUILD ABORTED ***
- Permission Denied for chmod: Cygwin on Windows 7 doesn't play nice with files in Dropbox - Alexey needs a web presence
- File permissions in cygwin and MVFS - Stack Overflow
- bear.mini : Windows Vista + Cygwin で git を使うときにハマった件(とその回避方法)
これらを試してみたものの相変わらず Permission denied になるので
「管理者承認モードですべての管理者を実行する」(初期設定では有効)を無効にしてしまうと、管理者の操作は無条件に承認されるので、UACの警告ダイアログ自体が表示されなくなる。
しょーがないので強制的に UAC を無効にしてみた( やるなよ! 絶対やるなよ! )
再起動して再度 build.sh したら xinstall は通過したようだ。
# compile rpcgen/rpc_clntout.lo cc -O -I/cygdrive/c/home/public/NetBSD/src/tools/compat/obj -I/cygdrive/c/home/public/NetBSD/src/tools/compat/obj/include -I/cygdrive/c/home/public/NetBSD/src/tools/rpcgen/../compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -c -o rpc_clntout.lo.o /cygdrive/c/home/public/NetBSD/src/tools/rpcgen/../../usr.bin/rpcgen/rpc_clntout.c In file included from /cygdrive/c/home/public/NetBSD/src/tools/rpcgen/../../usr.bin/rpcgen/rpc_clntout.c:51:0: /usr/include/rpc/types.h:49:19: error: two or more data types in declaration specifiers /usr/include/rpc/types.h:49:19: error: two or more data types in declaration specifiers /usr/include/rpc/types.h:49:19: error: two or more data types in declaration specifiers /usr/include/rpc/types.h:50:19: error: two or more data types in declaration specifiers /usr/include/rpc/types.h:50:19: error: two or more data types in declaration specifiers *** Failed target: rpc_clntout.lo *** Failed command: cc -O -I/cygdrive/c/home/public/NetBSD/src/tools/compat/obj -I/cygdrive/c/home/public/NetBSD/src/tools/compat/obj/include -I/cygdrive/c/home/public/NetBSD/src/tools/rpcgen/../compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -c -o rpc_clntout.lo.o /cygdrive/c/home/public/NetBSD/src/tools/rpcgen/../../usr.bin/rpcgen/rpc_clntout.c *** Error code 1 Stop. nbmake: stopped in /cygdrive/c/home/public/NetBSD/src/tools/rpcgen *** Failed target: dependall *** Failed command: cd "/cygdrive/c/home/public/NetBSD/src/tools/rpcgen"; /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/nbmake realall *** Error code 1 Stop. nbmake: stopped in /cygdrive/c/home/public/NetBSD/src/tools/rpcgen *** Failed target: dependall-rpcgen *** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/cygdrive/c/home/public/NetBSD/src/tools" ;; *) this="${dir}/"; real="/cygdrive/c/home/public/NetBSD/src/tools/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /cygdrive/c/home/public/NetBSD/src/obj/tooldir.CYGWIN_NT-6.1-WOW64-1.7.11-i686/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget rpcgen dependall *** Error code 1 Stop. nbmake: stopped in /cygdrive/c/home/public/NetBSD/src/tools ERROR: Failed to make dependall in "tools" *** BUILD ABORTED ***
@miwarin PR/43320を@bsh_twさんが自分でなんとかしてくれることを期待(´・ω・`) (@tsutsuii)
これでようやく PR/43320 に追いついた NetBSD Problem Report #43320: build.sh fails on Cygwin 1.7.2
2012-03-09 :-(
2012-03-11 :-)
_ 夜
1900 pfほげ
2100 飯。ブリの塩焼き。塩麹を使ってみた
2200 自分へのバレンタインをすっかり忘れていたので今更チョコレート。グラニュー糖を入れ忘れたので膨らまなかったんだがその割りには柔らかかった。
2012-03-12 :-(
_ 午後
1300 検討
_ [Pylint][Python][lint]Pylint を入れてみた
Python 版 lint みたいなもの。コードを静的解析する。
環境
- Microsoft Windows7 64bit
- cygwin
- python 2.6.7
pylint
各々ページ右側にある download からダウンロードして展開してインストール。または easy_install する。
% wget http://download.logilab.org/pub/astng/logilab-astng-0.23.1.tar.gz % tar xzf logilab-astng-0.23.1.tar.gz % cd logilab-astng-0.23.1 % python setup.py install
% wget http://download.logilab.org/pub/common/logilab-common-0.57.1.tar.gz % tar xzf logilab-common-0.57.1.tar.gz % cd logilab-common-0.57.1 % python setup.py install
% wget http://ftp.logilab.org/pub/pylint/pylint-0.25.1.tar.gz % tar xzf pylint-0.25.1.tar.gz % cd pylint-0.25.1 % python setup.py install
適当なプログラムに対して実行。
% pylint command.py No config file found, using default configuration ************* Module command C: 1: Missing docstring W: 8:Command: Class has no __init__ method C: 8:Command: Missing docstring C: 9:Command.execute: Missing docstring R: 9:Command.execute: Method could be a function R: 8:Command: Too few public methods (1/2) W: 12:Command1: Class has no __init__ method C: 12:Command1: Missing docstring R: 12:Command1: Too few public methods (1/2) W: 16:Command2: Class has no __init__ method C: 16:Command2: Missing docstring R: 16:Command2: Too few public methods (1/2) W: 20:Command3: Class has no __init__ method C: 20:Command3: Missing docstring R: 20:Command3: Too few public methods (1/2) C: 25:Noel: Missing docstring C: 29:Noel.add: Missing docstring C: 32:Noel.run: Missing docstring C: 33:Noel.run: Invalid name "c" (should match [a-z_][a-z0-9_]{2,30}$) C: 37:main: Missing docstring Report ====== 28 statements analysed. Statistics by type ------------------ +---------+-------+-----------+-----------+------------+---------+ |type |number |old number |difference |%documented |%badname | +=========+=======+===========+===========+============+=========+ |module |1 |1 |= |0.00 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |class |5 |5 |= |0.00 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |method |7 |7 |= |57.14 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |function |1 |1 |= |0.00 |0.00 | +---------+-------+-----------+-----------+------------+---------+ Messages by category -------------------- +-----------+-------+---------+-----------+ |type |number |previous |difference | +===========+=======+=========+===========+ |convention |11 |11 |= | +-----------+-------+---------+-----------+ |refactor |5 |5 |= | +-----------+-------+---------+-----------+ |warning |4 |4 |= | +-----------+-------+---------+-----------+ |error |0 |0 |= | +-----------+-------+---------+-----------+ Messages -------- +-----------+------------+ |message id |occurrences | +===========+============+ |C0111 |10 | +-----------+------------+ |W0232 |4 | +-----------+------------+ |R0903 |4 | +-----------+------------+ |R0201 |1 | +-----------+------------+ |C0103 |1 | +-----------+------------+ Global evaluation ----------------- Your code has been rated at 2.86/10 (previous run: 2.86/10) Duplication ----------- +-------------------------+------+---------+-----------+ | |now |previous |difference | +=========================+======+=========+===========+ |nb duplicated lines |0 |0 |= | +-------------------------+------+---------+-----------+ |percent duplicated lines |0.000 |0.000 |= | +-------------------------+------+---------+-----------+ Raw metrics ----------- +----------+-------+------+---------+-----------+ |type |number |% |previous |difference | +==========+=======+======+=========+===========+ |code |27 |72.97 |27 |= | +----------+-------+------+---------+-----------+ |docstring |0 |0.00 |0 |= | +----------+-------+------+---------+-----------+ |comment |5 |13.51 |5 |= | +----------+-------+------+---------+-----------+ |empty |5 |13.51 |5 |= | +----------+-------+------+---------+-----------+
checker
ルールを定義するものをチェッカーと呼ぶらしい。
% export PYTHONPATH=/home/public/python/pylint-0.25.1/examples % pylint --load-plugins=custom command.py
カスタマイズ
--rcfile でいろいろ設定する。以下のように作成すると楽ちん。
% pylint --generate-rcfile > pylintrc
_ [pylint][jenkins]pylint のレポートを jenkins から眺める
jenkins ことはじめ[ 20120222#p04 ] ということで使ってみる。
環境
- Microsoft Windows7 64bit
- cygwin
- python 2.6.7
参考
- Violations - Jenkins - Jenkins Wiki
- How to use Jenkins for python development
- pylint features (Logilab.org)
pylint
インストール済みとする。
rcfile をいじってカスタマイズする。
disable=E1101,C0111,C0322,C0324,C0111.... output-format=parseable reports=yes files-output=no
How to use Jenkins for python development によると output-format=parseable と reports=yes を指定するようなので書いておく。
files-output=yes にすると対象とする .py ごとにレポートされて鬱陶しいので no にしておく。全部 1 つのファイルへリダイレクトしてレポートさせるらしい。
disable は pylint features (Logilab.org) を見ながらテキトーに設定する。
jenkins の Violations プラグイン
jenkins はインストール済みとする。
Violations プラグインを使う Violations - Jenkins - Jenkins Wiki
jenkins - Jenkinsの管理 - プラグインの管理 - 利用可能 - Jenkins Violations plugin をインストール。
インストールするとプロジェクトの「ビルド後の処理」に「Report Violations」が現れるのでチェックする。
「pylint」の「XML filename pattern」に「pylint.log」等と入力しておく。XML と言っているけど XML じゃなくても良いらしい。
「Source encoding」を「UTF-8」にしとく。
プロジェクトの高度なオプション - カスタムワークスペースの使用 - ディレクトリを設定しておく。今回はリポジトリからチェックアウトなどはしない。カスタムワークスペースでいろいろ作業するのでカスタムワークスペースを設定しておく。カスタムワークスペースを設定しておくと Violations はソースファイルを表示するときにカスタムワークスペースの下にある .py を見に行くぽい。
試しに cygwin コンソールで以下のように実行する。
% pylint --rcfile=./pylintrc * >> pylint.log
jenkins プロジェクトを「実行」してみる。
「Violations」にアクセスするとレポートが見れる。
2012-03-14 :-(
_ こんなところに劇場版けいおん前売り券が!
いまだに前売り券があと 1 枚残ってるんだがみんな大好きチネチッタは 3/16 で上映終了する チネチッタ【川崎】-映画 けいおん! らしいんで公式 『映画けいおん!』上映劇場 を眺めてみたら 角川シネマ新宿 が 3/31 から上映開始らしい。へえ?
「Fate/Zero」2ndシーズン 劇場ライブビューイング前夜祭『Beginning to Zero』 とかやるみたいだし、そういう位置づけの劇場なのか。
_ [NetBSD][翻訳]NetBSD Blog - NetBSD 6.0_BETA binaries available for testing NetBSD 6.0_BETA バイナリがテスト可能になった
March 13, 2012 posted by Jeff Rizzo
On behalf of NetBSD developers, I'm happy to announce the availability of a public beta of NetBSD 6.0, for your testing pleasure.
NetBSD 開発者たちに代わって、NetBSD 6.0 ベータ版を発表できることを嬉しく思う。テストしてね。
This beta is substantially feature-complete; there may be some additional changes to the installer and possibly some additional hardware support if some is found missing and is easily added, but the major changes are done. What we need now is for you, the end users, to test it in your preferred configuration.
このベータ版ではほぼ完全に機能する。インストーラをいくつか変更し、いくつかハードウェア対応を追加したのでミスがあっても簡単に追加できるが、おもな変更は完了した。我々にいま必要なのは、エンドユーザーとして好みの設定でテストしてもらうことだ。
Please DO keep in mind, however, that this is a beta release; we fully expect there are some lurking bugs, so use with caution.
忘れないで欲しいのだが、これはベータリリースなのでいくつかバグが潜んでいると思われる。
Binaries of NetBSD 6.0_BETA are available for download at:
NetBSD 6.0_BETA バイナリはこちらからダウンロードできる:
Bootable (for many arches) ISO images are also available.
( たくさんのアーキテクチャ用の )ブータブル ISO イメージもダウンロードできる。
Here are some highlighted changes since NetBSD 5.0. As always, full details can be found in doc/CHANGES and doc/CHANGES-6.0:
NetBSD 5.0 以降のおもな変更点を以下に示す。いつもどおりだが完全な詳細は doc/CHANGES と doc/CHANGES-6.0 を参照。
- time_t is now 64 bits.
- syslog improvements: Reliable TCP connections, encryption, syslog protocol API.
- LKMs removed; superseded by the new module(7) framework.
- Boot loaders on some arches (i386, amd64) support loading modules at boot.
- Added crash(8) a new utility based on ddb(4) to diagnose kernel crashes.
- Added netpgp(1), a BSD-licensed implementation of PGP.
- Added LVM (Logical Volume Manager) functionality.
- Multiprocessor support for Xen PV DomUs.
- Xen2 support has been dropped.
- Better Xen PV support on Linux dom0, including Citrix XenServer.
- Much improved copmpat_linux support for running Linux binaries.
- x.org was updated with new versions of most utilities, and the X server.
- Some arches now default to UFS2 in sysinst.
- FFS: softdep is no longer available, use WAPBL logging instead.
- gpio(4) has been completely reworked to integrate with kauth(9)
- evbarm now have support for Gumstix Verdex and Verdex Pro, Marvell Sheevaplug and other Marvell SoC NAS boxes, i.MX51 SoC.
- arm platforms has support for Cortex-A8 CPUs.
- pfsync(4) from OpenBSD 4.2
- mDNSResponder is now in base.
- raid(4) now has parity maps, greatly improving parity rewrite times after unclean shutdown.
- Added support for 64-bit MIPS processors (O32, N32, N64 ABIs are supported)
- Added mkubootimage(1) tool for generating u-boot kernel images.
- Added NPF - the NetBSD Packet Filter - a work in progress.
- xz(1) - imported XZ compression tool.
- resize_ffs(8) - support for growing FFSv1 and FFSv2 file systems, and shrinking FFSv1.
- amd64,i386: booting from a disk with GUID Partition Table (gpt) is now possible.
- iSCSI: added an in-kernel iSCSI initiator, from Wasabi Systems.
- New port: eMIPS
- Added flash(9) and nand(9) subsystems to handle flash devices and NAND controllers.
- Added CHFS, a file system for flash(9) devices.
- Reworked quota subsystem for FFS
- Added TLS (Thread Local Storage) support for most platforms.
- Added dtv(4), a Digital TV framework.
- MIPS: add support for RALink RT3883 SoC
- sparc64: add support for Enterprise (Ex[45]00) systems, most ultrasparc III and IIIi systems.
- gcc 4.5.3 is the default compiler
- gdb 7.3.1 in-tree
- Support for building most of the tree with clang.
- devpubd(8) added, a device publishing daemon
- Xen: support for suspend/resume
- SQLite 3 is now in the base system.
- audio(9): audio drivers are now MP-safe.
- tprof(8): a sampling-based profiler
- x86, Xen: added CPU microcode loading support via cpuctl(8).
- Trusted Platform support added: TrouSerS, tpm-tools, and tpm(4).
- Added posix_spawn() functions.
- New apropos(1) implementation using SQLite Full Text Index.
{ 略 }
New drivers added to NetBSD 6.0: bwi(4), age(4), atphy(4), ale(4), sdmmc(4), smsh(4), voyagerfb(4), gpioiic(4), tcx(4), zx(4), hdaudio(4), wb(4), lom(4), acpiwmi(4), udl(4), gfb(4), cas(4), acpismbus(4), uthum(4), cgtwelve(4), upgt(4), omapfb(4), otus(4), fujbp(4), fujhk(4), auvitek(4), acpiwdrt(4), vte(4), alc(4), rdcide(4), rdcpcib(4), s390rtc(4), cxdtv(4), hpacel(4), emdtv(4), urndis(4), p5pb(4), pwdog(4), mppb(4), vmt(4), efa(4), gpiopwm(4), powsw(4), tpm(4), valkyriefb(4), videopll(4).
ドライバたくさん { 以下略 }
...and LOTS more hardware support added to existing drivers! Please help us out by testing these changes and reporting problems either to an appropriate mailing list, via send-pr, or via the web form.
...あと既存のドライバにたくさんのハードウェア対応を追加した。ぜひこれらの変更点をテストして、send-pr や ウェブフォームから適切なメーリングリストのどれかに報告してほしい。
Please remember that this is a BETA release. Don't use it anywhere where the quirks of a beta might cause problems from which it would be hard to recover!
忘れないでほしいんだがこれは BETA リリースだ。ベータは問題が発生する可能性があるので、問題が発生して困る場合は使用しないこと。
Thanks again for your help in making NetBSD 6.0 the best release yet!
NetBSD 6.0 を最善のリリースになるまで手伝ってくれてありがとうゴマス (・ω・)ノ
2012-03-15 :-(
_ [NetBSD][翻訳][posix_spawn]NetBSD Blog - posix_spawn syscall added posix_spawn システムコールの追加
February 26, 2012 posted by Martin Husemann
2012/2/26 Martin Husemann による投稿
Charles Zhang implemented the posix_spawn syscall during Google Summer of Code 2011. After a lot of polishing and rework based on feedback during public discussion of the code, this has now been committed to NetBSD-current.
Charles Zhang は Google Summer of Code 2011 の間に posix_spawn システムコールを実装した。公開討論のフィードバックを基にたくさんのコードを洗練し、再作業したものだ。現在これは NetBSD-current にコミットされている。
This caused some fallout and ended in a tight race with the imminent branch date for NetBSD 6. Now that the dust has settled, it is time for a look back at the mistakes made and lessons learned.
もうすぐ来る NetBSD 6 ブランチにおいて、競合の終了時{ ended in a tight race }にたまに異常終了する{ fallout }。現在は安定したので、ここでは過ちと教訓を振り返る。
What is posix_spawn? ( posix_spawn とは? )
Traditionally BSD systems used the vfork(2) hack to improve speed of process creation. However, this does (in general) not play well with multi-threaded applications. The posix_spawn call is a thread-safe way to create new processes and manipulate a tiny bit of state (like dup/close/open file descriptors) upfront.
従来の BSD システムではプロセス生成の時間短縮のために vfork(2) ハックが用いられている。しかし、(一般的に)これはマルチスレッドアプリケーションではよろしくない。posix_spawn を呼ぶとプロセス生成をスレッドセーフとし、いくつかの状態( dup/close/open のようなファイル記述子 )を操作する。
Work continued after GSoC ( GSoC 後の継続作業 )
The results Charles had at the end of his GSoC term were a working in-kernel implementation of posix_spawn and a few free-form test cases, one of which failed. The kernel code duplicated a lot of other code, which clearly was not acceptable for commit to the NetBSD source tree. The reason Charles solved it this way was the short time frame available - and that the best solution we could think of during the summer was very intrusive.
GSoC 終了時の Charles の結果は、カーネル内に posix_spawn を実装し、2, 3 の自由な形式のテストをおこない、1 つが失敗した。カーネルコードは他のたくさんのコードと重複しているので、これを綺麗にしないと NetBSD ソースツリーへのコミットは許されない。Charles は短時間のフレームを有効にすることで解決した。GSoC 期間中に考えられたこの最善の解決策はとても intrusive だ {intrusive ????}。
In preparation for a potential merge into the NetBSD code base, I reworked the code to avoid copying helper functions (like file descriptor manipulations for other processes), cleaned up and debugged a bit using a LOCKDEBUG kernel, which pointed out a few more issues. After solving those as well as intensively testing all error paths, I posted a patch for review.
NetBSD コードベースにちゃんと { potential???? }マージするための準備としては、コードからコピーした補助関数(他プロセスのファイルディスクリプタ操作など))を削除する作業をし、綺麗にして、課題以外のいくつかの点で LOCKDEBUG カーネルで少しデバッグする。これらを解決するだけでなく、集中的にすべてのテストをパスしたあと、レビューのためにパッチを投稿した。
At this point the integration was already prepared completely - a new syscall, new libc functions, new manual pages need a lot of set lists updates and test building a "release" at least once (preferably on an architecture providing 32bit compat libraries), furthermore the posix_spawn code needed (simple) machine-dependent code to be added to all architectures, which at least requires test-building a representative set of kernels.
統合の準備はすでに完了している。セットリストをアップデートし、最低でも release を構築する( できるならば 32bit アーキテクチャ互換ライブラリを提供したい )ためには、新しい syscall、新しい libc 関数、新しいマニュアルページが必要だ。
Another complete rework (別の完全な再作業)
In response to the posted, very intrusive, patch, YAMAMOTO Takashi suggested a pretty elegant way to solve the problem without a lot of the intrusive changes. The idea was simple, and it actually worked after a few adjustments. This led to another public patch for review.
この投稿へのレスポンスはとても intrusive だ。山本貴志さんによるパッチは、それほどたくさんの intrusive な変更をせずに問題を解決することができるとてもエレガントな方法を提案してくれた。アイデアはシンプルで、ちょっとした調整をするだけで動作するようになる。この led {?????} はレビューのため別の公開パッチとする。
This version already included an atf version of the test programs, which all passed (both on amd64 and sparc64). I felt pretty confident with this state and expected a smooth integration.
このバージョンでは既に ATF のテストプログラムも含んでいて、すべてパスした( amd64 と sparc64 の両方で )。この状態でとても自信を持てたし、滞りなく統合できそうだ。
Unexpected fallout (期待していない異常終了)
More for completeness I did a full test run (not only the posix_spawn related tests) - and found some unexpected test failures, all in rump based tests. I retried and got different failures. Suspicious - I did not touch rump, besides regenerating the syscall definitions. I rebooted a standard kernel (without posix_spawn), did a full test run and only got failures in the posix_spawn tests (of course). So something in the change must have broken something else.
まだすべてのテストを走らせていないし( posix_spawn 関連のテストだけでなく )、rump ベースのテストすべてのうちいくつか期待していないテスト失敗がある。再度試したら異なる失敗になった。rump には触れていないので、syscall 再定義により再生成されたところ以外があやしい。通常のカーネル( posix_spawn なし )で再起動し、全テストを実施したら当然ながら posix_spawn のテストだけが失敗した。つまり、変更したもの以外の他の何かが壊れているのだ。
Analysis was a painful process, so only a short summary of the results: the modified kernel exec path used a pointer to a kernel stack variable, which was later copied to a saved data structure - but the pointer was not adjusted accordingly. Later the pointer was referenced, and only a single bit checked. Depending on what was in memory at the stale old stack location at that time, a branch was taken or not. This caused the ELF auxiliary data vector to sometimes contain a different effective UID, and ld.elf_so switching into secure mode - in which case it ignores environment variables like LD_PRELOAD. This causes big failure in many test programs using rump (at least).
解析はしんどい作業だ。結果の短い概要しかない。exec path を適用したカーネルがカーネルスタックポインタの変数を使った場合、後でデータ構造を保存するためにコピーしているんだが、このポインタはそれに応じて調整されていない。後にこのポインタが参照され、1 bit のみチェックされる。このときの失効した古いスタック領域のメモリの内容に応じて、ブランチは取得されたりされなかったりする。これは、ELF auxiliary データベクターが時々異なる実効 UID { effective UID } を含むことが原因だった。その場合には LD_PRELOAD のような環境変数を無視する。これは rump(少なくとも)を使用している多くのテストプログラムで大きな障害が発生する。
While I was debugging this, discussions continued. We were not sure if we should add complex code like this to the kernel, where a pure userland implementation clearly is possible (FreeBSD uses this, for example). I did a few benchmark runs, but was unable to show any clear performance benefit for either implementation - the differences were in the sub-promille ranges, with noise in the 2-3 percent range, clearly no usable result from a statistical point of view. Another topic under discussion was the near planned branch for NetBSD 6. According to our rules, we do not want to add a syscall post-branch to a release branch.
これをデバッグしている間も議論は継続している。このような複合コードをカーネルに追加しようとすることは自信が無いものだ。純粋にユーザーランドに閉じた実装 {implementation clearly} は可能だ( 例えば FreeBSD はそうしている )。いくつかベンチマークを走らせたが、実装の間でのそれほど明確なパフォーマンスの向上{ benefit }は見られなかった。違いは sub-promille ranges が 2, 3% の間でノイズがあった。はっきりいって、総合的に見て残念な結果{ no usable result }である。この議論では他に直近の NetBSD 6 ブランチ計画があった。我々の規則によるとリリースブランチの後のブランチに syscall を追加するのは望ましくない。
Go ahead, finally! (ついに!)
The discussions ended with the core team voting for a kernel version, and the release engineering team voting for a pre-netbsd-6-branch integration. So I updated my posix_spawn source tree, did another test build, ran tests (again on amd64 and sparc64), updated again - and committed in a few steps.
カーネルバージョンについてのコアチームによる投票と、リリースエンジニアリングチームの pre-netbsd-6-branch との統合の投票で議論は終了する。posix_spawn ソースツリーをアップデートしたので、他のテストビルドをし、テストをし( amd64 と sparc64 で )、再度アップデートし、これらの手順についてコミットする。
Big fallout (ヤバイ異常終了)
Checking mails early next morning (a Sunday, before walking the dog) I found a PR already: running the m4 configure script crashed i386 and amd64 kernels. Tsutsui kindly had provided a backtrace in the report, and it looked suspiciously familiar to me. While walking the dog I thought about it and when I got home I checked: indeed I had seen and fixed this before, when testing error paths in the first instance of the change. However, when dropping all the intrusive modifications I had in my tree and redoing the version without them, I must have accidentally dropped the fix for this (it was in sys/uvm instead of sys/kern). No big deal, I had fixed it once already, so I could fix it again. Committed, asked for verification - and did get a NAK. However, with a different back trace this time. Tried on my amd64 notebook - worked for me. Duh?
翌朝メールをチェックして( ニチアサの犬の散歩に行く前に )、既に PR されているのを見つけた。i386 と amd64 カーネルで m4 設定スクリプトを走らせるとクラッシュする。筒井さんがレポートにバックトレースを提供してくれたんだが、私にはちょっと信じられなかった。犬の散歩をしている間 これについて考え、帰宅してから、修正する前にこの変更の最初の実例でテストがパスしたことをたしかに確認した。しかし自分のツリーですべての変更を破棄し、これら抜きのバージョンで再度実施したら、全て落た。この突然死を修正せねばならない( これは sys/kern を含む sys/uvm にある )。どうということはない。すでに一度修正したので再度修正できた。コミットし、適当かどうかを訊いてみたが、とくに拒否されなかった{ NAK }のだが、異論があればバックトレースする。自分の amd64 ノートブックで試したらウマくいった。あれ?
Looking at the code and fixing the second fallout now was straight forward, and also provided the hint why I did not see it before: I was not running a GENERIC kernel on my notebook, and had (some time way back in the past) removed options DIAGNOSTIC from this configuration. Stupid me!
コードを見ると第二の異常終了が修正されていることはすぐ分かった { straight forward ????? }。私が以前やったことのヒントがあった。設定から DIAGNOSTIC (ときどき過去に遡る方法として使われる) を削除した GENERIC カーネルを自分のノートブックで動作させていなかったのである。あたしって、ほんとバカ
I received more feedback (YAMAMOTO-san pointed out some race conditions) and had a discussion about the place where the test programs should live in the source. To not risk delaying the netbsd-6 branch, I applied a minimal fix for the races, moved the test programs - and added a few more test cases covering the initial m4 configure problems (the rework earlier had made it pretty simple now to test all error paths from atf test cases).
さらにフィードバックをもらった( 山本さんがいくつか競合状態を示してくれた )。ソースのどこにテストプログラムを設置するか議論した。netbsd-6 ブランチに間に合わないことは問題ではない。競合へのちょっとした修正を適用し、テストプログラムを移動し、初期設定 m4 問題をカバーするテストを追加した( この再作業は atf テストケースでは早い段階から全テストをパスしていた )
This caused the automatic test setup to crash on every run ("Tests did not complete"). At this point I am still not sure why I did not catch this before commit - but there is no point in arguing, human failure - my fault (most likely explanation: after the last changes to the test cases, I did not test again on amd64 but only sparc64 - the test cases triggered a KASSERT in the x86 pmap, but not in the sparc64 one).
これにより、自動テストセットアップは毎回クラッシュするようになった ("Tests did not complete")。この時点で私がだコミットする前にこれをキャッチしなかった理由は不明だ。しかし私の失敗が人為的ミスであったということを指し示すものはない。( 説明: テストケースを最後に変更した後に、sparc64 でのみテストし、amd64 ではテストしてない。このテストケースは x86 pmap で KASSERT のトリガーになるのだが、sparc64 にはないのである )。
I fixed this, and also another PR, interestingly about m4 configure again. Simple argument validation bug, not covered by the test cases yet - so I added another test.
これと他の PR も修正し、件の m4 を再度設定する。単純な引数の検証のバグはまだテストケースでカバーされていないので他のテストを追加した。
Are we there yet? (ほかには?)
Luckily fallout seems to have stopped now, but we are not completely there yet. The new process created by posix_spawn keeps the parent lwp blocked until it is done with all file descriptor modifications and setup, and the new process is ready to go to userland first time. This provides a proper error return value from the parent (the posix_spawn syscall itself), but it stops the new child from (for example) already running on another CPU early. This will be simple to change, but after all the fallout we have seen, I will only touch it after very extensive testing again.
運よく異常終了が停止したら、それはまだ完成していない箇所だ。posix_spawn によって生成された新しいプロセスは、全てのファイルディスクリプタを更新してセットアップする間 親の lwp をブロックする。新しいプロセスは、最初にユーザーランドとして準備される。この提供は、親から proper error を返す( posix_spawn システムコール自身による )。が、新しい子が、たとえばすでに別 CPU で動作していたりしたら、停止させる。この変更は簡単だろうけど、それでもまだ異常終了に遭遇する。再び非常に広範なテストの後に触れたいと思う。
Lessons learned (教訓)
When bringing in a new syscall with several supporting libc functions, fallout is always to be expected. It can be minimized by including test programs early - but in the end, real life will teach you what tests you have missed when writing the test programs. It is also important do full test suite runs early, and test on different architectures. Even better if you test on kernels with (at least) DIAGNOSTIC enabled. But in the end, mistakes will happen nevertheless.
いくつか新しいシステムコールに対応した libc 関数を使用すると異常終了がいつでも期待できるようになった。これは早期のテストプログラムによって最小限に抑えることができる。しかし最後にはテストプログラムを書くきに見逃していたテストを教えてくれる。それは、早期の完全テストを実施することが重要だということであり、異なるアーキテクチャでテストしろということだ。少なくとも DIAGNOSTIC を有効にしてカーネルをテストするとより良い。それでもやはりミスは起きるだろう。
2012-03-16 :-(
_ [NetBSD][X][xorg][vmware]NetBSD/i386(vmware) に xorg をインストールしてみた
ref. how to install modular xorg
手順は↑ここのそのまま。NetBSD インストール時に X はインストールしてない。
/etc/mk.conf 追加
X11_TYPE=modular
インストールしてく
# cd /usr/pkgsrc/x11/modular-xorg-server # make install clean clean-depends
# cd /usr/pkgsrc/meta-pkgs/modular-xorg-apps # make install clean clean-depends
# cd /usr/pkgsrc/meta-pkgs/modular-xorg-fonts # make install clean clean-depends
# cd /usr/pkgsrc/x11/xf86-input-keyboard # make install clean clean-depends
# cd /usr/pkgsrc/x11/xf86-input-mouse # make install clean clean-depends
ホストOS ( Microsoft Windows7 64bit )が乗ってるのが Dell Inspiron 580 なんだが Windows のデバイスマネージャーを見るとディスプレイアダプタが NVIDIA GeForce 310 らしいので nv を入れてみた。
# cd /usr/pkgsrc/x11/xf86-video-nv # make install clean clean-depends
設定してみる。
# X -configure
怒られた。
(II) Loading extension DRI2 (II) LoadModule: "vmware" (WW) Warning, couldn't open module vmware (II) UnloadModule: "vmware" (EE) Failed to load module "vmware" (module does not exist, 0) (II) LoadModule: "vesa" (WW) Warning, couldn't open module vesa (II) UnloadModule: "vesa" (EE) Failed to load module "vesa" (module does not exist, 0) (II) LoadModule: "fbdev" (WW) Warning, couldn't open module fbdev (II) UnloadModule: "fbdev" (EE) Failed to load module "fbdev" (module does not exist, 0) (II) LoadModule: "mouse" (II) Loading /usr/pkg/lib/xorg/modules/input//mouse_drv.so (II) Module mouse: vendor="X.Org Foundation" compiled for 1.6.5, module version = 1.4.0 Module class: X.Org XInput Driver ABI class: X.Org XInput driver, version 4.0 (II) LoadModule: "kbd" (II) Loading /usr/pkg/lib/xorg/modules/input//kbd_drv.so (II) Module kbd: vendor="X.Org Foundation" compiled for 1.6.5, module version = 1.3.2 Module class: X.Org XInput Driver ABI class: X.Org XInput driver, version 4.0 (EE) No drivers available. Fatal server error: no screens found Please consult the The NetBSD Foundation support at http://www.pkgsrc.org/ for help. Please also check the log file at "/var/log/Xorg.0.log" for additional information.
ググってみたらというか本家に vmware 用ドライバ入れろと書いてあった。
# cd /usr/pkgsrc/x11/xf86-video-vmware # make install clean clean-depends
# cd /usr/pkgsrc/x11/xf86-input-vmmouse # make install clean clean-depends
再度設定
# X -configure
おもむろに起動してみる。
# startx
わーい X が起動したよー
2012-03-17 :-)
_ 午前
1130 起床 || 部屋掃除
_ 26歳
仕事場のひとが 26 歳だというので、じゃあ私が 26 歳のとき何やってたかというと 8 年前なんだがまったく覚えていないので過去の日記( 2004 年 )を読んでみたら稲沢とか通ってた時期だった。当時はよく過労死しなかったなあとかいろいろ。
あの頃は楽しかった。プライベートが。
_ タイトル
当日記のタイトルを「をたの日々」と読み違える事例が頻発している。といったことを 10 年前にも書いており、当時はあまりにも皆が読み違えるのでタイトルを手書きしたことがある。
_ ,
あーだこーだとモーニョモーニョすることがたまによくあるので 2 ヶ月に 1 度くらいは友人たちと鮭でも飲みながらグダグダしないとそろそろ萌えが足りない。鮭の丸呑み
_ 3月16日 午前5時30分
などということは当日になってもまったくもってさっぱり頭のスミにも考えが無かったんだけど昔は好きだった。最近はエアリスとザックスが結婚したということくらいしか把握してない( 坂本真綾さん、鈴村健一さんが結婚!エアリスとザックスだ…。 )
2012-03-18 :-)
_ [NetBSD][fluxbox]NetBSD/i386(vmware) で fluxbox を入れてみる(メニューがアレ)
フォントとか関係ありそうなのインストール
# cd /usr/pkgsrc/fonts/vlgothic-ttf # make install clean clean-depends
↓↓↓↓ほげったので放置
# cd /usr/pkgsrc/wm/fluxconf # make install clean clean-depends
# cd /usr/pkgsrc/wm/fluxter # make install clean clean-depends
↑↑↑↑ほげったので放置
メニューが文字化け(?)する。
.fluxbox をどうのこうのしてどうのこうの
% cd ~/.fluxbox % nkf -g * apps: ASCII init: ASCII keys: ASCII lastwallpaper: ASCII menu: EUC-JP overlay: ASCII slitlist: ASCII windowmenu: ASCII
% nkf -w --overwrite menu
menu に {UTF-8} とか書いて、日本語フォントをインストールして .fluxbox/overlay に
*.font: sazanami gothic-12
などと書いてみたんだがいまだに文字化け(?) するので menu の日本語部分を英語に書き換えてその場しのぎ。あでも下部のメニューとかダメか。
2012-03-19 :-(
_ 夜
2200 飯
_ Agile do IT !
@新宿NSビル Bホール
基礎知識としてはこの辺を読んでおけということで
- スクラムガイド (PDF)
- ゲーム開発プロジェクトマネジメント講座 株式会社スクウェア・エニックス CTO橋本善久 (PDF)
4274068560
Yahoo! のひとたちと DeNA のひとたちは事例を紹介しながら喧々諤々など。
質問者「スクラムやって経営層のひとたちは何か変わりましたか?」
Y! 「経営層が変わっちゃった、というのではダメですかね」
会場爆笑
あとはひたすら守破離してく感じですかねー
_ [NetBSD][翻訳]NetBSD Blog - New NetBSD flyers available わーい NetBSD の新しいフライヤーできたよー
March 18, 2012 posted by Benny Siegert
For informing our peers about NetBSD, for distributing at a conference or meet-up, or simply as a concise introduction - new NetBSD flyers are now available at http://www.NetBSD.org/gallery/advocacy/. They are made to be printed on A4 paper and folded twice. English and German versions are provided.
新しい NetBSD フライヤーが http://www.NetBSD.org/gallery/advocacy/ で利用できるようになった。NetBSD について知人に知らせたり、カンファレンスやミーティング {勉強会????} で配布したり、あるいは布教用として使用するとよい。A4 用紙に印刷して2回折られるように作った。英語とドイツ語版を用意した。
At the moment, there are three flyers: "What is NetBSD?" gives an overview about the project and the OS, while "Tips and Tricks for NetBSD newcomers" and "NetBSD for Newcomers - Switching from GNU/Linux" are more aimed at people who already know similar operating systems, particularly GNU/Linux, and want to know more about the differences between these systems and NetBSD.
現在フライヤーは 3 つある。"What is NetBSD?" はプロジェクトの概要と NetBSD について。 "Tips and Tricks for NetBSD newcomers" と "NetBSD for Newcomers - Switching from GNU/Linux" は特に GNU/Linux のようなオペレーティングシステムを既に利用しているひと向けに。これらのシステムと NetBSD の違いについて詳細を書いた。
We are very grateful to Julian Fagir, who provided these flyers to the project.
これらのフライヤーをプロジェクトに提供してくれた Julian Fagir に感謝する。
2012-03-20 :-)
_ NetBSD 6 BETA
VMware に入れただけ。rika って誰だ
rika$ uname -a NetBSD rika.area51.gr.jp 6.0_BETA NetBSD 6.0_BETA (GENERIC) i386
2012-03-21 :-(
_ [Ruby][静的解析]Ruby の静的解析ツールを使ってみたんだがー
いくつかあるらしいんだが 2009 年の記事。
- InfoQ: Ruby Static Analysis Tools Roundup: metric_fu, Simian, Saikuro and More
- InfoQ: 静的解析ツールの総まとめ:Roodi、Rufus、Reek、Flay
Reek
Reek を使ってみる。( Flog と Flay は同じ作者なんだがウェブページがキモイので避けた )
Kevin Rutherford氏によるReekは「Rubyのためのコードスメル(編集部注:より深部に存在する問題を指し示している可能性のある、プログラムのソースコードに見られる徴候のこと(Wikipediaより:http://en.wikipedia.org/wiki/Code_smell))検知器」である。Reekには、長いメソッドボディや大きなクラス、望ましくない名前などを検知するリストがついてくる。このチェックはSexpProcessorのサブクラスとして書かれており、AST上のビジターとして機能する。ReekのコードはGithubで提供されている。
インストール。怒られた
% gem install reek ERROR: While executing gem ... (Gem::DependencyError) Unable to resolve dependencies: ruby_parser requires ParseTree (>= 0), ParseTree (>= 0); ruby2ruby requires ParseTree (~> 3.0), ParseTree (~> 3.0), ParseTree (~> 3.0)
依存のアレをインストール。怒られた
% gem install ParseTree Fetching: ZenTest-4.7.0.gem (100%) ERROR: Error installing ParseTree: ZenTest requires RubyGems version ~> 1.8. Try 'gem update --system' to update RubyGems itself.
素直に update
% gem update --system
依存のアレをインストール
% gem install ParseTree
インストール
% gem install reek
とりあえず demo を試す。
% reek reekdemo.rb /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:10: warning: already initialized constant ENC_NONE /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:11: warning: already initialized constant ENC_EUC /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:12: warning: already initialized constant ENC_SJIS /usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:13: warning: already initialized constant ENC_UTF8 reekdemo.rb -- 6 warnings: Dirty has no descriptive comment (IrresponsibleModule) Dirty#awful has 4 parameters (LongParameterList) Dirty#awful has boolean parameter 'log' (ControlCouple) Dirty#awful has the parameter name 'x' (UncommunicativeName) Dirty#awful has the parameter name 'y' (UncommunicativeName) Dirty#awful has the variable name 'w' (UncommunicativeName)
なんかいろいろ言われた。
Issue #88: Reek breaks with ruby2ruby 1.3.1 - kevinrutherford/reek
?
それはそれとして未定義変数はチェックできないらしい。
こういうコード
p a['not exist']
未定義
% ruby reekdemo1.rb reekdemo1.rb:1: undefined local variable or method `a' for main:Object (NameError)
reek してみる。
% reek reekdemo1.rb reekdemo1.rb -- 0 warnings
(´・ω・`)
flay
flay も試してみた。
% flay reekdemo1.rb Total score (lower is better) = 0
(´・ω・`)
_ [python][pit]python pit
Pythonでの、Pitの使い方 世界一わかりやすいムービー付き - When it’s ready. (a2c.get.diary)
テキトーにインストール
% sudo easy_install pit
とか、tar を取得したのならば setup.py を実行する。
% sudo setup.py install
EDITOR を設定しとく
% export EDITOR=vim % echo $EDITOR vim
試してみる
% python >>> from pit import Pit >>> conf = Pit.get('label', {'require':{'login':'your ID','passwd':'GoMa'}}) (ここでEDITORが起動するのでテキトーに入力) >>> conf['login'] 'homura' >>> conf['passwd'] 'akemi' >>> conf {'passwd': 'akemi', 'login': 'homura'}
ほむほむ
2012-03-22 :-(
_ [awesome]awesome を入れてみた
awesome(おーさむ)は、X Window System上で動作する動的タイル型ウィンドウマネージャ。CおよびLua言語で開発されている。その開発はdwmからフォークして始まり、超小型かつ高速であること、フロート配置、タイル配置、およびそれらの複合といった複数のレイアウトをサポートすることを目指している。
インストール
ひたすら make する。
% cd /usr/pkgsrc/wm/awesome % make update clean clean-depends
途中で
different version xxxx already installed
などと言われたら
% cd /usr/pkgsrc/pkgtools/pkg_tarup/ % make install clean clean-depends
して、怒られたパッケージで
% make replace
してからまた awesome に戻って
% cd /usr/pkgsrc/wm/awesome % make update clean clean-depends
を繰り返すといいらしい。知らね分かんね。
インストールオワタ
% which awesome /usr/pkg/bin/awesome
起動
.xinitrc とか .xsession に以下を書いておく。
exec /usr/pkg/bin/awesome
起動。使い方が分からん
参考
_ [NetBSD]NetBSD6 BETA が Can't open /boot と言った! なぜか!
知らね分かんね
Tracking NetBSD-current - Updating an existing system from a current snapshot
ここの手順どおりにやる。
# uname -a NetBSD yukina.area51.gr.jp 5.1 NetBSD 5.1 (GENERIC) #0: Sun Nov 7 14:39:56 UTC 2010 builds@b6.netbsd.org:/home/builds/ab/netbsd-5-1-RELEASE/i386/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/i386/compile/GENERIC i386
FFSv2
# dumpfs /dev/rwd0a | head file system: /dev/rwd0a endian little-endian magic 11954 (UFS1) time Fri Mar 23 07:39:27 2012 superblock location 8192 id [ 4da614ee 375e3276 ] cylgrp dynamic inodes 4.4BSD sblock FFSv2 fslevel 4 nbfree 32815 ndir 108 nifree 132330 nffree 98 ncg 12 size 557077 blocks 539972 bsize 8192 shift 13 mask 0xffffe000 fsize 1024 shift 10 mask 0xfffffc00 frag 8 shift 3 fsbtodb 1
取得
% ftp://ftp4.jp.netbsd.org/ ftp> cd pub/NetBSD/NetBSD-6.0_BETA/i386/binary/sets/ ftp> prompt ftp> mget *.tgz
カーネル
$ su # cd /root # tar -zxpf ~/kern-GENERIC.tgz # ln -fh /netbsd /netbsd.old # cp netbsd /netbsd.new # ln -fh /netbsd.new /netbsd
ブートローダー
# tar -C /tmp -zxf ~/base.tgz ./usr/mdec # cp /tmp/usr/mdec/boot / # installboot -v /dev/rwd0a /tmp/usr/mdec/bootxx_ffsv2
モジュール
# cd / # tar -zxpf ~/modules.tgz
再起動
# shutdown -r now
Boot failed (errno 2): Can't open /boot
だそうだ。
なおブートローダーの手順を省いたらちゃんと(?) 起動した。
2012-03-23 :-(
_ 夜
1745 飯
_ 慰労会 1 次会
昔サロさんと飯食ったところだった[ 20090706#p03 ]
私がチームから離別する( といっても座席は移動しないので送別会というかなんというか )ので送別会らしきものを開催していただいた。
_ リッジレーサー7
0:31 付近でエンジン音が変わると思ったら 5 速に落としてたのか。ということに今更気付いた。リッジでシフトダウンなんて初めて見た。(みしまんもコメント書いてた)
2012-03-24 :-)
_ 午後
1230 桜
_ [まつだ桜まつり][桜]第14回まつだ桜まつり
行ってきた。
開催期間が 3/11 までだったのが桜が咲く時期が遅れたため 3/25 まで延長された。先週日曜日に自宅近所の河津桜が 8 分咲きくらいだった[ 20120320#p02 ]ので、じゃあそろそろ散り始めるころだろうけどまだ残っていることを期待して行ってみた。ピークはきっと先週の土日だったろうし、そのとき( 晴れてただろう )と比べて今日が天候がいまいちだから人が少ないだろうという狙いもあった。多少葉が見えているがまだまだ桜が楽しめる様子だった。むしろ 4/1 まで延長されてた。
山を少し登ったところにあぐりパークというところがある( あぐりパーク苑 )。ここで菜花狩りが開催されていた( 菜花狩り ) ので菜花を狩ってきた。他にもいろいろな種類の桜があるなどして菜の花以外にも楽しめる。
2012-03-25 :-)
_ [NetBSD][Mini10v]DELL Inspiron Mini10v は死んだ! なぜだ!
昔 NetBSD をインストールして[ 20091219#p05 ] しばらくの間おうちサーバーとして利用していたんだけどもう限界だったようだ。
もはや別計算機から ssh すら出来ないので目で書き写した。これが彼の最後の言葉だった。
wd0g: error reading fsbn 229164768 of 229164768-229164799 (wd0 bn 297355023; cn 294995 tn 1 sn 0), retrying piixide0 channel 0: reset failed for drive 0 piixied0:0:0: wait timed out
ググったら深町さんのとこにヒットした( NetBSD ファイルサーバの構築 )んだが「ディスク交換しろ」と書いてあった。はい
_ [リッジレーサー7][RR7]リッジレーサー7 弥生GP - リッジレーサー7
今回もカテ 4 。FLOW さんの優勝であった。
- ANSΩFLOW 187
- SOLARE 161
- ANSΩ三嶋出雲 128
- ANSΩmiwarin 102
- megu.Girls 101
- Locus 95
- ANSΩ限無 75
- agumon 70
- ANSΩファブリーズ 25
- かず 18
- ANSΩkeyaki 10
ファブリーズさんと emotion さんを ANS に勧誘したら入ってくれたので( メンバー - リッジレーサー7 ) ANSΩ のひとが増えた。
2012-03-26 :-(
_ 夜
1800 買い物未遂
2000 飯。豚肉の生姜焼き
2230 NHK サラメシ なるもの。シックス・アパート とか登場してるんですけど。ということは drikin.tv の女性も写ってたんだろかと思ったら写ってたらしい → @mayumine
2300 mercurialほげ
_ [Mercurial]Mercurial でホームディレクトリを云々
ホームディレクトリをGitで簡単に管理するための.gitignore活用法 というエントリを見かけたのでよーしパパホームディレクトリ管理しちゃうぞー、とか言ってみるの。
github 方面などで Git が盛り上がっているので、せっかくだから Mercurial を使うことにした。
.hgignore とか何も設定してない。
.hgrc だけ書いた。
[ui] username=Susumu Miwa <hogehoge@example.com>
.vim などドットで始まる {ファイル, ディレクトリ} の扱いが分からなかったんだけど . を指定すればイケるらしい。
% cd % hg init % hg add . % hg ci . -m create
ref.
_ 迅帝 [ども、みわ兄さん お久しぶりです! 覚えていますか? 迅帝っす PS3機能停止してしもうたわ そんじゃーまた]