pythonで標準出力のバッファを制御する

logresolveコマンドのpython版を作った時に知ったので、メモを残す。

 

内容は表題のとおり。

 

以下2パターンがある模様。

 

  1. 起動時のオプション(-u, unbuffered)を指定する。

  2. sysモジュールからハンドラにアクセスし、都度flushする。

すぐ忘れそう。。。

apacheのログを後からホスト名変換(python編)

前に、同じ記事を書いたが、なんかubuntuをアップグレードした影響なのか、ちょっと挙動が変わった。

前は、標準入力に渡してあげると、順次変換が実行されていたのだが、今は、まとめて結果が表示される。

多少遅くても、実行時眺めていたかったので、それならpythonで作ればいいやんと思ってとてつもなくと汚く書いた。汚い!!!

ファイル名を渡すか、標準入力で渡すかのみです。

オリジナルも同じだが、逆引き出来ない時の、タイムアウト時間がちょっと長くて
こっちでは短くしたかったのだが、結局面倒で(実力が無くて)やめた。

ubuntu 14.04でffmpegの名前が変わった(avconvになった)

ふと、ffmpegを使おうと思ったら、

あれ、コマンドが無いって言われている。バージョンアップ前にバリバリ使ってた覚えがあるので絶対入っていたはず。

 

そういえば、ffmpeg時代に、コマンド実行時に、「なんか名前変わるよ」的な警告が出ていた気がする。

うーん。新しい名前が思い出せない。

ちょいと調べたところ、

avconv

になったそうです。今のところオプションとかの違いはなさそう。というかそんなにffmpegを使わないのでわからない。

ちなみにubuntuでのパッケージは、

libav-tools

うーん。ますます忘れそう。

ubuntu 14.04 を無線LANアクセスポイントにする

表題のままなのだが、ubuntu 14.04 を無線LANアクセスポイントにしてみた。

無線LANルータが格安で販売されている今日このごろに、なんでこんなことやってるんだろというツッコミは後にして、前提条件など。

  • OSはubuntu 14.04 でデスクトップ版です。
  • 無線LANは、過去にamazonで買った格安のこいつ(WLI-UC-GNM)
    激安だけど、802.11nまで対応していたはず。期待はしないけど。
  • モードはブリッジモード。LANと別セグメントにしたくないから。
  • ノートPC1台つながれば良いので、MACアドレス制限とか、ステルスSSIDとかでやってみる。

設定などなど

NetworkManagerを止める

後の方に気付いたけど、最初に止めた方が無難。

Desktop PCで、固定IP運用なので、そもそもこいつは必要ない。なので、NetworkManagerを止めて、手動での設定に移行する。

まず動いているか確認

いたら止める。

自動起動を止める。

今は、こんな方法なんですね。

必要パッケージをインストールする

ブリッジのやつと、アクセスポイントのやつ

Network設定を手動に移行する

自分の場合は、既に手動になってた(NetworkManagerは起動してたけど)が念の為確認。

こんな感じの設定、ブリッジ設定もやってます。ミスるとネットワーク繋がらなくなるので要注意。設定終わったら再起動しといた方が無難。

無線LAN(wlan0とか)のブリッジは、hostapdがよろしくやってくれるのでここでは設定しない。

無線LAN(WLI-UC-GNM)を挿す

別にいつでもいいけど。iwconfigでwlan0(無線LANが1つの場合)が見えてればたぶんOK。

ドライバーとかもよろしくやってくれるはず。

ドライバっぽいやつら

hostapdの設定

やっと本番。

自分はこんな感じの設定にした。

MACアドレス許可リストファイルを作っておく。  

  パーミッションもきつめにする。

  自動起動の設定 /etc/default/hostapdのファイルに、DAEMON_CONFを定義

  デーモン起動

  正しく起動すれば、きっと使えるはず。

ubuntu 14.04で自動アップデート(unattended-upgrades)

なんか自動アップデートの設定も毎回確認しているような気がするが

過去の記事

unattended-upgradesをインストールして、前回の記事のように設定しようとしたが

/etc/apt/apt.conf.d/10periodicってファイルが見つからない。

どうしたもんかと調べたところ、dpkg-reconfigureすればいいんじゃね。

自動更新しますかって聞かれるので、はい。を選択。

こんなファイルが作られている。

ただ、同じ14.04でも、/etc/apt/apt.conf.d/10periodicが存在して普通に自動アップデート出来ている環境もあるので、

debootstrapでインストールした最小構成だけかもしれない。

redmine 2.5.x を ubuntu 14.04 へインストール

とっても便利な、チケットドリブン開発WEB UIのredmineを自分専用にインストール。

 

今回インストールするのは、redmine 2.5.1になります。

 

基本的には、ubuntuだとパッケージでのインストールが良いのだが、WEB系のアプリで開発が頻繁なものは、本家からダウンロードしてインストールするほうが、後々いいので今回は手動でインストールする。

以前、Wordpressをubuntu標準パッケージから入れたら、後々不便(バージョンアップとか)だったので、その教訓を活かす。

 

OS環境

