<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5451813989188678119</id><updated>2012-01-28T04:16:19.593+09:00</updated><category term='iPodtouch'/><category term='RSS'/><category term='App'/><category term='iPhone'/><category term='やったこと'/><category term='カスタマイズ'/><category term='Gadget'/><category term='写真'/><category term='python'/><category term='Office'/><category term='映画'/><category term='エッセイ'/><category term='IT'/><category term='Mac'/><category term='スイーツ(笑)'/><category term='研究'/><category term='作ったもの'/><category term='event'/><category term='Windows'/><category term='音楽'/><category term='インフルエンザ'/><category term='CONFERENCE'/><category term='買い物'/><category term='Google'/><title type='text'>Coffee and Ashtray</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tanb.me/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tanb.me/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default?start-index=101&amp;max-results=100'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>168</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8574731549056720987</id><published>2012-01-26T20:24:00.004+09:00</published><updated>2012-01-26T20:37:57.567+09:00</updated><title type='text'>objective-C Slice NSArray</title><content type='html'>あまり使わないかも知れないけれど&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;    NSArray *array = [NSArray arrayWithObjects:@"Python", @"Objective-C", @"JavaScript", @"Erlang", nil];&lt;br /&gt;    NSRange range = NSMakeRange(1, 3);&lt;br /&gt;    NSLog(@"objectsAtIndexes(1, 2, 3):%@",[array subarrayWithRange:range]);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;NSMakeRangeで開始indexとlengthを指定してNSRangeを作る。とこんな感じ。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;&gt; objectsAtIndexes(1, 2, 3):(&lt;br /&gt;    "Objective-C",&lt;br /&gt;    JavaScript,&lt;br /&gt;    Erlang&lt;br /&gt;)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8574731549056720987?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8574731549056720987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8574731549056720987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8574731549056720987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8574731549056720987'/><link rel='alternate' type='text/html' href='http://tanb.me/2012/01/objective-c-slice-nsarray.html' title='objective-C Slice NSArray'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8739901863137255700</id><published>2012-01-25T18:39:00.004+09:00</published><updated>2012-01-25T21:07:38.955+09:00</updated><title type='text'>NavigationBarの位置がずれ, Status barの裏に描画されてしまう</title><content type='html'>&lt;div&gt;iPhoneに内蔵されているPhotosアプリのように、画像をフルスクリーンで表示する際&lt;/div&gt;&lt;div&gt;ステータスバーを隠すため、setStatusBarHidden:を呼び出すことがあります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ステータスバーをhidden=YESにしたとき、ナビゲーションバーの位置はそのままですが、&lt;/div&gt;&lt;div&gt;ここで、Homeボタンを押し、もう一度アプリを起動すると&lt;/div&gt;&lt;div&gt;ナビゲーションバーの位置はステータスバーの無いwindowでの位置に移動してしまいます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;また、フルスクリーンのViewをFadeoutするときに、ステータスバーをhidden=NOにしても&lt;/div&gt;&lt;div&gt;ナビゲーションバーの位置は動かず、ステータスバーの裏に表示されます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;どうやらiosのステータスバーの表示・非常時とナビゲーションバーの位置の移動は&lt;/div&gt;&lt;div&gt;連動しないように設計されているようです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ですが、繰り返しになりますが、&lt;/div&gt;&lt;div&gt;アプリをバックグラウンドへまわしてもう一度フォアグラウンドへ戻したときは&lt;/div&gt;&lt;div&gt;ナビゲーションバーの位置が新しくセットされてしまうので、&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;この点は注意しなければいけないようです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/6Za-MaPhFIk?rel=0" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;結局ステータスバーをhidden=NOにするときに一度ナビゲーションバーを非表示にし、すぐに表示しなおすことで&lt;/div&gt;&lt;div&gt;位置の修正をしました。&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/ho8Ywowfxzg?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;@implementation FirstViewController{&lt;br /&gt;  UIView *overView;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#pragma mark - View lifecycle&lt;br /&gt;- (void)loadView&lt;br /&gt;{&lt;br /&gt;  [super loadView];&lt;br /&gt;  UIApplication *app = [UIApplication sharedApplication];&lt;br /&gt;&lt;br /&gt;  overView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];&lt;br /&gt;  overView.backgroundColor = [UIColor whiteColor];&lt;br /&gt;  overView.alpha = 0.0f;&lt;br /&gt;  overView.userInteractionEnabled = NO;&lt;br /&gt;  [app.keyWindow addSubview:overView];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event&lt;br /&gt;{&lt;br /&gt;  UIApplication *app = [UIApplication sharedApplication];&lt;br /&gt;&lt;br /&gt;  if(app.statusBarHidden == NO){&lt;br /&gt;      [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];&lt;br /&gt;      [UIView animateWithDuration:0.4f animations:^(void){&lt;br /&gt;          overView.alpha = 1.0f;&lt;br /&gt;      }];&lt;br /&gt;    &lt;br /&gt;  } else {&lt;br /&gt;      [app setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];&lt;br /&gt;&lt;br /&gt;      // hiding / showing navigationBar&lt;br /&gt;      [self.navigationController setNavigationBarHidden:YES];&lt;br /&gt;      [self.navigationController setNavigationBarHidden:NO];&lt;br /&gt;    &lt;br /&gt;      [UIView animateWithDuration:0.4f animations:^(void){&lt;br /&gt;          overView.alpha = 0.0f;&lt;br /&gt;      }];&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8739901863137255700?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8739901863137255700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8739901863137255700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8739901863137255700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8739901863137255700'/><link rel='alternate' type='text/html' href='http://tanb.me/2012/01/navigationbar-status-bar.html' title='NavigationBarの位置がずれ, Status barの裏に描画されてしまう'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/6Za-MaPhFIk/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-6133828810951646769</id><published>2012-01-18T16:39:00.006+09:00</published><updated>2012-01-19T03:04:38.054+09:00</updated><title type='text'>Debug Build. Delay of invocation of dealloc method.</title><content type='html'>With ARC and MRC mixed project, I found an delay of invocation of dealloc method.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;When you assign a retained object to weak variable, this object will be released after the assignment immediately.&lt;/div&gt;&lt;div&gt;If you add the variable to a mutable array, it'll crash. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Because that we can not add nil to NSMutableArray. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;But this crash happened only when the application was built by Release Build counfiguration.&lt;br /&gt;&lt;br /&gt;When the application was built by Debug Build configuration, the crash did not happen.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;I think the reason why the difference happened is the delay of invocation of dealloc method.&lt;br /&gt;&lt;br /&gt;For example, I assign a retained object to weak variable 'obj'.&lt;br /&gt;And then I add the &lt;/span&gt;variable&lt;span class="Apple-style-span"&gt; to a mutable array.&lt;br /&gt;&lt;pre class="prettyprint"&gt;- (void)loadView&lt;br /&gt;{&lt;br /&gt;  [super loadView];&lt;br /&gt;  __weak MyObject* obj = [MyObject instance];&lt;br /&gt;&lt;br /&gt;  NSMutableArray *arrayM = [NSMutableArray array];&lt;br /&gt;  [arrayM addObject:obj];&lt;br /&gt;  NSLog(@"object was inserted to array.");&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MyObject is a custom object with MRC (-fno-obj-arc flagged).&lt;br /&gt;&lt;pre class="prettyprint"&gt;@implementation MyObject&lt;br /&gt;+ (id)instance&lt;br /&gt;{&lt;br /&gt;  return [[[self alloc]init] autorelease];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;- (void)dealloc&lt;br /&gt;{&lt;br /&gt;  NSLog(@"dealloc");&lt;br /&gt;  [super dealloc];&lt;br /&gt;}&lt;br /&gt;@end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the case of Release Build configuration, the dealloc method invoked before add to mutable array.&lt;br /&gt;and it crash.&lt;br /&gt;&lt;pre class="prettyprint"&gt;012-01-18 16:56:15.353 WhatTheNSMutableArray[3096:707] dealloc&lt;br /&gt;2012-01-18 16:56:15.358 WhatTheNSMutableArray[3096:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'&lt;br /&gt;*** First throw call stack:&lt;br /&gt;(0x3717a8bf 0x318481e5 0x370cf20f 0x2651 0x3274d78b 0x3274bf9d 0x3273e941 0x327b0541 0x24d3 0x3274c7eb 0x327463bd 0x32714921 0x327143bf 0x32713d2d 0x31287df3 0x3714e553 0x3714e4f5 0x3714d343 0x370d04dd 0x370d03a5 0x32745457 0x32742743 0x2331 0x22dc)&lt;br /&gt;terminate called throwing an exception(gdb)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But in the case of Debug Build configuration, the dealloc method invoked AFTER add to mutable array.&lt;br /&gt;In spite of wrong code, it does NOT CRASH.&lt;br /&gt;&lt;pre class="prettyprint"&gt;2012-01-18 17:24:36.342 WhatTheNSMutableArray[3175:707] object was inserted to array.&lt;br /&gt;2012-01-18 17:24:36.352 WhatTheNSMutableArray[3175:707] dealloc&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I should be careful to this delay. because i can't found the weak assignment mistake.&lt;br /&gt;&lt;br /&gt;You can easily find a similar code. like this, but this is wrong.&lt;br /&gt;&lt;pre class="prettyprint"&gt;__weak ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:...&lt;br /&gt;&lt;br /&gt;[request setCompletionBlock:^{&lt;br /&gt;      [listOfResponseData addObject: request.responseData];&lt;br /&gt;  }];&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Correctly as follows:&lt;br /&gt;&lt;pre class="prettyprint"&gt;ASIHTTPRequest *_request = [[ASIHTTPRequest alloc] initWithURL:...&lt;br /&gt;__weak ASIHTTPRequest *request = _request;&lt;br /&gt;[request setCompletionBlock:^{&lt;br /&gt;      [listOfResponseData addObject: request.responseData];&lt;br /&gt;  }];&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-6133828810951646769?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/6133828810951646769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=6133828810951646769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6133828810951646769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6133828810951646769'/><link rel='alternate' type='text/html' href='http://tanb.me/2012/01/debug-build-invocation-of-dealloc.html' title='Debug Build. Delay of invocation of dealloc method.'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5334975557074047504</id><published>2012-01-10T22:07:00.008+09:00</published><updated>2012-01-10T23:06:50.095+09:00</updated><title type='text'>implement Accessor Method, Objective-C</title><content type='html'>see "Property Declaration Attributes" , Objective-C Programming Language &gt; Declared Properties&lt;br /&gt;&lt;a href="http://t.co/JpxDVNHs"&gt;http://t.co/JpxDVNHs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;example: In this case, a RootViewController has "myStatus" property. I implemented accessor methods of this.&lt;br /&gt;The setter method will set a value to the private instance "_myStatus"  and  text of "myLabel".&lt;br /&gt;The getter method will return the instance value.&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;#import &lt;UIKit/UIKit.h&gt;&lt;br /&gt;typedef enum {&lt;br /&gt;    MyStatusTypeFine,&lt;br /&gt;    MyStatusTypePrettyGood&lt;br /&gt;} MyStatusType;&lt;br /&gt;&lt;br /&gt;@interface RootViewController : UIViewController&lt;br /&gt;&lt;br /&gt;@property (setter = setMyStatus:, getter = getMyStatus) MyStatusType myStatus;&lt;br /&gt;@property (strong) UILabel *myLabel;&lt;br /&gt;@end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;@implementation TopViewController{&lt;br /&gt;    MyStatusType _myStatus;&lt;br /&gt;}&lt;br /&gt;@synthesize myStatus = _myStatus;&lt;br /&gt;@synthesize myLabel;&lt;br /&gt;&lt;br /&gt;- (void)setMyStatus:(MyStatusType)myStatus&lt;br /&gt;{&lt;br /&gt;    _myStatus = myStatus;&lt;br /&gt;    switch (myStatus) {&lt;br /&gt;        case MyStatusTypeFine:&lt;br /&gt;            self.myLabel.text = @"Fine.";&lt;br /&gt;            [self.myLabel sizeToFit];&lt;br /&gt;            self.myLabel.center = self.view.center;&lt;br /&gt;            break;&lt;br /&gt;            &lt;br /&gt;        case MyStatusTypePrettyGood:&lt;br /&gt;            self.myLabel.text = @"Pretty good.";&lt;br /&gt;            [self.myLabel sizeToFit];&lt;br /&gt;            self.myLabel.center = self.view.center;&lt;br /&gt;            break;&lt;br /&gt;            &lt;br /&gt;        default:&lt;br /&gt;            break;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;- (MyStatusType)getMyStatus&lt;br /&gt;{&lt;br /&gt;    return _myStatus;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#pragma mark - View lifecycle&lt;br /&gt;- (void)loadView&lt;br /&gt;{&lt;br /&gt;    [super loadView];&lt;br /&gt;&lt;br /&gt;    self.myLabel = [UILabel new];&lt;br /&gt;    [self.view addSubview: self.myLabel];&lt;br /&gt;    &lt;br /&gt;    // set status&lt;br /&gt;    self.myStatus = MyStatusTypeFine;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5334975557074047504?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5334975557074047504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5334975557074047504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5334975557074047504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5334975557074047504'/><link rel='alternate' type='text/html' href='http://tanb.me/2012/01/objective-c-implement-accessor-method.html' title='implement Accessor Method, Objective-C'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-759521015679356468</id><published>2011-08-02T23:50:00.011+09:00</published><updated>2011-08-03T05:05:19.650+09:00</updated><title type='text'>退職しました</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-jTcaxMPg7YY/TjgUzx41AWI/AAAAAAAAA68/SsYJWIAaYUY/s1600/photo.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 700px; height: 105px;" src="http://3.bp.blogspot.com/-jTcaxMPg7YY/TjgUzx41AWI/AAAAAAAAA68/SsYJWIAaYUY/s1600/photo.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5636277813451751778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;2011年 4月 22日 カリフォルニア州 Alviso Marina County Park にて撮影&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;　この度、先日の7月31日をもちまして、2010年に入社し1年4ヶ月勤めさせていただきましたヤフー株式会社を退職させていただきました。&lt;br /&gt;　このご報告より前に、お気づきになられていた方もいらっしゃるようですが、僕は七夕の7月7日に最終出社日を迎え、それからは有給消化期間を過ごしながら新しい生活への準備を整えておりました。&lt;br /&gt;　皆様へのご報告は退職日を迎えてからと決めておりましたので、改めまして正式なご報告をさせていただきます。&lt;br /&gt;&lt;br /&gt;　ヤフーに入社してから仮配属でサービスの運用に携わり、運用ツールの開発、本配属後は担当サービスのフロントエンド開発に携わりました。特に本配属後に接したアジャイルスクラム手法は、デザイナーとエンジニアでチームを組んでの開発で、それまでのぼくの世界観を大きく広げる経験でした。半年間の内定者研修は長いものでしたが、仮配属の3ヶ月と本配属の6ヶ月を思い返すと、とても短い間にたくさんのことを勉強をさせていただきました。幸いなことに友人、先輩、上司、配属先にも恵まれ、とても良い9ヶ月を送ることができました。&lt;br /&gt;　特に僕の開発や業務での直すべき点について指摘してくださり、叱ってくださった先輩、上司には本当に感謝しております。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　退職の理由については、自分の人生の方向をすこしだけ修正したいと考えたからです。&lt;br /&gt;&lt;br /&gt;　僕がいわゆる就活を経験した時期は、ちょうど就職氷河期再来といわれた2009年(2010年卒)でしたが、僕は一度に何社も受けるような就活をしたくなかったので、いくつか会社説明会に参加させていただいた後、ヤフーの一社だけにアプライさせていただきました。&lt;br /&gt;&lt;br /&gt;　「webの世界で生きていきたい」と決めていた学生時代、ヤフーに内定をいただいたときは本当にうれしくて、毎晩のように自分の世界が広がっていくイメージを思い描いておりました。&lt;br /&gt;　&lt;br /&gt;　そして入社前にカリフォルニアのwhere2.0カンファレンスを知り、ヤフーに入ったら絶対行くんだと心に決めて1年間を過ごし、今年の4月に有給をいただいてwhere2.0カンファレンス2011に参加して参りました。&lt;br /&gt;&lt;br /&gt;　カリフォルニアで目にしてきたものは本当に刺激的で、お会いした方々から大きな影響を受けました。入社前に描いたイメージが結果的に退職の決意を後押しすることになるとは、入社当時では考えもしなかったことです。&lt;br /&gt;&lt;br /&gt;　カリフォルニアでのホテルへの帰り道で、「人生の方向が見えてきてた」&lt;br /&gt;　　&lt;a href="http://a.2tanb.com/qWASLR"&gt;http://a.2tanb.com/qWASLR&lt;/a&gt;&lt;br /&gt;とつぶやいたあの瞬間、自分の世界をもっと広げられるとイメージできた瞬間でした。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;　こんな人生の選択ができる自分は、本当に幸せだと思っています。それはヤフーに入って、たくさんの人たちに出会い、いろいろな経験を積むこと無しにはできない選択でした。ヤフーでの1年数ヶ月は、何度も何度も自分の今とこれからを見つめ直す機会を与えてくれました。とても感謝しております。&lt;br /&gt;&lt;br /&gt;　短い間でしたが、本当にありがとうございました。&lt;br /&gt;　&lt;br /&gt;　今後もwebの世界で生きていくことになりますが、少しの間自分の世界を広げるための準備に時間を取ろうと考えています。&lt;br /&gt;　その間は、無職という形になりますが、みなさまこれからもどうぞよろしくお願い致します。&lt;br /&gt;&lt;br /&gt;Tomonori TANABE&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-759521015679356468?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/759521015679356468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=759521015679356468' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/759521015679356468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/759521015679356468'/><link rel='alternate' type='text/html' href='http://tanb.me/2011/08/blog-post.html' title='退職しました'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-jTcaxMPg7YY/TjgUzx41AWI/AAAAAAAAA68/SsYJWIAaYUY/s72-c/photo.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2196509145814766665</id><published>2011-03-11T11:46:00.009+09:00</published><updated>2011-03-11T12:19:37.624+09:00</updated><title type='text'>Yahoo!Mail(inc)のIMAPセッティング for MacOSX Mail</title><content type='html'>Yahoo!incのメールをOSXのMailで設定するときにちょっと&lt;br /&gt;調べないとうまくいかない項目があったので、&lt;br /&gt;設定の手順をご紹介します。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MailのPreferences&gt;Accountsでアカウントを追加。自分のYahooMAilアカウントとパスワードを入力します。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-lpEqND-VYpI/TXmOgTgSOyI/AAAAAAAAA38/nHm3avbwQ1M/s1600/Screen%2BShot%2B2011-03-10%2Bat%2B7.04.15%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 390px;" src="http://3.bp.blogspot.com/-lpEqND-VYpI/TXmOgTgSOyI/AAAAAAAAA38/nHm3avbwQ1M/s400/Screen%2BShot%2B2011-03-10%2Bat%2B7.04.15%2BPM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649898745084706" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;次へすすんでもうまくいかんと怒られますが、無視してすすみます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-UANE-17xguM/TXmOas2VnqI/AAAAAAAAA30/o8HZMaB3L6g/s1600/Screen%2BShot%2B2011-03-10%2Bat%2B7.04.44%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 152px;" src="http://3.bp.blogspot.com/-UANE-17xguM/TXmOas2VnqI/AAAAAAAAA30/o8HZMaB3L6g/s400/Screen%2BShot%2B2011-03-10%2Bat%2B7.04.44%2BPM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649802469252770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;そうするとこのように表示されてメールプロトコルがPOPを選択された状態になってるかと思いますが&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-uoZGzlyrWfg/TXmOakVnH_I/AAAAAAAAA3s/PT7Ix7KVopc/s1600/Screen%2BShot%2B2011-03-10%2Bat%2B7.05.07%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 284px; height: 230px;" src="http://1.bp.blogspot.com/-uoZGzlyrWfg/TXmOakVnH_I/AAAAAAAAA3s/PT7Ix7KVopc/s400/Screen%2BShot%2B2011-03-10%2Bat%2B7.05.07%2BPM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649800184504306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;IMAPに選択し直してServerも次のように書き換えます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-94yzTc6bnVc/TXmOaWzQBGI/AAAAAAAAA3k/BVVVRKxzRn4/s1600/Screen%2BShot%2B2011-03-10%2Bat%2B7.05.22%2BPM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 249px; height: 226px;" src="http://1.bp.blogspot.com/-94yzTc6bnVc/TXmOaWzQBGI/AAAAAAAAA3k/BVVVRKxzRn4/s400/Screen%2BShot%2B2011-03-10%2Bat%2B7.05.22%2BPM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649796550722658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;次にsmtp Serverもこのように入力されていると思うので&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-RfOUxYqWGhI/TXmOaP5htlI/AAAAAAAAA3c/0MV6L_d5Vuo/s1600/Screen%2BShot%2B2011-03-11%2Bat%2B11.18.46%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 276px; height: 254px;" src="http://1.bp.blogspot.com/-RfOUxYqWGhI/TXmOaP5htlI/AAAAAAAAA3c/0MV6L_d5Vuo/s400/Screen%2BShot%2B2011-03-11%2Bat%2B11.18.46%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649794697999954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;以下のように書き換え決定します。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-zikdM7KZo00/TXmOZ2GeZnI/AAAAAAAAA3U/GC2G8hu1CZI/s1600/Screen%2BShot%2B2011-03-11%2Bat%2B11.18.07%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 274px; height: 247px;" src="http://1.bp.blogspot.com/-zikdM7KZo00/TXmOZ2GeZnI/AAAAAAAAA3U/GC2G8hu1CZI/s400/Screen%2BShot%2B2011-03-11%2Bat%2B11.18.07%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649787772986994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;これでアカウントが追加されるので、あともう少しです。&lt;br /&gt;いまMailのPreferences&gt;Accountsが表示されていると思いますが&lt;br /&gt;smtpサーバーリストをeditできる項目があるのでedit画面を開きます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-njeAWwQWyfs/TXmOE2SYbCI/AAAAAAAAA3M/QAd37YOXBys/s1600/Screen%2BShot%2B2011-03-11%2Bat%2B11.20.57%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 63px;" src="http://3.bp.blogspot.com/-njeAWwQWyfs/TXmOE2SYbCI/AAAAAAAAA3M/QAd37YOXBys/s400/Screen%2BShot%2B2011-03-11%2Bat%2B11.20.57%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649427045674018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;先ほど設定したsmtp.mail.yahoo.comのAdvanced項目を選択し&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-enTWX-iZWSo/TXmOEqqNFiI/AAAAAAAAA3E/UM70_--sxSc/s1600/Screen%2BShot%2B2011-03-11%2Bat%2B11.21.20%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 269px; height: 96px;" src="http://3.bp.blogspot.com/-enTWX-iZWSo/TXmOEqqNFiI/AAAAAAAAA3E/UM70_--sxSc/s400/Screen%2BShot%2B2011-03-11%2Bat%2B11.21.20%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649423924368930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;use custom portにチェックをいれて465を入力してokします&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-2lT7D0Wlklo/TXmOEZhAwGI/AAAAAAAAA28/mAS4JlAGhOI/s1600/Screen%2BShot%2B2011-03-11%2Bat%2B11.21.34%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 231px; height: 89px;" src="http://1.bp.blogspot.com/-2lT7D0Wlklo/TXmOEZhAwGI/AAAAAAAAA28/mAS4JlAGhOI/s400/Screen%2BShot%2B2011-03-11%2Bat%2B11.21.34%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649419322409058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;つぎに、いまMailのPreferences&gt;Accountsが表示されていると思いますが&lt;br /&gt;ここのAdvancedを選択し、default portが995となっているところを&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-FCcNFS52380/TXmOEFQ3QtI/AAAAAAAAA20/NVvHwZLCok0/s1600/Screen%2BShot%2B2011-03-11%2Bat%2B11.21.51%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 343px; height: 275px;" src="http://3.bp.blogspot.com/-FCcNFS52380/TXmOEFQ3QtI/AAAAAAAAA20/NVvHwZLCok0/s400/Screen%2BShot%2B2011-03-11%2Bat%2B11.21.51%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649413885969106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;993にします。これで設定を保存してMail.appを起動し直せば、Y!Mailの送受信ができるようになっているはずです。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-tSd2rv-v0zU/TXmODyHT04I/AAAAAAAAA2s/wvqL_kVVaUY/s1600/Screen%2BShot%2B2011-03-11%2Bat%2B11.22.05%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 341px; height: 294px;" src="http://2.bp.blogspot.com/-tSd2rv-v0zU/TXmODyHT04I/AAAAAAAAA2s/wvqL_kVVaUY/s400/Screen%2BShot%2B2011-03-11%2Bat%2B11.22.05%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5582649408745624450" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2196509145814766665?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2196509145814766665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2196509145814766665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2196509145814766665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2196509145814766665'/><link rel='alternate' type='text/html' href='http://tanb.me/2011/03/yahoomailincimap-for-macosx-mail.html' title='Yahoo!Mail(inc)のIMAPセッティング for MacOSX Mail'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-lpEqND-VYpI/TXmOgTgSOyI/AAAAAAAAA38/nHm3avbwQ1M/s72-c/Screen%2BShot%2B2011-03-10%2Bat%2B7.04.15%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3460552427011603113</id><published>2011-02-19T18:14:00.005+09:00</published><updated>2011-02-19T18:38:43.784+09:00</updated><title type='text'>Mac OSX10.6 blockdiag ブロックダイアグラム生成 Python</title><content type='html'>blockdiag&lt;br /&gt;&lt;br /&gt;ブロックダイアグラム画像を簡単なテキストファイルから生成することができます&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pypi.python.org/pypi/blockdiag/0.6.7"&gt;http://pypi.python.org/pypi/blockdiag/0.6.7&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tk0miya.bitbucket.org/blockdiag/build/html/index.html"&gt;http://tk0miya.bitbucket.org/blockdiag/build/html/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mac OSX 10.6 MacBookAir へインストールしました。&lt;br /&gt;freetype2を入れていなかったせいで、チュートリアル通りにはうまく入りませんでしたので、&lt;br /&gt;インストールメモします。&lt;br /&gt;&lt;br /&gt; easy_install で blockdiag をいれていきます。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;$ sudo easy_install blockdiag&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt; そうするとインストールが正しくおわったように見えるのですが、&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;i686-apple-darwin10-gcc-4.2.1: -framework: linker input file unused because linking not done&lt;br /&gt;i686-apple-darwin10-gcc-4.2.1: Tk: linker input file unused because linking not done&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;PIL 1.1.7 SETUP SUMMARY&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;version       1.1.7&lt;br /&gt;platform      darwin 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)&lt;br /&gt;              [GCC 4.2.1 (Apple Inc. build 5646)]&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;--- TKINTER support available&lt;br /&gt;*** JPEG support not available&lt;br /&gt;--- ZLIB (PNG/ZIP) support available&lt;br /&gt;*** FREETYPE2 support not available&lt;br /&gt;*** LITTLECMS support not available&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;To add a missing option, make sure you have the required&lt;br /&gt;library, and set the corresponding ROOT variable in the&lt;br /&gt;setup.py script.&lt;br /&gt;&lt;br /&gt;To check the build, run the selftest.py script.&lt;br /&gt;zip_safe flag not set; analyzing archive contents...&lt;br /&gt;Image: module references __file__&lt;br /&gt;Adding PIL 1.1.7 to easy-install.pth file&lt;br /&gt;Installing pilconvert.py script to /usr/local/bin&lt;br /&gt;Installing pildriver.py script to /usr/local/bin&lt;br /&gt;Installing pilfile.py script to /usr/local/bin&lt;br /&gt;Installing pilfont.py script to /usr/local/bin&lt;br /&gt;Installing pilprint.py script to /usr/local/bin&lt;br /&gt;&lt;br /&gt;Installed /Library/Python/2.6/site-packages/PIL-1.1.7-py2.6-macosx-10.6-universal.egg&lt;br /&gt;Finished processing dependencies for blockdiag&lt;br /&gt; &lt;/pre&gt;&lt;br /&gt;上のPILを入れる部分で、&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;*** FREETYPE2 support not available&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;というように、Freetype2のサポートができないとかかれているところが肝です。&lt;br /&gt;このまま先に進むと、とりあえずsample.diagを作成して、&lt;br /&gt;&lt;br /&gt; diagファイルは簡単な文法でブロックダイアグラムを表現できるテキストファイルになります&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;diagram {&lt;br /&gt;        A -&amp;gt; B -&amp;gt; C -&amp;gt; D;&lt;br /&gt;        A -&amp;gt; E -&amp;gt; F -&amp;gt; G;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;このdiagファイルをもとにblockdiagで画像を生成しようとすると&lt;br /&gt;先ほどのPILのインストール部分の肝のせいで、失敗します。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;[~] $ blockdiag simple.diag &lt;br /&gt;Traceback (most recent call last):&lt;br /&gt;  File "/usr/local/bin/blockdiag", line 8, in &lt;module&gt;&lt;br /&gt;    load_entry_point('blockdiag==0.6.7', 'console_scripts', 'blockdiag')()&lt;br /&gt;  File "/Library/Python/2.6/site-packages/blockdiag-0.6.7-py2.6.egg/blockdiag/blockdiag.py", line 429, in main&lt;br /&gt;    draw.draw()&lt;br /&gt;  File "/Library/Python/2.6/site-packages/blockdiag-0.6.7-py2.6.egg/blockdiag/DiagramDraw.py", line 105, in draw&lt;br /&gt;    self.node(node, **kwargs)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/blockdiag-0.6.7-py2.6.egg/blockdiag/DiagramDraw.py", line 225, in node&lt;br /&gt;    font=self.font, badgeFill=self.badgeFill)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/blockdiag-0.6.7-py2.6.egg/blockdiag/noderenderer/__init__.py", line 47, in render&lt;br /&gt;    self.render_shape(drawer, format, **kwargs)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/blockdiag-0.6.7-py2.6.egg/blockdiag/noderenderer/box.py", line 33, in render_shape&lt;br /&gt;    lineSpacing=self.metrix.lineSpacing)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/blockdiag-0.6.7-py2.6.egg/blockdiag/ImageDrawEx.py", line 247, in textarea&lt;br /&gt;    lines = TextFolder(box, string, scale=self.scale_ratio, **kwargs)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/blockdiag-0.6.7-py2.6.egg/blockdiag/utils/PILTextFolder.py", line 14, in __init__&lt;br /&gt;    self.ttfont = ImageFont.truetype(font, fontsize)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/PIL-1.1.7-py2.6-macosx-10.6-universal.egg/ImageFont.py", line 218, in truetype&lt;br /&gt;    return FreeTypeFont(filename, size, index, encoding)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/PIL-1.1.7-py2.6-macosx-10.6-universal.egg/ImageFont.py", line 134, in __init__&lt;br /&gt;    self.font = core.getfont(file, size, index, encoding)&lt;br /&gt;  File "/Library/Python/2.6/site-packages/PIL-1.1.7-py2.6-macosx-10.6-universal.egg/ImageFont.py", line 34, in __getattr__&lt;br /&gt;    raise ImportError("The _imagingft C module is not installed")&lt;br /&gt;ImportError: The _imagingft C module is not installed&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.freetype.org/"&gt;http://www.freetype.org/&lt;/a&gt; からfreetype2をダウンロードしてきます&lt;br /&gt;freetype-2.4.4.tar.gzにしました。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;$ ./configure&lt;br /&gt;$ make&lt;br /&gt;$ sudo make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;インストールした後もう一度PILを入れ直すと&lt;br /&gt;freetype2のサポートがokになっているはずです。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;    PIL 1.1.6 BUILD SUMMARY&lt;br /&gt;    --------------------------------------------------------------------&lt;br /&gt;    version       1.1.6&lt;br /&gt;    platform      darwin 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)&lt;br /&gt;                  [GCC 4.2.1 (Apple Inc. build 5646)]&lt;br /&gt;    --------------------------------------------------------------------&lt;br /&gt;    --- TKINTER support ok&lt;br /&gt;    *** JPEG support not available&lt;br /&gt;    --- ZLIB (PNG/ZIP) support ok&lt;br /&gt;    --- FREETYPE2 support ok&lt;br /&gt;    --------------------------------------------------------------------&lt;br /&gt;    To add a missing option, make sure you have the required&lt;br /&gt;    library, and set the corresponding ROOT variable in the&lt;br /&gt;    setup.py script.&lt;br /&gt;    &lt;br /&gt;    To check the build, run the selftest.py script.&lt;br /&gt;    changing mode of build/scripts-2.6/pilconvert.py from 644 to 755&lt;br /&gt;    changing mode of build/scripts-2.6/pildriver.py from 644 to 755&lt;br /&gt;    changing mode of build/scripts-2.6/pilfile.py from 644 to 755&lt;br /&gt;    changing mode of build/scripts-2.6/pilfont.py from 644 to 755&lt;br /&gt;    changing mode of build/scripts-2.6/pilprint.py from 644 to 755&lt;br /&gt;    changing mode of /usr/local/bin/pilconvert.py to 755&lt;br /&gt;    changing mode of /usr/local/bin/pildriver.py to 755&lt;br /&gt;    changing mode of /usr/local/bin/pilfile.py to 755&lt;br /&gt;    changing mode of /usr/local/bin/pilfont.py to 755&lt;br /&gt;    changing mode of /usr/local/bin/pilprint.py to 755&lt;br /&gt;Successfully installed PIL&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;これでblockdiagが動きました！！&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;$ blockdiag simple.diag&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ページ遷移とかの記述がすごく楽になるなー！&lt;br /&gt;生成された画像&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-pCI46Mu35OQ/TV-LW_pz2-I/AAAAAAAAA2A/C4Ux4svESEU/s1600/simple.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 106px;" src="http://4.bp.blogspot.com/-pCI46Mu35OQ/TV-LW_pz2-I/AAAAAAAAA2A/C4Ux4svESEU/s400/simple.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5575328090868145122" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3460552427011603113?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3460552427011603113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3460552427011603113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3460552427011603113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3460552427011603113'/><link rel='alternate' type='text/html' href='http://tanb.me/2011/02/mac-osx106-blockdiag-python.html' title='Mac OSX10.6 blockdiag ブロックダイアグラム生成 Python'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-pCI46Mu35OQ/TV-LW_pz2-I/AAAAAAAAA2A/C4Ux4svESEU/s72-c/simple.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2253924813844849447</id><published>2010-08-07T21:28:00.006+09:00</published><updated>2010-08-08T17:15:22.160+09:00</updated><title type='text'>Safari's Shortcut Key for "Merge All Window"</title><content type='html'>when I open many windows in safari,&lt;br /&gt;I want to Merge all them.&lt;br /&gt; so, I go to "Window &gt; Merge All Windows".&lt;br /&gt;but I use this function just from shortcut. &lt;br /&gt; &lt;br /&gt;This topic is about how to set the shortcut.&lt;br /&gt;&lt;br /&gt;1. System Preferences &gt; Keyboard&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1v75a-UVI/AAAAAAAAA1k/dsPS_-R-8y8/s1600/sc.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 335px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1v75a-UVI/AAAAAAAAA1k/dsPS_-R-8y8/s400/sc.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502677394533536082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. add Shortcut Key, Click the "+" Button.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1vucZICSI/AAAAAAAAA1c/QIFN9ns2QvI/s1600/sc2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 357px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1vucZICSI/AAAAAAAAA1c/QIFN9ns2QvI/s400/sc2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502677163402856738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. select an Application.&lt;br /&gt;Safari in this case.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/TF1vuNobUeI/AAAAAAAAA1U/WOTFBT91eSc/s1600/sc3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 382px; height: 400px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/TF1vuNobUeI/AAAAAAAAA1U/WOTFBT91eSc/s400/sc3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502677159440503266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. write a Menu Title and set a shortcut key which you like.&lt;br /&gt;"Merge All Window" in Safari's Menu in this case.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1vt-rWjwI/AAAAAAAAA1M/vhFSCtjh7-4/s1600/sc4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 203px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1vt-rWjwI/AAAAAAAAA1M/vhFSCtjh7-4/s400/sc4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502677155426242306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. so, just type  a shortcut key, then my messy desktop will be ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/TF1vtQ6FX4I/AAAAAAAAA1E/Zk7VD1bLrok/s1600/Screen+shot+2010-08-07+at+9.15.18+PM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/TF1vtQ6FX4I/AAAAAAAAA1E/Zk7VD1bLrok/s400/Screen+shot+2010-08-07+at+9.15.18+PM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502677143139999618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;tabs in a window.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1vs7hOe4I/AAAAAAAAA08/9bRLHg1CxoM/s1600/Screen+shot+2010-08-07+at+9.16.01+PM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 14px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1vs7hOe4I/AAAAAAAAA08/9bRLHg1CxoM/s400/Screen+shot+2010-08-07+at+9.16.01+PM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5502677137398594434" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2253924813844849447?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2253924813844849447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2253924813844849447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2253924813844849447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2253924813844849447'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/08/safaris-shortcut-key-for-merge-all.html' title='Safari&apos;s Shortcut Key for &quot;Merge All Window&quot;'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/TF1v75a-UVI/AAAAAAAAA1k/dsPS_-R-8y8/s72-c/sc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4587851831035309286</id><published>2010-08-07T13:11:00.010+09:00</published><updated>2010-08-08T10:46:40.973+09:00</updated><title type='text'>setup MacBookPro15'' 7/AUG/2010</title><content type='html'>500GHDD換装&lt;br /&gt;&lt;br /&gt;言語環境Englishでセットアップ&lt;br /&gt;&lt;br /&gt;モニターを開いてもスリープ解除しなくさせる&lt;br /&gt;sudo pmset -a lidwake 0&lt;br /&gt;&lt;br /&gt;Gauche&lt;br /&gt;gauche-0.9&lt;br /&gt;&lt;br /&gt;Cococa  Emacs&lt;br /&gt;emacs23.2&lt;br /&gt;&lt;br /&gt;.emacs.el&lt;br /&gt;.bashrc&lt;br /&gt;&lt;br /&gt;defaults write com.apple.finder _FXShowPosixPathInTitle -boolean true&lt;br /&gt;killall Finder&lt;br /&gt;&lt;br /&gt;iStat Menus&lt;br /&gt;- "Rsistered"&lt;br /&gt;&lt;br /&gt;Skype&lt;br /&gt;&lt;br /&gt;Xcode3.2.3&lt;br /&gt;&lt;br /&gt;Xcode4&lt;br /&gt;&lt;br /&gt;iWorks&lt;br /&gt;&lt;br /&gt;VMwareFusion + windows&lt;br /&gt;70G partition&lt;br /&gt;&lt;br /&gt;Mobile me 同期&lt;br /&gt;replace the information on this Mac&lt;br /&gt;&lt;br /&gt;Mail.app, Address Book, Safari BookMark確認&lt;br /&gt;&lt;br /&gt;Google Quick Search Box&lt;br /&gt;GoogleCodeより&lt;br /&gt;&lt;br /&gt;iLife&lt;br /&gt;- iPhoto&lt;br /&gt;-- バックアップのiPhoto Libraryをコピーして上書き&lt;br /&gt;&lt;br /&gt;GoogleIME&lt;br /&gt;&lt;br /&gt;iTunes&lt;br /&gt;- バックアップのiTunesディレクトリをコピーして上書き&lt;br /&gt;&lt;br /&gt;Safari Extention&lt;br /&gt;- Twitter for safari&lt;br /&gt;- Gentle Status Bar&lt;br /&gt;- GReader&lt;br /&gt;- Shortly&lt;br /&gt;&lt;br /&gt;Safari5&lt;br /&gt;Debugメニューを表示させる&lt;br /&gt;- defaults write com.apple.Safari IncludeDebugMenu 1&lt;br /&gt;&lt;br /&gt;========= ここまでで 122GB 使ってる。===========&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4587851831035309286?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4587851831035309286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4587851831035309286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4587851831035309286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4587851831035309286'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/08/setup-macbookpro15-7aug2010.html' title='setup MacBookPro15&apos;&apos; 7/AUG/2010'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4884483665039846240</id><published>2010-07-03T01:36:00.003+09:00</published><updated>2010-07-03T01:38:02.273+09:00</updated><title type='text'>OMG</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/TC4VpCqAa9I/AAAAAAAAA00/Nl3McFwcBgk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-07-03+1.35.36+AM%EF%BC%89.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 284px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/TC4VpCqAa9I/AAAAAAAAA00/Nl3McFwcBgk/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-07-03+1.35.36+AM%EF%BC%89.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5489348790643092434" /&gt;&lt;/a&gt;&lt;br /&gt;破滅&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4884483665039846240?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4884483665039846240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4884483665039846240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4884483665039846240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4884483665039846240'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/07/omg.html' title='OMG'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/TC4VpCqAa9I/AAAAAAAAA00/Nl3McFwcBgk/s72-c/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-07-03+1.35.36+AM%EF%BC%89.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-9073848002974455151</id><published>2010-06-26T11:41:00.003+09:00</published><updated>2010-06-26T11:56:07.499+09:00</updated><title type='text'>mac emacs zen-coding導入+Haskell</title><content type='html'>昨日の&lt;a href="http://coffeeash.blogspot.com/2010/06/mac-emacs-zen-coding.html"&gt;mac emacs zen-coding導入&lt;/a&gt;で紹介できなかったHaskell版の拡張ライブラリについてこちらも入れてみました。&lt;br /&gt;&lt;br /&gt;あろうことかHaskell入れてなかったのでコンパイルできなくて、、、&lt;br /&gt;そんな方はHaskell入れましょう！&lt;br /&gt;&lt;br /&gt;OSX用Haskellは&lt;a href="http://hackage.haskell.org/platform/mac.html"&gt;こちら&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;さて、HaskellZenCoding.hsを&lt;a href="http://gist.github.com/223655"&gt;git&lt;/a&gt;からDLしてコンパイルします&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;$ ghc --make HaskellZenCoding.hs -O2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出来上がったバイナリHaskellZenCodingを好きな場所に置いて&lt;br /&gt;これをemacsから呼び出す様にします。&lt;br /&gt;.emacs.elに次の様に記します&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;(defun zencode ()&lt;br /&gt;  "Zen Coding utility."&lt;br /&gt;  (interactive)&lt;br /&gt;  (shell-command-on-region&lt;br /&gt;   (line-beginning-position)&lt;br /&gt;   (line-end-position)&lt;br /&gt;   "~/.emacs.d/bin/HaskellZenCoding" ;;ここは置いた場所で&lt;br /&gt;   t)&lt;br /&gt;  (save-excursion&lt;br /&gt;    (mark-page)&lt;br /&gt;    (indent-for-tab-command)))&lt;br /&gt;;; html-modeのときC-c C-vで呼び出す&lt;br /&gt;(add-hook 'html-mode-hook &lt;br /&gt;   (lambda() &lt;br /&gt;     (define-key html-mode-map (kbd "\C-c \C-v") 'zencode)))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;これでhtml-modeのときC-c C-vで変換できます&lt;br /&gt;ctrl+c ctrl+vです&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ナンバリング機能が追加されています&lt;br /&gt;&lt;br /&gt;文法は$です。$のついた名前を繰り返すと1からナンバリングされます。&lt;br /&gt;&lt;br /&gt;こう入力してC-c C-vすると&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;div.component&amp;gt;ul&amp;gt;li#item$*3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;こう変換されます&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;&amp;lt;div class="component"&amp;gt;&lt;br /&gt;  &amp;lt;ul&amp;gt;&lt;br /&gt;    &amp;lt;li id="item1"&amp;gt;&lt;br /&gt;    &amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;li id="item2"&amp;gt;&lt;br /&gt;    &amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;li id="item3"&amp;gt;&lt;br /&gt;    &amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;/ul&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-9073848002974455151?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/9073848002974455151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=9073848002974455151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/9073848002974455151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/9073848002974455151'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/06/mac-emacs-zen-codinghaskell.html' title='mac emacs zen-coding導入+Haskell'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5831132572964670644</id><published>2010-06-25T23:17:00.006+09:00</published><updated>2010-06-26T00:23:21.463+09:00</updated><title type='text'>mac emacs zen-coding導入</title><content type='html'>zen-codingに感動して涙を流したので、&lt;br /&gt;その導入の仕方を書いておきます&lt;br /&gt;&lt;br /&gt;導入するのはcocoa emacs23&lt;br /&gt;Mac OSX 10.6です。&lt;br /&gt;&lt;br /&gt;emacsにzencoding-mode.elを読ませます。&lt;br /&gt;まず、&lt;a href="http://www.emacswiki.org/emacs/ZenCoding"&gt;ここ&lt;/a&gt;からzencoding-mode.elを入手します。&lt;br /&gt;&lt;br /&gt;emacsのプラグインは皆さんはどこに置かれているでしょうか&lt;br /&gt;僕のまわりでは.emacs.d/site-lispに入れる人が多いです。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;~/.emacs.d/site-list/zencoding-mode.el&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;となる様に配置します。&lt;br /&gt;&lt;br /&gt;~/.emacs.elにこのパスをロードする様に記述しましょう。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;(push "~/.emacs.d/site-lisp/" load-path)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;requireしてsgml-modeで自動起動する様にadd-hookします&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;(require 'zencoding-mode)&lt;br /&gt;(add-hook 'sgml-mode-hook 'zencoding-mode) &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;以後また他のプラグインを増やして追加していくときは&lt;br /&gt;このsite-lispに入れてrequireすると良いです。&lt;br /&gt;&lt;br /&gt;emacsを再起動し、hoge.htmlなどを作成してみましょう。&lt;br /&gt;HTML ZENモードで起動すると思います。&lt;br /&gt;&lt;br /&gt;いよいよzen-codingでニヤニヤできます。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;a#q.x&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;と打って&lt;span style="font-weight:bold;"&gt;C-RET&lt;/span&gt;してみましょう&lt;br /&gt;ctrl + returnキーです。&lt;br /&gt;&lt;br /&gt;すると&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;&amp;lt;a id="q" class="x"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;と変換されます。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;div#news.module&amp;gt;(div.header+div.body&amp;gt;ul&amp;gt;li#item*5)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;と記述するとC-RETで以下の様に変換されます。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;&amp;lt;div id="news" class="module"&amp;gt;&lt;br /&gt;  &amp;lt;div class="header"&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;div class="body"&amp;gt;&lt;br /&gt;    &amp;lt;ul&amp;gt;&lt;br /&gt;      &amp;lt;li id="item"&amp;gt;&lt;br /&gt;      &amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li id="item"&amp;gt;&lt;br /&gt;      &amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li id="item"&amp;gt;&lt;br /&gt;      &amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li id="item"&amp;gt;&lt;br /&gt;      &amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li id="item"&amp;gt;&lt;br /&gt;      &amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/ul&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;文法を覚えると楽しそうです。&lt;br /&gt;&lt;object width="400" height="275"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="275"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/7405114"&gt;Zen Coding v0.5&lt;/a&gt; from &lt;a href="http://vimeo.com/user2060676"&gt;Sergey Chikuyonok&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Haskellによる改良については&lt;br /&gt;あろうことかHaskellを入れてなかったので次回書かせていただきます&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5831132572964670644?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5831132572964670644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5831132572964670644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5831132572964670644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5831132572964670644'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/06/mac-emacs-zen-coding.html' title='mac emacs zen-coding導入'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4665293096705945566</id><published>2010-05-23T13:02:00.005+09:00</published><updated>2010-05-23T13:24:38.562+09:00</updated><title type='text'>UIViewとかをjavascriptで書いてみる</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/S_ipqz8uQwI/AAAAAAAAA0s/9bR7lRg5xOk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-05-23+1.04.20+PM%EF%BC%89.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 226px; height: 316px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/S_ipqz8uQwI/AAAAAAAAA0s/9bR7lRg5xOk/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-05-23+1.04.20+PM%EF%BC%89.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5474311900033336066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;デモに必要だった機能しか実装していませんがViewControllerとmainを書くだけで図形を貼れるような物を作りました。&lt;br /&gt;&lt;br /&gt;UIView&lt;br /&gt;divエレメントの作成&lt;br /&gt;&lt;br /&gt;UIWindow:UIView継承&lt;br /&gt;UIViewやUIButtonで作成したオブジェクトを貼付ける&lt;br /&gt;最下レイヤーのdivエレメント生成&lt;br /&gt;&lt;br /&gt;UIButton:UIView継承&lt;br /&gt;指定したイベントに指定したアクションをセットしたボタンの生成&lt;br /&gt;&lt;br /&gt;UIViewController&lt;br /&gt;UIViewやUIButtonをコントロール&lt;br /&gt;&lt;br /&gt;大元のjsはもうちょっと手直しさせてください&lt;br /&gt;これらを使用すると以下のコードで上の図が描けます。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;function MyViewController(){&lt;br /&gt;    var ui1 = new UIView();&lt;br /&gt;    ui1.initWithFrameAndId([200,200],"ui1");&lt;br /&gt;    ui1.setBackgroundcolor("blue");&lt;br /&gt;    this.view.addSubview(ui1);&lt;br /&gt;    &lt;br /&gt;    var ui2 = new UIView();&lt;br /&gt;    ui2.initWithFrameAndId([100,50],"ui2");&lt;br /&gt;    ui2.setBackgroundcolor("green");&lt;br /&gt;    this.view.addSubview(ui2);&lt;br /&gt;    &lt;br /&gt;    var box = new UIView();&lt;br /&gt;    box.initWithFrameAndId([20,20],"box");&lt;br /&gt;    box.setBackgroundcolor("red");&lt;br /&gt;    ui1.addSubview(box);&lt;br /&gt;&lt;br /&gt;    var act = function(){&lt;br /&gt;        alert("Button Push!!");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    var bt = new UIButton();&lt;br /&gt;    bt.addActionEventtype(act,"onclick");&lt;br /&gt;    bt.setFrame([30,30]);&lt;br /&gt;    bt.setBackgroundcolor("yellow");&lt;br /&gt;    ui1.addSubview(bt);&lt;br /&gt;}&lt;br /&gt;MyViewController.prototype = new UIViewController();&lt;br /&gt;  &lt;br /&gt;function main(){&lt;br /&gt;    var myViewController = new MyViewController();&lt;br /&gt;    var mywindow = new UIWindow();&lt;br /&gt;    mywindow.addSubview(myViewController.view);&lt;br /&gt;    mywindow.makeKeyAndVisible();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4665293096705945566?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4665293096705945566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4665293096705945566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4665293096705945566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4665293096705945566'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/05/uiviewjavascript.html' title='UIViewとかをjavascriptで書いてみる'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/S_ipqz8uQwI/AAAAAAAAA0s/9bR7lRg5xOk/s72-c/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-05-23+1.04.20+PM%EF%BC%89.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2245614028947055349</id><published>2010-03-26T16:26:00.009+09:00</published><updated>2010-03-26T16:51:54.960+09:00</updated><title type='text'>NY2日目 エンパイアステート</title><content type='html'>ホテルから5番外を行くとロックフェラーセンターのアイススケートリンクの近くで芸能人を見つけました。&lt;br /&gt;エンパイアステートビルディングの102階展望室へ行きました。&lt;br /&gt;日本食料理店 紅花でランチして、&lt;br /&gt;PalaceシアターでWEST SIDE STORYを観て&lt;br /&gt;タイムズスクエアで写真を取りました。&lt;br /&gt;&lt;br /&gt;&lt;iframe align="center" src="http://www.flickr.com/slideShow/index.gne?&lt;br /&gt;user_id=29622989@N06&amp;set_id= 72157623706027874" frameBorder="0" "width=500" height="500" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;エンパイアステートビルの入口付近でものすごくしつこく客引きをしているんですが、"SKYRIDEチケットかわないか" 、"普通にエレベーターで上ると1時間くらいまたなきゃいけないけどこっちは待つ必要ない"、"普通に上がるより安い"などと言われました。でもSKYRIDEはまるでヘリでNY上空を跳び回っているように感じられるバーチャルシアターなのだそうで、それはそれで面白そうなんですが、せっかく初めてきたし102で生の景色をみるべきだと思い、軽く断ってビルの中の展望台チケットカウンターへ向かいました。&lt;br /&gt;&lt;br /&gt;ちゃんと断るという事を学びましたｗ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;エンパイアの一階のスタバでコーヒーを飲んだらfoursquareのbadgeが増えてました。&lt;br /&gt;&lt;a href="http://4sq.com/cKrhrv"&gt;http://4sq.com/cKrhrv&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S6xmPIDrt9I/AAAAAAAAA0k/uoMFX9I-SZg/s1600/barista_big.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S6xmPIDrt9I/AAAAAAAAA0k/uoMFX9I-SZg/s400/barista_big.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5452845658885830610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;タイムズスクエアの前で写真をとった時は、もう夜の12時を越えていて&lt;br /&gt;なのにスタバが開いてるという環境に度肝を抜かれました。&lt;br /&gt;あとタイムズスクエアの前ではYahooがFreeWiFi出してました。&lt;br /&gt;&lt;a href="http://wifi.yahoo.com/timessquare/index.php"&gt;http://wifi.yahoo.com/timessquare/index.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2245614028947055349?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2245614028947055349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2245614028947055349' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2245614028947055349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2245614028947055349'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/03/ny2.html' title='NY2日目 エンパイアステート'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/S6xmPIDrt9I/AAAAAAAAA0k/uoMFX9I-SZg/s72-c/barista_big.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8090149663758199125</id><published>2010-03-25T17:35:00.002+09:00</published><updated>2010-03-25T17:41:35.611+09:00</updated><title type='text'>NYに来ています</title><content type='html'>ホテルに到着して早々ブルックリンブリッジのたもとにある&lt;br /&gt;リバーカフェでディナーを食べました。&lt;br /&gt;&lt;br /&gt;&lt;iframe align="center" src="http://www.flickr.com/slideShow/index.gne?&lt;br /&gt;user_id=29622989@N06&amp;set_id= 72157623689567476" frameBorder="0" "width=500" height="500" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;急いで支度して日本を出てきたので、着替やらなにやらたくさん忘れ物してきてしまったのですが&lt;br /&gt;ありあわせをうまいこと着こなしてぎりぎりドレスコードクリアしましたｗ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8090149663758199125?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8090149663758199125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8090149663758199125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8090149663758199125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8090149663758199125'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/03/ny.html' title='NYに来ています'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1344922845473102474</id><published>2010-03-20T19:18:00.007+09:00</published><updated>2010-03-20T19:51:49.119+09:00</updated><title type='text'>公衆電源ステーション espot [エスポット]を試してきたよ</title><content type='html'>柏の葉キャンパス駅前にあるUDCK柏の葉アーバンデザインセンターで&lt;br /&gt;UDCK x 東京電力による公衆電源サービス、エスポットのモニター登録をしてきました。&lt;br /&gt;&lt;br /&gt;登録には学生証や運転免許証などの身分証明書が必要。&lt;br /&gt;書類に署名したらespotカードがもらえます。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/S6Sj8OdFViI/AAAAAAAAA0M/oHby1SDwTpo/s1600-h/7.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 188px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/S6Sj8OdFViI/AAAAAAAAA0M/oHby1SDwTpo/s400/7.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5450661704092702242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;espotの設置場所は以下の５箇所&lt;br /&gt;&lt;br /&gt;・UDCK屋外出入口横 (コンセント数2)&lt;br /&gt;・UDCK屋外ブックサービス無い (コンセント数2)&lt;br /&gt;・ららぽーと柏の葉1階 千葉大学前の出入口前広場 (コンセント数4)&lt;br /&gt;・ららぽーと柏の葉3階 フードコート内 (コンセント数4)&lt;br /&gt;・県立柏の葉公園 公園センター内 (コンセント数4)&lt;br /&gt;&lt;br /&gt;今回はららぽーと3階のフードコートで試用してきました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/S6ShTj7WzuI/AAAAAAAAAzU/4Z944j_A_xs/s1600-h/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 215px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/S6ShTj7WzuI/AAAAAAAAAzU/4Z944j_A_xs/s400/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450658806458928866" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;モニターキャンペーン実施機関は2010年3月20日から8月29日まで&lt;br /&gt;利用時間は、設置施設の利用時間と同じとなっています。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/S6ShTz5ye2I/AAAAAAAAAzc/pQ1d1mrHWEM/s1600-h/2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/S6ShTz5ye2I/AAAAAAAAAzc/pQ1d1mrHWEM/s400/2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450658810747321186" /&gt;&lt;/a&gt;&lt;br /&gt;まず認証デバイスにて、使用する電源ボックスの番号をおす。&lt;br /&gt;僕は2番のボックスを使用しました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S6ShUW42mFI/AAAAAAAAAzk/cQaxxkhcQOc/s1600-h/3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S6ShUW42mFI/AAAAAAAAAzk/cQaxxkhcQOc/s400/3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450658820138637394" /&gt;&lt;/a&gt;&lt;br /&gt;そして、カードをかざす。これでボックスのロックが解除されてなかの&lt;br /&gt;コンセントにアクセス出来るようになります。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/S6ShUunkwBI/AAAAAAAAAzs/MnyN82d3c_E/s1600-h/4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/S6ShUunkwBI/AAAAAAAAAzs/MnyN82d3c_E/s400/4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450658826508615698" /&gt;&lt;/a&gt;&lt;br /&gt;認証が正しく行われていれば、このようにボックスを開くことができます。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S6ShVJ0HZ4I/AAAAAAAAAz0/dFHAQmOG1Wg/s1600-h/5.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S6ShVJ0HZ4I/AAAAAAAAAz0/dFHAQmOG1Wg/s400/5.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450658833808975746" /&gt;&lt;/a&gt;&lt;br /&gt;なかにはコンセントとブレーカーがついてました。&lt;br /&gt;Macの充電器も差し込めました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/S6SiGSWLLmI/AAAAAAAAA0E/ueN0JaKIsIU/s1600-h/6.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/S6SiGSWLLmI/AAAAAAAAA0E/ueN0JaKIsIU/s400/6.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450659677912903266" /&gt;&lt;/a&gt;&lt;br /&gt;コンセントに差し込んだらボックスの蓋をしっかり閉めます。&lt;br /&gt;しっかりしめるまで、電力供給は開始されません。&lt;br /&gt;電力供給が開始されると、ボックス上部のランプが青から赤へ変わります。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1回の使用時間は30分でした。&lt;br /&gt;でも、時間切れになっても1から同じように再認証すればまた使えます。&lt;br /&gt;ここで供給される電力はすべて風力、太陽光など自然エネルギーによってまかなわれるグリーン電力なのだそうです。&lt;br /&gt;&lt;br /&gt;この社会実験の一般モニターへの応募は、3月20日から先着順で500名まで受け付けています。利用料は無料です。&lt;br /&gt;近くにお住まいのみなさんは試してみたらいかがでしょうか。&lt;br /&gt;&lt;br /&gt;関連リンク&lt;br /&gt;&lt;a href="http://release.nikkei.co.jp/detail.cfm?relID=246755&amp;lindID=5"&gt;日経プレスリリース&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.udck.jp/index.html"&gt;UDCK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1344922845473102474?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1344922845473102474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1344922845473102474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1344922845473102474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1344922845473102474'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/03/espot.html' title='公衆電源ステーション espot [エスポット]を試してきたよ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/S6Sj8OdFViI/AAAAAAAAA0M/oHby1SDwTpo/s72-c/7.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3635621573741628800</id><published>2010-03-15T18:20:00.005+09:00</published><updated>2010-03-15T18:29:03.542+09:00</updated><title type='text'>スタンフォード大学 スタンフォードMuseum</title><content type='html'>サンタクララに来ています。&lt;br /&gt;今日はスタンフォード大学へ行ってきました。&lt;br /&gt;とても綺麗なキャンパスです。人生やり直したいです！&lt;br /&gt;&lt;br /&gt;&lt;iframe align="center" src="http://www.flickr.com/slideShow/index.gne?&lt;br /&gt;user_id=29622989@N06&amp;set_id= 72157623623498534" frameBorder="0" "width=500" height="500" scrolling="no"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3635621573741628800?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3635621573741628800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3635621573741628800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3635621573741628800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3635621573741628800'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/03/mueseum.html' title='スタンフォード大学 スタンフォードMuseum'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8036791549850543060</id><published>2010-03-06T04:06:00.003+09:00</published><updated>2010-03-06T04:08:03.482+09:00</updated><title type='text'>iPhoneSDK 背景をボタンで移動させる</title><content type='html'>&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UDOwvVgtu1U&amp;hl=ja_JP&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UDOwvVgtu1U&amp;hl=ja_JP&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;横スクロールゲームやRPGに使えそうです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8036791549850543060?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8036791549850543060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8036791549850543060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8036791549850543060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8036791549850543060'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/03/iphonesdk.html' title='iPhoneSDK 背景をボタンで移動させる'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1993726291359146588</id><published>2010-03-05T19:22:00.002+09:00</published><updated>2010-03-05T19:47:32.895+09:00</updated><title type='text'>iPhone リソースファイルへのpath、テキストの読み込み</title><content type='html'>＜備忘録＞&lt;br /&gt;コードからtextファイルを参照して表示したい。&lt;br /&gt;textファイルを書き換えたり、新しくtextファイルを加えるだけで&lt;br /&gt;以前と違う内容の文章を表示できる。&lt;br /&gt;コードの中に長い文章を書くもんじゃない。&lt;br /&gt;&lt;br /&gt;だから、XcodeのResourcesにtextファイルを追加した。&lt;br /&gt;でも、コード上からそのファイルにアクセスするpathがわからず苦戦。&lt;br /&gt;&lt;br /&gt;どうやってResourcesのファイルへアクセスするのか探してみた&lt;br /&gt;結果、NSBundleにpathForResource:ofType:というインスタンスメソッドがあり&lt;br /&gt;これでアクセス出来ることがわかった&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;- (void)viewDidLoad {&lt;br /&gt;    [super viewDidLoad];&lt;br /&gt; path = [[NSBundle mainBundle] pathForResource:@"hello" ofType:@"txt"];&lt;br /&gt; text = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&amp;error];&lt;br /&gt; myLabel.text = text;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;pathをpathForResource:ofType:で指定して、&lt;br /&gt;stringWithContentsOfFile:encoding:error:で文字列を取り出す。&lt;br /&gt;ラベルボックスに.textでアクセスして書き換え。&lt;br /&gt;(pathとtextはNSString、errorはNSError型)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/S5DhFcrQmQI/AAAAAAAAAyw/MTP8H2J7RNQ/s1600-h/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-03-05+7.45.55+PM%EF%BC%89.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 164px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/S5DhFcrQmQI/AAAAAAAAAyw/MTP8H2J7RNQ/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-03-05+7.45.55+PM%EF%BC%89.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5445099433204160770" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1993726291359146588?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1993726291359146588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1993726291359146588' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1993726291359146588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1993726291359146588'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/03/iphone-path.html' title='iPhone リソースファイルへのpath、テキストの読み込み'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/S5DhFcrQmQI/AAAAAAAAAyw/MTP8H2J7RNQ/s72-c/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-03-05+7.45.55+PM%EF%BC%89.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4420095432130812243</id><published>2010-01-14T20:42:00.006+09:00</published><updated>2010-01-14T21:52:00.951+09:00</updated><title type='text'>ハワイで見てきたもの</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/S08DeUoJSCI/AAAAAAAAAwc/VWTQl7Y4gqc/s1600-h/cat.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/S08DeUoJSCI/AAAAAAAAAwc/VWTQl7Y4gqc/s400/cat.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426559895472785442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ハワイ大学のジジ。猫たくさんいてわくわくした。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/S08Dg-PkCFI/AAAAAAAAAwk/hcECRMXSvdc/s1600-h/IMG_2224.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/S08Dg-PkCFI/AAAAAAAAAwk/hcECRMXSvdc/s400/IMG_2224.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426559941003708498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;餌をあげてる人にムッシャァァァ！と群がる鳩。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S08ELwN15uI/AAAAAAAAAws/sO0XXU8BQkA/s1600-h/IMG_2080.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S08ELwN15uI/AAAAAAAAAws/sO0XXU8BQkA/s400/IMG_2080.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426560675972769506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;太平洋戦争、真珠湾攻撃を仕掛けた日本。現地には、たくさんの日系アメリカ人が働いていたそうです。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08ENqNjjBI/AAAAAAAAAw0/4ei8eFpJaLE/s1600-h/IMG_2095.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08ENqNjjBI/AAAAAAAAAw0/4ei8eFpJaLE/s400/IMG_2095.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426560708720692242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;パンフレットとかには載ってない、アーミーミュージアム。日系アメリカンもたくさん亡くなっていました。感慨深いです。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S08G0ARki4I/AAAAAAAAAxE/f0O6GRvYbyg/s1600-h/IMG_2222.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S08G0ARki4I/AAAAAAAAAxE/f0O6GRvYbyg/s400/IMG_2222.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426563566501399426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;フラダンス、ヒィーーーッハーーー！&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/S08GzcQ-B0I/AAAAAAAAAw8/_-r27s4I7m8/s1600-h/IMG_2173.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/S08GzcQ-B0I/AAAAAAAAAw8/_-r27s4I7m8/s400/IMG_2173.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426563556835198786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;HAKA？ポリネシアンダンス？ ムチャクチャカッコよかったです。生で見れてよかった&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08I_jAPSxI/AAAAAAAAAxc/w4mq9y3yRzM/s1600-h/IMG_2327.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08I_jAPSxI/AAAAAAAAAxc/w4mq9y3yRzM/s400/IMG_2327.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426565963825761042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;モアナルア・ガーデンパークのモンキーポッドと言う木。日立のCMででる有名な「この木なんの木」です。&lt;br /&gt;この公園はほとんど日本人しかこないそうです。現地の人達は早くあのでかい木を切ってあのへんを開拓したいと思ってたらしいです。&lt;br /&gt;そうさせないため2007年に日立に買いとられたそうです。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08I-ep88FI/AAAAAAAAAxU/UiSpwWocI0k/s1600-h/IMG_2347.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08I-ep88FI/AAAAAAAAAxU/UiSpwWocI0k/s400/IMG_2347.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426565945478672466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;公園で水をあげてた人、日系アメリカンだと思います。写真とらして？ってきいたら「ん？おれはTVスターじゃないけどいいのかいｗ」とジョークを返してくれました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/S08I9AmW4KI/AAAAAAAAAxM/MIIsLiEfmqI/s1600-h/IMG_2379.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/S08I9AmW4KI/AAAAAAAAAxM/MIIsLiEfmqI/s400/IMG_2379.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5426565920230662306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;カメハメハ大王像、どうしても島巡りしたかったのでショッピングセンターの中でみつけたH.I.Sでツアーの当日予約をしました。&lt;br /&gt;ひとりで写真をとられるのもなんなので、運転手さんと撮ってもらいました。&lt;br /&gt;カメハメハ大王様は、かめはめ波を撃ってるわけではないんですね。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08OZK_JFkI/AAAAAAAAAxk/4TzEIZtP5eY/s1600-h/51hFXGDNj6L._SL500_AA240_.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 240px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/S08OZK_JFkI/AAAAAAAAAxk/4TzEIZtP5eY/s400/51hFXGDNj6L._SL500_AA240_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5426571901613446722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;帰りの飛行機で見た映画「Paper Heart 」 (2009)、愛についてのドキュメンタリー風フィクション、主人公のYiちゃんがアメリカを縦断しながら愛についてインタビューして行きながら、ある男の子と恋に落ちていくと言う話、とてもいい作りの映画！これはオススメ&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S08R-7axOAI/AAAAAAAAAxs/UdYkl8mLGo0/s1600-h/513yF4wOKGL._SL500_AA240_.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 240px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S08R-7axOAI/AAAAAAAAAxs/UdYkl8mLGo0/s400/513yF4wOKGL._SL500_AA240_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5426575848804268034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;「Love Happens」(2009)、事故で妻をなくしたBurke Ryanは、同じく肉親を亡くし苦しむ人達を勇気づける本を出版して成功していた、あるひおかしな女性にあいやがて心をひかれていく、しかし彼は妻を自分のせいで亡くしてしまった自責の念に押しつぶされそうになる、そのとき彼をたすけたものは？そして恋のゆくえは？全部英語だったけど、二回見て二回とも泣いた、いい映画でした。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4420095432130812243?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4420095432130812243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4420095432130812243' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4420095432130812243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4420095432130812243'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/01/blog-post_14.html' title='ハワイで見てきたもの'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/S08DeUoJSCI/AAAAAAAAAwc/VWTQl7Y4gqc/s72-c/cat.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2257491071671635496</id><published>2010-01-08T00:50:00.004+09:00</published><updated>2010-01-08T01:00:01.009+09:00</updated><title type='text'>ハワイに来てます</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/S0YC5y4EZqI/AAAAAAAAAv8/lAnqFcbQ6h4/s1600-h/IMG_3123.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/S0YC5y4EZqI/AAAAAAAAAv8/lAnqFcbQ6h4/s400/IMG_3123.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5424025993147082402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ワイキキのあんばさアンバサダーホテルに泊まってます。&lt;br /&gt;一日目はご当地AppleStoreを巡礼して、スターバックスへ行き、&lt;br /&gt;ショピングセンターを下見して、フードコートで御飯食べて&lt;br /&gt;absストアで水と4daysパスを買っておしまい。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S0YE1nZn6LI/AAAAAAAAAwU/zDovaD_uX6o/s1600-h/IMG_3130.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S0YE1nZn6LI/AAAAAAAAAwU/zDovaD_uX6o/s400/IMG_3130.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5424028120370374834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/S0YE1Bg0lpI/AAAAAAAAAwM/kysoxHx2cWE/s1600-h/IMG_3129.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/S0YE1Bg0lpI/AAAAAAAAAwM/kysoxHx2cWE/s400/IMG_3129.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5424028110200018578" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/S0YE0uobP2I/AAAAAAAAAwE/pcxpda6OSFo/s1600-h/IMG_3126.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/S0YE0uobP2I/AAAAAAAAAwE/pcxpda6OSFo/s400/IMG_3126.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5424028105131638626" /&gt;&lt;/a&gt;&lt;br /&gt;ハワイはひとりで来るもんじゃないねｗ&lt;br /&gt;これじゃ日本にいるのとかわらんｗ&lt;br /&gt;&lt;br /&gt;今朝は早起きで、今から２日目スタート、&lt;br /&gt;これから支度してハワイ大学行ってきます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2257491071671635496?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2257491071671635496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2257491071671635496' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2257491071671635496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2257491071671635496'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/01/blog-post.html' title='ハワイに来てます'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/S0YC5y4EZqI/AAAAAAAAAv8/lAnqFcbQ6h4/s72-c/IMG_3123.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7995242455280640338</id><published>2010-01-01T02:13:00.005+09:00</published><updated>2010-01-02T00:59:22.288+09:00</updated><title type='text'>Happy new year !! 2010 =^.^= ~</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Szzb4uAIIDI/AAAAAAAAAvc/V5syddc56Oo/s1600-h/hny.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Szzb4uAIIDI/AAAAAAAAAvc/V5syddc56Oo/s400/hny.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5421449818914955314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;新年あけまして、おめでとうございます！&lt;br /&gt;&lt;br /&gt;あったかい年明けです！&lt;br /&gt;&lt;br /&gt;今年も1月早々にたくさん予定が入っており&lt;br /&gt;&lt;br /&gt;忙しい一年が始まりそうでなによりです。&lt;br /&gt;&lt;br /&gt;昨年は沢山の人に出会い、助けられ、多くのことを学ばせて頂きました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;今年も白いメガネでよろしくお願いします！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;月蝕でした！AM4:22 ピークでした！&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Szz_NoJ1QkI/AAAAAAAAAvk/QbmPg6dCogw/s1600-h/IMG_1866.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Szz_NoJ1QkI/AAAAAAAAAvk/QbmPg6dCogw/s400/IMG_1866.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5421488661029274178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;りんごにしか見えなかったので、我慢できずにやっちゃいました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;お月さま、ごめんなさい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Szz_OH2THfI/AAAAAAAAAvs/FbXlqzNS5m0/s1600-h/moopple.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Szz_OH2THfI/AAAAAAAAAvs/FbXlqzNS5m0/s400/moopple.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5421488669537279474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;謹賀新年Ver.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sz4bvlls6EI/AAAAAAAAAv0/xoqRAftWo0s/s1600-h/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-01-02+12.12.03+AM%EF%BC%89.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 160px; height: 162px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sz4bvlls6EI/AAAAAAAAAv0/xoqRAftWo0s/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882010-01-02+12.12.03+AM%EF%BC%89.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5421801505758701634" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7995242455280640338?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7995242455280640338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7995242455280640338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7995242455280640338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7995242455280640338'/><link rel='alternate' type='text/html' href='http://tanb.me/2010/01/happy-new-year-2010.html' title='Happy new year !! 2010 =^.^= ~'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/Szzb4uAIIDI/AAAAAAAAAvc/V5syddc56Oo/s72-c/hny.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2297402638111603914</id><published>2009-12-29T05:02:00.006+09:00</published><updated>2009-12-29T06:00:24.716+09:00</updated><title type='text'>erlang lists:seq()を書いてみた</title><content type='html'>末尾再帰ではないですが&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;-module(seq).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;seq(X) -&amp;gt; seq(0,X,1).&lt;br /&gt;seq(X,Y) -&amp;gt; seq(X,Y,1).&lt;br /&gt;&lt;br /&gt;seq(X,X,_Z) -&amp;gt; [X];&lt;br /&gt;seq(X,Y,Z) when X &amp;gt; Y , Z &amp;gt; 0 -&amp;gt; [];&lt;br /&gt;seq(X,Y,Z) when Z &amp;gt; 0 -&amp;gt; [X | seq(X+Z, Y, Z)]; &lt;br /&gt;seq(X,Y,Z) -&amp;gt; lists:reverse(seq(Y, X, -1 * Z)).&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;でもこれだとX,Y,Zが整数かどうかしらべてやってないのでよろしくないとおもうので&lt;br /&gt;is_Integer(X)をいれて判定、通らなければエラーで落ちる&lt;br /&gt;もしZが正ならそのままseq_calを計算、負なら逆さにしてseq_calしてリバース&lt;br /&gt;&lt;br /&gt;判定をしてからseq_calに処理を丸投げしました。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;-module(seq).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;seq(X) when is_integer(X) -&amp;gt; seq_cal(0,X,1).&lt;br /&gt;seq(X,Y) when is_integer(X),is_integer(Y) -&amp;gt; seq_cal(X,Y,1).&lt;br /&gt;seq(X,Y,Z) when is_integer(X),is_integer(Y),is_integer(Z) -&amp;gt;&lt;br /&gt;    case Z &amp;gt; 0 of&lt;br /&gt;        true -&amp;gt; seq_cal(X,Y,Z);&lt;br /&gt;        false -&amp;gt; lists:reverse(seq_cal(Y, X, -1 * Z))&lt;br /&gt;    end.&lt;br /&gt;&lt;br /&gt;seq_cal(X,X,_Z) -&amp;gt; [X];&lt;br /&gt;seq_cal(X,Y,_Z) when X &amp;gt; Y -&amp;gt; [];&lt;br /&gt;seq_cal(X,Y,Z) -&amp;gt; [X | seq_cal(X+Z, Y, Z)].&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;そうすると四つ目の引数に手続きを食わせるとか&lt;br /&gt;つくってみたり。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;seq(X,Y,Z,F) -&gt;&lt;br /&gt;    lists:map(F,seq(X,Y,Z)).&lt;br /&gt;&lt;br /&gt;結果&lt;br /&gt;&gt; seq:seq(1,5,1,fun (X) -&gt; X+10 end).&lt;br /&gt;[11,12,13,14,15]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;reverseは遅いですね&lt;br /&gt;そして末尾再起でもないし&lt;br /&gt;書き直して比べてみよう&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2297402638111603914?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2297402638111603914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2297402638111603914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2297402638111603914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2297402638111603914'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/12/erlang-listsseq.html' title='erlang lists:seq()を書いてみた'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4150013205118320068</id><published>2009-12-27T05:16:00.010+09:00</published><updated>2009-12-27T06:24:13.113+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='カスタマイズ'/><category scheme='http://www.blogger.com/atom/ns#' term='やったこと'/><title type='text'>julius 4.1.4 on OSX 10.6.2 (snow leopard) 入れました</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/SzZ4Bf9sf2I/AAAAAAAAAvU/iZsOTh4HH1w/s1600-h/mic_web.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 83px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/SzZ4Bf9sf2I/AAAAAAAAAvU/iZsOTh4HH1w/s320/mic_web.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5419651168742440802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Julius は，音声認識システムの開発・研究のためのオープンソースの 高性能な汎用大語彙連続音声認識エンジンです(&lt;a href="http://julius.sourceforge.jp/"&gt;http://julius.sourceforge.jp/&lt;/a&gt; より抜粋)&lt;br /&gt;&lt;br /&gt;こんな時間になってしまいました。&lt;br /&gt;普通に入れようとしても入りませんでしたのでエントリーします。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.jp/projects/julius/downloads/45063/"&gt;jurius4.1.4&lt;/a&gt; のjurius-4.1.4.tar.gzを&lt;br /&gt;ダウンロードしておきます。&lt;br /&gt;&lt;br /&gt;それでは、10.6.2へjurius4.1.4を入れていきましょう。&lt;br /&gt;うまくいけばこんなことができます&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/C1dWP5Qs5-Y&amp;hl=ja_JP&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/C1dWP5Qs5-Y&amp;hl=ja_JP&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;web上にある情報の殆どがOSX10.5でのインストールデモだったので&lt;br /&gt;苦戦しました。&lt;br /&gt;&lt;br /&gt;インストールしてもマイクの入力をひろってくれません。&lt;br /&gt;マイク入力を使うためにはPortAudioが必要だそうです。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.portaudio.com/download.html"&gt;PortAudio&lt;/a&gt; の&lt;br /&gt;&lt;b&gt;Stable Releases&lt;/b&gt;&lt;br /&gt;pa_stable_v19_20071207.tar.gz is current V19 posted December 7, 2007&lt;br /&gt;をダウンロードしてきました。&lt;br /&gt;&lt;br /&gt;こちらのインストールもチュートリアルをみるとOSX10.4,10.5対応で、&lt;br /&gt;OSX10.6についての対応は書かれていません。&lt;br /&gt;&lt;br /&gt;ここではアーキテクチャを選択してconfigureして通りました。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;$ env CFLAGS='-arch i386' ./configure&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;---------&lt;br /&gt;これでjuliusをいれれば動くはずですが&lt;br /&gt;&lt;br /&gt;参考させていただいたぺーじで&lt;br /&gt;&lt;a href="http://www.mega-nerd.com/libsndfile/"&gt;libsndfile&lt;/a&gt;を入れていたので&lt;br /&gt;&lt;br /&gt;./configure&lt;br /&gt;$ make&lt;br /&gt;$ sudo make install&lt;br /&gt;&lt;br /&gt;でいれました。ここをとばしてもうまく行きそうですので&lt;br /&gt;飛ばしてやってみてください。その結果を教えていただけるとたすかります。&lt;br /&gt;&lt;br /&gt;---------&lt;br /&gt;&lt;br /&gt;PortAudioが入った状態で&lt;br /&gt;jurius-4.1.4へいきconfigureします&lt;br /&gt;&lt;br /&gt;こちらもPortAudio同様 i386アーキテクチャーでconfigureしないと&lt;br /&gt;juliusがportAudioを呼び出したときにエラーを吐いて落ちてしまいました。&lt;br /&gt;以下の要領でインストールします。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;$ env CFLAGS='-arch i386' ./configure --enable-words-int --with-mictype=portaudio --disable-zlib&lt;br /&gt;$ make&lt;br /&gt;$ sudo make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;これで入ったはずです。&lt;br /&gt;ディクテーションを実行するためにはdictation-kitのjconfファイルが必要ですので&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.jp/projects/julius/downloads/44943/"&gt;dictation-kitバージョン4.0&lt;/a&gt; のdictation-kit-v4.0.tar.gz&lt;br /&gt;をダウンロードします。&lt;br /&gt;&lt;br /&gt;解凍してなたなかにあるfast.jconfをjulius実行時に指定します&lt;br /&gt;そのまま実行すると文字化けするので文字コードを指定してください&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;$ julius -C fast.jconf -charconv EUC-JP UTF-8&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;以上です。&lt;br /&gt;&lt;br /&gt;&lt;&lt;&lt; please speak &gt;&gt;&gt;&lt;br /&gt;と出たあとに「わたしは まいにち こーひーをのむ」というと&lt;br /&gt;&lt;br /&gt;pass1_best:  私 は 毎日 後期 五 飲む 。                  &lt;br /&gt;sentence1:  私 は 毎日 、 コーヒー を 飲む 。 &lt;br /&gt;&lt;br /&gt;といった感じでディクテーションしてくれます。&lt;br /&gt;感動しました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://quruli.ivory.ne.jp/diary/?date=20091226"&gt;Hena Hena Nikki &lt;/a&gt;を参考にさせていただきました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4150013205118320068?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4150013205118320068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4150013205118320068' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4150013205118320068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4150013205118320068'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/12/julius-414-on-osx-1062-snow-leopard.html' title='julius 4.1.4 on OSX 10.6.2 (snow leopard) 入れました'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/SzZ4Bf9sf2I/AAAAAAAAAvU/iZsOTh4HH1w/s72-c/mic_web.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1491319383844660364</id><published>2009-12-08T19:20:00.010+09:00</published><updated>2009-12-08T20:49:39.432+09:00</updated><title type='text'>Erlang Super Lite #3</title><content type='html'>ex2だけ予習した、ごめんなさい&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;%% ex2.erl&lt;br /&gt;-module(ex2).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;create(N) -&amp;gt;&lt;br /&gt;    create_acc(N, []).&lt;br /&gt;&lt;br /&gt;create_acc(N, L) -&amp;gt;&lt;br /&gt;    case N of&lt;br /&gt;        0 -&amp;gt; L;&lt;br /&gt;        _ -&amp;gt; create_acc(N-1,[N|L])&lt;br /&gt;    end.&lt;br /&gt;&lt;br /&gt;reverse_create(N) -&amp;gt;&lt;br /&gt;    case N of&lt;br /&gt;        0 -&amp;gt; [];&lt;br /&gt;        _ -&amp;gt; [N|reverse_create(N-1)]&lt;br /&gt;    end.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;メモ&lt;br /&gt;%% cons | とappend ++&lt;br /&gt;%% ==, /=, =:=, =/=, =&lt;, &gt;=&lt;br /&gt;%% _hoge　アンスコ変数&lt;br /&gt;%% _　ワイルドカード&lt;br /&gt;%% 変数は大文字から&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;メモ&lt;br /&gt;%% case&lt;br /&gt;%% if : あまりつかわない&lt;br /&gt;%% ガード&lt;br /&gt;%% パターンマッチ&lt;br /&gt;%% ユーザ関数使用不可&lt;br /&gt;%% BIF(ビルトインファンクション)&lt;br /&gt;%% Access(hd, tl, length, ..)&lt;br /&gt;%% 型変換(round, float, ...)&lt;br /&gt;%% apply/3&lt;br /&gt;%% I/O(get_line, read, write, format, ...)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;メモ&lt;br /&gt;%% try~catch&lt;br /&gt;%% パターンマッチ&lt;br /&gt;%% _:_ -&gt;&lt;br /&gt;%% throw&lt;br /&gt;%% Debugger&lt;br /&gt;%% &gt; c(Module, [debug_info])&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;メモ9章に飛んで&lt;br /&gt;%% 無名関数fun() -&gt; ... end&lt;br /&gt;%% lists:map(fun(X) -&gt; X*2, Xs)&lt;br /&gt;%% List内包&lt;br /&gt;%% [Expression || Generators, Guards, Generators, ...]&lt;br /&gt;%% [{X, Y} || X &lt;- [1, 2, 3], Y &lt;- [4, 5, 6]]&lt;br /&gt;%% qsort&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1491319383844660364?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1491319383844660364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1491319383844660364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1491319383844660364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1491319383844660364'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/12/erlang-super-lite-3.html' title='Erlang Super Lite #3'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8623192963621014365</id><published>2009-11-15T20:01:00.010+09:00</published><updated>2009-11-15T20:33:45.344+09:00</updated><title type='text'>Kindleが届いたので開封式をしました</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sv_ivmJcimI/AAAAAAAAAuI/4KSstZKeB1M/s1600-h/IMG_1701.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sv_ivmJcimI/AAAAAAAAAuI/4KSstZKeB1M/s400/IMG_1701.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404287385189780066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;やっとKindleを購入しました。&lt;/h4&gt;&lt;br /&gt;&lt;big&gt;"買わずに後悔するな、買って公開しろ"&lt;/big&gt;という言葉に胸をうたれ、今月の11日の深夜に注文しました。&lt;br /&gt;&lt;br /&gt;14日の夕方には届いていたので、&lt;big&gt;2日半&lt;/big&gt;で届いたようです。&lt;br /&gt;あまりの早さにびっくりました。&lt;br /&gt;(16日到着予定とmailにあったのにw)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sv_i746JP2I/AAAAAAAAAuQ/wEBqfQH_B-k/s1600-h/IMG_1702.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sv_i746JP2I/AAAAAAAAAuQ/wEBqfQH_B-k/s400/IMG_1702.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404287596384304994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sv_i8akZECI/AAAAAAAAAuY/SdNqMDRsYiA/s1600-h/IMG_1703.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sv_i8akZECI/AAAAAAAAAuY/SdNqMDRsYiA/s400/IMG_1703.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404287605419872290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sv_i887M1_I/AAAAAAAAAug/RipQXAltC1g/s1600-h/IMG_1704.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sv_i887M1_I/AAAAAAAAAug/RipQXAltC1g/s400/IMG_1704.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404287614642345970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sv_i9GBoVXI/AAAAAAAAAuo/EGkS2-AqGMU/s1600-h/IMG_1705.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sv_i9GBoVXI/AAAAAAAAAuo/EGkS2-AqGMU/s400/IMG_1705.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5404287617085232498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;簡単にkindleの素晴らしさをまとめました。&lt;br /&gt;&lt;br /&gt;・E Ink製ディスプレイ&lt;br /&gt;・ポータビリティ&lt;br /&gt;・音声読み上げ&lt;br /&gt;・検索,マーカー,辞書,webブラウズ機能&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sv_jbtCHNsI/AAAAAAAAAuw/pUGJfBGJ8X8/s1600-h/IMG_1707.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sv_jbtCHNsI/AAAAAAAAAuw/pUGJfBGJ8X8/s400/IMG_1707.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404288142952314562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sv_jcK8rXpI/AAAAAAAAAu4/NfNtZyrTHlU/s1600-h/IMG_1710.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sv_jcK8rXpI/AAAAAAAAAu4/NfNtZyrTHlU/s400/IMG_1710.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404288150982581906" /&gt;&lt;/a&gt;&lt;br /&gt;まず&lt;big&gt;E Ink社の電子ペーパーディスプレイ&lt;/big&gt;に感動します。本当に紙の上に描かれた字の様に見え、反射光を感じずチカチカしません。また、技術的にすぐれていて、一度表示した画像の保持に&lt;big&gt;電力が必要ない&lt;/big&gt;ため、電源を切っていても、画像を表示しつづける事ができます。&lt;br /&gt;なので、バッテリーライフは完全充電で数日もちます。&lt;br /&gt;(&lt;big&gt;4日ほどもつ&lt;/big&gt;という話)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sv_jox5wFrI/AAAAAAAAAvA/Q6bKjm8jWD8/s1600-h/IMG_1706.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sv_jox5wFrI/AAAAAAAAAvA/Q6bKjm8jWD8/s400/IMG_1706.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5404288367597721266" /&gt;&lt;/a&gt;&lt;br /&gt;つぎに&lt;big&gt;ポータビィリティ&lt;/big&gt;です。この薄さ！&lt;br /&gt;本を1500冊持ち歩いた事はありませんが、僕は技術書を2冊持ち歩くだけで不便を感じていました。はい。kindleは約&lt;big&gt;1500ものbookデータ&lt;/big&gt;が入るそうなんです。&lt;br /&gt;また、pdfも持ち歩けます。kindleを購入したアカウント"hoge***@...."に対し、"hoge***@free.kindle.com"というアドレスが割り当てられるので、このドレスにPDFを送りつけるとazw形式に変換して送り返してくれる&lt;big&gt;変換サービス&lt;/big&gt;がついています。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sv_lhSHvSwI/AAAAAAAAAvI/mdwCULjyXZ4/s1600-h/4104880441_7e7ecd82d4_b.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sv_lhSHvSwI/AAAAAAAAAvI/mdwCULjyXZ4/s400/4104880441_7e7ecd82d4_b.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5404290437830626050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;個人的にうれしい音声読み上げ&lt;/big&gt;(音声は英語のみ)&lt;br /&gt;字を読むスピードがものすごく遅い僕には、文を読んでくれるのはすごく助かります。&lt;br /&gt;読みづらい英語でもすっと頭に入ってくる。pdfで&lt;big&gt;こちらが勝手にいれたデータも&lt;/big&gt;英語なら&lt;br /&gt;ちゃんと読んでくれます。&lt;br /&gt;&lt;br /&gt;他にも、本の中を&lt;big&gt;検索できる&lt;/big&gt;し、英英&lt;big&gt;辞書がすぐ見れる&lt;/big&gt;ので難しい英単語でも大丈夫。&lt;u&gt;気になったり大切におもったところにはマークアップして&lt;big&gt;下線を引き&lt;/big&gt;&lt;/u&gt;、あとで"My Notes&amp;Marks"を見ればすぐそこに飛べます。&lt;br /&gt;&lt;big&gt;無料の3G回線&lt;/big&gt;につながっているのでwebブラウジングもできます。このSprint社のWhispernetと呼ばれる3Gネットワークは日本のほぼ全域をカバーしているので、どこでも本を検索して、その場で本が買えます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Fvk1mXcmfnc&amp;hl=ja_JP&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Fvk1mXcmfnc&amp;hl=ja_JP&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8623192963621014365?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8623192963621014365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8623192963621014365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8623192963621014365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8623192963621014365'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/11/kindle.html' title='Kindleが届いたので開封式をしました'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/Sv_ivmJcimI/AAAAAAAAAuI/4KSstZKeB1M/s72-c/IMG_1701.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7725197605470656769</id><published>2009-11-12T03:23:00.009+09:00</published><updated>2009-11-12T04:11:55.203+09:00</updated><title type='text'>if...end と カンマ、セミコロン、ドット</title><content type='html'>うろ覚えですが以前Voluntasさんが&lt;br /&gt;カンマ( , )はかつ&lt;br /&gt;セミコロン( ; )はまたは&lt;br /&gt;ドット( . )は終端と考えると&lt;br /&gt;覚えやすいと教えてくださった気がします。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;if式の書き方の基本は&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;if&lt;br /&gt;    Gard -&gt; Expr&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;である。&lt;br /&gt;&lt;br /&gt;if式のGardが複数の場合は”または”のセミコロン( ; )をつける&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;if &lt;br /&gt;    Gard1 -&gt; Expr1;&lt;br /&gt;    Gard2 -&gt; Expr2&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;ドット( . )は関数定義の終端に書く。&lt;br /&gt;カンマ( , )は式かつ式かつ式とつなげるとき書く。&lt;br /&gt;&lt;br /&gt;以上から無理矢理複雑なif文を下に書いてみたけど&lt;br /&gt;理解できる。&lt;br /&gt;&lt;br /&gt;if式だけだと気持ち悪いけどcase式やガードを使えば&lt;br /&gt;もうちょっと見やすくなると思う。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;-module(ifblock).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;test1(X) -&amp;gt;&lt;br /&gt;    if X == 0 -&amp;gt; zero end,&lt;br /&gt;    io:format("~p is zero~n",[X]).&lt;br /&gt;     &lt;br /&gt;test2(X) -&amp;gt;&lt;br /&gt;    if &lt;br /&gt;       is_integer(X) -&amp;gt; int;&lt;br /&gt;       is_boolean(X) -&amp;gt; bool;&lt;br /&gt;       is_atom(X) -&amp;gt; atom&lt;br /&gt;    end.&lt;br /&gt;&lt;br /&gt;test3(X) -&amp;gt;&lt;br /&gt;    if &lt;br /&gt;       is_integer(X) -&amp;gt;&lt;br /&gt;           if X == 0 -&amp;gt; zero end;&lt;br /&gt;       is_boolean(X) -&amp;gt;&lt;br /&gt;           if &lt;br /&gt;              X == true -&amp;gt; true;&lt;br /&gt;              X == false -&amp;gt; false&lt;br /&gt;           end;&lt;br /&gt;       is_atom(X) -&amp;gt; atom&lt;br /&gt;    end.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;実行結果&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;1&gt; ifblock:test1(0).&lt;br /&gt;0 is zero&lt;br /&gt;ok&lt;br /&gt;2&gt; ifblock:test2(1).&lt;br /&gt;int&lt;br /&gt;3&gt; ifblock:test2(a).&lt;br /&gt;atom&lt;br /&gt;4&gt; ifblock:test2(true).&lt;br /&gt;bool&lt;br /&gt;5&gt; ifblock:test3(false).&lt;br /&gt;false&lt;br /&gt;11&gt; ifblock:test3(0).&lt;br /&gt;zero&lt;br /&gt;12&gt; ifblock:test3(a).&lt;br /&gt;atom&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7725197605470656769?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7725197605470656769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7725197605470656769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7725197605470656769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7725197605470656769'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/11/ifend.html' title='if...end と カンマ、セミコロン、ドット'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-808380978419909764</id><published>2009-11-12T03:04:00.004+09:00</published><updated>2009-11-12T03:09:25.028+09:00</updated><title type='text'>Erlang Programming Chapter2メモ</title><content type='html'>Erlang Programming の Exercise2-3についてメモ。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;-module(boolean).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;b_not(true) -&amp;gt; false;&lt;br /&gt;b_not(false) -&amp;gt; true.&lt;br /&gt;&lt;br /&gt;b_and(true,true) -&amp;gt; true;&lt;br /&gt;b_and(_, _) -&amp;gt; false.&lt;br /&gt;&lt;br /&gt;b_or(false, false) -&amp;gt; false;&lt;br /&gt;b_or(_, _) -&amp;gt; true.&lt;br /&gt;&lt;br /&gt;b_nand(X, Y) -&amp;gt; b_not(b_and(X, Y)).&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;要件は満たしているけど&lt;br /&gt;これだと,アンダースコアを通す時ちょっとくやしい思いをする。&lt;br /&gt;&lt;br /&gt;1&gt; boolean:b_or(1,2).&lt;br /&gt;true&lt;br /&gt;となってほしくはない。&lt;br /&gt;&lt;br /&gt;勉強したアンダースコア変数も使って、ガードをつけてみる。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;-module(boolean).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;b_not(true) -&amp;gt; false;&lt;br /&gt;b_not(false) -&amp;gt; true.&lt;br /&gt;&lt;br /&gt;b_and(true,true) -&amp;gt; true;&lt;br /&gt;b_and(_X, _Y) when is_boolean(_X), is_boolean(_Y) -&amp;gt; false.&lt;br /&gt;&lt;br /&gt;b_or(false, false) -&amp;gt; false;&lt;br /&gt;b_or(_X, _Y) when is_boolean(_X), is_boolean(_Y) -&amp;gt; true.&lt;br /&gt;&lt;br /&gt;b_nand(X, Y) when is_boolean(X), is_boolean(Y) -&amp;gt; b_not(b_and(X, Y)).&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;でももっと良かったのはこれ&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;-module(bool).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;b_not(X) -&amp;gt; X == false.&lt;br /&gt;&lt;br /&gt;b_and(X,Y) when is_boolean(X), is_boolean(Y) -&amp;gt;&lt;br /&gt;    {true, true} == {X,Y}.&lt;br /&gt;&lt;br /&gt;b_or(X,Y) when is_boolean(X), is_boolean(Y) -&amp;gt;&lt;br /&gt;    b_not({false, false} == {X,Y}).&lt;br /&gt;&lt;br /&gt;b_nand(X,Y) when is_boolean(X), is_boolean(Y) -&amp;gt;&lt;br /&gt;    b_not(b_and(X,Y)).&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-808380978419909764?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/808380978419909764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=808380978419909764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/808380978419909764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/808380978419909764'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/11/erlang-programming-chapter2.html' title='Erlang Programming Chapter2メモ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7162613966584344149</id><published>2009-11-01T01:59:00.007+09:00</published><updated>2009-11-01T02:49:41.001+09:00</updated><title type='text'>iPhoneSDKの勉強会を開いてきたよ</title><content type='html'>昨日ですが、「最もど素人くさいiPhoneSDK勉強会」を開いてきました。&lt;br /&gt;&lt;br /&gt;関係者の皆様、昨日はありがとうございました。&lt;br /&gt;ほんと勉強になる一日で、楽しいときを過ごせて良かったです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;今回はハンズオン形式でやらせていただきました。参加者７名。&lt;br /&gt;・tanB 主催者&lt;br /&gt;・y_takagi&lt;br /&gt;・matsu_twt&lt;br /&gt;・TomNekoCat&lt;br /&gt;・naotchchan&lt;br /&gt;・yamaneko1212&lt;br /&gt;・t_fridge&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;思った通り、ほとんどの人が”ぽかぁーん”って感じで。。。&lt;br /&gt;(ぽかーんっていうのは訂正、はじめていじる人とチュートリアルを&lt;br /&gt;少しでもやってみた人との差が激しかった。）&lt;br /&gt;&lt;br /&gt;バグもたくさんでて、ひとつひとつつぶして行く感じ。。。&lt;br /&gt;時間も足りなくなったりして、失敗したなーと思いました。&lt;br /&gt;&lt;br /&gt;ぼくのセッション、最後まで行けませんでしたが、&lt;br /&gt;多分この辺までしか行けないだろう思ってた所まで行けてたので&lt;br /&gt;まぁまぁ幸いでした。&lt;br /&gt;&lt;br /&gt;ソースコードと発表資料のpdfは共有サーバーにあげておき、&lt;br /&gt;みなさんにも配布しましたし、最後まで行けなくてもこれを&lt;br /&gt;お土産に持って帰っていただければ皆さんのやる気も&lt;br /&gt;、、、沸いてくる！んじゃないかとw思ってw&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;実は、最後に飛び入りセッションで開発経験のある方に発表していただけました。&lt;br /&gt;以前から発表してくれしてくれぇとお願いしていたのですが、承諾はもらえずでした。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;そしたら。&lt;br /&gt;本番でちゃんと用意してきてくれてるんだもん！いい人w&lt;br /&gt;感謝感激じわぁ〜&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;OpenGLやViewController、作り始めるときはNavigationBasedテンプレートがいいとか&lt;br /&gt;delegateプロトコル、シミュレータと実機デバッグの違い、実機登録の方法など&lt;br /&gt;ためになる話ばかりでした。&lt;br /&gt;シリコンバレー旅行の話も聞けてよかった♪&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;これに懲りずに&lt;br /&gt;「最もど素人くさいiPhoneSDK勉強会#2」やります！&lt;br /&gt;日程は未定。&lt;br /&gt;&lt;br /&gt;ハンズオンはやめようかなって思ってます。コードを写経しても&lt;br /&gt;時間ばかりかかってしまって、失敗しました。&lt;br /&gt;サンプルを動かしてから、どう実装したのか周りを話す発表形式にしようかな？&lt;br /&gt;&lt;br /&gt;それまでに、今回参加された方の何人かがきっと&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;サンプルアプリを作ってきてくれる事でしょう！&lt;/span&gt;&lt;br /&gt;というあわい期待をもちつつ&lt;br /&gt;&lt;br /&gt;来てくださったみなさん本当にありがとうございました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7162613966584344149?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7162613966584344149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7162613966584344149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7162613966584344149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7162613966584344149'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/11/iphonesdk.html' title='iPhoneSDKの勉強会を開いてきたよ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-472085995160656954</id><published>2009-10-30T00:44:00.006+09:00</published><updated>2009-10-30T01:18:50.471+09:00</updated><title type='text'>Mogic Mouseを購入しました。</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sum422qdINI/AAAAAAAAAtg/H410Z4_HJ_I/s1600-h/IMG_1534.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sum422qdINI/AAAAAAAAAtg/H410Z4_HJ_I/s400/IMG_1534.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5398048880906281170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;例によって、開封の儀です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;実に美しいパッケージング&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sum43VeGqDI/AAAAAAAAAto/Lb6HSzkXnQE/s1600-h/IMG_1535.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sum43VeGqDI/AAAAAAAAAto/Lb6HSzkXnQE/s400/IMG_1535.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5398048889175975986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sum4381Ul7I/AAAAAAAAAtw/D-Icj5FEc8I/s1600-h/IMG_1536.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sum4381Ul7I/AAAAAAAAAtw/D-Icj5FEc8I/s400/IMG_1536.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5398048899742341042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sum44YzhEZI/AAAAAAAAAt4/1FnVpBiJeT0/s1600-h/IMG_1537.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sum44YzhEZI/AAAAAAAAAt4/1FnVpBiJeT0/s400/IMG_1537.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5398048907250962834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;この上部のパネルがタッチジェスチャーを感知するセンサーになっています。&lt;br /&gt;美しい、、、&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_uD_aDCUrXo&amp;hl=ja&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_uD_aDCUrXo&amp;hl=ja&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-472085995160656954?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/472085995160656954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=472085995160656954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/472085995160656954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/472085995160656954'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/10/mogic-mouse.html' title='Mogic Mouseを購入しました。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/Sum422qdINI/AAAAAAAAAtg/H410Z4_HJ_I/s72-c/IMG_1534.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2040641188373611531</id><published>2009-10-22T21:45:00.012+09:00</published><updated>2009-10-22T22:30:48.151+09:00</updated><title type='text'>Erlang Super Lite(仮)勉強会準備会にいってきました</title><content type='html'>Erlangについてはもちろん、勉強会の開き方についても大変勉強になりました。&lt;br /&gt;&lt;br /&gt;全く個人的にログを録っておいたので、&lt;br /&gt;僭越ながら差し支えの無い範囲で議事録とさせていただければと思います。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Erlang Super Lite(仮)準備会&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# 勉強会の形式について&lt;/span&gt;&lt;br /&gt;どの様に勉強会をやっていくか、いくつかあがっていた。&lt;br /&gt;&lt;br /&gt;・読書会&lt;br /&gt;・Hack-a-thon&lt;br /&gt;・Hands On&lt;br /&gt;・課題(宿題)形式&lt;br /&gt;・イベント(講師、チュートリアル、サマリー)&lt;br /&gt;・ソースコードリーディング&lt;br /&gt;・短期間限定型&lt;br /&gt;&lt;br /&gt;共通目的を持つ事が必要。&lt;br /&gt;そこで、サンプルを作りながら、みんなでぶつかった壁を超えて行くのはどうかという意見。&lt;br /&gt;多くの人が共感。これは課題形式に該当。&lt;br /&gt;&lt;br /&gt;皆スケジュールも忙しいので、隔週でもできないかもしれない。&lt;br /&gt;飛行機本を一章ずつすすめていくにも、時間がたりない。&lt;br /&gt;短期間集中で時間を限定して、何かを作るのがいいかもしれない。短期間限定型。&lt;br /&gt;&lt;br /&gt;イベントを開いても人はこないのではないか&lt;br /&gt;新しく始める人は少ないし、やってる人は深いところまでやっている&lt;br /&gt;&lt;br /&gt;など意見がでた。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Erlangを勉強する上で&lt;/span&gt;&lt;br /&gt;・飛行機本はおいといて&lt;br /&gt;Erlang Programmingがおすすめである。&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS2=1&amp;npa=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=jazzical19-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;asins=0596518188" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;・そもそもErlangは仕事用言語であるから、おもしろさを求めるものではない。&lt;br /&gt;(Pythonの方がずっと面白い。)&lt;br /&gt;&lt;br /&gt;・実際にモノをつくるときは背景にあるネットワークプロトコルを知らねばならない&lt;br /&gt;言語より、そちらの知識が求められる。&lt;br /&gt;&lt;br /&gt;・&lt;span style="font-weight:bold;"&gt;製品を作る訳ではないので、面白さでいけば、ゲームを作る為の知識を得る方がいい&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.xach.com/misc/openpoker/"&gt;OpenPoker&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.devmaster.net/articles/mmo-scalable-server/"&gt;Devmaster.net &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pyramid-inc.net/lab/archives/126"&gt;ピラミッド研究所&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;・ネットワーク対戦ゲームではソケット通信、TCPコネクションを考える必要があって&lt;br /&gt;なんか作ろうとしても壁が立ちはだかることにはなる。&lt;br /&gt;&lt;br /&gt;・おすすめはErlang Programmingのエクササイズである。&lt;br /&gt;途中からは実践コースになるが、前半11章分散のところまでやるのは良い。&lt;br /&gt;&lt;br /&gt;・実践でサーバーを書くにも、&lt;br /&gt;httpサーバー &gt; httpプロトコルパーサー &gt; Cで書いてバインディング &gt; Linked-inドライバを書く&lt;br /&gt;&lt;a href="http://blog.mikage.to/mika/2009/05/erlang-linked-i.html"&gt;http://blog.mikage.to/mika/2009/05/erlang-linked-i.html&lt;/a&gt;&lt;br /&gt;までやらなければならない。&lt;br /&gt;&lt;br /&gt;・PythonクックブックをErlang移植するのも面白い&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# 英語でしんどいかもしれないが。。。&lt;/span&gt;&lt;br /&gt;&lt;a href="http://oreilly.com/catalog/9780596518189/"&gt;オライリー Elrang Programming のPDF&lt;/a&gt;を購入して、エクササイズをするといい&lt;br /&gt;(12月あたりに日本語訳が出るかもしれない)&lt;br /&gt;iPhoneアプリもあるよ！&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SuBdJf5TGqI/AAAAAAAAAtY/y0HJo6zy_l4/s1600-h/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882009-10-22+10.21.03+PM%EF%BC%89.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 118px; height: 108px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SuBdJf5TGqI/AAAAAAAAAtY/y0HJo6zy_l4/s200/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882009-10-22+10.21.03+PM%EF%BC%89.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5395414771351886498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=325813754&amp;mt=8"&gt;Erlang Programming&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;・12章OTP Behaviorsからは実践コース。分散、プロセス監視の話になってくる。&lt;br /&gt;落ちたらどう監視システムを構成したら良いか。。。&lt;br /&gt;&lt;br /&gt;・11章までをしっかりやろう&lt;br /&gt;ひとりで宿題するより、skypeChatなどであつまってやった方がすすめられるかもしれない&lt;br /&gt;&lt;br /&gt;・19章EUnitはこちら &lt;a href="http://articles.shibu.jp/category/777978-1.html"&gt;http://articles.shibu.jp/category/777978-1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Erlangは恐ろしいほど何もできない&lt;/span&gt;&lt;br /&gt;勉強では面白い、言語がシンプルがゆえ&lt;br /&gt;他の言語の立場から見ると凹む!&lt;br /&gt;Erlangは関数型ではない、並行思考型。&lt;br /&gt;なにがともあれプロセスあげる。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# 関数型を学ぶなら&lt;/span&gt;&lt;br /&gt;OCamlなら再代入できて自由度が高い&lt;br /&gt;.net環境が有るならF#がいい Ocaml互換　OCamlはスレッドが無いがF#は有る&lt;br /&gt;関数型を学ぶならHaskellがおすすめ(実践的ではない準関数型という意味で)&lt;br /&gt;勉強するには本当に良い(Real World Haskell 10/24日本語版発売!!)&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS2=1&amp;npa=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=jazzical19-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;asins=4873114233" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;関連：分散リポジトリ管理システムDarcs(Haskellで実装されている)&lt;br /&gt;Monadius(Haskellで書かれたゲーム)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# 勉強会をやっていると突出した奴がでてくる&lt;/span&gt;&lt;br /&gt;同じ課題を、俺はこうやってきた、私はこう書いたとやってくる。&lt;br /&gt;するとひとり頑張る奴がでてくる。頑張って勉強してきた奴がすごいコードを書いてくる。&lt;br /&gt;その人がヒーローになる。その人についてくと皆のモチベーションも高まる。&lt;br /&gt;ある程度みんなが成長した段階で、Hack-a-thonをやるといい。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# 内輪の勉強会のほうが良い場合もある&lt;/span&gt;&lt;br /&gt;流動的な、人の出入りの激しい勉強会は、ほんわかした空気がうまれない。&lt;br /&gt;はじめまして、で次回から来ない。ような空気はよろしくない。&lt;br /&gt;講師がいて話を聞くだけならUstreamとかみればいい。&lt;br /&gt;手をうごかすなら課題形式がいい。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# ソース読むのはしんどいです&lt;/span&gt;&lt;br /&gt;webサーバーを作る為のフレームワーク mochiweb &lt;a href="http://code.google.com/p/mochiweb/"&gt;http://code.google.com/p/mochiweb/&lt;/a&gt;&lt;br /&gt;XMPPメッセンジャーサーバー  ejabberd &lt;a href="http://www.ejabberd.im/"&gt;http://www.ejabberd.im/&lt;/a&gt;&lt;br /&gt;SIPサーバー YXA &lt;a href="http://www.stacken.kth.se/project/yxa/"&gt;http://www.stacken.kth.se/project/yxa/&lt;/a&gt;&lt;br /&gt;仕事で食ってくひとは読む。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# 開発環境&lt;/span&gt;&lt;br /&gt;emacsやvimでは大変。&lt;br /&gt;Eclipseのerlang環境が充実している。デバッガ、シェルも下で動く、リファクタリング一発。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Erlang in Practice&lt;/span&gt;&lt;br /&gt;&lt;a href="http://pragprog.com/screencasts/v-kserl/erlang-in-practice"&gt;http://pragprog.com/screencasts/v-kserl/erlang-in-practice&lt;/a&gt;&lt;br /&gt;1つ500円くらい&lt;br /&gt;リアルタイムコーディングがみれて勉強になる。&lt;br /&gt;mochiwebの使い方とか&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# 資料&lt;/span&gt;&lt;br /&gt;・Erlang API ドキュメント検索 &lt;a href="http://erlapi.prepor.ru/docs/"&gt;http://erlapi.prepor.ru/docs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・Erlang 日本語ドキュメント &lt;a href="http://erlang.shibu.jp/efficiency_guide/"&gt;http://erlang.shibu.jp/efficiency_guide/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・70行くらいで書けるCommetサーバー&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/Voluntas/20081108/1226135068"&gt;http://d.hatena.ne.jp/Voluntas/20081108/1226135068&lt;/a&gt;&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/Voluntas/20081112/1226493845"&gt;http://d.hatena.ne.jp/Voluntas/20081112/1226493845&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;・&lt;a href="http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf "&gt;FaceBook Chat C++/Erlang のPDF&lt;/a&gt;　&lt;br /&gt;記事:&lt;a href="http://www.publickey.jp/blog/09/facebook8php.html"&gt;http://www.publickey.jp/blog/09/facebook8php.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2040641188373611531?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2040641188373611531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2040641188373611531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2040641188373611531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2040641188373611531'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/10/erlang-super-lite.html' title='Erlang Super Lite(仮)勉強会準備会にいってきました'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/SuBdJf5TGqI/AAAAAAAAAtY/y0HJo6zy_l4/s72-c/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882009-10-22+10.21.03+PM%EF%BC%89.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-6063261093099936178</id><published>2009-10-05T17:17:00.010+09:00</published><updated>2009-10-05T17:41:51.246+09:00</updated><title type='text'>BAMBOO TOUCHが届いたので使ってみました。</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Ssmr4PEoscI/AAAAAAAAAsA/1-SUkyxxRj8/s1600-h/index_ph01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 226px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Ssmr4PEoscI/AAAAAAAAAsA/1-SUkyxxRj8/s400/index_ph01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5389027411732509122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BAMBOO TOUCHが届いたので使ってみました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SsmsNXB2CYI/AAAAAAAAAsI/btv4mtcdhaU/s1600-h/IMG_1439.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SsmsNXB2CYI/AAAAAAAAAsI/btv4mtcdhaU/s400/IMG_1439.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5389027774645537154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;パッケージの側面に仕様が書いてあります。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Ssmsk-VJzVI/AAAAAAAAAsQ/zSYHDoaeWRU/s1600-h/IMG_1440.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Ssmsk-VJzVI/AAAAAAAAAsQ/zSYHDoaeWRU/s400/IMG_1440.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5389028180332498258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;タッチボード状の本体とドライバCDが入ってました。&lt;br /&gt;&lt;br /&gt;僕の環境はMacOSXSnowLeopardです。&lt;br /&gt;この付属のCDを入れてドライバをインストールします。&lt;br /&gt;&lt;br /&gt;install.appをスタートさせ、指示に従って進めます。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SsmtsXLj7mI/AAAAAAAAAsY/tUmJGBUGqJY/s1600-h/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882009-10-05+3.32.07+PM%EF%BC%89.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SsmtsXLj7mI/AAAAAAAAAsY/tUmJGBUGqJY/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882009-10-05+3.32.07+PM%EF%BC%89.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389029406773866082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/SsmuDynSbCI/AAAAAAAAAsg/-jEMOIU8CbM/s1600-h/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882009-10-05+3.33.45+PM%EF%BC%89.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/SsmuDynSbCI/AAAAAAAAAsg/-jEMOIU8CbM/s400/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%EF%BC%882009-10-05+3.33.45+PM%EF%BC%89.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389029809274907682" /&gt;&lt;/a&gt;&lt;br /&gt;デバイスを接続するとドライバのインストーラーが立ち上がるのでインストールします。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;使い方を知るために、チュートリアルをやると良いと思います。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Ssmv9qbQftI/AAAAAAAAAso/wtYOeugf_gM/s1600-h/double.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 299px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Ssmv9qbQftI/AAAAAAAAAso/wtYOeugf_gM/s400/double.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5389031903021006546" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;基本的なMacのトラックパッド操作は使えるようです。&lt;br /&gt;２本指でのスクロール&lt;br /&gt;２本指のスワイプでブラウザの進む戻る（Macは3本指ですね）&lt;br /&gt;２本指での拡大縮小、回転&lt;br /&gt;２本指クリックで右クリックの動作&lt;br /&gt;などなど&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Ssmwe0vUISI/AAAAAAAAAsw/kABsVe4T2zo/s1600-h/IMG_1448.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Ssmwe0vUISI/AAAAAAAAAsw/kABsVe4T2zo/s400/IMG_1448.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5389032472725168418" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;タッチでクリックするのが嫌いな人は&lt;br /&gt;クリックボタンと併用して使用する事もできます。&lt;br /&gt;&lt;br /&gt;なくても良いけど有ると便利。&lt;br /&gt;いかがですか？&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=jazzical19-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;asins=B002Q8GRYC" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-6063261093099936178?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/6063261093099936178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=6063261093099936178' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6063261093099936178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6063261093099936178'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/10/bamboo-touch.html' title='BAMBOO TOUCHが届いたので使ってみました。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/Ssmr4PEoscI/AAAAAAAAAsA/1-SUkyxxRj8/s72-c/index_ph01.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5592030072214452826</id><published>2009-09-18T16:17:00.004+09:00</published><updated>2009-09-18T17:11:45.351+09:00</updated><title type='text'>インターネット世代に生まれて。</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SrM0QA491KI/AAAAAAAAAr4/tuwIapHNm3A/s1600-h/hero-5-20090622.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 162px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SrM0QA491KI/AAAAAAAAAr4/tuwIapHNm3A/s400/hero-5-20090622.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5382703429359359138" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;今日はすこし感慨深い体験をしました。&lt;br /&gt;&lt;br /&gt;大学から帰宅途中、コンビニによると&lt;br /&gt;営業外回りらしき女性の方が道に迷われていて&lt;br /&gt;通りすがりのOLに訪問先の場所を聞いているのですが&lt;br /&gt;どうも分からない様子でした。&lt;br /&gt;&lt;br /&gt;手には行き先の地図を印刷した紙を持っておられるのですが、&lt;br /&gt;今いる場所と行き先との位置関係が分からず苦戦している様子。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;もう、見るに見かねて声をかけました。&lt;br /&gt;「迷われていらっしゃいますよね」&lt;br /&gt;&lt;br /&gt;そして、iPhoneで現在地をみせて、行き先の住所を検索窓に入力して&lt;br /&gt;地図にPINを落とし、方位磁石モジュールで向きをおしえて&lt;br /&gt;Googleストリートビューで周りの風景をお見せしました。&lt;br /&gt;&lt;br /&gt;行き先を調べて教えている間&lt;br /&gt;「すごい！わー！風景まで見れるんですか？はやい！」&lt;br /&gt;驚きと関心の言葉が伝わってきました。&lt;br /&gt;&lt;br /&gt;説明している間、iPhoneをまるでマジックでもみているかのような目で&lt;br /&gt;見つめていらっしゃいました。&lt;br /&gt;最後には、行き先を確認して目的地への道がわかったようで、よかったです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;とまぁ、これで終わってしまってはいかんのです。&lt;br /&gt;それで、考えてしまったのですが、こういう事って大切なことだと思います。&lt;br /&gt;つまり、"リッチな体験は教授"べきだということ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ぼくらインターネット世代、とくに僕らのようなGeek、&lt;br /&gt;先端技術と共に生活できる層の人間はついついそれを使えることが当たり前になってしまう。&lt;br /&gt;リッチな体験を生活に取り入れていることが当たり前になってしまうのです。&lt;br /&gt;&lt;br /&gt;でも、ぼくらみたいな人間は実はごく一部の層であって、&lt;br /&gt;多くの人はいまだに行き先をインターネットで調べた後印刷したりするし、&lt;br /&gt;携帯電話で地図をしらべてもGPSで自分の居場所が分かる人や、今向いてる方向がわかる人はものすごく少ないのです。&lt;br /&gt;&lt;br /&gt;iPhoneユーザーなら分かると思いますが、&lt;br /&gt;iPhoneを使った瞬間、今までの生活が一変したはずで、&lt;br /&gt;（もちろんiPhoneに限った事ではないです。）&lt;br /&gt;そういうものを使って生活が一変するのはなぜか。&lt;br /&gt;&lt;br /&gt;先端技術を取り入れて、リッチな体験ができるからです。&lt;br /&gt;いままで面倒だった事が、まるで魔法の様に簡単にできるようになるからです。&lt;br /&gt;&lt;br /&gt;こういうリッチな体験は、手を伸ばせば誰だって手に入れられる場所にあるのに&lt;br /&gt;使っている人が少ないっていうのは納得がいきません。って、本当のことですよ。&lt;br /&gt;本当に少ないんです。&lt;br /&gt;リッチな体験は世に広めなければいけないと、あらためて感じたのでした。&lt;br /&gt;便利だと思う事は教えてあげましょう！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;「○○使えばいいじゃん、便利なんだからさ」って言うのは簡単だけど、&lt;br /&gt;何も分からない人に、的確に便利さを伝えて、使ってもらうのは難しい。&lt;br /&gt;使ってもらえる様に努力をするのは僕らの使命なんじゃないかと思います。&lt;br /&gt;&lt;br /&gt;僕は、いざ相手を前にして本当の便利さをうまく伝えられないときがあるので&lt;br /&gt;反省しなきゃならんと思いつつ、今日の体験は良い経験になりました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5592030072214452826?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5592030072214452826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5592030072214452826' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5592030072214452826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5592030072214452826'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/09/blog-post_18.html' title='インターネット世代に生まれて。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/SrM0QA491KI/AAAAAAAAAr4/tuwIapHNm3A/s72-c/hero-5-20090622.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1805714496479233752</id><published>2009-09-16T14:41:00.004+09:00</published><updated>2009-09-16T14:47:07.919+09:00</updated><title type='text'>段ボールiPhoneケース</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SrB64MwEPfI/AAAAAAAAArY/5s1xFjIhYBc/s1600-h/090914500x_recession_case.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 231px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SrB64MwEPfI/AAAAAAAAArY/5s1xFjIhYBc/s320/090914500x_recession_case.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5381936660621835762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;「不況」という名のiPhoneケース現る&lt;br /&gt;&lt;a href="http://www.gizmodo.jp/2009/09/iphone_210.html"&gt;http://www.gizmodo.jp/2009/09/iphone_210.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;という面白そーなものをみつけたので&lt;br /&gt;とりあえず、買うのもどーかと思い&lt;br /&gt;自分でつくってみました。&lt;br /&gt;&lt;br /&gt;もちろん段ボールはAmazonのやつで。&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/SrB7QdGpuQI/AAAAAAAAArg/jszMdwUGve8/s1600-h/IMG_1363.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/SrB7QdGpuQI/AAAAAAAAArg/jszMdwUGve8/s400/IMG_1363.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5381937077328394498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;型紙の画像があったので印刷して自分なりに書き写してみました。&lt;br /&gt;あとはカッティングして成形、ってことで&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;完成です。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SrB7QxbSbcI/AAAAAAAAAro/bqQnlhzc3hg/s1600-h/IMG_1364.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SrB7QxbSbcI/AAAAAAAAAro/bqQnlhzc3hg/s400/IMG_1364.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5381937082783657410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SrB7RVCcPPI/AAAAAAAAArw/QdQzQUmvfdk/s1600-h/IMG_1365.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SrB7RVCcPPI/AAAAAAAAArw/QdQzQUmvfdk/s400/IMG_1365.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5381937092343119090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;これちょーお気に入り！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1805714496479233752?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1805714496479233752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1805714496479233752' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1805714496479233752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1805714496479233752'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/09/iphone.html' title='段ボールiPhoneケース'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/SrB64MwEPfI/AAAAAAAAArY/5s1xFjIhYBc/s72-c/090914500x_recession_case.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7380080910597930478</id><published>2009-09-09T13:26:00.006+09:00</published><updated>2009-09-09T13:48:52.755+09:00</updated><title type='text'>今夜はアップルのイベントです</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sqcuw1RibHI/AAAAAAAAArQ/q_wWjAEgqrQ/s1600-h/top.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 132px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sqcuw1RibHI/AAAAAAAAArQ/q_wWjAEgqrQ/s200/top.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5379319696386583666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;新しいiPod製品の発表です！カメラ付きiPod？わくわくしますね！&lt;br /&gt;今回はone more thingがあるかもしれない！？&lt;br /&gt;&lt;br /&gt;中継は日本時間で本日9日深夜2:00から、日付が１０日に変わってからです。&lt;br /&gt;&lt;br /&gt;僕もtwitterで中継を中継しますので&lt;br /&gt;&lt;a href="http://twitter.com/tanB"&gt;http://twitter.com/tanB&lt;/a&gt;&lt;br /&gt;みんなで盛り上がりましょう！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;新しいiTunesの発表もかたそう&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7380080910597930478?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7380080910597930478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7380080910597930478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7380080910597930478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7380080910597930478'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/09/blog-post.html' title='今夜はアップルのイベントです'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/Sqcuw1RibHI/AAAAAAAAArQ/q_wWjAEgqrQ/s72-c/top.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5211271325404778233</id><published>2009-09-03T15:27:00.002+09:00</published><updated>2009-09-03T16:15:51.464+09:00</updated><title type='text'>sicp勉強会#3に行ってきました。</title><content type='html'>今回で二回目の参加になります。&lt;br /&gt;だんだんヘビーになってきてついて行くのに精一杯、&lt;br /&gt;なるべく写教（教科書丸写し）はやめて&lt;br /&gt;考える様にしてます。&lt;br /&gt;&lt;br /&gt;再帰手続きを反復プロセスでかくlisp脳を鍛えたい。&lt;br /&gt;大事なのは&lt;br /&gt;・初期値&lt;br /&gt;・k番目とk+1番目の関係&lt;br /&gt;&lt;br /&gt;summationを反復的プロセスで書いたのは面白かった。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;さて、&lt;br /&gt;そろそろたくさん手続きを書いて道具がそろってきたところで&lt;br /&gt;毎回おなじ手続きをなんども書くのはよろしくないので&lt;br /&gt;モジュールにまとめておく必要を感じ調べました。&lt;br /&gt;&lt;br /&gt;手続きの集まりをモジュール化するとうれしい事になります。&lt;br /&gt;・モジュールを継承して使える&lt;br /&gt;・インタプリタでモジュール呼び出して使える&lt;br /&gt;&lt;br /&gt;方法：&lt;br /&gt;モジュールを書くファイルの頭に&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;(define-module モジュール名&lt;br /&gt;  (extend 継承モジュール名)&lt;br /&gt;  (export 吐き出す手続きA 手続きB 手続きC...))&lt;br /&gt;(select-module モジュール名)&lt;br /&gt;(provide "このファイル名")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;実際には次の様になります&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;;;;&lt;br /&gt;;;; sum.scmを継承したsimpson.scm&lt;br /&gt;;;;&lt;br /&gt;(define-module simpson&lt;br /&gt;  (extend sum)&lt;br /&gt;  (export-all))&lt;br /&gt;(select-module simpson)&lt;br /&gt;(provide "simpson")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;・exportではなくexport-allをつかうと、ファイルに定義された手続きのすべてを吐き出せます。&lt;br /&gt;&lt;br /&gt;・モジュール名とファイル名を同じにする方が便利で、モジュールの呼び出しに&lt;br /&gt;(use モジュール名)の一行ですむのですが、&lt;br /&gt;ファイル名がAAA.scmでモジュール名がfunctionsならば&lt;br /&gt;(require "AAA")&lt;br /&gt;(import functions)&lt;br /&gt;と呼び出さねばならないそうです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;次に、モジュールを呼び出すためには、モジュールを読み込むパスを&lt;br /&gt;インタプリタに教える必要があります。&lt;br /&gt;&lt;br /&gt;カレントディレクトリを*load-path*に追加したいので、&lt;br /&gt;goshを起動するときに&lt;br /&gt;$ gosh -I .&lt;br /&gt;と起動すればよく、実際に&lt;br /&gt;gosh&gt;*load-path*&lt;br /&gt;を確認してみるとわかります。&lt;br /&gt;&lt;br /&gt;これは.bashrcなどに&lt;br /&gt;alias gosh='gosh -I .'&lt;br /&gt;としておくと楽です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;余談ですが、毎度モジュール化するコードを書くのは面倒なので&lt;br /&gt;.scmで作るファイルにテンプレートを適応させる方法に挑戦しました&lt;br /&gt;&lt;br /&gt;~/lisp/insertディレクトリを作って、gosh用のテンプレートを&lt;br /&gt;作って入れておきます。ここには他の言語のテンプレートも&lt;br /&gt;しまっておくつもりです。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;;;;&lt;br /&gt;;;; gosh-insert.scm&lt;br /&gt;;;;&lt;br /&gt;(define-module MODULE&lt;br /&gt;  (extend OTHERMODULE)&lt;br /&gt;  (export-all))&lt;br /&gt;(select-module MODULE)&lt;br /&gt;(provide "FILENAME")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;.emacs.elに".scm"で作るファイルにinsertするものを設定します&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;;;ファイル生成時にinsertする&lt;br /&gt;(add-hook 'find-file-hooks 'auto-insert)&lt;br /&gt;(load "autoinsert")&lt;br /&gt;(setq auto-insert-directory "~/lisp/insert/")&lt;br /&gt;(setq auto-insert-alist&lt;br /&gt;      (append '(&lt;br /&gt;  ("\\.scm" . "gosh-insert.scm")&lt;br /&gt;                ) auto-insert-alist))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;これで実際にファイルtest.scmを作成しようとすると&lt;br /&gt;Perform \.scm auto-insertion? (y or n)&lt;br /&gt;と聞かれる様になります。yならinsertされた状態でバッファーが立ち上がりました。&lt;br /&gt;&lt;br /&gt;自分はEmacs23.1を使っていますが&lt;br /&gt;問題なく動いています。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;あと、メモ。&lt;br /&gt;ついこないだ、Javaを組む事になってEmacsで組んでたんですが今頃きづいた。&lt;br /&gt;javacのエラー文が文字化けしてて、宇宙語よめない。&lt;br /&gt;対処方はjavacのエンコードをutf-8にすることです。&lt;br /&gt;これもめんどうなので.bashrcにaliasを貼付けました。&lt;br /&gt;&lt;br /&gt;alias javac='javac -J-Dfile.encoding=UTF8'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;長くなりましたが。最後まで読んでくださった方、ありがとうございます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ダイエット。。。の話。体重が落ちないのですが、ウエスト周りが少し減りました。&lt;br /&gt;がんばって続けてます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5211271325404778233?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5211271325404778233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5211271325404778233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5211271325404778233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5211271325404778233'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/09/sicp3.html' title='sicp勉強会#3に行ってきました。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7863130565626827419</id><published>2009-08-23T01:07:00.005+09:00</published><updated>2009-08-23T01:44:09.514+09:00</updated><title type='text'>Python Hack-a-thon#1に参加してきました。</title><content type='html'>いくつかのグループに分かれて朝からじっくりまったりコーディング&lt;br /&gt;&lt;br /&gt;僕はdjangoチュートリアルでお世話になりました。&lt;br /&gt;&lt;br /&gt;# Python触れる人&lt;br /&gt;# django触った事あるひと&lt;br /&gt;# djangoで実際なにか作った事あるひと&lt;br /&gt;&lt;br /&gt;の条件を満たして（最後の一個はあやしい）&lt;br /&gt;guestbookアプリケーションの実装チュートリアルを勉強させていただきました。&lt;br /&gt;&lt;br /&gt;もう大学生活すくなく、これから社会に出て行く立場ですが、自分全然だめ。&lt;br /&gt;いろいろだめでした。&lt;br /&gt;そして沢山の刺激をもらいました。&lt;br /&gt;&lt;br /&gt;まだ学生、だからこそある時間を、&lt;br /&gt;絶対に有効に使わなきゃもったいない。&lt;br /&gt;&lt;br /&gt;学生だからこそある時間、という言葉に心を動かされました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;・Pythonは高級でアダルト&lt;br /&gt;・Pythonエンジニアは変態&lt;br /&gt;・Pythonを使うと痩せて筋肉質に&lt;br /&gt;&lt;br /&gt;個人差はあるそうですが(笑)がんばってがんばって行く所存です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;そんなかんじで、今日は勉強会終了後ダイエット中にもかかわらず&lt;br /&gt;もちもちの木でラーメンを食い、カフェでずっとコーディングしてた訳ですが&lt;br /&gt;&lt;br /&gt;今日またはじめて気づいた問題を一点挙げておきます。&lt;br /&gt;まとめは次回。&lt;br /&gt;&lt;br /&gt;問題：&lt;br /&gt;&lt;br /&gt;Tangent Beta君はある日pythonで次のような配列を作ろうと思いました。&lt;br /&gt;[[0, 0, 0, 0],&lt;br /&gt;[ 2, 0, 0, 0],&lt;br /&gt;[ 4, 0, 0, 0],&lt;br /&gt;[ 6, 0, 0, 0]] &lt;br /&gt;&lt;br /&gt;リストを要素に持つリストを作れば実現できそうです。&lt;br /&gt;そうすると次のような事ができる事に気づきました。&lt;br /&gt;&lt;br /&gt;＞a=[0]&lt;br /&gt;＞a*4&lt;br /&gt;[ 0, 0, 0, 0]&lt;br /&gt;&lt;br /&gt;という事はリストを整数倍して4x4正則行列がすぐに作れそうだとひらめき&lt;br /&gt;次のコードをインタプリタに打ち込みます。&lt;br /&gt;&lt;br /&gt;＞a=[0]&lt;br /&gt;＞[ a*4 ] *4&lt;br /&gt;&lt;br /&gt;すると結果は&lt;br /&gt;&lt;br /&gt;[[0, 0, 0, 0],&lt;br /&gt;[ 0, 0, 0, 0],&lt;br /&gt;[ 0, 0, 0, 0],&lt;br /&gt;[ 0, 0, 0, 0]] &lt;br /&gt;&lt;br /&gt;となり大喜びでした。&lt;br /&gt;&lt;br /&gt;さて、各要素の一つ目の要素を2の倍数に変えて、求める行列をつくりたいので&lt;br /&gt;Tangent Beta君はfor文をつかって次のコードを実行します。&lt;br /&gt;&lt;br /&gt;＞A=[ [0]*4 ]*4&lt;br /&gt;＞for i in range(4):&lt;br /&gt;...       A[ i ][0] = i*2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;さて配列Aはどのような行列になるでしょうか!?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ヒントはオブジェクトの参照にありました。&lt;br /&gt;例えば&lt;br /&gt;A=[1,1]とおいて&lt;br /&gt;B=[A,A+A,A]&lt;br /&gt;とします。&lt;br /&gt;&lt;br /&gt;ここでAをスライスで変更します&lt;br /&gt;A[0]=2&lt;br /&gt;そうするとBはどうなるでしょう！？&lt;br /&gt;&lt;br /&gt;またB[0][0]=3とすると&lt;br /&gt;Aはどうなるでしょう！？&lt;br /&gt;という事です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7863130565626827419?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7863130565626827419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7863130565626827419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7863130565626827419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7863130565626827419'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/08/python-hack-thon1.html' title='Python Hack-a-thon#1に参加してきました。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-974778040905525546</id><published>2009-08-17T00:17:00.006+09:00</published><updated>2009-08-17T01:16:30.758+09:00</updated><title type='text'>停滞期、でも頑張る。</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SogjMOjhtfI/AAAAAAAAArI/YOx4zRwSdwE/s1600-h/IMG_1309.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SogjMOjhtfI/AAAAAAAAArI/YOx4zRwSdwE/s320/IMG_1309.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5370581248611825138" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;停滞期に入ってしまいました。&lt;br /&gt;まずは一枚目の壁を崩すとこから。&lt;br /&gt;&lt;br /&gt;みんな応援してネ☆&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C言語メモ&lt;br /&gt;二次元配列を引数に与える方法の一つ&lt;br /&gt;&lt;br /&gt;char array[20][20];&lt;br /&gt;二次元配列をこのように定義した場合、プロトタイプ宣言を&lt;br /&gt;&lt;br /&gt;void fun(char (* ptr)[]);&lt;br /&gt;で行い実際の関数定義で&lt;br /&gt;&lt;br /&gt;void fun(char (*array)[20]){&lt;br /&gt;  printf("debug %s \n",array[0]);&lt;br /&gt;}&lt;br /&gt;などする。&lt;br /&gt; &lt;br /&gt;pythonで書くと1日で終わる物にCで4日かかる始末。&lt;br /&gt;勉強しよ勉強。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;秋葉原のスターバックスにこもってコード書いてたら、&lt;br /&gt;店員さんに顔覚えられてしまった。&lt;br /&gt;&lt;br /&gt;僕には夢が有る。&lt;br /&gt;&lt;br /&gt;いつもの、おねがいします。って言ってみたいw&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gaucheをさわってみた。&lt;br /&gt;世界は、リストが存在して再帰で書かれている事がわかった。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;gosh&amp;gt;(define (min a b) (if (&amp;lt; a b) a b))&lt;br /&gt;min&lt;br /&gt;gosh&amp;gt;(min 3 4)&lt;br /&gt;3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mitpress.mit.edu/sicp/"&gt;http://mitpress.mit.edu/sicp/&lt;/a&gt;&lt;br /&gt;sicpやりましょう！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FizzBuzzもかいてみた&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;gosh&amp;gt; (define (fizzbuzz x)&lt;br /&gt;         (if (&amp;lt; x 1) '()&lt;br /&gt;             (cons (cond&lt;br /&gt;                       ((zero? (modulo x 15)) 'fizzbuzz) &lt;br /&gt;                       ((zero? (modulo x 5)) 'buzz)&lt;br /&gt;                       ((zero? (modulo x 3)) 'fizz)&lt;br /&gt;                       (else x))&lt;br /&gt;                    (fizzbuzz (- x 1))&lt;br /&gt;              )))&lt;br /&gt;fizzbuzz&lt;br /&gt;gosh&amp;gt; (fizzbuzz 100)&lt;br /&gt;(buzz fizz 98 97 fizz buzz 94 fizz 92 91 fizzbuzz 89 88 fizz 86 buzz fizz 83 82 fizz buzz 79 fizz 77 76 fizzbuzz 74 73 fizz 71 buzz fizz 68 67 fizz buzz 64 fizz 62 61 fizzbuzz 59 58 fizz 56 buzz fizz 53 52 fizz buzz 49 fizz 47 46 fizzbuzz 44 43 fizz 41 buzz fizz 38 37 fizz buzz 34 fizz 32 31 fizzbuzz 29 28 fizz 26 buzz fizz 23 22 fizz buzz 19 fizz 17 16 fizzbuzz 14 13 fizz 11 buzz fizz 8 7 fizz buzz 4 fizz 2 1)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(3 4)の様なリストを関数に渡そうとするとリストの第一要素を関数として解釈しようとしてエラーを吐く&lt;br /&gt;そのためリストを関数解釈させない為に&lt;br /&gt;'(3 4)と書く。&lt;br /&gt;&lt;br /&gt;一方これを関数の引数に与えようとしても&lt;br /&gt;(min 3 4)が(min '(3 4))となる事は無い。なぜなら先に定義した様にminは引数を２つとるとしてあるから。&lt;br /&gt;こういう場合はリストを関数に適応させるapplyという関数を使う&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;gosh&amp;gt; (apply min '(3 4))&lt;br /&gt;3&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-974778040905525546?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/974778040905525546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=974778040905525546' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/974778040905525546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/974778040905525546'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/08/blog-post_17.html' title='停滞期、でも頑張る。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/SogjMOjhtfI/AAAAAAAAArI/YOx4zRwSdwE/s72-c/IMG_1309.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-622362927368795447</id><published>2009-08-13T01:33:00.001+09:00</published><updated>2009-08-13T01:34:28.774+09:00</updated><title type='text'>ダイエットのゆうやくに負けて</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SoLu1XXJESI/AAAAAAAAAp4/fhYfJUg-8fc/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SoLu1XXJESI/AAAAAAAAAp4/fhYfJUg-8fc/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5369116306350608674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;食事制限と運動してます。&lt;br /&gt;あしたの体重を量るのがたのしみです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-622362927368795447?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/622362927368795447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=622362927368795447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/622362927368795447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/622362927368795447'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/08/blog-post.html' title='ダイエットのゆうやくに負けて'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/SoLu1XXJESI/AAAAAAAAAp4/fhYfJUg-8fc/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3498473092216744474</id><published>2009-07-28T11:57:00.003+09:00</published><updated>2009-07-28T12:04:26.307+09:00</updated><title type='text'>7月26日のtweet,FRF09最終日</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5qT5pLfeI/AAAAAAAAApc/JFQ8YY_Qhbk/s1600-h/IMG_1104.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5qT5pLfeI/AAAAAAAAApc/JFQ8YY_Qhbk/s320/IMG_1104.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363341096368438754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;22:06:05 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: #fujirock 渋さ知らず→weezer→basement jaxxで締めくくり！ &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5qTZOI8II/AAAAAAAAApU/iFFK8IAWTlA/s1600-h/IMG_1102.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 99px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5qTZOI8II/AAAAAAAAApU/iFFK8IAWTlA/s320/IMG_1102.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363341087665090690" /&gt;&lt;/a&gt;&lt;br /&gt;ROVO@フィールドオブヘブン&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5qTAJuJnI/AAAAAAAAApM/UDTM-_dUT1Y/s1600-h/IMG_1101.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5qTAJuJnI/AAAAAAAAApM/UDTM-_dUT1Y/s320/IMG_1101.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363341080935671410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;15:37:34 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: #fujirock  Next: サニーデイサービス@フィールドオブヘブン &lt;br /&gt;&lt;br /&gt;15:36:42 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: Next: サニーデイサービス@フィールドオブヘブン &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5qS_O2ndI/AAAAAAAAApE/goVU2mirsAg/s1600-h/IMG_1090.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5qS_O2ndI/AAAAAAAAApE/goVU2mirsAg/s320/IMG_1090.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363341080688762322" /&gt;&lt;/a&gt;&lt;br /&gt;10:01:02 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 晴れてる今日のうちにテント撤収しちゃうかなー &lt;br /&gt;&lt;br /&gt;09:57:02 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/mizugiiiiii "&gt;mizugiiiiii&lt;/a&gt; ぶよに刺されたかもしれないですね。僕はオアシスの救護テントで手当してもらいましたよー &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/mizugiiiiii"&gt;mizugiiiiii&lt;/a&gt; : 蚊に刺されたと思ってたけど、昨日より腫れてる……ヤバイ虫かも。。苗場の虫に好かれる女。 &lt;br /&gt;&lt;br /&gt;01:13:45 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/fushigichan "&gt;fushigichan&lt;/a&gt; らじゃ～お酒買ってキャンプもどろ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/fushigichan"&gt;fushigichan&lt;/a&gt; : @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; 今ゲート出たとこ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/tanB"&gt;tanB&lt;/a&gt; : @&lt;a href="http://twitter.com/fushigichan "&gt;fushigichan&lt;/a&gt; どこにいる？？ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/fushigichan"&gt;fushigichan&lt;/a&gt; : ウイリーで女尻を堪能した！！ &lt;br /&gt;&lt;br /&gt;01:13:17 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/poyet_porsche "&gt;poyet_porsche&lt;/a&gt; 正解かも！もう、腰が痛くてしにそうです。あしたのbasement jaxxで締めくくるまで頑張ります &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/poyet_porsche"&gt;poyet_porsche&lt;/a&gt; : @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; 80kidz、好きなんですが明日への温存的な理由で宿に帰ってしまいました。思う存分楽しんできてください！ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/tanB"&gt;tanB&lt;/a&gt; : 80kidzなう！箱満員だよ！！ #fujirock &lt;a href="http://twitpic.com/bkrb4"&gt;http://twitpic.com/bkrb4 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;01:04:54 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/fushigichan "&gt;fushigichan&lt;/a&gt; どこにいる？？ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/fushigichan"&gt;fushigichan&lt;/a&gt; : ウイリーで女尻を堪能した！！ &lt;br /&gt;&lt;br /&gt;00:54:19 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 毎年レッドマーキーに人が収まらない！(笑) #fujirock &lt;br /&gt;&lt;br /&gt;00:42:45 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 80kidzなう！箱満員だよ！！ #fujirock &lt;a href="http://twitpic.com/bkrb4"&gt;http://twitpic.com/bkrb4 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;このpostは &lt;a href="http://twitter.com/tanB"&gt;twitter(@tanB)&lt;/a&gt; にtweetされた1日分のつぶやきをポストしたものです。twitterのAPIとBloggerのAPIを使用、Pythonで書いたスクリプトを使っています。&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3498473092216744474?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3498473092216744474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3498473092216744474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3498473092216744474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3498473092216744474'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/726tweetfrf09_28.html' title='7月26日のtweet,FRF09最終日'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5qT5pLfeI/AAAAAAAAApc/JFQ8YY_Qhbk/s72-c/IMG_1104.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1792335151394453264</id><published>2009-07-28T11:54:00.002+09:00</published><updated>2009-07-28T11:56:35.473+09:00</updated><title type='text'>7月25日のtweet,FRF09二日目</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5onkgAzFI/AAAAAAAAAos/Mxku8tMfM9Y/s1600-h/IMG_1082.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5onkgAzFI/AAAAAAAAAos/Mxku8tMfM9Y/s320/IMG_1082.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363339235266972754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5ooFRCbOI/AAAAAAAAAo0/4KyTHOYxQ6c/s1600-h/IMG_1084.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5ooFRCbOI/AAAAAAAAAo0/4KyTHOYxQ6c/s320/IMG_1084.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363339244062534882" /&gt;&lt;/a&gt;&lt;br /&gt;11:32:56 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: The birthday なう！@グリーン &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5onJeQOYI/AAAAAAAAAok/uXk2_bIZGcg/s1600-h/IMG_1081.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5onJeQOYI/AAAAAAAAAok/uXk2_bIZGcg/s320/IMG_1081.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363339228011837826" /&gt;&lt;/a&gt;&lt;br /&gt;07:33:33 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: いい天気！ &lt;a href="http://twitpic.com/bhxkl"&gt;http://twitpic.com/bhxkl &lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5ooa5EaeI/AAAAAAAAAo8/f5ExoalHc-o/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5ooa5EaeI/AAAAAAAAAo8/f5ExoalHc-o/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5363339249867581922" /&gt;&lt;/a&gt;&lt;br /&gt;07:21:47 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 雨が止んだあとの増水なめたらいけないことを知ってる &lt;br /&gt;&lt;br /&gt;07:20:18 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: おはようございます！雨は早朝に止み現在うっすらと青空もみえます！ #fujirock &lt;br /&gt;&lt;br /&gt;03:58:47 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 風呂あがってiPhone充電中！眠いのに眠く無い。。。 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;このpostは &lt;a href="http://twitter.com/tanB"&gt;twitter(@tanB)&lt;/a&gt; にtweetされた1日分のつぶやきをポストしたものです。twitterのAPIとBloggerのAPIを使用、Pythonで書いたスクリプトを使っています。&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1792335151394453264?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1792335151394453264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1792335151394453264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1792335151394453264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1792335151394453264'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/725tweetfrf09_28.html' title='7月25日のtweet,FRF09二日目'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5onkgAzFI/AAAAAAAAAos/Mxku8tMfM9Y/s72-c/IMG_1082.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2658808175185043476</id><published>2009-07-28T11:19:00.004+09:00</published><updated>2009-07-28T11:50:04.988+09:00</updated><title type='text'>7月24日のtweet,FRF09一日目</title><content type='html'>23:55:08 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/t_fridge "&gt;t_fridge&lt;/a&gt; へっちゃらです！さけ飲んでオールナイトします！ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/t_fridge"&gt;t_fridge&lt;/a&gt; : @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; もう災害じゃんw. &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/tanB"&gt;tanB&lt;/a&gt; : オールナイトフジは川増水のため中止、橋の補強工事が3時から行われます。キャンプサイトへは三時までに、必ずお戻りください。とのこと！ #fujirock &lt;br /&gt;&lt;br /&gt;23:15:37 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: オールナイトフジは川増水のため中止、橋の補強工事が3時から行われます。キャンプサイトへは三時までに、必ずお戻りください。とのこと！ #fujirock &lt;br /&gt;&lt;br /&gt;21:30:45 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: system7はじまるよ！ #fujirock &lt;br /&gt;&lt;br /&gt;19:14:49 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: GONGはじまったよ！@オレンジコート &lt;br /&gt;&lt;br /&gt;19:14:21 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: オレンジコート、少し高いとこから見てる。 &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5nTn4CEfI/AAAAAAAAAoc/6qhHwpaVASI/s1600-h/IMG_1069.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5nTn4CEfI/AAAAAAAAAoc/6qhHwpaVASI/s320/IMG_1069.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337793064014322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;18:33:47 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: オレンジコート、足場どろどろなので、ゴミ袋を利用！ #fujirock &lt;a href="http://twitpic.com/bfic8"&gt;http://twitpic.com/bfic8 &lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5nKuWxBZI/AAAAAAAAAoU/zN6rwcDUwL0/s1600-h/IMG_1067.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5nKuWxBZI/AAAAAAAAAoU/zN6rwcDUwL0/s320/IMG_1067.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337640184710546" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5nKZmh1DI/AAAAAAAAAoM/e_usigBKMU0/s1600-h/IMG_1066.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 115px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5nKZmh1DI/AAAAAAAAAoM/e_usigBKMU0/s320/IMG_1066.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337634613679154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5nJ7STxfI/AAAAAAAAAoE/J_WHwIry-4s/s1600-h/IMG_1064.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5nJ7STxfI/AAAAAAAAAoE/J_WHwIry-4s/s320/IMG_1064.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337626475808242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5m3_hr5nI/AAAAAAAAAn8/dADSBYnhxXU/s1600-h/IMG_1063.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5m3_hr5nI/AAAAAAAAAn8/dADSBYnhxXU/s320/IMG_1063.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337318376400498" /&gt;&lt;/a&gt;&lt;br /&gt;16:11:57 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 雨すごいけど、林道のなかそーでもない。木々のおかげ！ #fujirock &lt;br /&gt;&lt;br /&gt;16:10:10 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: chara聞いてるなう@ホワイト #fujirock ところ天国からホワイトの橋はよく混みます &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5m3GNeQpI/AAAAAAAAAn0/xLQxn1GS2-U/s1600-h/IMG_1057.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5m3GNeQpI/AAAAAAAAAn0/xLQxn1GS2-U/s320/IMG_1057.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337302990799506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5m2kCfR4I/AAAAAAAAAns/GqTVbLQy89g/s1600-h/IMG_1056.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5m2kCfR4I/AAAAAAAAAns/GqTVbLQy89g/s320/IMG_1056.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337293817923458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5m1wSI80I/AAAAAAAAAnk/mAbVmhcrH9g/s1600-h/IMG_1053.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5m1wSI80I/AAAAAAAAAnk/mAbVmhcrH9g/s320/IMG_1053.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363337279924925250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5mVyq2TBI/AAAAAAAAAnc/nwWvC-blgx4/s1600-h/IMG_1051.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 143px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5mVyq2TBI/AAAAAAAAAnc/nwWvC-blgx4/s400/IMG_1051.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363336730809617426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5mLrpAHEI/AAAAAAAAAnU/cl8pxss-pyc/s1600-h/IMG_1050.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5mLrpAHEI/AAAAAAAAAnU/cl8pxss-pyc/s320/IMG_1050.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363336557124131906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;13:37:42 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: Google LatitudeがiPhone用のサービス開始！  /&lt;a href="http://google.com/latitude/"&gt;http://google.com/latitude/ &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;01:22:06 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: フジロック、前夜祭おつかれさまでした！雨が強いですねーちょっとくらい止んでくれるといい &lt;br /&gt;&lt;br /&gt;01:20:37 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/ami0527 "&gt;ami0527&lt;/a&gt; 寂しいもの同士ダメ！ネガティブよくない。元気のある人から自信をもらえる方がステキ！ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/ami0527"&gt;ami0527&lt;/a&gt; : なんとなく寂しい者同士が、寂しいときだけ気軽に話せるサービスがあればいいな。あくまで話すだけ、声を交わすだけの。どうせすぐ出会い系みたいになってしまうんだろうけど。。 &lt;br /&gt;&lt;br /&gt;00:23:09 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 盛り上がったー！ &lt;a href="http://twitpic.com/bby6v"&gt;http://twitpic.com/bby6v &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;00:18:50 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 欲しい RT @&lt;a href="http://twitter.com/t_fridge "&gt;t_fridge&lt;/a&gt; 欲しい. RT @AE35: 欲しい RT @ikasamt: /dev/null Tシャツが欲しい &lt;a href="http://bit.ly/E99ke"&gt;http://bit.ly/E99ke &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;00:07:36 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 24時、レッドマーキーとりEbony bones が終わってラストprogram！レッツダンス &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;このpostは &lt;a href="http://twitter.com/tanB"&gt;twitter(@tanB)&lt;/a&gt; にtweetされた1日分のつぶやきをポストしたものです。twitterのAPIとBloggerのAPIを使用、Pythonで書いたスクリプトを使っています。&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2658808175185043476?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2658808175185043476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2658808175185043476' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2658808175185043476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2658808175185043476'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/724tweetfrf09_28.html' title='7月24日のtweet,FRF09一日目'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5nTn4CEfI/AAAAAAAAAoc/6qhHwpaVASI/s72-c/IMG_1069.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8626592928808900210</id><published>2009-07-28T10:11:00.008+09:00</published><updated>2009-07-28T11:13:43.914+09:00</updated><title type='text'>7月23日のtweet,FRF09前日〜前夜祭</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5Ww8-yXNI/AAAAAAAAAnM/lXJ_bj0fMFY/s1600-h/IMG_1046.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5Ww8-yXNI/AAAAAAAAAnM/lXJ_bj0fMFY/s320/IMG_1046.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5363319605248023762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5WwKyk1MI/AAAAAAAAAnE/xueb9RAmBcQ/s1600-h/IMG_1035.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5WwKyk1MI/AAAAAAAAAnE/xueb9RAmBcQ/s320/IMG_1035.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363319591775032514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5Wv2UZrEI/AAAAAAAAAm8/8NZImt2ew2g/s1600-h/IMG_1034.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sm5Wv2UZrEI/AAAAAAAAAm8/8NZImt2ew2g/s320/IMG_1034.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363319586279763010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5WvsgZ_PI/AAAAAAAAAm0/Wl53sgsKE6U/s1600-h/IMG_1033.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5WvsgZ_PI/AAAAAAAAAm0/Wl53sgsKE6U/s320/IMG_1033.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363319583645760754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;23:40:43 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: EBONY BONES!はフジロック一日目13:00からホワイトステージでもあります &lt;br /&gt;&lt;br /&gt;23:34:53 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: EBONY BONES熱いなー！ &lt;br /&gt;&lt;br /&gt;22:20:52 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: INSPECTOR CLUZO最高だね！&lt;br /&gt;&lt;br /&gt;22:20:04 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: Next AFRA!! &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5V8H_KlfI/AAAAAAAAAms/q9lE5r4Fs1A/s1600-h/IMG_1025.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sm5V8H_KlfI/AAAAAAAAAms/q9lE5r4Fs1A/s320/IMG_1025.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363318697669334514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2oONSLWtNjA&amp;hl=ja&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2oONSLWtNjA&amp;hl=ja&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;21:53:45 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: いまゲートくぐった！めざすレッドマーキー &lt;br /&gt;&lt;br /&gt;19:37:24 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 前夜祭出演者表thx!! RT @&lt;a href="http://twitter.com/undermywheels "&gt;undermywheels&lt;/a&gt; : 前夜祭出演者 #fujirock 見えるかな？ &lt;a href="http://twitpic.com/bbb1g"&gt;http://twitpic.com/bbb1g &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;17:55:46 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: ささの湯で寝てた！雨すごくなってる &lt;br /&gt;&lt;br /&gt;16:24:29 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 雪ささの湯きもちかった、しばし休息… &lt;br /&gt;&lt;br /&gt;15:21:35 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: テント建ててスペアリブ丼たべた！いまからささの湯行く &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5V7-SW7CI/AAAAAAAAAmk/Y5y0HnmlZFM/s1600-h/IMG_1022.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5V7-SW7CI/AAAAAAAAAmk/Y5y0HnmlZFM/s320/IMG_1022.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363318695065480226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;11:43:31 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 場内2駐車場、ゲート開いた！ #fujirock &lt;br /&gt;&lt;br /&gt;11:27:47 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/fushigichan "&gt;fushigichan&lt;/a&gt; バスのコミぐあい教えて！ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/fushigichan"&gt;fushigichan&lt;/a&gt; : 越後湯沢なう。 &lt;br /&gt;&lt;br /&gt;11:23:14 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 雨降ってます。雨具の御用意を！！！ #fujirock &lt;a href="http://twitpic.com/baazv"&gt;http://twitpic.com/baazv &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;11:03:00 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 苗場、雨降り始めた。小雨ですが傘などの御用意を！ &lt;a href="http://twitpic.com/ba8j8"&gt;http://twitpic.com/ba8j8 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;10:46:23 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 苗場、雲行きあやしいなう！ &lt;a href="http://twitpic.com/ba6fa"&gt;http://twitpic.com/ba6fa &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;09:38:30 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: なん、だ、とw RT @&lt;a href="http://twitter.com/moqada "&gt;moqada&lt;/a&gt; これはwww RT @h_i: ミスユニバース代表！www   RT @ysk_ickw: あまりに衝撃過ぎて、会社内で笑ってしまったよ。 &lt;a href="http://bit.ly/4iDVSU"&gt;http://bit.ly/4iDVSU &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;09:35:00 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 場内2駐車場、並んでる～  #fujirock &lt;a href="http://twitpic.com/b9wpx"&gt;http://twitpic.com/b9wpx &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;09:21:18 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/fushigichan "&gt;fushigichan&lt;/a&gt; まにあって！(笑) &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/fushigichan"&gt;fushigichan&lt;/a&gt; : やべぇ、新幹線間に合わんかもw &lt;br /&gt;&lt;br /&gt;09:09:25 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/t_fridge "&gt;t_fridge&lt;/a&gt;  @&lt;a href="http://twitter.com/fushigichan "&gt;fushigichan&lt;/a&gt; 友達拾ったり買い物したりで深夜三時くらいに横浜を出発しました。夜型なんで夜でるのが一番。 &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/t_fridge"&gt;t_fridge&lt;/a&gt; : @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; 早っ!! &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/tanB"&gt;tanB&lt;/a&gt; : フジロックチケット交換所は、もう並んでいるよ &lt;a href="http://twitpic.com/b9b41"&gt;http://twitpic.com/b9b41 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;09:06:04 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: こんな時代だから全力でフジロックをtsudaろうと思うんだ。 &lt;br /&gt;&lt;br /&gt;08:32:36 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/poyet_porsche "&gt;poyet_porsche&lt;/a&gt; フォロー返しましたー、フジロック楽しみましょー☺ &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/poyet_porsche"&gt;poyet_porsche&lt;/a&gt; : @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; フォローさせてもらいました！前夜祭楽しんでください！僕は明日の朝出発ですー。 &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/tanB"&gt;tanB&lt;/a&gt; : フジロックチケット交換所は、もう並んでいるよ &lt;a href="http://twitpic.com/b9b41"&gt;http://twitpic.com/b9b41 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;08:17:05 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/oldfashionTommy "&gt;oldfashionTommy&lt;/a&gt; こちら雪ささの湯、エンジンきってるから熱い、、、チケット交換所はどう？ &lt;br /&gt;&lt;br /&gt;08:01:23 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/vanillate "&gt;vanillate&lt;/a&gt;  毎年前夜祭があるので、前日の12時から会場します &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/vanillate"&gt;vanillate&lt;/a&gt; : きょう富士ロックだっけ？　RT @nowbot: 『@&lt;a href="http://twitter.com/fujirockRSS "&gt;fujirockRSS&lt;/a&gt; : [RSS] @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; : フジロックのみんな！苗場晴れてるなう』らしいです。 &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5V7b9U_KI/AAAAAAAAAmc/CPSyBJSwJ9w/s1600-h/IMG_1015.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5V7b9U_KI/AAAAAAAAAmc/CPSyBJSwJ9w/s320/IMG_1015.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363318685850467490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;06:53:39 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: フジロックチケット交換所は、もう並んでいるよ &lt;a href="http://twitpic.com/b9b41"&gt;http://twitpic.com/b9b41 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5Vgr2ZA6I/AAAAAAAAAmU/1URkioImjFs/s1600-h/IMG_1013.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sm5Vgr2ZA6I/AAAAAAAAAmU/1URkioImjFs/s320/IMG_1013.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363318226259870626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;06:18:46 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/fushigichan "&gt;fushigichan&lt;/a&gt;  FRF会場ついた！ &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5VRd2IWoI/AAAAAAAAAmM/8ZMVzEnbPfQ/s1600-h/IMG_1011.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5VRd2IWoI/AAAAAAAAAmM/8ZMVzEnbPfQ/s320/IMG_1011.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5363317964802644610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;06:18:12 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: フジロックのみんな！苗場晴れてるなう！！ &lt;a href="http://twitpic.com/b96aj"&gt;http://twitpic.com/b96aj &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;05:18:25 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: みんな爆睡だお。運転頑張る！そしてフジロックも頑張る！ &lt;br /&gt;&lt;br /&gt;05:17:50 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 赤城高原SAなう！苗場まであと少し。 &lt;a href="http://twitpic.com/b8y0a"&gt;http://twitpic.com/b8y0a &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;03:19:56 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: GPS location: &lt;a href="http://bit.ly/13usUy"&gt;http://bit.ly/13usUy &lt;/a&gt; &lt;a href="http://twitpic.com/b8hzg"&gt;http://twitpic.com/b8hzg &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;03:17:48 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: ラーメン完食なう！ &lt;br /&gt;&lt;br /&gt;03:04:02 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 三芳パーキングなう &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;このpostは &lt;a href="http://twitter.com/tanB"&gt;twitter(@tanB)&lt;/a&gt; にtweetされた1日分のつぶやきをポストしたものです。twitterのAPIとBloggerのAPIを使用、Pythonで書いたスクリプトを使っています。&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8626592928808900210?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8626592928808900210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8626592928808900210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8626592928808900210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8626592928808900210'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/723tweetfrf09.html' title='7月23日のtweet,FRF09前日〜前夜祭'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/Sm5Ww8-yXNI/AAAAAAAAAnM/lXJ_bj0fMFY/s72-c/IMG_1046.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8394590756001296536</id><published>2009-07-28T10:10:00.001+09:00</published><updated>2009-07-28T10:10:18.266+09:00</updated><title type='text'>7月22日のtweet,FRF09前々日</title><content type='html'>&lt;br /&gt;20:27:10 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: デニーズで待ち &lt;br /&gt;&lt;br /&gt;19:52:53 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 苗場に向かう！なう！フジロック &lt;br /&gt;&lt;br /&gt;15:06:05 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/yamaneko1212 "&gt;yamaneko1212&lt;/a&gt; テストメールをパブリックに送信するテストw &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/yamaneko1212"&gt;yamaneko1212&lt;/a&gt; : 件名	【重要】「新型インフルエンザ」感染者発生に伴う措置について（理工学部、基礎工学部、薬学部）送信元	admin.tus.ac.jp    テスト &lt;br /&gt;&lt;br /&gt;14:42:21 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: ちょ(笑)学務部庶務課からテストメールきて笑ったw &lt;br /&gt;&lt;br /&gt;02:42:43 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/Veronica "&gt;Veronica&lt;/a&gt; Happy Birthday!!! &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/Veronica"&gt;Veronica&lt;/a&gt; : Thanks for the birthday wishes everyone! You've made my day pretty darn awesome already :) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;このpostは &lt;a href="http://twitter.com/tanB"&gt;twitter(@tanB)&lt;/a&gt; にtweetされた1日分のつぶやきをポストしたものです。twitterのAPIとBloggerのAPIを使用、Pythonで書いたスクリプトを使っています。&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8394590756001296536?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8394590756001296536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8394590756001296536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8394590756001296536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8394590756001296536'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/722tweetfrf09.html' title='7月22日のtweet,FRF09前々日'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8977047287748746971</id><published>2009-07-22T02:30:00.001+09:00</published><updated>2009-07-22T02:30:23.345+09:00</updated><title type='text'>7月21日のtweetまとめ</title><content type='html'>&lt;br /&gt;22:09:53 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/oldfashionTommy "&gt;oldfashionTommy&lt;/a&gt; FRFで雨とか、、、パンツまで濡れるから、多めに下着持って行こう &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/oldfashionTommy"&gt;oldfashionTommy&lt;/a&gt; : @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; 風邪引かないようにね〜(￣^￣ゞ &lt;br /&gt;&lt;br /&gt;22:08:33 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/t_fridge "&gt;t_fridge&lt;/a&gt; 天候bot爆発しろw &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/t_fridge"&gt;t_fridge&lt;/a&gt; : @&lt;a href="http://twitter.com/tanB "&gt;tanB&lt;/a&gt; もう天候がtweetに連動する時代になったコトをご存知なかったのですか!? &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/tanB"&gt;tanB&lt;/a&gt; : ひどい。。。帰るってpostしてからの雨の強くなり方が半端無い &lt;br /&gt;&lt;br /&gt;22:08:17 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/matsu_twt "&gt;matsu_twt&lt;/a&gt; 脳内補完! "@&lt;a href="http://twitter.com/matsu_twt "&gt;matsu_twt&lt;/a&gt; はすべてのレポートをやり遂げました。" &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/matsu_twt"&gt;matsu_twt&lt;/a&gt; : さて、レポート地獄をどう乗り切るか… &lt;br /&gt;&lt;br /&gt;22:02:40 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: ひどい。。。帰るってpostしてからの雨の強くなり方が半端無い &lt;br /&gt;&lt;br /&gt;22:01:12 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 塾バイト終了、鍵締めて帰る。とおもったら雨つよすぎ！かさ無しじゃ帰れないじゃん；... &lt;a href="http://posted.at"&gt;http://posted.at &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;19:12:55 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 塾のアルバイト中にhackできてしまうからpythonは怖い。中毒になりそう &lt;br /&gt;&lt;br /&gt;19:12:07 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: tweet2Bloggerって名前にしようかな、httpリンクにリンカータグ,@付きscree_nameにリンクの拡張完了 &lt;br /&gt;&lt;br /&gt;17:34:28 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/ami0527 "&gt;ami0527&lt;/a&gt; アルバイト中に解散されたっ(涙)見たかったなー &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/ami0527"&gt;ami0527&lt;/a&gt; : 解散したなぁ &lt;br /&gt;&lt;br /&gt;16:19:46 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: "@"つきのscreen_nameはリンクはって、text内のhttpにもリンク貼るか &lt;br /&gt;&lt;br /&gt;16:16:04 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 事務時間でとくにする事無いので、tweetBloggerに機能を追加しよう &lt;br /&gt;&lt;br /&gt;16:15:16 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 塾の講師アルバイトなう。 &lt;br /&gt;&lt;br /&gt;14:38:24 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 今、聴いている曲は、&lt;br /&gt;JABBERLOOP の「スペース大怪獣の逆襲」、&lt;br /&gt;アルバム「CHECK THIS OUT!!」の 3 曲目。 &lt;br /&gt;&lt;br /&gt;14:23:46 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: そしてご飯を食べていない事に気がついたw &lt;br /&gt;&lt;br /&gt;14:23:30 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: アルバイトとか行ってる場合じゃないけど、時間が迫ってきた。。。 &lt;br /&gt;&lt;br /&gt;14:21:37 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: &lt;a href="http://twitpic.com/b30ez"&gt;http://twitpic.com/b30ez &lt;/a&gt;- さて、まずコンタクトのPhotoを変えたぞ &lt;br /&gt;&lt;br /&gt;13:50:33 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: やったーGoogleWaveSandboxアカウントGot！はいれた &lt;br /&gt;&lt;br /&gt;13:08:52 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: きづいたらGoogle waveサンドボックスのAccount Requestがきてた！ &lt;br /&gt;&lt;br /&gt;13:04:37 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 寝すぎた；シャワーしてご飯買いにいく。さっき起きたなう &lt;br /&gt;&lt;br /&gt;12:59:19 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 雨が降っています！ &lt;br /&gt;&lt;br /&gt;04:50:40 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: 毎日１日分のつぶやき履歴をBloggerに投稿できる様になりました。 &lt;br /&gt;&lt;br /&gt;04:49:50 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: おやすみなさい &lt;br /&gt;&lt;br /&gt;04:49:42 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: やばいとんでもなく眠い！ &lt;br /&gt;&lt;br /&gt;01:16:19 &lt;a href="http://twitter.com/tanB"&gt;tanB &lt;/a&gt;: @&lt;a href="http://twitter.com/t_fridge "&gt;t_fridge&lt;/a&gt; hoge &lt;br /&gt;Re &gt;  &lt;a href="http://twitter.com/t_fridge"&gt;t_fridge&lt;/a&gt; : これほど憎たらしいTUEがいただろうか. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;このpostは &lt;a href="http://twitter.com/tanB"&gt;twitter(@tanB)&lt;/a&gt; にtweetされた1日分のつぶやきをポストしたものです。twitterのAPIとBloggerのAPIを使用、Pythonで書いたスクリプトを使っています。&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8977047287748746971?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8977047287748746971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8977047287748746971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8977047287748746971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8977047287748746971'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/721tweet_6964.html' title='7月21日のtweetまとめ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7686625891433576797</id><published>2009-07-13T01:01:00.008+09:00</published><updated>2009-07-13T01:11:47.582+09:00</updated><title type='text'>今日親戚が来て、お食事をしたんですが</title><content type='html'>インターネット怖いって言われた！&lt;br /&gt;&lt;br /&gt;最近の子は調べごとがあればすぐパソコンを開いてるじゃない、&lt;br /&gt;&lt;br /&gt;わからない事を人に聞こうとしない、あれじゃ人と話さなくなるわ！&lt;br /&gt;&lt;br /&gt;みんな根暗になってしまうのよ！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;、、、って言われた。なんて偏見w&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;そのあと聞いてみた。あのーGoogleとかYahoo知ってますか？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;「なにそれ？」と言われたw&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;説明がめんどくさいので&lt;br /&gt;&lt;br /&gt;IT関係の会社で色々調べごとができて便利なんですよ、と言っておいた。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;パソコンと向き合っているだけで、根暗でオタクだと思われてる事に何となく寂しい思いをした。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7686625891433576797?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7686625891433576797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7686625891433576797' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7686625891433576797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7686625891433576797'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/blog-post_13.html' title='今日親戚が来て、お食事をしたんですが'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7900913611561740954</id><published>2009-07-11T00:02:00.005+09:00</published><updated>2011-01-01T00:57:40.236+09:00</updated><title type='text'>素直に</title><content type='html'>もう8月なんだなぁと思って。&lt;br /&gt;&lt;br /&gt;ここ2,3年を振り返ってしまった。&lt;br /&gt;&lt;br /&gt;あのとき僕は何をして。何を見て。何を信じていたのか。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;今の自分と過去の自分を重ね合わせると、素直に、成長したと思える。&lt;br /&gt;&lt;br /&gt;たくさんの失敗と、たくさんの嬉しい出来事がつまっていた2年間だった気がする。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;なにも変わらずに、同じ事が繰り返されるのかも知れない不安と、&lt;br /&gt;&lt;br /&gt;絶対同じ事の繰り返しは起きないと信じられる希望がけんかしてる。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;でも昔とは何かが違う。何かを見つけたからだと思う。&lt;br /&gt;&lt;br /&gt;言葉で表せないこの気持ちを見つけたからだと思う。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;それが成長したって事なんだと思う。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;未来を信じる。信じて行動する。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;まさか教養科の先生と仲良くなって、まさか外人の先生のパソコンを直して&lt;br /&gt;友達になるとかwまさかこんな未来は予想してなかったし、出会いなんて予想できないものだよ。&lt;br /&gt;Erlang勉強会にきていたとてもとても恐縮してしまう方々にだって出会えた。&lt;br /&gt;きっとこれからもすばらしいひとたちと出会える。会うべくして会ってるんじゃない？&lt;br /&gt;&lt;br /&gt;それは、自分が起こした行動の結果。だから信じられる。信じて行こうさ。&lt;br /&gt;&lt;br /&gt;==================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;さてさて。&lt;br /&gt;&lt;br /&gt;今日はY!x67セッションだった。うらでARC09とJUIやってた。両方とも行けず。&lt;br /&gt;そしてあしたはデジタルパブリッシングフェア2009に行ってくる。&lt;br /&gt;Lightweight Language Televisionのチケットも予約したし、WebDesignerInspireNightVol.4の予約も、あ、まだしてない！&lt;br /&gt;&lt;br /&gt;フジロックが近づいてきた。&lt;br /&gt;7月23日から27日まで離席します。&lt;br /&gt;たくさん写真とってこよう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7900913611561740954?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7900913611561740954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7900913611561740954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7900913611561740954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7900913611561740954'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/blog-post_11.html' title='素直に'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7475746565510824223</id><published>2009-07-08T22:22:00.004+09:00</published><updated>2009-07-08T22:29:27.188+09:00</updated><title type='text'>Irakereを聴いた。アツいなぁ</title><content type='html'>Irakereのテレビライブ、８０年頃。&lt;br /&gt;2分過ぎにくるパワーに圧倒&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0uRdFN-bE2A&amp;hl=ja&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0uRdFN-bE2A&amp;hl=ja&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7475746565510824223?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7475746565510824223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7475746565510824223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7475746565510824223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7475746565510824223'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/07/blog-post.html' title='Irakereを聴いた。アツいなぁ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7713398262468766138</id><published>2009-06-30T12:11:00.003+09:00</published><updated>2009-06-30T12:21:04.938+09:00</updated><title type='text'>West Side Story? No, it is "Web Site Story" .</title><content type='html'>まじでうけたw&lt;br /&gt;時代は変わって行くんだなぁー&lt;br /&gt;楽しい未来が待ってる！&lt;br /&gt;&lt;br /&gt;キーワードが出てくるのでチェックしてみて&lt;br /&gt;: twitter , pandora , facebook, eharmony, social networking, dating online, spoof&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1913584&amp;fullscreen=1" width="500" height="360" &gt;&lt;param name="allowfullscreen" value="true"/&gt;&lt;param name="wmode" value="transparent"/&gt;&lt;param name="AllowScriptAccess" value="true"/&gt;&lt;param name="movie" quality="best" value="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1913584&amp;fullscreen=1"/&gt;&lt;embed src="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id=1913584&amp;fullscreen=1" type="application/x-shockwave-flash" wmode="transparent"  width="500" height="360"  allowScriptAccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0; text-align:center; width:500px;"&gt;See more &lt;a href="http://www.collegehumor.com/videos"&gt;funny videos&lt;/a&gt; and &lt;a href="http://www.collegehumor.com/pictures"&gt;funny pictures&lt;/a&gt; at &lt;a href="http://www.collegehumor.com/"&gt;CollegeHumor&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7713398262468766138?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7713398262468766138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7713398262468766138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7713398262468766138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7713398262468766138'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/west-side-story-no-it-is-web-site-story.html' title='West Side Story? No, it is &quot;Web Site Story&quot; .'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1838090872815733689</id><published>2009-06-26T23:07:00.003+09:00</published><updated>2009-06-26T23:11:38.080+09:00</updated><title type='text'>iPhone3GSのボイスコントロールで電話をかけるには</title><content type='html'>iPhone3GSを入手してきました。&lt;br /&gt;&lt;br /&gt;ボイスコントロールで電話をかける事ができるのですがコツが必要ですね！&lt;br /&gt;&lt;br /&gt;・アドレス帳の日本語の氏名の両方にふりがなをふってあること&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;・呼び出すときは、名→氏の順番で話しかける事&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;鈴木田中さんに電話をかけるには&lt;br /&gt;&lt;br /&gt;”たなかすずき”　と言えば高確率で成功しますよ！！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1838090872815733689?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1838090872815733689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1838090872815733689' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1838090872815733689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1838090872815733689'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/iphone3gs.html' title='iPhone3GSのボイスコントロールで電話をかけるには'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8697477152966337306</id><published>2009-06-25T12:33:00.004+09:00</published><updated>2009-06-25T12:43:04.459+09:00</updated><title type='text'>What is a browser?</title><content type='html'>ブラウザーって何？ (via &lt;a href="http://yukiya01.blogspot.com/"&gt;NNN&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;面白ーい&lt;br /&gt;皆さんはブラウザーって何だと答えます？&lt;br /&gt;&lt;br /&gt;&lt;object width="500" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/W3vv0_RNTM8&amp;hl=ja&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/W3vv0_RNTM8&amp;hl=ja&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;僕はちょっと気取って、エントランスって答えるかなー&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8697477152966337306?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8697477152966337306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8697477152966337306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8697477152966337306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8697477152966337306'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/what-is-browser-via-nnn.html' title='What is a browser?'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1842125876130685915</id><published>2009-06-24T13:12:00.008+09:00</published><updated>2009-06-24T14:44:42.512+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='App'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPodtouch'/><title type='text'>PushNotifications実装のチャットアプリ！AIM</title><content type='html'>「プッシュによる通知」機能を実装したAOLのインスタント・メッセンジャー、AIMクライアントが登場しています。&lt;br /&gt;(Via &lt;a href="http://jp.techcrunch.com/archives/20090622now-were-talking-aim-with-push-support-hits-the-app-store/"&gt;TechCrunch&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/SkGzZQ4Z3gI/AAAAAAAAAk0/P6f7ayFSD98/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 383px; height: 211px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/SkGzZQ4Z3gI/AAAAAAAAAk0/P6f7ayFSD98/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5350755078902504962" /&gt;&lt;/a&gt;&lt;br /&gt;AOL, AIM, ICQ, .Mac, MobileMeのアカウントでチャット可能なクライアントAIM(FreeEdition)です。&lt;br /&gt;&lt;br /&gt;まだ以前のバージョンのAIM(FreeEdition)を持っている人もいると思われますが、&lt;br /&gt;まだアップデートのお知らせは来ていない様子&lt;br /&gt;&lt;br /&gt;AIMのiTunes直リンク（&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=281704574&amp;mt=8"&gt;AIM(FreeEdtion)&lt;/a&gt;）から最新版をダウンロードできます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Freeでpush機能のついたチャットクライアントは初めて！（個人調べ）&lt;br /&gt;&lt;br /&gt;AIMでチャットIDとPasswordをいれ起動すると、ログイン。&lt;br /&gt;&lt;br /&gt;そのままアプリを終了しiPhoneのホーム画面にもっどっても、&lt;br /&gt;ログイン状態を持続*でき、誰かから話しかけられると&lt;br /&gt;push機能によりお知らせを受ける事ができます。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SkG0mcICApI/AAAAAAAAAlU/44MyNnQb_M4/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 265px; height: 400px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SkG0mcICApI/AAAAAAAAAlU/44MyNnQb_M4/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5350756404770767506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/SkG0mSe4zgI/AAAAAAAAAlM/tuRGcb0RIZ4/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 266px; height: 400px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/SkG0mSe4zgI/AAAAAAAAAlM/tuRGcb0RIZ4/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5350756402182278658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;これでいつでもオンラインが実現できます！&lt;br /&gt;&lt;br /&gt;*ログイン持続について：アプリ説明を読むとログイン状態は24時間持続できるとのこと&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1842125876130685915?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1842125876130685915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1842125876130685915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1842125876130685915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1842125876130685915'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/pushnotificationsaim.html' title='PushNotifications実装のチャットアプリ！AIM'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/SkGzZQ4Z3gI/AAAAAAAAAk0/P6f7ayFSD98/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7313411232682508392</id><published>2009-06-18T05:10:00.005+09:00</published><updated>2009-06-18T05:47:26.267+09:00</updated><title type='text'>iPhoneOS3.0アップデート開始！</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SjlN4aWyZYI/AAAAAAAAAks/SJOB-Vpzb9E/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 105px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SjlN4aWyZYI/AAAAAAAAAks/SJOB-Vpzb9E/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348391664022087042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[追記：重要]&lt;br /&gt;メモがMailのメモと同期できる様になりました。&lt;br /&gt;ですが、一回目の同期でiPhone内のデータが消えてしまうようです。&lt;br /&gt;iPhone内のデータをバックアップしてから同期をしてください！&lt;br /&gt;それ以降の変更はiTunesでの同期時に毎回更新されMailのメモとシンクします。&lt;br /&gt;これでメモでメモをとれるようになりますw&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;日本時間6/17 am2:00 きました！OS3.0 iTunesからアップデートできました！&lt;br /&gt;&lt;br /&gt;以下twitterでの私の発言です。箇条書きで感想いきます！&lt;br /&gt;・I've just fiinished updating to OS3.0&lt;br /&gt;&lt;br /&gt;・MMSの設定としゃれこむ&lt;br /&gt;&lt;br /&gt;・ボイスメモ、スポットライトに感動中&lt;br /&gt;&lt;br /&gt;・カメラにphoto.appへのショートカットが新しくついた&lt;br /&gt;&lt;br /&gt;・カメラアプリも問題なくうごいてる&lt;br /&gt;&lt;br /&gt;・mailでコピーした文をメモではりつけることができた、長おししてはなすと選択メニューがでて、領域指定後カット／コピーを選択&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[追記]&lt;br /&gt;ダブルタップするだけでコピーモードになり、領域指定できます&lt;/span&gt;！&lt;br /&gt;&lt;br /&gt;・shakeしてUndo/Redoは改行までの文章が利用されるみたい&lt;br /&gt;&lt;br /&gt;・うわ、OSアップデート後の一回目のデータバックアップはすごく時間かかります。ご注意を&lt;br /&gt;&lt;br /&gt;・bluetoothは使える様になってる？？&lt;br /&gt;&lt;br /&gt;・ホームボタン工夫されてる、ホーム画面でないところでホームボタン＞ホームに戻る。ホーム画面でホームボタン＞スポットライト&lt;br /&gt;&lt;br /&gt;・appstore.appでアカウント変えられる様になってる、新規作成もできる！これは助かる&lt;br /&gt;&lt;br /&gt;・youtubeアカウントでアクセスできる様になってる&lt;br /&gt;&lt;br /&gt;・youtube機能満載になってるな&lt;br /&gt;&lt;br /&gt;・iPhone3GSで撮った動画をyoutubeにアップしまくりな来月かー&lt;br /&gt;&lt;br /&gt;・Map系のパフォーマンスがぐぐんとあがった気がする&lt;br /&gt;&lt;br /&gt;・photoから複数選択可能になってメールには４枚の写真を貼付できる&lt;br /&gt;&lt;br /&gt;・safariで入力したパスワードを保持できるようになってる。二度目以降のアクセスでパスワードを入力する必要がなくなる。設定＞safari&gt;自動入力&gt;ユーザー名とパスワードをON&lt;br /&gt;&lt;br /&gt;・iPhoneを探すを使ってみた 設定&gt;メール＞mobileMeアカウント＞iPhoneを探すを有効にする。／Me.comにアクセスして＞アカウント＞iPhoneを探す。すごい、これでどこに忘れてきても大丈夫だ&lt;br /&gt;&lt;br /&gt;・CalDAVをサポートしたので勉強会カレンダーとかも同期できる&lt;br /&gt;&lt;br /&gt;・CalDAV等の同期はMacBookのiCalで設定後、iTunesSync時にMacBookとの同期を許可。これでMobileMeとCalDAVを選択して表示できる様になる。プライベートな予定とパブリックな予定を使い分けられる&lt;br /&gt;&lt;br /&gt;・spotlightで曲も検索できるから、iPodをバックグラウンドで動かしてるときも、すぐに好きな曲をダイレクト再生できる&lt;br /&gt;&lt;br /&gt;・ipodにシェイクでシャッフルが追加されてる&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;追加された機能は他にも沢山あります。&lt;br /&gt;気づかないうちに便利になってた、みたいにならない様に&lt;br /&gt;実際にさわってチェックしてください！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;＜アップデート文＞&lt;br /&gt;このアップデートには、以下の機能を含む、100 以上の新機能が含まれています：&lt;br /&gt;&lt;br /&gt;カット、コピー＆ペースト、シェイクによる取り消し&lt;br /&gt;主要アプリケーションにおける横表示キーボード&lt;br /&gt;SMS/MMS アプリケーションの強化 &lt;br /&gt;　- 写真、連作先、オーディオファイル、および位置情報をMMS で送受信&lt;br /&gt;　- メッセージを 1 つずつ、または複数まとめて転送、および削除&lt;br /&gt;メール、カレンダー、メモ、および iPod 内の検索機能を追加&lt;br /&gt;iPhone 全体を Spotlight 検索&lt;br /&gt;カレンダーで CalDAV およびカレンダーの登録をサポート&lt;br /&gt;Safari の改良&lt;br /&gt;　- パフォーマンス&lt;br /&gt;　- HTML 5 をサポート&lt;br /&gt;　- オーディオおよびビデオの HTTP ストリーミング&lt;br /&gt;　- ユーザー名とパスワードの自動入力&lt;br /&gt;新しいボイスメモアプリケーション&lt;br /&gt;Mac または PC と、iTunes 経由でメモを同期&lt;br /&gt;USB および Bluetooth 経由でインターネットテザリング&lt;br /&gt;iTunes Store から、ムービー、テレビ番組、オーディオブックをブラウズおよびダウンロード&lt;br /&gt;ステレオ Bluetooth&lt;br /&gt;Wi-Fi 自動ログイン&lt;br /&gt;株価アプリケーションの強化&lt;br /&gt;アプリケーション、ミュージック、ムービー、およびテレビ番組のより詳細なペアレンタルコントロールオプション&lt;br /&gt;iTunes アカウントの作成、およびログイン&lt;br /&gt;YouTube アカウントのログイン、および登録チャンネル、レート、お気に入りへのアクセス&lt;br /&gt;シェイクでシャッフル&lt;br /&gt;新しい言語、辞書、およびキーボード&lt;br /&gt;MobileMe で利用可能な“iPhone を探す”および“リモートワイプ”（登録が必要）&lt;br /&gt;より多くの Exchange ポリシーをサポート&lt;br /&gt;Exchange のミーティングの招待を作成、および送信&lt;br /&gt;サーバ上のメールを検索（Exchage Server 2007、およにサポートされている IMAP サーバ）&lt;br /&gt;LDAP カンパニーディレクトリを検索&lt;br /&gt;VPN オンデマンド、および VPN プロキシをサポート&lt;br /&gt;暗号化された構成プロファイル&lt;br /&gt;以下を含む、1,000 におよびデベロッパ API； &lt;br /&gt;　- アプリケーション内での購入&lt;br /&gt;　- Apple Push Notification Service（プッシュ通知サービス）&lt;br /&gt;　- アクセサリサポート&lt;br /&gt;　- ピアツーピア接続&lt;br /&gt;　- 地図の埋め込み&lt;br /&gt;　- iPod ライブラリのアクセス&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7313411232682508392?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7313411232682508392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7313411232682508392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7313411232682508392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7313411232682508392'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/iphoneos30.html' title='iPhoneOS3.0アップデート開始！'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/SjlN4aWyZYI/AAAAAAAAAks/SJOB-Vpzb9E/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8454893110498710129</id><published>2009-06-18T01:32:00.002+09:00</published><updated>2009-06-18T01:36:48.332+09:00</updated><title type='text'>今日は体力づくりのために走った。</title><content type='html'>みんながiPhoneOS3.0の記事をかいているなか、&lt;br /&gt;&lt;br /&gt;自分は今日のランニングの記録をはってみる。ダイエットしたい誘惑に負けました。。。&lt;br /&gt;&lt;br /&gt;もちろん、きたるam2:00（予定）のOS3.0は確実に徹夜でアップデートしますよ！&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a href="http://www.everytrail.com/view_trip.php?trip_id=243516"&gt;running&lt;/a&gt;&lt;/h2&gt;&lt;div style="width:500px;height:420px;border:2px solid #ACD7F5;padding:5px;"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="main" width="100%" height="100%" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"&gt;&lt;param name="movie" value="http://www.everytrail.com/swf/main.swf" /&gt;&lt;param name="FlashVars" value="tripId=243516&amp;picDim=250&amp;mapType=Hybrid&amp;units=&amp;isWidget=true&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;host=http://www.everytrail.com/get_data.php"&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="bgcolor" value="#ffffff" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://www.everytrail.com/swf/main.swf" quality="high" bgcolor="#ffffff" width="100%" height="100%" name="main" align="middle" FlashVars="tripId=243516&amp;picDim=250&amp;includeElevation=&amp;mapType=Hybrid&amp;units=&amp;isWidget=true&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;host=http://www.everytrail.com/get_data.php" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;Widget powered by EveryTrail: &lt;a href="http://www.everytrail.com"&gt;Travel Community&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8454893110498710129?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8454893110498710129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8454893110498710129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8454893110498710129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8454893110498710129'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/blog-post_18.html' title='今日は体力づくりのために走った。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-9153035169294486580</id><published>2009-06-10T20:06:00.003+09:00</published><updated>2009-06-10T20:31:10.539+09:00</updated><title type='text'>Safari4のTop Sitesの使い方について</title><content type='html'>Safari4のTop Sitesの使い方について&lt;br /&gt;Top Sitesは、よく使うサイトへアクセスしやすくする機能です。&lt;br /&gt;ブラウザを開くと一面に更新されたサムネイルが表示されるので&lt;br /&gt;非常に便利です。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Si-UBEeoJFI/AAAAAAAAAkA/HetR1RpZdiw/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 228px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Si-UBEeoJFI/AAAAAAAAAkA/HetR1RpZdiw/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345654028815049810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;まず、TopSitesに何も無い状態から説明していきます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si-UAC0-I_I/AAAAAAAAAjg/dB2oFtysFEg/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 274px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si-UAC0-I_I/AAAAAAAAAjg/dB2oFtysFEg/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345654011192026098" /&gt;&lt;/a&gt;&lt;br /&gt;何度かwebサーフィンしている方は、もうすでにサムネイルが作成されているかもしれません。&lt;br /&gt;まず、Top SItes左下の編集をクリックして、編集画面に入ります。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si-UAd0h79I/AAAAAAAAAjo/cdN_eoYi9Ww/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 232px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si-UAd0h79I/AAAAAAAAAjo/cdN_eoYi9Ww/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345654018437935058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;別のウインドウでよく使うサイトを開き、アドレスバーのファビコンをドラッグして&lt;br /&gt;Top Sitesの方へドロップしてください。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si-UAmYRXeI/AAAAAAAAAjw/mVrcpEH9iZQ/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+8.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si-UAmYRXeI/AAAAAAAAAjw/mVrcpEH9iZQ/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+8.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345654020735327714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;よく使うサイトをタブで開いておいて、どんどん加えて行くと作業がはかどります。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si-U2FgqwOI/AAAAAAAAAkI/dcvT0l6UPE4/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si-U2FgqwOI/AAAAAAAAAkI/dcvT0l6UPE4/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345654939625111778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;加え終わったら、好きな順に並べ替えて置きましょう。&lt;br /&gt;また必要の無いサイトは”×”を押して取り除けます。&lt;br /&gt;ピンマークを外すと、webサーフィンしてるうちに、よく見るサイトに上書きされます。&lt;br /&gt;固定しておく為にはピンマークを外さないでください。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Si-UA3sK_uI/AAAAAAAAAj4/1OJxtGgChMY/s1600-h/grab2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 232px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Si-UA3sK_uI/AAAAAAAAAj4/1OJxtGgChMY/s400/grab2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345654025382199010" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-9153035169294486580?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/9153035169294486580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=9153035169294486580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/9153035169294486580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/9153035169294486580'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/safari4top-sites.html' title='Safari4のTop Sitesの使い方について'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/Si-UBEeoJFI/AAAAAAAAAkA/HetR1RpZdiw/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5541786938475293853</id><published>2009-06-09T13:27:00.007+09:00</published><updated>2009-06-09T13:45:17.591+09:00</updated><title type='text'>safari4 デベロッパツールがすごい</title><content type='html'>昨夜の&lt;a href="http://coffeeash.blogspot.com/2009/06/well-back-soon-200wwdc-twitterustream.html"&gt;WWDC09まとめ&lt;/a&gt;の興奮冷めやらぬ状態ですが&lt;br /&gt;&lt;br /&gt;safari4のデベロッパツールを起動して驚いたのでメモ&lt;br /&gt;これfirebugじゃんw&lt;br /&gt;ユーザーエージェントも選べるしw&lt;br /&gt;&lt;br /&gt;まず開発メニューはデフォルトで非表示になっているのでこれにアクセスできる様にします&lt;br /&gt;&lt;br /&gt;Safari&gt;環境設定&gt;詳細&gt;メニューバーに開発メニューを表示　にチェックを。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si3lsmOTrvI/AAAAAAAAAiw/ye4Wb8TmvMg/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si3lsmOTrvI/AAAAAAAAAiw/ye4Wb8TmvMg/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345180887096209138" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;そしたら開発メニューからWebインスペクタを表示　をしてみましょう。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si3mBBXpGRI/AAAAAAAAAi4/bHXYlAlF268/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 359px; height: 318px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si3mBBXpGRI/AAAAAAAAAi4/bHXYlAlF268/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345181237980502290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;スタイルシートタグをマウスオーバーするだけでページ内ハイライトがかかり、そのままエディットしてスタイルの調整ができます。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si3oRyopiOI/AAAAAAAAAjA/oB9UA2PkyEo/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 264px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si3oRyopiOI/AAAAAAAAAjA/oB9UA2PkyEo/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345183725106333922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;開発メニューを見ればわかりますがユーザーエージェントも選択できます&lt;br /&gt;ユーザーエージェントスイッチャーいらずですね&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5541786938475293853?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5541786938475293853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5541786938475293853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5541786938475293853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5541786938475293853'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/safari4.html' title='safari4 デベロッパツールがすごい'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/Si3lsmOTrvI/AAAAAAAAAiw/ye4Wb8TmvMg/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-6446588901497995644</id><published>2009-06-09T00:34:00.014+09:00</published><updated>2009-06-09T16:00:03.833+09:00</updated><title type='text'>WWDC09まとめ</title><content type='html'>iPhone3GSが登場　日本発売は6/26朝8時より&lt;br /&gt;16GB $199 / 32GB $299&lt;br /&gt;&lt;br /&gt;iPhone3Gは価格を下げて&lt;br /&gt;8GB $99に&lt;br /&gt;&lt;br /&gt;iPhone3GSは3Gの外観そのままに中身を一新したそうです&lt;br /&gt;カメラが3.0Mpicに&lt;br /&gt;オートフォーカスがついて&lt;br /&gt;ビデオレコーディングができる様になりました。&lt;br /&gt;デジタルコンパスもついています&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;現行MacBookアルミはMacBookPro13''にグルーピングされます&lt;br /&gt;MacBook13''  $1199〜&lt;br /&gt;MacBook15''  $1699〜&lt;br /&gt;MacBook17''  $2499〜&lt;br /&gt;主な変更点にSDカードスロットがつき&lt;br /&gt;バッテリーが7時間になります（17''は8h）&lt;br /&gt;MacBookAirもアップデートしてます&lt;br /&gt;&lt;br /&gt;Snow Leopardは９月よりLeopardユーザーは$29でアップデートできます&lt;br /&gt;&lt;br /&gt;iPhoneOS3.0へは6/17からメジャーアップグレード可能になります&lt;br /&gt;iPhoneをなくしてもMobileMeからiPhoneの場所を調べる事ができる様になります。&lt;br /&gt;盗難にあった場合も遠隔データ消去可能に&lt;br /&gt;softbankによればiPhoneOS3.0で導入されるMMSについて&lt;br /&gt;日本時間6月18日（時刻は不明）のiPhone 3.0のアップデート同時に利用可能になるそう&lt;br /&gt;&lt;br /&gt;Safari4が正式にリリースされています。&lt;br /&gt;ソフトウェアアップデートから&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;========WWDCライブチェック=========&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si1Co-8ecTI/AAAAAAAAAio/OSe_P_ilKNs/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Si1Co-8ecTI/AAAAAAAAAio/OSe_P_ilKNs/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5345001604617498930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gizmode &lt;a href="http://live.gizmodo.com/"&gt;http://live.gizmodo.com/&lt;/a&gt;&lt;br /&gt;ストリーム &lt;a href="http://www.ustream.tv/channel/wwdc-2009-live-stream"&gt;http://www.ustream.tv/channel/wwdc-2009-live-stream&lt;/a&gt;&lt;br /&gt;リアルタイムチャット &lt;a href="http://arstechnica.com/apple/news/2009/06/apple-wwdc-keynote-liveblog-coverage.ars"&gt;http://arstechnica.com/apple/news/2009/06/apple-wwdc-keynote-liveblog-coverage.ars&lt;/a&gt;&lt;br /&gt;twitter: @macwebcaster @arswwdc @ejacqui&lt;br /&gt;同時通訳　&lt;a href="http://www.macwebcaster.com/"&gt;http://www.macwebcaster.com/&lt;/a&gt;&lt;br /&gt;iphoneipodtouchラボ &lt;a href="http://ipodtouchlab.com/wwdc09.html"&gt;http://ipodtouchlab.com/wwdc09.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si0vnyxNLnI/AAAAAAAAAig/oQ7obsFWZYs/s1600-h/bs.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 184px; height: 161px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Si0vnyxNLnI/AAAAAAAAAig/oQ7obsFWZYs/s400/bs.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5344980693448207986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;アップルストアも「we'll be back soon」になりましたー&lt;br /&gt;いよいよ今夜2:00からWWDCが開幕です&lt;br /&gt;&lt;br /&gt;アップルからびっくりする発表があるに違いありません&lt;br /&gt;ライブチャット、ライブカヴァレッジ、twitter、ustreamなどなど&lt;br /&gt;リアルタイムでもりあがりましょう！&lt;br /&gt;&lt;br /&gt;準備万端です！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-6446588901497995644?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/6446588901497995644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=6446588901497995644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6446588901497995644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6446588901497995644'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/well-back-soon-200wwdc-twitterustream.html' title='WWDC09まとめ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/Si1Co-8ecTI/AAAAAAAAAio/OSe_P_ilKNs/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3914163526172870499</id><published>2009-06-07T02:31:00.004+09:00</published><updated>2009-06-07T02:51:40.349+09:00</updated><title type='text'>風邪をひきました。RFC822の日時をpythonで</title><content type='html'>RFC822に準拠する日時を取得したかったのでメモ&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt;import time&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt;time.strftime('%a, %d %b %y %H:%M:%S %z')&lt;br /&gt;'Sun, 07 Jun 09 02:30:42 +0900'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;かぜを引いたようです。もう熱は下がりました。&lt;br /&gt;貴重な余生を無駄にしたくないので、風邪はほんとに勘弁してください。&lt;br /&gt;&lt;br /&gt;&lt;追記&gt;&lt;br /&gt;twitter apiでsinceを触ってみようと思ったのだけどすでに使われない仕様になったそうです。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3914163526172870499?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3914163526172870499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3914163526172870499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3914163526172870499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3914163526172870499'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/rfc822nopython.html' title='風邪をひきました。RFC822の日時をpythonで'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8041155607490061142</id><published>2009-06-02T00:28:00.002+09:00</published><updated>2009-06-02T00:31:40.304+09:00</updated><title type='text'>ランダム正負</title><content type='html'>&lt;pre class="prettyprint"&gt;&lt;br /&gt;&amp;gt;&amp;gt;&amp;gt; pow(-1,random.randrange(1,3))&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;今日は正だった。&lt;br /&gt;&lt;br /&gt;ポジティブシンキング♪&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8041155607490061142?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8041155607490061142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8041155607490061142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8041155607490061142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8041155607490061142'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/06/blog-post.html' title='ランダム正負'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7519035129915361184</id><published>2009-05-25T01:16:00.007+09:00</published><updated>2009-05-25T11:55:43.191+09:00</updated><title type='text'>ケンブリッジ関数に夢中になる</title><content type='html'>今日はミーティングの議題と全く関係がないのに、&lt;br /&gt;ケンブリッジ関数？を一行で書くことに夢中になってしまったので、&lt;br /&gt;反省の意を込めて、書いた関数を記録しときます。&lt;br /&gt;&lt;br /&gt;属にケンブリッジ関数と呼ばれる物は次の動作をする物です。&lt;br /&gt;・単語の一文字目と最後の文字を除く文字列をランダムソートして返す。&lt;br /&gt;&lt;br /&gt;単語をケンブリッジ関数にかけても、ひとはほとんどの場合その単語を識別できるといわれています。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;例をあげてみます。&lt;br /&gt;Watch every episode of South Park for free and get news straight from the studio at the official site for television series. South Park is &lt;br /&gt;&lt;br /&gt;を変換すると。&lt;br /&gt;Wcath eervy epsiode of Sotuh Prak for fere and get nwes srightat form the situdo at the ofifcail site for toievielsn seesir. Suoth Prak is &lt;br /&gt;&lt;br /&gt;どうでしょうか？(southparkstudios.comより一部転載)&lt;br /&gt;&lt;br /&gt;で、この関数を一行で書きたかったので&lt;br /&gt;pythonではこの様になりました。&lt;br /&gt;(※test.txtに変換したい文を書いております。)&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;import random;" ".join(map(lambda s: len(s)&amp;gt;3 and s[0]+"".join([i for i in [list(s)[1:-1]] if random.shuffle(i)==None][0])+s[-1] or s,open("test.txt","r").read().split(" ")))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;工夫したところは、ランダムソートにrandom.shuffle()を使ったところです。&lt;br /&gt;このrandom.shuffle()はリストを食べて要素をランダムに入れ替える関数です。&lt;br /&gt;しかし、 これは破壊関数であるため、シャッフルした結果を返しません。&lt;br /&gt;そのため変換したい要素を事前に用意し(L=[1,2,3]など)、そしてrandom.shuffle(L)を実行し再度Lを参照しなければなりません。&lt;br /&gt;これでは一行でかけないので、if文の評価とリスト内包をつかってrandom.shuffleの実行結果を取り出す様にしました。&lt;br /&gt;&lt;br /&gt;forのリスト内包を使う事で、要素を取り出して変数iに束縛します。このiをこのif文で評価すると、元のiは破壊されランダムソートされたiが生成されます。この時random.shuffle()が必ずNoneを返すことを利用します。そしてそのiを返します。&lt;br /&gt;&lt;br /&gt;あとは3文字以下の単語にはランダムソートを行わない様に、if文を式で書いてます。&lt;br /&gt;&lt;br /&gt;反省してます。でもコード書くのは楽しいです。反省してます。&lt;br /&gt;ごめんなさい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-追記-&lt;br /&gt;日本語でもやってみようと言う事で、文字をunicodeにしたりprintしたりで少し長くなりました。改行はスペースに置換しています。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;import random;print " ".join(map(lambda s: len(s)&amp;gt;3 and s[0]+"".join([i for i in [list(s)[1:-1]] if random.shuffle(i)==None][0])+s[-1] or s,unicode(open("test.txt","r").read(),"utf-8").replace("\n"," ").split(" ")))&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7519035129915361184?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7519035129915361184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7519035129915361184' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7519035129915361184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7519035129915361184'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/05/blog-post_25.html' title='ケンブリッジ関数に夢中になる'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5034645224952017838</id><published>2009-05-22T18:47:00.002+09:00</published><updated>2009-05-22T18:51:38.400+09:00</updated><title type='text'>Safari4,プログレスバー</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/ShZ1GE0W1TI/AAAAAAAAAiA/n4Z6SrOjemU/s1600-h/bar.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 366px; height: 51px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/ShZ1GE0W1TI/AAAAAAAAAiA/n4Z6SrOjemU/s400/bar.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5338583155527308594" /&gt;&lt;/a&gt;&lt;br /&gt;Safari4にはプログレスバー機能がないので追加&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool NO&lt;br /&gt;defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool NO&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;でSafari再起動。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5034645224952017838?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5034645224952017838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5034645224952017838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5034645224952017838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5034645224952017838'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/05/safari4.html' title='Safari4,プログレスバー'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/ShZ1GE0W1TI/AAAAAAAAAiA/n4Z6SrOjemU/s72-c/bar.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3187939950946476534</id><published>2009-05-22T15:59:00.003+09:00</published><updated>2009-05-22T18:40:00.721+09:00</updated><title type='text'>かわゆすなー</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/ShZNXhrZCTI/AAAAAAAAAh4/xVyapd_xqpo/s1600-h/word.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 289px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/ShZNXhrZCTI/AAAAAAAAAh4/xVyapd_xqpo/s400/word.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5338539474866997554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;このネズミの名前を募集しまう。&lt;br /&gt;これMS Wordのオートシェイプで書いてみたりした。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3187939950946476534?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3187939950946476534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3187939950946476534' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3187939950946476534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3187939950946476534'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/05/blog-post_22.html' title='かわゆすなー'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/ShZNXhrZCTI/AAAAAAAAAh4/xVyapd_xqpo/s72-c/word.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1101740632128377459</id><published>2009-05-18T18:50:00.004+09:00</published><updated>2009-05-18T19:13:18.678+09:00</updated><title type='text'>新年頭の体操をふりかえって</title><content type='html'>&lt;a href="http://coffeeash.blogspot.com/2009/01/blog-post_03.html"&gt;新年頭の体操&lt;/a&gt;の記事でやった合成数をもとめる問題を振り返りました。&lt;br /&gt;set型をつかって差集合を求めるやり方で&lt;br /&gt;素数の集合を求める方がスマートだと&lt;br /&gt;@sagara177に教えていただきました。&lt;br /&gt;&lt;br /&gt;以前記事を書いたときのアルゴリズムは、ある数を渡してそれが素数かどうか&lt;br /&gt;判定する関数を用意し、たくさん数を喰わせて素数列を求めていたのですが&lt;br /&gt;&lt;br /&gt;素数とは1と自分以外の因数によるかけ算によって表せない数なのですから&lt;br /&gt;整数列から任意のかけ算で表される数列の差集合をとれば、素数の集合が残るという訳です。&lt;br /&gt;&lt;br /&gt;よって、2以上n未満の2つの素数からなる合成数の数列を返すプログラムは&lt;br /&gt;なんとこれだけですんでしまうことになりました。&lt;br /&gt;ベリースマート。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;z=range(2,n/2)&lt;br /&gt;p=set(z)-set(i*j for i in z for j in range(i,(n/2)/i+1))&lt;br /&gt;ptint [i*j for i in p for j in p if i&amp;lt;j and i*j&amp;lt;n]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;用意した整数列zはnまでの合成数を作る為の素数列を生成する為に必要な整数列&lt;br /&gt;合成数は最大で2*？となるので、？は高々n/2までの数でいい。&lt;br /&gt;set型を用いて2からn/2までの整数列の集合から&lt;br /&gt;２数のかけ算によって生成される数の集合を引き算する。&lt;br /&gt;残るのは素数の集合。&lt;br /&gt;&lt;br /&gt;かけ算数列の生成では&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;set(i*j for i in z for j in range(i,(n/2)/i+1))&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;jの範囲に工夫があって、計算量を減らしてる。&lt;br /&gt;iを一つ決めた時、i*？がzの範囲に落ちる事を考えると&lt;br /&gt;？は高々(zの最大値)/iでいい&lt;br /&gt;&lt;br /&gt;一行でかけないかなぁ。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1101740632128377459?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1101740632128377459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1101740632128377459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1101740632128377459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1101740632128377459'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/05/blog-post_18.html' title='新年頭の体操をふりかえって'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4395701895099438076</id><published>2009-05-16T14:48:00.012+09:00</published><updated>2009-05-17T13:52:59.036+09:00</updated><title type='text'>Mac Twitterクライアント Fluid+pbtweet</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg5UgpJhMoI/AAAAAAAAAgg/FFHCOTpUaLY/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 306px; height: 304px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg5UgpJhMoI/AAAAAAAAAgg/FFHCOTpUaLY/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336295528258941570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fluidとpbtweetを使ってtwitterクライアントを作る手順。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sg5UbOFGUMI/AAAAAAAAAgY/nTFymVtbmsA/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 110px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sg5UbOFGUMI/AAAAAAAAAgY/nTFymVtbmsA/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336295435093299394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fluidapp.com/"&gt;Fluid:http://fluidapp.com/&lt;/a&gt;をダウンロード。&lt;br /&gt;これはwebアプリケーションをデスクトップアプリケーションにするもの。&lt;br /&gt;&lt;br /&gt;ダウンロードしたら起動&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sg5VYD6t1UI/AAAAAAAAAgo/wjqReCpxZl4/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 176px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sg5VYD6t1UI/AAAAAAAAAgo/wjqReCpxZl4/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336296480337417538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;URLにhttp://twitter.com/&lt;br /&gt;NAMEに作成するアプリケーションの名前を好みに指定&lt;br /&gt;Locationに.appを作成する場所&lt;br /&gt;Iconは作成する.appのアイコン、好みで指定&lt;br /&gt;&lt;br /&gt;Createで作成。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sg5WNlKQEbI/AAAAAAAAAgw/tX_IbkKD_oE/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 154px; height: 109px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sg5WNlKQEbI/AAAAAAAAAgw/tX_IbkKD_oE/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336297399794012594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;こうしてできたアプリケーションを実行。&lt;br /&gt;メニューバーのスクリプトボタンを開いて&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg5Wm3VM0fI/AAAAAAAAAg4/_vZUanPE4ME/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+7.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 100px; height: 45px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg5Wm3VM0fI/AAAAAAAAAg4/_vZUanPE4ME/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+7.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336297834168504818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;New Userscript...を選択して&lt;br /&gt;NAMEにpbtweetと入力&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg5W-HJTR-I/AAAAAAAAAhA/sSAtAKe1G3k/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+8.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 97px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg5W-HJTR-I/AAAAAAAAAhA/sSAtAKe1G3k/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+8.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336298233550555106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dashcodeが立ち上がり、ホゲホゲ.user.jsにスクリプトを書き込む&lt;br /&gt;&lt;br /&gt;&lt;a href="http://web.me.com/t_trace/pbtweet_ja.html"&gt;pbtweet:http://web.me.com/t_trace/pbtweet_ja.html&lt;/a&gt;&lt;br /&gt;の拡張スクリプト&lt;br /&gt;pbtweet.user.jsを開き、全体をコピーしてDashcodeの方へペースト。上書き保存。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg7V3f3m5GI/AAAAAAAAAhQ/-68BB9qDiAk/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 293px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg7V3f3m5GI/AAAAAAAAAhQ/-68BB9qDiAk/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336437757904872546" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;あとはもう一度、メニューバーのスクリプトボタンから&lt;br /&gt;今度はManage Userscripts...をひらいて&lt;br /&gt;&lt;br /&gt;先ほど作ったpbtweetにチェックをいれて、&lt;br /&gt;Includeのところに&lt;br /&gt;http://twitter.com/*&lt;br /&gt;https://twitter.com/*&lt;br /&gt;をaddしておきましょう。&lt;br /&gt;（この部分、少しやりにくいですがaddしてからダブルクリックで編集できる様になります。）&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sg-XUJKVrGI/AAAAAAAAAhY/icaht-lgqgE/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 210px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sg-XUJKVrGI/AAAAAAAAAhY/icaht-lgqgE/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5336650455769787490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;これでOK.&lt;br /&gt;&lt;br /&gt;pbtweetは@t_traceさんが作られたtwitter拡張スクリプトです。&lt;br /&gt;オートページャライズ&lt;br /&gt;つぶやき翻訳&lt;br /&gt;RT,via&lt;br /&gt;会話ソート&lt;br /&gt;TwitPicの画像をサムネイル表示&lt;br /&gt;タイムライン自動更新&lt;br /&gt;のなどの機能が拡張されます。すごく助かってます！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4395701895099438076?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4395701895099438076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4395701895099438076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4395701895099438076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4395701895099438076'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/05/mac-twitter-fluidpbtweet.html' title='Mac Twitterクライアント Fluid+pbtweet'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/Sg5UgpJhMoI/AAAAAAAAAgg/FFHCOTpUaLY/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8994545502364926002</id><published>2009-05-04T14:49:00.005+09:00</published><updated>2009-05-04T15:45:38.301+09:00</updated><title type='text'>日暮里で勉強会</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sf6E4-0a4QI/AAAAAAAAAgQ/CUwM0Uo2u-U/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 158px; height: 117px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sf6E4-0a4QI/AAAAAAAAAgQ/CUwM0Uo2u-U/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331845123323650306" /&gt;&lt;/a&gt;&lt;br /&gt;昨日は日暮里にある荒川会議室を借りて&lt;br /&gt;勉強会をやりました。&lt;br /&gt;&lt;br /&gt;24人部屋を二時間一コマ1500円で借りれます。&lt;br /&gt;二コマ以上借りるとコマ間の30分が無料でついてくる&lt;br /&gt;11:30から18:30までの３コマで4500円でした。&lt;br /&gt;&lt;br /&gt;やっすーい！&lt;br /&gt;&lt;br /&gt;飲食自由で騒がなければよしという、制限のゆるさも魅力。&lt;br /&gt;&lt;br /&gt;LAN環境はなかったですが、僕とt_fridgeがe-mobileをもっていたので、&lt;br /&gt;２人でAirMacを張って環境を整えました。&lt;br /&gt;&lt;br /&gt;macにはインターネット共有なるものがあって、&lt;br /&gt;インターネットにつながってるMacを親にして&lt;br /&gt;ほかのラップトップもwifiでそのMacを経由してインターネットできるんです。&lt;br /&gt;&lt;br /&gt;６人でつかったのでひとり750円&lt;br /&gt;&lt;br /&gt;日暮里はじまったなー！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;勉強会がおわったあとは&lt;br /&gt;秋葉原のしゃぶしゃぶ食べ放題へいき、&lt;br /&gt;いつもどおり食べ過ぎたあとに後悔w&lt;br /&gt;&lt;br /&gt;ちかいうちにまた開こう&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8994545502364926002?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8994545502364926002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8994545502364926002' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8994545502364926002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8994545502364926002'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/05/blog-post.html' title='日暮里で勉強会'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/Sf6E4-0a4QI/AAAAAAAAAgQ/CUwM0Uo2u-U/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-6244279471171687141</id><published>2009-04-26T02:41:00.002+09:00</published><updated>2009-04-26T02:53:08.465+09:00</updated><title type='text'>Django Hack-a-thon Disc.8に行ってきました。</title><content type='html'>１０時に入って５時くらいまでずーっとコード書いて、たくさん勉強になったのと&lt;br /&gt;開発者の友達がふえたのは嬉しかった。また参加したい！&lt;br /&gt;&lt;br /&gt;それから、とりあえずtwitterID、twitterで連絡とりましょう、っていう&lt;br /&gt;名刺交換のような行為を実際に体験、これも嬉しかった。&lt;br /&gt;Mac,iPhoneユーザーもおおかった☆&lt;br /&gt;&lt;br /&gt;自分はまだまだ力不足なので、GAEのサンプルを書き写すので精一杯。&lt;br /&gt;復習して力をつけるぞ。&lt;br /&gt;&lt;br /&gt;まぁ、東京ってあれだね、迷宮だねw&lt;br /&gt;無事帰れましたよw心配かけたみなさん、ぼくは大丈夫です(笑)&lt;br /&gt;&lt;br /&gt;今日はお疲れさまでした。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-6244279471171687141?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/6244279471171687141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=6244279471171687141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6244279471171687141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6244279471171687141'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/django-hack-thon-disc8.html' title='Django Hack-a-thon Disc.8に行ってきました。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4561234360697787416</id><published>2009-04-22T23:09:00.005+09:00</published><updated>2009-04-22T23:23:25.487+09:00</updated><title type='text'>Mac Timemachine復元後 Apache起動しない</title><content type='html'>いやーほんと困ってました。&lt;br /&gt;SSDを入れたという話。昨日よろこんでSSDを入れ&lt;br /&gt;Timemachineから復元してすべてまるっとうまくいってるつもりだったのですが&lt;br /&gt;あながありましたねー&lt;br /&gt;&lt;br /&gt;Apacheが動かない、、、という、、、&lt;br /&gt;&lt;br /&gt;なんど起動、再起動してもだめ。&lt;br /&gt;ページにアクセスしようとしても、&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;can’t connect to the server “localhost”.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;と言われる。これはサーバーが動いてないのですよね？？&lt;br /&gt;でも、apachectl startしたらこういわれる&lt;br /&gt;&lt;blockquote&gt;$ sudo apachectl start&lt;br /&gt;&lt;br /&gt;org.apache.httpd: Already loaded&lt;/blockquote&gt;&lt;br /&gt;すでに動いてますが。と、&lt;br /&gt;&lt;br /&gt;どういうこと？環境設定のWeb共有をみてもだめ&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Se8mjaig3YI/AAAAAAAAAfw/XxSoPbRUoKk/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 77px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Se8mjaig3YI/AAAAAAAAAfw/XxSoPbRUoKk/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5327519274063945090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ちゃんと入にチェックはいってます。&lt;br /&gt;&lt;br /&gt;httpd.confとかしらべてもなんもわからんしほとほと困っていたんですが、&lt;br /&gt;かなり時間書けてたどり着いたのが、&lt;a href="http://sunadorineko.blogspot.com/2008/02/os-macos-x-10.html"&gt;こんなページ&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;” Googleさんに聞いてもよくわからないし、困ったな〜と思いながら、httpd.confとディレクトリを眺めていたら、/var/log/内にあるはずのapache2がない。"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;んーたしかに無い！ってかTimemachineで復元したはずなのになぜ無い！&lt;br /&gt;まさかですよ。灯台もと暗しか&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ cd /var/log&lt;br /&gt;$ sudo mkdir apache2&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;をして、apacheを再起動したら。動きました！&lt;br /&gt;うわーんよかったよー。トラブルシュートしてくださったリンク先の方に感謝。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4561234360697787416?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4561234360697787416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4561234360697787416' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4561234360697787416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4561234360697787416'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/mac-timemachine-apache.html' title='Mac Timemachine復元後 Apache起動しない'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/Se8mjaig3YI/AAAAAAAAAfw/XxSoPbRUoKk/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7317968236867870887</id><published>2009-04-21T20:36:00.004+09:00</published><updated>2009-04-21T20:53:07.059+09:00</updated><title type='text'>SSDが届きました。</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Se2yQJcQ8PI/AAAAAAAAAfg/-wyI5-rkiuw/s1600-h/IMG_0695.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Se2yQJcQ8PI/AAAAAAAAAfg/-wyI5-rkiuw/s320/IMG_0695.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5327109924731285746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Se2yQPPsPKI/AAAAAAAAAfo/pWNQ-uD3aCs/s1600-h/IMG_0696.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Se2yQPPsPKI/AAAAAAAAAfo/pWNQ-uD3aCs/s320/IMG_0696.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5327109926289161378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SSD PhotoFast G-Monster 2.5inch SATA 128GB&lt;br /&gt;を購入しました。&lt;br /&gt;&lt;br /&gt;read170MB/s&lt;br /&gt;write 100MB/s&lt;br /&gt;&lt;br /&gt;低消費電力で衝撃に強く、データの読み書きが劇的に速いのが嬉しいです。&lt;br /&gt;&lt;br /&gt;MacOSXLeopardにて起動後のログイン画面から&lt;br /&gt;初期起動アプリケーションを起動し終えるまでの時間を以下の動画でごらんください&lt;br /&gt;&lt;br /&gt;emacs,QickSilver,Mail,Evernote,ImageUp,Tweetie,Foxmarks For Safari,&lt;br /&gt;Eye-fi manager,GoogleNotifier,iStat menus&lt;br /&gt;&lt;br /&gt;10個のアプリケーションを起動していますが、１１秒で完了してしまいます。&lt;br /&gt;&lt;br /&gt;&lt;object width="580" height="360"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cYZdMajstkQ&amp;hl=ja&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/cYZdMajstkQ&amp;hl=ja&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="580" height="360"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=jazzical19-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=B001KZ5BGW&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=FFFFFF&amp;bg1=FFFFFF&amp;f=ifr&amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以前のHDDからの環境移行もTimeMachine BackUpから復元という形で、一発でした。&lt;br /&gt;ほんと楽。&lt;br /&gt;やっぱりBackUpをとっておくのは重要ですね☆&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7317968236867870887?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7317968236867870887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7317968236867870887' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7317968236867870887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7317968236867870887'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/ssd.html' title='SSDが届きました。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/Se2yQJcQ8PI/AAAAAAAAAfg/-wyI5-rkiuw/s72-c/IMG_0695.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4308464488456028755</id><published>2009-04-17T01:30:00.004+09:00</published><updated>2009-04-17T01:46:48.077+09:00</updated><title type='text'>twitterにタイマーを作ってみる</title><content type='html'>日付のかわるころにFollowerのhwitternが&lt;br /&gt;タイマーがあったら面白いんじゃないかという話をしていたので、&lt;br /&gt;彼と話しながら簡単に動くものをpythonで作ってみました。&lt;br /&gt;&lt;br /&gt;必要なモジュールは&lt;br /&gt;sqlobject&lt;br /&gt;twitter-pythonです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Botの名前を仮にtimeBotとします。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;D timeBot start&lt;/blockquote&gt;&lt;br /&gt;とダイレクトメッセージを送ると&lt;br /&gt;&lt;blockquote&gt;タイマーをスタートしました :Thu Apr 16 15:54:04 +0000 2009&lt;/blockquote&gt;&lt;br /&gt;とダイレクトメッセージを返し、&lt;br /&gt;&lt;blockquote&gt;D timeBot stop&lt;/blockquote&gt;&lt;br /&gt;と送ると&lt;br /&gt;&lt;blockquote&gt;タイマーをストップしました :Thu Apr 16 15:54:14 +0000 2009&lt;br /&gt;@tanB さんの計測タイム :10.0&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;と秒を返すものです。&lt;br /&gt;&lt;br /&gt;ロジックは&lt;br /&gt;ダイレクトメッセージの一覧から、まだデータベースに入れてないメッセージを順にチェックし、送られてきた命令を解釈してTimelogを作っていきます。このTimelogの差分によって計測タイムが生成されます、あとで取り出すかもしれないので、Recordsとしてデータベースにつめました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以下にコードです。&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;br /&gt;# coding: utf-8&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import twitter&lt;br /&gt;import time&lt;br /&gt;from sqlobject import *&lt;br /&gt;api=twitter.Api('timeBot','********')&lt;br /&gt;sqlhub.processConnection=connectionForURI('sqlite:///timer.db')&lt;br /&gt;&lt;br /&gt;class Timelog(SQLObject):&lt;br /&gt;    userId=StringCol(length=15)&lt;br /&gt;    time=FloatCol()&lt;br /&gt;    userOrder=StringCol(length=5)&lt;br /&gt;    messageId=IntCol()&lt;br /&gt;&lt;br /&gt;class Records(SQLObject):&lt;br /&gt;    userId=StringCol(length=15)&lt;br /&gt;    record=FloatCol()&lt;br /&gt;&lt;br /&gt;try:&lt;br /&gt;    Timelog.createTable()&lt;br /&gt;    Records.createTable()&lt;br /&gt;except:&lt;br /&gt;    print 'TimelogDB exists'&lt;br /&gt;    print 'RecordsDB exsits'&lt;br /&gt;&lt;br /&gt;def runner():&lt;br /&gt;    try:&lt;br /&gt;        recentId=list(Timelog.select())[-1].messageId&lt;br /&gt;    except:&lt;br /&gt;        recentId=0&lt;br /&gt;    &lt;br /&gt;    while 1:&lt;br /&gt;        print 'GetDirectMessages...'&lt;br /&gt;        dm=None&lt;br /&gt;        try:&lt;br /&gt;            dm=api.GetDirectMessages()&lt;br /&gt;            print 'O.K.'&lt;br /&gt;            dm.reverse()&lt;br /&gt;        except:&lt;br /&gt;            print 'Fail'&lt;br /&gt;        &lt;br /&gt;        for d in dm:&lt;br /&gt;            if d.id&amp;gt;recentId:&lt;br /&gt;                recentId=d.id&lt;br /&gt;                text=d.text.split(' ')&lt;br /&gt;                &lt;br /&gt;                if text[0]=='start':&lt;br /&gt;                    print 'order : start'&lt;br /&gt;                    Timelog(userId=d.sender_screen_name,time=d.created_at_in_seconds,userOrder=text[0],messageId=d.id)&lt;br /&gt;                    api.PostDirectMessage(d.sender_screen_name,u'タイマーをスタートしました :'+str(d.created_at))&lt;br /&gt;&lt;br /&gt;                if text[0]=='stop':&lt;br /&gt;                    logs=list(Timelog.selectBy(userId=d.sender_screen_name))&lt;br /&gt;                    if len(logs)==0 or logs[-1].userOrder=='stop':&lt;br /&gt;                        api.PostDirectMessage(d.sender_screen_name,u'start命令が見当たりません。タイマーをスタートさせましたか？')&lt;br /&gt;&lt;br /&gt;                    else:&lt;br /&gt;                        print 'order : stop'&lt;br /&gt;                        Timelog(userId=d.sender_screen_name,time=d.created_at_in_seconds,userOrder=text[0],messageId=d.id)&lt;br /&gt;                        api.PostDirectMessage(d.sender_screen_name,u'タイマーをストップしました :'+str(d.created_at))&lt;br /&gt;                        rectime=d.created_at_in_seconds-logs[-1].time&lt;br /&gt;                        Records(userId=d.sender_screen_name,record=rectime)&lt;br /&gt;                        api.PostUpdate(u'@'+d.sender_screen_name+u' さんの計測タイム :'+str(rectime))&lt;br /&gt;&lt;br /&gt;        time.sleep(10)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4308464488456028755?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4308464488456028755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4308464488456028755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4308464488456028755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4308464488456028755'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/twitter.html' title='twitterにタイマーを作ってみる'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3388995233029112553</id><published>2009-04-14T22:39:00.005+09:00</published><updated>2009-04-14T23:12:21.432+09:00</updated><title type='text'>今日のデスクトップ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SeSZv46NjhI/AAAAAAAAAfY/fB_Ds3O5LoM/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SeSZv46NjhI/AAAAAAAAAfY/fB_Ds3O5LoM/s320/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5324549707468213778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;今日のデスクトップは、「色と空間」がテーマ&lt;br /&gt;&lt;br /&gt;ブラウザという平面に奥行きを持たせるのは重要で、しかしながら3Dデスクトップみたいな、いかにも立体的なデスクトップは&lt;br /&gt;&lt;br /&gt;いまのところ欲しくない。（気分で変わるのだけど）&lt;br /&gt;&lt;br /&gt;今日の「色と空間」の’’空間’’はそういった意味で、OSXのメニューバーも、エディタのemacsも、twitterクライアントのpocket*も透明なインターフェースになるものを選んだ。つまり、ウインドウが重なっている事を目視させて、奥行きを感じ取る試み。&lt;br /&gt;&lt;br /&gt;全体的に黒い環境はウインドウの存在感をほどよく打ち消してくれる。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;「色と空間」の’’色’’はこの黒い環境に加えた一つの遊び。&lt;br /&gt;&lt;br /&gt;カラーの映える環境では鮮やかすぎたり、またはその描かれた画像に目がいくことで、ひとつひとつの色の存在感は薄れているのかもしれない。&lt;br /&gt;&lt;br /&gt;そんなわけで、この黒い空間の中に鮮やかなワンポイントと、メニューバーにいくらかの原色アイコンがある環境は、色のひとつひとつから、色の個性を感じ取る事ができる様な気がします。&lt;br /&gt;&lt;br /&gt;ぼくのデスクトップを見る友人の多くが、じっとデスクトップをみながら&lt;br /&gt;&lt;br /&gt;「Macってきれいですね」と、よく言う所以のひとつに、&lt;br /&gt;&lt;br /&gt;’’&lt;span style="font-weight:bold;"&gt;色の個性を感じるかどうか&lt;/span&gt;’’というものがあるきがします。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ひいてはそれが、アイコンの存在感にもつながれば、アクセシビリティーの向上にもつながる訳です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;今回のデスクトップで感じるのは、&lt;br /&gt;色の個性が、その色の周りの色によって決まるのだという事。&lt;br /&gt;&lt;br /&gt;またいろいろ試してみよう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3388995233029112553?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3388995233029112553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3388995233029112553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3388995233029112553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3388995233029112553'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/blog-post_14.html' title='今日のデスクトップ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/SeSZv46NjhI/AAAAAAAAAfY/fB_Ds3O5LoM/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2505351577273191514</id><published>2009-04-06T15:59:00.006+09:00</published><updated>2009-04-06T16:16:31.820+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='エッセイ'/><title type='text'>猫でいい。僕もそう思う。</title><content type='html'>昨日ミーティングでfirdge氏が言った事に非常に共感したので覚え書き。&lt;br /&gt;無知なまま批判する事は良くないという話。&lt;br /&gt;&lt;br /&gt;何か新しい事を見聞きした時、&lt;br /&gt;「自分はこう思うし、ここがだめだから価値を見いだせない。だから使わない。」&lt;br /&gt;という人がいる。&lt;br /&gt;&lt;br /&gt;自分の確固たる信念を持って物を批判し、根拠をもってそれを嫌うのは大切な事だと僕も思う。&lt;br /&gt;嫌うという事は改善の余地を見いだすという事につながるだろうし、もっと良い物を探すきっかけになるから。&lt;br /&gt;&lt;br /&gt;でも、一度も使った事の無いまま、ただ見聞きしただけで批判する、&lt;br /&gt;いわゆる”無知の批判”は本当によくない。&lt;br /&gt;&lt;br /&gt;無知なまま批判するのと、&lt;br /&gt;実際使ってみて事細かによろしくない部分を考察して批判するのとでは、全く違う。&lt;br /&gt;無知な批判はユーザー体験の部分で本当に大きな損をしているんだ。&lt;br /&gt;&lt;br /&gt;fridge氏は猫に例えて言った。&lt;br /&gt;&lt;br /&gt;「猫でいいんだ。後になって急に意見をころっと変えてしまっても全然かまわない。」&lt;br /&gt;&lt;br /&gt;使い始めた時これはすごい！本当にいいものだよ！といって使っていたものの&lt;br /&gt;良くない部分にどんどん気づき始め、後になって”ここがだめだから使う価値がない”、&lt;br /&gt;と意見を変えてしまってもいっこうにかまわないんだと。&lt;br /&gt;&lt;br /&gt;経験に裏打ちされた説得力のある批判ならば、はじめと言ってる事が違っているとしても&lt;br /&gt;相手を納得させる十分な根拠、経験をもって、それをカバーできるから。&lt;br /&gt;&lt;br /&gt;間違っていたなら素直に考えを改めた事をみとめればいい。&lt;br /&gt;&lt;br /&gt;なぜ猫なのか聞いてみた。&lt;br /&gt;「猫におもちゃを与えると、最初はなんでも飛びついて狂った様に遊ぶんだけど、飽きてしまえば何度与えたところで全く興味を持たなくなるでしょ。」&lt;br /&gt;&lt;br /&gt;面白い例えだった。&lt;br /&gt;&lt;br /&gt;僕も彼と同じ考えを昔から持っていて、&lt;br /&gt;”私はとりあえず何でも吸収したいタイプの人間なのです。”&lt;br /&gt;と自信を持って言える様になった。&lt;br /&gt;&lt;br /&gt;”なんでも食べちゃう食いしん坊。まずかったら吐き出せばいい。とりあえず口に入れるタイプ。”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;昔はこの事がコンプレックスでもあった。なんでも吸収するあまり、&lt;br /&gt;ころころと人格が、変わってしまってはいないか。&lt;br /&gt;自分を見失って、どの自分が本当の自分なのかわからなくなりそうな、不安。&lt;br /&gt;&lt;br /&gt;でもそれが自分だった。&lt;br /&gt;なんでも試してみて、考えて、自分で選択して新しい自分を作ってきた。&lt;br /&gt;その選択に価値があったと今では言える様になった。&lt;br /&gt;&lt;br /&gt;いまでも、気になった物はどんどん試す。&lt;br /&gt;&lt;br /&gt;ただ、自分には足りない物もあって、物事を批判する事。&lt;br /&gt;批判力がけっこう足りてない。（と自分では思ってます）&lt;br /&gt;&lt;br /&gt;自分は性格上、物事の良い面を見つけ出す事が好きなもので、&lt;br /&gt;ひとかけらでも良い点を見つけたらそこしか見えなくなる傾向がある。&lt;br /&gt;&lt;br /&gt;不便だとか、見た目が悪いだとかいう瞬時に表面的にわかる批判すべき部分が&lt;br /&gt;見えているはずなのに、気にならなくなってしまう。&lt;br /&gt;&lt;br /&gt;だって、すこしでも良い部分があるのだから、飲み込みたくなるんだもの。&lt;br /&gt;吐き出すなんてもったいない。&lt;br /&gt;&lt;br /&gt;でも、そのせいで毒を飲んでしまっていた部分はある。&lt;br /&gt;毒を毒だと認識して飲む分には後で吐き出せるんだけど、認識してない事が多い。&lt;br /&gt;これは自分のいけないところ。&lt;br /&gt;&lt;br /&gt;良くない部分は良くないと、毒は毒であることを言わなければいけない。&lt;br /&gt;それはだんだん蓄積して人間を腐らせる。&lt;br /&gt;&lt;br /&gt;批判力は大切だ。批判力を磨こう。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;話は少し戻るけど、猫でいいんだと思う。&lt;br /&gt;考えがが変わるのは成長の証だと考える。&lt;br /&gt;自分らしさを大切にするあまり変化を恐れて、コンクリートの様に固くなる&lt;br /&gt;そんな大人にはなりたくない。そんな大人になるくらいならずっと子供のままでいい。&lt;br /&gt;いや猫がいい（ニャー&lt;br /&gt;&lt;br /&gt;なんでも経験して吸収して、そして批判する。&lt;br /&gt;そこからもっといいものが生まれるんだと思う。&lt;br /&gt;クリエイターにはその素質が必要なんじゃないかな。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2505351577273191514?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2505351577273191514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2505351577273191514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2505351577273191514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2505351577273191514'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/blog-post_06.html' title='猫でいい。僕もそう思う。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5832763184824376179</id><published>2009-04-04T22:34:00.005+09:00</published><updated>2009-04-04T23:19:24.775+09:00</updated><title type='text'>ちょっと日記書いてみる。</title><content type='html'>会社の選考を受けていた時ぼくは&lt;br /&gt;&lt;br /&gt;「就活がおわったらどうするか」考えてました。&lt;br /&gt;&lt;br /&gt;やろうと思ってた事の一つがこれ、ロフトベッドの購入です！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sddq7CKTU0I/AAAAAAAAAfI/2J7RceUfuZQ/s1600-h/P1010212.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/Sddq7CKTU0I/AAAAAAAAAfI/2J7RceUfuZQ/s200/P1010212.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5320839047186436930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;最終面接が終わったその日に、有楽町の無印良品へ行き購入してかえりました。&lt;br /&gt;&lt;br /&gt;絶対受かりたかったし&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;無印良品のパイン材ハイベッドは一段目が机で二段目がベッドです。&lt;br /&gt;部屋には机があるので２つをL字に並べて、作業場を広くしようと考えました。&lt;br /&gt;&lt;br /&gt;ベッドもすでにあるんで、二段目は資料雑貨置き場になってます。&lt;br /&gt;ついに念願のマイルームSOHO化wうれしぃ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;しかし、&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;こ☆れ☆は、&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;まじで実家の部屋の居心地が良くて&lt;br /&gt;一人暮らしが始まらないフラグたちまくりです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;いかんですね。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;他にも&lt;br /&gt;・アメリカシリコンバレー見学、なんとかします。スケジュールを練り直さないと。&lt;br /&gt;&lt;br /&gt;・自転車購入、もう少しかかりそうです。金銭面で。&lt;br /&gt;&lt;br /&gt;・iPhoneアプリ開発、勉強やり直した。&lt;br /&gt;&lt;br /&gt;・Erlang勉強、再始動した。&lt;br /&gt;&lt;br /&gt;と考えていたんですが、まだまだやれる事があるし、やるべき事もたくさん（涙&lt;br /&gt;&lt;br /&gt;大学の研究も結果を出さないっと！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;就職活動は特別な事なんだけど、でも終わった瞬間にほんとに何も無かったかのごとく、もとの生活に戻る事になった。&lt;br /&gt;&lt;br /&gt;燃え尽き症候群にならないように心がけていたつもりだけど、&lt;br /&gt;&lt;br /&gt;正直、なりかけた。だめだめ！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;よーし頑張れ、自分！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5832763184824376179?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5832763184824376179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5832763184824376179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5832763184824376179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5832763184824376179'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/blog-post_04.html' title='ちょっと日記書いてみる。'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/Sddq7CKTU0I/AAAAAAAAAfI/2J7RceUfuZQ/s72-c/P1010212.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2040419100932819179</id><published>2009-04-02T15:21:00.002+09:00</published><updated>2009-04-02T15:30:37.794+09:00</updated><title type='text'>就活、終了のおしらせ</title><content type='html'>研究室の先生にはご迷惑をおかけしました。&lt;br /&gt;&lt;br /&gt;何度か飲みに誘ってくれてお断りした皆さんすいませんでした。&lt;br /&gt;&lt;br /&gt;助言をくださった先輩方、お世話になりました。&lt;br /&gt;&lt;br /&gt;両親、そして大切な仲間たちにご心配をおかけしました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;このたび、とある会社から内定（内々定）をいただきましたので&lt;br /&gt;しゅうかつ（宗教活動じゃないほう）の終了をお知らせ致します。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;就職活動報告:&lt;br /&gt;===============&lt;br /&gt;会社説明会など　６社&lt;br /&gt;選考を受けた会社　１社&lt;br /&gt;===============&lt;br /&gt;&lt;br /&gt;内々定　一社&lt;br /&gt;&lt;br /&gt;以上です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;すがすがしい春を迎えることができました。&lt;br /&gt;これからは就職活動を続けている仲間達を応援します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2040419100932819179?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2040419100932819179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2040419100932819179' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2040419100932819179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2040419100932819179'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/blog-post_02.html' title='就活、終了のおしらせ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-6239766538453251752</id><published>2009-04-01T22:43:00.005+09:00</published><updated>2009-04-01T23:25:22.986+09:00</updated><title type='text'>Erlang ターミナルから実行 noshell</title><content type='html'>&lt;div&gt;Erlangをターミナルから実行する。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;実験の為に用意したfizzbuzzの問題&lt;/div&gt;&lt;div&gt;引数にN,T,Fの３数をとる様にした。&lt;/div&gt;&lt;blockquote&gt;&lt;br /&gt;-module(test).&lt;br /&gt;-compile(export_all).&lt;br /&gt;&lt;br /&gt;main(A) -&amp;gt&lt;br /&gt;　　Args = [list_to_integer(atom_to_list(X)) || X&amp;lt-A],&lt;br /&gt;　　[N,T,F] = Args,&lt;br /&gt;　　io:format("fizzbuzz ~w : ~w~n",[A,fizzbuzz(N,T,F)]),&lt;br /&gt;　　init:stop(). &lt;br /&gt;&lt;br /&gt;fizzbuzz(N,T,F) -&amp;gt&lt;br /&gt;　　lists:foreach( fun(X) -&amp;gt io:format("~b:~s~n",[X,zz(X,T,F)]) end, lists:seq(1,N) ).&lt;br /&gt;&lt;br /&gt;zz(N,T,F) when N rem T =:= 0 andalso N rem F =:= 0 -&amp;gt "FizzBuzz";&lt;br /&gt;zz(N,T,F) when N rem T =:= 0 -&amp;gt "Fizz";&lt;br /&gt;zz(N,T,F) when N rem F =:= 0 -&amp;gt "Buzz";&lt;br /&gt;zz(_,_,_) -&amp;gt "".&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nまでの数で&lt;/div&gt;&lt;div&gt;Tの倍数がFizz&lt;/div&gt;&lt;div&gt;Fの倍数がBuzz&lt;/div&gt;&lt;div&gt;TFの倍数はFizzBuzzとする&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;実行はターミナルで&lt;br /&gt;&lt;blockquote&gt;$ erlc test.py  #コンパイル&lt;br /&gt;$ erl -noshell -s test main 10 3 5  #noshellオプションでeシェルを立ち上げない&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ポイントは-sオプション&lt;br /&gt;-s module function Arg1 Arg2 ...と使う&lt;br /&gt;mainで受け取ったアトムをintのリストに変えてfizzbuzzに食わせる&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;fizzbuzzでは同じみのmapを使いそうだけど、&lt;br /&gt;listsモジュールのmap/2はリストの要素に関数をかませた値からなるリストを返す。&lt;br /&gt;上で使っているlists:foreachはリストの要素に関数をかませて、void()を返す。&lt;br /&gt;&lt;br /&gt;実行結果&lt;br /&gt;$ erl -noshell -s test main 10 3 5&lt;br /&gt;1:&lt;br /&gt;2:&lt;br /&gt;3:Fizz&lt;br /&gt;4:&lt;br /&gt;5:Buzz&lt;br /&gt;6:Fizz&lt;br /&gt;7:&lt;br /&gt;8:&lt;br /&gt;9:Fizz&lt;br /&gt;10:Buzz&lt;br /&gt;fizzbuzz ['10','3','5'] : ok&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-6239766538453251752?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/6239766538453251752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=6239766538453251752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6239766538453251752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6239766538453251752'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/erlang-noshell.html' title='Erlang ターミナルから実行 noshell'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7589039705467272701</id><published>2009-04-01T04:46:00.003+09:00</published><updated>2009-04-01T04:51:45.249+09:00</updated><title type='text'>フロッピーキューブ届きました</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SdJzge8WDSI/AAAAAAAAAeg/o9byLxqSs0o/s1600-h/P1010204.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SdJzge8WDSI/AAAAAAAAAeg/o9byLxqSs0o/s200/P1010204.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5319441111777152290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/SdJzgFeARRI/AAAAAAAAAeY/Ys6eRidg4iA/s1600-h/P1010205.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/SdJzgFeARRI/AAAAAAAAAeY/Ys6eRidg4iA/s200/P1010205.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5319441104939009298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1x3x3のキューブです。解くのはとっても簡単。&lt;br /&gt;&lt;br /&gt;なんでこの形で回せるんだw中どうなってるw&lt;br /&gt;と構造上の美しさを感じざるを得ない代物です。&lt;br /&gt;&lt;br /&gt;キーアクセサリーにしようかなと思ってます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=jazzical19-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=B001QCYG06&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=FFFFFF&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7589039705467272701?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7589039705467272701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7589039705467272701' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7589039705467272701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7589039705467272701'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/04/blog-post.html' title='フロッピーキューブ届きました'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/SdJzge8WDSI/AAAAAAAAAeg/o9byLxqSs0o/s72-c/P1010204.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4173558564853729452</id><published>2009-03-30T00:06:00.007+09:00</published><updated>2009-03-30T00:59:06.673+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='やったこと'/><title type='text'>正規表現　HTML内のリンク抽出</title><content type='html'>今日はリナカフェでWEB巡回スクリプトを書いてました。&lt;br /&gt;正規表現を再確認。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/t-fridge/20090302/1235994814"&gt;HTML内のハイパーリンクを抽出&lt;/a&gt;で参考にさせてもらったものがうまく動かなかったりした。&lt;br /&gt;&lt;br /&gt;理由はgreedy qualifiersだと教えてもらった。&lt;br /&gt;&lt;br /&gt;+と*と?の三つは同じ文字の繰り返しを表す正規表現、それぞれ「1個以上」「0個以上」「0 or 1個」の意味なのだけれど&lt;br /&gt;&lt;br /&gt;それらはパターンマッチのとき可能な限り長い文字列にマッチする様にできてる。&lt;br /&gt;&lt;br /&gt;たとえば、＜で始まって任意の文字がいくつかならんで＞で終わるようなものを探すとすると&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;.*&gt;&lt;/blockquote&gt;&lt;br /&gt;この正規表現にマッチする部分は次の文字列ではどの部分で、何通りの答えが出るのだろう？&lt;br /&gt;&lt;br /&gt;&amp;lt;a href="hogehoge"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;a href="fugafuga"&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;br /&gt;答えは文字列全体が一つの固まりでマッチする！&lt;br /&gt;&lt;br /&gt;というのは、はじめの&lt;から最後の&gt;まで、可能な限り長い文字列をマッチさせるようにできているからで、&lt;br /&gt;&lt;br /&gt;もしはじめの&amp;lt;a href="hogehoge"&amp;gt;だけ欲しいなら&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;.*?&gt;&lt;/blockquote&gt;&lt;br /&gt;という正規表現を使う。&lt;br /&gt;&lt;br /&gt;これはnon-greedyな、最小一致でマッチさせる方法で、&lt;br /&gt;+?や*?、??の用に連続修飾子の後ろに?をつける。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;連続修飾子のすぐ後ろに?があったらnon-greedyの？、がポイント&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;修正したコード、&lt;br /&gt;import re&lt;br /&gt;&lt;br /&gt;reg=re.compile(r'&amp;lt;a\s+.*?href\s*=\s*[\'|"]?(http://[a-zA-Z\d?*!$&amp;amp;%#@~_=\-/.,;:()]+)[\s|\'|"]?.*?&amp;gt;.*?&amp;lt;/a&amp;gt;',re.IGNORECASE)&lt;br /&gt;&lt;br /&gt;return reg.findall(bodystring)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4173558564853729452?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4173558564853729452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4173558564853729452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4173558564853729452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4173558564853729452'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/html.html' title='正規表現　HTML内のリンク抽出'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8712985819067718178</id><published>2009-03-24T21:47:00.009+09:00</published><updated>2009-03-24T22:39:06.656+09:00</updated><title type='text'>Eye-Fiを購入しました</title><content type='html'>アマゾンでEye-Fiを購入しました。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScjfYmapXKI/AAAAAAAAAd0/2YqgfISft1M/s1600-h/P1010172.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScjfYmapXKI/AAAAAAAAAd0/2YqgfISft1M/s400/P1010172.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5316744973833034914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/ScjgS4gO8HI/AAAAAAAAAeM/VlThZoPVNWk/s1600-h/P1010176.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/ScjgS4gO8HI/AAAAAAAAAeM/VlThZoPVNWk/s200/P1010176.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5316745975120719986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eye-Fiとは無線LAN機能が搭載されたSDメモリカードです。&lt;/div&gt;&lt;div&gt;これをデジカメにさして使う事で、&lt;/div&gt;&lt;div&gt;撮った写真を無線で自分のパソコンやオンラインストレージにアップロードする事ができます。&lt;/div&gt;&lt;br /&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=jazzical19-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=B001MTQY5I&amp;fc1=000000&amp;IS1=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=FFFFFF&amp;bg1=FFFFFF&amp;f=ifr&amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eye-Fiを使う為には一度Eye-Fiのマイページにログインして設定をします。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;・アップロードに使用する無線環境の登録&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;僕は自宅と職場にしました、登録した無線環境以外の場所からむやみにアップロードできない様になってます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;・写真のアップロード先（PCとオンライン上）の設定&lt;/div&gt;&lt;div&gt;＞オンライン共有&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;選べるサイトは現在１３個&lt;/div&gt;&lt;div&gt;30daysAlbum , EVERNOTE , facebook, Flickr, HatenaFotolife&lt;/div&gt;&lt;div&gt;livedoorPICS, mobile me, MOVABLE TYPE, Nikon my Picturetown, Picasa&lt;/div&gt;&lt;div&gt;Snapfish, TypePad , VOX&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;僕はFlickrに登録。アップロードした写真は非公開設定にしておいて、あとで公開設定する。プライベートな写真をうっかり！なんて事の無い様に。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;＞パソコン&lt;/div&gt;&lt;div&gt;保存フォルダを指定。ケーブルでつながなくてもカメラを持って自宅に入るだけでパソコンに写真がアップロードされている事に感動しますよ！！デジカメに標準搭載すべき機能だこれ。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MacならiPhotoにするとスーパー便利です！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;この仕組みを絵に描いてみたりして。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Scjdm-_pnzI/AAAAAAAAAdk/atWhw4TwcaE/s1600-h/%E8%AA%AC%E6%98%8E.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 285px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Scjdm-_pnzI/AAAAAAAAAdk/atWhw4TwcaE/s400/%E8%AA%AC%E6%98%8E.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5316743021925605170" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;あと、実際にパソコン画面ではこんな感じでアップロードされます。&lt;/div&gt;&lt;div&gt;カメラからとった画像（画面右上：いっとき前にとった写真が今アップロードされている最中）&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/Scjf-CL97VI/AAAAAAAAAeE/whGTVTJgUU4/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 357px; height: 264px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/Scjf-CL97VI/AAAAAAAAAeE/whGTVTJgUU4/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5316745616942820690" /&gt;&lt;/a&gt;&lt;br /&gt;ほんとに、とった瞬間にアップロードされる光景に感動しました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8712985819067718178?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8712985819067718178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8712985819067718178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8712985819067718178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8712985819067718178'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/eye-fi.html' title='Eye-Fiを購入しました'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/ScjfYmapXKI/AAAAAAAAAd0/2YqgfISft1M/s72-c/P1010172.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-6231013030521092565</id><published>2009-03-20T14:40:00.004+09:00</published><updated>2009-03-20T14:50:05.919+09:00</updated><title type='text'>点と線届きました</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScMsvSN7MWI/AAAAAAAAAdc/Qnc_nxO8FQ4/s1600-h/IMG_0650.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScMsvSN7MWI/AAAAAAAAAdc/Qnc_nxO8FQ4/s400/IMG_0650.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5315141176083034466" /&gt;&lt;/a&gt;&lt;br /&gt;尊敬する宇多田ヒカルさんの自叙伝&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;届いてびっくりこんなに厚いのねw&lt;/div&gt;&lt;div&gt;点の方はヒカルさんの書き下ろしと写真とインタビューと語録&lt;/div&gt;&lt;div&gt;線の方は99年から08年までのWeb日記を完全掲載したもの&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=jazzical19-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=4930774225&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=FFFFFF&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=jazzical19-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=4930774233&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=FFFFFF&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-6231013030521092565?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/6231013030521092565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=6231013030521092565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6231013030521092565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6231013030521092565'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/blog-post_20.html' title='点と線届きました'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/ScMsvSN7MWI/AAAAAAAAAdc/Qnc_nxO8FQ4/s72-c/IMG_0650.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1047011863953078456</id><published>2009-03-19T21:34:00.008+09:00</published><updated>2009-03-19T22:11:48.046+09:00</updated><title type='text'>緊急告知</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/ScI8v_ZLYII/AAAAAAAAAdU/h98-mkoq7go/s1600-h/BBF.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/ScI8v_ZLYII/AAAAAAAAAdU/h98-mkoq7go/s400/BBF.jpeg" border="0" alt="" id="BLOGGER_PHOTO_ID_5314877305419161730" /&gt;&lt;/a&gt;&lt;br /&gt;Fat Boy SlimのBIG BEACHが日本で開催されるって！&lt;div&gt;たらまらんですよ。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;もんのすごく人が集まってけちょんけちょんになるwイベントなんだけど&lt;/div&gt;&lt;div&gt;日本でもそうなるかな&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;絶対行きます。チケット高いけど誰か一緒に行こう。&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;あwいい事思いついた。FatBoySlimをバックにMacbook開いてコーディングするとか&lt;/span&gt;&lt;/div&gt;&lt;div&gt;coding on the beach !! やゔぁいw&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;（サイテーって言われそうw）&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;FatBoySlimの他にくる方々&lt;/div&gt;&lt;div&gt;第一弾発表でLUCIANO 、大沢 伸一が発表されてて、他に10名来るそうです&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;場所は八景島シーパラダイス特設会場&lt;/div&gt;&lt;div&gt;date:  Jun,6 (SUT)&lt;/div&gt;&lt;div&gt;open:  10:00&lt;/div&gt;&lt;div&gt;start  12:00&lt;/div&gt;&lt;div&gt;雨天の場合翌日&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;先行チケット4/1発売開始&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;先行前売 ¥9,500／先行ペア前売 ¥18,000&lt;/div&gt;&lt;div&gt;2次先行前売(タオル付き)¥10,500／2次先行ペア前売(タオル付き)¥20,000&lt;/div&gt;&lt;div&gt;一般発売¥105,00&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://bigbeach-fes.com/"&gt;BigBeachFestival'09 official site&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.myspace.com/fatboyslim"&gt;Fat Boy Slim (myspace)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1047011863953078456?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1047011863953078456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1047011863953078456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1047011863953078456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1047011863953078456'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/blog-post_6578.html' title='緊急告知'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/ScI8v_ZLYII/AAAAAAAAAdU/h98-mkoq7go/s72-c/BBF.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8580700191202534839</id><published>2009-03-19T20:25:00.003+09:00</published><updated>2009-03-19T20:32:12.069+09:00</updated><title type='text'>ふと思った</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;コーヒーがないと何もできない。&lt;div&gt;このブログの名前はそんなとこから来てます。&lt;/div&gt;&lt;div&gt;とりあえずビール、ではないけれど「とりあえず珈琲と灰皿」&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ま、家では煙草は吸いません。&lt;/div&gt;&lt;div&gt;コーヒーを飲むのにスタバのタンブラーを使っておるのですが、&lt;/div&gt;&lt;div&gt;&lt;div&gt;柄が何もないのは寂しいのでiTunesの曲のジャケットを印刷して&lt;/div&gt;&lt;div&gt;タンブラーに着せました。&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;んーいい感じ。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScIsJb9ck_I/AAAAAAAAAdE/_FaBfzwRlUs/s400/IMG_0649.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5314859050886534130" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;でも、あれ？タンブラーにこんな事させるなら&lt;/div&gt;&lt;div&gt;もとからディスプレイになってればいいんじゃね？とおもって&lt;/div&gt;&lt;div&gt;こんな図が頭をよぎった。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/ScIsI8GfJ2I/AAAAAAAAAc8/VHAv0pDGioM/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 257px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/ScIsI8GfJ2I/AAAAAAAAAc8/VHAv0pDGioM/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5314859042334517090" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;こんどDIYしてみたいねー&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8580700191202534839?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8580700191202534839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8580700191202534839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8580700191202534839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8580700191202534839'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/blog-post_19.html' title='ふと思った'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/ScIsJb9ck_I/AAAAAAAAAdE/_FaBfzwRlUs/s72-c/IMG_0649.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4148882715793715845</id><published>2009-03-18T18:57:00.009+09:00</published><updated>2009-03-30T00:06:37.338+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='カスタマイズ'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>PIL for OSX -- ImageFontのエラー　_imagingftがみつからない</title><content type='html'>PIL for OSX -- ImageFontのエラー&lt;br /&gt;&lt;br /&gt;Python Imaging library(PIL)をインストールして&lt;br /&gt;Font、文字サイズ指定をするためのImageFont.truetype('フォント',size)に苦戦した。&lt;br /&gt;調べてみるとMacにソースをビルドしてインストールしてる人の多くが引っかかってるみたい。&lt;br /&gt;&lt;br /&gt;_imagingftがないと言われる問題です&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ImportError: No module named _imagingft&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;まーREADMEはよく読めって昔っから言われてた気がします。&lt;br /&gt;読んでみたら書いてあるじゃない。&lt;div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;入れる前に事前に必要な物&lt;/span&gt;&lt;br /&gt;1. Prerequisites.&lt;br /&gt;&lt;br /&gt;If you need any of the features described below, make sure you&lt;br /&gt;have the necessary libraries before building PIL.&lt;br /&gt;&lt;br /&gt;feature              library&lt;br /&gt;-----------------------------------------------------------------&lt;br /&gt;JPEG support         libjpeg (6a or 6b)&lt;br /&gt;                http://www.ijg.org&lt;br /&gt;                http://www.ijg.org/files/jpegsrc.v6b.tar.gz&lt;br /&gt;                ftp://ftp.uu.net/graphics/jpeg/&lt;br /&gt;&lt;br /&gt;PNG support          zlib (1.2.3 or later is recommended)&lt;br /&gt;http://www.gzip.org/zlib/&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;b&gt;特に今回の問題はこれが原因&lt;/b&gt;&lt;br /&gt;&lt;b&gt;OpenType/TrueType    freetype2 (2.1.3 or later is recommended)&lt;/b&gt;&lt;br /&gt;                http://www.freetype.org&lt;br /&gt;                http://freetype.sourceforge.net&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;...&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;font扱う時はfreetye2が必要ということです。&lt;br /&gt;これをいれれば_imagingftなんのとは言わなくなります。&lt;br /&gt;&lt;br /&gt;ちなみにPILをインストールした時にばっちり書いてありました。&lt;br /&gt;ログもちゃんと読むべきですね&lt;br /&gt;&lt;blockquote&gt;--------------------------------------------------------------------&lt;br /&gt;--- TKINTER support ok&lt;br /&gt;--- JPEG support ok&lt;br /&gt;--- ZLIB (PNG/ZIP) support ok&lt;br /&gt;--- FREETYPE2 support ok　　←ここがokじゃないならfreetype2いれなきゃだめ&lt;br /&gt;--------------------------------------------------------------------&lt;/blockquote&gt;&lt;br /&gt;freetype2の最新版をDLしてきて、&lt;div&gt;./configure&lt;/div&gt;&lt;div&gt;make&lt;/div&gt;&lt;div&gt;sudo make install&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;その後もういちどPILを&lt;/div&gt;&lt;div&gt;python setup.py build&lt;/div&gt;&lt;div&gt;sudo python setup.py installして完了です&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;で、使い方はこんな風に&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;myfont=ImageFont.truetype('Arial.ttf',30)&lt;br /&gt;img=Image.new('RGB',(200,200),(255,255,255))&lt;br /&gt;draw=ImageDraw.Draw(img)&lt;br /&gt;draw.text((座,標),'文字列',fill='色',font=myfont)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;フォントは/Library/Fonts/Arial.ttfをコピーでもってきてスクリプトと同じフォルダに入れときました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;環境はOSX Leopard&lt;/div&gt;&lt;div&gt;PIL (Imaging-1.1.6)&lt;/div&gt;&lt;div&gt;freetype-2.3.9&lt;/div&gt;&lt;div&gt;を使いました。&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;こんなかんじに。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScDNk8NEf-I/AAAAAAAAAc0/qFL9Ep3Y-u0/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 327px; height: 317px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScDNk8NEf-I/AAAAAAAAAc0/qFL9Ep3Y-u0/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5314473594817118178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;参考にさせていただきました&lt;br /&gt;&lt;a href="http://www.tektek.in/d/blog/20/"&gt;http://www.tektek.in/d/blog/20/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4148882715793715845?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4148882715793715845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4148882715793715845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4148882715793715845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4148882715793715845'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/pil-for-osx-imagefontimagingft.html' title='PIL for OSX -- ImageFontのエラー　_imagingftがみつからない'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/ScDNk8NEf-I/AAAAAAAAAc0/qFL9Ep3Y-u0/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-9075405901419635909</id><published>2009-03-18T08:49:00.010+09:00</published><updated>2009-03-19T23:02:41.460+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='App'/><title type='text'>METAL GEAR SOLID TOUCH 先行発売中！１８日</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/ScA8caTvmLI/AAAAAAAAAcM/jJc0Wr3F2fI/s1600-h/IMG_0013.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/ScA8caTvmLI/AAAAAAAAAcM/jJc0Wr3F2fI/s400/IMG_0013.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5314314019093321906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=307327418&amp;amp;mt=8"&gt;METAL GEAR SOLID TOUCHが先行発売されています&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;METAL GEAR SOLID TOUCHは19日配信と言われていましたが、ネットサーフィンしていたら先行配信されているとの情報が。&lt;br /&gt;ゲットしてきましたよー&lt;br /&gt;&lt;br /&gt;価格は900円&lt;br /&gt;&lt;br /&gt;操作方法はちょっと難しいですが、チュートリアルがあってしっかり説明してくれるので大丈夫。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/ScA8lG9RSNI/AAAAAAAAAcU/Sv7AZHbvizU/s1600-h/IMG_0012.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/ScA8lG9RSNI/AAAAAAAAAcU/Sv7AZHbvizU/s400/IMG_0012.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5314314168517609682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;すぐに全クリできそうな内容ですが、天下のメタルギアそんな簡単に終わらせる訳が無いと思ってます。&lt;br /&gt;&lt;br /&gt;とりあえずワンショットワンキルノーダメージで全クリするか！&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/ScA9lCY6OrI/AAAAAAAAAcs/pVOzyOZbcSk/s1600-h/IMG_0015.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/ScA9lCY6OrI/AAAAAAAAAcs/pVOzyOZbcSk/s400/IMG_0015.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5314315266802989746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;追記：&lt;br /&gt;だめ。MISSION#1~10までHOUNDクリアしたんですが、#11でHOUNDだせない&lt;br /&gt;すべてHOUNDクリアした方、ご一報お待ちしております。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-9075405901419635909?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/9075405901419635909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=9075405901419635909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/9075405901419635909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/9075405901419635909'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/metal-gear-touch.html' title='METAL GEAR SOLID TOUCH 先行発売中！１８日'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/ScA8caTvmLI/AAAAAAAAAcM/jJc0Wr3F2fI/s72-c/IMG_0013.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2031386007799625269</id><published>2009-03-18T04:02:00.006+09:00</published><updated>2009-03-18T09:57:45.832+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>iPhoneOS3.0発表会見ました！</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScACjTe2PoI/AAAAAAAAAcE/-uvkGK4xY2M/s1600-h/iphone-os-3-software.jpg.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 311px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/ScACjTe2PoI/AAAAAAAAAcE/-uvkGK4xY2M/s400/iphone-os-3-software.jpg.jpeg" border="0" alt="" id="BLOGGER_PHOTO_ID_5314250365845520002" /&gt;&lt;/a&gt;&lt;br /&gt;・&lt;b&gt;iPhoneOS 3.0ではP2Pコネクションが可能&lt;/b&gt;となりBluetoothを介した情報交換ができる様になりました。&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;これにより、例えばiPhone同士のビジネスカード交換などと行った事がwifiを介さずに可能となります。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;・また、&lt;b&gt;アプリケーションから直接Bluetoothコネクトできるアクセサリーの開発&lt;/b&gt;も可能となります。&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FMトランスミッター、FMチューナーしかり、血圧計といったメディカルデバイスのアプリケーションも開発可能です。アクセサリーはiPhoneのケーブル差し込み口に接続します。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;・次に、開発者向けに&lt;b&gt;GoogleMapsの一部のAPIを使える&lt;/b&gt;様にし、より便利なアプリケーションの開発が可能となります。&lt;br /&gt;&lt;br /&gt;・そしてついに、&lt;b&gt;Push notification機能が実装&lt;/b&gt;されます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;これによりサードパーティーのサーバからでもアプリケーションに対しSMSアラートのようなバッジ(赤い丸)、テキスト、音声によるお知らせをいつでも受けられる様になります。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;・他に様々な仕様が開発者向けに発表されました。&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;これによって面白いアプリケーションが以前にも増して開発できる様になります。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ゲーム内で音声チャットできたり、音楽やアイテムを実際に購入できたりもします。&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;糖尿病患者の血中グルコース量を測定しiPhoneに送信してインスリン注射のスケージューリングができたりもします。&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;・さらに待ってました。&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;カット／コピーアンドペーストが実装されます。&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:180%;"&gt;&lt;span class="Apple-style-span" style="font-size: 18px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;異なるアプリケーション間でもペーストでき、Undo／Redoも実装されます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;・またすべてのアプリケーションで&lt;b&gt;横向き表示ならびに横向きキーボード&lt;/b&gt;をサポートしました。&lt;br /&gt;&lt;br /&gt;・さらにさらにビックニュースです&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;spotlightが導入&lt;/b&gt;されました！&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:180%;"&gt;&lt;span class="Apple-style-span" style="font-size: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;これでiPhone内の文字を検索でき、音楽、メール、メモ、カレンダーなどすべてのキーアプリケーションを検索、アクセスする事ができます。spotlightはhomeスクリーンの左側に新しくページが追加され、左へフリックする事でアクセスする事ができます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;・さらにさらにさらに！&lt;/div&gt;&lt;div&gt;&lt;b&gt;A2DPをサポート&lt;/b&gt;し、Bluetoothを介して音楽が聴ける様になるそうです&lt;b&gt;。&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Developper Betaバージョンが本日リリースされ、正式一般公開は夏！になります&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;iPhone3GではFreeですがiPod touchでは$10のアップデート費用がかかります。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;夏と言えば６月！&lt;br /&gt;いやw６月はその通りなんですが、Appleが新製品を発表するWWDCの季節ですね。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;もしかすると？？&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;期待して待ちます！&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2031386007799625269?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2031386007799625269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2031386007799625269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2031386007799625269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2031386007799625269'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/iphoneos30.html' title='iPhoneOS3.0発表会見ました！'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/ScACjTe2PoI/AAAAAAAAAcE/-uvkGK4xY2M/s72-c/iphone-os-3-software.jpg.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-5347616052459856849</id><published>2009-03-17T16:24:00.002+09:00</published><updated>2009-03-17T16:28:08.439+09:00</updated><title type='text'>iPhone OS 3.0今夜26時から</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sb9QQOhhIMI/AAAAAAAAAb8/VUPYbVnD82Q/s1600-h/iphone-os-3-software.jpg.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 311px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sb9QQOhhIMI/AAAAAAAAAb8/VUPYbVnD82Q/s400/iphone-os-3-software.jpg.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5314054325027283138" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;今夜もちゃーんとリアルタイムチェックしますよー&lt;br /&gt;&lt;br /&gt;OSアップデートでiPhoneにコピーアンドペーストくるという噂。楽しみです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-5347616052459856849?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/5347616052459856849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=5347616052459856849' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5347616052459856849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/5347616052459856849'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/iphone-os-3026.html' title='iPhone OS 3.0今夜26時から'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Whrc0VYSc5w/Sb9QQOhhIMI/AAAAAAAAAb8/VUPYbVnD82Q/s72-c/iphone-os-3-software.jpg.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1728946363075372418</id><published>2009-03-15T01:24:00.002+09:00</published><updated>2009-03-15T01:30:43.687+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>SQLObject+doInTransactionを見つける</title><content type='html'>SQLObject+doInTransactionを見つける&lt;br /&gt;&lt;br /&gt;SQLObjectのトランザクション処理について調べてみたら&lt;br /&gt;大切な事がわかったのでメモ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;参考サイト：&lt;a href="http://d.hatena.ne.jp/seraphy/20061202"&gt;http://d.hatena.ne.jp/seraphy/20061202&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;トランザクションはコネクションに対して作成される&lt;br /&gt;sqlhub.doInTransactionをつかってトランザクションを開始する&lt;br /&gt;・内部で現在のコネクションを保存しておいて&lt;br /&gt;・そのコネクションに対しtransaction()で新しいトランザクションを開始する&lt;br /&gt;・これがスレッドに結びつけられファンクションが実行される。&lt;br /&gt;・exceptionが返されなければCOMMIT、でなければロールバックされる&lt;br /&gt;・最後に保存しておいたコネクションをスレッドに復元し復帰。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;実際にためしてみた。どんだけか。&lt;br /&gt;&lt;br /&gt;トランザクションの実行評価&lt;br /&gt;testfunc(n)には、nに作成するデータ量を与えて実行してやる。&lt;br /&gt;testfunc2(n)にも同じく、これを比較すると&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;どんだけっ！なくらい圧倒的に後者が速かった。&lt;br /&gt;以下にコード&lt;br /&gt;Userというオブジェクトをn個つくってデータベースにつめる&lt;br /&gt;そのあとわざわざUserのテーブルからuserIdを全部取り直してきて&lt;br /&gt;わざわざもういちど参照して引き出してリストにするということをする&lt;br /&gt;&lt;br /&gt;import sqlite3&lt;br /&gt;from sqlobject import *&lt;br /&gt;&lt;br /&gt;class User(SQLObject):&lt;br /&gt;　userId=StringCol(length=30)&lt;br /&gt;&lt;br /&gt;# テスト用のsqliteデータベースはルートにつくった&lt;br /&gt;def testfunc(n):&lt;br /&gt;　sqlhub.processConnection = connectionForURI('sqlite:///test.db')&lt;br /&gt;　try:&lt;br /&gt;　　User.createTable()&lt;br /&gt;　except:&lt;br /&gt;　　User.clearTable()&lt;br /&gt;　for i in range(n):&lt;br /&gt;　　User(userId='%d'%i)&lt;br /&gt;　L=[userObj.userId for userObj in User.select()]&lt;br /&gt;　result=[User.selectBy(userId=uid) for uid in L]&lt;br /&gt;　print len(result)&lt;br /&gt;&lt;br /&gt;# 上の関数のDBにアクセスする部分をトランザクション単位にしてしまう&lt;br /&gt;def func(n):&lt;br /&gt;　for i in range(n):&lt;br /&gt;　　User(userId='%d'%i)&lt;br /&gt;　L=[userObj.userId for userObj in User.select()]&lt;br /&gt;　result=[User.selectBy(userId=uid) for uid in L]    &lt;br /&gt;　print len(result)&lt;br /&gt;&lt;br /&gt;# func(n)をトランザクション処理するとものすごく速い。&lt;br /&gt;def testfunc2(n):&lt;br /&gt;　sqlhub.processConnection = connectionForURI('sqlite:///test.db')&lt;br /&gt;　try:&lt;br /&gt;　　User.createTable()&lt;br /&gt;　except:&lt;br /&gt;　　User.clearTable()&lt;br /&gt;　sqlhub.doInTransaction(func,n)&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;馬鹿なーこれ知ってれば昨日の悩みはなかった&lt;br /&gt;はやくプログラム書き直して、ぐぐぐっと計算が早くなるところを見て&lt;br /&gt;「うむはははっ」と言いたいです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1728946363075372418?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1728946363075372418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1728946363075372418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1728946363075372418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1728946363075372418'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/sqlobjectdointransaction.html' title='SQLObject+doInTransactionを見つける'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-557538111114994117</id><published>2009-03-12T16:10:00.006+09:00</published><updated>2009-06-23T23:23:53.636+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='カスタマイズ'/><title type='text'>MacBook Leopardへsvn+tracを導入</title><content type='html'>&lt;b&gt;MacBook Leopardへsvn+tracを導入&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;tracのインストールはeasyinstallからやりました&lt;br /&gt;GenshiやPygments,setuptoolsも必要なら入れる様だけど&lt;br /&gt;tracだけのインストールでうまくいった。&lt;br /&gt;(OSXLeperdのDeveloperToolsはもちろん入れておく)&lt;br /&gt;&lt;blockquote&gt;sudo easy_install trac==0.11&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Tracの始め方&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Trac用のディレクトリをつくって、svnとtracを設置する場所をつくる&lt;br /&gt;svnadminでsvnディレクトリのなかにレポジトリを作る。&lt;br /&gt;svn checkout(coでもいける)でリビジョンが０である事を確認&lt;br /&gt;&lt;blockquote&gt;@~/Documents $ mkdir Trac&lt;br /&gt;@~/Documents $ mkdir Trac/svn&lt;br /&gt;@~/Documents $ mkdir Trac/trac&lt;br /&gt;@~/Documents $ svnadmin create /Users/あなた/Documents/Trac/svn/repos&lt;br /&gt;@~/Documents $ svn co file:///Users/あなた/Documents/Trac/svn/repos&lt;br /&gt;Checked out revision 0.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;trac-adminでプロジェクト環境の初期化をする&lt;br /&gt;・プロジェクトネームは好きにつける。&lt;br /&gt;・データベースはsqlite3を使うことにして、DBの場所を書き込む、&lt;br /&gt;　　ここで書いたディレクトリがもし存在していなくても自動で生成される。&lt;br /&gt;・レポジトリタイプはSubversionを使っているのでsvnのままで、何も書かずにenter.&lt;br /&gt;・レポジトリの場所を教えるここは、先ほどレポジトリを作った場所。&lt;br /&gt;以上でプロジェクト環境が生成される&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;@~/Documents $ trac-admin /Users/あなた/Documents/Trac/trac/ initenv&lt;br /&gt;Creating a new Trac environment at /Users/あなた/Documents/Trac/trac&lt;br /&gt;&lt;br /&gt;Trac will first ask a few questions about your environment&lt;br /&gt;in order to initalize and prepare the project database.&lt;br /&gt;&lt;br /&gt;Please enter the name of your project.&lt;br /&gt;This name will be used in page titles and descriptions.&lt;br /&gt;&lt;br /&gt;Project Name [My Project]&gt; MyProject&lt;br /&gt;&lt;br /&gt;Please specify the connection string for the database to use.&lt;br /&gt;By default, a local SQLite database is created in the environment&lt;br /&gt;directory. It is also possible to use an already existing&lt;br /&gt;PostgreSQL database (check the Trac documentation for the exact&lt;br /&gt;connection string syntax).&lt;br /&gt;&lt;br /&gt;Database connection string [sqlite:db/trac.db]&gt; sqlite:///Users/あなた/Documents/Trac/sqlitedb/trac.db&lt;br /&gt;&lt;br /&gt;Please specify the type of version control system,&lt;br /&gt;By default, it will be svn.&lt;br /&gt;&lt;br /&gt;If you don't want to use Trac with version control integration,&lt;br /&gt;choose the default here and don't specify a repository directory.&lt;br /&gt;in the next question.&lt;br /&gt;&lt;br /&gt;Repository type [svn]&gt;&lt;br /&gt;&lt;br /&gt;Please specify the absolute path to the version control&lt;br /&gt;repository, or leave it blank to use Trac without a repository.&lt;br /&gt;You can also set the repository location later.&lt;br /&gt;&lt;br /&gt;Path to repository [/path/to/repos]&gt; /Users/あなた/Documents/Trac/svn/repos&lt;br /&gt;&lt;br /&gt;Creating and Initializing Project&lt;br /&gt;Installing default wiki pages&lt;br /&gt;/Library/Python/2.5/site-packages/Trac-0.11-py2.5.egg/trac/wiki/default-pages/CamelCase imported from CamelCase&lt;br /&gt;/Library/Python/2.5/site-packages/Trac-0.11-py2.5.egg/trac/wiki/default-pages/InterMapTxt imported from InterMapTxt&lt;br /&gt;/Library/Python/2.5/site-packages/Trac-0.11-py2.5.egg/trac/wiki/default-&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;〜中略〜&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------------&lt;br /&gt;Project environment for 'MyProject' created.&lt;br /&gt;&lt;br /&gt;You may now configure the environment by editing the file:&lt;br /&gt;&lt;br /&gt;/Users/あなた/Documents/Trac/trac/conf/trac.ini&lt;br /&gt;&lt;br /&gt;If you'd like to take this new project environment for a test drive,&lt;br /&gt;try running the Trac standalone web server `tracd`:&lt;br /&gt;&lt;br /&gt;Tracd --port 8000 /Users/あなた/Documents/Trac/trac&lt;br /&gt;&lt;br /&gt;Then point your browser to http://localhost:8000/trac.&lt;br /&gt;There you can also browse the documentation for your installed&lt;br /&gt;version of Trac, including information on further setup (such as&lt;br /&gt;deploying Trac to a real web server).&lt;br /&gt;&lt;br /&gt;The latest documentation can also always be found on the project&lt;br /&gt;website:&lt;br /&gt;&lt;br /&gt;http://trac.edgewall.org/&lt;br /&gt;&lt;br /&gt;Congratulations!&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;成功。&lt;br /&gt;スタンドアローンサーバを実行すればすぐに簡単にトラックにアクセスできる&lt;br /&gt;&lt;blockquote&gt;tracd --port 8000 /Users/あなた/Documents/Trac/trac&lt;/blockquote&gt;&lt;br /&gt;ブラウザを起動して&lt;a href="http://localhost:8000/"&gt;http://localhost:8000/&lt;/a&gt;にアクセスする。&lt;br /&gt;ここではバナー画像がリンク切れになっているが大丈夫。あとで説明。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;次に自分の作業場所をつくってsvnとリンクさせる&lt;br /&gt;Tracにテンプレートディレクトリをつくる中には3つのディレクトリを作っておく&lt;br /&gt;このtmpをひな形としてsvnにimportして使う&lt;br /&gt;Workspaceにもどってsvnのレポジトリをcheckoutすると&lt;br /&gt;reposディレクトリ以下がWorkspaceにコピーされる&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div&gt;@~/Documents $ mkdir Workspace&lt;br /&gt;@~/Documents $ cd Trac/&lt;br /&gt;@~/Documents/Trac $ mkdir tmp&lt;br /&gt;@~/Documents/Trac $ mkdir tmp/branches&lt;br /&gt;@~/Documents/Trac $ mkdir tmp/tags&lt;br /&gt;@~/Documents/Trac $ mkdir tmp/trunk&lt;br /&gt;@~/Documents/Trac $ svn import /Users/あなた/Documents/Trac/tmp/ file:///Users/あなた/Documents/Trac/svn/repos/ -m 'initial import'&lt;br /&gt;Adding         /Users/あなた/Documents/Trac/tmp/trunk&lt;/div&gt;&lt;div&gt;Adding         /Users/あなた/Documents/Trac/tmp/branches&lt;br /&gt;Adding         /Users/あなた/Documents/Trac/tmp/tags&lt;br /&gt;&lt;br /&gt;Committed revision 1.&lt;br /&gt;@~/Documents/Trac $ cd ../Workspace/&lt;br /&gt;@~/Documents/Workspace $ svn co file:///Users/あなた/Documents/Trac/svn/repos/&lt;br /&gt;A    repos/trunk&lt;br /&gt;A    repos/branches&lt;br /&gt;A    repos/tags&lt;br /&gt;Checked out revision 1.&lt;br /&gt;[15:32:49] @~/Documents/Workspace $ ls&lt;br /&gt;repos&lt;br /&gt;[15:33:06] @~/Documents/Workspace $ cd repos/&lt;br /&gt;[15:33:23] @~/Documents/Workspace/repos $ ls&lt;br /&gt;branches tags  trunk&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;中をひらいてtrunkにファイルをおいてみる。test.txt&lt;br /&gt;ファイルを追加したら追加した事をsvnに教える必要がある。&lt;br /&gt;svn add filenameする&lt;br /&gt;そして、svn checkin(ciでもいける)する。-mオプションでメッセージも書ける&lt;br /&gt;そうするとデータがコミットされリビジョンがバージョンアップする。&lt;br /&gt;またファイルに変更をくわえても、そのあとにciすることでリビジョンがアップデートされる。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;@~/Documents/Workspace/repos $ cd trunk/&lt;br /&gt;@~/Documents/Workspace/repos/trunk $ ls&lt;br /&gt;test.txt&lt;br /&gt;@~/Documents/Workspace/repos/trunk $ svn add test.txt&lt;br /&gt;A         test.txt&lt;br /&gt;@~/Documents/Workspace/repos/trunk $ svn ci -m 'I add test.txt'&lt;br /&gt;Adding         trunk/test.txt&lt;br /&gt;Transmitting file data .&lt;br /&gt;Committed revision 2.&lt;br /&gt;@~/Documents/Workspace/repos/trunk $ svn ci -m 'test.txt modified'&lt;br /&gt;Sending        trunk/test.txt&lt;br /&gt;Transmitting file data .&lt;br /&gt;Committed revision 3.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Timelineで作業を時系列に管理でき、変更点も見直せる。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sbi3T67kkGI/AAAAAAAAAb0/3bEJaznxnhA/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 260px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/Sbi3T67kkGI/AAAAAAAAAb0/3bEJaznxnhA/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5312197313348014178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sbi1z0-l7II/AAAAAAAAAbs/di3UZOvyX6M/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png" style="text-decoration: none;"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 318px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/Sbi1z0-l7II/AAAAAAAAAbs/di3UZOvyX6M/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5312195662482631810" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-557538111114994117?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/557538111114994117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=557538111114994117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/557538111114994117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/557538111114994117'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/macbook-leopardsvntrac.html' title='MacBook Leopardへsvn+tracを導入'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/Sbi3T67kkGI/AAAAAAAAAb0/3bEJaznxnhA/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-2215195574669850147</id><published>2009-03-07T04:23:00.002+09:00</published><updated>2009-03-07T04:29:16.220+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Python,SQLObject,sqlite3</title><content type='html'>今日はSQLObjectの話&lt;br /&gt;&lt;br /&gt;pythonからデータベースを組む為、オブジェクト関連マッパー(O/RM)であるSQLObjectをいれていじってみました。&lt;br /&gt;オブジェクト関連マッピングとは、オブジェクト指向のプログラミングデータからデータベースで扱えるデータへ変換するもの？&lt;div&gt;&lt;br /&gt;たとえば、いくつもの電話番号が記された電話帳オブジェクトを人物オブジェクトが持っているような構造はそのまんまデータベースでは扱えない。&lt;br /&gt;SQLデータベースでは単純なスカラー値の表を作り操作できる様にしている。だから複雑に組み込まれた構造を単純なスカラー値のグループに変換しなければならなくて&lt;br /&gt;これを実装したものがORMなのだと、wikipediaより。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;実際にpythonのORM、SQLObjectをつかってsqlite3によるデータベースを作ってみる。&lt;br /&gt;今回は人物とお店、そしてお店の評価、というものをデータベースにつめてみる。&lt;br /&gt;オブジェクト指向だと、人物オブジェクトがお店の名前に対して点数をつけた点数表オブジェクトを持っている様に構造化できるが&lt;br /&gt;もっと単純化しなければならない。&lt;br /&gt;今回は次の様に考えた。&lt;br /&gt;&lt;br /&gt;・Userは自分の名前をもつ。&lt;br /&gt;・Shopは自分の名前、位置(緯度、経度)を持つ&lt;br /&gt;・Ratingはユーザ、お店に対して点数をもつ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;import sqlite3&lt;br /&gt;from sqlobject import *&lt;br /&gt;&lt;br /&gt;def newprocessConnection(fout):&lt;br /&gt;　　sqlhub.processConnection = connectionForURI('sqlite:///'+fout)&lt;br /&gt;  &lt;br /&gt;class User(SQLObject):&lt;br /&gt;　　userId=StringCol(length=30)&lt;br /&gt;&lt;br /&gt;class Shop(SQLObject):&lt;br /&gt;　　shopId=StringCol(length=10)&lt;br /&gt;　　lat=FloatCol(default=None)&lt;br /&gt;　　lon=FloatCol(default=None)&lt;br /&gt;  &lt;br /&gt;class Rating(SQLObject):&lt;br /&gt;　　userId=StringCol(length=30)&lt;br /&gt;　　shopId=StringCol(length=10)&lt;br /&gt;　　point=IntCol(default=None)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;====================================&lt;br /&gt;&lt;br /&gt;newprocessConnectionという関数を作った。&lt;br /&gt;データベースのファイル名を渡してコネクションをはる関数。&lt;br /&gt;sqliteDBの置き場はrootにしてある。&lt;br /&gt;ファイルが無ければ新たに生成されるし、存在すればコネクションがはられる。&lt;br /&gt;&lt;br /&gt;＜実行結果＞&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;＞＞＞ from sqlobj import *&lt;br /&gt;from sqlobj import *&lt;br /&gt;＞＞＞ newprocessConnection('test.db')&lt;br /&gt;newprocessConnection('test.db')&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ここでUserとShopのテーブルをつくってみる&lt;br /&gt;Userオブジェクトを作ると、データベースに順に書き込まれて行く&lt;br /&gt;tanbとJohnとhogeをつくった。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;＞＞＞ User.createTable()&lt;br /&gt;User.createTable()&lt;br /&gt;[]&lt;br /&gt;＞＞＞ Shop.createTable()&lt;br /&gt;Shop.createTable()&lt;br /&gt;[]&lt;br /&gt;＞＞＞ User(userId='tanb')&lt;br /&gt;User(userId='tanb')&lt;br /&gt;＜User 1 userId='tanb'＞&lt;br /&gt;＞＞＞ User(userId='John')&lt;br /&gt;User(userId='John')&lt;br /&gt;＜User 2 userId='John'＞&lt;br /&gt;＞＞＞ User(userId='hoge')&lt;br /&gt;User(userId='hoge')&lt;br /&gt;＜User 3 userId='hoge'＞&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;お店も同様、今回はコーヒーショップとクッキーショップだ。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;＞＞＞ Shop(shopId='Coffeeshop')&lt;br /&gt;Shop(shopId='Coffeeshop')&lt;br /&gt;＜Shop 1 shopId='Coffeeshop' lat=None lon=None＞&lt;br /&gt;＞＞＞ Shop(shopId='Cookieshop')&lt;br /&gt;Shop(shopId='Cookieshop')&lt;br /&gt;＜Shop 2 shopId='Cookieshop' lat=None lon=None＞&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ここでRatingテーブルをつくってみる&lt;br /&gt;引数にはユーザ、お店に対して点数。&lt;br /&gt;あとで人名を指定して参照することで店と点数を参照したり、&lt;br /&gt;店で選んで人と点数を参照できる。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;＞＞＞ Rating.createTable()&lt;br /&gt;Rating.createTable()&lt;br /&gt;[]&lt;br /&gt;＞＞＞ Rating(userId='tanb',shopId='Coffeeshop',point=10)&lt;br /&gt;Rating(userId='tanb',shopId='Coffeeshop',point=10)&lt;br /&gt;＜Rating 1 userId='tanb' shopId='Coffeeshop' point=10＞&lt;br /&gt;＞＞＞ Rating(userId='John',shopId='Coffeeshop',point=7)&lt;br /&gt;Rating(userId='John',shopId='Coffeeshop',point=7)&lt;br /&gt;＜Rating 2 userId='John' shopId='Coffeeshop' point=7＞&lt;br /&gt;＞＞＞ Rating(userId='tanb',shopId='Cookieshop',point=7)&lt;br /&gt;Rating(userId='tanb',shopId='Cookieshop',point=7)&lt;br /&gt;＜Rating 3 userId='tanb' shopId='Cookieshop' point=7＞&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;参照について。結果を見やすくするためlist()関数をつかってリスト化しておく&lt;br /&gt;Ratingテーブルでコーヒーショップの評価を全部見てみたい。&lt;br /&gt;この場合はselect()関数でshopIdがCoffeeshopであるものを選べばいい&lt;br /&gt;リストの要素を選択してパラメータpointを参照すれば個々の点数も簡単に呼び出せた。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;＞＞＞ Coffee=list(Rating.select(Rating.q.shopId=='Coffeeshop'))&lt;br /&gt;Coffee=list(Rating.select(Rating.q.shopId=='Coffeeshop'))&lt;br /&gt;＞＞＞ Coffee&lt;br /&gt;Coffee&lt;br /&gt;[＜Rating 1 userId='tanb' shopId='Coffeeshop' point=10＞, ＜Rating 2 userId='John' shopId='Coffeeshop' point=7＞]&lt;br /&gt;＞＞＞ Coffee[1].point&lt;br /&gt;Coffee[1].point&lt;br /&gt;7&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;pythonインタプリタを終了しても、もちろんデータは保持されている。&lt;br /&gt;再度起動してコネクションをはれば内容を参照できる。&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-2215195574669850147?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/2215195574669850147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=2215195574669850147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2215195574669850147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/2215195574669850147'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/pythonsqlobjectsqlite3.html' title='Python,SQLObject,sqlite3'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1036790165804590269</id><published>2009-03-06T18:30:00.004+09:00</published><updated>2009-03-06T18:39:15.892+09:00</updated><title type='text'>今日のデスクトップ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/SbDucIgDNBI/AAAAAAAAAbc/G0ZGRRyUVUI/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/SbDucIgDNBI/AAAAAAAAAbc/G0ZGRRyUVUI/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5310006127755473938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;あとでpythonのO/RマッパーSQLObjectをちょっと触ったので書いておきます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今日のデスクトップテーマは黒板。&lt;/div&gt;&lt;div&gt;GeekToolでカレンダーと時間とifconfigを書き出してます。&lt;/div&gt;&lt;div&gt;あと動画をniceplayerで再生中。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1036790165804590269?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1036790165804590269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1036790165804590269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1036790165804590269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1036790165804590269'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/blog-post.html' title='今日のデスクトップ'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/SbDucIgDNBI/AAAAAAAAAbc/G0ZGRRyUVUI/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-410418763675339092</id><published>2009-03-03T23:36:00.006+09:00</published><updated>2009-03-04T02:22:31.137+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>pythonにsee()を入れる</title><content type='html'>&lt;a href="http://github.com/"&gt;GitHub&lt;/a&gt;をのぞいてたらseeというモジュールを見つけました。&lt;br /&gt;&lt;br /&gt;pythonでは特定のオブジェクトの属性をみるためにdir()という関数が用意されていて、例えば&lt;blockquote&gt;＞＞＞d={}&lt;br /&gt;d={}&lt;br /&gt;＞＞＞dir(d)&lt;br /&gt;['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']&lt;br /&gt;&lt;/blockquote&gt;というようにリストで返ってきます。これでモジュールで使える関数を調べる事ができ便利なのですが、非常に見にくい。&lt;br /&gt;&lt;br /&gt;そこでseeをインストールしましょう！&lt;div&gt;see()関数を使うとこのように表示されます&lt;br /&gt;&lt;blockquote&gt;＞＞＞see(d)&lt;br /&gt;[] 　for　   in　   &lt; 　&lt;=　   == 　!=　   &gt; 　&gt;=　   help()　   len()　   repr()　   str()&lt;br /&gt;.clear() 　.copy()　   .fromkeys()　   .get()　   .has_key()　   .items()&lt;br /&gt;.iteritems()　 .iterkeys()　   .itervalues()　   .keys()　   .pop()　   .popitem()&lt;br /&gt;.setdefault()　   .update()　   .values()&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;macならeasy_install経由でインストールできます&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo easy_install see&lt;/blockquote&gt;&lt;br /&gt;pythonの対話型プロンプトで試してみましょう&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;＞＞＞from see import see&lt;br /&gt;from see import see&lt;br /&gt;＞＞＞d={}&lt;br /&gt;d={}&lt;br /&gt;＞＞＞see(d)&lt;br /&gt;see(d)&lt;br /&gt;[] 　for　   in　   &lt; 　&lt;=　   == 　!=　   &gt; 　&gt;=　   help()　   len()　   repr()　   str()&lt;br /&gt;.clear() 　.copy()　   .fromkeys()　   .get()　   .has_key()　   .items()&lt;br /&gt;.iteritems()　 .iterkeys()　   .itervalues()　   .keys()　   .pop()　   .popitem()&lt;br /&gt;.setdefault()　   .update()　   .values()&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;seeモジュールを毎回インポートするのはめんどうですので&lt;br /&gt;ホームディレクトリにpyファイルをつくって、ターミナル起動時に読み込む様に設定します。&lt;br /&gt;たとえば”.pythonrc.py”などという名前で、from see import seeと記述して保存しておきます。&lt;br /&gt;&lt;br /&gt;.bashrcに&lt;br /&gt;&lt;blockquote&gt;export PYTHONSTARTUP=$HOME/.pythonrc.py&lt;/blockquote&gt;&lt;br /&gt;を追記して保存します。.bashrcをリロードして&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ . .bashrc&lt;/blockquote&gt;&lt;br /&gt;完了です。&lt;br /&gt;&lt;br /&gt;pythonプロンプトを起動してseeを実行してみてください。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;・&lt;a href="http://github.com/inky/see/tree/master"&gt;inkey's see - GitHub&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;・&lt;a href="http://github.com/"&gt;github social coding&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-410418763675339092?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/410418763675339092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=410418763675339092' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/410418763675339092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/410418763675339092'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/03/pythonsee.html' title='pythonにsee()を入れる'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-7529072134407428572</id><published>2009-02-25T11:09:00.008+09:00</published><updated>2009-02-25T12:10:03.287+09:00</updated><title type='text'>Safari4(beta)　TopSitesが使いやすい！</title><content type='html'>&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 330px; height: 400px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/SaSoulvRMfI/AAAAAAAAAag/MMr10xe_N3A/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5306551779307106802" /&gt;&lt;br /&gt;昨日Safari 4 (BETA)がリリースされました&lt;br /&gt;MacOSX Leperdで使ってみたところ、とんでもなく動作が速いです。&lt;div&gt;&lt;div&gt;&lt;div&gt;javascriptの動作が軽快で、本当に４倍速いんじゃないだろうか；&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;構成が大幅に変わっております。&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;タブはブラウザ上部にまとめブラウジングスペースを確保&lt;/li&gt;&lt;li&gt;TopSitesの登場よく使うサイトをサムネイルからアクセスできる様に&lt;/li&gt;&lt;li&gt;履歴もサムネイルでCoverFlow表示&lt;/li&gt;&lt;li&gt;アドレスバーがspotlightに,履歴,Bookmarkを検索できる&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Top Sites&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SaSop_zJY_I/AAAAAAAAAaY/Pmhy4lMNn1I/s1600-h/window.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SaSop_zJY_I/AAAAAAAAAaY/Pmhy4lMNn1I/s400/window.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5306551700403348466" /&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;アドレスバー&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/SaSynRVVrcI/AAAAAAAAAaw/H9Nx0KWSbKk/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 160px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/SaSynRVVrcI/AAAAAAAAAaw/H9Nx0KWSbKk/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5306562648686833090" /&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;履歴&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SaSopj2LonI/AAAAAAAAAaQ/jSAMz7W-njc/s1600-h/history.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SaSopj2LonI/AAAAAAAAAaQ/jSAMz7W-njc/s400/history.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5306551692899885682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GoogleChromeがくる前に来たかーという感じ。それにしても最適化され過ぎだー&lt;/div&gt;&lt;div&gt;動きが軽快すぎりゅ！&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;個人的な設定ですが、新しいwindow,tabを開く時はかならずTop Sitesを表示する様にします。こうすればサイトアクセシビリティが向上する。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SaSopQTTT-I/AAAAAAAAAaI/0KW9hgRRAzQ/s1600-h/gene.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 358px; height: 400px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SaSopQTTT-I/AAAAAAAAAaI/0KW9hgRRAzQ/s400/gene.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5306551687653314530" /&gt;&lt;/a&gt;Top Sitesの左下にEditがあります。これでTop Sitesを変更してサイトアクセシビリティを向上させます。ピンマークを青くするとその場所に固定され消えなくなります。ドラッグして場所を変えます。&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SaS2NXCkk2I/AAAAAAAAAa4/ft2zIsicklc/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SaS2NXCkk2I/AAAAAAAAAa4/ft2zIsicklc/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5306566601588642658" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;新しいサイトを加えたい場合は何度かアクセスしてTop Sitesの最後尾に表示させましょう。最後尾を観る為には右下の表示sizeをsmallにして。要らないサイトはどんどん消して行けばいいと思います。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;あとパスワードなど何度も入力するのは面倒。AutoFillのUser namesとpasswordsを記憶させるにチェックを。&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SaSopKtU5kI/AAAAAAAAAZ4/gHmrl0sr8jo/s1600-h/autofill.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 176px;" src="http://3.bp.blogspot.com/_Whrc0VYSc5w/SaSopKtU5kI/AAAAAAAAAZ4/gHmrl0sr8jo/s400/autofill.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5306551686151857730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-7529072134407428572?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/7529072134407428572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=7529072134407428572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7529072134407428572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/7529072134407428572'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/safari-4-beta-macosx-leperd-javascript.html' title='Safari4(beta)　TopSitesが使いやすい！'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Whrc0VYSc5w/SaSoulvRMfI/AAAAAAAAAag/MMr10xe_N3A/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3133514297386724063</id><published>2009-02-23T16:38:00.005+09:00</published><updated>2009-02-23T17:17:01.489+09:00</updated><title type='text'>ムサビと芸大の卒業作品展やってます</title><content type='html'>時間をなんとか開けて行ってみたいと思います。&lt;br /&gt;この先二週間はかなり忙しくなりそう！&lt;br /&gt;&lt;br /&gt;東京芸術大学&lt;a href="http://www.geidai.ac.jp/facilities/museum/info/sotsuten_ueno_57th.html"&gt;http://www.geidai.ac.jp/facilities/museum/info/sotsuten_ueno_57th.html&lt;/a&gt;&lt;br /&gt;武蔵野美術大学&lt;a href="http://www.musabi.ac.jp/2009/02/80.html"&gt;http://www.musabi.ac.jp/2009/02/80.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;演劇をやっている友達のスクールの卒業講演があります。これも行きたい。&lt;br /&gt;&lt;a href="http://www.pac-ac.jp/news/"&gt;パフォーミングアートセンター：第10期生 卒業公演&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pythonメモ：&lt;br /&gt;&lt;br /&gt;Numpyをいれた。行列計算をなるだけ早くする。&lt;br /&gt;リストを行列に変換&lt;br /&gt;&lt;blockquote&gt;＞＞＞m=matrix([[1,0],[0,1]])&lt;br /&gt;＞＞＞m&lt;br /&gt;matrix([[1 , 0],&lt;br /&gt;　　　[0 , 1]])&lt;/blockquote&gt;行列をアレイに変換&lt;br /&gt;&lt;blockquote&gt;＞＞＞a=m.A&lt;br /&gt;＞＞＞a&lt;br /&gt;array([[1 , 0],&lt;br /&gt;　　　[0 , 1]])&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;アレイと行列では乗算方法が違う&lt;/li&gt;&lt;li&gt;shape(m)は（行数、列数）を返す&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;研究メモ：&lt;br /&gt;NS2タンパクのアミノ酸配列は短すぎる&lt;br /&gt;NSセグメントの塩基配列使ってみる？&lt;br /&gt;多次元尺度構成法で、HAとNA蛋白のアミノ酸配列の相関距離をだしてみる&lt;br /&gt;相関距離行列は上三角行列でなく(A,B)(B,A)の平均をとる&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;趣味メモ：&lt;br /&gt;クローラーを作る。HTMLのhrefを拾って再帰&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3133514297386724063?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3133514297386724063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3133514297386724063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3133514297386724063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3133514297386724063'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/blog-post_23.html' title='ムサビと芸大の卒業作品展やってます'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8843993338319457842</id><published>2009-02-19T23:47:00.003+09:00</published><updated>2009-02-20T00:03:44.265+09:00</updated><title type='text'>本自慢</title><content type='html'>とういか本貧乏なんだけど、、、&lt;br /&gt;&lt;br /&gt;また本を買ってしまいました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/SZ1xjIGJyDI/AAAAAAAAAZM/s49ZCM_IJsk/s1600-h/IMG_0581.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/SZ1xjIGJyDI/AAAAAAAAAZM/s49ZCM_IJsk/s400/IMG_0581.jpg" alt="" id="BLOGGER_PHOTO_ID_5304520784394962994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;左：&lt;a href="http://www.amazon.co.jp/%E8%80%83%E3%81%88%E3%82%8B%E8%84%B3-%E8%80%83%E3%81%88%E3%82%8B%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC-%E3%82%B8%E3%82%A7%E3%83%95%E3%83%BB%E3%83%9B%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B9/dp/4270000600/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1235055636&amp;amp;sr=1-1"&gt;ジェフ・ホーキンスの考える脳、考えるコンピューター&lt;/a&gt;&lt;br /&gt;人間の記憶と思考のプロセス、人間の脳の仕組み、そして、コンピューターは人間になれるのか！？忙しくてぶっ通しでは読めませんが、ちょいちょい時間をつくって読んでみようと思う。&lt;br /&gt;&lt;br /&gt;右：&lt;a href="http://www.amazon.co.jp/Subject-Change-%E4%BA%88%E6%B8%AC%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%AA%E4%B8%96%E7%95%8C%E3%81%A7%E6%9C%80%E9%AB%98%E3%81%AE%E8%A3%BD%E5%93%81%E3%81%A8%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E4%BD%9C%E3%82%8B-Peter-Merholz/dp/4873113857"&gt;Subject To Change-予測不能な世界で最高の製品とサービスを作る-&lt;/a&gt;&lt;br /&gt;この本、いきなり「未来予測はいつの時代も難しい」からはじまります。ざっくり言ってしまえばデザインについての本ですが、絵を描くとかではなく製品デザインについての本、未来をいかに予測して最高の製品をつくるかについて学べる本です。こういうのに興味のある方は&lt;a href="http://www.amazon.co.jp/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%A9%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-DESIGN-BOOKS-Dan-Saffer/dp/4839922381"&gt;インタラクションデザインの教科書&lt;/a&gt;もおすすめ。&lt;br /&gt;&lt;br /&gt;他にも２冊買っちゃったよ&lt;br /&gt;せっかく捕まえた諭吉くんにどんどん逃げらていく、、、&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;さて、ダイエットの話。はい。他にやる事ができて進行がとまっています。&lt;br /&gt;現在**4.5k&lt;br /&gt;予定を調整します。３月頭までにあと１k落とす。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8843993338319457842?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8843993338319457842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8843993338319457842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8843993338319457842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8843993338319457842'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/blog-post_19.html' title='本自慢'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/SZ1xjIGJyDI/AAAAAAAAAZM/s49ZCM_IJsk/s72-c/IMG_0581.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1440893130128818971</id><published>2009-02-14T22:16:00.005+09:00</published><updated>2009-02-15T02:56:18.473+09:00</updated><title type='text'>クッキーをつくったんだけど</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Whrc0VYSc5w/SZbEM-BcdVI/AAAAAAAAAYs/WLfsfcbRbcc/s1600-h/cookie.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 387px; height: 400px;" src="http://4.bp.blogspot.com/_Whrc0VYSc5w/SZbEM-BcdVI/AAAAAAAAAYs/WLfsfcbRbcc/s400/cookie.png" alt="" id="BLOGGER_PHOTO_ID_5302641338361869650" border="0" /&gt;&lt;/a&gt;まだ袋詰めがおわってません。&lt;br /&gt;あー間に合わない！！w&lt;br /&gt;&lt;br /&gt;やっぱクッキーを作るにはKeynoteが一番だね。&lt;br /&gt;&lt;br /&gt;追記：&lt;br /&gt;袋詰めした！&lt;br /&gt;光沢を出すには時間が足らない！w&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Whrc0VYSc5w/SZcFt8P9yWI/AAAAAAAAAZE/-CE4tuqSKEE/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 294px; height: 396px;" src="http://2.bp.blogspot.com/_Whrc0VYSc5w/SZcFt8P9yWI/AAAAAAAAAZE/-CE4tuqSKEE/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+2.png" alt="" id="BLOGGER_PHOTO_ID_5302713373077391714" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Whrc0VYSc5w/SZbNzLY64DI/AAAAAAAAAY8/lJysix1BDik/s1600-h/cookiepkg.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1440893130128818971?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1440893130128818971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1440893130128818971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1440893130128818971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1440893130128818971'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/blog-post_14.html' title='クッキーをつくったんだけど'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Whrc0VYSc5w/SZbEM-BcdVI/AAAAAAAAAYs/WLfsfcbRbcc/s72-c/cookie.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8998545908248950957</id><published>2009-02-13T23:11:00.005+09:00</published><updated>2009-02-13T23:30:55.865+09:00</updated><title type='text'>みなさん元気ですか？</title><content type='html'>あしたはチョコレートを買ってきて何か作ろうかなw&lt;br /&gt;なんて考えています。。。&lt;br /&gt;&lt;br /&gt;さて、未来のお話。知らない人は知らないと思うのですが、'Surface'という物があるってお話をします。&lt;br /&gt;&lt;br /&gt;去年の話だけど、MicrosoftがSurfaceというというデバイスをレストランや娯楽施設向けに開発してて、2,3年で一般消費者にも手が届く様にするって言ってたのがこれ↓&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://video.unrulymedia.com/wildfire_4343295.js?vn=sCFeR-1225378857879"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;この机がある場所なら、あなたがレストランのメニューを開くのも、本屋のマガジンを開くのも、電子化された教科書をみてそこで勉強するのも、全部できる。&lt;br /&gt;&lt;br /&gt;自分の写真アルバムをみるのも、地図を広げるのも、もちろんインターネットだって。&lt;br /&gt;&lt;br /&gt;テレビも見れる、遠くにいる友達と会話もできるしゲームで遊ぶ事もできる。&lt;br /&gt;&lt;br /&gt;これが一般家庭にも、レストランにも、学校、図書館、駅、あらゆる場所におかれたら、楽しい未来になるだろうな。机だけじゃなくて、壁にもついてたりとか。&lt;br /&gt;&lt;br /&gt;たのしい未来は、すぐそこです。&lt;br /&gt;&lt;br /&gt;猫ねこー&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/fqqj2R7-UYo&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/fqqj2R7-UYo&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8998545908248950957?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8998545908248950957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8998545908248950957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8998545908248950957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8998545908248950957'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/microsoftsurface23.html' title='みなさん元気ですか？'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8495303521032317069</id><published>2009-02-13T15:56:00.003+09:00</published><updated>2009-02-13T16:41:00.845+09:00</updated><title type='text'>GeoDjango on MacOSX Part2</title><content type='html'>この一週間忙しくてログるのわすれてました。&lt;br /&gt;&lt;br /&gt;前回のつづきで、地図でブラウジングするところまでのTutorialを書きます。&lt;br /&gt;参照もと：&lt;a href="http://geodjango.org/docs/tutorial.html#id8"&gt;GeoDjangoTutorial LayerMapping&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;こんな感じ&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Whrc0VYSc5w/SZUjV3ne0cI/AAAAAAAAAYk/_dxTbcI-jXg/s1600-h/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 271px;" src="http://1.bp.blogspot.com/_Whrc0VYSc5w/SZUjV3ne0cI/AAAAAAAAAYk/_dxTbcI-jXg/s400/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png" alt="" id="BLOGGER_PHOTO_ID_5302182994912399810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;まず、&lt;br /&gt;&lt;br /&gt;load.pyと名付けたファイルをworldディレクトリ直下につくります&lt;br /&gt;&lt;br /&gt;load.py&lt;br /&gt;&lt;blockquote&gt;import os&lt;br /&gt;from django.contrib.gis.utils import LayerMapping&lt;br /&gt;from models import WorldBorders&lt;br /&gt;&lt;br /&gt;world_mapping = {&lt;br /&gt;  　　'fips' : 'FIPS',&lt;br /&gt;  　　'iso2' : 'ISO2',&lt;br /&gt;  　　'iso3' : 'ISO3',&lt;br /&gt;  　　'un' : 'UN',&lt;br /&gt;  　　'name' : 'NAME',&lt;br /&gt;  　　'area' : 'AREA',&lt;br /&gt;  　　'pop2005' : 'POP2005',&lt;br /&gt;  　　'region' : 'REGION',&lt;br /&gt;  　　'subregion' : 'SUBREGION',&lt;br /&gt;  　　'lon' : 'LON',&lt;br /&gt;  　　'lat' : 'LAT',&lt;br /&gt;  　　'mpoly' : 'MULTIPOLYGON',&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;world_shp = os.path.abspath(os.path.join(os.path.dirname(__file__), 'data/TM_WORLD_BORDERS-0.3.shp'))&lt;br /&gt;&lt;br /&gt;def run(verbose=True):&lt;br /&gt;  　　lm = LayerMapping(WorldBorders, world_shp, world_mapping,&lt;br /&gt;                    　　transform=False, encoding='iso-8859-1')&lt;br /&gt;&lt;br /&gt;　　lm.save(strict=True, verbose=verbose)&lt;br /&gt;&lt;/blockquote&gt;このworld_mapping辞書のそれぞれのKeyは以前生成したWorldBordersのmodelのフィールドに対応していて、またそれぞれのvalueはデータがロードされるshapefileフィールドの名前をさしています。&lt;br /&gt;&lt;br /&gt;python shellを起動して&lt;br /&gt;&lt;blockquote&gt;$ python manage.py shell&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&gt;&gt;&gt; from world import load&lt;br /&gt;&gt;&gt;&gt; load.run()&lt;/blockquote&gt;&lt;br /&gt;LayerMappingの動作を見てみましょう&lt;br /&gt;&lt;br /&gt;===============================================&lt;br /&gt;と、ここまできて、どのようにgeographic modelsを定義しデータをimportするかみれたところで、じつはogrinspectを実行する事でこのプロセスを自動化できますって書いてある。。。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;manage.py ogrinspect world/data/TM_WORLD_BORDERS-0.3.shp WorldBorders --srid=4326 --mapping --multi&lt;/blockquote&gt;&lt;br /&gt;引数に＜データソース＞＜モデルネーム＞[option]&lt;br /&gt;例でのoption&lt;br /&gt;* The --srid=4326 option sets the SRID for the geographic field.&lt;br /&gt;* The --mapping option tells ogrinspect to also generate a mapping dictionary for use with LayerMapping.&lt;br /&gt;* The --multi option is specified so that the geographic field is a MultiPolygonField instead of just a PolygonField.&lt;br /&gt;&lt;br /&gt;実行すると自動で生成されたmodels.pyが表示される&lt;br /&gt;===============================================&lt;br /&gt;&lt;br /&gt;ブラウザで地図を見るためにdjangoを起動させましょう。&lt;br /&gt;まず、worldディレクトリ直下にadmin.pyを作る&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;from django.contrib.gis import admin&lt;br /&gt;from models import WorldBorders&lt;br /&gt;&lt;br /&gt;admin.site.register(WorldBorders, admin.GeoModelAdmin)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;そしてgeodjangoディレクトリでurls.pyでadminを有効に&lt;br /&gt;&lt;blockquote&gt;from django.conf.urls.defaults import *&lt;br /&gt;from django.contrib.gis import admin&lt;br /&gt;&lt;br /&gt;admin.autodiscover()&lt;br /&gt;&lt;br /&gt;urlpatterns = patterns('',&lt;br /&gt;                    (r'^admin/(.*)', admin.site.root),&lt;br /&gt;                    )&lt;/blockquote&gt;&lt;br /&gt;サーバーを起動して&lt;a href="http://localhost:8000/admin/"&gt;http://localhost:8000/admin/&lt;/a&gt;にアクセス&lt;br /&gt;&lt;blockquote&gt;python manage.py runserver&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8495303521032317069?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8495303521032317069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8495303521032317069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8495303521032317069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8495303521032317069'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/geodjango-on-macosx-part2.html' title='GeoDjango on MacOSX Part2'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Whrc0VYSc5w/SZUjV3ne0cI/AAAAAAAAAYk/_dxTbcI-jXg/s72-c/%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-6142503254246208174</id><published>2009-02-05T21:09:00.006+09:00</published><updated>2009-02-06T03:17:35.032+09:00</updated><title type='text'>GeoDjango on Mac OSX</title><content type='html'>.&lt;br /&gt;Geo Django Documents のInstallationやTutorialの流れをかいつまんでみる。&lt;br /&gt;&lt;br /&gt;Macへのinstall方法が調べても見つからなかったのでやってみました。&lt;br /&gt;途中、ぜんぜん立ち止まらず（理解とか無し）、ぶっ通しでタイピングしていますので&lt;br /&gt;今一度、振り返る為に今日メモっておきます。途中壁に何度もぶちあたってるトホホ&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;さて。&lt;br /&gt;djangoはもう入ってますか？&lt;br /&gt;それではスタート。&lt;br /&gt;&lt;br /&gt;まずMacPortsを入れるところから。&lt;br /&gt;OSXならばMacPortsからinstallするのが楽ということで、&lt;br /&gt;MacPortsは&lt;a href="http://www.macports.org/"&gt;http://www.macports.org/&lt;/a&gt;からDL&lt;br /&gt;&lt;br /&gt;DLしたdmgファイルを開けてそのままinstall&lt;br /&gt;MacPortsは/optを生成し、portsを/opt/localのなかにinstallしていくので&lt;br /&gt;.bashrcなどにPATHを貼っておく&lt;br /&gt;&lt;blockquote&gt;export PATH=/opt/local/bin:/opt/local/sbin/:$PATH&lt;br /&gt;export MANPATH=/opt/local/man:$MANPATH&lt;/blockquote&gt;あと一応のアップデートとシンク&lt;br /&gt;&lt;blockquote&gt;$ sudo port -d selfupdate&lt;br /&gt;$ sudo port -d sync&lt;/blockquote&gt;#===================================&lt;br /&gt;&lt;br /&gt;ではMacPortsが入った事ですし、&lt;br /&gt;&lt;a href="http://geodjango.org/docs/install.html#macosx"&gt;GeoDjango Doc&lt;/a&gt;に従ってのinstall開始。&lt;br /&gt;DBにはPostgreSQLがGood choiceなのだそう。&lt;br /&gt;&lt;blockquote&gt;$ sudo port install postgresql83-server  #これが一番時間かかる&lt;br /&gt;$ sudo port install geos  #やっぱり時間かかる&lt;br /&gt;$ sudo port install proj&lt;br /&gt;$ sudo port install postgis&lt;br /&gt;$ sudo port install gdal #時間との戦い。辛抱&lt;br /&gt;$ sudo port install libgeoip&lt;br /&gt;&lt;/blockquote&gt;installが終わったらEnvironment Settings&lt;br /&gt;&lt;br /&gt;PATHをまた貼付ける。The path needs to include the location of the Python installation and binary paths used by MacPorts。ということで&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;/Library/Frameworks/Python.framework/Versions/Current/bin&lt;br /&gt;#人によっては/System/Library以下かも&lt;br /&gt;&lt;br /&gt;/opt/local/bin:&lt;br /&gt;#これはさっき貼ってあるならいらない&lt;br /&gt;&lt;br /&gt;/opt/local/lib/postgresql83/bin:&lt;/blockquote&gt;の三つを貼付ける。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;次にDYLD_LIBRARY_PATHをつくる。同じく.bashrcなどに&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;export DYLD_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql83&lt;/blockquote&gt;（注意：ただし、このPATHによっていくつかのアプリケーションがbashで呼び出せなくなるかもしれません。ぼくはemacsがlibJPEG.dylibのversion違いで開けなくなりました。このパスをコメントアウトしてbashを立ち上げ直せばもと通りです。）&lt;br /&gt;&lt;br /&gt;そして&lt;br /&gt;&lt;blockquote&gt;export GDAL_DATA=/opt/local/share&lt;/blockquote&gt;こちらも記入。&lt;br /&gt;&lt;br /&gt;ここまでで一通りのinstallは終わりですが、設定がまだです。&lt;br /&gt;&lt;br /&gt;#======================================&lt;br /&gt;&lt;br /&gt;PostgreSQLを初回起動しましょう。&lt;br /&gt;&lt;blockquote&gt;sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb&lt;br /&gt;sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb&lt;br /&gt;sudo su postgres -c '/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/defaultdb'&lt;/blockquote&gt;すると何やらいろいろ出て完了です。&lt;br /&gt;&lt;blockquote&gt;起動&lt;br /&gt;sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb start'&lt;br /&gt;&lt;br /&gt;終了&lt;br /&gt;sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb stop'&lt;/blockquote&gt;で動作を確認してください。&lt;br /&gt;&lt;br /&gt;それでは次に、Spatial Database Templateを&lt;a href="http://geodjango.org/docs/install.html#creating-a-spatial-database-template"&gt;GeoDjangoチュートリアル&lt;/a&gt;に従って作りましょう。&lt;br /&gt;PostgreSQLを起動しておいてください。&lt;br /&gt;&lt;br /&gt;（注意：もし以下のタイピングでlwpostgis.sqlなんか存在しないよ！などのエラーが出たら、/opt/local/share/postgis/の中にはいってますので、/opt/local/share/postgresql83/にコピーで移すとうまくいきます）&lt;br /&gt;&lt;blockquote&gt;$ sudo su postgres -c 'createdb -E UTF8 template_postgis'&lt;br /&gt;$ sudo su postgres -c 'createlang -d template_postgis plpgsql'&lt;br /&gt;$ sudo su postgres -c 'psql -d template_postgis -f `pg_config --sharedir`/lwpostgis.sql'&lt;br /&gt;$ sudo su postgres -c 'psql -d template_postgis -f `pg_config --sharedir`/spatial_ref_sys.sql'&lt;br /&gt;$ sudo su postgres -c 'psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;" '&lt;br /&gt;$ sudo su postgres -c 'psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;" '&lt;br /&gt;&lt;/blockquote&gt;Templateが出来上がったところで、いよいよSpatial Databaseの生成です&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo su postgres -c 'createdb -T template_postgis -O hoge geodjango'&lt;/blockquote&gt;&lt;br /&gt;（注意：-TオプションでTemplateを選択し、-Oオプションでgeodjangoという名前のデータベースをhogeさんを管理者として生成するという意味ですので、username hogeはあなたのPosgreSQLがお持ちのUsernameにしてください。）&lt;br /&gt;&lt;br /&gt;ここまでで、地形データベースの構築が完了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#=========================================&lt;br /&gt;ここからdjangoのprojectをスタートさせます。&lt;br /&gt;チュートリアルのスタートがやっと切れる感じです（涙&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ django-admin.py startproject geodjango&lt;br /&gt;$ cd geodjango&lt;br /&gt;$ python manage.py startapp world&lt;/blockquote&gt;このprojectのsettings.pyを変更します。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;DATABASE_ENGINE = 'postgresql_psycopg2'&lt;br /&gt;DATABASE_NAME = 'geodjango'&lt;br /&gt;DATABASE_USER = 'hoge'&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;INSTALLED_APPS = (&lt;br /&gt;'django.contrib.auth',&lt;br /&gt;'django.contrib.contenttypes',&lt;br /&gt;'django.contrib.sessions',&lt;br /&gt;'django.contrib.sites',&lt;br /&gt;'django.contrib.admin',&lt;br /&gt;'django.contrib.gis',&lt;br /&gt;'geodjango.world'&lt;br /&gt;)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ここでworldアプリケーションにdataディレクトリを作り&lt;a href="http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip"&gt;http://thematicmapping.org/downloads/TM_WORLD_BORDERS-0.3.zip&lt;/a&gt;をDLしてdataへ移してください。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ mkdir world/data&lt;br /&gt;$ cd world/data&lt;br /&gt;$ unzip TM_WORLD_BORDERS-0.3.zip&lt;/blockquote&gt;展開して終了。長くなってきましたが&lt;br /&gt;詳しくは&lt;a href="http://geodjango.org/docs/tutorial.html"&gt;GeoDjangoTutorial&lt;/a&gt;をご覧くださいね。&lt;br /&gt;&lt;br /&gt;ではつぎです。&lt;br /&gt;models.pyを書き換えます&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# coding: utf-8&lt;br /&gt;&lt;br /&gt;from django.contrib.gis.db import models&lt;br /&gt;&lt;br /&gt;class WorldBorders(models.Model):&lt;br /&gt;　　name = models.CharField(max_length=50)&lt;br /&gt;　　area = models.IntegerField()&lt;br /&gt;　　pop2005 = models.IntegerField('Population 2005')&lt;br /&gt;　　fips = models.CharField('FIPS Code', max_length=2)&lt;br /&gt;　　iso2 = models.CharField('2 Disit ISO', max_length=2)&lt;br /&gt;　　iso3 = models.CharField('3 Digit ISO', max_length=3)&lt;br /&gt;　　un = models.IntegerField('United Nations Code')&lt;br /&gt;　　region = models.IntegerField('Region Code')&lt;br /&gt;　　subregion = models.IntegerField('Sub-Region Code')&lt;br /&gt;　　lon = models.FloatField()&lt;br /&gt;　　lat = models.FloatField()&lt;br /&gt;&lt;br /&gt;　　mpoly = models.MultiPolygonField()&lt;br /&gt;　　objects = models.GeoManager()&lt;br /&gt;&lt;br /&gt;　　class Meta:&lt;br /&gt;    　　　　verbose_name_plural = "World Borders"&lt;br /&gt;&lt;br /&gt;　　def __unicode__(self):&lt;br /&gt;    　　　　return self.name&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;======================================&lt;br /&gt;そうそうpsycopg2がinstallされていない方は&lt;a href="http://initd.org/pub/software/psycopg/"&gt;こちら&lt;/a&gt;で&lt;br /&gt;&lt;blockquote&gt;$ tar zxf psycopg2-2.0b8.tar.gz&lt;br /&gt;$ cd psycopg2-2.0b8&lt;br /&gt;$ python setup.py build&lt;br /&gt;$ python setup.py install&lt;/blockquote&gt;=======================================&lt;br /&gt;&lt;br /&gt;geodjango projectディレクトリで&lt;br /&gt;&lt;blockquote&gt;$ python manage.py sqlall world&lt;/blockquote&gt;&lt;br /&gt;こんな感じでSQLが発行されます。&lt;br /&gt;&lt;blockquote&gt;BEGIN;&lt;br /&gt;CREATE TABLE "world_worldborders" (&lt;br /&gt;"id" serial NOT NULL PRIMARY KEY,&lt;br /&gt;"name" varchar(50) NOT NULL,&lt;br /&gt;"area" integer NOT NULL,&lt;br /&gt;"pop2005" integer NOT NULL,&lt;br /&gt;"fips" varchar(2) NOT NULL,&lt;br /&gt;"iso2" varchar(2) NOT NULL,&lt;br /&gt;"iso3" varchar(3) NOT NULL,&lt;br /&gt;"un" integer NOT NULL,&lt;br /&gt;"region" integer NOT NULL,&lt;br /&gt;"subregion" integer NOT NULL,&lt;br /&gt;"lon" double precision NOT NULL,&lt;br /&gt;"lat" double precision NOT NULL&lt;br /&gt;)&lt;br /&gt;;&lt;br /&gt;SELECT AddGeometryColumn('world_worldborders', 'mpoly', 4326, 'MULTIPOLYGON', 2);&lt;br /&gt;ALTER TABLE "world_worldborders" ALTER "mpoly" SET NOT NULL;&lt;br /&gt;CREATE INDEX "world_worldborders_mpoly_id" ON "world_worldborders" USING GIST ( "mpoly" GIST_GEOMETRY_OPS );&lt;br /&gt;COMMIT;&lt;/blockquote&gt;&lt;br /&gt;データベースにシンクしておきましょう。&lt;br /&gt;&lt;blockquote&gt;$ python manage.py syncdb&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ちょっと休憩。。。途中で沢山こけた；膝が痛いよぉシクシク&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-6142503254246208174?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/6142503254246208174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=6142503254246208174' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6142503254246208174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/6142503254246208174'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/geodjango-on-mac-osx.html' title='GeoDjango on Mac OSX'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-4466616336474793822</id><published>2009-02-03T23:36:00.010+09:00</published><updated>2011-01-01T00:56:51.131+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='やったこと'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>エナジーのいる事</title><content type='html'>世界を救う為にはエナジーがいる。&lt;br /&gt;&lt;br /&gt;そんな話を昨日ぽつんと言った。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;エナジーの話は後ほど。&lt;br /&gt;&lt;br /&gt;＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝&lt;br /&gt;今日はpythonでExcelファイルを生成加工できるモジュールpyExceleratorを入手してテストしてみた。pyExceleratorはSourceForgeから。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/pyexcelerator"&gt;SourceForge.net: pyExcelerator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;pyExceleratorでExcelファイルを作るアルゴリズムは次の通り&lt;br /&gt;&lt;br /&gt;まずworkbookを作成、&lt;br /&gt;そこにシートを追加していく、&lt;br /&gt;シートに（x,y）座標を指定してvaluesを入れていく。&lt;br /&gt;すべて追加し終わったら、セーブで出力。という流れ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;すでにあるExcelファイルを読み込んだときのデータ構造は&lt;br /&gt;&lt;br /&gt;[(sheetname,{(0,0):値,(0,1):値,...}),(sheetname2,{(0,0):,...}),...]&lt;br /&gt;&lt;br /&gt;リストのなかにシートごとのタプルが入っている。タプル中は２つの要素、一つ目がシートの名前で２つ目がシートの中身を辞書構造化したもの。この辞書構造はkeyが（行,列）座標、valueがセルの値になっている。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;この２点を理解すれば、次の関数が理解できると思う。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# import: utf-8                                                                                                                                                           &lt;br /&gt;from pyExcelerator import *&lt;br /&gt;&lt;br /&gt;def testes(f):&lt;br /&gt;　wb = Workbook()&lt;br /&gt;　sh = parse_xls(f)&lt;br /&gt;　for name,values in sh:&lt;br /&gt;　　wsh = wb.add_sheet(name)&lt;br /&gt;　　for x,y in sorted(values.keys()):&lt;br /&gt;　　　wsh.write(x,y,values[x,y])&lt;br /&gt;　wb.save('copy'+f)&lt;br /&gt;&lt;br /&gt;testes('outputxls.xls')&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Excelファイルを食べると、そのデータを読み、新しいworkbookに書き込んで、元のExcelファイルのコピーをcopyなんとか.xlsで吐き出す。&lt;br /&gt;&lt;br /&gt;＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;世界を救うにはエナジーがいるという話。&lt;br /&gt;&lt;br /&gt;世界を救うには人を救わなくてはいけない。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;人を責める、助ける事をあきらめる、存在を否定する。&lt;br /&gt;そんなものはエネルギーを使わない。簡単な事だ。&lt;br /&gt;&lt;br /&gt;一方的に叱る。自分でやれという。&lt;br /&gt;そんなこともわからないのかといって、救う事をあきらめる。&lt;br /&gt;エナジーを使わないで、相手から身を引く最も簡単な方法だ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;人を救うのは愛だ。&lt;br /&gt;&lt;br /&gt;ある人は、まったくやる気を起こさない人間かもしれない、&lt;br /&gt;ある人は性格が悪くて嫌われる人かもしれない、&lt;br /&gt;ある人は気が短くてすぐあきらめる人かもしれない。&lt;br /&gt;&lt;br /&gt;でも、やる気のない人はやる気の起こし方を知らないだけだ。&lt;br /&gt;性格の悪い人は実は、人に優しくされた事がないだけかもしれない。&lt;br /&gt;気の短い人は、素早く物事を解決する方法を知らないだけかもしれない。&lt;br /&gt;&lt;br /&gt;完璧な人間なんていないのだ、&lt;br /&gt;自分と違う人間を、だめな人間として定義するのは間違っている。&lt;br /&gt;自分と違う人間を排他するのはおかしい。&lt;br /&gt;&lt;br /&gt;おせっかいをしろ、というつもりはないけれど、&lt;br /&gt;彼らを少しでも変えてあげる事ができるなら&lt;br /&gt;自分の持ちうる知識を分け与えてあげるべきだ。愛を持って。&lt;br /&gt;&lt;br /&gt;もちろん注意すべきは、知識は決して押し付けであってはならないという事。&lt;br /&gt;文化や宗教といったものに左右されないものでなければならない。&lt;br /&gt;彼がもし知識の共有を拒否したならば、潔くあきらめよう。&lt;br /&gt;&lt;br /&gt;ただ、このように、ほんの少し手助けしてあげるというのは&lt;br /&gt;実は、ものすごく多くのエナジーを必要とする。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;愛はエナジーをたくさん消費する。&lt;br /&gt;&lt;br /&gt;人を救うという事は、その人の足りない部分のすべてを請け負うという事じゃない。&lt;br /&gt;その人を自立させるための一押しを、慎重に少しずつ選んでいくという事だ。&lt;br /&gt;押しつけであってはいけない、その人の自立を手助けするのだ。&lt;br /&gt;手助けする為に自分の時間を割かなくてはならない。&lt;br /&gt;その方法を考えなくてはならない。&lt;br /&gt;相手から身を引くよりもずっとずっとエナジーを消費するのだ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;エナジーで満ちあふれているひとはすごい。&lt;br /&gt;僕のまわりにもそういう方々がたくさんいる。&lt;br /&gt;その人たちは、自分のエナジーを他人を救うことに惜しみなく使っていて&lt;br /&gt;それでもなお、エナジーに満ちあふれている。&lt;br /&gt;どこから湧き出てくるのだろう。僕もそんな人になりたい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;愛はエナジーを消費する。&lt;br /&gt;人を救うのは愛だ。&lt;br /&gt;世界を救うには人を救わなければいけない。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;だから、世界を救うにはエナジーが必要だ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;今の僕にはまだまだエナジーが足りてない。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-4466616336474793822?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/4466616336474793822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=4466616336474793822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4466616336474793822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/4466616336474793822'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/blog-post_03.html' title='エナジーのいる事'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-3850136039185508108</id><published>2009-02-03T00:57:00.007+09:00</published><updated>2009-02-04T00:46:44.316+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='やったこと'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>緯度経度python</title><content type='html'>&lt;a href="http://coffeeash.blogspot.com/2009/02/python.html"&gt;EXIF.py&lt;/a&gt;のつづき&lt;br /&gt;&lt;br /&gt;画像ファイル(Exif付きjpg)をopenしてEXIF.pyにかませ、GPSの緯度経度だけ抽出するのが目的。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;というわけでEXIFのimportから&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&gt;&gt;&gt; import EXIF&lt;br /&gt;&gt;&gt;&gt; fin = open('hogefuga.jpg','r')&lt;br /&gt;&gt;&gt;&gt; d = EXIF.process_file(fin)&lt;br /&gt;&gt;&gt;&gt; lat = d['GPS GPSLatitude']&lt;br /&gt;&gt;&gt;&gt; lon = d['GPS GPSLongitude']&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;まずfileをEXIFで分析し辞書がかえってくる。これにkey'GPS GPShogehoge'などで呼びだしをかけ、値を抽出していく。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;しかし、このlat,lonはinstance型なのであってint型の数字ではない事に注意。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;こんな感じ&lt;br /&gt;&gt;&gt;&gt; lon&lt;br /&gt;(0x0004) Ratio=[139, 2747/50, 0] @ 407&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;まず、このinstanceから値をとりだすのがvalues。&lt;br /&gt;dir(hoge)をつかえばhogeがどんな関数を持ってるかわかる。&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&gt;&gt;&gt; l_lat = lat.values&lt;br /&gt;&gt;&gt;&gt; l_lon = lon.values&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;これによりListとして値がかえってきた。&lt;br /&gt;Listの中身はこんな感じ[度, 分 ,秒]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;この度分秒にしばらく悩まされた。&lt;br /&gt;GoogleMapやyahoo地図など、普通はGPSの緯度経度を見るとき&lt;br /&gt;&lt;br /&gt;度分秒表示ではなく度表示をするんだなぁ。&lt;br /&gt;&lt;br /&gt;139度54.94分０秒ではなく139.91566666666665度&lt;br /&gt;&lt;br /&gt;最初この違いがわからなくて頭が３回転ぐらいした。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;つまり[139, 2747/50, 0]のままでは使えないということ。&lt;br /&gt;&lt;br /&gt;このListからまた値を取り出して、中央の分は60で割って度に直して和をとる。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ここでも注意。このListに入っている値さえもinstance型&lt;br /&gt;dir()して関数を確認したら、分数の分母をden分子をnumで取り出せるとある。&lt;br /&gt;&lt;br /&gt;これをふまえて、&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&gt;&gt;&gt; x = l_lat[0].num + l_lat[1].num/60.0/l_lat[1].den&lt;br /&gt;&gt;&gt;&gt; y = l_lon[0].num + l_lon[1].num/60.0/l_lon[1].den&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;これでめでたく度表示による緯度経度の数値をgetできた！&lt;br /&gt;&lt;br /&gt;でめんどくさいからこれを一発にまとめる。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;file.jpgを食わせると緯度経度のリストを返すスクリプトをEXIF.pyに書き込んでおく。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;def getPhotoGeos(file):&lt;br /&gt;　　d=process_file(open(file,'r'))&lt;br /&gt;　　return map(lambda x:x[0].num+x[1].num/60.0/x[1].den,[d['GPS GPSLatitude'].values,d['GPS GPSLongitude'].values])&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;これで一発。&lt;br /&gt;実行結果は次の通り&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&gt;&gt;&gt; EXIF.getPhotoGeos('hogefuga.jpg')&lt;br /&gt;[35.853666666666669, 139.91566666666665]&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;注意：この緯度経度は私の生活圏とはかぎりませんw&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-3850136039185508108?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/3850136039185508108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=3850136039185508108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3850136039185508108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/3850136039185508108'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/python_03.html' title='緯度経度python'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-1309634645053361891</id><published>2009-02-02T00:54:00.006+09:00</published><updated>2009-02-02T01:24:14.464+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='やったこと'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Pythonのモジュールってどこにおいたらいいんだ？</title><content type='html'>と、今日ふと思ったんですね。&lt;br /&gt;&lt;br /&gt;わたし昨日から、写真画像に含まれるExif情報をpythonで見れないか&lt;br /&gt;&lt;br /&gt;ずぅっと探してました。&lt;br /&gt;&lt;br /&gt;そしたらEXIF.pyの存在までたどり着いたのですが、&lt;br /&gt;どこへ行ってもそのファイルが見つからず、webをうろうろうろぅろぅろぅr。&lt;br /&gt;&lt;br /&gt;でも見つけましたYO!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/exif-py/"&gt;SourceForge.net: EXIF.py&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;やっと見つかって大喜びだったんですが、&lt;br /&gt;&lt;br /&gt;そういえば、.pyモジュールをimportするとき、Pythonはどこを参照してるのか疑問でした。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;実行プログラムと同じディレクトリにおいておけば確かにimportできるけど、毎回いどうするのもナンセンスだし、突き止めたい！&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;というわけで調べました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;わかりました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pythonさんは以下の順でモジュールを検索するそうです&lt;br /&gt;&lt;blockquote&gt;1. 実行中のファイルと同じディレクトリ&lt;br /&gt;2. カレントディレクトリ&lt;br /&gt;3. 環境変数「PYTHONPATH」に列挙したディレクトリ&lt;br /&gt;4. sys.pathに登録してあるディレクトリ&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;なるほど！！PYTHONPATHってなんだw&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;PYTHONPATHは自分で作っていなければないかもしれません。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;pythonにパスを通すとき作成して.bashrcなどにexportしておくものです。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;sys.pathを見てみましょう。&lt;br /&gt;pythonインタプリタを実行して対話モードで次のように確認です。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&gt;&gt;&gt;import sys&lt;br /&gt;&gt;&gt;&gt;print sys.path&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;するとこんな感じで['', '/Library/Python/2.5/site-packages/SQLObject-0.10.4-py2.5.egg', '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', '/Library/Python/2.5/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/PyObjC']&lt;br /&gt;&lt;br /&gt;表示がかえってくはずです。これがpythonに通しているパスですから、これらの場所を検索してモジュールをimportしているという事になります。&lt;br /&gt;&lt;br /&gt;わかりましたね。&lt;br /&gt;&lt;br /&gt;そして、色々探しまわった結果、このあたりがベストかな&lt;br /&gt;/Library/Python/2.5/site-packages&lt;br /&gt;という感じでした。わたしが後からいれたdjangoやmecabのモジュールもこちらに入っていましたので。&lt;br /&gt;&lt;br /&gt;手に入れたEXIF.pyを/Library/Python/2.5/site-packagesへ移動。pythonインタプリタを起動してimportできるか確認し、OKうまくいきました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;自分で作ったpythonスクリプトを何度もモジュールとしてimportするような場合はここへおいておけば言い訳ですね。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-1309634645053361891?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/1309634645053361891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=1309634645053361891' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1309634645053361891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/1309634645053361891'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/python.html' title='Pythonのモジュールってどこにおいたらいいんだ？'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5451813989188678119.post-8509954351764454506</id><published>2009-02-01T15:14:00.002+09:00</published><updated>2009-02-01T15:28:58.472+09:00</updated><title type='text'>Line</title><content type='html'>someone said ,&lt;br /&gt;&lt;br /&gt;you write a line on your paper.&lt;br /&gt;&lt;br /&gt;but the line is not line.&lt;br /&gt;&lt;br /&gt;Line has no the end.&lt;br /&gt;&lt;br /&gt;Line is infinitely long.&lt;br /&gt;&lt;br /&gt;Paper has limits , so we can't write line on it.&lt;br /&gt;&lt;br /&gt;we can never see that is infinitely long.&lt;br /&gt;&lt;br /&gt;Then, where is the Line ??&lt;br /&gt;&lt;br /&gt;Line is only in the Human heart.&lt;br /&gt;&lt;br /&gt;we can never see the things like the truth.&lt;br /&gt;&lt;br /&gt;but we can think and feel it in our own heart.&lt;br /&gt;&lt;br /&gt;so, Let's seek the line into your own heart.&lt;br /&gt;&lt;br /&gt;Let's seek the truth into human heart with love.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5451813989188678119-8509954351764454506?l=tanb.me' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tanb.me/feeds/8509954351764454506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5451813989188678119&amp;postID=8509954351764454506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8509954351764454506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5451813989188678119/posts/default/8509954351764454506'/><link rel='alternate' type='text/html' href='http://tanb.me/2009/02/blog-post.html' title='Line'/><author><name>tanB</name><uri>http://www.blogger.com/profile/14931005467407803358</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://2.bp.blogspot.com/_Whrc0VYSc5w/SoO_qxINEYI/AAAAAAAAAqA/fWD1igfJoQg/S220/timo.gif'/></author><thr:total>0</thr:total></entry></feed>
