Categories

  • Android開発
    android marketで目指せ億万長者(ウソ)
  • cocos2d
    pythonでも使えるゲームフレームワーク
  • Google
    ここには未来を開くためのAPIがたくさん用意されている。
  • GoogleAppEngine
    どこまでもスケールアウトするクラウドサービス。使いこなすのが大変
  • Hack
    様々な電子機器を本来の用途とは別の用途に使ってみる。
  • iPhone開発
    app storeで目指せ億万長者(ウソ)
  • python
    LightWeightLanguageで一番難しいがLispにも通じるところがある面白い言語。
  • TIPS
    覚えておくともしかしたら役に立つかもしれないチョットしたこと。
  • うまくいきません
    やってみたけど、うまくいかなかった失敗記事
  • ネット世界
  • 夢見るソフトウェア
    こんなのいいな、できたらいいな、いつかつくろう
  • 開発環境
    開発するまえに環境を整えた記録、次に同じことをするためめの忘備録
無料ブログはココログ
My Photo

July 04, 2011

本棚をポケットに入れてしまおう

 子供が中学生になって、いよいよ本棚を明け渡す時が来た。下から上まで180cmある本棚に前後二段に渡って詰め込んである未読の本をどうしよう。しばし考えた末、スキャナーでスキャンしてPDFにすることにした。
 最初は複合機で試してみたが、あまりのスピードの遅さに萎える。人間が本を読むスピードと大差ないんじゃなかろうか。
 1冊100円ちょっとでスキャンしてくれる業者もあり、以前はそこに送ってスキャンしてもらったが、梱包の手間と送料がバカにならない。本は重いのだ。

 一念発起して自炊を決意、スキャナーはキャノンのDR-150を買った。裁断機はカールのDC-200。それぞれ+2万円ずつかければ良いものが手に入るのは分かっているのだか、もう2度と本棚いっぱいの本を買うことはないと考えると、使いきりということになる。約300冊あるので一冊当たり200円以上かかったら、業者に頼んだほうが安い。

 実際に試してみるとスキャナはー下位機種の割には高速。裁断機はカッターでばらす必要があるものの手間さえかければ結果は良い。思った以上に良い買い物だった。

 本を裁断することに罪悪感を感じるという人は、ブックオフで100円の本を買って裁断するといい。茶色くて埃っぽいニオイのする本がスキャンされて無味無臭となる。物質としての本から情報としてのデーターに成仏させている気分になる。慣れてしまえば新品の本も迷わず裁断できる。
 そうそう、喘息持ちの人は裁断するときはマスクをした方がいい。あとで吸い込んだハウスダストから発作を起こすことがある。

 注意しないといけないのはスキャナーもカッターも消耗品であること。スキャナーは原稿送りをするためのゴムがヘタってしまい1枚ずつ送れなくなる。交換部品は1500円。カッターは50冊ぐらい切断するとカッターマットに溝が掘れてしまう。裏返して使用できるが交換用のマットは4本で1500円。意外と早く消耗する。

 ということで、1週間かかって300冊をスキャンした。サイズは12GB。SDカード1枚に入る。実際に体験しても信じられない。こうして10年以上に渡って床に重さをかけつづけていた本棚は、ポケットの中にある。感動だ。 

May 24, 2011

WEB+DBの古本から

古いWEB+DBマガジンを読んでいたらSQL入門の記事があった。結構知らないことがあったのでメモしておく

ORの羅列をINで書く
OR a=1 OR a=2 OR a=3 は a in (1,2,3)

集約した結果に対してさらなる絞り込みをする、例えばGROUP BYの結果でCOUNT(*)があるとき、HAVING COUNT(*)=1 が使える。

IF分の羅列は CASE で書く
CASE
WHEN <評価式> THEN <式>
WHEN <評価式> THEN <式>
WHEN <評価式> THEN <式>
ELSE <式>
END

集合演算
和集合 SELCT * FROM tableA UNION SELCT * FROM tableB;
積集合 SELCT * FROM tableA INTERSECT SELCT * FROM tableB;
差集合 SELCT * FROM tableA EXCEPT SELCT * FROM tableB;

May 05, 2011

ローカルネットワーク全部のマシンにpingをうつ

ping -b 192.168.1.0
って打てばいいんですけど、-bオプションが使えないケースが多々あります。

シェルスクリプトで、1行こんなの書けます。
for i in 192.168.1.{1..254} ; do if ping -c1 -w1 $i &>/dev/null; then echo $i alive; fi; done

http://www.commandlinefu.com/ からの受け売りです。

http://www.commandlinefu.com/