DSC08514

これまでThinkPad X201sを使っていたのですが、X1 Carbonに買い換えました。X201sとの付き合いは長く、大学に通っていた頃からなのですが、以来アメリカに持って行ったり、イギリスに持って行ったり、SSD、メモリを換装したり、果てはスプライトをぶちまけてキーボードを交換したりと、、思い出深いマシンです。自転車の前かごに突っ込んで通学するとか、かなり雑に扱っていたのですが、ちょくちょくメンテしてやることで今日まで快調そのもので、気が付けば約7年、買い替えることなく来れたのですが、流石にそろそろ良い歳だよねということで、X1 Carbon 4thモデルを導入しました。

で、X1 Carbon。7年間の技術進歩は凄いですね。とにかく薄い。デスクトップPCに繋いでいる旧タイプのThinkPad USBキーボードと大して厚みが変わらない。それでいて華奢な感じがせず、しっかり剛性を保っているので、安心して?自転車の前かごに突っ込めます(笑)。

マシンスペックですが、思い切って奮発して16GBメモリのモデルにしてみました。8GBでも良い気がしたのですが、Javaまわりのツールはメモリ食いが多いですし(最低8GB、推奨16GBのPCF Devとか)、Ultrabookはメモリの換装が利かないので16GB。まだ届きたてでセットアップの最中なので、使い込むのはこれからですが、X201sのように良い付き合いが出来るといいなぁと思います。

 

最後に自分の部屋のデスク周り晒し。……気が付けば完全にPCにデスクを占拠されてしまいました。

DSC08510

JAN
1

明けましておめでとうございます

Published:2017-01-01 10:15:15 UTC

明けましておめでとうございます。本年もよろしくお願いいたします。

一昨年の12月よりSI会社に異動し、最近はSpringに関する社内向けのプロジェクト支援業務に従事する部署で、
札幌や金沢、幕張の拠点を行き来する生活です。

とはいえ前職はサービスプロバイダで、とあるサービスをRubyで保守・開発していた身なので、
ガチガチのJava/Springを用いたウォーターフォール開発のプロジェクト支援がいきなり出来る筈もなく、、
昨年は泥縄式にウォーターフォールによるプロジェクト管理とSpringを学ぶ一年となり、学ぶところの多い一方で、
外向けのアウトプットの少ない、苦しい一年でした。

ただ、その甲斐あって、最近はようやく理解が追いつきつつあると感じているところです。
本年は経験を血肉とし、実際に役立てていける、そんな年にしていきたいと思います。

どうぞよろしくお願いいたします。

https://jira.sonarsource.com/jira/secure/ReleaseNote.jspa?projectId=10935&version=12999

新しく追加された機能として、xunit.netのサポートがあり、xunit.netの実行結果レポートXMLを解釈して取り込むことが出来るようになっています。

但し、テスト用のユーティリティクラスを詰め込んだ、テストケースが一つも含まれていないテストアセンブリがあると、レポートXMLの解釈に失敗して以下のようなエラーを吐くようです。とりあえずダミーのテストケースを追加しておくと回避できます。

ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
	at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
	at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
	at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
	at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
	at org.sonar.runner.api.Runner.execute(Runner.java:100)
	at org.sonar.runner.Main.executeTask(Main.java:70)
	at org.sonar.runner.Main.execute(Main.java:59)
	at org.sonar.runner.Main.main(Main.java:53)
Caused by: org.sonar.plugins.dotnet.tests.ParseErrorException: Missing attribute "total" in element <assembly> in
APR
17

今回は、pipでsphinxをインストールするが、システムワイドではインストールせず、venvでプロジェクトローカルにインストールするものとする。

 

まずはvenvのアップデート。Ubuntu14.04のインストール直後のpython3.4-venvはバグがあるので、アップデートが必要。

sudo apt-get install python3.4-venv

pyvenv-3.4コマンドでvenvを作成

pyvenv-3.4 venv

venvに入る

source venv/bin/activate

sphinxのインストール

(venv)   $ pip install sphinx sphinx_rtd_theme

sphinxの初期設定

(venv)   $ sphinx-quickstart # ダイアログにそって良しなに

(venv)   $ sed -ie "s/html_theme = 'default'/html_theme = 'sphinx_rtd_theme'/g" conf.py # テーマの変更

HTMLのビルド

(venv)   $ make html

出来上がり。

image

JUL
25

“The Martian”観たい

Published:2015-07-25 01:31:22 UTC