最小インストール。というかlxc環境に入れるので、debootstrapにてインストールされるので、かなり最小構成。

 

一応パッケージは最新にしておく。

rubyインストール

 

こちらもOSのパッケージではなく、rvmを使って、ruby 2.0.0系をインストールします。

 

 

rubyのバージョン確認

 

依存パッケージのインストール

subversionは、redmineの最新版を取得用。gitは自分で使うバージョン管理。

imagemagicは、redmineで使う。

 

redmineのダウンロード・設定

今回は/optにインストールします。

 

パーミッション設定

 

自分用レポジトリ作成

一応ここで作成しておくが、あとでも良いし別の場所でも可

mysqlデータベースの作成

 

mysqlインストール

 

データベース作成

redmine設定(コンフィグコピー、DB設定)

bundlerインストール

token作成

db migrate

default data load

途中言語環境を聞かれたら、 ja にする。

次からWEBサーバ

WEBサーバ設定(apache)

各種インストール

ssl有効、セキュリティ設定

passengerインストール

apacheにpassengerの設定

passenger設定を有効化

sslサイトにredmineを追加

DocumentRoot変更と/opt/redmine/current/publicへの許可設定

apache再起動

これでhttps://<your_server_ip>にアクセスアクセスすればredmineが使えるはず。

あとは、自分でチケット作って、自分でやってという悲しい作業で、効率が上がる。

tuxguitarの音が出ない ubuntu 14.04

なんか毎回インストールするたびに、同じ状況になっている気がするが、tuxguitarの音が出ない。

普通にtuxguitarはインストールして、tab譜を見るのは出来るのだが、音が出ない。

自分の環境では、以下のコマンドで出るようになった。

実際にインストールされたのは、tuxguitar-jsaだけ。

んで、tuxguitarを起動したら普通に音が出るようになった。

一応設定は、

「ツール」-「環境設定/settings」-「サウンド」

「MIDIポート」が

「Gervill」

になっていることを確認。

音が出るようになった。

WEBページをコマンドでPDFとかイメージで保存

WEBページをコマンドで、PDFとかイメージデータとして保存出来たらいいな。と、ふと思い調べたところ、

過去に書いてるやん!

その記事

うわー。記憶って消えていくものだな。

wkhtmltopdf

ってパッケージをインストールすれば良い。

 

ただ、ちょっとその時と違っているのは、ubuntu 14.04ならイメージも出来まっせ!ってこと。

当時(恐らく12.04だと思う)は、PDFだけだった模様。

※残念ながら、14.04もPDFだけでした。この記事は意味ありませんが、もったいないので

まー。インストールは相変わらず超簡単

 

使いかたも超簡単

 

PDF

 

イメージ

日本語フォントとか無理かなって思ってたのだが、日本語も凄く綺麗に表示されている。

これで自前のaguseサイトとか作れる。作る能力無いけど。

wkhtmltoimageですが、過去にサイトからダウンロードして個別に入れていたようです。これまたすっかり忘れていた。 公式サイトにubuntu用のパッケージもあるので、そちらからインストールすれば、たぶんwkhtmltoimageも使えるかと(未確認)

公式サイトのダウンロードページ

ワールドカップでユニフォームの色を変更する基準

また、なんちゃってサッカーネタなのだが、ワールドカップを見ていると、ふと「なんかこのチームのユニフォームいつもと違くね?」って思う時が多々ある。

当然色が被ると見難いのでそのための措置だとは思っていたが、その変更する基準が気になったので調べてみた。

たぶんこんな感じ

  1. 各代表チームは、1st, 2ndと2種類のユニフォームを準備している
  2. 色が被らない場合は、そのまま両チーム1stのユニフォームを使う
    ただ、この場合単純に色だけでなく、白黒テレビでも見分けがつくくらいの濃淡も判断材料になる
  3. 色が被った場合、対戦表の左側をホームチーム扱いとし、1stを使用、右側がアウェー扱いで2ndを使用

と、いった感じのようだ。

また、ネット検索結構したのだが、あまりはっきりとした情報が無い。

IT系の情報だと、検索のコツ的なものを把握しているのか、結構簡単にほしいネタにたどり着くのだが、サッカーだと全然たどり付けない。

しかも、この情報もどっかのニュース記事とかじゃなくて、サッカー通らしきひとが元ネタなのでちょっとあやしい。

一応この記事だと、本当のホーム(今回だとブラジル)が常に1stって基準もなさそう。実際に日韓ワールドカップの時に、日本が2ndのユニフォームで試合した時もあったので、たぶんブラジルも2nd着ることもあると思う。

って調べてみたが、早速例外発見。

韓国 – ベルギー

color

対戦表では、韓国が左側なのでホーム扱い。

両チームは、赤が1stユニフォームとなるので、ベルギーが2ndユニフォームで黒を使用する。

で、決着かと思いきや、韓国も2ndユニフォームの白を使用した。

白 – 黒

確かに赤 – 黒は、白黒テレビだと見分けつかなそう。ただ、なんでベルギーの2ndの黒許可したのかツッコミたくなる。

長々と書きましたが

結論 FIFAが決める