2010/03/27
mnews
随分と長い間 mnews というソフトウェアを愛用している。
名前の通り、元々は Net News Reader として開発されたのだが、
MUA としての機能も備わっていて割と使いやすいので、
随分と以前より(1990年代の中盤頃から)愛用している。
最近はあまりメンテナンスもされていない様なのだが、
たまにネットで公開されている機能拡張用のパッチを適用したり、
自分でも簡単な改造をしながら長年愛用してきた。
今ではオリジナルにはない mime マルチパートメイルの送受信機能なども加わり、
今時の MUA としては最低限の機能は備える程度には機能が充実している。
最近は UNICODE で送られてくるメイルも増えて来たので、
UNICODE メイルを表示するためのパッチを適用し、
ついでに html メイルを lynx などのテキストベイスのブラウザで
表示する機能を追加した。
これで現状必要と思われる機能はほぼ網羅したと思われ、
届くメイルのほぼ全てを閲覧する事が出来るようになった(多分)。
まだまだ mnews を愛用できそうで嬉しい限りだ。
2010/03/22
スモークハウス
葉山の方で偶然見かけたスモークハウス。
どうみても普通の住宅にしか見えない入り口から階段を登り、
本当にお店なのかな?と恐る恐る足を踏み入れてみると、
店に入った途端にとても香ばしいスモークの香りに包まれた。
お世辞にも広いとは言えない店舗で、
ご主人と会話をしながらおすすめのサバ、アジ、タコなどのスモークを購入。
自宅に戻って早速おすすめレシピのスモークタコとクレソンのサラダを作り、
その他にサバ、アジを食べてみる。
本当に言葉を失うくらいに美味しいスモークでむさぼり食べてしまった。
素材の表面のみならず中にまでしっかりと燻製の香りがしみこんでいるのは、
相当手間暇をかけて作られたんだろうと想像させられる。
良い意味でのこだわりとプライドを持った人が丁寧に作るモノは ジャンルを越えて素晴らしいと改めて認識した。
2010/03/18
GtkTwitter
FreeBSD 上で動作する twitter クライアントの GtkTwitter は 起動するたびにアカウント情報を入力する必要があり面倒だったので、 アカウント情報をファイルに保存して再利用するためのパッチを作成してみた。
自分が使う事だけを考えて適当に作ったので、
パスワードの暗号化すらしておらず、
シンタックスもセマンティックスもチェックしていない。
ただ単にアカウント情報を保存して再利用するだけの機能のみ。
ホームディレクトリに .gtktwitter があれば
保存されたアカウント情報を利用する。
$HOME/.gtktwitter がなければ
従来通りアカウント情報の入力ダイアログを表示し、
入力されたアカウント情報は $HOME/.gtktwitter に保存される。
$HOME/.gtktwitter は以下の書式なので、
アカウント情報は vi (1) を利用して入力する事も可能である。
勿論 cat (1) や echo (1) でも可。
ファイル中のスペースは文字そのものとして解釈されるので注意する事。
mail=ID pass=パスワード
diff -rc gtktwitter-0.0.4.orig/gtktwitter.c gtktwitter-0.0.4/gtktwitter.c *** gtktwitter-0.0.4.orig/gtktwitter.c 2007-05-10 00:50:02.000000000 +0900 --- gtktwitter-0.0.4/gtktwitter.c 2010-03-18 20:15:01.000000000 +0900 *************** *** 724,729 **** --- 724,783 ---- return FALSE; } + #define CONFIG_FILE ".gtktwitter" + + static gboolean getconfig(GtkWidget *window) + { + + gchar *config; + char buff[1024], + *m = NULL, + *p = NULL; + FILE *fp; + gboolean ret = FALSE; + + if((config = g_strdup_printf("%s/%s", getenv("HOME"), CONFIG_FILE))){ + if((fp = fopen(config, "r"))){ + while(fgets(buff, sizeof(buff), fp)) + if(!strncmp(buff, "mail=", 5)) + m = strdup(buff+5); + else if(!strncmp(buff, "pass=", 5)) + p = strdup(buff+5); + fclose(fp); + } + g_free(config); + + if(m && p){ + g_object_set_data(G_OBJECT(window), "mail", m); + g_object_set_data(G_OBJECT(window), "pass", p); + ret = TRUE; + } + } + + return (ret); + + } + + static void putconfig(const char *m, const char *p) + { + + gchar *config; + FILE *fp; + + if((config = g_strdup_printf("%s/%s", getenv("HOME"), CONFIG_FILE))){ + if((fp = fopen(config, "w"))){ + fprintf(fp, "mail=%s\n", m); + fprintf(fp, "pass=%s\n", p); + fclose(fp); + } + g_free(config); + + } + + return; + + } + /** * login dialog func */ *************** *** 735,740 **** --- 789,798 ---- GtkWidget* pass = NULL; gboolean ret = FALSE; + if(getconfig(window)){ + ret = TRUE; + } + else{ /* login dialog */ dialog = gtk_dialog_new(); gtk_dialog_add_buttons(GTK_DIALOG(dialog), *************** *** 804,812 **** --- 862,873 ---- char* pass_text = (char*)gtk_entry_get_text(GTK_ENTRY(pass)); g_object_set_data(G_OBJECT(window), "mail", strdup(mail_text)); g_object_set_data(G_OBJECT(window), "pass", strdup(pass_text)); + putconfig(mail_text, pass_text); ret = TRUE; } + } + if(dialog) gtk_widget_destroy(dialog); return ret; }
2010/03/14
2010/03/11
日本語まじりの数式
よく拝見してるサイトで日本語まじりの数式に関する話題がでていたので、 「数式はやっぱり TeX でしょう」って事で TeX で数式を作成してみた。
TeX のソースは以下。
1\documentclass[a4paper]{jarticle} 2\begin{document} 3 \begin{eqnarray} 4 貯蓄率\frac{可処分所得-消費支出}{可処分所得} 5 \end{eqnarray} 6\end{document}このコードを以下のコマンドで png 形式に変換する
$ platex sample.tex $ dvips -E sample.tex -o sample.eps $ convert sample.eps sample.pngdvi ファイルから png ファイルに変換するために dvipng (1) というコマンドもあるのだが、 このコマンドは日本語にちゃんと対応していない様で 日本語が文字化けするので一度 eps 形式を経由している。
結果として以下の画像が取得できた
手順はかかり TeX による文章の作成は慣れないと面倒に感じるだろうが、 特に数式の仕上がりは美しいのでお勧めかもしれない。
2010/03/09
The Cove
The Cove という映画がアカデミー賞の 長編ドキュメンタリー賞を受賞したという事で、 俄然イルカに対する関心が高まっている(様な気がする)。
映画の是非や恣意的に残虐さを強調した表現などについては
とやかく言う気はない。
そもそも「映画」なんだから制作者の意図は当然反映されるわけで、
ドキュメンタリーとは結局の所
制作者の意見を具象化した映像に過ぎないという事だろう。
まぁ、あまりにもバカバカしすぎて論評する気にもならないというのが
正直な気持ちではある。
The Cove といい、グリンピースによる捕鯨反対運動といい、
感情的過ぎる反応にはいい加減うんざりしてしまう。
結局の所、捕食という行為は他者の犠牲の上になりたっているわけで、
鯨だからかわいそう、イルカだからかわいそう、
牛だから問題ない、豚だから食料だ…という問題ではないだろう。
「鯨は知性がある」、とか「イルカは知性がある」とかは
あとから無理矢理こじつけた言い訳に他ならず、
単に個人的な価値観を拡大解釈しているに過ぎない。
大体、牛や豚には知性がないとでも言うのか?
豚、特にミニブタなどは最近ではペットとして飼育されている程だが、
それなりの知性があるからこそペットたり得るのではなかろうか?
食事という行為は文化や習慣などによって多様に変化するものだから、 自分たちの矮小で近視的な価値観だけを勝手に押しつけた上に、 直接的・間接的な暴力により攻撃するというのは、 人として最も恥ずべき行為なのではなかろうか?
自称「先進的な西洋人」がかつて地球上のあちこちでしでかし、 しかも全く反省も自責の念も持たず勝手な理論で自己正当化した犯罪行為、 略奪行為、虐殺行為などと根は一緒な気がする。