みのるのはてなブログ

プログラミングレッスンの備忘録

iPod に於ける辞書登録

iPod で文章を書くためには効率よく漢字変換したいのて、辞書を教育することにした。
ユーザー辞書登録は、環境設定の画面からキーボードを選択すれば出来るんだけど、出来ればもう少しスマートにやりたい。

『かんたん辞書登録』という無料アプリを見つけたので取りあえずインストールした。文章を書きながらその都度範囲選択して登録できる仕様のものがあるとさらに便利なので捜して見ます。

プログラミングは楽しい

専門的にプログラム言語を勉強したわけでは無いので、既成のスクリプトを寄せ集めてパッチワークのようなことをやっていますが、試行錯誤して目的の作業が自動化できたとき、何とも言えない充実感があります。

ぼくは、WEBページでも日記を書いています。この日記は一つのファイルにどんどん書き足していくのですが、月単位の区分として 201212: 201211: というような日付タグを入れます。
ホームページにアップするときには perlスクリプトを使って、月ごとのファイルにスプリットして書き出し、それをコンパイル用のperlスクリプトを走らせてhtmlファイルに自動変換、更にアップロード用のftpスクリプトでWEBページ用のファイルサーバーにアップします。これら一連の作業も unix の Make コマンドを使って自動化しています。

今日も一つショートプログラムを作りました。日記ファイルに日記を書き足すときにスプリット用の日付タグが自動的に挿入されるようにしているのですが、同じ日付のタグが重複しているとうまくスプリット出来ません。通常新しい日付タグは日記ファイルの先頭行に入りますが、うっかり同じタグが重複しているとまずいので、これを自動的に削除するという目的の自動化スクリプトです。

#!/usr/local/bin/perl
# del_dup.pl

open(FH, "diary.txt");#日記ファイル
open(OUT, ">tmp.txt");#作業ファイル

# 先頭行の日付タグを格納
$data = <FH>;

# 日付タグを作業ファイルに書き込
print OUT $data;

# 日付タグ行を削除して作業ファイルに書込
while(<FH>){
print OUT unless(/^$data/);
}
close(FH);
close(OUT);

# 作業ファイルを日記ファイルにリネーム
rename "diary.txt","backup_diary.txt";
rename "tmp.txt","diary.txt";
exit;


まず、日記ファイルの先頭行にある日付タグを $data に格納しています。
次に、while文で $data にマッチしない行を OUTファイルに書き出しています。これだと必要な先頭行の日付タグも削除されてしまうので、while文の前に print OUT $data として書き出しファイルの先頭行に日付タグを追加しています。

「不要な行だけ削除」というような直感的な作業はプログラムでは難しいので、こんな回りくどいアルゴリズムになります。素人くさいプログラムなので恥ずかしいですが、ここまでたどり着くのに紆余曲折(^_^) でもこのプロセスが楽しいんです。

はてダラ用の日記原稿をorg-modeで管理する

TODOや予定の管理、メモ書き、WEB日記下書き、WEBページの編集管理等々、ごく日常的にしている作業を全てEmacs上から便利に扱いたいと思って、Emacs + howm + org-capture + perl という組み合わせを試している。まずは、はてダラのテストしてみた。
試運転では何とかうまくいくみたいなので、整理してみようと思う(^_^)v

Mac:Lion はメモリーを食う・・と言う話

いろいろググっていると Lion とメモリー関係との話題が多い。MountainLion はもっとメモリー食いということみたいです。

更に、lion から snow leopard にダウングレードした という記事に至っては、ほんと笑えない話ですよね。ということで、ぼくは、OSX用のメモリー開放ユーティリティー使っています。FreeのToolがたくさん出回っているようで、あれこれ使ってみましたが、以下の物が一番よさげでした。無料版もありますが、85円払って有料版にされた方が幸せになれると思います(^_^)

