• Explore Vox
  • Culture
  • Entertainment
  • Life
  • Music
  • News & Politics
  • Technology
  • Join Vox
  • Take a Tour
  • Already a Member? Sign in
たけしげ

life marathon

  • たけしげ’s Blog
  • Profile
  • Neighbors
  • Photos
  • More 
    • Audio
    • Videos
    • Books
    • Links
    • Collections

Permission denied to get property Window.App

  • Mar 22, 2008
  • 1 comment

MT 4.1をインストールしたせいなのか、ブログエントリの本文が突然かけなくなるという問題。

”Permission denied to get property Window.App”

のエラーが発生。

原因:ドメインが違うとJavaScriptが動かない。mt-config.cgiに含まれるmt-staticのドメインをmt.cgiと同じにすること。

先週新しいホスティング会社にm*.comとs*.comを移行した。テストのために、最初にs*.comを登録してMT4.1検証。のちにm*.comをparkさせた。メインはm*.comであるので、それからm*.comを使い始めたのだが、その時点ではmt-staticがまだs*.comであったためにm*.comからのアクセスを拒否されたというのが原因。解決方法は、mt-config.cgiを書き換えること。

以上

1 comment Tags: movable type

目には目を、対データマイニングにはデータマイニング

  • Jan 6, 2008
  • Post a comment

http://www.farecast.com/

航空券を「いつ」買ったらいいか教えてくれるサイト。いまのところ、アメリカ国内だけみたいですが。すでに2年くらい前に話題になったところらしいけど、最近本を読んでいてて気になったのでメモがわりに。。。

今やデータマイニングを駆使して、企業が特定の消費者をターゲットに物を売りつける時代ですが、それに対抗して、消費者側の立場からデータマイニングでより有利な条件で物を買うことを目的としたサイトの一例です。

こういう対抗策を持たないと、これからはどんどん搾取されるのでしょう。

だから、学校では確率統計を最初にちゃんと勉強させて、いかにデータと付き合うかを最初に勉強させるべきだと思いますが。

Post a comment Tags: statistics, datamining

TivoGoBackでMacで録画したビデオをテレビで観る

  • Dec 25, 2007
  • Post a comment

昔の同僚の紹介で日本のテレビを録画できるサーバーを共同で使わせてもらうことになった。だいたい10人くらいで個人のテレビ録画サーバーを共有しているらしいが、最近ヘビーユーザーの一人が日本に帰国して、使用頻度が下がったのでその空いた帯域を分けてもらった次第である。

早速日本のテレビ番組を録画してみた。「からだであそぼ」、「ぜんまいざむらい」、「おかあさんといっしょ」、「ピタゴラスイッチ」。タイトルから推測されるとおり、すべて子供番組。うちの息子のためである。Mくん、ありがとう!おかげで日本語学習が進むよ〜。

ここからが本題。うちのメインマシーンはmacbook pro。サーバーにはwebから予約をして、ftpでmpegファイルを取得する。問題なのはどうやってテレビで観るか。macbook proからビデオ出力はできなくはないが、使い勝手が悪い。当初考えていたのはmpegファイルをすべてmpeg4/h264フォーマットに変換して、apple tvで観る方法。しかし当然apple tvを購入しなければならない。もう少しでapple tv購入を踏み切ろうかと考えていた矢先、ビデオコンバータの「おまけ」に目がとまった。

