トップ «前の日(03-10) 最新 次の日(03-12)» 追記

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2008-03-11

_ [unix]シェルの検索パスに使える文字

よく考えれば当たり前の話ですが、シェルの検索パスとして使える パス名を構成する文字には":"は含まれません

所謂、Bourne shell /bin/shの検索パスは、環境変数PATHに ":"を区切り文字として列挙されるので、":"を含んだパスは 使えません。「バックスラッシュエスケープ出来る」と思う人も 居るかもしれませんが、PATH変数としては"\\"は ただの文字リテラルなのでエスケープ出来ません。

これが、/bin/cshだとシェル変数pathは空白区切りで 設定するので、csh自身がコマンドを探す場合は問題なく 使えてしまうのですが、コマンド検索が/bin/shや system call 経由になった瞬間に誤作動しますので、要注意です。

似たような例に、makeのソースやターゲット名に":"を 含むファイル名が使えないと言う罠もありますね

_ [SAD]Messageについて

SADScriptの関数は、内部エラーに関して itfmessage_()関数経由で エラーを通知するものがあります。 これらのエラー通知は、関数の返り値ではなく Messageとして送出され、 Messageが送出された事実はCheck[]関数でトラップすることが 出来るのですが、発生したMessageとその内容を知る術が実はありません Orz コマンドラインからの実行に対しては、MessageList[]関数がありますが Messageの名前だけで付属のパラメータは記録されていません。

つまり、ユーザー定義の関数で、例外が起こり得る関数を呼び出す際に Check[]で例外をトラップし、処理可能な例外は関数内で処理し、 処理できない例外に対しては関数の外側に例外を転送する処理が書けません。

仕方ないので、Add\$Message[]関数に細工して\$MessageLastに 最後に送出されたメッセージを記録するようにしました。

が、Check[]関数では例外を検知しますが、例外発生時点で式の評価が 止まるわけでは無いので、真面目に例外処理を書こうとすると面倒ですね。

Try[]ブロック構文でも、新設すべきかな?

C++の例外機構を知っている人間が勘違いしやすいものに、Catch[]関数が あるのですが、これはThrow[]関数による式評価からの非局所脱出を捕まえる 構文で、例外処理ではない罠。 これって純粋関数とReturn[]で記述できそうな気がしたけど、 純粋関数では Return[]使えないのね... Orz

つまり、f[arg_] := body;は、f := With[{arg = #1}, body];へ 書き換え可能では無いと...


2009-03-11

_ [FreeBSD]make -j8 buildworld

/etc/make.confの最適化オプションと NO_*を外した状態で、 /usr/objMFS化して再チャレンジ

% grep ^CPU /var/run/dmesg.boot
CPU: Quad-Core AMD Opteron(tm) Processor 2376 (2300.11-MHz K8-class CPU)
--------------------------------------------------------------
>>> World build completed on Wed Mar 11 16:27:12 JST 2009
--------------------------------------------------------------
3650.744u 990.505s 17:52.16 432.8%      6277+2052k 30871+7984io 4422pf+0w

あと残るのは、/usr/srcへの atime更新に伴うアクセスか?


2011-03-11

_ [雑記]生存なう!

地震被害に遭いました。

本棚や棚に載せていた荷物が散乱しています。

かろうじて寝床は確保。

ネット回線は復旧したけど、液晶モニタが一台破損。

あと、トイレの水が地震でぶちまけられたようで大変な状況に・・・


2019-03-11

_ [雑記]DeskstarNAS難民

WDによるHGSTブランドとその製品群の整理が始まった結果、UltrastarについてはWUS型番でWDブランドに統合されたが、DeskstarNAS相当の後続ラインナップはリリースされていない。

Heシールだった7200rpm/STATな8~12TBのDeskstarNAS相当品が WD Red Pro系には無いので、微妙に立ち位置が異なる。

現時点で、市場流通しているものだとTOSHIBAのNAS向けMN系列(~14TB)あたりが置き換え先か?

最近のSeagate製品に関しては、初年度の故障率は改善傾向との話も出ているが、まだ信用できる気がしない


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記