じつは、初めて MacBook を買うとき、Air にするか Pro にするかで迷いました。メモリー増設が出来ない、HDDの換装も難しいという Air を嫌って Pro にしたのは正解だったかも・・・と今更ながら思っています。最近では常識みたいですが、ぼくの MacBookPro は HDD を 255GB の SSD に換装し 16GB のメモリーを積んでいます。それでも、sleepを繰り返し、ごちゃごちゃしているとあっという間にメモリのFreeエリアが2GBくらいに減っていて驚くことがあります。
ま、あればあるだけ贅沢(ふしだらに?)に使うということであって、実際は8GBあれば十分だと思うんですが、5,000円で16GBが買える時代なので奮発しました。元々使っていた8GBメモリーは、家内の Win7機に引っ越しました。いづれにしてもこれから Air を買われる方は8GBは必須かも知れませんね。逆にメモリ2GBや4GBのマシンに Lion をいれるのはかなりストレスと思います。

Mac:LibreOffice はかなりいい感じで使えそう

自分自身ではほとんど使う必要は無いのですが、教会奉仕などの関わり上、Word、ExcelPowerPoint のファイルを編集するケースがまれになります。閲覧だけならクイックビューで十分なんですが・・・
Macへ移行した当時は、仮想環境で Windows環境を構築していましたが、リスタートの度に仮想環境がサスペンド処理を繰り返すのでうっとうしく、Macソフトの Pages や Numbers を使っていました。実用上は十分なんですが、ファイルの互換性という点では、やや問題があります。なによりも Pages においては縦書き機能が無いことが致命的です。
OpenOfficeNeoOffice も使ってみましたが何となくなじめずにいました。つい最近、自治体や企業で導入が進んでいるという LibreOfiice(リブレオフィス)の存在を知ったので、早速Macにインストールして使い始めています。基本的には OpenOffice を継承した形の開発ソフトらしいのでですが、動きの軽さは素晴らしいです。

MicrosoftOFFICE との互換性ですが、ぼくがインストールしたLibreOffice V3.6.3 の場合、Word/Excel/PowerPoint に関しては、一部のマクロ機能をのぞいてはOKでした。Access は残念ながら mdb/accdb とも読み込めませんでした。バージョン3.3では、Access の古いファイル形式も読み取れたらしいのですが・・・

Mac:Lion + BetterTouchTool で最強の Trackpad 環境を構築

BetterTouchTool をご存じでない方は、ぜひリンクをクリックして下さい。Mac ならではの快適な TrackPad 環境を提供してくれます。しかもフリーソフトです。余りに機能が多すぎてまだ十分に使いこなせてないのですが、僕の場合、以下のような設定をしています。
http://farm9.staticflickr.com/8066/8220584254_779b606979_z.jpg

  1. For Finger Double Tap: BetterTouchTol の設定画面を起動
  2. For Finger Tap: 起動しているアプリケーション切り替え
  3. Pinch In: Window(Frame) を最大の1/4にリサイズしてモニター右上に移動
  4. Pinch Out: Window(Frame) を最大化する
  5. Tree Finger Swipe Down: 最大画面の1/2にリサイズしてモニター下部に移動
  6. Tree Finger Swipe Up: 最大画面の1/2にリサイズしてモニター上部に移動
  7. TipTap Left: Emacs を起動
  8. TipTap Right: Launchpad を起動
  9. Tree Finger Swipe Left: 画面を最大化して隣のモニターに移動
  10. Tree Finger Swipe Right: 画面を最大化して隣のモニターに移動
  11. Two Finger TipTap Left: Mail.app を起動
  12. Two Finger TipTap Right: Firefox.app を起動

MacBookと24インチ外部モニタ(縦置き)との併用を機能的にするために上記のような設定にしています。外部モニター主体で作業するので、Lion のフルスクリーン機能にはさほど魅力は感じません。
8. の Launchpad を起動させるアクションは、Lion にも用意されていますが、何となく使いにくいので重複しますが設定しました。
9. と 10. とは同じアクションで MacBook 本体の画面と外部モニターとの間を行き来するための物です。視覚的に操作するために左→右、左←右という使い方をしているだけです(^_^))
アプリ起動は、僕が最もよく使う eEmacs Mail Firefox 用に設定しています。Finder は default で commmnd+f で起動できるのであえて設定してません。
Lion の Trackpad 設定は、マウス操作の代わりをしてくれるアクションが中心ですので、これを組み合わせるとほとんどマウスなしでも使えます。更に使い込んで自分向きの設定に育てていこうと思います。