Illustratorのファイルからテキストを抽出する

Illustratorのファイルからテキストを抽出するWebアプリケーションを作ってみたので公開。

http://www.mylab.jp/app/ai2text/

最終更新時刻: 2008年09月03日

MRTGをインストール / Apacheのログを日別に分割

MRTGをインストール

久しぶりにMRTGをインストール。

http://www.mrtg.jp/doc/unix-guide.html

Apacheのログを日別に分割

今までの分をcronosplitで分割して、これからの分はcronologで分割。

apt-get install cronolog
cd /usr/local/apache2/logs
cronosplit --template "access_log.%Y%m%d" access_log
vi /usr/local/apache2/conf/httpd.conf
CustomLog "|/usr/sbin/cronolog /usr/local/apache2/logs/access_log.%Y%m%d" combined
最終更新時刻: 2008年10月23日

わかりやすいインターフェース

久しぶりにVisual Basic 6.0で開発中。

入力はMDBだけど出力側はOCXコントロール。OCXコントロール側のインターフェースはオブジェクト指向になっていて(COMなんだから当然?)とてもわかりやすい。

クラスは全体で数十個、実際に使うのは数個なのでやりたいことがすぐに参照できる。

やりたいこと→どのオブジェクトに対して?→どのプロパティ/メソッド?という感じですぐにマニュアルの参照ができる。大抵はプロパティ/メソッド名から利用法が判断できるのでマニュアルの参照も確認程度で済む。

わかりやすいインターフェースだと、さくさく実装が進むのでいい。

あ、オブジェクト指向じゃないけど、PHPは機能ごとにモジュール化されていて、且つ良質なマニュアルが提供されているのでこれまたさくさく実装が進む。

最終更新時刻: 2009年02月07日

Visual Basicが楽しい / N88-BASICの構文って・・・ / プール

Visual Basicが楽しい

4、5年ぶりくらいのVBで、しかも前は趣味程度だった。その間いくつかの言語を触って、仕事としてプログラミングをやるようになって、初めてのVB開発。いろんな意味で楽しい。

まず一点目として「新しい発見があって楽しい」。

新しい発見、といっても知ってる人なら当たり前のことばかりなんだけど、自分にとってはとても新鮮。

  • Optionalをつけると省略可能な引数になる。
  • #If ... Then ... #End Ifがある。
  • Debug.Assertでアサートが使える。
  • Type ... End Typeで構造体みたいなものが作れるみたい。

とか。知らなくてもプログラムは組める。でも新しい言語を覚え始めた時の高揚感のようなものがある。一通り困らない程度の知識が揃ってて、プラスアルファの発見の余地がある状態。イイネ。

なんだか、酢昆布的なお得感。もう味が出ないと思ってたけど、また吸ってみたら案外まだ残ってた、みたいな。

二点目として「懐かしくて楽しい」。

自分が最初に覚えた言語がN88-BASICだったから、その頃のことを思い出して懐かしい。しかも今回画面に丸とか線を描くので特に。

N88-BASICを使って

Screen 1, 0
Line(0, 0)-(640, 200)
Circle(320, 100), 100

とかやってたのを思い出す。(引数とかは適当だけど覚えてるもんだな。10年ぶりくらいに書いたけど。)

N88-BASICの構文って・・・

Line(0, 0)-(640, 200)

今にして思うと、すごくおかしな構文だ。C言語ライクに考えるとLineという関数の引数は(0, 0)で、その結果から(640,200)という引数をとる無名関数の結果を減算してるように見える。・・・なんだ無名関数て。

プール

火曜日800m、今日は750m。

最終更新時刻: 2008年10月09日

カーネルを2.6にアップグレード

ここのサーバのカーネルを2.6にアップグレードした。

といってもdebianなのでapt-getしただけ。

apt-get install kernel-image-2.4.27-2-686
apt-get install kernel-image-2.6.8-2-686

最初は直接2.6をインストールしようとしたんだけど、なぜか「2.4.27-2-686に依存してるから先にインストールしろ」という内容のエラーが出たので先に2.4.27-2-686をインストールした。

インストール後、カーネルパニックで起動しない。これすでに3度目。

そのうえ、今回liloのプロンプトが出ない設定になっていたため以前のカーネルでの起動もできない。

ShiftまたはAltを押しながら起動すると選択画面が表示できることがわかったので試してみたら無事選択画面がでた。

