タグ

ブックマーク / hiratara.hatenadiary.jp (5)

  • ペアプロの新ジャンル「ぶつかり稽古」の面白さ - Pixel Pedals of Tomakomai

    秋のエンジニアぶつかり稽古 2013で横綱級エンジニアのペアプログラミングを見てきたのだけど、これが想像以上に面白かった。他のイベントでもドンドンやるべき。 「ぶつかり稽古」はあんちぽさん(@kentaroさん)が考案した新しいエンターテインメントペアプログラミングのスタイル。単体テストを書く"受ける側"と、そのテストを通すために実装する"ぶつかる側"が交互にコードを書いて行き、聴衆はそれを観覧する。一種のライブコーディングではあるのだが、2人が実装に関わるため、事前の想定と違う方向にコーディングが進み易く、実装者のよりリアルな問題への対処方法を観察することができる。その人が普段どのようにコードを書いているかも、より正確に想像しやすい。参加者もテストを通す側の立場に立って内容を考えられるので、自分の実装と参加者の実装の癖の違いを楽しむこともできる。ぶつかる側だった@__kanさんは懇親会で

    ペアプロの新ジャンル「ぶつかり稽古」の面白さ - Pixel Pedals of Tomakomai
    tokuhirom
    tokuhirom 2013/11/24
    かんかんがねおちしてるの平常運転な気がした
  • JSON::XSで作られる浮動小数点数でハマった話 - Pixel Pedals of Tomakomai

    JSON::XSを使うと、小数は浮動小数点数にパースしてくれる。 use JSON::XS qw(decode_json); my ($double) = @{decode_json("[0.6]")}; この値、printすると "0.6" なのだけど、0.6とイコールではない。 print $double, "\n"; # 0.6 print +($double - 0.6), "\n"; # 1.11022302462516e-16 なので、直感と違う振る舞いをしたりする。 # 3 / 0.6 == 5 printf "%s / %s == %s\n", 3, 0.6, int(3 / 0.6); # 3 / 0.6 == 4 <- unexpected :( printf "%s / %s == %s\n", 3, $double, int(3 / $double); 仕方ないので

    JSON::XSで作られる浮動小数点数でハマった話 - Pixel Pedals of Tomakomai
    tokuhirom
    tokuhirom 2012/10/25
    精度うんぬんの問題ではなく、同じリテラルを評価したときに Perl 本体の atof と違う浮動小数点値がえられるのはバグといっていいとおもいます。
  • 新しい会社に入社しました - Pixel Pedals of Tomakomai

    色々ありまして無職の状態が続いていたのですが、日付けで新しい会社に入社しました。 自社プロダクトを作っている会社で、インフラからアプリまでを全て自社で責任を持って開発しています。YAPCでスポンサーをやっていることからもわかるように、開発言語は基的に全てPerlを使っています。 これだけの規模のサービスにエンジニアがすべてにおいて0から関われる職場はそうそうあるものじゃないので、今から大変楽しみです。技術的にも大規模サービスであったり統計的分析であったり様々なチャレンジができる内容でやりがいを感じます。また、CPAN Authorの方々と仕事をするのも実は初めてなので、いい刺激を受けられるんじゃないかと思っています。 このblogは別段変化することもなく相変わらず俺得エントリを垂れ流す感じになると思いますが、今後ともよろしくお願い致します。

    新しい会社に入社しました - Pixel Pedals of Tomakomai
    tokuhirom
    tokuhirom 2012/08/02
    おめでとうございまうす
  • Haskellで書いたCGIをPerlでテストする - Pixel Pedals of Tomakomai

    以下は、aとbに渡された数字を足し算するだけの簡単な(?)CGIです。 #!/usr/bin/env runghc {- sum.cgi -} import Network.CGI import Control.Monad cgiOutput (Just n) = do setHeader "Content-Type" "text/plain" output $ show n ++ "\n" cgiOutput Nothing = do setHeader "Content-Type" "text/plain" output "" cgiMain = do a <- getInput "a" b <- getInput "b" cgiOutput $ foldl (liftM2 (+)) (Just 0) (map (liftM read) [a, b]) main = runCGI $

    Haskellで書いたCGIをPerlでテストする - Pixel Pedals of Tomakomai
    tokuhirom
    tokuhirom 2010/11/17
    なんかまわりくどいなあ。。。 RT @__gfx__: Haskellで書いたCGIをPerlでテストする - a geek born in Tomakomai
  • Gitリポジトリ中のサブディレクトリを別のリポジトリにする - Pixel Pedals of Tomakomai

    clone して filter-branch を使うと、サブディレクトリを別のリポジトリにできます。 例えば、/tmp/hoge にあるリポジトリに hoge と subdir/foo と言うファイルがあって、ログが以下とすると、 % git log -p --pretty=oneline ac27f0a1f18108cd81be52634b07228c6bb95a0b Added foofoo diff --git a/subdir/foo b/subdir/foo index 257cc56..b4c9d55 100644 --- a/subdir/foo +++ b/subdir/foo @@ -1 +1,2 @@ foo +foofoo a6cc83ca5cec477444f0d63359ef12dede648eb5 Added hogehoge diff --git a/hoge

    Gitリポジトリ中のサブディレクトリを別のリポジトリにする - Pixel Pedals of Tomakomai
  • 1