平衡点


2013/09/05

_ Bootstrap と pygments.rb を使ってみることに

この日記を運用しているサーバをさくらVPSへ移行するついでに

なんて事をしてみた. いろいろ忘れそうなのでまとめておく.

tDiary 4.0.0 + Ruby1.9.3

このサーバは Debian 7.0 (Wheezy) で動かしている. Debian Wheezy のパッケージで提供されている tdiary: Debian Package Tracking System は 3.1 で, 多少(?)古い. pkg-ruby-extras のリポジトリ に新しい版を放り込んでおいたので, とりあえずそちらを使うと良いかも

$ sudo aptitude git-buildpackage
$ gbp-clone git://anonscm.debian.org/pkg-ruby-extras/tdiary.git
$ cd tdiary
$ git-buildpackage --git-ignore-new --git-builder='debuild -rfakeroot'

あたりでパッケージができる(ハズ)

Bootstrap なテーマと CSS

テーマに, そのものズバリ「bootstrap」があるので, それを使うと良い. 個人的には「更新」(update.rb へのリンク)を表示させたくないのと fluid layout でメニューをボタンに変更するために, ちょっとだけ手を入れた:

# source: diff
--- bootstrap-navi.rb	2013-08-12 06:35:52.000000000 +0900
+++ bootstrap-navi-custom.rb	2013-09-05 23:25:22.302250094 +0900
@@ -1,6 +1,7 @@
 # Show navi for twitter-bootstrap theme
 #
 # Copyright (c) KAOD Masanori <kdmsnr at gmail.com>
+#               Youhei SASAKI <uwabami at gfd-dennou.org>
 # You can redistribute it and/or modify it under GPL.

 def bootstrap_navi(options = {})
@@ -11,23 +12,23 @@
   }
   options = default_options.merge(options)

-  body = ""
+  brand = ""
   if options[:site_name?]
-    body += <<-EOS
+    brand += <<-EOS
       <a class="brand" href="#{@conf.index}">#{h @conf.html_title}</a>
     EOS
   end

+  body = ""
   body += <<-EOS
       <ul class="nav">
         #{navi_user.gsub(/span/, "li")}
-        #{navi_admin.gsub(/span/, "li")}
       </ul>
   EOS

   if options[:search_form?]
     body += <<-EOS
-      <form class="navbar-search pull-left"
+      <form class="navbar-search pull-right"
         method="get" action="http://www.google.co.jp/search"
         onsubmit="$('#sitesearch').val($(location).attr('host')+$(location).attr('pathname'))">
         <input type="hidden" name="ie" value="UTF8">
@@ -39,9 +40,16 @@
   end

   <<-EOS
-<div class="navbar #{options[:navbar_class]}">
+<div class="navbar">
   <div class="navbar-inner">
     <div class="container">
+    <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+    </a>
+      #{brand}
+    <div class="nav-collapse collapse">
       #{body}
     </div>
   </div>

あとはヘッダ, フッタを適当に指定して, CSS を修正するだけ

SyntaxHighlighter を CodeRay から pygments.rb

CodeRay もけっこう良いのだけれど, 対応している言語が少ない(し, 対応させる時間が無い)ので, エイヤっと pygemtns.rb を使うようにしてみた.

過去の日記もそれなりに表示されているようで, とりあえず良しとすることに.


2013/09/06

_ pygments が返って来ない

この日記は RD スタイルで書かれています. 昨日書いた通り, syntax highlighter として pygments.rb を使うようにしてみた訳ですが, update.rb を叩くと, いくら待っても返って来ません.

...はて?

しまいには Timeout しました. さて, どうしたら良いかな...

(追記) 試しに albino 使ってみたら, ちゃんと返ってきた. はてさて.

_ Bluetooth Headset + PulseAudio

ちょっとハマったのでメモ.

普段から Bluetooth Headset として Sony Ericson の MW600 を使用しています.

SONY ソニーエリクソン カナル型ワイヤレスイヤホン Bluetooth対応 リモコン・マイク付 ブラック MW600/B
ソニー(SONY), ¥11,800

最近になって, これを接続しようとすると pulseaudio が module のロードに失敗して, pavucontrol から見えずに大変難儀をしておりました. でもって, じたばたした結果として

# source: diff
diff --git a/bluetooth/audio.conf b/bluetooth/audio.conf
index 54db2df..73b0231 100644
--- a/bluetooth/audio.conf
+++ b/bluetooth/audio.conf
@@ -10,7 +10,7 @@
 # If we want to disable support for specific services
 # Defaults to supporting all implemented services
 #Disable=Gateway,Source,Socket
-Enable=Sink
+Disable=Socket

 # SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
 # Defaults to HCI

としたら, HSP, A2DP とも綺麗に接続できるようになりました, とさ.


2013/09/07

_ tDiary を Ruby1.9.3 + Apache2 + FCGI で動かす

