We All Get Old - Naskin Diary

Yet Another My Life On The Web

八苦(Hack)

Mac OS用はてなハイククライアント作成メモ

Mac OS用アプリを作ろうと思って本を手にしてから早一年。RSSリーダーのサンプルコードをベースにはてなハイククライアントアプリを作ってみた。 Mac OS用 Twitterクライアントの「夜フクロウ」や「Tweetie」っぽい感じのを目指して作成開始。 メインウィン…

デジカメ操作メモ

日没後の明るい時間でも夕焼けをコンデジのオート設定で撮ろうとすると下の一枚目のように残念な感じになってしまう。そこでマニュアル設定にしてISO感度と露出補正をいじりながら撮影しているのだけど、その項目がなんなのかあんまり気にしていなかったので…

Xcodeプロジェクトディレクトリのバックアップ(Time Machine)が失敗していた

Interface Builder でクラスの書き出しをするときに間違って結合じゃなくて更新してしまって Time Machine から戻そうとしたら、Xcode のプロジェクトディレクトリがバックアップされていないのに気付いた。 作っていたのは本に掲載されていたサンプルコード…

Terminus Gadget

iGoogle でTerminius point を表示できる Google Gadget を作ってみた。 Terminus は foursquare の最北(南、東、西)端を Google Map に表示するサービスです。 ガジェットのイメージ ガジェットへのリンク iGoogle: Get Terminus on your Google homepage …

Terminus Update:登録解除処理とサマリーメール送信処理を追加しました

Foursquare API を使用して最北(東西南)端チェックインを Google Map に表示する Terminus の件名の機能を追加しました。 URL:http://naskin77.appspot.com/fs/ 登録方法: Foursquare に登録しているメールでログインすると Foursquare へのリンクが表示さ…

Snow Leopard(Mac OS 10.6.3)にアップデート