http://www.techspansion.com/visualhub/
TivoGoBack (英語での説明: http://www.tivoblog.com/archives/category/tivogoback/)

うちにはTivoがある(日本語放送録画以外ほとんど使っていないが...)。で、このソフトが何をしてくれるのか。Mac上にあるmpegファイルをTivoに転送してテレビでビデオをみることができる。

PCではTivo Desktopによりすでに実現している機能だが、なぜかMac用のTivo Desktopでは音楽と写真のみサポートされている。しかしTivoGoBackによりビデオも転送可能になるので、Tivoからの視聴が可能になる。

手順は以下の通り

  • TivoとMacが同じネットワーク上にあるのを確認。
  • Mac用のTivo Desktopをダウンロードしてインストール

http://www.tivo.com/mytivo/domore/tivotogo/index.html

  • Tivoから、Mac上にある音楽と写真がアクセスできることを確認
  • Virual Hubを購入、$30程度

http://www.techspansion.com/visualhub/

  • 「おまけ」のTivoGoBackをインストール
  • Visual Hubで録画したファイルをTivoに最適化されたmpegで保存。
  • Tivoとの共有ディレクトリにコピー。
  • Tivoから「Now Playing List」の一部としてMacの名前が出てくるので選択
  • Tivo共有ディレクトリのファイルが見えるので、ファイルを選択、アップロード(ダウンロード?)開始

さらにアップしている途中から観られるので便利です。

ズバーット、解決しました。

Post a comment

Rubyが楽しくないところ

  • Dec 22, 2007
  • Post a comment

改行出来るかどうかのルールが掴めない。。。次のコードはエラー

errors.add(:price, "should be positive")
  unless price.nil? || price >= 0.01

syntax error, unexpected $end, expecting kEND

これはオーケー。

validates_format_of :image_url,
                    :with => %r{\s(gif|jpg|png)$}i,
                    :message => "must be a URL for a GIF, JPEG, or PNG image"

しかし先の例はこのように変更しなければいけない。

errors.add(:price, "should be positive") unless price.nil? || price >= 0.01

なぜだ?何かruby特有の文法を見逃したのかも。

Post a comment Tags: ruby, rails

Sqlite3+Rails2.0.2でチュートリアル試す(2)

  • Dec 22, 2007
  • Post a comment
  • データベースのテーブルスキーマの変更は特に問題なし

sqlite> alter table products add column date_available datetime;
sqlite> .schema products
CREATE TABLE products
(id integer primary key autoincrement,
title varchar(100),
description text,
image_url varchar(200),
price decimal(10,2)
, date_available datetime);
sqlite> delete from products;

  • Productページの再生成、-fオプションを付けると強制的に上書きされる

$ script/generate scaffold product image_url:string title:string description:text price:decimal date_available:datetime -f

  • Validation関係はそのまま

validates_presence_of :title, :description, :image_url
validates_numericality_of :price
validates_uniqueness_of :title
valdates_format_of :image_url, :with ..., :message...

  • app/views/products/index.html.erbを編集して見かけを変える

参照するオブジェクトは、@productsで同様。
rhtmlに代わって、erbという拡張子が2.xからの標準らしい。

他は、scaffordが生成したコードに多少違いはあるが、変更の仕方はほぼ同じ

以前railsの学習を試みたときは、scaffoldにとまどったが、ページをいろいろ変更してみて気がついたのが、scaffoldってあくまでMVCモジュールのワイヤリングをするだけであるということ。ModelレイヤーのORマッピングはほぼそのまま使えるが、ControllerとViewは手を入れるのが基本なんだね。ぶっちゃけて言えば、scaffoldってアプリケーションをとりあえず動かして達成感を味合わせて、次のステップにプログラマーを進ませるのが仕事なんだろう。そういうのって大事ですね。

Post a comment

Sqlite3+Rails2.0.2でチュートリアル試す

  • Dec 21, 2007
  • Post a comment
「Agile Web Development with Rails」の第6章から紹介の「depot」アプリケーションを動かしてみる。

本書では「まだ」カバーしてないであろう、sqlite3 + Rails 2.0.2を使ってみた。

1. railsアプレケーションを作成
$ rail depot

2. データベースファイルを作成
$ cd depot/db
$ sqlite3 depot.db

3. テーブル作成
sqlite> create table products (
   ...> id integer primary key autoincrement,
   ...> title varchar(100) not null,
   ...> description text not null,
   ...> image_url varchar(200) not null,
   ...> price decimal(10,2) not null);

変更点はidの型がintegerでprimary keyであること。autoincrementは特に要らないが、明示的に示して混乱を避ける。

4. scaffoldを使ってproductページの作成
$ cd depot
$ script/generate scaffold product image_url:string title:string description:text price:decimal

Rails2.xでは、表示するフィールド名を明示的に指定しなければならないらしい。

5. 確認
http://localhost:3000/product

いろいろ試して動作してますか?

6. ついでにDBを検索
$ cd depot/db
$ sqlite3 depot.db
sqlite> select * from products;

(つづく)


Post a comment Tags: ruby, rails, sqllite

Railsへ流れる

  • Dec 19, 2007
  • Post a comment

http://japan.cnet.com/blog/kenn/2007/12/19/entry_25003169/

江島さんが、本当に唐突にrailsのセットアップについて書かれていたので、せっかくなのでインストールしてみた。手元にマックあるし、Leopardだし。

実は1年半くらい前にrailsを習得を試みたことがある。しかし当時rubyの習得がままならないままだったので、チュートリアル通りにコードを書けても何が起こっているのか理解できず、何を変更すれば自分がやりたいことができるのか分からないので、一度はあきらめた。しかし最近「楽しいRuby」を読んだおかげで少しは読めて書けるようになったので、再挑戦。'@'が変数の前にくっついていても配列じゃないと認識できるのは進歩だと思う。

ところで、以前からうざいと思っていたのが、データベースの設定。railsのpersistent layerにはmysqlが推奨データベースであったため、別途インストールの必要があった。特にLeopard用のバイナリ配布はまだ行われておらず、ソースからビルドする必要がある。すげー面倒。

しかし、rails2.0.2からはsqlite3がデフォルトとなった。これは非常に喜ばしいことだ。というのもsqlite3にはデータベースサーバーを起動するという概念がなく、ファイルに対して直接SQLを投げてデータの格納、取り出しを行うので、取り扱いが非常に簡単だ。データの移動やバックアップはファイルの移動、コピーだけですむ。そうした手軽さからembeded dbとして利用できるので、他の製品と配布も簡単である。実際,google gearが使っている。railsにembedされるということは、別途sqlサーバーをインストールしなくていいわけである。

さて、江島さんのチュートリアルどおりにインストールしてみたが。。。簡単そうだけど、一筋縄ではいかないなぁ。。

  • MacPortsをダウンロードしてインストールは、問題なし
  • Ports自身が最新であることを確認
$ sudo port -v selfupdate
portがないと言われる。/opt/local/bin/portだけど、PATHを含む.profileが呼ばれてないことが判明
  • Ruby Gemsをインストール

$ sudo port install rb-rubygems
なぜかいきなりperlをインストールし始めた。。。えっ、rubyじゃないの?
という心配をよそに一見関係ないがおそらく必要であろうパッケージを大量にインストール。結局30分くらい掛かった。


  • Railsとその関連モジュールのインストール

$ sudo gem install rails --include-dependencies
gem関連のファイルが見つからないと言われる。。。
sudo port uninstall rb-rubygemsを実行して、sudo port install rb-rubygemsで解決
しかし2.0.2を選んでも404エラー、どうして?
$ sudo gem update --system
でgem自体をアップデートしてから再挑戦すると解決。


  • Railsでとりあえずサンプルを作ってwebサーバー起動

$ rails rails-demo
$ cd rails-demo
$ script/generate controller hello
$ vi app/contoller/hello_controller.rb
$ (def worldメソッド追加)
$ script/server
問題なし。このあたりは前に何度かやったことがある。


  • アプリケーション動作確認

http://localhost:3000/hello/world
sqlite3が見つからないと言われる。デフォルトだって言ったじゃん!
ruby -e "require 'rubygems'; require 'sqlite3'"
を実行してもやはり見つからず。
sudo gem install sqlite3-rubyで解決。
やはり別途ドライバが必要なのね。Leopardでは必要ないと書いてあったが、なにかの手違いか?


以上、何とかhello worldは動きましたっと。

Facebookはアカウントないので、取得してからまず様子を見ましょう。
Post a comment Tags: ruby, mac, rails, sqlite, ports

Rubyは楽しいのか

  • Dec 12, 2007
  • Post a comment

「たのしいRuby」を読んでようやくRubyを始めるとっかかりを得た。初心者向けの本を敬遠していたが、新しい言語を習得するには初心に返った方が結局早道であることを再認識した。

Ruby関連の本で最初に買ったのは「Ruby Cookbook」である。しかし、いきなりハウツーの本を読んでしまうと、確かに分かったような気になるのだが、自分でコードが書けるようなるかどうかは怪しい。特に問題と答えが隣り合わせに書いてあると、考えることもなくひたすら暗記するか、何度も読んでいるうちに身につくことを願うしかない。もしくは、自分でアプリケーションを書いてみて分からないことを調べていくと身につくのは分かっている。

しかし、差し迫って作りたいアプリがあるわけでもなく、練習問題があって答えがウェブにある「たのしいRuby」は非常に効率的に言語習得できたような気がする。

ところで、Rubyは「たのしい」のかという疑問。「たのしい」言語であるからには、コーディングしていて喜びを感じる瞬間が、苦痛を感じる瞬間よりも多いはずである。しかし、今のところ習得途中ということもあり、躊躇無く「Rubyってたのしいねぇ」とは言えない。特に他の言語の「スタイル」が身にしみているためか、Rubyってあれもこれもできるって感動する一方で、これって何か違うと感じる瞬間が多くあった。以下その例を挙げてみるが、おそらく多くは自分のRubyの無知から来る物であることを期待している。

  • 複数行に分けてifの条件文を書けない

leap yearをチェックするときにこんな条件式を書いた。

if date.month == 2 && date.year % 4 == 0 && date.year % 100 != 0 || date.year % 400 == 0
  numDaysInMonth = 29
end

条件文が長いので分けてみたらエラーになった

if date.month == 2
&& date.year % 4 == 0
&& date.year % 100 != 0
|| date.year % 400 == 0
...

syntax error, unexpected tANDOP

セミコロンなどを使わないで行をステートメントの区切りとするのはなんとなく分かるのだが、この場合はどうすればよいのだろう?1行に詰め込むと長すぎて読みにくいのだけど。
ちなみに上の例は、date.leap?であっけなく解決したが、他にもいろいろな例があるに違いないのだが。

(つづく)

Post a comment

暗号化されたドライブ Mac Leopard編

  • Nov 6, 2007
  • Post a comment

PCユーザーのころ、SteganousのSafeというソフトを使って、大事な情報を保存していた。AES-256で暗号化されているため、ディスクイメージから簡単には解読できない。Quicken情報や、パスワードリストなどを保存しておいて、いざディスクが壊れたときでも、あまり心配せずに廃棄できるので安心である。

Ubuntuユーザーになったときに、同様のものを探したが安くていいものは見つからず。結局、truecryptという使えるソフトに出会う。パーティションまるごと暗号化などが可能で、ファイルベースの暗号化されたパーティションも作成可能だ。パーティションの暗号化は試してないが、ファイルベースの場合面倒なのは、必要なときにマウントしなければいけないこと。スクリプトを書けば可能だが、どうも使い勝手が悪かった。

Macを使い始めてから必要性を感じたことはなかったが、メインマシンになるにつれどんなソフトがあるか調べてみることにした。

驚いたことにAES-256もしくはAES-128で暗号化されたドライブ作成が標準で可能である!

  • 「Disk Utility」を起動する。
  • メニューから「New」->「Blank Disk Image」を選択。
  • 暗号化方式を選択。Leopardでは、新たにAES-256が選択可能。以前のバージョンでもAES-128が利用可能。
  • ファイル名を指定
  • パスワードを指定
  • ...作成

便利なのは、サイズを決定するときにDVDのサイズなどに合わせられる点。メディアにバックアップもしくはコピーして配布するのに便利である。
それから、暗号化ドライブを標準でサポートしているということは、MacOSXマックであればどれでも利用可能なので、Decryptionのエンジンをコピーする必要が無い。もちろんAES-256はLeopard以降のみ。AES-128であれば、確か10.2あたりからのOSで利用可能。

Post a comment Tags: mac, leopard, encrypted disk partition

LeopardでCPUが100%近く食われてしまう件。。。解決

  • Nov 5, 2007
  • Post a comment

Leopardにアップグレードしてから、ときどきファンが回りっぱなしという現象が起きるようになった。ACアダプターをはずして使っていると30分くらいで電池切れとなる。これはまずい。

結論から言うと、Leopard特有の問題ではなかったようである。
「ようである」と断言できない理由は、いくつかのフィックスを同時に試みて結果直ったよということ。

  • Symantec AntiVirusのウイルス定義ファイルが今年3月のまま止まっていた。Liveアップデートを試みたら失敗したので、手動でダウンロードしてインストール。ついでにLiveアップデートプログラム自身のバージョンが3.5であったので、最新の4.0をダウンロードしてアップデートした。
  • /Library/LaounchDamons/にあるcom.landesk.*というファイルを削除して再起動。launchdによるデーモンプロセスの起動に失敗しているらしいと判断したため。


以下、発見の課程と詳細。

ファンが回りっぱなしのときにtopでプロセスを調べると、Symantec AntiVirusのプロセスがCPUを80%近く消費していたので、アップデートを試みた。もしかしたらたまたま起こっていた現象なのかもしれないが、アンチビールスソフトがリソースを消費するという現象はよくあることなので、最新版にすることで軽減を期待した。会社がインストールしたものなので除去するという選択肢はない。幸い、アップデート後に再起動したらCPUの消費は収まった。

ところが、しばらくすると再びファンがフル回転し始めた。またSymantecの仕業かと疑ったが、こんどはsyslogdとlaunchdが交互にリソースを食い合ってトータルで90%近くを占めていた。CPU消費を調べるには、topでoを押してcpuとタイプするとCPU消費しているプロセスの順にリストされる。

Appleのサポートで検索した結果、このようなケースを見かけた。
http://discussions.apple.com/thread.jspa?messageID=5690924&#5690924

Time Machineのせいだという。そこでTime Machineのオフにして再起動してみた。しかし、一向に状況はよくならない。さらに調べてみると、/var/log/system.logになんらかのメッセージがあるということなので見てみると、launchdがひたすら何かの起動に失敗している。

(com.landesk.pds): exit 1

このlandeskとは何だろう?調べてみると何らかのサードパーティのソフトらしい。launchdについてさらに調べると、/Library/LaunchDaemonsにあるファイルを参照しているとのこと。中身をみるといくつかlandeskという名前がついているplistファイルが!!これだ!!と直感して中身を調べてみると、どうやら存在しないファイルを参照していることがわかった。ためしにそれらのplistファイルを別の場所に移動して再起動。。。

以来、1日間問題なく動作している。Time Machineもオンに戻した。このまま何も無いことを祈る。

Post a comment Tags: mac leopard upgrade syslogd...

Read more from たけしげ »

たけしげ

About Me

たけしげ
United States
View my profile
runner softoware engineer

Photos

  • 24981-2363-004f

View more of my photos

Neighborhood

  • Team Vox
    Team Vox Updated: Jun 24, 2008
  • こっぺ
    こっぺ Updated: Sep 26, 2007

Explore friends, family, friends & family, or entire neighborhood.

View my neighbors

Tags

  • anthy
  • datamining
  • encrypted disk partition
  • leopard
  • mac
  • mac leopard upgrade guid partition
  • mac leopard upgrade syslogd launchd landesk cpu trouble
  • mount
  • movable type
  • ports
  • rails
  • ruby
  • smb
  • sqlite
  • sqllite
  • statistics
  • suspend
  • ubuntu7.04
  • umount
  • 日本語

View my tags

Recent Comments

  • こっぺ
    こっぺ said:
    ありがとうございます。 read more
    on Permission denied to get property Window.App

Books

  • 目指せ!月収200万円サラリーマン「儲かる大家さん」教習所 (NET M@NEY BOOKS)
  • たのしいRuby 第2版 Rubyではじめる気軽なプログラミング
  • RailsによるアジャイルWebアプリケーション開発 第2版

View more of my books

Archives

  • March 2008 (1)
  • January 2008 (1)
  • December 2007 (6)
  • November 2007 (3)
  • October 2007 (1)
  • 2008 (2)
  • 2007 (12)

Subscribe

  • Subscribe to a feed of these posts
  • Powered by Vox
  • Theme designed by Tiffany Chow
  • Use this theme
  • Home
  • Explore
  • Tour Vox
  • Start a Vox Blog
Already a member? Sign in

Back to top

View Vox in your language: English | Español | Français | 日本語

Vox © 2003-2008 Six Apart, Ltd. All Rights Reserved.
Help | Learn More | Terms of Service | Privacy Policy | Copyright | Advertise | Get a Free Vox Blog

Loading…

Adding this item will make it viewable to everyone who has access to the group.

Adding this post, and any items in it, will make it viewable to everyone who has access to the group.

Create a link to a person
Search all of Vox
Your Neighborhood
People on Vox

(Select up to five users maximum)

Vox Login

You've been logged out, please sign in to Vox with your email and password to complete this action.

Email:
Password:
 
Embed a Widget
Widget Title: This is optional
Widget Code: Insert outside code here to share media, slideshows, etc. Get more info
OK Cancel

We allow most HTML/CSS, <object> and <embed> code

Processing...
Processing
Message
Confirm
Error
Remove this member