Skip to main content

ログ取得ツール

時間があれば作りたいものなどのメモ

その1。

ルビをつけるソフトを作りたいと思った。長男はもうだいぶひらがなを読めるが漢字は読めない。あと数年は読める漢字の制約も大きいだろう。難しいものだと、30代も後半に差し掛かっている自分でもたまに読めない漢字があり、検索窓にコピペして読み方を調べることも珍しくない。ということで、ブラウザに自動ルビふり機能があれば、大人も子供も使いたいはず。

イメージとしては、見ているウェブページの文章に自動的にルビをつける。Chromeの翻訳機能みたいな感じで、ボタンひとつでルビをon/off。あるいは「ソースを見る」に近いインタフェースでも良いだろう。すでにあればインストールするだけなんだけど、ちょっと探しただけだと見当たらなかった。

その2。

テキストの簡易マークアップを見ていくと、MarkdownやTextileやBBcode、Wiki記法、DocBook、HTML、RDoc(Ruby)、POD(Perl)、reStructuredText(Python?)あたりの有力なものがある。私としては文書を作りたいけどWordとかLaTeXには直に触りたくないのですね。最終的にはブログ記事(HTMLのサブセット?)やEPUB、PDF、Word、LaTeXソース等を出力することになる。普通のテキストエディタで文書を書いていきたいが、見栄えが悪いplain textのままではイヤだし、画像や簡単な数式やグラフを自由に貼りたくて、バージョン管理は普通にMercurialとかgitでやりたい。

我那覇本 採点

年明け一発目ですが、我那覇本を読みました。

なんだろうこの怒りの感情は…

うっすら見えてくる事件の流れとしては、その場しのぎの詭弁の天才・青木(ほぼ主人公)に騙されたサッカーだけしか見えてないバカが組織の上のほうにいた、気づいたときには引けなくなっていた…ということか。しかし青木の詭弁のモトになったものを考えると、これって川崎の社長のせいじゃねーの?

というわけで採点です。

青木4.5バカを騙すことに成功し、意図的に無実の選手を陥れる。地位に相応しくない行動を続け、主人公の地位に恥じない活躍ぶり
鬼武5.5バカ無罪。いまだに事実に気づいていない。本書における2番目に大きな驚き
川淵-出番少なく、採点なし
犬飼6.0青木の追放に成功
遠藤(副大臣)6.5与えられた地位を越えた行動。よくがんばりました
友近6.5民主党の議員にしてはよくやった
後藤6.0いまマリノスのユースにいるんですね
仁賀7.0MoM。浦和の人とは思えないほどよくやった。本書における最大の驚き
サンスポの記者4.5こいつはいったい、何がしたいの?
新城さん6.5ちんすこう大使。すごいよね
山崎さん(華族)5.5平常運転を続行
清水の社長6.5川崎の社長やってくださいおねがいします
神戸の社長6.0理解力の高い人物
藤田(選手会)6.0地位にふさわしい行動をとり続けた
武田(川崎の社長)3.0卑屈な姿勢で無用の混乱を招いた本事件のA級戦犯。人の上に立つような男ではない
我那覇6.5身を削り、勇気ある選択と行動でスポーツを救った。ただ移籍先は神戸よりも清水にするべきだったと思います
杉浦5.5理不尽な痛みに耐えた
田坂5.5近年、印象に残るアシストはほぼ全てこの男によるもの
木村(著者)6.5私はずっと、こういう本を読みたいと望んでいた

もっとこう、青木vs.仁賀の知能対決みたいにしたら「沈まぬ太陽」みたいなサスペンスになったかもしれませんね。青木のパーソナリティに興味が沸騰?

ゆく年くる年

今年も大晦日になりました。皆さんモチ食ってますかー

今年はいろいろありましたね。まず三男が産まれて、一層にぎやかになりました。だんご3兄弟をiTunesで仕入れて、車の中で聴いてます。いつもふざけてばかりの長男は幼稚園で下品な言葉を覚えてくるし、次男もそれを真似する。楽しい時期ですね。

わたなべ家には初めてサンタクロースが来ましたが、サンタさんは長男の希望「ふぉーぜのべると」ではなく、レゴのバケツ(緑と赤:なにげにクリスマスカラー)をくれました。これは私も欲しかった。でも奥さんはやる気ないし、来ない可能性もあったわけで。

私は5月に入院したりしてフルに動けませんでしたけど、電話をAndroidにしたり、小遣い稼ぎのコンピュータの仕事の方でもまあまあコードを書いて過ごせたんで、悪くない1年でした。

