ブログ移設しました。

bloggerから記事を移設しました。


HUGOで記事を書いてみると思いのほか書きやすかったので移動。

金曜日, 3月 28, 2008

Rmagickを使って使って一括イメージ編集

どうも、totugekilunaです。

さて、皆様ImageMagickというツールをご存知でしょうか?
普通画像を編集するのには、Paintなどの画像編集ツールを用いて行うのですが、それをコマンドライン場で行ってしまおうというものです。 むろん、動作は高速でありますが、画像編集ツールみたいな細かい編集は不可能だと思います。(ドキュメントを読んでおりませんので、何ともいえませんが)

今回は多くの画像の中から目的の画像だけを切り出し、透過処理を行い、PNG化まで持ってくというまでをやりたいと思います。
過程


  1. ImageMagickのインストール

  2. Rubyのインストール

  3. Gemのインストール

  4. Rmgickのインストール

  5. vim+ruby+その他のオプションを指定したvimのインストール



  1. ImageMagickのインストール

  2. この作業の前にMacOSXの開発環境(DVD同梱)とMacPortsが入っているということを前提とします。 入れ方に関してはほかのサイトをみてやるか、過去の記事を参照してください。


    port install ImageMagick
    これで関連するライブラリも一緒に入れてくれますが、私がやったときには、jpeg2のファイルがなかったのでそれを野良から持ってきました。
    入れる場所:/opt/local/var/macports/distfiles/パッケージ名

    このときPATHの設定も行ってください。


  3. Rubyのインストール


  4. MacOSXやLinuxの場合は最初からRubyが入っていますが、MacOSXのTigerの場合はRubyが使い物にならないものが入ってますので、それの代わりにPortsで新しいRubyを入れます。

    port install ruby

  5. Gemのインストール


  6. GemのインストールをPortsにて行います。

    ports install rb-rubygems

  7. Rmgickのインストール


  8. Rmagickはgemよりインストール

    gem install rmagick

  9. vim+ruby+その他のオプションを指定したvimのインストール


  10. port install vim +ruby+その他のオプション(好きな用に)



ここから本題

画像を一枚あげます。こういう画像が連続して続いているものと考えてください。




まだこのImageMagickを操作するRmagickのライブラリに関してのドキュメントを読んでないので何ともいえないのですが、作業を進めていきましょう。(ドキュメントを読むところから)
Rmagick公式ドキュメント
というわけで、読み進めながら作業を進めましょう。

ちょっと雑談なのですが、こういうときにデュアルディスプレイだと片方にドキュメント片方にメモ(このブログ)んで、メモの画面に作業場とするとかなり作業がはかどると思いますよ(経験談)

まず最初にirbでHow to Useのをやってみるのが常ですが、MacOSXでは注意が必要です。 パスの指定が、現在のパスが前にきている場合 PATH=$PATH:/opt/local/bin等になっている場合は、MacOSX側のirbが使用されライブラリ等もそちらのが利用されます。私はライブラリの共有方法を知らないので、わざわざ/opt側で完結させるようにしております。無駄ですがほかに方法を知りません(調べてません)

ちょっと、How to Useからソースコード抜粋
1. require 'RMagick'
2. include Magick
3.
4. cat = ImageList.new("Cheetah.jpg")
5. cat.display
6. exit
となっておりました。
そうすると、MacOSXの場合X11が立ち上がり画像が表示されました。
まぁ、ちゃんと動いているみたいなので作業を続けます。

まずは画像の切り出し

くまくまーsの記事でRmagickのCropっていうメソッドをみた気がしますので、それの使い方をみてみましょう(RmagickのAPIは膨大なためいちいちすべてのものをみていると気が遠くなります。)

ここで問題発生 くまくまーsのところで紹介しているのはほかのライブラリを使っての顔の認識だったですが、これを使わせていただくことにします(ただし、OpenCVのRuby Wrapperを作っている人はまた別の
このサイトの方だそうです)
えーちょっと、回り道をしておりますが、ふと気づきました。 この画像の中にはいくつかのにたような形があるわけです。 現在のクランマークそして、選択しているクランマーク
これでは、最低でも1枚の画像につき2枚はよけいなものが紛れ込んでしまう可能性が。あるわけでして。
ん?でも同一の画像であれば削除っていうことにすれば問題ないかw

というわけで、OpenCVとobjectdetectのインストールを待ちます

OpenCVのビルドすげぇ時間かかりますので、ご注意を

インストールも終わりましたので、作業を再開します。

火曜日, 2月 26, 2008

PCを新しく組みました。

 MacBookが12万円しましたが、メモリも何もかも込みとなるとこの値段ではありません。

 このたび購入したのは自作一式総額12万円以内で収まりました、CPUはAMD64x2です。 MBはGigabyte製、ディスプレイ:LG製20インチ(ワイド)グラボは、GeForce、HDD512+128x2、メモリNBで1Gx2です。