最終更新時刻: 2008年10月16日

Illustratorのファイルからテキストを抽出する(2) / Illustratorのファイルからテキストを抽出する(3)

Illustratorのファイルからテキストを抽出する(2)

イラストレーター9/10ファイルに対応させた。

http://www.mylab.jp/app/ai2text/

Illustratorのファイルからテキストを抽出する(3)

HTML形式での出力に対応させた。

http://www.mylab.jp/app/ai2text/

といってもテキストボックスごとに<p>タグで囲んだだけ。

HTMLで出力するメリットとか利用法

  • テキストだとどこがテキストボックスの区切りなのかわからなかったけど、これならわかる。
  • イラストレーターで作成したファイルを元にWebページを作成する作業に利用できる・・・かも。
最終更新時刻: 2008年10月31日

[buy] このサーバーのメモリを増設した

ここ(www.mylab.jp)のサーバーのメモリを増設した。増設前が256MBで、512MBのメモリを増設したので合計768MB。

Apacheにいろいろモジュールを入れてるので256MBではちょっと物足りないけど、768MBは過剰気味。でも256MBより512MBのメモリの方がバイト単価が安いので512MBを購入。ちなみに256MBは3000円弱、512MBは5000円弱くらいだった。

本当は今後サーバ機を更新することを考えて、PC3200のメモリを購入して、新しいサーバを買ったときに載せ変えようと思ったんだけど、現在のサーバであるTerminator P4 533の対応メモリはPC2700まで。店員さんに聞いたところ、「規格上PC3200でも動くはずだけど、相性によっては不安定になるかも」と脅されたのでPC2700にした。

久しぶりにケースを開けたら、CPUファンにも埃がたまってたのでついでに掃除。静かになった。

最終更新時刻: 2008年10月27日

Visual Basic 6.0 IDE でマウスホイールが機能しない / このサーバーのメモリを増設した(2) / tDiaryのタイトルをカレンダーに表示

Visual Basic 6.0 IDE でマウスホイールが機能しない

VB6.0のIDEはマウスホイールでスクロールできない。どうせ仕様だろうと思って解決策を探してなかったんだけど、今日先輩に教えてもらった。

Visual Basic 6.0 IDE でマウス ホイール イベントが機能しない

やっぱり「この動作は仕様です。」だったけど、アドインで解決できる。あとはVisual Source Safeの差分画面もスクロールできないけど、こちらは2番目の方法(古いドライバを入れる)だと何とかなるのかも?Logicoolのマウスだとスクロールできてるみたいだし。でも多分やらない。

とりあえずこれで開発環境がちょっと良くなった。

このサーバーのメモリを増設した(2)

メモリ増設後の感想。

  • 体感でWebの応答速度が上がった。
  • MRTGで確認したら現在の物理メモリ使用量は328MB。有効活用されてるみたい。

MRTGのメモリの設定ミスってたのを昨日直したばかりで、増設前との比較ができないのが残念。

普通はMRTGとかコマンドでメモリの使用状況確認してから増設の要不要を判断するんだけど、速くなったしちゃんと活用されてるから結果オーライ。( ゜∀゜)

tDiaryのタイトルをカレンダーに表示

ここのメモの各エントリのタイトル、というかサブタイトルをカレンダーに表示したら便利かも、と思ってスクリプトを組んでみた。結果がコレ。

PC関係のメモ(カレンダー版)

これは(少なくともこのままじゃ)ダメだ・・・。

最終更新時刻: 2008年10月28日

VCで新しいアプリケーションを作るときに必ず設定すること(3)

CWinAppから派生したクラスでF1キーによるヘルプイベントを処理するようになってるので、とりあえず消しておく。

CWinAppから派生したクラスの.cppにある下記ON_COMMAND行をコメントアウト。あるいは削除。

BEGIN_MESSAGE_MAP(CHogeApp, CWinApp)
    // ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
最終更新時刻: 2008年12月10日

PHPのソースをC++に移植するのは楽でいい

PHPで書かれたデコードプログラムをC++に移植した。

7、80行程度のソースを、アルゴリズムそのものはあまり考えずに機械的にボケーっと移植。途中コンパイルもしてなかったけど一発で動いた。

PHPとC++は言語構文が似てることもあって移植が容易。最近はPHPでプロトタイピングしてC++にリライトすることもある。

