昨日の雷雨で増水しているのかと思えば、いつもより水位は低く、なんとなく水も澄んでいたような気がする。日差しはキツイけど、湿度は低かったようで、汗はかくけど爽やかな感じの通勤。もしかすると、雨が降ったおかげで空気がキレイだったのかもしれない。
一人でいると仕事のことやプライベートのことでいろいろ考えたりする。元々そういったことをする質なんだけど、最近は考えることがいっぱいあって、どうも他のことに対して気が抜けてるときがあるみたい。ということで、今日、家を出るときにカギをかけてきたかどうかの記憶がない。。。習慣化してるから大丈夫だとは思うんだけど。。。
そして、モニタを見つめつつ視界がグルグル回ったりする。気持ちわるっ。
かなり良い感じで帰れそうにない(笑) きっかけがわかればすぐなんだろうけど、先は長そうな予感。。。
もしや、ココか?
ココはココで怪しいのだけれど、ちょっと違うらしい。あと少しのような気がするんだけど。。。今日は諦めて帰ろう。
夕べからいくつかのライブラリやアプリケーションの自家製 RPM パッケージを作成してインストール。SPEC ファイルを書くのはひさびさ&慣れてない lib / app が多いので、本当にコレであってるのか不安ではある。
sample が同梱されているものは、それで動作確認してみているけど、こんなんで大丈夫なんだろうか?(^^;)
なーんか目の調子が悪いなと思ったら、今日はコンタクトを変えなければならない日だった! 交換用のレンズは持ってるけど、ここまで来たらあと半日、このまま使い続けよう(貧乏性)
NTTメディアサプライ株式会社というところから「未承諾広告※」が来た。NTT 関連会社が spam かよ!って思ってたら、その中に「(株)レッドスターのご協力の基に送付しております」なんてあった。
どんな協力なんだよ!と思って調べると「企業向け未承諾広告メール?綛」ってヤツがソレらしい。
それにしても、「業種別メールドレスを1つ10円にて買取」とかなんだか怪しげな雰囲気だなぁ。
ITPro に「“エンジニアの幸せ”を味わえるプログラミング言語Ruby」という記事が。幸せを味わう前に覚えなきゃな。覚える必要も出てきたので勉強せねば。
とりあえず「asdfghjkl;」の各キーによる候補選択はできるようになった。XEmacs と Emacs では last-command-char の戻り値の型が違うことに原因があったようだ。XEmacs では character で、Emacs では integer で戻ってくるのだけど、anthy.el の一部で integer を前提とした記述があったのでうまくいってなかったのだろう。
下記のように変更してやれば、候補選択ができるようになると思う。
(defun anthy-handle-key (ch chenc) (cond ;; 候補選択モードから候補を選ぶ ((and (or anthy-enum-candidate-p anthy-enum-rcandidate-p) (if anthy-xemacs (integerp (char-to-int ch)) (integerp ch)) (assq (car (rassoc (char-to-string ch) anthy-select-candidate-keybind)) anthy-enum-candidate-list)) (anthy-insert-select-candidate ch))
あとは、プリエディット時に delete キーが効かない点を修正できれば、結構快適になるかも知れない。
なんか出遅れた感があるけど、メモ。
Allegro molto vivace.より。シベリウスだった。
シベリウスなあなたのための人生指南:自由奔放さが、あなたの魅力。 目立つことが嫌いで、あがり症であるため、人前での行動は苦手で、マイペースな人です。 しかし、秘めた情熱をもつ、隠されたあなたの能力はすばらしいものです。 こつこつと努力をする能力にも恵まれているため、 独自の方法により技術を会得していくでしょう。 仕事でも、音楽においても、それは同じ。 周りの人ははいつのまにか成長しているあなたに驚くはずです。 また、目立たないけれどもしっかりとした信念を持つあなたは、 次第に周囲の人達を導くようになるでしょう。 恋愛に関しては奥手ですが、一人の人を大切に思いつづけます。 息の長い恋愛生活、結婚生活を送れるタイプです。
ITmedia はいろんなところからニュースを仕入れているな。ニュースポータルを目指しているのか?
それはさておき、最近の個人的注目「Sender ID」の規格策定が進んでいる様子。標準規格になれば採用するところも増えると思うので、踏み台経由の spam は減るだろう。しかし、
「SPFレコードを登録したドメインとSender IDの利用者が十分な数になれば、スパム業者は自分でドメイン名を買わざるを得なくなる」
「ドメイン名は安く簡単に手に入るため、使い捨てが可能だ。SPFが普及したら、使い捨てドメインの手口がもっと使われるようになるだろう」
ということなので、結局 spam 総数としては変わらないんじゃないだろうか。。。
http://www.itmedia.co.jp/news/articles/0408/05/news031.html
UNIX USER 2004 5月号に掲載された記事がアップされている。「Part3 コンソールで使うインプットメソッド」では、
昔のAnthyはXemacsとの相性が悪く、Xemacsでは未確定文字列の編集中にバックスペースが使えないなどの不具合があった。その頃の悪い印象を持っている方もおられるかもしれないが、現在のAnthyはXemacsでもちゃんと動くので安心して欲しい。
と紹介されてる。XEmacs での動作対応に関わった身としては、ちょっと嬉しい。
3日目の朝は、またしても5時起床。外が明るいと、すぐに目覚めてしまう。
コーヒー飲みたいなと思ったときに、炭火をおこすところから始めるのは、なんか良いね。その火をおこしたら炭が無くなってしまったので、朝食作りはカセットコンロを利用。文明の利器も良いもんだ(笑)
ということで朝食はホットケーキ。この巨大さが分かってもらえるだろうか?
朝食後は、のんびりとテントを閉まったり、調理器具を閉まって撤収作業。11時にチェックアウトして向かったのは、前日と同じ「湯遊パーク」。ここでサッパリしたあとで、今度は昼食に向かった。
昼食は、ガイドマップで見つけた「利休庵」へ。別のお客さんへ「天ぷらは30分くらい時間がかかりますけど」と店員さんが言っていたのが聞こえたので、あえて天ぷらを避け、二色そば定食(1500円)を頼んだ。
後で検索したら、どうやら天ぷらの巨大さで有名なお店らしい。どうせなら頼んでみれば良かったかなぁ。そばの方は、諏訪湖の「萬盛庵」で食べた時ほどのインパクトは感じられず。
帰りは練馬付近で渋滞に捕まったものの、他は割とスムーズに進めた。とは言えそれなりの距離なので、車に乗っていて疲れた。もっとも運転してたのはオレじゃないので、まだ楽な方なんだが。最終的に自宅まで送ってもらって感謝感謝。
α350 または α300 を購入すると、もれなく10,000円が返ってくる「キャッシュバックキャンペーン」が実施されているのだが、その応募方法がオレにはちょっとツライ。
保証書のコピーや領収書のコピーを送るのはいいとして、、、なんで製品箱のバーコードを切り取って送らないとダメなんだ!
と、まぁ、理由は分からなくもないんだけど、箱を切り取るのがヤなんだよなぁ。気に入ったモノは箱までキレイに取っておくのが常なオレとしては。
ま、でも、10,000円のために切るけどな(笑)
昨日と同じくテキスト編集系の新機能の中から、今日は新しいコマンド delete-duplicate-lines
を調べる。
まぁ、これはヒトコト「重複行を削除する」で言い表せるようだ。例えば次のようなテキストがあったとする。aaa
が2行あり、重複している。
aaa
aaa
bbb
ccc
これを範囲選択し、M-x delete-duplicate-lines
を実行すると、次のようになる。
aaa
bbb
ccc
重複していた aaa
がひとつに集約されている。要するに uniq
コマンドと同じような動作を Emacs 内で行なってしまおうというものらしい。
ただ、それだけだと面白くなかったのか、このコマンドは「ソート結果じゃなくても uniq
できる」のがウリのひとつのようだ。
つまり、このように重複した行が連続していなくとも、うまく見つけて、削除してくれる。
aaa
bbb
ccc
aaa
上記の状態で、M-x delete-duplicate-lines
を実行するとこうなる。
aaa
bbb
ccc
期待通り。
まぁ、もっと大量のテキストがある場合は、sort TEXT | uniq
を使って重複行を削除したほうが良いのではないかと思うけど、ちょっとしたテキストを操作する場合にはこっちを使うのも良いかもなぁという感じ。
普段多用はしないと思うけど、存在は覚えておこうっと。
Embulk の CSV Parser で、TSV のファイルを読み込んでいたとき、InvalidValueException が発生して、処理が止まってしまった。調べてみると、次のようなデータの場合に失敗することが分かった。
カラム1 | カラム2 | カラム3 |
---|---|---|
abc | "de"f | ghi |
この例の場合、カラム2の「"de"f」で Exception が発生する。
これは「"」で始まったカラムは「"」で終わることが期待されており、その後ろに続く文字は、区切り文字(delimiter)もしくは改行(newline)が期待されているため。「"」のすぐ後に区切りでも改行でもない文字があるので、フォーマットが違うだろ!!という指摘の Exception だった。
TSV なので、カラムのクォートは関係ないかなと思っていたのだけど、CSV Parser のデフォルトが quote: "\t" となっているので、そういう動作になっていた。
quote: ""
とすれば無視されるかな?と思ってやってみたけど、変わらず。じゃあ、どうするかな?元のデータを加工した方がいいのかな?とか思いつつ、Twitter に悩みを吐露したら @frsyuki さんからアドバイスを頂いた!
@suzuki quote: オプションに ‘“‘ を指定するのではなく、例えば “\v” とか、出現しえない文字を指定したら、クオート処理がすべて無効化され、結果として回避できませんか?
— FURUHASHI Sadayuki (@frsyuki) 2015, 8月 5
アドバイスどおりに quote: "\v"
とすることで、この Exception は回避できた。
その後、quote: null
という指定ができるような拡張を進めて頂ける話になり、この日記を書いている 8/6 の朝時点では、もうこの件に対応する pull request が作成され、master ブランチに取り込まれていた!!
だからもうみんなは Embulk の最新版を使えば quote: null
という魔法のことばでこの問題を回避できるよ!!!
今回は(オレのレベルの低さで)コードによる貢献ができなかったのが残念だったけど、こういうアウトプットをしていくことだって OSS への貢献なんだ!という雑な自信を持って、この日記を書いている次第である。
できることをやろう。
【追記】
この修正が入った Embulk v0.6.21 がリリースされた! スピード感すごい!
Embulk v0.6.21リリース。@suzuki さんから報告された、” が値の途中に入ったCSV/TSVファイルをguess&パースできるようになりました。また、“rename” フィルタプラグインを追加しました。リリースノート:http://t.co/yfqTlZlPjv
— FURUHASHI Sadayuki (@frsyuki) 2015, 8月 5
▽ 双月 [だいじょーぶですかあ(汗]