フェムトセカンド #七味とーがラジオ / @melonsode

The Destination is unknown. The Journey is the Reward.
Author: 野澤真一 / NOZAWA Shinichi , version 2.0220330 / Podcast: 七味とーがラジオ / twitter: @melonsode

Macの最近のブログ記事

Datsugoku iPhone

|

カテゴリ:

iPhoneを買ってしまいました。
ヤフオクでほぼ新品の中古を落札。

それが今日届いて、一日中いじり倒していたら、奥さんが不機嫌に。
ごめん・・・。

正規に購入したのではないので、当然SIMカードが刺さっておらず、
緊急電話以外はかけることができない。
つまり、そのままではほとんど文鎮と変わらない。

仕方なくJailbreakしました。
だから起動画面がAppleではなくPineAppleになっちゃってる。

なんで買ったの?って思う人が多いと思うのだけど、
カメラ付きiPod touchが欲しかったの。
一日中いじり倒してみて、確信したけど、
これを持つと人生が変わる。

* * *

明日は大阪に行きます。

blog blog blog ...

|

カテゴリ:

古いMac(PowerBook 12inch)と今使ってるMac(MacBook Air)に
ブログソフトMovableTypeをインストールした。

バイト先で扱っているだけあって、MTのインストールはさくっとできる。
MTのバージョンが4.23になって、
以前よりもずっと簡単になった。

mt-config.cgiというファイルを編集しなくてもいい。
ウィザードが自動でやってくれる。

昔はわからなかったデータベースの扱いも慣れてきて、
ブラックボックスなところなしに、インストール作業ができる。

いま、Web系の知識がすごい勢いで頭の中に流れ込んできている。
学習と意欲のポジティブフィードバック回路が絶賛作動中。

少し勉強すると少し知識が身につく。
知識が身につくと、さらに身につけることができる知識の地平が広がる。
何かが分かると(知識がつくと)うれしい。
うれしいから、もうちょっと勉強してみる。
わかってうれしい。もうちょっとやればわかりそうなことが増える。
だからまた勉強してします。
その連鎖。

PowerBookには手動でIP Addressを設定して、我が家のサーバーとして
活躍してもらうことにした。
LAN内アクセス限定。
もう少し知識がついたらグローバルにアクセスできるようにしたい。

PowerBookはまだOSがTigerで、
UNIX的なことをさせようとすると、Leopardの方が
格段に扱いやすいということがわかってきた。

memo: apache

|

カテゴリ:

Apacheの設定に関してメモ。

設定ファイル
/etc/httpd/conf/httpd.conf

ウェブに公開しているフォルダの構成が
/var/www/の下のhtmlとcgi-binというフォルダ。
これだとHTMLなどの静的ファイルはhtmlフォルダに、
Perlなどの実行されるファイルはcgi-binにということで、
面倒くさい。

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

の行を書き換えて、htmlに設定し直せばいいのかと
思っていたけど、そうでもない。

ScriptAlias / "/var/www/html/"

としてみたけど、こうするとCSSやFlashなどの外部埋め込みファイルを
読み込まなくなるし、
Apacheを起動したときに、warningがでる。

で、htmlフォルダ以下でもCGIを実行したい場合は

AddHandler cgi-script .cgi

のコメントアウトを外して、
それから、

<Directory "/var/www/html">
....
</Directory>

この中に、

Options ExecCGI

を追加すればよいみたい。

server

|

カテゴリ:

Apacheの設定ファイルをよく読んだ。
Mac OS X 10.5 Leopardの場合、apacheの設定ファイルhttpd.confは
「/etc/apache2/httpd.conf」にある。
結局、変更はしなかったけど、なんとなく感触がつかめてきた。

サーバーの一部のディスクスペース上で、限られた権限で
データの書き換えや実行を行う段階から、
サーバーを直接いじって、誰にどこで何をさせるかという
メタな部分の設定もできるようになりつつある。

サーバーを扱えるようになると、いろいろできることが広がる。
MacBook Airの前に使っていたPowerBookを
サーバーとして使ってみようかと企んでいる。
とりあえずサーバーとして動作させるのはMac OS Xのデフォルトでできるので、
やろうと思えば簡単だが、
問題は外部に公開したときのセキュリティである。
そこらへんはわりと慎重に考えないといけない。

MacBook Airはセカンドマシンとして使うものだ、というのは
よく聞く話だけど、いまのところ自分はメインマシンとして使っている。
個人的にはHDDの容量が小さいことを除けば、
メインマシンとして耐えうるものだと思う。

