川獺の外部記憶

なんでも残しておく闇鍋みたいな備忘録

Windowsのmsiパッケージを編集する

最近、Visual Studio Installer Projects でmsiを作る手法をよく使います。

この手法は非常に簡単な一方、msi本来の機能の一部しか活かせません。

基本的にはInstaller Projectsの容易さを享受しつつ、どうしても必要になったところだけマニュアル操作で組み替えられないか色々試してみた結果、Pythonの標準ライブラリ「msilib」を用いて弄る方法がしっくり来たので紹介します。*1

なかなかこんなことする人が居ないからか、情報がほとんどなくて少し辛かったです。

*1:Pythonにこだわったわけではなく、目的から色々試行錯誤した結果、なぜかPythonに帰ってきました。なんでこんな標準ライブラリまで用意されてるんでしょうね… 驚きました。

続きを読む

Windows PCでAnsible(サーバ)を使えるようにする

Dockerなどの現代的なものが使えない環境を想定します。
ワークアラウンドとして、今回はCygwinを使います。(頑張ればMSYS2でも行けそう。)

下記構成でCygwinをセットアップします。

依存関係でPythonやらなんやらが色々入ります。Pythonは3.6系が入りました。
こだわらないのでアップデートとかは考えないです。

Ansibleを動かしたいディレクトリに下記内容のバッチファイルを作成します。

set CHERE_INVOKING=yes
if exist C:\cygwin64 (
    set CYGROOT=C:\cygwin64
)
if exist C:\cygwin (
    set CYGROOT=C:\cygwin
)
start /d "%~dp0" /b %CYGROOT%\bin\bash --login -i -c "ls -lah && ansible"

作成したbatをダブルクリックします。(lsコマンドとansibleコマンドを実行するだけのHelloWorldが走ります。)

Jenkinsの設定からメール設定情報を引き抜く

Jenkinsサーバの中からメール設定(SMTP設定)を引き抜く手法について、実験してみたことのメモです。

注意:
本手順は管理権限を濫用した行為とみなされる場合があります。また、認証情報に個人情報が含まれる場合、濫用とみなされるか否かに関わらず、本手順を適用しないようにして下さい。(システム管理権限者としての最低限の責務です。)

続きを読む

レザークラフトとその道具の紹介

世の中がCOVID-19で自粛ムードなので、お家で引きこもってやりたかったことを潰していく毎日です。

今日は愛用している自作の定期入れがほつれてきてたのを縫い直していました。

f:id:marineotter:20200411145232j:plain:w300 f:id:marineotter:20200411150002j:plain:w300

(鍵とか小銭とか入れておけるのがこだわりポイントです。開口部が危なっかしく見えますが、5年使ってて一度も中の物が飛び出したことが無いのが自慢の設計です。)

趣味としてのレザークラフト、細かいところにこだわらなければ簡単に作れて、自分の使い方に完全に合ったものを長く使うことができるので良いです。*1

材料費も安く、楽しんで裁縫をできる人なら長く楽しめる趣味になるのではないでしょうか。

というわけで布教がてら、うちで使っているレザークラフト道具のうち、必須と思っているものを紹介してみます。

*1:革と糸と無心で向かい合ってると気分転換にもなります。

続きを読む

故障確率の推定と寿命予測

はじめに

特定の操作Oを行ったときに、確率pでサージ電圧が掛かるモジュールがある。 当該のモジュールはn-1回までサージ電圧に耐えられるが、n回目のサージ電圧で故障してしまう。

当該のモジュールは繰り返し操作Oを一日あたりm回行う条件下で動作する。一度故障したモジュールは交換され、同じ条件下で動作を続ける。

というモジュールとシステムについて、故障予測を行います。

寿命予測がらみの実験結果の解析手順としてそこそこ汎用なのではないかなと思いますが、あまりググっても知見が引っかからなかったので我流でまとめました。調べ方が悪いのかもしれません。

信頼性工学は専攻したわけではなく素人です。指摘がほしいです。

続きを読む