CentOS 6 / CentOS 7 で最新のtmuxを、yumで入れたtmuxと共存させたままインストールする

tmux はかなり便利なツールなので、 積極的に使いたいが、 CentOS 6 や CentOS 7 の yum で入れるとバージョンが古すぎる問題がある。
tmux のバージョンが古いと、.tmux.conf で反映されない項目があって不便。

本記事では、CentOS 6 / CentOS 7 上で最新のtmuxを、yum由来のtmuxと共存させたままインストールする方法をシェアする。

tmux をソースからコンパイルしてインストールすればよいのだが、 tmux が依存するライブラリである libevent のインストールが大変だったりして地味に苦労する。
以下、CentOS 6 と CentOS 7 に分けて説明する。

Read more »

Aspellを用いて複数の英文TeXファイルをスペルチェックして表示する方法

Aspellを用いて複数の英文TeXファイルをスペルチェックして表示する方法をメモ書きする。

準備

Aspellは既にインストール済みと仮定する。
ちなみに、Mac (Homebrew) では、brew install aspell --lang=en でインストールする。

以下のようなTeXソースファイルがあるとする。
テキストは英語のダミーテキストジェネレータを使用し、部分的にスペルミスを発生させた。
Dummy Text Generator – Free, For Web Designers – Lorem Ipsum, Filler Text & Placeholder Text

single.tex : 単独で完結するTeXファイル

\documentclass[11pt,a4paper]{article}
\begin{document}

\section{Introduction}
One begining life. In. Beginning greater moveth together every from isn't
herb baest whose meat all two for, a moving, from firmament. Herb subdue
fourth. Said beast first spirit morning For fruitful you'll beginning one.

\end{document}

Read more »

Mac: MacBook Pro セットアップノート

MacBook Pro 13インチ Retinaディスプレイモデルを手に入れた。

got-macbook-pro

主な仕様は以下の通り (すなわち、SSD以外カスタマイズオプション上限)

  • Intel Core i7 デュアルコア 3.1GHz
  • 16GB 1,866MHz LPDDR3 SDRAM
  • 512GB SSD

再構築可能なように自分用にセットアップノートを残しておく (随時更新中; 最終更新日2020-03-15)。

Read more »

Raspberry PiでNASとバックアップサーバを構築する

raspberry-pi-nas-and-backup-server-4

概要: Raspberry Pi 2 Model B と 2 台の外付け HDD で、NAS (samba) とバックアップサーバ (rsync) を構築しました。そこそこ性能のものが、手軽でそして安価にできます。

構想

作りたいのもは次のようなシステムです。

raspberry-pi-nas-and-backup-server-image

Raspberry Pi は自宅 LAN と、2 台の HDD と接続します。 NAS サーバとしてファイル共有サーバの役割を果たしていて、自宅 LAN 内のユーザはファイルサーバにファイルを追加したりファイルを削除したりファイルを変更したりできます。 Master HDD は本データを保存するストレージで、Slave HDD は Master HDD の完全ミラーリングです。ミラーリングバックアップを取ることで HDD の故障に耐性を持ちます。

ちなみに、一見、RAID 1 (ミラーリング) に見えますが、RAID ではないです。 RAID は故障に対してサービスの提供継続性を保つシステムですが、今回作るシステムは単なるバックアップ作成であり故障耐性はありますがサービス提供継続性はありません。 この辺は自宅で個人で使用するシステムなので、のんびりした設定です。

Read more »

WordPressプラグイン「Awesome Flickr Gallery」でFlickrアルバムをawesomeに記事に埋め込む

先日、公開した記事「初冬の八ヶ岳 (阿弥陀岳・赤岳・横岳・硫黄岳) に登ってきました」で、 Flickr アルバムを記事中に表示するために、WordPressプラグイン「Awesome Flickr Gallery」を使用しました。 本記事では、WordPressプラグイン「Awesome Flickr Gallery」が記事中にFlickrアルバムを埋め込むのになぜ良いと私が感じたか、およびセットアップ方法と使用方法を説明します。

私がプラグインに要求すること

WordPressに写真アルバムを載せた記事を書きたい場合、直接WordPressに写真をアップロードしコメントを書いていくことはできますが、 写真が大量にある場合や既に他人との写真の共有で別のWebサービス等に写真をアップロード済みの場合、また新たにWordPressに写真をアップロードするのはかなりの手間です。
私は写真を共有したりアルバムを作成するときはたいてい Flickr を使用しています。 無料アカウントでも1TBまで使用できるストレージを提供してくれて、アルバム (昔はセットと呼ばれていた) を作成することもできます。 写真を公開・非公開・友人にのみ公開等のオプションを与えてアップすることができます。