でも、HDDが小さい、というのは無視できない大問題なわけで。
いまのところ、直近に必要なデータしか入れないという方針で
やっているので、何とかもっている。

pic.png

それで、その他のデータは
サーバに積んでおいて、
必要になったら
ネットワーク経由で取得
できるようにできたら、
というのが密かな野望だ。

なかなか茂木さんの
音声データが復旧しないので、
そのための場所を提供できたら、
という思惑もなくもない。

でもまあ、もう少し先の話です。

MySQL in Mac OS X Leopard

|

カテゴリ:

MySQLをMacにインストールしたので、そのレポート。

基本的に前回紹介したfutomiさんのページにあるやり方で
あっさりインストールできる。

Max OS X LeopardでAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境

MySQLをダウンロードするときに
「x86」でいいのか、「x86_64」にするのか迷った。
僕の使っているMacBook AirのCPUは32bitなのか64bitなのか?
わからなかったので、32bitだと踏んで「x86」の方をダウンロード。
結果的にMySQLは動いているので、こちらで良かった模様。

MySQLがインストールできたら、MySQLを稼働させる。
これはターミナルで

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

と打っても起動できるし、もっと簡単なのはシステム環境設定で、
MySQL startのボタンを押すだけでいい。

これでMySQLサーバが稼働し出すのので、MySQLを使うことができる。

ターミナルで、次のように打てばMySQLがインタラクティブモードで
起動する。

sudo /usr/local/mysql/bin/mysql -u root -p

もし以下のように表示されてしまったら、
MySQLサーバを起動し忘れているのだと思う。
その場合は上に述べた方法で起動してあげよう。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

さて、MySQLを起動するのに、わざわざ
「/usr/local/mysql/bin/mysql」と打たなければならないのは面倒くさい。
「mysql」と打つだけで起動して欲しい。
そこで、MySQLのインストールされている場所をPATHに追加する。

パスの追加の仕方は以下のリンクを参考に。
ターミナルのことを調べてみた。 - ザリガニが見ていた...。
gnuplot can't show graphs - フェムトセカンド

ここでも簡単に述べておく。
通常、何もしていないMacだと「.bash_profile」というファイルはないので、
まずはそれを作るところから始めないといけない。
「.bash_profile」があるかどうかは、次のように打てば確かめられる。

ls -a ~/

これで出てこなければないということになる。
このコマンドは「~/ フォルダ以下のすべての( -a )ファイルを表示( ls )せよ」という意味。

「 ~/ 」とはそのユーザのホームディレクトリを指す。(正確にはエイリアス?)
もし「-a」を忘れると、ピリオドで始まるファイルは
隠しファイルなので無視される。

「.bash_profile」を作成、あるいは修正するにはテキストエディタを使えばよい。
ターミナル上で動くテキストエディタは「vi」が有名だけど、
初心者には「pico」の方が簡単でいいかもしれない。

pico .bash_profile

と打つことで、.bash_profileを開いてくれる。
なければ新たに作って開いてくれる。

開くと次のような行があると思う。

export PATH=/opt/local/bin:/opt/local/sbin:/opt/local/lib:$

厳密に同じではなくても、PATH=となっている箇所。
ここに、mysqlのパスをくっつければよい。
例えばこんな風に。

export PATH=/opt/local/bin:/opt/local/sbin:/opt/local/lib:/usr/local/mysql/bin:$

書き換えたら「control + O」を押す。
commandではなくコントロール・オー。
これで書き込みますか?と(英語で)聞かれるので
エンターキーを叩いてYesと答える。
そして「control + X」でpicoを終了する。

これでPATHは書き換わったはずだが、
ターミナルがそのことに気付いていないので、
そのウィンドウを一度閉じて、新しいウィンドウを再度開くことで
読み込みが成される。
(Linuxなら「source .bash_profile」と打てば再読込されるはずだが、
 Macでそれをやっても駄目なようだ。
 何故だかはわからない。)
そうしたら、mysqlがどこにあるか聞いてみよう。

which mysql

と聞くと、

/usr/local/mysql/bin

と教えてくれるはずである。
そうして、これでただmysqlと打つだけでmysqlが起動する。

******:~ shinichi$ mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.67 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

mysql以外にも、mysqladminやmysqlshowなどのコマンドも
そのままで使えるようになっている。

* * *

関連記事:This is MAMP, not LAMP! - フェムトセカンド

dscl: adding host name and IPAddress

|

カテゴリ:

