彷徨えるフジワラ

年がら年中さまよってます

コミットログ入力画面カスタマイズ機能実現の顛末

いつもであれば、年末の振り返りで他の修正と一緒に、「利用者から要望のあった○○○○に対処するパッチを投げて、取り込んでもらいました」で終わらせるところなのですが、下準備のために相当量のパッチを投げる必要があったので、備忘録代わりに公開しておき…

複数ルートなブランチの全ての差分の取得

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

Mercurial/TortoiseHg での差分表示に外部ツールを使う設定

本エントリでは、Mercurial/TortoiseHg で差分表示を行う際に、外部ツールを使いたい場合の設定方法について説明します。 注意: Windows 環境で実行する場合、Mercurial 3.2.1 〜 3.2.4 では、適切に設定されていても、外部マージツールの起動が失敗してしま…

OpenSolaris 勉強会 2014.06

日本OpenSolarisユーザーグループ主催の Tokyo OpenSolaris 勉強会 2014.06 に参加してきました。今回は、丸々 Solaris Internals 枠として使えたので、前回〜前々回を振り返りつつ、第11章「Kernel Memory」の、Slab アロケータ実装の詳細や、vmem アロケー…

Mercurial のブランチ、ブックマーク、タグの名前で使用を回避すべき文字

暫く前に、本家のユーザ ML 宛てに以下の質問が寄せられていました。 元々禁止されている文字以外に、ブランチ、ブックマーク、タグの名前に、使うべきではない文字ってある? (意訳) Mercurial では、以下の名前と: tip . (ドット) null 数字のみで構成され…

現在使用中のノートPCを延命

乗り換え先候補となるノートPCを、色々検討してみたりもしたのですが、最終的な結論として、当面は現在使用中の Let's note CF-J10 の使用を継続することにしました。但し、「特に何もしないでそのまま使用を継続」という訳にも行かなかったので、幾つか延命…

OpenSolaris 勉強会 2014.05

日本OpenSolarisユーザーグループ主催の Tokyo OpenSolaris 勉強会 2014.05 に参加してきました。今回は何故かドタキャンが多発して、参加者9名での開催でした。会場セキュリティの都合から、参加締め切りが前日になってしまっているため、「当日でもキャン…

ノートPC買い替え候補の調査

普段持ち歩いている Let's note CF-J10 を購入したのが、3年前の 2011年初夏でした。これまでの経験では、そろそろスペックの見劣りや、経年劣化による問題が出てくる頃なので、世代交代を念頭に入れておく必要があります。これまでの私のノートPC選定基準は…

Mercurial 開発環境におけるテストセット実行性能の改善

先に結論を書いておきますが、要するに: 利用可能な CPU コア数を増やし、高並列に実施すれば、早く終わる という、至極平凡な話です(笑)。 事の始まり 先日、自分の投函したパッチに関して、マスターリポジトリに変更が取り込まれる寸前に、ちょっとした…

OS毎のシステムコール実行性能 〜 その6(まとめ)

幾つかのシステムコールの実行性能をOS毎に計測して、「Mac OS X 上では、予想通りシステムコール実行性能が低めでした」という結論でサックリ終わる予定だったのですが、実際に計測してみると、思った以上に色々なバリエーションがあったため、予想外に内容…

OS毎のシステムコール実行性能 〜 その5

その1: fork, execve の性能計測 その2: vfork の性能計測 その3: fstat, lstat の性能計測 その4: getpid, gettimeofday の性能計測 その5: time, umask の性能計測 その6: まとめ time の性能比較 「システムコール実行性能の比較」という点では微妙ですが…

OS毎のシステムコール実行性能 〜 その4

本来であれば、その3までに実施した計測に先立って確認しておくべきなのですが、各OS毎の「システムコール実施自体のコスト」を、ここで改めて比較しようと思います。実のところ、「比較しようと思います」などと言いつつ、比較そのものは出来ていないのです…

SCMBootCamp in Nagoya #2

SCMBootCamp in Nagoya #2 に講師枠で参加してきました。運営お疲れ様でした! > id:kyon_mm今回、Mercurial 枠の応募者3名のうち、2名は Git 経験者、1名は SVN 経験者だったので、それらのツールと Mercurial 利用時の違いに関する説明がメインでした。SV…

OS毎のシステムコール実行性能 〜 その3

前回までで fork、vfork および execve といったプロセス生成系システムコールの実行性能を比較しましたので、今回はファイルシステム操作系システムコールの実行性能を比較しようと思います。 その1: fork, execve の性能計測 その2: vfork の性能計測 その…

OS毎のシステムコール実行性能 〜 その2

前回は、fork および execve システムコールの実行性能を、OS毎に計測して比較してみました。fork を比較したのなら、当然 vfork も比較したくなるのが人情ですよね?(笑) その1: fork, execve の性能計測 その2: vfork の性能計測 その3: fstat, lstat の性…

OS毎のシステムコール実行性能 〜 その1

