エレクターとか安いんでつい買っちゃうんですけど、微妙に使い勝手が悪かったり部屋が無機質になったりしてよくない。
でも、捨てるのもめんどいんですよね。区の収集を呼んだり、ゴミ処理券買ったり。

そういったときは、アパートの前とかに「粗大ゴミ」って書いて
おもむろに置いておくと、夜中にパトロールしている小人さんが勝手に持って行ってくれるよ。

僕は律儀にごみ処理券張って出しておいたんだけど、回収が来る前になくなってた。
ちょっと存した気分だ。 次回はよろしくたのむよ。


(global-set-key "\C-h" 'backward-delete-char)
(global-set-key "\C-l" 'dabbrev-expand)

;; ビープ音消す
(setq visible-bell t)

;; ニョロ(~)ファイルを作らない
(setq make-backup-files nil)

;; タブ
(setq-default indent-tabs-mode nil)

;; PHP
(custom-set-variables
 '(php-mode-force-pear t))

いろいろ設定してる割に、見直すと使ってる機能少なっ!

初心に返って dinoのスタートアップ研修見て勉強しないと。
http://startup.dino.co.jp/category/liberal/emacs/

ていうか、いいねー、dino! 研修内容を公開とか、なかなかできないよね。

すばらしい!

ぬこやばい

| | コメント(0)

断然犬派だったんだけど、友達のうちのぬこと遊んだらかなり猫派になりかけてる。

なにあの暴力的なまでの癒しは!


PHP開発基盤「Zend Framework 1.5」が公開,GoogleやYouTubeのAPIに対応:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080318/296448/

いつのまにか Zend Framework が1.5 になってた。

GData OpenID YoutubeなどのAPIに対応したライブラリが充実してきて、ほんとライブラリ集って感じなんだけどフレームワークとしてはどうなのよ?
あんまり使ってるって話は聞かないんだけど。

で、見てたら地味にZend_Pdf で日本語が使えるようになったらしい。
(てか今まで日本語使えないのにセミナーとかやってたんか)

ちょっとためしてみた。
<?php
require_once 'Zend/Pdf.php';

$pdf = new Zend_Pdf();


// ページの作成
$page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);


// フォントのセット (IPAフォントをセットしてみた)
// http://ossipedia.ipa.go.jp/ipafont/download.php
$font_file  = dirname(__FILE__) . '/IPAfont00203/ipagp.ttf';

$font = Zend_Pdf_Font::fontWithPath($font_file);

$page->setFont($font, 36);

// テキスト
$text = "はーひふーへほー";
$page->drawText($text, 70, 450, 'UTF-8');

// ページの追加
$pdf->pages[] = $page;

// 保存
$file = "sample.pdf";
$pdf->save($file);
んー、とりあえず日本語でたぞ。

zend_pdf.png
phpからMTをごにょごにょしたかったので、PEARのServices_Blogging
MovableTypeドライバを書いた。 (PHP5専用)

ソースはcodereposに。

$ svn co http://svn.coderepos.org/share/lang/php/Services_Blogging

でゲッツできます
(ブラウザで見るにはこちら)

とりあえず、

  • 記事の一覧の取得
  • 記事の取得
  • 記事の投稿
  • カテゴリー一覧の取得
  • タグ一覧の取得
  • ファイルのアップロード

などができたりできなかったりします。


簡単な使い方 ..

エントリーの投稿

<?php
require_once 'Services/Blogging.php';

define('DRIVER', 'MovableType');
define('USER', '****');
define('PASS', '****');
define('HOST', 'example.com');
define('URL', '/mt/mt-xmlrpc.cgi');

$client = Services_Blogging::factory(DRIVER, USER, PASS, HOST, URL);

$client->setBlogId(1);

$post = $client->createNewPost();

$post->title             = "これはテスト!";
$post->content           = "これは
¥n¥n¥n テスト!"; $post->mt_allow_comments = 0; $post->mt_allow_pings = 0; $post->mt_convert_breaks = 1; $post->mt_text_more = "続きを嫁!"; $post->mt_excerpt = ""; $post->mt_keywords = "キーワード1, キーワード2"; $post->publish = 1; $post->mt_tags = "タグ1, タグ2"; $res = $client->savePost($post); var_dump($post->id);

最近のエントリーを取得

$posts = $client->getRecentPosts();
print_r($posts);

ファイルのアップロード

$media = new Services_Blogging_MediaObject();

$media->name     = date("Y/md/His").".jpg";
$media->filename = realpath(dirname(__FILE__))."/test.jpg";

$res = $client->newMediaObject($media);
var_dump($res);

カテゴリーのセット

$categories = array(1, 2); // カテゴリーIDの配列
$res = $client->mtSetPostCategories($postid, $categories);
var_dump($res);
カテゴリーIDでしかセットできないのがイマイチ。


coderepos に上げとくと飽きちゃってもムダにならないので安心でいいね!

前々から思ってたんだけど、もっとアプリケーションにはメモ欄があってもいいと思う。

確かメールソフトのBeckey!には、自由に書けるスペースがあって、
そこに忘れそうなことをちょこっと書いておけて便利だった。

クライアントアプリケーションだけでなく、最近はWEBアプリケーションを使って仕事することも多くなってきたけど、やっぱりWEBアプリケーションにもメモ欄をつけてほしいと思うときがよくある。
たとえば、ブログ書いてて「こういう装飾をつけたいときは、このclassを指定する」みたいなしょうもない情報とか。
絶対すぐわすれるから。

メモというと僕は howm でメモを取ってるんだけど、それはemacsでプログラム書いているときにはとても便利で、「あ、あれわすた」って時には howmモードにして検索したりしてる。

でも、メール書いたり、今みたいにブログ書いたりしてるときにはhowmはめんどくさい。
今使ってるこの画面に情報がほしい。

あと、忘れがちなことのメモ以外にも、そのアプリケーションを使うときの心がけみたいなのも書いておきたい。

たとえば以下のような感じ。

■ メール画面

送信するまえに以下を確認する
 「この文章できちんと相手に伝わるか」
 「余計な一言を書いていないか」


■ 株取引の画面

 「ナンピン買いはしない」
 「コツコツ負けて大きく勝つ」

■ RSSリーダーの画面

 「無駄に時間を浪費しないように」

などなど。
ちょっとしたこころがけ、ポリシーみたいなのをちょろっと見えるところに明記しておけるといい。

と、今書いてて思ったんだけど、実装してほしいって言ってるよりも、自分でグリースモンキーかなんかで特定のページを表示しているときには特定のメモを出すみたいなの作ればいいんじゃん。

つか、そんな感じのがもうあるに違いない!


2005年のものなので激しくいまさらなのですが、ジョブズ のスピーチがかっこよすぎです。
最近ipod に入れてエンドレスで聞いてたんですが、まじで洗脳されそうになってきました!



それで、ジョブズに興味を持ったので『スティーブ・ジョブズ 偶像復活』 という本を読み出したんですが、 読み進むうちに、「ぜったいこいついやなやつだ」 と思い始めました。

でも思うんですが、経営者っていい人だとやってられないですよね。
以前読んだ記事にこんなのがあったんですが、まさにジョブズの事を言ってるかのようです。

社長が横柄な会社は伸びる件について
 いわゆる「いい人」では社長は務まらない。したがって、逆説的に優秀な社長は素晴らしい人間性に溢あふれることを意味しない。むしろ、商売の才能に裏付けられた横柄さこそが、会社を伸ばす社長に求められる資質だ、と言っても過言ではない。

ジョブズも傍で見てるだけだからかっこいーとか言ってられるんだろうな、と思った次第です。 
symfonyでごにょごにょしてんだけど、sfRegexValidatorがきかねー
methods:
  get:  [login_id]
  post: [login_id]

names:
  login_id:
    required:     Yes
    required_msg: "ログインIDを入力して下さい。"
    sfRegexValidator:
      match:        No
      match_error:  "英数字で入力してください"
      pattern:      /^([a-zA-Z0-9]{6,20}$/
みたいに書いても効かないんだよなー
Notice: Array to string conversion in /usr/local/lib/pear/symfony-1.0.8/lib/util/sfToolkit.class.php on line 329
みたいなメッセージが出てるから yml の定義がおかしいのか?
ドキュメント見ると names のところが fields になってたり、微妙に違ったりするんだよな。
ソース読むのめんどくせ

追記: 
cache 以下にできる hoge_update.yml.phpにsfRegexValidatorの記述が入ってないからymlがおかしいっぽい

追記2:
sfRegexValidator がおかしいわけじゃなかった。 結局以下のような感じに書いた。
names:
  login_id:
    required:     Yes
    required_msg: "ログインIDを入力して下さい。"
    validators:   [myLoginIdValidator, myLoginIdUniqueValidator]
  :
  :
myLoginIdValidator:
  class: sfRegexValidator
  param:
    match:       Yes
    match_error:  "ログインIDは英数字で入力してください。"
    pattern:     "/^([a-zA-Z0-9]{6,20})$/"
サーバーのバックアップをMac の Time Machineっぽい感じ(同期+履歴管理)でやりたいと思って調べてたんだけど、rsyncだけでできそうなことがわかった。

(最初は pdumpfs-rsyncってのを見つけてそれを使おうかと思ったけどrsyncだけでできるならrsyncだけの方がいいもんね)

rsyncは --link-dest オプションをつけると、更新のないファイルはハードリンクになって、更新のあったファイルのみ新規のファイルになるらしい。

ref: バックアップにrsync --link-destを使うと良い場合もあるよ

スバラシス。

でも、試してみたらハードリンクにならないんだよね。なんでだろ。

以下のような感じになってしまいます。


(1) 初期データのバックアップ
$ rsync -a -e /usr/bin/ssh www.example.com:data/ old/

(2) 差分のみバックアップ (更新のないファイルはハードリンクになるはず)
$ rsync -a --link-dest=old/ -e /usr/bin/ssh www.example.com:data/ new/


(3) 確認
$ ls -li new/
3092741 -rw-r--r--  1 user  group    3 11 12 17:39 hoge.txt

$ ls -li old/
3092732 -rw-r--r--  1 user  group    3 11 12 17:39 hoge.txt

inodeが違ってる! リンク数も両方1だし!

なんか使い方間違ってるんだろうか。

ギークなお姉さん

| | コメント(0)
みんな登録しすぎわろた geek.png

Photos

  • zend_pdf.png
  • geek.png
  • mt_error.jpg