手持ちのHDD128x2と、DVDMULTI(LiteON)を組み合わせての構成ですが、OSとディスプレイこみこみでこの値段は意外と安いと思いました。 正直この値段でここまでの構成のものが作れるとは思っていませんでした。

というわけで終わり

木曜日, 2月 14, 2008

ATH-A500届きました

ようやく新しいヘッドフォンが届きました。
ATH-A500っていうヘッドフォンなんだけど、俺が今まで使っていたヘッドフォンの中でもかなりいい分類に入ってます。

遥か昔にお父さんが使っていたヘッドフォンはとってもいいやつだったけどそれ以降はいいのは使ったことないですからねぇ。

 今回のヘッドフォンは音質的には今までのヘッドフォンに比べてもあんまり変わりません。高音がよく伸びるようになったくらい。低音がなくなることが私自身心配していましたが、ちゃんと低音も出ているので安心安心。
  このヘッドフォンはオークションにて落札しました。近くの電気屋さんではとても高い値段で売られていたのでいいのがないかな?と思って探していたところた またまオークションででていたので5000円落札を予定していたら4300円にて落札、結局5000円しませんでした。

 5000円の ヘッドフォンなんてそうそうあるもんじゃないですよ。あんまり変なのだったら結構ありますが、5000円でこのヘッドフォンが手に入るっていうのであれば いい話じゃないですか。 エージングをきちんとゆっくりしてあげたかったのですが、まぁ、ヘッドフォンをほかにも持っていて上位機種に変えるくらいの人だ からきちんとエージングはしているんじゃないかな?と思っていたり。(俺ヘッドフォン初心者ですし)

これでサドンアタック(SA)もどんどん楽しめそうですな。

さて、これより出かけて参ります。

水曜日, 1月 23, 2008

MacOSX でWineを動かしてWindowsアプリケーションを動かそう

DarwineというwineのMacOSX版のプロジェクトがあります。

そのDarwineというソフトを探していると、MacOSXのワインのソフトというのがありまして、「Wine XT」というソフトでした。
なんの説明も読まずにダウンロードしてみると、、、、研究室のネットワークでは重すぎたので、家でかえってする事に。。。。
 家に帰って落として実行してみたところ>>>>ワインの国選択、地名、銘柄等が書かれたアプリケーションが立ち上がりました。

 「すごい!こんな洒落た事までするなんて!」と感動もつかの間、本当にワインを管理?するためのアプリケーションでした。



ORZ

気を取り直して、Darwineを探し当てました。
これでなんとか動くのか?DB DESIGNER!?
Darwineのソースが知りたい人はリンクを探してください。
と、言ってましたが、http://www.kronenberg.org/darwine/
です。


さて、zipを解凍して、dmgイメージが出てきますので、マウント、applicationにコピー

winehelperを起動

そんで、目的のアプリケーションをダブルクリック(むろん、.exe形式ですよ?)

winehelperに目的のアプリケーションの動作状況が見れます。
Logをみると動いた動かなかったに関わらず、Logが出てきます。

windowsと同じように動かすために必要なライブラリも必要です。
また、フォントの関係で動かない事もあります(文字化けですね)

DB DESIGNERでは動く事には動くのですが、どうやらフォントが日本語フォントが無いのか、動きませんでした。

DB DESIGNERを使うのが目的なのでWindowsにもっていくとしますかね。

月曜日, 1月 07, 2008

Bloggerのトラックバック機能はない!

が、しかし、そのほかのサービスで補完してくれるみたいですね。

トラックバックはほかのブログツールみたいにはそのままとはいきませんが、ね。
トラックバック先に指定しているサイトを参考に設定をしようとしていましたが、トラックバックを受信、送信するために使っているhaloscanというところが、わざわざBlogger専用にテンプレートを送信し、また、ファイルをアップロードすればOKという機能が追加されているみたいですね。

というわけで、その方法でトラックバックをしてみるとします。
トラックバック先のところを参照してサインアップまですませるとmembers->Installとするとこの画面にきます。
Bloggerをお使いの方は自分のバージョンによって設置の仕方を選んでください。(どれが新しいのかはしりませんが)
私は一番上のところにしました。
んで、自分のブログのテンプレートをいったんPCに保存してこのページの「選択」となっているところでそのテンプレートを指定
次に進むとファイルをダウンロードできますのでそれを自分のBloggerにアップロードするだけでOKです。
Analysticなどを設定している方は万が一設定が消えてしまっているといたいので、まぁBloggerのテンプレートはしばらくは持っておいた方がいいと思います。
これだけみてもわからない場合は
Here's video of this installation process from start to finishという項目がありますのでそこで確認してください。
Flashを使ったムービーで丁寧に解説されております。

Bloggerでも多少手間ではありますがトラックバックを使えるようにしてくれているHaloScanそして、設置方法を紹介してくれている@aka様感謝です。

追記:
どうやらこのHaloScanが提供しているのはトラックバックのみではなく、コメント機能も提供しているみたいなので、こちらのほうですべてのフィードバックを得られそうだな。と思ったので、Blogger側ではなく、HaloScan側にトラックバック、コメントをお願いするとします。

