2015年3月 5日
アウトラインプロセッサ「Story Editor」を本日公開終了しました。
CHEEBOW'S APPS
最後に更新したのが2003年で、その後ずっと放置していたのですが、サポートもできないし、そもそも、開発環境自体が手元にない! というわけで、公開を終了しました。
たくさんの方に使っていただきましたし、現在も使われている方もいらっしゃるようです。
しかし、現在のOSではインストーラも動かないし、動いたとしてもかなり不安定なのではないかと思われます。
そんなソフトをいつまでも公開しておいてはいけないのではないかと、12年たってしまいましたが、本日公開を終了させていただきました。
ソースを公開することはありません。使用している環境がちょっと特殊で他の方がビルドすることも不可能だと思われますので。
現ユーザさんには、同等の他のアプリに移行していただきたいと思います。
とはいえ、現在同等のアプリにどんなものがあるのかちょっとわからないのですが......。
こんなアプリがあるよ! などありましたら、教えてください。こちらに追記します!
幸せなフリーウェアでした。
会社に向かう通勤電車の中でリブレットでDelphiを開き、ちまちまとコンポーネントを配置しプログラミングした日々、楽しかったです。
いままでありがとうございました!!
投稿者 CHEEBOW : 16:41
| [ Development ]
2014年11月20日
iPhoneで今聞いている曲の情報をTwitterやFacebookに簡単に投稿できるアプリを作りました!
iPhone Apps::Share-Music
プログラミングは、僕、CHEEBOW。
デザインは、Asami Yamamoto さんにお願いしました。
最近音楽ばっかり作っていて、プログラマやめちゃったんじゃないの? と言われることが多い僕ですが、やってます!
仕事以外でも、こんな個人製作のアプリも作っています!
今回は、iOS8やiPhone6でのアプリ開発の練習もかねて作ってみました。
AutoLayoutとかデザイナさんとのやり取りの方法とか、いろいろ得るものがありました。
で、AppStoreで表示されているキャプチャにこっそり(こっそりではないw)、先日リリースされた僕が楽曲提供したLuce Twinkle Wink☆の刹那ハレーションの情報を表示してみました!
すてまでしょうか、
いいえ、だれでも。
Luce Twinkle Wink☆ Arc Jewel (2014-09-30) 売り上げランキング: 36,409
投稿者 CHEEBOW : 10:39
| [ Development ]
2013年9月30日
Xcode5でiOS7 SDK。
これからはそういう時代だと分かってはいても、大人の事情でiOS6 SDKを使いたい、使わざるを得ないということもあります。
Xcode5でiOS6 SDKを使うのは結構簡単です。
まず、iOS Dev CenterでXcode4をダウンロードしておきます。
で、Xcode4の中の
[Xcode4].app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
このフォルダをXcode5のこのフォルダにコピーするだけ。
/Applications/[Xcode5].app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
あとは、プロジェクトの設定で、Base SDKの設定をiOS6に変更すればオッケー。
投稿者 CHEEBOW : 12:05
| [ Development , iPhone ]
2011年3月10日
What's New in Xcode - Developer Tools Technology Overview - Apple Developer
先日、iOSの開発環境でもあるXcodeの最新版「Xcode4」がリリースされました。
Xcode4はいろいろ便利機能も付いていて、非常に素晴らしい開発環境です。
必要があって、Xcode4はベータの時からずっと触ってきたのですが、やっと正式版! と思ったものの、まだ、バグがいくつかあるようです。
とりあえず、僕が見つけたものを書いていきます。
Ad BannerのデリゲートをControl+ドロップで接続できない
xibファイルを開いて、ViewにAd Bannerオブジェクトを置きます。
Controlキーを押しながら、Ad BannerからFile's Ownerオブジェクトにドラッグすると、Xcode3まではdelegateが選択できたのに、Xcode4ではできません。
コードでdelegateを指定するとか回避策はありますが、今までできていたことができなくなるのはちょっと不便です。
xibのローカライズでオブジェクトが失われる
xibになんでもいいので、ラベルとかボタンとかのオブジェクトを置きます。で、「File Inspector」の「Localization」から、「japanese」を追加します。これで、日本語用のxibファイルが作成されるのですが、先ほど置いたオブジェクトはこのxibファイルのViewにはひとつもありません。ラベルもボタンも消失します。
これは、かなり致命的なバグだと思います。
【追記】
この件は、バグではなく仕様のようです(Twitterで教えていただきました)。
一度、xibファイルを保存しないといけません。アラートとか出てもよさそうですけど、ローカライズはそもそも、アプリが動いて最後の作業として行うのが普通なので、これで良いのかもしれません。お騒がせしました......。
バグは
Bug Reporting - Apple Developer
ここで、レポートできるらしいんですけど、僕は英語が苦手でちょっと敷居が高いので、もし、英語が得意な方がいれば代わりにレポートしてもらえると、うれしいです。
投稿者 CHEEBOW : 13:10
| [ Development , iPhone ]
2010年11月19日
nibを使わずにViewControllerを作成するとき、なんとなくnibを使う時と同じように「viewDidLoad」内で、Viewを作成してaddSubViewしていました。
これでとくに問題なく動いていたんだけど、loadViewメソッドのところに書いてある、このコメントが気になったんです。
// Implement loadView to create a view hierarchy programmatically, without using a nib.
nibを使わない時は、ここでViewを作成しなくちゃだめなの?
というわけで、こんなコードを書いてみたら、
- (void)loadView {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
label.text = @"TEST";
[self.view addSubview:label];
[label release];
}
EXC_BAD_ACCESSいただきましたー!
loadViewが呼ばれた時には、「self.view」が存在しないんですね。なので、自分で「self.view」自体を作ってあげる必要があります。
- (void)loadView {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
label.text = @"TEST";
self.view = label;
[label release];
}
こんな感じで。
だとするとですよ、viewDidLoadの時に「self.view」ができてるのはなぜなのか?
そこで、こんなコードを書いてみました。
- (void)loadView {
self.view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)] autorelease];
}
- (void)viewDidLoad {
[super viewDidLoad];
if (self.view) {
NSLog(@"viewDidLoad:self.view=%@", self.view);
} else {
NSLog(@"viewDidLoad:self.view=nil");
}
}
こうすると、コンソールには、
2010-11-19 14:30:13.681 test[5744:207] viewDidLoad:self.view=<UIView: 0x5f4de50; frame = (0 0; 100 100); layer = <CALayer: 0x5f4de80>>
こんな表示がでます。
次にloadViewをコメントアウト。
/*
- (void)loadView {
self.view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)] autorelease];
}
*/
- (void)viewDidLoad {
[super viewDidLoad];
if (self.view) {
NSLog(@"viewDidLoad:self.view=%@", self.view);
} else {
NSLog(@"viewDidLoad:self.view=nil");
}
}
こうすると
2010-11-19 14:31:40.486 test[5837:207] viewDidLoad:self.view=<UIView: 0x5f3f4a0; frame = (0 20; 320 460); autoresize = W+H; layer = <CALayer: 0x5f3f4d0>>
こんな表示に!
なんか、自動的にViewが作られてる!!
もしかすると、ベースとなるViewを自分できちんと用意したい時には「loadView」を使わないといけないけど、とりあえず用意されてるViewでいいやーって時は、viewDidLoadを使えばいいのかも。
確かに、メソッドの名前的にも、そんな気がしてきた。
個人的には、viewDidUnloadとの対比を考えると、viewDidLoadでボタンやらラベルやらのViewを追加して、viewDidUnloadでそれらを解放とした方がすっきりするかなぁ、と。
おそらく自動的に作られる「self.view」については、ViewController自身が良きに計らってくれるのではないかと想像したりして。
どうなんだろうなぁ。
検索してもあまり情報が出てこなかったので、まとめてみました。
ご意見おまちしておりますー。
【追記】
これ、僕の勘違いでした!
- (void)loadView {
[super loadView];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
label.text = @"TEST";
[self.view addSubview:label];
[label release];
}
[super viewLoad]をすればオッケーでした!!
テンプレートのコードに入っていなかったので、うっかりしてました。
コメントしてくださった、けいたんさんありがとうございました!
投稿者 CHEEBOW : 14:45
| [ Development , iPhone ]
2010年10月21日
こんなコードをシミュレータで実行してみた。
cellはUITableViewCellのインスタンスだと思いねぇ。
NSLog(@"(1)cell.textLabel.text:%d", [cell.textLabel.text retainCount]);
NSString *title = [[NSString alloc] initWithFormat:@"%@", aPage.title];
NSLog(@"(2)title:%d", [title retainCount]);
cell.textLabel.text = title;
NSLog(@"(3)cell.textLabel.text:%d", [cell.textLabel.text retainCount]);
[title release];
NSLog(@"(4)title:%d", [title retainCount]);
NSLog(@"(4)cell.textLabel.text:%d", [cell.textLabel.text retainCount]);
で、これが結果
(1)cell.textLabel.text:0
(2)title:1
(3)cell.textLabel.text:3
(4)title:2
(4)cell.textLabel.text:3
(3)のところおかしくない? なぜ3なんだろう。
retainCountが1のtitleをcell.textLabel.textに突っ込んだら、retainされて2になりそうなもんなんだけど。
そして、(4)では直前に [title retainCount]); ってしてるのに、retainCountが減っていない。
これってどうしてだろう。
なんか納得できなくて気持ち悪い......。
うーん、うーん。
投稿者 CHEEBOW : 14:52
| [ Development ]
2010年8月19日
先日公開した、おもしろ系iPhoneアプリ「コトバトコ 」ですが、たくさんの方に楽しんでもらっているみたいです。
コトバとコトバをランダムに組み合わせるだけなのに、なぜか笑えたり、意味深な新しいコトバが生み出されます。
面白いものは傑作選に登録できるのですが、この過去の傑作選をTwitterでつぶやくbotを作りました。
コトバトコ (kotobatoko_bot) on Twitter
10分に一度ぽつりとつぶやきます。
iPhone持ってないけど、コトバトコの楽しさを知りたい! って人はぜひフォローしてみてください。
すでにコトバトコ使ってるよ! って人も、自分の登録した言葉が出てくるかもしれませんので、フォローしてみると楽しいかと思います。
iPhone Apps::コトバトコ
投稿者 CHEEBOW : 11:44
| [ Development , iPhone ]
2009年3月12日
美人時計 が流行ってますね!!
人気ありすぎてページが見れなくなっちゃうくらい......。
美人時計をデスクトップにおいておけたらいいのに!!
ということで、作ってみました。
美人時計アプリ。
ダウンロードはこちらから。
美人時計 for Windows
小さめサイズはこちらから
美人時計 for Windows(小さめバージョン)
【追記】
サーバの仕様が変わってしまったので、現在は動作しません。
いちお、1分に1度見にいってます。
サーバの状況によっては画像が取得できないこともあるのです。
これ、リトライすることも考えたのですが、そうでなくても負荷のかかっているサーバに余計な負荷をかけちゃうのは申し訳ないので、リトライはしてません。
エラーが発生したら、自分のお気に入りの女の子を思い浮かべるなどすると良いと思います!
という感じで、ゆるゆるとお使いくださいませ。
投稿者 CHEEBOW : 13:15
| [ Development ]
2008年11月18日
平山 尚(株式会社セガ) 秀和システム 売り上げランキング: 37
おすすめ度の平均:
良書です。が、ある程度のプログラミングスキルが必要
本屋で見かけて、財布の中身と相談して、一度はあきらめて帰ったものの、やっぱり、どうしても、欲しくて購入した。
なにしろ、5000円弱。高い。
そして、軽く腕力を鍛えられそうなくらい厚くて重い。
しかし、これ、ものすごい良書なんじゃないか?
まだ、そんなに読みすすめてはいないんだけど、とにかく、書きっぷりがいい。
ゲームを作るために必要な知識をもりもりと詰め込み、それをばっさばっさと解説していく。
「僕はこう書く、でも、もっといい方法は自分で見つけろ」なんて言ってみたりもする。
ゲーム作りをする新人を育てようとする、すごい熱気。
セガの新人教育カリキュラムから生まれたゲームプログラミングの解説書です。C++の初歩のスキルがある人向けに、パズルや2Dグラフィックスといった比較的簡単なゲームの作り方から、ゲームに絵を取り込む方法、シーケンス遷移、アクションゲーム、平面の衝突処理、入力装置のコントロール、サウンドライブラリの利用、回転や伸縮を解説し、最終的に3Dでロボットが弾を打ち合うゲームを作るまでを学びます。立体の描き方、ライブラリの作り方、処理速度が遅くないコードを書くためのポイント、立体の衝突処理、衝突処理の高速化、ローディング時間の圧縮、floatの使い方などの実用的なテクニックを詳解。サンプルコードを収録したCD-ROM付き。
ゲームプログラミングの本はいろいろ出ているけど、初歩と専門の間の全てを網羅した本ってのはそんなにない。
この本は、その一番難しいところをきっちり書いてくれている。
高いと思った価格も、読み進むうちに、全然安い! と思えてきた。
これだけの、知識をこんな金額で教えてもらえるなんて、むしろ夢のようだ。
ゲームプログラマを目指す全ての人に、マストバイ! だと言いたい。
......しかし、重いです(笑)
投稿者 CHEEBOW : 11:02
| [ BOOK , Development ]
2008年5月15日
Plan de Sens 清水 智雄 毎日コミュニケーションズ 売り上げランキング: 8505
タイトルがいいなーと思ったのと、装丁がおされで思わずジャケ買い(笑)
カバーをはずすと、これがまた、ファッション系の書籍みたいで、電車の中で読むのが逆に恥ずかしかったりして……。
で、本の内容なんだけど、今までの Ruby on Rails本とくらべると、どちらかというと、デザイナ向きなのではないかと思う。
小難しいこと抜きで、ブログや、ショッピングカートの出来るまでがわかるし、IDE(統合開発環境)を使っての作業も、コマンドラインを使うより敷居が低いかも。
実際に、本の通りに作業を進めるだけでも、勉強になると思う。
それと、この本はちょっと変わっていて、Ruby on Railsを使って構築された音楽系のサイトの運営者インタビューも載っていて、このインタビュー自体は、インディーズレーベルとか、音楽配信とか、プログラミングとは関係のない話で、ほんとにこれが必要だったのか、疑問ではありますが、そういう人たちが、Ruby on Railsで作られたCMSを使ってサイトを更新していて、それが、非常に良い方向にビジネスを加速させていると言うのを読めるのは夢が広がりますよね。
しかも、ここで出てくるCMSのシステムは、見た限りだと、本書で紹介しているブログシステムをベースにして作ることが出来そうなもの。つまり、この本をベースにこのインタビューで答えている人の運営しているサイトに近いものも作成できてしまいそうです。
プログラミングの本と言う意味では、物足りないところもありますが、これから、Ruby on Railsをはじめてみたいと思っている人、プログラミングをしたいデザイナーさんの最初の一冊として、良いのではないでしょうか。
でも、黒地に白文字の本文なので、やたら指紋がついちゃうのは><
投稿者 CHEEBOW : 11:51
| [ BOOK , Development ]
2007年11月15日
先日、Twitterの人たちにオフ会に関する連絡をダイレクトメッセージを送ろうと思って、いろいろ探したんだけど、良いものがなかったので、作ってみました。
Twitter用同報DM送信スクリプト
Rubyで書いてます。標準のモジュールだけを使っているはずなので、Rubyが使える環境ならどこでも動くと思います。
ruby multi_dm.rb default.yaml
みたいな感じで、スクリプトの後に、設定のYAMLファイルを指定してあげればオッケー。
YAMLは
account:
username: user
password: pass
status: こんにちは!テストです!
to_list:
- _twit
- cheebow
こんな感じのフォーマットになっていて、accountのところに自分のユーザ名とパスワードを入れて、statusに送信したい文章を入れます。to_listには送信したい相手のIDを列挙。
で、YAMLファイルはUTF-8で保存してね。
Rubyは専門でないので、なんか、変なところとか結構ありそうですけども……。アドバイスいただければなーと思っています。
投稿者 CHEEBOW : 13:05
| [ Development ]
2007年7月27日
MTのプラグインを作ろうとした時に、結構めんどくさいのが、毎回同じようなこと書いたり、同じようなディレクトリ構造作ったりとかっていう、前準備だったりします。
それをはしょるために、以前に作ったプラグインのプロジェクトをコピーして、せこせこ直したりもしてたんですが、それも、面倒だし、直し忘れなんてのもありがち。
仕事でMTプラグインを書くことが多いので、このあたりもっと楽にならんかなーと思っていた時に、見つけたのが、Plagger のプラグインのひながた作成用スクリプト「plugin-start.pl 」。これを元にMTプラグインのひながた作成スクリプトを作りました。これが、なかなか便利。社内でも使ってみて、だんだんこなれてきたので、このスクリプトを公開することにしました。
MTプラグインの雛形を作るスクリプト MTPlugin-Starter (エムロジック放課後プロジェクト)
せっかくなので、オープンソースにして、SourceForge.jpで公開してみました。
SourceForge.jp: Project Info - MTPlugin-Starter
出力結果とかには好みもあるでしょうから、そのあたりは各自で手に入れたり、バグを見つけたり、素敵機能を追加した時はパッチを送ってもらえるとうれしいです。
プラグイン作成に役立つといいなーと思います。
投稿者 CHEEBOW : 12:09
| [ Development , Movable Type ]
2007年5月19日
さいきん、ミニブログとかいうものが非常にはやってます。
Twitterとか、Juikeとかいろいろあるわけですが、日本のサービスもがんばってます。
で、Timelog 。最初はTwitterクローンだなーとか、UIがインスパイアされすぎだよなーとか、正直思ってました。
でも、よくよく見てみると、タグが使えたり、Todo機能があったりと、独自な機能もあり、そもそもコミュニティとしての方向性も大きく違うように感じてきました。
そして、API公開!
APIあるなら、作るよね!
ということで、作ってみましたよ。
こんな感じになりました。
もし良ければお使いくださいませ。
アイコンやロゴは、お友達のiceGear さんに作ってもらいました!
iceGearでは、鳥のアバターでチャットできる3Dチャットソフト「mongocco! 」を公開しています。
通知音のボイスデータは、ネット上で活躍中の歌姫
葉月ゆらさん にお願いしました。
ゆらさんは、歌うたいさんでもあります。
素敵な曲がたくさんあります。CDも出していますので、ぜひ聞いてみてください。
なお、音声データの再利用はおやめくださいませ。
あ、僕はここにいます。
Timelog / cheebow
addはご自由にー。addしておくと、Twit4TLの開発状況とか、バージョンアップの情報とかがすぐに分かって便利かも。
投稿者 CHEEBOW : 12:46
| [ Development , Twit ]
2007年4月 7日
2007年1月21日
ふと、思い立って、MacOSX用のアプリケーションを作ってみた。
開発環境にも、cocoaにも慣れないので、試行錯誤な感じでした。
http://cheebow.info/data/GetURL.zip
取得したいファイルのURLを入力すると、自分のhomeの下にファイルをダウンロードしてくれます。
ダウンロード後には、ダウンロードしたファイルを選択状態でFinderを開いてくれます。
例えば、メールとかでmp3のURLが送られてきた時などに、それをブラウザで開くと、ファイルがプレーヤに渡されてしまってダウンロードするのが難しかったりするのですが、そんな時に使えるかもです。
ま、勉強用に作ったものなので、実用性はあまりありませんが……。
でも、MacOSX用のアプリのアイコンって結構作るの大変そう。
どうやって作ったらいいんだろう。
結構デザインセンスも必要になりそうですよね。
参考にしたサイト:
Web Kit #1 : コンテンツをダウンロードしてファイルに保存
Finderでファイルを表示させる
投稿者 CHEEBOW : 22:46
| [ Development ]
2006年11月30日
エムロジック放課後プロジェクト で新しいプラグインを公開しました。
標準のエントリー編集画面で、例えば、「キーワード」フィールドにはファイルのURLを入れるとか、追記部分には「レビュー」を書くとか、本来のフィールドの名称とは異なった運用の仕方をすることがあります。
しかし、キーワードにURLを入力するというのは、なんとなく不自然ですし、運用時に説明しなくてはいけないというのも面倒です。
そこで、エントリー編集画面のフィールド名を変更するプラグインを作ってみました。
というわけで、MTをCMS的に使ったりする時に便利なプラグインだと思います。
ぜひ、使ってみてください!
投稿者 CHEEBOW : 13:31
| [ Development , Movable Type ]
2006年11月15日
エムロジック放課後プロジェクト で新しいプラグインを公開しました。
最近のエントリのリストや、アーカイブのリストなどを表示するときに、今表示しているのが何番目の項目なのかを知りたいことがあると思います。
例えば、各項目の間にborder-topで区切り線を入れたい場合、最初の項目にはborder-topを適用させず、2番目の項目から適用させたいとか、奇数行と偶数行で異なるスタイルを与えて背景色を交互に変更したいといったことがあります。
これを実現する「Counterプラグイン」を作ってみました。
あると便利! という感じのプラグインだと思います。
ぜひ、お試しください。
MovableType用Counter Plugin Ver.0.50 (エムロジック放課後プロジェクト)
投稿者 CHEEBOW : 16:49
| [ Development , Movable Type ]
2006年6月28日
Movable Typeで手軽にPodcastingを始めることができるプラグインを作成してみました。
これは、僕の所属するエムロジック株式会社 のエムロジック放課後プロジェクト の成果として、公開しています。
エムロジック放課後プロジェクト: MovableType用EasyPodcasting Plugin Ver.0.50
ぜひ、お試しを!
今回は、友達も誘ってのコラボプロジェクトとなってます。
一緒にコラボしたiceGear では、mongocco! というWindows用のアバターチャットソフトウェアを開発してますんで、ぜひ、遊んでみてください。楽しいです。
投稿者 CHEEBOW : 17:53
| [ Development , Movable Type ]
2006年6月27日
僕の所属するエムロジック株式会社 でエムロジック放課後プロジェクト というのをはじめました。
これは、いわゆる「ラボ」みたいなもので、普段の仕事とは別に社員が自分で考えて調べたことや作ったことを発表する場にしようということで作られました。
最初は、「エムロジック・ラボ」で行こうと思っていたんだけど、それだとちょっと固すぎるし、もう少し気楽な感じでやってみたいーという声も多かったので、ちょっと緩めのタイトルにしてみました。
今まで、この手のものは、各自がブログに書いたりしていたんだけど、せっかくだから、「エムロジックって会社の社員」がどんなことに興味を持ってどんなことをやっているのか、できるのかをきちんと公開する方がいいのかなーと思ったわけです。
これを読んでエムロジックに興味を持ってもらえればとてもうれしいし、なにより、仕事中にちょこっと作ったものとかを自分のブログで公開しちゃうより会社のブログで公開する方が後ろめたさがなくて良いし(笑)
とりあえず、始まったばかりなので、以前に作ったLivedoorReaderMenu のことを書いてあるだけですが、今後、MTのプラグインやら、WindowsやMac用の便利ツール、Tipsが公開されていく予定です。
ヒビノアワともどもエムロジック放課後プロジェクト をよろしくお願いします。
投稿者 CHEEBOW : 11:41
| [ Development ]
2006年5月24日
PiloWeb にはじまり、その後継版のPiloWebPro なんてソフトを開発していたりするのですが、ふと、気付いた。
それPlaggerでやればいいんじゃね?
というわけで、さっそく、こんなプラグインを書いてみましたよ。
Plagger::Plugin::Publish::PalmDoc
Plagger::Plugin::Publish::OutlineText
追記:
本家 に取り込まれましたので、そちらから使ってもらったほうが良いです。
エムロジック放課後プロジェクト の一環で、POD内の英語とかは、ka2hiro に書いてもらったりしつつ。
Plagger::Plugin::Publish::PalmDocはその名の通り、取得したフィードをPalmDocフォーマットのファイルで出力するPublish系プラグインです。
ダウンロードしたファイルを解凍して、Plugin/Publishディレクトリの下にPalmDoc.pmを、assetsディレクトリにPublish-PalmDocディレクトリ以下をコピーします。
YAMLには
- module: Publish::PalmDoc
config:
path: /path/to/
prefix: PalmDoc
medoc: 1
こんな感じで書いてもらうと、/path/to/ディレクトリの下にPalmDoc-*.pdbって形でフィードごとにファイルが出来ます。
medocを1にするとMeDoc形式で出力されます。
PalmDocに関しては、「Muchy.com - よくある質問と回答 > 「DOCアプリ」「DOCデータ」について、詳しく教えて下さい 」を読むと良いかもです。
Plagger::Plugin::Publish::OutlineTextは、階層付きテキストとしてすべてのフィードを出力するプラグインです。
Plugin/Publishディレクトリの下にOutlineText.pmをコピーするだけ。
出力されたファイルは、階層付きテキストが読めるエディタならツリー状に表示されるはず。拙作の「Story Editor 」とか。
モバイル系のデバイスでも階層付きテキストを読むことができるエディタやビュワーが結構あるみたいなので、それを使うのも良いかも。
YAMLには、
- module: Publish::OutlineText
config:
filename: /path/to/outline.txt
encoding: utf8
って感じで。この設定だと、/path/to/outline.txtをUTF-8で出力します。
両方のプラグインとも、出力されたファイルをてけとーにモバイルデバイスなどにコピーして、外出先で読んだりすると良いのではないかなーと思います。
ま、でも、Plaggerってなに? って人は、素直にPiloWebPro を使った方がいいんじゃないかなーとは思いますが……。
投稿者 CHEEBOW : 14:42
| [ Development , Perl ]
2006年5月20日
「ヒビノアワ: Plagger::Plugin::CustomFeed::NetLadio 」で公開した、Plagger::Plugin::CustomFeed::NetLadioを修正しました。
今Publish系のプラグインを作っていて、なんか文字化けするなーと気づきました。
というわけで、お使いの方は、新しいのを使ってくださいませ。
ダウンロードは
Plagger::Plugin::CustomFeed::NetLadio
こちらからー。
投稿者 CHEEBOW : 16:47
| [ Development , Perl ]
2006年4月28日
ヒビノアワ: MT BanASCII 3.2 MT::I18N::encode_text対応版
ヒビノアワ: MT BanASCII 3.2 MT::I18N::encode_text対応版 再び
と、2つのエントリに渡って書いてきたわけですが、いやはや、すでに「encode_text対応版」ではなくなってしまいました。で、しかもmiyagawaさんの元の「MT BanASCII 3.2 対応 」よりも機能ダウン!
というわけで、このまま同じ名前で公開してるのもよくないなーと思い、コードも修正しつつ、プラグインの名前も改めました。
MT BanASCII Liteってことで、Perl5.6環境の方(例えばロリポップとか)が1バイト文字のみのコメントやトラックバックを受けないようにするもの、ってことになりました。
Perl5.8な方は、当然MT BanASCII 3.2 対応 をおすすめします。
ダウンロードはこちら。
mt-ban-ascii-lite.pl
投稿者 CHEEBOW : 12:26
| [ Development ]
2006年4月26日
livedoor Reader - RSSリーダー がべらぼうに使いやすく快適なことは、「ヒビノアワ: Livedoor Readerに感動した! 」でも書いたのだけど、家では、すっかりSwitchしちゃってMacしか使わなくなっちゃった僕にとっては、Mac用のNotifierがWidget版しかないのがちょっと残念だったわけです。
そんな話を、僕の所属するエムロジック株式会社 のka2hiro と話していたら、「だったら作ったらいいんじゃん?」って結論に。
しかし、実はすでにBloglinesMenu のソースを元にka2hiroが作りかけていたので、それに僕も混ぜてもらうことに。
エムロジック放課後プロジェクト始動ですよ。
で、出来たのが、こんなの。
使い方
ダウンロードしたLivedoorReaderMenu_1.0.dmgをダブルクリックしてマウントします。 LivedoorReaderMenuを適当な場所へコピーします。 最初の起動時に環境設定が開くので livedoor IDを入力するだけです。
必要なもの
MacOS X 10 .4以上 IntelMacで試してませんが一応UniversalBinaryです。
ダウンロード
ライセンス
この手は、エムロジック・ラボ(笑)とか言って、いろいろやってみたいような気もする、今日この頃。
あと、「livedoor Reader 開発日誌:Yahoo! Widgets版のNotifier - livedoor Blog(ブログ) 」ここにもトラックバックをしてみる。
Widget以外もどうですかー? ってことで。
投稿者 CHEEBOW : 15:19
| [ Development ]
2006年4月12日
空き時間にちょっとrailsをいじってみた。
データベースにbookmarsテーブルを作って
ruby script/generate scaffold Bookmark Bookmark
としてみると、
Before updating scaffolding from new DB schema, try creating a table for your model (Bookmark)
というエラーが!
うむむー、となって、いろいろ調べてみるのか良く分からない。
で、悩んでいろいろ検索してたら、kanekoさんのところにありましたよ!
$ wget http://tmtm.org/downloads/mysql/ruby/mysql-ruby-2.7.tar.gz
$ cd mysql-ruby-2.7
$ ruby extconf.rb --with-mysql-config
$ make
$ make install
mysql-rubyが必要だったのか!
さっそく、インストールしてみたらば、generateできた!
で、なんでだろなー、と思ったら、どうやら先日Fedora Core 5にバージョンアップして、MySQLが5.0.18になっちゃったのが原因っぽい。
確かに、以前はうまく動いたもんな。
というわけで、MySQL5を使って、Railsする時はmysql-rubyが必要なようです。
投稿者 CHEEBOW : 15:26
| [ Development ]
2006年3月31日
TortoiseSVN からコミットしたファイルのキーワードアンカーがうまく置換できなくて困った。
ぐーぐる様に問い掛けてみたらば、
TortoiseSVN - developer - Miko's Cafeterrace
このページを教えてくれたんだけど、これだと、新しいファイルに対してしか有効にならないみたい。
ううむー、とか、困ってTortoiseSVNの設定とかメニューとか見てみるんだけど、全然そんな設定がない。
で、ふと、キーワードを埋め込みたいファイルを右クリックして「プロパティ」を見てみたら!
Subversionタブが!
まじですか。ここにおりましたか!
さっそく、属性に「svn:keywords」、値に「Id」を設定して、「設定」ボタンをクーリックっ!
で、ファイルをちょっとだけ変更してコミットしたら、わーい、出来た! 出来たよ!
うれしい。
でも、プロパティにあるってのは案外盲点なのではないだろーか。
というわけで、エントリしてみるテスツ。
投稿者 CHEEBOW : 16:56
| [ Development ]
2006年3月11日
ここしばらく自宅ではMacを使っています。
で、メーラは標準のMail.appを使っている訳なんですが、これ、結構良い感じの迷惑メールフィルターがついてます。学習型で、これは、迷惑メールなんだよー、とか教えてあげると学習してくれます。
最初は、トレーニングモードとか言って、迷惑メールを直接はゴミ箱に捨てたりしないんですけど、ある程度学習が終わったら、自動でゴミ箱行きって設定に変えることも可能なのです。
で、先日。いつもの通りMail.appを立ち上げたら、「そろそろトレーニングモードは終了してもいいかも」みたいなメッセージが出てきました。
確かに、学習の効果も出て、かなり賢くなったので、トレーニングモードを外してもいい頃だったんですよね。
このメッセージが出たとき、僕はとっても感心しました。
すげぇな、と。
別に設定で、トレーニングモードを外す設定ってのはあるんですよ。
手動でコントロールできるんです。
だから、開発側からしたら、ここでメッセージを出すかどうかってのは、選択できた訳なんです。
なのに、アップルはこのメッセージを表示した。
確かに、実装の労力はそんなにかからない。でも、このメッセージを出さないソフトって多いはずだし、そういうやりかたも十分にありなのです。
けど、アップルは表示した。
それを表示することで、ユーザメリットがあると判断したからだと思います。
そうすることで、ユーザがちょっと便利だなーと考えるだろうと、想像したからなんだと思います。
これってすごい重要なことです。
他にやれる手段があるんだから、それでいいじゃん、ではなくて、もっとこうしたらユーザは幸せじゃん、って考えるその姿勢が素敵なのですよ。
僕も、自分でアプリケーションを作る時は、できるだけ、ユーザの顔を想像します。
今自分が作っている機能でユーザがちょっと笑ってくれたらいいなーとか、少しだけ、幸せな気分になってくれたらいいなーとか。
やってることは、プログラミングなんていう非常にデジタルな作業なんですが、結果として作り出されるアプリケーションは、ユーザにとって、とってもアナログな道具だったりする訳です。
その道具が、多少なりともユーザを幸せにするのなら、そうした方がいいに決まってます。
だけど、それを選択するってのはなかなか簡単には行きません。
納期だって、予算だってあるし、幸せより、それが優先することもある訳です。
でも、やっぱ、僕は、幸せな方がいいと思います。
例えば、ペタろうで付箋紙を捨てるときに泣き顔になることも、PiloWebProでほとんど設定をしなくてもなんとなく切り出しができちゃうように、「あはは」とか「らくちん」とかって思った時のユーザの顔を想像するのです。
そうするとなんとなく楽しくなってくるのですよ。
ただ使うだけじゃなくて、ちょっとだけ使った喜びがあるようなソフト、それを僕は作りたいと常々思っていて、それが、今回のMail.appのメッセージには感じられたのですね。
開発者が(実際に見たことはないけど)その笑顔で、僕に「どうかな?」って言っているようなそんな気がしたのです。
これって、とっても重要だし、それができるからアップルはすごいのかなーと思いました。
投稿者 CHEEBOW : 02:19
| [ Development ]
2006年2月28日
最近ちょっと地図づいている僕なのですが、話題のALPSLAB Top Page で遊んでみました。
ALPSLAB clip!は、あなたのWebサイトやブログに、今までになく簡単、便利に、地図を貼り付けることができるサービスです。
これは、MT用のプラグインが用意されているので、それをインストールして「ALPSLAB clip! 」にある解説どおりにタグを書いてあげればオッケー。
例えば、ヒビノアワ: Six Apart ユーザーギャザリングに行くよ! ってエントリに地図を貼ってみたのだけど、これなんて、
[map:東京都豊島区西池袋2-31-3]
って1行書くだけ!
楽ちん。住所書くだけってのがいいよねー。
でも、ちょっとプラグインの動作で、謎な部分が。
このプラグインはグローバルフィルターとして動作するんだけど、map="0"でもmap="1"でも動作が変わらない。
僕のイメージとしては、map="0"で地図非表示、map="1"で地図表示なんじゃないかなーと思うのです。
というわけで、ちとハック。
MT::Template::Context->add_global_filter(map =>
sub {
my ($s, $a, $c) = @_;
$s =~ s/\[map:([^\[\]]+)\]/&map_tag($1,0,$c)/ge;
$s =~ s/\[map_tb:([^\[\]]+)\]/&map_tag($1,$a,$c)/ge;
$s;
}
);
この部分で、map="x"のxの値は、$aに入ってくるんですけど、この値が結局トラックバックするかどうかのフラグになっちゃってるのが問題なわけです。
mapかmap_tbかでトラックバックの有無は切り替えられるわけだから、ここはこのコマンドを見て決め打ちすれば良し。
というわけで、map="0"の時は、マップ表記を削除するってことにします。
MT::Template::Context->add_global_filter(map =>
sub {
my ($s, $a, $c) = @_;
if ($a == 1) {
$s =~ s/\[map:([^\[\]]+)\]/&map_tag($1,0,$c)/ge;
$s =~ s/\[map_tb:([^\[\]]+)\]/&map_tag($1,1,$c)/ge;
} else {
$s =~ s/\[map:[^\[\]]+\]//g;
$s =~ s/\[map_tb:[^\[\]]+\]//g;
}
$s;
}
);
と書き換え。
これで、思ったとおりの動作になりました。
投稿者 CHEEBOW : 13:10
| [ Development , Movable Type ]
2006年2月24日
最近Google Mapsで遊んでいるせいか、JavaScriptに興味が出てきた。
WEB+DB PRESS でちょうどAjaxとJavaScriptの特集もやっていたりして、読んでみると、なんか、面白そう!
JavaScriptって、いままで入力フォームの値チェックとか、ちょっとDHTMLしてみるとかそんな感じでしか使ったことなかったんだけど、きちんとオブジェクト指向してみたいなー、と。
で、なんかいい本ないかなーと探してるんですが、どうなんでしょ。
ダニー グッドマン Danny Goodman 村上 列 オライリージャパン (2004/01) 売り上げランキング: 1,845
おすすめ度の平均:
直訳の為に頭が痛くなる本です
汎用ライブラリのための険しい道
Web作成に詰まったときに
佐久嶋 ひろみ メディアテック出版 (2005/12)
この2冊がいいかなーと思ってるんですが、どうでしょう?
ここは読んでおけ! みたいなWEB上の情報も知りたいです。
詳しい方、教えてくださいませ。
投稿者 CHEEBOW : 15:58
| [ Development ]
2006年2月17日
先日から、ちょこちょこ弄ってるGoogle Mapsなんですが、結構いい感じになってきて、妻に見せたら、「エラーが出る」とのこと。
え? なんで?
と思ったら、そうだ! 妻の人はIEを使っているのだった!
ええかげん、Firefoxにしたら? という僕の言葉にまったく耳を貸さず、IE道を突き進む人だったのだ!
というわけで、調べてみたら、見つかりましたよ。
FireFoxではまったく問題ないのに、マイクロソフト様のIEでは
---------------------------
Microsoft Internet Explorer
---------------------------
インターネット サイト http://www.***.***.*** を開けません。
操作は中断されました
---------------------------
OK
---------------------------
などという意味不明なエラーを頂いてしまいました。
うひゃぁ。ビンゴです。
というわけで、今まで、body内に書いていた、スクリプトを関数にして、head内に移しました。
なんだかなぁ。
今回の件で、ますますIEたんが嫌いになりました。
しかし、ちょっと旬が過ぎてから始めると、いざという時に情報が揃っていて、安心感があります。
いまさら、Google Mapsですかー? の声を無視しつつ、僕も我が道を行きます。<似たもの夫婦
投稿者 CHEEBOW : 16:30
| [ Development ]
2006年2月16日
GoogleMaps APIで遊んでみた。
思ったより、簡単なコードで素敵な結果が出てくるので、楽しいな。これは。
プログラマではなくても、WEBに興味がある人は試してみると良いのではないかと思うー。
で、遊んでる最中に気付いたいくつかの事柄。
<script src="http://maps.google.com/maps?file=api&v=1&key=[API Key]" type="text/javascript">
って、感じでスクリプトを指定しますよね。でも、これだと、どうしてもボタンが英語表記になっちゃう。で、試しに、「maps.google.com 」を「maps.google.co.jp 」にしてみたら、日本語になった!
分かってみれば、そりゃそうかとも思うんだけど、検索してもなかなか分からなかったので、ここに書いておこ。
あと、Firefoxだと吹き出しの中の文字が縦書きになっちゃうことあるんだけど、
var msg_html = '<div style="width: 200px">ぼくんち</div>';
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(msg_html);
});
みたい感じで、styleにwidthを指定してあげればよいみたい。これは、検索して見つけました。
楽しいねー。MapsAPI。
データベースを絡めてみたら、ますます良い感じになった。
もちっと、遊んでみます。
投稿者 CHEEBOW : 12:28
| [ Development ]
2006年1月19日
del.icio.usの「del.icio.us/api/posts/all」みたいな、投稿済みの全件を取得できるAPIがはてなブックマークにもあったらいいのにと思った。今のところ、全件取得ってできないんだよね。
で、はてなアイデアを覗いてみたら、「はてなアイデア - はてなブックマークAtomAPIに、自分の全ブックマークを取得するAPI(del.icio.usの/api/posts/allに相当)を追加して欲しい。 」ってのがあったんだけど、これはキャンセルされちゃってる。
似たものに、「はてなアイデア - はてなブックマークAtomAPIに、自分の全ブックマークのeid(/atom/edit/XXXX の XXXX 相当)を取得するAPIを追加して欲しい 」ってのがあるんだけど、これだと、全idを取得後、もう一度一件ずつ取得していかなくちゃならない。この時、eidだけじゃなくて、全情報を返してくれればいいんだけど。
うー、全件取得が出きれば、バックアップとかも取れたり、クライアントでの再利用も出来たりするんだけどなぁ。
アイデアがキャンセルされてるってことは、なんかの理由があったってことなんだろうけど。
投稿者 CHEEBOW : 11:51
| [ Development ]
2006年1月 6日
新しい年になったことだし、ちょっと変わったことでもやってみましょうということで、いまさらCatalyst入門。
「Perl の MVC フレームワーク Catalyst に入門してみた : NDO::Weblog 」をテキストにして、手持ちのFedoraCore4マシンにインストールすることから始めてみた。
んがっ! ……はまる。
[naoya@colinux naoya]$ sudo perl -MCPAN -e 'install Bundle::Catalyst'
[naoya@colinux naoya]$ sudo perl -MCPAN -e 'install Bundle::Catalyst::Everything'
これでいけるかなーと思ったら、全然インストールできる気配なし。しかたないので、
sudo perl -MCPAN -e 'install Task::Catalyst'
これでどかっとインストール。時間はかかるけど、これで何とかインストール終了。
MySQLを使うことにして、説明通りにテーブル作成。で、
catalyst.pl CHE::TinyURL
これで、プロジェクトをざくっと作成。いえい。
script/che_tinyurl_create.pl view TT TT
ここはさくりといったんだけど、
script/ndo_tinyurl_create.pl model CDBI CDBI DBI:mysql:tinyurl nobody nobody
ここでまたつまづく。
script/che_tinyurl_create.pl model DBIC DBIC DBI:mysql:tinyurl nobody nobody
としないと駄目みたい。CDBI でなくてDBIC なわけね。
これ、どうも新しいバージョンのCatalystではデフォルトになってるみたい(hide-k.net#blog: Catalyst::Bundle in trunk )。うむむ。
めげずに先に進みます。TinyURL.pmにコードを追加していくよ。が、ここでも、ちょっと変更点が。
TinyURL::V::TTとかTinyURL::M::CDBI::Urlmapなんてところは、TinyURL::View ::TTとかTinyURL::Model ::CDBI::Urlmapとかにしてあげなくちゃ駄目なのね。これはディレクトリ構造が変わったんですかね。
ま、そのあたりはさくっと乗り越えいざ実行!
script/che_tinyurl_server.pl
ぽちっとな。
おおお! 動いた。入力フォームが出ましたよ!
で、URLの入力後画面遷移もおっけー!
……なのに、リダイレクト処理がうまくいかないみたい。
Caught exception "Can't locate object method "retrieve" via package "CHE::TinyURL::Model::DBIC::Urlmap" at /home/cheebow/CHE-TinyURL/script/../lib/CHE/TinyURL.pm line 79."
というエラーメッセージが僕を責める。なんでやねん!
もう、全然わかんない。もう、Catalyst嫌い!
ふてくされて昼飯を食べる。別の仕事もしてみる。
で、ふとググると「blog.nomadscafe.jp: DBIx::ClassやFormValidator::Simple::Plugin::DBIC::UniqueをつかってTropy 」このページの
あとは、retrieveからfindへの変更をしたぐらいで、簡単に動くものはつくれました。
この記述を発見!
これだっ! と
sub redirect : Regex('^(\d+)) {
my ($self, $c) = @_;
my $map = NDO::TinyURL::M::CDBI::Urlmap->retrieve($c->req->snippets->[0]);
$map ? $c->res->redirect($map->url) : $c->res->redirect('/');
}
この部分のretrieveをfind に書き換えたら、うふ、うふふふ。動くじゃん。
いやっほー。
おおお。感激。
Ruby on Railsよりも、どちらかというとCatalystの方が馴染める感じ。
でも、やっぱ、お作法がいろいろあるわけで、フレームワークを使いこなすには結構な時間がかかりそう。
ま、しかし、良い勉強になりましたー。
投稿者 CHEEBOW : 16:44
| [ Development ]
2005年12月11日
最近、PHPを使い始めました。もともとが、プリンタのファームプログラマで、その後WindowsとかPalmのプログラミングしたりと、クライアントよりのものばかりやっていたんだけど、MT関係の仕事を始めてから、サーバ周りのものをいろいろ作るようになりました。
で、そろそろ自分でもWEB上でみんなが使うようなアプリケーションを作ってみたいなーと思い始めたんだけど、そういうときに必須な機能として、そのサービスを使いたいユーザがユーザ登録して、その時に記入したメールアドレスに確認メールが届いて、そこに記されたURLにアクセスするとユーザ登録完了みたいな一連の流れがあると思うんだけど、これって、みんなどうやってるんだろう。
僕も、自分で書いてみたんだけど、なんか、こういう定型処理ってライブラリとか普通に存在してそうな気がするのです。一度作れば使いまわしのきく機能だと思うし。
車輪の再発明はもったいないので、そういうものがあればいいなーと思って、PEARとか見ても、それと同じものは見つからないのです(自分の探し方が悪いのかも)。
確か、Ruby on Railsではそういうライブラリがあったと思うんで、他の言語でもありそうな気がするんだけど。
Perlとかだと、あるのかな?
みんな、ああいうインタフェースは自前で書いてるんだろうか。
それとも、ライブラリとか使っているんだろうか。
どうなんでしょ?
みんなの意見を聞いてみたいですー。
投稿者 CHEEBOW : 22:03
| [ Development ]
2005年11月10日
自作のフリーウェアのバージョン管理に自宅サーバ上のCVSを使っていたのだけど、仕事で使っているSubversionがものすごく使いやすくて便利なので、移行することにしました。
で、CVSからSubversionへの移行ツールである、cvs2svn をインストールしようと思ったところ、うまく行きません! どうも、Subversionのバージョンが古すぎるみたい。
自宅サーバは、RedHat9で動いているので、ここに入ってるSubversionが古いのね。なので、まずは、Subversionのバージョンアップから。
Subversion Memo
ここを参考に、インストールして、
nDiki: TortoiseSVN と svn+ssh (2004-07-26)
PC日記: svn+ssh on Windows
この2つのサイトを参考にして、TortoiseSVNから、svn+sshで使えるようにしてみました。
Pageantを起動しておくと、パスワード入力が楽。
あと、TortoiseSVNで、SSHクライアントとして、TortoisePlink.exeを指定しておくのも忘れないように。
それからCVSで日本語でログを入力してた人は
CVS から Subversion へ移行
ここも参考にすると良いかも。
これで、わくわくSubversion生活です。
投稿者 CHEEBOW : 22:36
| [ Development ]
2005年6月22日
自分で作って自分で使ってるMovable Type用プラグインを公開してみました。
とは言え、
Movable Type/plugin/MTHatenaKeyword - With Blue
こちらのソースをほぼそのまま使わせていただいちゃっているのですが。
特定の言葉に自動的にリンクをはるプラグインです。
はてなキーワードとか、Wikiのキーワードにリンクするプラグインってのはあったんだけど、例えば自分の友達の名前に自動的にその人のブログへのリンクを貼ってくれるみたいなものは見つからなかったので、作ってみましたよ。
MovableTypeで行こう!: KotonohaLinkプラグイン Ver0.50
詳しくはこちらのリンクからどぞ。
ただ、ソースを見てもらうと分かる通り、かなり処理が重いはずです。
……ごめんなさい。
投稿者 CHEEBOW : 14:07
| [ Development ]
2005年6月14日
某所で知り合いになった、イラストレータのいわきりなおと さんのアイデアを元に、さくっと作ってみました。
でも、プログラミングとしてはかなりやさしいものだったので、ちょっといつもとは違う方法で実装してみました。
・PHP
・XHTML+CSS
どちらも、スクラッチで書くのは初めて。
勉強になりました。
#でも、変なところもあると思うので、指摘してくださいませ。
で、できたのが、
アイデアの種(ひとり面雀)
これ。
言葉の組み合わせが、リロードごとに変わってきます。
アイデアの種(ひとり面雀)
こっちは、組み合わせのロジックが若干違うバージョン。
両方試すと面白いんじゃないかなー。
組み合わせで、笑うもよし、そこから発想して、何かを作ってみるのもよし。
とりあえず、言葉を登録してみるもよし、です。
遊んでみてくださいませ。
投稿者 CHEEBOW : 21:37
| [ Development ]
2005年6月 6日
前のエントリ で作ったスクリプトは、もんたメソッドというには、今ひとつ物足りなかった。
リンクをもんた化(?)してしまうので、クリックするとリンク先に飛んじゃうし!
というわけで。
はてなキーワードリンク無効スクリプト greasemonkey 版
を参考にして、作り直してみました。
hatenamethod2.user.js
↑このリンクの上で、「Install User Script」を実行してください。
あ、でも、前のやつとは競合しちゃいそうな気もするんで、こっちで遊ぶ場合は、前のものをアンインストールしておいてくださいね。
でも、これ、はてなの美味しい機能を殺しちゃうので、あんましよろしくないのかも知れない。
ま、遊びというか、ジョークという感じで、ひとつ。
投稿者 CHEEBOW : 23:40
| [ Development ]
いきなり友人が変なことを思いついたので、実際に作ってみた。
Greasemonkey 用の「はてなでもんた」スクリプト。
hatenamethod.user.js
↑このリンクの上で、「Install User Script」を実行してください。
非常にうざったく、実用性も皆無ですが、笑えます。
このスクリプトをインストール後、はてなダイアリーとか見てみてください。
見慣れたはてなが、もんたメソッド 化(?)します。
なお、この中のコードは、
antipop2.0 - もんたメソッド祭り
http://antipop.gs/mt/archives/001313.php
で公開されている、monta.jsのコードを元にしています。
勝手に使ってしまって、ごめんなさい>けんたろさん
でも、リンクしちゃうともんたメソッドぽくないなぁ。
投稿者 CHEEBOW : 18:26
| [ Development ]
2005年4月13日
・著者:秋山智俊
・予価:2,625円(税込)
・B5変型判 222ページ
・ISBN4-8399-1729-9
・発売日:2005年04月下旬
「人工無脳ってなに?」というところから始め、単純なサンプルプログラムを作り、いくつかのテクニックを盛り込みながら、それを次第に複雑なものへと進化させていきます。
紹介するサンプルプログラムについては、ほぼすべての内容を説明しています。手法を羅列しただけのものにならないよう、とくに「なぜそう作るのか?」ということを詳しく解説します。「やりたいこと」から実装への道筋を理解できれば自分なりに改良し、アイディアを試してみることも容易になるでしょう。
もうすぐ、こんな本が出ます。
僕の友人が書いた本です。僕も、少しだけお手伝いをしました。
Rubyで、人工無脳を作る本です。
Rubyのイロハから始まり、少しづつステップアップして、最後には学習する人工無脳にまで成長していきます。
プログラミングに興味がある人はもちろん、Ruby好きな人、人工無脳に興味がある人にも楽しめる本だと思います。
何度も吹き出してしまうような笑いの要素もあり、すらすらと読み進められます。
もうすぐ発売です。
詳しい情報は、また書きます。
この本に関しては、まだ語りたいことがたくさんあるのですが、それはまたの機会に……。
投稿者 CHEEBOW : 15:56
| [ BOOK , Development ]
2005年4月 4日
「現在、モーニング娘。に在籍しているメンバーの名前を全て挙げなさい」と問われ、正しく答えられる方がどのぐらいいらっしゃるでしょうか。かなり少ないんじゃないかなと思います。しかしですね、この変化の激しい時代にキャッチアップしていこうという有為の者が、基礎教養たるモーニング娘。のことも知らないなんて、そんなことではいかんのですよ! とはいってもなかなか覚えられるわけもないでしょうから、不肖この僕がお手伝いをしてさしあげます。というわけで、Acme::MorningMusume なんてモジュールをリリースしました。
これは、すごい!
こういうものが、存在するってのが、Perlモジュールの楽しさかも。
一見、ジョークのようにも思えますが、これ、きちんとメンテナンスされたら、Changelogや、diffを見ると、モーニング娘。の変遷が辿れちゃったりしませんか?
ちょっと、興味深い。
で、antipop2.0で知った、こちらも、非常に興味深い。
素晴らしきPerlモジュールの世界
ほんとに、素晴らしい。
投稿者 CHEEBOW : 11:27
| [ Development ]
2005年3月28日
このたび弊社では、2005年4月30日をもちまして下記のDesktop向けCodeWarrior各製品の販売を終了いたします。一部の日本語版製品につきましては在庫終了のため、本日をもって販売を終了させていただきます。長年にわたり弊社製品にご愛顧を賜り誠にありがとうございました。今後もGame、Embeddedシステム向けに、より良いCodeWarrior開発ツールとサポートを提供してまいる所存ですので、何卒よろしくお願い申し上げます。
ついに、開発環境も販売終了です。
97年暮れに手に入れて、それからずっとバージョンアップしつつ使ってきて、で、いつの間にか、PalmOS用のソフト開発が仕事になって。
ずっと使いつづけてきた、開発環境がなくなってしまうのは、ちょっと寂しいです。
ま、これからは、Palm OS Developer Suite を使っていきましょうよ、ってことなんだとは思うけども。
いろいろ言いたいことはあったけど、愛着のあるツールだったからなぁ。
ま、でも、とりあえず。
いままで、どうも、ありがとう。
投稿者 CHEEBOW : 11:02
| [ Development ]
2005年3月17日
山田 祥寛 翔泳社 (2005/03/15) 売り上げランキング: 361 通常24時間以内に発送
最近、PHPに興味を持っている、僕。
でも、PHPって、HTMLの中にスクリプトが入り込んじゃってる感じが嫌なんだよなぁ。
と、思っていた時に知ったのが、この本のタイトルにもなっている、テンプレートエンジン「Smarty 」だったのでした。
この本は、Smartyのリファレンスマニュアルとしても使えるし、MVCでの実装の実際も書いてあり、とてもためになりました。
投稿者 CHEEBOW : 10:59
| [ Development ]