先日公開した記事「初冬の八ヶ岳 (阿弥陀岳・赤岳・横岳・硫黄岳) に登ってきました」では、 登山中に撮影した写真でFlickr上にアルバムを作成したので、Flickrで作成したアルバムをWordPress記事上に表示させてみたいと考えました。
私が記事中にFlickrアルバムを埋め込むにあたり、以下の項目を満たす方法を探しました。

  • アルバムが表示できること
  • アルバム内の写真を並べて表示できること (スライドショーではなく)
  • 各写真の説明文 (description) を表示できること
  • ある程度スタイルを編集できること

Flickrが提供するアルバム埋め込みコードを利用する方法、いろいろなWordPressプラグインを試してみましたが、 Awesome Flickr Gallery が最も自分が欲しかった機能を満たしていたのでこれのプラグインを使用することにしました。

Read more »

CWEBをC/C++に変換する方法 — cube20.orgをコンパイルする

CWEB言語で書かれたドキュメントをctangleとcweaveを用いてC/C++とTeXに変換する方法を説明します。

CWEBとは

CWEB (ctangle, cweave) とは、1980年台に Donald Knuth 氏と Silvio Levy 氏によって開発されたツールです。 CWEBフォーマットで記述された1つのファイルから、 CWEBシステムが「プログラム実行ファイル (の元となるソースコード)」と「ドキュメント (の元となるソースコード)」へ変換します。 ツールは ctanglecweave の2つのプログラムで主に構成されます。 全体フローを以下の図に示します。

cweb-flow

Knuth氏による公式ページです。

現在は積極的に開発はされていないぽくて、CWEBを利用しているプロジェクトもほとんど見かけないと思います。 今回は、ルービックキューブの任意の状態から完成状態までの手数の上限値が20であることを証明した cube20.org というプロジェクトの配布形式がCWEBであったため、 CWEBの導入方法を調査したので共有します。

Read more »

Python ライブラリ “pandas, scikit-image” を Windows にインストール

前回の記事 Pythonの機械学習・数値計算環境 (NumPy, SciPy, matplotlib, scikit-learn) をWindowsにインストール :: terabo.net に引き続き、Windows 環境に pandas, scikit-image をインストールします。

Pythonの機械学習・数値計算環境 (NumPy, SciPy, matplotlib, scikit-learn) をWindowsにインストール

上に張ったリンクの作業は済んでいるものと仮定します。 Pandas と scikit-image のインストールは非常に簡単です。

Read more »

[iOS] Javascript でクリップボードにアクセスすることは不可能… ではどうするか

clipboard-97590_1280

Web アプリを制作していて気づいた。Javascript で「クリップボードにコピーする」等の操作を簡単に書けると思ったら、全然そんなことなかった。 でもそういうサイトみたことあるよーって思うかもしれない。私もそう思ってたから簡単にできるものだと思ってた。しかしそれらは javascript ではなかった。

本記事では、Web ブラウザでどうすれば「クリップボードへコピー」を実現できるか考えようと思う。

じゃあどうすれば良いか。

Read more »

Pythonの機械学習・数値計算環境 (NumPy, SciPy, matplotlib, scikit-learn) をWindowsにインストール

あることをきっかけに機械学習に触れてみることになりました。 私の開発環境は OS が Windows 7 (64bit) です。 今回は Python 2.7 をインストールしようと思います。
Python の機械学習ライブラリ (具体的には、NumPy, SciPy, matplotlib, scikit-learn) をインストールするのに 何回かつまずいたので、自分が後々いつか再構成できるように環境構築をメモしておきます。
この記事を読まれた方の参考にもなれば幸いです。

インストール原則

大事です。これを守らないと大体失敗します。私は何度も失敗しました。繰り返さないように書いておきます。

  1. Python は 32bit 版を用いる! たとえマシンが64bit、OSが64bit、cygwin (64bit) を使用するとしても!
  2. Python 本体は cygwin のパッケージマネージャ等でインストールしない! Windows 用のバイナリをダウンロードしてインストールする!
  3. Python のライブラリ (NumPy, SciPy, matplotlib) は easy_installpip を用いずに、Windows 用バイナリからインストールする!

これに気をつければ問題は起きにくいです。逆に守らないとどっかでこけます。
1 は NumPy や SciPy が 64bit 対応してないからです。
2 は Python 単体で使用するのであれば cygwin のパッケージマネージャからインストールで問題ありませんが、Windows バイナリからインストールする方が無難です。
3 はライブラリのインストール時に、例えば SciPy は依存性があるらしく、うまくコンパイルできませんでした (下の記事を参考)。

Read more »

「へごへごへごちん!」【ブックマークレット版】 作った

以前、「へごへごへごちん!」を作った。
これをブックマークレット化した。

どんなページも簡単にすばやくいつでもどこでもへごることができる。
YES!! YES!! YES!! へごちん is always with you.

前回の記事: 「へごへごへごちん!」作った :: terabo.net

Read more »