火曜日, 1月 01, 2008

leopard初期化!!

動作がとんでもないことになっていたので初期化することに決定!
という訳で今入れているものを調べることにした。
入れているソフトはとりあえず、リストアップ

BathyScaphe
ClamXav
DivX Player
Firefox
+firebug
+Gmail Space
+GoogleBrowser Sync
+Linky
+Tab Mix Plus
Perian
Getter1
GanttProject
Gimp
Inkscape
Freemind
OmniOutliner
Quicksilver
Skype
VLC
pentablet
Witch

MacPorts
aalib @1.4rc5_2 (active)
apache2 @2.2.6_0 (active)
apr @1.2.12_0+darwin_9 (active)
apr-util @1.2.12_0 (active)
atk @1.20.0_1 (active)
audiofile @0.2.6_1 (active)
autoconf @2.61_1 (active)
automake @1.10_0 (active)
bison @2.3_1 (active)
boehmgc @7.0_0+darwin_9 (active)
bzip2 @1.0.4_1 (active)
cairo @1.4.12_0 (active)
canna @3.7p3_0 (active)
curl @7.17.1_0 (active)
db44 @4.4.20_1 (active)
dbus @1.0.2_2 (active)
dbus-glib @0.74_0 (active)
docbook-xml @4.5_1 (active)
docbook-xml-4.1.2 @4.1.2_1 (active)
docbook-xml-4.2 @4.2_0 (active)
docbook-xml-4.3 @4.3_0 (active)
docbook-xml-4.4 @4.4_0 (active)
docbook-xml-4.5 @4.5_0 (active)
docbook-xsl @1.72.0_0 (active)
esound @0.2.38_1 (active)
expat @2.0.1_0 (active)
fontconfig @2.5.0_0+macosx (active)
freetype @2.3.5_1 (active)
gail @1.20.1_1 (active)
gawk @3.1.5_2 (active)
gconf @2.20.1_0 (active)
getopt @1.1.4_1 (active)
gettext @0.17_2 (active)
git-core @1.5.3.7_0+doc (active)
glib2 @2.14.4_1+darwin_9 (active)
glibmm @2.14.0_0 (active)
gnome-mime-data @2.18.0_3 (active)
gnome-vfs @2.20.0_1 (active)
gtk-doc @1.9_0 (active)
help2man @1.36.4_1 (active)
howl @1.0.0_0 (active)
intltool @0.36.2_0 (active)
jpeg @6b_2 (active)
kinput2 @3.1_1+canna (active)
lcms @1.16_0 (active)
libart_lgpl @2.3.19_2 (active)
libbonobo @2.20.1_2 (active)
libbonoboui @2.20.0_1 (active)
libcroco @0.6.1_1 (active)
libexif @0.6.16_1 (active)
libgcrypt @1.2.4_1 (active)
libglade2 @2.6.2_0 (active)
libgnome @2.20.1.1_1 (active)
libgnomecanvas @2.20.1.1_0 (active)
libgpg-error @1.6_0 (active)
libgsf @1.14.7_0 (active)
libgtkhtml @2.11.1_0 (active)
libiconv @1.12_0 (active)
libidl @0.8.9_0 (active)
libmcrypt @2.5.8_0 (active)
libmng @1.0.9_0 (active)
libpng @1.2.24_0 (active)
librsvg @2.18.2_1 (active)
libsigcxx2 @2.0.18_0 (active)
libtool @1.5.24_1 (active)
libwmf @0.2.8.4_0 (active)
libxml2 @2.6.30_0 (active)
libxslt @1.1.22_0 (active)
lv @4.51_2 (active)
m4 @1.4.10_1 (active)
mhash @0.9.9_0 (active)
mysql5 @5.0.51_0+server (active)
ncurses @5.6_0 (active)
ncursesw @5.6_0 (active)
neon @0.26.4_0 (active)
nkf @2.0.8b_0 (active)
openssh @4.7p1_1 (active)
openssl @0.9.8g_0 (active)
orbit2 @2.14.10_2+darwin_9 (active)
p5-error @0.15_0 (active)
p5-locale-gettext @1.05_0 (active)
p5-xml-parser @2.36_0 (active)
pango @1.18.3_0 (active)
pcre @7.4_0 (active)
perl5.8 @5.8.8_0 (active)
php5 @5.2.5_1+apache2+fastcgi+macosx+mysql5+pear+sqlite (active)
pkgconfig @0.22_0 (active)
poppler @0.6_0 (active)
poppler-data @0.2.0_0 (active)
popt @1.12_0 (active)
py25-cairo @1.4.0_1 (active)
py25-gobject @2.14.0_0 (active)
py25-gtk @2.12.0_0 (active)
py25-numeric @24.2_1+macosx (active)
python25 @2.5.1_4+darwin_9 (active)
readline @5.2.007_0+darwin_9 (active)
render @0.9_1 (active)
rsync @2.6.9_1 (active)
ruby @1.8.6-p110_0+darwin_9+thread_hooks (active)
rxvt-unicode @8.7_0 (active)
scrollkeeper @0.3.14_6 (active)
sqlite3 @3.5.4_0 (active)
swig @1.3.33_0 (active)
tiff @3.8.2_1+macosx (active)
vim @7.1.175_0 (active)
wget @1.10.2_0 (active)
Xft2 @2.1.12_0 (active)
xmlcatmgr @2.2_1 (active)
xmlto @0.0.18_3 (active)
xorg-util-macros @1.1.5_0 (active)
xorg-xproto @7.0.11_1 (active)
xrender @0.9.0_2 (active)
zlib @1.2.3_1 (active)

