Having multiple values in <test> isn't supported and may not work as expectedという警告

現象

Ubuntu 16.04LTSにアップグレードしてからemacsを起動する際などに以下のエラーメッセージがでるようになった。

Fontconfig warning: "/etc/fonts/conf.d/69-language-selector-ja-jp.conf", line 126: Having multiple values in isn't supported and may not work as expected

環境

% more /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
% emacs --version
GNU Emacs 24.5.1
Copyright (C) 2015 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

解決法

/etc/fonts/conf.d/69-language-selector-ja-jp.confの以下の部分がダメらしい。各stringをtestタグで囲む必要があるとのこと(参考:Fontconfig - FreeBSD/footnote

    <match target="font">
        <test name="family" compare="contains">
            <string>IPA Pゴシック</string>
            <string>IPA P明朝</string>
            <string>IPA モナー Pゴシック</string>
            <string>IPA モナー P明朝</string>
            <string>IPA モナー UIゴシック</string>
            <string>IPA モナー ゴシック</string>
            <string>IPA モナー 明朝</string>
            <string>IPAexゴシック</string>
            <string>IPAex明朝</string>
            <string>IPAゴシック</string>
            <string>IPA明朝</string>
            <string>Takao Pゴシック</string>
            <string>Takao P明朝</string>
            <string>TakaoExゴシック</string>
            <string>TakaoEx明朝</string>
            <string>Takaoゴシック</string>
            <string>Takao明朝</string>
            <string>UmePlus Gothic</string>
            <string>UmePlus P Gothic</string>
            <string>VL Pゴシック</string>
            <string>VL ゴシック</string>
            <string>さざなみゴシック</string>
            <string>さざなみ明朝</string>
            <string>東風ゴシック</string>
            <string>東風明朝</string>
            <string>梅Pゴシック</string>
            <string>梅PゴシックC4</string>
            <string>梅PゴシックC5</string>
            <string>梅PゴシックO5</string>
            <string>梅PゴシックS4</string>
            <string>梅PゴシックS5</string>
            <string>梅P明朝</string>
            <string>梅P明朝S3</string>
            <string>梅UIゴシック</string>
            <string>梅UIゴシックO5</string>
            <string>梅ゴシック</string>
            <string>梅ゴシックC4</string>
            <string>梅ゴシックC5</string>
            <string>梅ゴシックO5</string>
            <string>梅ゴシックS4</string>
            <string>梅ゴシックS5</string>
            <string>梅明朝</string>
            <string>梅明朝S3</string>
        </test>
      以下略

以下のように変える。

    <match target="font">
        <test name="family" compare="contains">
            <string>IPA Pゴシック</string>
        </test>
        <test name="family" compare="contains">
            <string>IPA P明朝</string>
        </test>
      以下略

それにしても、こんなに日本語フォントいれたかな?

Wanderlust (wl)で"wrong-type-argument number-or-marker-p nil"

仕事しようと思って休日出勤したら、このエラーで2時間。つらい。

現象

Wanderlustで、inboxフォルダに移動すると「wrong-type-argument number-or-marker-p nil」とミニバッファに表示される。この結果、新着メール(すべてinboxに届く)が読めない。

対応

前回、おなじことあったなぁと思ってGoogleで検索したところ微妙に違うけど似たような事例があった。

まず、エラーメッセージを表示させる。エラーメッセージが前回と違う。

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  <(nil 58521)
  sort((〜省略〜) <)
  elmo-list-diff((〜省略〜) (〜省略〜))
  wl-summary-sync-update(unset-cursor nil nil nil)
  wl-summary-sync-force-update(unset-cursor)
  byte-code(〜省略〜)
  wl-summary-goto-folder-subr(#("+inbox" 0 6 (wl-folder-entity-id 1 wl-folder-is-group nil)) update nil nil t)
  wl-folder-jump-to-current-entity(nil)
  call-interactively(wl-folder-jump-to-current-entity nil nil)
  command-execute(wl-folder-jump-to-current-entity)

現象としては、inboxから別のフォルダに移動させたメール(メールID 58521を含む)がいまだにinboxに表示されている。実際の~/Mail/inboxには当該メールは存在しない。その結果、elmo-list-diffなどで失敗している雰囲気。

いろいろ試行錯誤した結果、「wl-summary-sync-update」で検索して見つかった 公式マニュアルに記載されている wl-summary-sync を実行してmsgdbを作りなおすことでうまくいった。

  • all-entirely 現在の msgdb の内容を破棄し、全情報を取り寄せ直します。killed メッセージも取り寄せ直します。

wl-summary-syncのレンジ一覧より)

今回、不具合があった inboxに移動し、「M-x wl-summary-sync」で、Rangeを「all-entirely」とした。

以上、メモ。

締切前に「アッフゥフン!」

某ニコニコ動画で某シリーズをずっと見ていたら、また、柳の下をまた掘りたくなったので。

本文

「もうすぐ締切なのに全然おわらねぇ。何やっていいのか頭が真っ白になってきて分からねぇ!!」というときは以下の手順で乗り切ります。

  1. 周りに人がいないことを確かめます
  2. 印刷用紙の裏紙(A4サイズ)とボールペン1本を持ち、部屋の入口に立ちます
  3. 「Be My Baby, Be My Baby, ...」と小さく口ずさみリズムにのります
  4. 「デェーッテェー、デデッテー、デェーッテェー、デデッテー、…」とリズムをとりながら、物が置いてなく十分なスペースがある机に向かってゆっくり歩きます
  5. 机の前についても、引き続き口ずさみながら、なかなか座りません。必要に応じて、サイドステップをふみます
  6. 存分に気分が盛り上がったら握手をし、着席します。そして、提出物が最低限の品質を満たしているといえる条件を列挙します
  7. 「Be My Baby, Be My Baby, ...」
  8. 最低限の品質を満たすためにやらなければならないことを思いつくままに列挙します
  9. 「Be My Baby, Be My Baby, ...」
  10. 列挙した作業を残り時間と今いる場所、今使える道具・資源を勘案して、最短時間で効率良く成し遂げられる順番に並べ替えます(できるかぎり頭を使わない作業から始めるのがコツです)
  11. 並べ替えた作業を清書します(これが、作業リストになります)
  12. 「もう、はなさない…」と気分よくサビを歌い上げ、髪を整えます。必要に応じてシンバルキック!
  13. 正拳突きを数回繰り返しつつ「Be My Baby, Be My Baby, ...」と口ずさみ、テンションを上げてから、おもむろに作業リストの一番上から思考を停止して、片付けていきます
  14. 心が折れかかったら「Don't Stop my hand! 手を止めないで…」とひとくさり歌って盛り上げます
  15. それでも、心が折れたら、部屋の入口に戻って「デェーッテェー、デデッッテー、デェーッテェー、デデッッテー、…」と入場からやり直します
  16. 作業が終わったら、「アッフゥフン!」と叫んで、作業リスト上の完了作業を色ペンでぬりつぶしてやります
  17. 作業リストが終わるまで、これを続けます。

最低限の品質なら提出できない?じゃあ、20年後に再結成だな。来年もがんばれ!

Omnibus GitLabのバックアップ

バックアップ

Backups - GitLab Documentationに従い、バックアップを取る。バックアップは大きく分けて設定ファイル(私の環境では /etc/gitlab )とアプリケーションファイル(データベースとGitリポジトリ)の2つに別れる。

設定ファイルは、cronを使ってバックアップをとる。たとえば、毎週月曜日、午前3時に /home/hogehoge 以下にバックアップをとるならば以下のように設定する。

% sudo crontab -e -u root
0 3 * * 1 tar cfj /home/hogehoge/etc-gitlab.tar.bz2 /etc/gitlab

アプリケーションファイルは私の環境では/var/opt/gitlab/backups 以下にバックアップファイルが生成される。たとえば、毎週月曜日、午前4時にバックアップをとるならば以下のように設定する。

% sudo crontab -e -u root
0 4 * * 1 /usr/bin/gitlab-rake gitlab:backup:create

リンク:すべてのアメリカ人のための科学

アメリカ科学振興協会のプロジェクト2061で作成された報告書「Science for All Americans(邦訳:すべてのアメリカ人のための科学)」の日本語訳のPDFファイル

この日本語版『すべてのアメリカ人のための科学』は,科学の普遍性を立証するものである。芸術や人間性の価値の多くはそれぞれ個々の文化的独自性に由来するものであるが,科学の価値はその文化的な独立性にある。事実,科学はある意味においてそれ自体が文化であり,いかなる国,言語,民族にも属さない。科学は,自然界を理解し,その知識を人類と環境の利益のために用いることに関心を持つすべての人々に属するのである。


したがって,『すべてのアメリカ人のための科学』は一部の人々からは不適切な表題と思われるかもしれない。初版が初めて刊行された際に,我々はその表題を「すべての人のための科学」とすることも考えたが,我々が他の国々の同輩諸氏の権限を侵していると彼らが感じることを恐れたため,そうすることはなかった。しかし結果的には,世界の多くの地域の科学者や科学教育者たちは本書をありのままに受け取り,科学的リテラシーの構成要素と見なすことのできる知識と技能に関して科学界の尊敬されるメンバーが行った表明として,本書を受け入れてくれた。

(「すべてのアメリカ人のための科学」の「日本語版『すべてのアメリカ人のための科学』への序文」より)

プロジェクト2061 は,アメリカの科学,数学,技術の教育における改革を支援する目的で構想された。このプロジェクトは,米国科学振興協会による長期的な多段階からなる取組みであり,その第1 段階における作業の一環として6 冊の報告書が作成されている。


これらの報告書は,1 冊の概要報告書と5 冊のパネル報告書で構成されている。概要報告書は『すべてのアメリカ人のための科学』と題するもので,AAAS プロジェクト2061 スタッフが全米科学技術教育評議会の協力を得て作成した。

(「すべてのアメリカ人のための科学」のxiページ注より)