読んで題字の如く. 以前もじたばたした記憶があるのだけれど, 今回は非常に楽だった.

環境

使っているモノは以下の通り:

OS :: Debian 7.1 Wheezy
tDiary :: version 4.0.0, 野良パッケージ
Ruby :: 1.9.3, Debian 公式
libapache2-mod-fcgid :: Debian 公式
libfcgi-ruby1.9.1 :: Debian 公式

以前[ 平衡点(2006-10-11) ] は最後に fcgiwrap を使っていたけれど, tDiary 側で index.fcgi, update.fcgi を用意してくれているので, これを使えば良い.

導入

apt-get 一発なので省略

設定

.htaccess の該当部分を以下の様に修正

# source: apache
 AddHandler fcgid-script .fcgi
 DirectoryIndex index.fcgi
 AddType application/xml .rdf

 RewriteEngine on
 RewriteBase /log
 RewriteRule ^([0-9\-]+)\.html$ index.fcgi?date=$1
 RewriteRule ^([0-9\-]+)p?([0-9]*)\.html$ index.fcgi?date=$1&p=$2 [L]

index.fcgi, update.fcgi は以下の通り:

index.fcgi:

# source: ruby
 #! /usr/bin/env ruby
 load '/usr/share/tdiary/index.fcgi'

update.fcgi:

# source: ruby
 #! /usr/bin/env ruby
 load '/usr/share/tdiary/index.fcgi'

あと, この環境は suexec で動作させているので permission は 701 で.

結果

ab -n 30 -c 3 の結果比較:

  • 素の index.rb(これまで)

    Requests per second:    3.40 [#/sec] (mean)
    Time per request:       882.231 [ms] (mean)
    Time per request:       294.077 [ms] (mean, across all concurrent requests)
  • index.fcgi(fcgi 化)

    Requests per second:    8.32 [#/sec] (mean)
    Time per request:       360.723 [ms] (mean)
    Time per request:       120.241 [ms] (mean, across all concurrent requests)

...2.4倍速ぐらい? こんなモンかな.


2013/09/08

_ adzapper を入れてみた.

Android 端末には AdAway を入れて広告避けをしているのですが, どうせならラップトップでも広告避けを入れてしまえ, というわけで, ちょっと探してみた.

ラップトップでは squid を cache 無しの透過 proxy として起動させて, 繋いだネットワークによって上流を切り代えるようなことをしているので,

  • (なるべく)squid と相性が良い(面倒な事をしなくて良い)奴
  • (欲を言えば) block した広告の代わりに邪魔にならない何かを

表示してくれる奴.

というモノを探した結果として adzapper を試してみることにした. 動かすには Squid の設定ファイルのどこかに

# source: squid
## Adzapper
redirect_program /usr/bin/adzapper.wrapper

としておくだけで良い.

squid から呼ばれた子プロセスが幾つか立ち上がっているが, これは接続毎に呼び出されているのかな? しばらく試してみよう.

_ Xperia GX を Jelly Bean に upgrade

ちょっと旬を逸した感はありますが, ようやく. 先日(平衡点:2013-05-18), Laptop は SSD に交換して Windows 領域(環境?)を手放してしまったので, 大学の計算機部屋にある Windows に SEUS を入れて upgrade してみました.

早速 root とって, もとの環境を復元しました (一度文鎮化してしまいましたが, SEUS 様々です).

ICS より反応が良いですね(小並感). もうちょっと弄ってみる予定です.

(追記) microSD カードが壊れました. 最近発生してなかったのに...


2013/09/20

_ org-mode (>= 8.0) の HTML export における「リンク」

...まあ, 何も解決していないのだけれど.

org-mode から html へ変換した際に リンク文字列も URI escape されていて, 結果として CGI へのクエリを含むリンクが正常に機能しない, という塩梅になって, ちょっとじたばた.

最後にまとめて URI unescape する, というのも芸が無いし, 折角 escape してもらったのだから, それはそれでうまく使いたい.

結局 bit.ly を使う, というオチに. うーむ...。


2013/09/25

_ zsh の自動補完で嵌る.

最近の現実逃避は zsh の設定の整理ですこんばんは.

zsh の補完は大変素晴しいのですが,

  • ssh の公開鍵/秘密鍵認証(ssh-agent有効)
  • リモートディレクトリの補完
  • hchbaw/auto-fu.zsh みたいなインクリメンタル補完

の合わせ技で, サーバの last log を汚してしまいました (munin のグラフで public key login が跳ね上がっていて, 驚愕).

ssh の Control Master とか有効にしておくと, 多分こういう事は無くなるのでしょうけれど, これはこれでなんか昔嵌った記憶があるのだが.

むー...


2013/09/29

_ OpenSSH の ContorlMaster, ContolPersist

これこそ私の求めていたモノだ. 素晴しい.

早速 ~/.ssh/config に設定. 快適快適.


連絡先など
最近の日記
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|
Back to Top ▲