初めての Mac OS アップデート。しかも土曜日に購入してからずっとサボってて今日ようやくアップデート終了。 実は月曜日にアップデートに挑戦していたのだが、インストール開始後に再起動が発生して上手くアップデート出来なかったので再挑戦(中途半端にア…

Google App Engine(Python) の Query class の filter() method メモ

F1世界選手権サーキットMAPの勝利者サーキットMAP表示で http://f1-circuit.appspot.com/winner/Kimi Räikkönen のようなリスエストを送ってキミ・ライコネンだけが勝利したサーキットだけ表示しているんだけど、「Kimi Räikkönen」という文字列がデータを保…

Pythonで文字列インデックスで負数を活用してみた

「初めてのPython 第3版」を読んで文字列などのシーケンスオブジェクトのインデックス(C言語の配列の添字)には負数を使えることを知っていたけど、初めて知ったときには「ふーん」という感じだったけど知っていて良かったと思う経験をしました。 「F1世界選…

Update:F1世界選手権サーキットMAP(地図表示位置、ほか)

地図表示位置の調整 地図の中心位置を表示されている世界中のサーキットの緯度・経度の平均に設定したのでシーズン、国、勝利チーム,ドライバー、タイヤ毎に表示される地図の位置が変わります。 今シーズンはまだアジア(バーレーン、マレーシア、上海)とオ…

Update:most NEWS point of foursquare 改め Terminus に名称変更しました

foursquare にチェックインしたポイントの中で一番端っこの点(東西南北)を表示する連携サービス「most NEWS point of foursquare」ですが、Google App Engine の Taskqueue を使用した自動的な更新処理を仕込むとともに名称を「Terminus」に改めました。 名…

Update:ハイクフィード

404 Not Found ずっと放置してあったユーザー一覧表示のバグを修正。 元はトップページに最新の30件の投稿ログのユーザーしか表示していなかったという。。。 そしていつの間にかご新規さんが二人も増えているという(ご利用ありがとうございます(放置しすぎ …

F1世界選手権サーキットMAP(DeadlineExceededErrorの対応)

DeadlineExceededError(Time out)への対処 最多勝チーム(フェラーリ、312勝)、 ドライバー(シューマッハー、91勝)、 タイヤ(グッドイヤー、305勝)*1 勝利数が多い上記のサーキットMAPを表示しようとすると「DeadlineExceededError(Time out)」が発生して悩ん…

F1世界選手権サーキットマップをリニューアル中(1990-1994年データを登録)

F1世界選手権サーキットマップを引き続きアップデート中。 1990年代前半のデータ登録が完了。 グランプリ数は年々増えていくんだけど自分がF1に興味を持ち始めた年に入って記憶としてある頭の中にある程度入っているので辛さはないかな。 実際に見ていたのは…

F1世界選手権サーキットマップをリニューアル中(1983-1989年データを登録)

F1世界選手権サーキットマップを引き続きアップデート中。 ようやく1980年代までのデータ登録が完了。 今週末の中国GP前後に全部のデータをし終わりたかったから7年分頑張りました。 ターボ時代全盛、セナ・プロ時代、そして記憶に残るドライバーと言われた…

F1世界選手権サーキットマップをリニューアル中(1980-1982年データを登録)

F1世界選手権サーキットマップを引き続きアップデート中。 ルノーが勝ちだすとグラウンド・エフェクトからターボの時代になったのかなぁって思いながら登録しました。

F1世界選手権サーキットマップをリニューアル中(1973-1979年データを登録)

F1世界選手権サーキットマップを引き続きアップデート中。 やっと1970年代のデータ登録が終了した。 グランプリ数が15前後に増えるのでだんだん大変になる。 リジェとかティレルとか1990年代のF1ブームで見始めた人には懐かしい名前が登場してきた。 ミシュ…

Chrome に「Autopagerize」を導入してみた

別々のページを無限にページスクロールできる拡張機能「AutoPagerize」 : ライフハッカー[日本版] 自分がよく使うサイトだとGoogleの検索結果とはてなハイク、そして、、、なんと「はてなカウンター」のページがスクロールすると自動的に次のページに進ん…

F1世界選手権サーキットマップをリニューアル中(1970-1972年データを登録)

F1世界選手権サーキットマップを引き続きアップデート中。 ティレルなど懐かしいチームが登場。

F1世界選手権サーキットマップをリニューアル中(1967-1969年データを登録)

F1世界選手権サーキットマップを引き続きアップデート中。 やっと人類が月に降り立った年のデータに到達した。

F1世界選手権サーキットマップをリニューアル中(1965-1966年データを登録)

F1世界選手権サーキットマップを引き続きアップデート中。 今日は細かい修正と通院で時間が取れなかったので1965-1966年のデータ登録しか出来ませんでした。 1955年の南アフリカグランプリが1月1日開催で下のようなコードでデータを取得していたので表示され…

F1世界選手権サーキットマップをリニューアル中

Google App Engine と Google Maps API v3 を使って F1世界選手権サーキットマップを作ってみました。 レンタルサーバーで公開している「」の json データをそのまま使って簡単に作ろうと思ったのですが、いろいろと上手くいかずにデータストアを活用したの…

Google App Engineでハマったこと(etc)

マルチバイト文字編 データストアに保存した日本語(マルチバイト文字)をprintすると下のエラーが発生。 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) でも、template を通してブラウザにはちゃん…

foursquare 連携サービス - most NEWS points on foursquare を公開しました

位置情報サービス foursquare にチェックインした中で一番最{北|東|西|南}端を表示するサイト「most NEWS points foursquare」を公開しました。 端のポイントが重複していなければこんな感じで表示されます。 使い方は 「」の右上のログインに foursquare ア…

Python 一人勉強会 - 第13章 while ループと for ループ

前回の7章から間があいてしまいましたがちゃんと読んでますよ。 人間がめんどくさがる繰返し作業こそコンピュータ/プログラミングの真骨頂ですよね。 面白いと思ったのは while と for の後ろに else が書けることでループの条件が真じゃなかった時に実行出…

Chrome(Mac版)を使う時に困っているただ1つのこと

Chrome を使い始めて1ヶ月くらい過ぎましたが軽くていいですね。 Firefox と併用していますが、高度な使い方をしていた訳ではないのですんなり使えています。 右クリックメニューの「新しいウィンドウで開く」と「新しいタブで開く」の位置が逆なのでたまに…

Python 一人勉強会 - 第7章 文字列

ハイクフィードの調整にはまっていて「初めてのPython 第3版」からすっかり遠ざかり前回から一週間以上遠ざかってしまいました。 今日は「第7章 文字列」を読みました。 文字同士は「+」がなくても連結される(暗黙の連結)。 str = 'We ' "all" ' get' " old…

bit.ly の REST API(shorten)でハマった件

bit.ly の REST API(shorten) に「#」付きの URL を投げると#以降の文字がコメント扱い(?)されるみたいで上手く出きませんでした。 解決方法は urllib の quote() で%エスケープさせてから API をコールすればOKでした(Goolge App Engine/Pythonだったの…

ガラパゴス携帯で楽しむ foursquare

位置情報を使った新しいサービスで foursquare というのが注目されていたので先週末から試しに使っています。 Foursquareのサイトに行くとiPhone、Android 携帯、BlackBerry しか使えないのかなと思っていたのですが、「ケータイでfoursquare - ガラケー(doc…

アナログ写真をデジタル写真にする方法(機材の購入不要)

デジタル化したい写真とUSBメモリーを持ってセブンイレブンに行きましょう。 プリンターの操作画面に「スキャン」を選ぶと USBメモリーを刺して下さいとアナウンスされカバーが自動で開くので認識させましょう。 あとは保存する形式を選択して1枚1枚スキャン…

続・日本語変換が出来なくなる

先月から Google 日本語入力 を使っているがやはりたまに Firefox で日本語変換が出来なくなる。 日本語変換が出来なくなる - We All Get Old - Naskin Diary 以前は Firefox の再起動で対処していたが、リロードでとりあえず日本語入力が復活することがわか…

Python 一人勉強会 - 第6章 ダイナミックな型付け

「第5章 数値」より続いて第6章 ダイナミックな型付け。 第4章の内容から行くとどうして文字列ではないのか、それは変数とオブジェクトの違いを説明するためだった。 a = 5 Python で変数を宣言すると(C言語のように型は不要)、まず値5というオブジェクトが…

Google App Engine で Simplejson を簡単に使う方法

how to use simplejson with GAE - Google App Engine | Google Groupsより。 from django.utils import simplejson 楽勝v この記事を見つけるまで simplejson のアーカイブをダウンロードして自分で設定しないといけないのかーと面倒くさがっていたのですが…

Python 一人勉強会 - 第5章 数値

Python 一人勉強会 - 第4章 Pythonのビルトインオブジェクトに引き続き数値オブジェクトの細かい内容に突入。 数値 C言語のlongに相当。 浮動小数点 C言語のdoubleに相当。 長整数 整数の後ろに「L」とつける。精度はメモリが許す限り上げることが出来る。す…

Javaが好きになれないたった1つの理由

Helloworld 長過ぎ。。。という印象があったんだけどwikipedia:Hello_worldプログラムの一覧を見るとそうでもないな(笑 public class Hello{ public static void main(String[] args){ System.out.println("Hello, world!"); } } C++でオブジェクト指向プロ…

Python 一人勉強会 - 第4章 Pythonのビルトインオブジェクト

前回から少し間があいてしまったけど「初めてのPython 第3版 4章」に突入。 ここから2部に入ってようやく言語習得らしくなる。 Python プログラムの構成要素 = モジュール>ステートメント>式>オブジェクト。 別の言語だったけどビルトインっていう意味が…

ネタ判定サイト作ってみました

1%のひらめきがなければ99%の努力も無駄になるとトーマス・アルバ・エジソンは言いました。 あなたの人生の99%の○○は1%の□□がなければダメになるか判定してみましょう。 トーマスは言ったー 自分の場合は。。。 トーマスは言ったー「@naskin は1%の電話と99…

Python 一人勉強会 - 第3章 Pythonプログラムの起動方法

前回(Python 一人勉強会 - 第2章 Pythonプログラムの実行 - We All Get Old - Naskin Diaryに引き続き「初めてのPython 第3版」の第3章 プログラムの起動方法を読み進める。 対話型インタフェース いつも確認用のsample.{言語の拡張子}みたいなプログラム…

ブラウザ三者三様

Twitter の書き込みを見てみるとブラウザによって 短縮URL の扱いが違うことに気づいた。 Firefox 3.6 http://bit.lyで短縮されたURLが展開されて表示される。 Safari 短縮URLのまま Google Chrome 同じく短縮URL Internet Explorer 知らんがな。

Python 一人勉強会 - 第2章 Pythonプログラムの実行

昨日(Python一人勉強会 - We All Get Old - Naskin Diary)に引き続き「初めてのPython 第3版」を読み進める。 インストール Linux、Mac OS X なら標準コンポーネントとして含まれているのですぐ使える。 Windows は http://www.python.org 等から入手。 実行…

Python一人勉強会

Google App Engine で使っていて楽しくなってきたので「初めてのPython 第3版」を使って一人勉強会(ん?)開催中。 昨日は目次の前にある「はじめに」を読み、今日は「第一章 Python についてのQ&A 」を読んだ。 まだまだ序章なので特に驚きを持つことはない…

Google App Engine でハマったこと(cron編)

定期処理を実行しようとして cron.yaml を記入したはいいものの実行の仕方がわからない。普通のWebアプリと同じように URL を指定するとブラウザからでも実行できるらしいが真っ白い画面しかでなかった。 cron.py が実行スクリプトなのだが、app.yaml の書き…

世界胃散の機能、仕様的なもの

ツイート処理 1日4回、朝、昼、夕、夜につぶやきます、特定のキーワードに反応するタイプではないです。 外されたものも含めて917件の世界遺産からランダムに1つをツイートしてますが、1回ツイートされたものは916回後までツイートされません。 タイムリーに…

Twitter Bot 「世界胃散」を作ってみた

きっかけ 「世界遺産」、、、「世界胃散」という「ひらめき」*1から胃散を処方しますとつぶやいてウィキペディアの世界遺産ページへの URL を貼ったらおもしろいかもという感覚から Twitter Bot を作っていました。 世界胃散 (worldisan) on Twitter 反応 面…

Google App Engine(Python) 所感

ボット作成でいろいろ相談をしていたら Google App Engine を使ってやってるよーという話題になったので自分も暇を活かしてチャレンジ。 チュートリアルからやってみたけど初めての言語(Python)なのにさっくりと入っていけた。 もともとマシン(Mac OS X)に P…

Google App Engine でハマったこと(初級以前編)

データが登録されない モデルに StringProperty、DateProperty、IntegerProperty と指定してデータ登録しようとしたら、Date と Integer だけが登録されない。 HTML 側の input タグに name オプションが抜けていただけだった(Google App Engine 関係ないぞ…

Google App Engine(Mac) で開発サーバのローカルデータストアのデータが再起動で消える

先日からいじっている Google App Engine ですが、開発サーバ(自分のマシン)のローカルデータストアが再起動すると消えてしまう(?)ので、自分で初期データを再登録する羽目になった。 ログを見ると起動時にデフォルトのローカルデータストアのデータ格納デ…

ヴィジュアル系sleep関数 - vsleep for Perl

残り秒数をカウントダウンしながら sleep() する地味なヴィジュアル系関数 vsleep() の Perl 版が出来ました(パチパチ、ワーワー 使い方 # DEBUG が真値のときだけカウントダウンします、偽値のときは通常の sleep() 動作 use constant DEBUG => 1; # vslee…

HTTP::Request::CommonのPOST処理で日本語が欠落した件

はてなハイクや Twitter に投稿するボットを作成していたらタイトルの件ではまってしまったのでメモ。 投稿すると日本語がバッサリ抜け落ちる。 OK API投稿TEST - なすきん! - なすきん! - はてなハイク NG APITEST - なすきん! - なすきん! - はてなハ…

ニコ動のAdobe Flash Player の設定がFirefox 3.6 で出来ない件

先日からニコニコ動画にアクセスするとローカル記憶領域の設定(下の画像)が出るけど、クリックして何も反応しないので困っていた。 普段は使っていない Safari からやってみればどうなるんだろうと思って試してみたら反応するので設定することが出来た、Fire…

さくらレンタルサーバー vim セットアップメモ

ボット実行用に借りたレンタルサーバー上で用意されている vi(jvim、nvi)で UTF-8 なファイルをいじれなかったので先人達の足跡を参考にして vim-7.2 をインストール。 参考 さくらインターネットの共用サーバに vim をインストールする - talk to oneself 2…