となっていたので、バックアップも完了したのでこいつを初期化しますTT

木曜日, 12月 06, 2007

ある本に書いてあるrailsでのmysqlデータベースへのデータベース作成の落とし穴

書籍名:かんたんRuby on RailsでWebアプリケーション開発
著者:arton
発行所:翔泳社

この本は一週間にわたってrailsで簡単にアプリケーションをさくさくと作っていこうという本ですが、いろいろと適合しないことがあります。

私の環境でサクッといかなかったのはrails側からのデータベース作成
前まではうまくできていたのですが、今回はうまくいかないどうしようと悩むことしばしば、(他の人も具体的な解決策を持ってなかったみたいなので)基本に返ってこうすればいいんじゃないの?
task :db_connect do
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:host => 'localhost',
:username => 'root',
:password => 'totugekiluna',
:database => 'mysql',
:socket => '/opt/local/var/run/mysql5/mysqld.sock'
)
end
面倒でしたがやりました。 おそらくソケットの位置が意味不明だったのでやってみると成功したのでのせてみました。

おそらく環境変数や別での指定が望ましいのかもしれないのですが、私は今の段階ではこれでいきます。
P.S. config/database.ymlはデータベースを生成した後そのあとの設定ファイルなのでデータベースだけはmysqlクライアントから作った方が問題がなく早いと思われます。

月曜日, 12月 03, 2007

今日やったこと(X11,Gimp)

 今日はgimpで気晴らしに何か書いてみようと思ったのですが、なんかgimpがすぐに終了してしまうのでほかのツールをあさりましたが、gimp以上のツールというか、Mac専用で動くものがほとんどなかったのでX11の環境からととのえていきました。

最終的な結論はX11自体が安定してないっていうことです。
作業の経緯は

  1. gimpが動かない
  2. gimp+leopardで調べてみる
  3. 動いている人はいる。
  4. x11で英語キーボード配列になっている。
  5. その人のやり方をそのまままねる
  6. gimpが動いた。x11もちゃんと使えるようになった。
こうなったのですが、1,2は飛ばして3,4,5の説明をします。
参考にしたサイトは

欲望の塊 returns

http://d.hatena.ne.jp/macos-x/searchdiary?word=*%5BMac%5D

JavaFlavor Weblog

http://javaflavor.cocolog-nifty.com/blog/2007/10/inside_leopard__7ce5.html
X.Org wiki
http://www.x.org/wiki/XDarwin?highlight=%28gimp%29

その他いろいろ参考にしました。
最終的な決定打になったのは、欲望の塊(gimpをどうささせるために)、javaFlavor(この人のサイトをたどりx11で正常に入力できるようにした。

gimpを正常動作させるために必要な所だけ欲望の塊から抜き出します。(作者の方名前がわからないので呼び捨て御免)
抜き出しているのは間違いが含まれているものの修正でもあります。

Finder

アプリケーション/ユーティリティ/ターミナル

ターミナルを起動。


この時点でホームディレクトリにいるはずなので

cp /usr/X11/bin/Xquartz ~/Documents/Xquartz-backup [return]

curl -LO http://people.freedesktop.org/~bbyer/x11app/ [return](ここからXquartzのパッチらしきものを落としてください。私の場合は、Xquartz-latestというファイルにしました。

bunzip2 Xquartz-1.2a11.bz2 [return]

の順にコマンドを打つ。

ターミナルウィンドウコピーペースト可能。)

sudo install -b Xquartz-1.2a11 /usr/X11/bin/Xquartz [return]

管理者パスワードを打てばインストールされる。(一瞬で終わる。)


ここまででX11アップデートが済んでいる。

(うちの環境セカンダリディスプレイX11ウィンドウを移動出来るようになった。)


curl -LO http://people.freedesktop.org/~bbyer/x11app/libX11.6.dylib.bz2 [return]

bunzip2 libX11.6.dylib.bz2 [return]

sudo install -b libX11.6.dylib /usr/X11/lib [return]

ここまでやることでGIMPが正常に動作するようになります。


以上メモ書き終わります。 気分がいいときと悪いときがあって鬱がなおるまでは支離滅裂の文章をさけるために日頃あったことはかきません。

水曜日, 11月 07, 2007

