2009-01-01から1年間の記事一覧

はてなフォトライフに写真を投稿するAndroidアプリ - FotoHook

FotoHookという名前のAndroidアプリを作りました.FotoHookを使うとAndroidで撮った写真をはてなフォトライフに簡単にアップロードできます.特徴として,FotoHookは写真のアップロード完了時に,自動的にWebHookを起動することができます.WebHookにはアッ…

Coro で Executor/CompletionService

Java並行処理プログラミング ―その「基盤」と「最新API」を究める― をぱらぱらめくっていて出てきた、以下二つをCoroで実装してみた。 並行処理タスクの実行方法を抽象化した Executor タスクの生成とその消費を分離する CompletionService 実装とか例とかぺ…

非同期IOではない気がした

昨日の日記でActorで非同期IOとかいいまくってたけど,なんだかおかしい気がしてきた….IO処理毎にスレッドを立てているから並行処理にはなっているけど,スレッド内では同期的にIOしてる.IO waitが発生してる間に他の処理ができるわけだから,効果はだいた…

Actorの非同期IOの実験

ScalaのActorを使って非同期で画像ファイルをいくつか同時にダウンロードしてみる実験.「非同期化ではやくなった!」みたいなのを体験するのが目的です.http://gist.github.com/143000上のスクリプトを使い同期/非同期でいくつか(15とか)の画像ファイルを…

POSTリクエストをリダイレクトするとGETされる?POSTされる?

あるURLにPOSTでリクエストを発行した結果リダイレクトされたとき,そのリダイレクトのリクエストはGETなのでしょうか?POSTなのでしょうか? なんとなくGETっぽいけど…そこんとこどうなのか気になったので調べてみました.HTTPとかにはあんまりくわしくないの…

Android上でScalaうごいたよメモ

Eclipseをつかって,Scalaで書いたプログラムをAndroid上で動作させたよ,メモ.というか,以下のポイントに気をつけておけばOKそうです. ポイント EclipseのScalaプラグインのバージョンに合ったandroid用のscalaライブラリを使う EclipseのBuilderの順番…

Scala HackathonでScalaとたわむれてきたよー

Scala Hackathonに参加してきたよ.当初の予定では,Android上でScala動かしてキャッキャうふふする予定だったのだけど,いろいろけつまずいてしまいぐだぐだに…以下,やったこと Scala By Exmaples を 7章くらいまでよんだ 練習問題をときつつ,メソッドの…

今日のScala