“The Martian”が面白そう。原作は同名小説(邦題は「火星の人」)で、事故で火星に取り残された宇宙飛行士が、火星でサバイバルしながら何とか地球とコンタクトを取り、救出を待つ、というもの。主演がマット・デイモンで他の星に取り残された宇宙飛行士という設定は「インターステラー」を思い起こしてしまうが、さてはて。

 

ACT-SBY構成を組む場合、リソースの調停にpacemaker/corosyncを使う場合が多いと思いますが、リソースが何らかの原因でフェールオーバーした場合にメールで通知を受けたい場合、どう実装するのが良いのかこの間悩んだ際のメモ。

ネット上で良く紹介されている方法として、MailTo ocfリソースを作り、監視したいリソースと同一ノードで動作するようcolocation設定をするというものがありますが、MailTo ocfリソースはstart、stopイベントに反応して常にメールを送信するため、計画メンテナンス時に非監視設定にし、アラートメールを飛ばさないように設定するということが出来ない(MailToリソースを通常の手順でstopさせた場合もアラートメールが発報されてしまう)問題があります。

 

CRMリソース設定

primitive mailto ocf:heartbeat:MailTo \
   params \
      email=<your mail address> \
   op monitor \
      depth="0" timeout="10s" interval="10s"

 

何か別に良い方法がないかと探していたところ見つけたのが、以下のcrm_monコマンドを使用する方法。

crm_monコマンドには–mail-toオプションがあり、リソースがフェールオーバーしたときにアラートメールを送信してくれます。こちらをUpstartでサービスとして動作させることで、監視を有効化しておきたい時だけサービスを立ち上げ、監視を無効化したいときはサービスを停止することで対応できました。

 

/etc/init/pacemaker-monitor

# pacemaker-monitor
#
# pacemakerを監視し、failoverが発生した場合はアラートを発報します
 
description     "pacemaker-monitor"
 
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
 
respawn
respawn limit 10 5
umask 022
 
console output
 
exec crm_mon --mail-host=<mail host>:<mail host port> --mail-to=<your mail address> --mail-prefix="<your mail prefix>"

何かの参考になれば。

JUL
24

YAMAHA RTX1200買いました

Published:2015-07-24 23:20:55 UTC

YAMAHA RTX1200を中古で買いました。L2TP/IPsecでのリモートアクセスVPNに対応した物理ルータが2万円台で手に入るとは良い時代です。設定もGUIで大半が済ませられるのが手軽で良いですね。CUIは、シリアルケーブルとしてメス-メスのクロスケーブルが必要でかつ文字コードがShift-JISなのが少し面倒です。Ciscoケーブルが使えれば良かったのですが。

ともあれ、手軽で良いルータです。人気の商品は、それだけの理由がありますね。

VS14 CTP環境のRoslynでMSBuildWorkspace.Create();を実行すると、Microsoft.Buildのアセンブリが見つからないというエラーが発生し、Workspace APIが使えないという問題ですが、Microsoft Build Tools 2013をインストールすると解決するようです。

roslyn.codeplex.com/workitem/218

yum install pyliblzma

するとよい。
cobblerでepel7 betaのレポジトリのsyncをしようとしてハマった。

2014-05-28 12:33:56,782 DEBUG [kvm.storage.KVMStorageProcessor] (agentRequest-Handler-1:null) Copying template to primary storage, template format is qcow2
2014-05-28 12:33:56,798 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) copyPhysicalDisk: disk size:305463296, virtualsize:305459200 format:qcow2
2014-05-28 12:33:56,798 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) <volume>
<name>87d6232c-e681-11e3-b200-000c294946bd</name>
<capacity>305459200</capacity>
<target>
<format type='qcow2'/>
<permissions><mode>0744</mode></permissions></target>
</volume>

2014-05-28 12:33:56,848 DEBUG [utils.script.Script] (agentRequest-Handler-1:null) Executing: qemu-img info /mnt/7bd7a6e6-33b1-3314-a8e2-67d6de51e7a7/427295ce-95c1-4360-9c1d-c2de11a6cdca.qcow2
2014-05-28 12:33:56,859 DEBUG [utils.script.Script] (agentRequest-Handler-1:null) Exit value is 1
2014-05-28 12:33:56,860 DEBUG [utils.script.Script] (agentRequest-Handler-1:null) 'image' uses a qcow2 feature which is not supported by this qemu version: QCOW version 3Could not open '/mnt/7bd7a6e6-33b1-3314-a8e2-67d6de51e7a7/427295ce-95c1-4360-9c1d-c2de11a6cdca.qcow2': Operation not supported

ビルドした環境のqemu-imgのバージョンと、systemvmが稼動するKVM hostのqemuのバージョンがずれていると、qcow2イメージが読めずに起動しない場合があります。