railsでの発見

 いきなりですが、本業である学生の卒検に絡んだ事を色々触っておりまして、今はRaiilsで既存のデータベースをどう扱うか?って言う問題にぶちあたっております。

さて、その中でタクシー会社のリストアップの際になにやらこのようなものを発見
コマンドはこうです。

gem search -r generate
の中で出てきた
db_discovery_generator (0.1.1, 0.1.0)
db_discovery generator allows you to create the DB models with
associations from existing DB
schema_generator (1.0.3, 1.0.2, 1.0.1, 1.0.0, 0.9.0, 0.2.0, 0.1.0)
The rails schema generator generates complete SQL schemas from a
collection of rails migrations. It currently produces one schema
file each for MySQL, PostgreSQL, and SQLite.

この二つが気になりました。
それで今から調べてみます。。。。

検索中。。。

えっと、結果なんですが、db_discovery_generatorに関しては情報がありませんでした。
schma_generatorの方は情報がありまして、
上の文章から行くとrailsのスキーマーを生成するためのジェネレータで、SQLスキーマをrailsマイグレートコレクションから選び補完するものです。
これは、直下のスキーマファイル一つのスキーマファイルをMySQL,PostgreSQLそして、SQLiteから導き出す。と書かれているようです。
下記に参考文献を示します。
参考URL:http://d.hatena.ne.jp/zhesto/mobile?date=20051108

Ruby-based representation of your database schema. you can change from one database to another with no effort.

データベーススキーマをrubyベースに提示するものです。

データベースを努力する事無く、他のものに変える事ができます。

The schema generator is sort of the flip side of the new schema code in Rails 1.0. It takes a set of Rails migrations, aggregates them all together, and spits out a SQL file that describes the DB that you’d get if you ran all of the migrations.

このスキーマジェネレータは新しいスキーマコードRailsに入れ替えます。それは1つのRails migrationsをつかい、一斉にそれをあつめ、そして、SQLfileにDBの詳細を書き出します。

えっ?これってSQLfileからmigration fileを書き出すんじゃないの?

  • install schema generator gem
gem install schema_generator
cd myapp
mkdir db/migrate/
vim db/migrate/0_initial_schema.rb
# or download example schema
# wget -O migrations/0_initial_schema.rb \
# "http://typo.leetsoft.com/trac/file/trunk/db/migrate/0_initial_schema.rb?rev=598&format=txt"
./script/generate schema
この例をみる限りそのようです。ね。
ガーン

でも、こういうのがあれば逆もあるはずと思って探します。

This will create db/schema.mysql.sql , db/schema.postgresql.sql and db/schema.sqlite.sql

コメント(0) | トラックバック(0) | 12:30 このエントリーを含むブックマーク


検索中。。。。。
大体5分くらいでしょうか。
見つかりました。

参考URL:http://tam.qmix.org/wiki/Migration.html
ここで書かれています。

必要な項目を抜き出すと、
rake db_schema_dump
これだけをするだけで、migrationでできる用にmigrationファイルを生成してくれるらしいです。
なので
やってみました。

注意書き:これはデータベースにそのダンプファイルと同じデータが入ってないとだめみたいだから何も無い状態で持ってくる時は、一度
mysql -u username -p databasename < dumpfile.sqlとしましょう。

以上今日の話終わり!

日曜日, 10月 28, 2007

UNIXの著作権はノベルにあり

ITMediaより

個人的にかなり興味深いものです。
なぜなら私のデスクトップはLinuxのディストリビュージョンであるFedoraですし、GNU関連のもの全ての開発が止まる可能性があり今まで築き上げてきたLinux&Unixの世界が一変する可能性があったためです。



裁判所がSCOの訴えを退けUNIXの正当な所有権はノベルにあり。ということです。

1970年代にAT&Tベル研究所で誕生->UnixSystemラボラトリーズへ移り->ノベルが所有権を取得
ノベルがMicrosoftとの戦いに破れSCOにUnixwareを売却しました、この時点でUnixの所有権はSCOに移ったと思われましたが、裁判の結果(内容は省略します。)ノベルにあるそうです。
このことはLinuxも関係します。
Linuxは権利関係を気にせず、Unix互換のOSを無償で使えることを目的にオープンソースソフトウェアとして開発がされてきました。しかし、Unixの所有者を自認するSCOはLinuxはUnixのコードを不正流用したとしてIBM提訴しLinuxが動作している全てのコンピュータにたいして700ドルづつ課金をしようとしました。
今回はSCOはUnixの著作権までは買い取ったわけではないとしたために、現在SCOから何かされるということはないでしょうが、今後の動向に注意が必要とのことです。

googleがyoutubeを買収(ITMediaより)

 ソース元http://www.itmedia.co.jp/news/articles/0610/10/news006.html:ITmedia