あとは3月の地震ですよね。地震とそれに引き続いて起こった/起こっている出来事は将来、例えば30年後に自分の人生を振り返ったときに必ず思い出す、歴史的な経験の一つ。

Google日本語入力きたー

やっとAndroid版が出ましたね。いつまで待たせるんだと思ってましたが、早速入れてみて、悪くない出来だと思いました。PCではずいぶん前から使ってました。Linuxでもmozcでしたし。こういうところからGoogleに染まるのもどうかと思いますけどね。

メールに「あ、そう」「了解」くらいしか書かない私でも、入力方法は気になるもんです。

この文章も、AndroidからGoogle日本語入力で入れてます。

clacは使えるよ!

簡単な計算をするときに長らく重宝していたのがcalcというソフト。コマンドラインから十分な精度で計算してくれる。非常に便利で、私はここ数年というもの、毎日のように使っていた。

  • calc “9**100”
    265613988875874769338781322035779626829233452653394495974574961739092490901302182994384699044001
  • calc 1/10
    0.1
  • calc “sqrt(2)”
    1.4142135623730950488

別にPython起動してもいいんですけどね。シェルの入力でそのまま計算できるというのは便利なもんです。

しかしFedoraならいいけど、EPELにパッケージがないのでCentOSでは使いにくいという問題があった。しょうがないので自分でrpm作って入れてたんです。

そこに登場したのがPythonのeval()をうまく使ったclacというソフト。似たような使い勝手で、Pythonなので無限桁の整数を苦もなく使える。拡張もやりやすい。ソースはPythonのスクリプト1本なので、Cygwinのような環境にも持ち歩ける(Cygwinのパッケージには入ってませんが)。

これは良い! 非常に!!

…のだけど、

  • clac “9**100”
    265613988875874769338781322035779626829233452653394495974574961739092490901302182994384699044001
  • clac 1/10
    0.10000000000000001
  • clac “sqrt(2)”
    1.4142135623730951

うーむ。浮動小数点の演算で誤差が入るのはどうもアレですよねー。

しかし、拡張可能というのがこういう時に使えることを私は知っている。Pythonには分数や10進演算のモジュールがある。分数は確かPython 2.7以降だから入ってない古い環境もあるかもしれないが。なので、~/.clacrcに以下のように書いておく。

try:
  from fractions import Fraction
  frac=Fraction
except ImportError,detail:
  #old python
  pass
from decimal import Decimal
dec=Decimal

これによって、正確に計算することができるのだ。

今年の風邪は爆弾風邪?

先日、風邪にやられました。

  • 1ヶ月くらいハナが出たり出なかったり、セキが出たり出なかったり、熱は出ないが…というだらだらした状態が続き、
  • 突然、強烈な頭痛が襲ってくる!
  • 半日(?)もあれば終わります

ちょっと長めにセキが出ている人は要注意です。少しでも頭痛を感じたらすぐに頭痛の薬を飲んで寝ることですね。

私の場合は18時頃に自宅で「ちょっと頭痛いかな」という感じがして、19時にはもう耐えられないくらい痛かったです。時計も見る気になれないくらいだったけど、21時はまだ痛かったかな。夜中にはもうかなり回復していて、朝はもう何ともなかったです。それにしても、あそこまで痛いのはなかなかない経験だったなぁ。外出中だったらやばかった。

IronPythonメモ

Python.NETことIronPythonでプログラムをMSIL(アセンブリ)にコンパイルするときに、普通にやるとモジュールを使えない。Tools/Scripts/pyc.pyでコンパイルできて.exeと.dllを生成できるのだが、実行すると例外が発生して落ちてしまう。sysは組み込みらしく使えるものの、sys以外のモジュールはひどい状況だ。

最初はprintくらいしか使ってない非現実的な例しか見つからなくて困った。

例外の文字列を見ながら、モジュールも込みでコンパイルする(pyc.pyにモジュールのファイルをいちいち追加していく)と、何とか実行できるファイルを生成できるが、非常に長大なコンパイルオプションになり、面倒なことに。とてもやってられない。

import文を追跡してpyc.pyに渡すスクリプトを書けばいいのかなぁと思いながらググッていると、良い情報があった。

次のようなスクリプトを実行して、一度stdlib.dllを作っておく。

main()の外でargcとargvを見るには?

少しググッてみたけど答えは見つからなかった。とにかくmain()に渡されるargcとargv。これを引数で渡すことナシに別の関数から勝手に参照したいと思い立った。