Mercurial のテストセット ("make tests") を複数の環境で実行したところ、ほぼ同一性能の CPU 上での実行にも関わらず、Mac OS X 上での実行では、仮想環境上の Linux での実行よりも、大幅に時間を要することが確認できました。仮想環境上の実行ではクロッ…

JAXA 調布航空宇宙センター一般公開

JAXA 施設公開巡りの二日目として、調布航空宇宙センター一般公開に行ってきました。調布航空宇宙センターには、昨年のに続き、二年連続の訪問です。昨年の訪問の際には、前日の理化学研究所和光地区一般公開 (2013年度) 訪問と併せて、「スパコン見学記」な…

JAXA 筑波宇宙センター特別公開

JAXA 施設公開巡りの一日目として、筑波宇宙センター特別公開に行って来ました。1985年の科学万博以来のつくば行き。つまり、個人的には「つくば=先端科学」ですね(笑)。衛星や打ち上げエンジンの現物は、圧倒的な存在感があって、「凄い」の一言に尽きます…

OpenSolaris 勉強会 2014.04

エントリを書いているのは4月末だったりしますが(笑)、4月5日(土曜)は、日本OpenSolarisユーザーグループ主催の Tokyo OpenSolaris 勉強会 2014.04 に参加してきました。開催月で見ると、前回の1月から3ヶ月も経過していますが、実際には 2014.03 の開催月が…

PC環境用のアンプを新調

PC からの音響出力用の USBDAC 兼アンプとして、これまでは RP-U100 を使っていたのですが、1999年の発売直後に購入したものなので、既に 14 年が経過したことになります。特に問題らしい問題も無いので、このまま使い続けても良いのですが、経過年数のこと…

KINESIS キーボードの PS/2 → USB 変換

20世紀から KINESIS の Contoured Keyboard を愛用してるのですが、所持してる三枚の Contoured Keyboard が全て PS/2 インタフェースというのが悩みの種でした。改めて現行のUSBインタフェース版を購入する手もありますが、決して安くない価格なので、出来…

システムワイドなロケール設定 〜 Cygwin

Cygwin でのシステムワイドなロケール設定の取り扱いに関して、調べた結果を備忘録代わりにまとめておきます。表題で「システムワイド」と謳いつつ「ユーザ毎」の設定について書いている点は、前回のWindows のエントリと同様です(笑)。 設定更新方法 Cygwin…

システムワイドなロケール設定 〜 Windows

Windows でのシステムワイドなロケール設定の取り扱いに関して、調べた結果を備忘録代わりにまとめておきます。なお、表題で「システムワイド」と謳いつつ、本エントリで扱うロケール設定は、Mac OS X (その1) と同様に、「ユーザ毎」の設定だったりしますが…

システムワイドなロケール設定 〜 Mac OS X (その2)

その1では、「ターミナル」や、SSH 経由でのアクセスなど、主にCUI系アクセスでのロケール設定に関してまとめました。本エントリでは、主に GUI 経由で起動されるアプリに対して、ロケール設定を反映させる方法についてまとめます。 GUI 経由で起動されるア…

システムワイドなロケール設定 〜 Mac OS X (その1)

Mac OS X でのロケール設定の取り扱いに関して、調べた結果を備忘録代わりにまとめておきます。なお、私自身がもっぱら「Mac mini に SSH 経由でアクセス」をメインとする、相当な「ニワカ Mac ユーザ」なので、本エントリの情報精度は、他のエントリに輪を…

システムワイドなロケール設定 〜 Solaris

Solaris でのシステムワイドなロケール設定の取り扱いに関して、調べた結果を備忘録代わりにまとめておきます。"Solaris" と表記してはいますが、基本的に OpenIndiana 等の OpenSolaris 系環境を対象としています。Solaris 10 やそれ以前の Solaris 環境で…

システムワイドなロケール設定 〜 Debian GNU/Linux

Debian GNU/Linux でのシステムワイドなロケール設定の取り扱いに関して、調べた結果を備忘録代わりにまとめておきます。 設定格納先 Debian GNU/Linux の場合、システムワイドなロケール設定は /etc/default/locale ファイルに、以下のような形式で記述され…

bash の設定ファイル読み込み仕様

ログインシェルが bash に設定されている環境で、SSH 経由でログインなしのコマンド実行 (= 非対話的実行) を行うために、ユーザ独自の設定 (環境変数の変更/追加等) を設定ファイルに記述する際の注意点を、最初にまとめておきます。 SSH 経由でのコマン…

Facebook の Mercurial に対する本気度まとめ

Facebook のエンジニアブログで "Scaling Mercurial at Facebook" と題するエントリが 2014-01-07 に公開され、大きな注目を集めました。また、このブログエントリについて解説した InfoQ の記事 "Facebook makes Mercurial faster than Git" や、その翻訳 "…

OpenSolaris 勉強会 2014.01

1月25日(土曜)は、日本OpenSolarisユーザーグループ主催の Tokyo OpenSolaris 勉強会 2014.01 に参加してきました。"Solaris Internals" 枠は、例によって要約した発表資料を元に、第10章の「Physical Memory」の 10.3 The Page Scanner から最後までの掘り…