1年くらい前の話になります。
前からささやかれていたことですが、googleがとうとうyoutubeを買収するそうです。 今までyoutube側は断っていた(定かではありません)が、googleがyoutube側の独自性を約束してくれたことで買収を受け入れたということです。
 googleもMicrosoft(以下M社)からの買収の話もあったみたいですが、M社との思想があわないために断っていたということが一般的な話です。 ですが、googleというのは私の感じるところでは可能性のあるところにはコンピュータの力を使っていろいろ変革を起こしてやろうという気質の会社に見えます。 このことからgoogleがyoutubeの持っているコミュニティに目をつけ、買収はしたが、独自性の保持を約束しその多くのユーザを抱えるコミュニティを利用しようという考えでしょう。 今はどのようにgoogleがyoutube側に働きかけているのかは不明ですが、いったいどのようになるのでしょうか?

金曜日, 9月 21, 2007

FreeBSD on vim<---->MacOSX SSH

 Puttyでは行けるのにMacOSXのsshだと、わざわざターミナルの設定を変えないと文字コードのせいで化けるのか?理由は単純。 でも、Windowsで出来てマックで出来ないって言うのは許せんよな?
 PuttyだとわざわざマウスカーソルをPuttyに持っていってGUIでsshしなきゃあいけないっていうのは不自然だよな?sshでXを使うんだったら話は別かもしれないが、そんなシステムを必要として無いのであれば、shell scriptでつなぐよな?

 本当であればMacだけで生活をしたいんだが、そうも行かないのは持ち運びを恐れているからだ。 なにせ、物の扱いが荒い我が輩は物が壊れるのも早いときている。せっかくのきれいなMacを何年間外で使ったんだ?って言うくらいの代物になっている あんまり気軽には外に持っていきたくない。

 研究室にサーバーをFreeBSD(これも問題があってな。実は我が輩、よくBSDの構造を理解してないんだ)

 そんなこんなでsshでBSDで作業をしようと思ったらなんかEUC,UTF-8の切り替えが面倒な訳でして。
それで、わざわざ切り替えるのもばからしいので、ターミナル<----->sshdのこの間をどうにかして文字コード変換が出来ないかという事を探る訳だ。 そうすると、sshでのオプションで文字コード変換って言う項目は見当たらない。 ruby等を利用してそのsshとターミナルを文字コード変換をするのも良いが文字コードっていうのは扱いがシビアだから仕様をよく読まないと使い物にならない事が多々有る訳だ。
 そういう理由から他のツールを頼る訳だが、運良くそういうツールが見つかった。

それはこれcocot








これさえ使えば、普通に文字コードを気にせず通信できるんじゃん。 って言う事で導入しましたが、最初のうちはまともに動きませんでした。
原因は文字コードの指定をデフォルトのままで任せたり、inputrc, bash_profile,vimrcなどの設定を行っていなかったためだと思われます。

んで、設定はこんな感じになりました。



木曜日, 9月 20, 2007

GoogleDocsに新たなる兄弟が


 一般的なOffice環境で提供されているのは、文書、表計算、そしてプレゼンテーションです。

なんと、GoogleDocsはプレゼンテーションまで提供して来ました。

今までは表計算作成機能、文書作成機能等が提供されていましたが、プレゼンテーションはさすがに無理だろうと思っていましたが、とうとう出ましたね。
一応スクリーンショットあげてますが、普通のOffice環境みたいな感じでやるのとほとんど一緒なので使ってみてはいかがでしょうか?

土曜日, 9月 08, 2007

Google Docs&Spreadsheetについて

 前々からGoogle Docs&Spreadsheetsを利用していたんですが、一人の場合ですとこのサービスはあんまり意味をなしません。
一人だけで利用する上でいい点と言えば、
  • 自前のドキュメントをある程度互換性をもってWEB上にあるドキュメントとして保存できる
  • 自前でOffice環境を持つ必要が無い(ある程度のレベルであれば)
  • ネットワーク上で作業が出来るので少しだけエレガントw
 って言う感じになると思うんですが、これは、ブログでも一緒ですよね。 一人でネットワーク上に記事をおかないでやるか、それとも、外に出して他の人にみられなくても公開しておくかの違いです。
ところが、ブログにおいてもなんにおいてもネットワーク上からドキュメントをみれたり、加筆できたりするっていうのには色々いい点も有ります。例えば、wikipediaなどですね。

 あるプロジェクトのための研究という事で、自分の研究以外のところで皆奮闘してるんですが、文書の共有って言うのが意思疎通なり、方針を決めたりっていうのに大きな意味も持ちますし、なにより他の人に何時でもみせれるっていうのは帰った後でもディスカッションできたりします