なんでそんなことをしたくなったのか分からない。でも思い立ったものはしょうがない。

それなりに調べていくと、環境変数を示すenvironというグローバル変数を使えば良いようだ。

extern char **environ;

そしてenvironとargc/argvは以下のような関係にあるらしい。

  • (long)environ[-2-argc] = argc
  • environ[-2-(argc-1)] = argv[0] (= 実行ファイルを示す文字列)
  • environ[-2-(argc-2)] = argv[1] (= 第1引数)
  • :
  • environ[-2] = argv[argc-1]
  • environ[-1] = argv[argc] (= NULL)
  • environ[0] = ここから環境変数
  • :

とても移植性があるとは思えないですね。Linuxでは動作したが。

#include <stdio.h>

void show_argv(){
  extern char **environ;
  int n=-1;
  if(environ[n]!=NULL) return;
  --n;
  while((long)(environ[n])!=-n-2){
    --n;
  }
  int argc=(long)(environ[n]);
  char **argv=&environ[n+1];
  int i;
  for(i=0; i<argc; ++i){
    printf("%d: %s\n", i, argv[i]);
  }
}

int main(int argc, char **argv){
  printf("in-main\n");
  int i;
  for(i=0; i<argc; ++i){
    printf("%d: %s\n", i, argv[i]);
  }
  printf("out-main\n");
  show_argv();
  return 0;
}
// gcc -Wall -o test-argv test-argv.c

以下、実行結果。

# ./test-argv test argument here. 
in-main 
0: ./test-argv 
1: test 
2: argument 
3: here. 
out-main 
0: ./test-argv 
1: test 
2: argument 
3: here.

でも、移植性のある方法はないんでしょうかね?

川崎3-0マリノス (オー、ジュニーニョ)

前日に発表された衝撃的な契約満了のニュースを受けて、10番のユニを着て等々力へ。ホーム最終戦。天皇杯に出ずに帰国することがアナウンスされ、アウェイに行けない私には最後のジュニーニョとなる。どういう気持ちで見ればよいのか…

状況が消化試合ってところが悲しいですけど、ジュニーニョにゴールさせて勝つというタスクは完遂しました。しかしマリノスは最初から谷口FWってどうなってるの(笑)。前半はセカンドボールを拾われまくり押し込まれるものの大したチャンスは作らせず、しかし川崎もシュートは少なかった。ジュニーニョは1本ミドルを打って感覚を磨き、小林悠のヘッドはポストを叩き、後半へ。カウンターからのクロスをオウンゴールで先制1-0、ガチャガチャした展開を続け、カウンターで綺麗に崩してフリーのジュニーニョにボールをつなげ、連続得点3-0。1点取らせないとマクドナルドの賞(決勝点を取った選手に贈られる)がジュニに行かないんでは? と思って見ていたが、マリノスのシュートは枠外で守りきってしまった。賞はオウンゴールだとどうなるのかと思ったが、普通にジュニがもらっていた(別に点を取られなくても良かったのだ…)。

Jリーグも残り2試合

残り2試合になりました。今週末がホーム最終戦というクラブが半数。

川崎は広島でJ1残留を確定させましたが、今年もアウェイがラストゲームです。私は最終節はホームでやるほうが好きなので、残念ですね。

J1の優勝は柏・名古屋・ガンバの3クラブに絞られました。マリノスは早々と4強から脱落しまして、川崎は週末にそのマリノスとホーム最終戦を戦うことになります。どっちから見ても、言っちゃ悪いけど消化試合だよね。マリノスのほうは賞金額が変わるか。川崎は2連勝すれば賞金圏に届く可能性が数字上は残っていますが…まずないでしょうね。あんだけ負けてたら当然です。

えー、優勝争いの話でした。柏は2位の名古屋に3ポイント差をつけているので圧倒的有利か。ガンバは可能性は残っているけど、2勝しても勝ち点は70。柏が1勝でもすると追い付きません。残りの対戦は、以下のようにいずれのクラブも最終節がアウェイです。

  • 柏…Hセレッソ、A浦和
  • 名古屋…H山形、A新潟
  • ガンバ…H仙台、A清水

対戦相手を見ると、ガンバが一番きついかな。名古屋は2勝しそうですね。でも柏が浦和を落として目の前で優勝を決めるかな? ちなみに浦和は昨年話題になったように、最終節は毎年負けてますからね。セレッソは難敵ですが、普通に行けば引き分けくらいは得られるんじゃないかな。