最近ちょくちょくつかってるSWTでGUI. import org.eclipse.swt._ import org.eclipse.swt.layout._ import org.eclipse.swt.widgets._ import org.eclipse.swt.events._ object MySWT { def main(args:Array[String]) = { val display = new Display() val …

Scala

急にはじまった感が出てきたので,ちょっと書いてみた. gistでも色づけできないなんて…もう少し実用的な例がないとおもしろさがわからなさそう.Scalaの教科書さがしてます.

screenでpbpasteできないのをどうにか

Mac

Macに標準でついてるscreenや,MacPortsの最近のscreenの上だと pbpaste が実行できなくて実に不便.いろいろ調べてみたところ,http://www.samsarin.com/blog/2008/10/18/copying-gnu-screen-buffer-to-leopard-clipboard/によれば,screenにはクリップボー…

Eclipseプラグインのコード

研究の関係でEclipseプラグインを作っているのだけど中々むずかしい. いろんな拡張ポイントやハンドラがあるけどどのタイミングで呼び出されるかわからない ハンドラにわたってくるのがインターフェースで抽象化されまくっていて実体が何かよくわからない …

わーい,車輪だったヨー

あんまりうまくないですね!(事前の調査的意味で)というわけで,MyはてなをIRCでみるのは,Yappoさんのhig.rbが良さそうです.バックエンドがHatetterなので,キャッシュが効いてはてなにやさしそうです.PerlでかかれたIRCdとしては,ふしはらかんさんのxir…

IRCクライアントでMyはてなやRSS FeedをウォッチするためのIRCdを書いた

はてなのお気に入りアンテナをTwitter Clientで見れるゲートウェイ「Hatetter」作りました と同じようなことを,Twitterクライアントではなく,IRCクライアントでやりたかったのです.というわけで,Pigというのを書いてgithubにあげてあります.http://gith…

Kansai.pmでコルーチンについて発表してきた

Kansai.pm#11にて「Perlで学ぶコルーチン」という発表をしてきました.だいぶ前のRuby勉強会でRuby 1.9のFiberをみてPerlでもいろいろやってみていたので,その時しらべたことを中心にぐだぐだとしゃべりました.Perlで学ぶコルーチンView more presentation…

Mac OS Xのシステムフォントが…あわわ

なんかおかしい.ヒラギノフォントをまちがえて消してしまったのが原因ぽい.フォントファイルを復活してもおかしいままで,今,必死になおしているところ. 追記 フォントキャッシュクリアしたり,Safeモードで起動したりしてるうちになおった.

Remedieでハルヒちゃん見…れなかった

Remedieでハルヒちゃんを見ようと思って,YouTubeのKadokawa Anime Channelを登録して表示しようとすると Not an ARRAY reference at /Users/yohei/lang/perl/5.8.8/lib/perl5/XML/Feed/Format/RSS.pm line 256.と言われて動画が見れず悲しかったので,原因…

gitのcommit objectの中身

git

commitって結局なんなの?というはなしです.commitの中身を表示してデータの実体を見てみます.あわせて読みたい: Git for Computer Scientists適当なcommitのobject id ( = SHA1 )を得るためにgit show-refでmasterブランチのHEAD commitのobject idを得ま…

gitで双方向mergeしたときに起こった問題を再現

git

gitで双方向にmergeしてるとひどいはまり方をするときがある件 - はこべブログ ♨でごちゃごちゃ言っていた状況を再現するコードを書いてみた.実行すると,カレントディレクトリにmerge_testというリポジトリに,問題になっている状況を再現する.だいたいコ…

gitで双方向にmergeしてるとひどいはまり方をするときがある件

git

gitで双方向にmergeしてるとぎっとぎっとにされる件gitで,ブランチきって双方向にmergeしたりされたりするときには注意しないと,身に覚えのない衝突しになやまされたりする.自分があまり関知していないコードの衝突を解決する必要がでてきたりして,バグ…

CoroはCoroutineのCoro - PerlでFiber

Ruby勉強会@関西でFiberについて勉強してきた - はこべブログ ♨でPerlでもGeneratorをうまく書けるモジュールがないかなーとこぼしていたところ. perlではCoroでほぼ同じ事ができるが、どちらにしろCoroを使う利点は1個1個をresumeすることじゃなくて 非同…

Ruby勉強会@関西でFiberについて勉強してきた

日本Rubyの会 公式Wiki - 第32回 Ruby勉強会@関西 に行ってきました.なんだかんだでひさびさのRuby勉強会でたのしかった! 運営のみなさまおつかれさまでした.勉強会に行くと,普段得られない刺激がいろいろ得られて良いですね.日常生活はパターンに押し…

Parse::RecDescentでJSONをパース

JSON::Hatchet の構文解析子 - Tociyuki::DiaryのJSONパーサがすっきりと書けていたのものだから,ちょっとうちもJSONパースしたくなってので書いてみました.といってもLL構文のパーサを1から書くのも芸がない感じだったので.Parse::RecDescentというCPAN…

gitのステータスをプロンプトに表示したよ

git

みんなやってて今さらな感じですね.これまでおれおれスクリプトを使ってやっていたんですが,zsh-gitというプロジェクトで公開されているPROMPTテーマを使うとすごい楽に高機能なプロンプトにできました.インストール方法とかはREADMEと付属のzshrcを参照…

githubでforkしたリポジトリから本家にpush

Git

昨日いっていた問題が解決したので,あらためてgithubでforkしたリポジトリから本家にpushする方法.本家にコミット権があるのが前提なので,ふつうは本家をcloneして作業すれば問題ないです.ただ,途中までforkで開発してたんだけど,ある日,コミット権を…

termtterは拡張しやすくて楽しい

ターミナル上で動くtwitterクライアントであるところのtermtterを使ってみてます.(参考: Jugyo.org)プラグインを作るのがすごく簡単で,かゆいところに手が届かなくても,すぐに自分で機能を拡張できます.とりあえず何個かプラグインを書いてみました. gr…

git remote add => pull => push で (non-fast forward)

Git

termtterのコミット権をもらったので,これまでforkして使っていたローカルリポジトリに本家をremote addしてmergeすることにしたけど,なんかうまくいかない. $ git remote add jugyo git@github.com:jugyo/termtter.git $ git fetch jugyo $ git checkout…

AquaSKK+はてなキーワード辞書を導入した

いいよいいよー,ってまわりの人が勧めてくれていたので,SKKのはてなキーワード辞書を導入してみた. SKK辞書の続き - subpop - subtech 「はてなダイアリーキーワードふりがなリスト」をSKKの辞書に変換 - znzの日記 - Rubyist アイフルから督促状が来た時…

よくみる extern "C" {} と __cplusplus

C++

C向けのライブラリのコードをながめていたらちょくちょく以下のようなコードをみる. #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* Cのコードがたくさん */ #ifdef __cplusplus } #endif /* __cplusplus */ なんだろうと思って調べてみたら…

IO::MooseでもSlurpできるよ

JPerl Advent Calendar 2008でファイルをslurpする方法を紹介したけど,IO::Mooseっていうモジュールもあったんだねぇ. #!/usr/bin/env perl use strict; use warnings; use Perl6::Say; use IO::Moose qw(File); my $content = IO::Moose::File->new( file…

あけましておめでとうございます

今年もどうぞよろしくおねがします.去年はブログへのアウトプットもあまりできなかったので,今年は積極的にやりたいなぁ.何かと決断が必要そうな年になりそうですが,無難な決断に陥らずチャレンジングにやりたいなぁ,とおもったりおもわなかったりしま…