あるホスト名とIPAddressを対応させたいとき、
Linuxならば/etc/hostsにあるファイルにそのペアを書き込めばいい。
(例えばこのページを参照:信州大学 7.2 ネットワークの設定

たとえば、自分自身に「http://localhost」とブラウザに打ち込むと
アクセスできるのは/etc/hostsファイルに「127.0.0.1」と
そのホスト名がペアで登録されているからである。

そのことは、たとえばシェルで
「cat /etc/hosts」とやれば見ることができる。
MacもLinuxベースのOSなので、
ターミナルを起動して、同じように打てばそのファイルを見ることができる。
ちなみに「cat」というのはファイルを表示するためのコマンドである。

バイト先でIPアドレスが「192.168.1.50」になっているサーバーに
「http://hogehoge/」というホスト名でアクセスしたい。
Linuxならばvi(テキストエディタ)などで/etc/hostsファイルを開いて、
そこに「192.168.1.50 hogehoge」と一行追加すればよい。

では、Macでそれをやるにはどうしたらいいか?
この場合、Linuxと同じようにはいかない。
viなどをつかって/etc/hostsファイルを書き換えても、
何故か元に戻ってしまうからである。

MacではNetinfo ManagerかDSCLを使わねばならない。

もし使っているOSがMac OS 10.4場合は「Netinfo Manager」という
Macにデフォルトで入っているソフトを使います。
その使い方については以下のページできちんと解説されているので、
そちらを参考にしてください。
/etc/hostsファイルの代わりに・・・

使っているOSがMac OS 10.5の場合はdsclという
コマンドラインソフトを使います。
何故、Netinfo Managerを使わないかというと、
OS 10.5以降はNetinfo Managerが含まれていないからです。
参考:Mac OS X 10.5: 以前「NetInfo マネージャ」にあったいくつかの機能の代わりにコマンドラインユーティリティ "dscl" を使用してください

以下で、dsclを使ったhost nameの登録の仕方を簡単に説明します。

まず、ターミナルを起動します。
そして、以下のように入力します。

sudo dscl

そうすると、パスワードを聞かれるので、
そのMacの管理者権限のパスワードを入力してください。
戸惑うかもしれませんが、Macを起動して
ログインするときのパスワードで大抵はOKです。
そうすると次のようになります。

*****:~ shinichi$ sudo dscl
Password:
Entering interactive mode... (type "help" for commands)
>

「sudo」というのは「superuserでDoする」という意味だと
(僕は勝手に)解釈していますが、
すなわち、管理者権限でそのコマンドを実行するという意味です。
sudo抜きの「dscl」だけを打ち込んでも
dsclは起動しますが、管理者権限をもっていないため、
ホスト名を追加するという処理ができません。
なので、sudoを使います。
sudoはLinuxを日常的に使う人にとってはおなじみのコマンドでしょう。

インタラクティブモードで起動したら、
「hogehoge」というホスト名を「192.168.1.50」に対して設定するために、
以下のように入力してエンターを押します。

-create /Local/Default/Hosts/hogehoge IPAddress 192.168.1.50

これで、登録OKです。
次のように打つことで確認ができます。

-list /Local/Default/Hosts/  (これでファイルができてるか確認)
-readall /Local/Default/Hosts/ (これでそのフォルダ内のファイルの中身全てを見られる)

これできっと「http://hogehoge」とブラウザのアドレスバーに入力するだけで、
「192.168.1.50」にアクセスできるようになったでしょう。

ところで、何故「/Local/Default/Hosts/」に登録したのかは
自分でもあまりよくわかっていません。
試行錯誤したら、ここにしか登録できなかったからです。
dsclを起動して、「ls」と打ってみてください。
そうすると

BSD
Local

Search
Contact

という反応があると思います。
調べてみたところ、hostsファイルらしきものは

BSD/local/Hosts
Local/Default/Hosts

この内、データを書き込めたのはLocal/Default/Hostsのほうのみでした。

なので、

-create /Local/Default/Hosts/hogehoge IPAddress 192.168.1.50

としたのです。

This is MAMP, not LAMP!

| | トラックバック(1)

カテゴリ:

ちょっと感動したのでご報告。

* * *
ブログ作成ツールMovableTypeに関わるバイトをはじめてそろそろ10ヶ月。
その頃は少しPerlが使えるぐらいだったけど、
MovableTypeの開発に携わるうちに、それに関連する領域のことも
わかるようになってきた。

現在のWeb上で展開されているブログやブックマークやSNSなどのサービスは、
ほぼすべてLAMPというフレームワークによって動いている。
バイトは始めた当初は「LAMPね、へーそう」てな感じだったんだけど、
LAMPを構成するひとつひとつを理解するようになって、
それでLAMPというのは、フリーなのになんて広汎で強力な
プラットホームなんだ!と驚きを新たにしている。

LAMPというのは
・Linux
・Apache
・MySQL
・PHP
の頭文字を取ったものだ。

Linuxは言わずとしれたフリーのOS。
Apacheはサーバーのソフトのこと。
サーバーというのは「サーバー」という種類のコンピュータが
あるのではなくて、
あるコンピュータ上で「サーバー」として振る舞うソフトが
動いているもののことを指す。
その「サーバー」として振る舞わせるソフトがApache。
それから、データベースの閲覧・追加・変更を行うのがMySQL。
最後に、とてもMySQLと相性がよく、かつ
Webページを動的に生成するのに長けているプログラム言語がPHP。

MySQLはSQLiteとかPostgreSQLなどでも代替可能だし、
PHPもPerlやRUbyやPythonでも代替可能。

おおざっぱに言えば、
MySQLで強力なデータベース制御を行い、
その為のWeb経由のインタフェースを提供するものとしてPHPがあり、
LinuxとApacheでそれを支えている感じ。

* * *

で、何に感激したかというと、
ほとんど何もせずにそのLAMP環境をMac上で実現できてしまう。
だから、LAMPならぬMAMP(Mac, Apache, MySQL, PHP)なのである。

参考ページ:Max OS X LeopardでAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境

futomiさんのわかりやすい解説に感謝!

ApacheもPHPもMac OS X Leopardにははじめからインストールされているので、
何もする必要はない。
MySQLはインストールする必要があるけれど、
ダウンロードしてダブルクリック、する程度で済んでしまう。

Apacheの起動がほんの数クリックでできたのは感動だった。
システム環境設定>共有>ウェブ共有
をONにするだけ。

で「http://localhost/」とすると、有名な
「あなたの予想に反してこのページが見えているでしょうか?」
というApacheがデフォルトで返すHTMLが見えた。

PHPはコンフィグファイルを一行修正するだけで動く。
あ、Apacheの再起動を忘れずに。
あっさりと、「<?php phpinfo() ?>」とだけ書いたPHPファイルが動いたので、
やはり感動した。

独自でサーバー上のシステムの開発をしない人には
ぴんと来ないし、やろうとしてもちょっと難しい部分はあると思うけど、
(昔の自分がそうだった)
ちょっとサーバーのことを知っているひとなら
とても簡単にこれを導入して使えると思う。

解説記事を書いてくださったfutomiさんに再度感謝!

DRC-BT15P

|

カテゴリ:

冬になると何故だか、
音楽をイヤフォンで聞きながら、
顎と口のあたりをマフラーにうずめて、
少しうつむき加減にしながら歩きたくなる。

しかも、真っ先に聞きたくなるのは
「U2」の曲だったりする。
高校生の頃、冬にU2のベストアルバムを聴いていたから、
その名残なのかもしれない。
寒さが叩く連想記憶。

で、iPodを探したのだけど、
探しても探してもみつからない。

M1の時のクリスマススペシャルで獲得した
世界に二つだけのiPod。
裏に「Mogi lab. X'mas Special 2006」と刻まれているやつ。
http://kenmogi.cocolog-nifty.com/qualia/2006/12/post_f6b0.html

どうも引っ越しのどさくさでなくしたようだ。
茂木さんごめんなさい。

それで仕方がないな、どうするか、ということで、
携帯で音楽を聴くことにした。

いま使っている携帯電話はDocomoのP903iで、
これにはBluetoothが付いている。
そこで、Bluetoothのレシーバーを買ってみた。

SonyのDRC-BT15P

ヤフオクで1GのmicroSDを600円ぐらいで落札し、
そこに音楽データを入れることにした。
Macでやろうと試行錯誤したが、
microSDをMacにつなぐと途端にP903iがそのmicroSDを認識しなくなる。
で、結局奥さんの古いwindowsを借りてP903iに
音楽データをつっこんだ。

それで準備ができて、Bluetoothで無線接続して音楽を聞いてみた。
これが思いの外快適である。
鞄を下ろしたり、マフラーを外したりするときに、
コードレスなので、いちいちプレイヤーを取り出して、
肩紐の間をくぐらせて、とかをしなくていい。
いちいち音楽をとめたり、イヤフォンがずれたりしないので、
便利だ。

しかも、MacもBluetoothで接続できるので、
MacとカップリングすればMacから音楽が聴ける。
この場合、少し席を離れるぐらいなら音は途切れないので、
すごく贅沢な気分になる。
皿洗いしながら離れた場所にあるMacの音を聞くとかできる。
Macの音声出力がスピーカーからDRC-BT15Pに変わるだけなので、
音楽だけではなくて、YouTubeやウェブ上の音声ファイルなんかを
聞いたりだってできる。

音楽を聴くという体験は、
5分の間にたかだか5秒途切れるだけでも、
結構ストレスを感じるものなので、
このBluetoothワイヤレス方式はよい。

それから、このDRC-BT15Pを買うことにした決め手は、
ヘッドフォンだけでなく、通話もできるという点。
本体にマイクが内蔵されていて、
携帯で音楽を聴いていて電話がかかってきたら
音楽が止まって着信音が鳴り、
本体のボタンを押せばそのまま通話ができるのである。

携帯を耳に押し当てるよりも数段クリアに相手の声が聞こえるし、
こっちの声も電話にしては高品質に相手に伝わるようだ。

Bluetooth、もっと普及しないかなぁ。

Octave: file open, read and close

|

カテゴリ:

オクターブの使い方であやふやなままにしているのが、
ファイルをオープンしてその中のデータを
ベクトル、あるいは行列として格納しなおすあたり。

このページを読んだら勉強になった。
Octaveでfileを利用する話

やはりOctaveは文字列の処理があまり得意ではないので、
文字列と数値が混在するファイルだと、
読み込みのスクリプトは煩雑になる。

Perlなどのテキスト処理が容易な言語で、
読み込みたいデータをいったん前処理してから
Octaveに渡すのがいいと思う。

Octave本家のヘルプ:
GNU Octave: 16.2 Cスタイルの入出力関数


* * *
過去の日記より

2007/10/21 日曜日 メモ octave
2007/10/21 日曜日 メモ octaveに関するもの

PTB-3 installed

|

カテゴリ:

久々にPowerBookのほこりをはらってMatlabを起動。
Psychtoolboxのインストールを試みる。

PowerBookの構成は以下。
Mac OS X 10.4.11
1.5 GHz PowerPC G4
1.25 GB DDR SDRRAM

Matlabは7.4.0 (2007a)。
インストールするのはPsychtoolbox 3。

このページのインストラクションに従ってインストールを行った。
- Psychtoolbox-3 Download, Installation, and Update

まず、古いPTBを消去するのだけど、それはもともと入ってないので省略。

次にサブバージョンインストーラーというのをダウンロードしてインストールするらしい。
- Mac: Subversion 1.4.4

これはダブルクリックするだけで完了。

次に、本体を自動でダウンロードしてインストールしてくれる
mファイルをダウンロード。
- Psychtoolbox installer

ダウンロードしたらMatlabを起動して、いまダウンロードした Psychtoolbox installer の場所に移動する。
例えばデスクトップにダウンロードしたなら、

cd ~/Desktop

とやればDesktopフォルダに移動する。
最初の" ~ "というのはそのユーザーのrootフォルダのこと。

で、Psychtoolbox installerの場所に移動したらこのmファイルを実行する。

DownloadPsychtoolbox('current')

これでざざっとメッセージが流れて「 p 」を押してEnter。
そうするとぐおーっといろいろとダウンロードしてくれる。
しばらく待てば完了。
Macがスリープしたり、ネット接続が不安定にならないように気をつけよう。
これでPTBのインストールは完了。

* * *

たまたまこのPowerBookはOSが10.4だったからいいけれど、
Systems Requirementには

Psychtoolbox is developed and tested under the latest version of Mac OSX (currently 10.4.11, resp. 10.5.2). We encourage users to use the latest version of OSX ( Exception: Mac OS 10.5.3 and 10.5.4 suffer serious graphics related bugs and are not recomended! )

ということが書いてあって、
「OSは最新版がいいけど、10.5.3と10.5.4は例外的にダメ」と書いてある。

この記事が書かれたのは2008-07-19で、
この記事が書かれた時点での最新バージョンは10.5.4なので、

Mac OS X v10.5 - Wikipedia

Mac OS X v10.5.3[7] (build 9D34)、2008年5月28日
Mac OS X v10.5.4[8] (build 9E17)、2008年6月30日(パッケージ版製品有)
Mac OS X v10.5.5[9] (build 9F33)、2008年9月15日

現段階の最新版である10.5.5で動くかどうかはわからない。
はやく対応すると良いですな。

このカテゴリの年別アーカイブ

プロフィール

月別アーカイブ

全アーカイブ

フェムトセカンド1.0


メールを送る(故障中)