最終更新時刻: 2008年12月10日

梅を見(撮影)に行ってきました。写真はいずれもEOS Kiss Digital Nと標準レンズで撮影。加工はリサイズのみ。

梅写真1

梅写真2

最終更新時刻: 2008年11月11日

GmailでBLOGを実現するプログラム / [buy]ノートン・アンチウイルス 2006を購入 / [buy]ThinkPad X31のリカバリーCDを注文 / [buy]ThinkPad X31用に拡張バッテリーを購入した

GmailでBLOGを実現するプログラム

http://pcweb.mycom.co.jp/news/2004/09/07/005.html

ノートン・アンチウイルス 2006を購入

ThinkPad X31に付属してたノートンアンチウイルス2004がいい加減古くなってきたので最新の2006を購入。ついでに家のPC用ということで2ライセンス版を購入。

ノートン・アンチウイルス 2006 2ユーザー用 特別優待版

今見てみたらAmazonのほうが安かったし・・・orz

ThinkPad X31のリカバリーCDを注文

ThinkPad X31にはリカバリーCDは付属しておらず、必要ならば有償で購入しなければならない。

また、X31に導入されているWindows XP SP1のリカバリーCDは2005年1月31日以降、在庫限りの提供となっているらしい。

D2D領域から再インストールできるから必要ではないけど、入手不可能になると言われると手に入れたくなるのが人情。というわけで早速サポートセンターにTELしたらまだ在庫があったらしく、出荷してくれるとのこと。良かった。

PC 製品のリカバリー CD の最終提供日 (Microsoft Windows)

ひょっとしてSP2のリカバリーCDが来ちゃったりして、とか思ったが「初期出荷時とは異なるオペレーティングシステムのリカバリーCDは提供できません。」とあるので多分違うだろう。

ThinkPad X31用に拡張バッテリーを購入した

ThinkPad X31用にバッテリーを購入した。

購入したバッテリーは「X30シリーズ 標準&拡張バッテリーセット(92P1097+02K7044) 」。それぞれ個別に購入すると15,855円と17,955円のところ、セットで購入すると22,890円と10,920円もお得。

自分は既に標準バッテリーを2本所有しているので拡張バッテリーのみが欲しかったため、標準バッテリーを必要としている友人と一緒に購入してお互い得することにした。

最終更新時刻: 2008年10月28日

作成中、要修正、未実装などのコードにつけるコメント / ソースコードを読むための技術

作成中、要修正、未実装などのコードにつけるコメント

/* XXX */
/* TODO */
/* FIXME */

後でこれらをgrepするなどして修正漏れ、実装漏れを防ぐために使われるコメント。

ソースコードを読むための技術

ソースコードを読むための技術

最終更新時刻: 2008年09月01日

[book] 「ウェブ進化論」読了 / 検索ベースのブログツール

「ウェブ進化論」読了

ウェブ進化論 本当の大変化はこれから始まる (ちくま新書)(梅田 望夫)

読もうかどうしようか迷っていたけど、今日会社で薦められたこともあって読んだ。

昔ちょこっと練習した速読法を使ってほぼページを飛ばさずジャスト一時間で読了。本来一時間で理解できる本ではないので後でもう一度読もうと思う。とはいえ著者の梅田さんの文章は読みやすいのでさくさく読めた。

自分は書いてある内容に関する知識があるから理解できるし共感できるが、そうでない人がこの本を読んだら一体どう感じるのだろう。

例えば、以下のような人。

  • Webをやらない人
  • Webを見るだけの人
  • Webの仕事に携わっているがグーグルやアマゾンのビジネスモデルを知らない人

検索ベースのブログツール

PC関係のメモβ

メールソフトみたいなインターフェースを持つブログを開発してみたら使いやすいだろうか、と思ってプロトタイプを作ってみた。

Gmailのインターフェースをパクッ……リスペクトしています。また、個々の記事を見るたびに画面遷移するのは非効率だと思い、AJAXを使って表示しています。(初AJAX)

チェックボックス?そんなものは飾りです、今のところ。後で「チェックのついてる記事を展開/縮小」とか、「チェックのついてる記事にタグを設定/削除」みたいにして使う予定。

こんなブログツールは如何でしょうか?もしかしたら似たようなツールやサービスがあるのでしょうか?メールやコメントでご意見を下さい。

最終更新時刻: 2008年11月09日