んで、複数人で使える利点って言うのは
  • ネットワーク上にある上、複数で同一の文書をリアルタイムで編集できる
  • 複数でリアルタイムな情報を閲覧する事が出来る
  • 誰かが編集していても閲覧する事が出来る
  • いつでもネットワークとサービスが停止していなければ閲覧、編集することができる。
 意見を戦わす事が文書が手元にしかないときって言うのはものすごい曖昧な話になったり、話自体が出来ない事が多いのですが、このようなサービスがあるとすごい便利ですよね。時間場所問わず、ネットワークとブラウザさえ有れば文書の共有が簡単にできるんですから。

 ただ、問題点が無い訳では有りません。文書がネットワーク上に有るためにセキュリティ的、その文書の取り扱いって言うのはもっと気を配る必要が有ります。 ただ、今の状態を考えると、ネットワーク上に配置されたコンピュータに文書を保存するのも、Googleにドキュメントを預けるって言うのもどっちもどっちって言う感じがしますし、それよりあんまり文書をネットワーク上におく方が安全なんじゃないの?って言う気もします。気持ちの持ちようとあとはITスキル(定義広いですよ)に大きく左右されますよね。
 後問題点ではそのサービスの特性上なのですが、あんまり近いところの文書を加筆、編集、削除しているとエラーがおきて誰かの編集が受け付けられない事が有ります。 問題はそれくらいで文書がすべて消えるなんていうことはあんまりないです。 そのためにバックアップをとれるって言うのも当然のごとく有りますのでご心配なさらずに。


 今回も長々と語ってしまいましたが、にた様なフレーズを耳にしたときにはこれを使ってみてはどうですか?Gmail使っている人であれば誰でも無料で使えるサービスですよ。

火曜日, 7月 10, 2007

GoogleAnalyticsの結果

 mixiからブログを外してみましたが、どうやらアクセス数(直帰率も含める)はあんまり変化がなさそう。
ということは、このままの状態で進める方が一番良いかもしれないですね。

Googleから検索を書けてヒットしている事が多いのかもしれないと個人的ではありますが(そういう時こそAnalyticsを使えってw)考えております。

 が、もし、ブログのアクセス件数があまりにも減るのであればもう一度戻すって言う事も考えなければならないでしょうね。

日曜日, 7月 01, 2007

gSync

 googleが提供してくれているGoogleカレンダーという物がありますが、普通に使う分にはこれで満足する方も多いと思います。 私が不満足なのはその操作性です。これに関しては二つに分かれると思います。MacにはiCalという便利なカレンダーツールがあるのでこれをフルに活用して、そしてMacの方でもGoogleカレンダーの方でもきちんと使えるようにしたい。
 GoogleカレンダーでもMacのiCalでもという方は多いと思います。有料で同期を取ってくれるソフトもありますが、私はフリーソフトをフル活用して自分なりのいい環境を構築していこうというのが私のスタンスなので、もちろん、そのような有料のソフトを使うというのはほとんどの場合はありません。(Office環境にしてもOpenOffice.orgですから)

 さて、前書きはこの辺にしておいてGoogleカレンダーとiCalをどうにかして同期を取る。というツールを紹介します。

GSync

このソフトはiCalで書いた物をGoogleカレンダーにアップ、Googleカレンダーで書いた物をiCalにアップという使い方ができるのですが、特筆すべき機能はSynclonized機能これを使うことによって両方とも同じカレンダーにできるという機能です。
ただ、きちんと使い込んでいる訳ではないので、どのような動作をするというきちんとした区別ができている訳ではありませんが、Synclonized機能さえ使えれば十分という人も多いと思います、iCalに書いたスケジュールを外出先で確認したい。外で書いた物をiCalに反映させたい。私と同じような事を考えている人は使ってみたら良いと思います。

ちなみに、GoogleCalenderもiCalも仕事用、私用用と分ける事ができますが、どちらの機能にたいしても、ちゃんと分けて同期を取る事ができるのも便利なところです。
だから、私はゼミ用、彼女用、バイト用、仕事用と分けておりますが、そのアップの仕方にも万が一の可能性を考えて同期の仕方も変えております。 それが一括でできるのもうれしいところです。

さぁ、Mac使いの皆さん。 使ってみてください。

金曜日, 6月 15, 2007

経路探索

 私の研究テーマは経路探索に絞られました。
経路探索とは言ってもただ単に経路を探索するわけではなく、バス停までお客さんを乗せるという経路の探索です。

ちなみに、お客さんは何人かいてそれを乗り合いで経路を探索するというシステムを考え、世の中のために役立てようというものです。


これは非常に深い内容になる気がします。

なので、明日帰ってきたときにでもこのことについての考察を書こうと思います。

金曜日, 6月 08, 2007

portsでのインストールエラー

FreeBSDに関しては共通の項目ですが、まず、makefileでインストールエラーが出たときには、そのときは、エラーの項目をチェックしましょう。

まぁ、サーバが大体だと思うので、それに関して書けば、vimのインストールで躓くと思います。
最初は、viしか入ってないので普通はvimを機能的には十分なのにインストールしたいと考えることもあるでしょう。そのときに、portsでインストールしようとすると、まぁ、何もしてないときはそのまま躓くでしょうね。
自分のときは、gtk関連で文句を言われていたので、その項目に関連したvimのインストールをたどってみると、gtkやx11が必要じゃないということで、入れてなかったのでそれで文句を言われているということでした。 それはそのメッセージを見たときから鼻から承知でしたが、問題は、なんでX11関連のパッケージを利用して入れようとしているか?っていうところです。

viだけだと、コマンドラインから利用されるだけですが、考えてみると、vimになると、Xのある環境からも呼び出されるのでgtkのライブラリを使ってそれをサポートしているわけです。
っていうことは、vimになると、結局Xもつかうでしょ?って言うことで、けられるわけですね。

というわけで、設定をこういう風にしましょう。
http://www.otsune.com/diary/2005/10/14/1.html
ここでの設定説明は省きます。

ただ、設定する項目って言うのは、/etc/make.confっていうところに入れるときのオプションをXを有効にする?それとも、無効にする?っていうのがかけるのでやってみてください。


念のために、バックアップ





vim のインストール(2124) - TokuLog!_ から。
そういうときは/usr/ports/editors/vim/Makefileを確認するのが基本です。
読むとNO_GUIをdefineすれば良さそうなので

cd /usr/ports/editors/vim/
make -DNO_GUI install

などとすればGnomeはインストールされません。
結局WITHOUT_X11=yesを定義しているだけみたいなので、X11等を使わないサーバーであれば/etc/make.confに

WITHOUT_X11= yes

と書いておけば全てのportsで有効になります。(同じ原理でオレはWITH_APACHE2=yesを書いたりしている)
またvim-liteでportsを入れると

I18N= CONF_OPT_MULTIBYTE="--enable-multibyte --enable-fontset --enable-xim"

が有効にならないので日本語テキストの扱いが出来ないかも?

日曜日, 5月 20, 2007

玉と石

 情報には、玉と石と呼ばれる2種類あるといわれます。 無論、玉の方が価値ある情報で石の方が使えない情報となる訳ですが、その玉と石の情報の混合されている割合が多いのがインターネットだと考えております。

 では、石の情報は本当にいらない情報なのでしょうか? 私はそうは考えません。 インターネットは皆に情報を配信する手段として生み出された物です。 配信された情報が玉と石の混合であるが故にサーチエンジンなる物が出てきました。(それはインターネットというディレクトリの構成上必要だったということもありますが) その玉と石の中から自分の必要な情報を選び出すためにサーチエンジンが日々進化し、googleのようなサーチエンジンが生まれた訳です。

 本題に戻すとします。 なぜ石が必要ではない情報と言い切れるかといいますと、例えば普通の人で「NSR50」と検索したとしましょう。 普通の人であればその原付のスペックなどを知りたい人が大抵だと思います。 ですが、情報の中には、「NSR50でどこどこまでいってきました。NSR50の改造点、修理点はここです」など正直マニアックな情報が多く含まれていることもあります。 そのマニアックな情報こそが人により玉ともなり石ともなる情報の一部であることは原付をいじる人にとっては明白でしょうが、一般の人から見れば「そんな情報は必要ないよ。 僕は普通の情報の情報が欲しいんだ。」っていう人もいるでしょう。 そこで情報を振り分ける技術が必要です。 その技術にはRSSだったり、全文検索だったり、リンク集だったり、様々な手法でその情報の分別を試みています。 その情報を完全に区別することはできないと思います。 情報にはその人が必要な情報と必要でない情報が交じっていることが多いからです(混ざっているというのは同一のページに混ざっているということです)

 混ざっているwebの中からその情報を選び出すことができればRSSなどを使って更新された情報のみを調べれば良いでしょう。 また、配信側もAnlysticsなどを使ってページ単位での来客率をみれば予測がたてられ、今後の情報の配信に気を使うことができるでしょう。

 最後に

 情報とのいうのは人により玉にもなり石にもなります。 インターネットは日々大きくなっていると思いますが、私はその大きくなっている状態でもすべての情報をいつかは統治できるような時代が来ると思います。 それは情報を配信する側にもいずれは確固たるポリシーができ、検索する側もそれに応じたツールが用意される時代が来ると思うからです。
 私が配信する情報というのは石の情報が多いかもしれないですが、ブログという物の特性上日々起こることに対しての記録でもあるということから、この石でも排出することを私はおそらくやめることは無いでしょう。 それはその情報を求めている人に対しての気遣いもありますが、私自身が必要性を感じる時があれば使える情報として残しておきたいということからです。

水曜日, 5月 02, 2007

システムの基本的な構造

全文検索システムの基本構造


「全文検索システム」といった場合、全文検索を行うためのハードウェア及びソフトウェアを含めた部分をさします。

細かくみてみると、必要なデータを取得する部分、取得したデータをまとめて処理するインデクサと呼ばれる部分、普段Webブラウザでアクセスしている検索画面や、その内部で実際に検索を行っている部分などがある。

インデックスー高速検索の仕組み



インデックスを作るのには多少の時間がかかる、なぜインデックスをあらかじめ作っておいておくかというと、インデックスが高速な検索を実現するための技術だからだ。
 たとえるならば、索引を使って引くか、ページを一つずつめくって探すかの違いである。