Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

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

2012年にニートになったこと

2012年のまとめとして、今年ニートになったことをまとめておく。 経緯 3月に転職して新しい職場に勤め始めたのだけど、業務内容が合わなくて適応障害を起こしてしまった。具体的には、マニュアルに従って進める大量の単純作業が合わなかったんだと思う。早朝…

Stateモナドとオブジェクト

面白くもなんともないParsonオブジェクト。 package Parson; sub new { my ($class, $self) = @_; bless $self => $class; } sub change_name { my ($self, $name) = @_; $self->{name} = $name; } sub get_name { my ($self) = @_; $self->{name}; } my $p …

命令型言語Haskell

※これはHaskell Advent Calendar 2012の12/12分の記事です。こんにちわ、Perlのプログラマの@hirataraです。関数型言語はまともに使ったことがないので、命令型言語の話を書きます。

今日は『Webサービスのつくり方』出版記念イベントの日です

仕事をサボって『Webサービスのつくり方』出版記念イベントに来ていますので、適当にレポートします。結局ゆーすけべーさん不在のまま始まりました(笑)。 今日の進め方 → 参加者が紙に書いた質問に全て答える けんすうさんの案らしい ゆーすけべーさん登場 …

Re: C vs Python vs Ruby vs Haskell(無意味な処理deベンチマーク)

C vs Python vs Ruby vs Haskell(無意味な処理deベンチマーク)のコードをHaskell でなるべくC実装に忠実に書いて、オーバーヘッドを見てみた。 {-# LANGUAGE ScopedTypeVariables #-} import Control.Monad import Data.Array.IO import Data.IORef revers…

rebaseとrebase -iの挙動は違うっぽい

どっちの挙動も間違ってないだろうってのはわかるんだけど、それぞれで挙動が違ってるのは悲しい。git rebaseの方の挙動は(間違ってないだろうってのは置いておいて)罠だし。 % git --version git version 1.7.9.6 (Apple Git-31.1) ※masterとtopicを準備 % …

MonoidもMonadもモノイドだって話

わかめのモナド浸しと第6回 スタートHaskell2で「モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?」という話をしてきた。スライドは以下。 モナモナ言うモナド入門 *1 モナモナ言うモナド入門.tar.gz .tar.gz の方はHaskellでの説明だ…

git log --first-parentのすゝめ

かなり長い間 git svn を使わざるを得なかった愛用していたこともあって、個人的に git log --first-parent が大好きなんだけど、ふとググったらHamanoさん自らが素晴らしいエントリを書いてたので紹介。 Depending on the work style of their project, som…

オフラインリアルタイムどう書くの参加者が事前にやっておくべき1つのこと

満員御礼の第5回 オフラインリアルタイムどう書く。問題が事前公開されていないために参加してからじゃないとコードを書き始められないと思っている参加者がほとんどかもしれない(自分も含めて:p)けど、事前にやっておくべきことが1つだけある。それは何かと…

「プログラム意味論」が面白かった

ずーっと前から読みたかったけど絶版になってしまって読めなかった本が復刊。 プログラム意味論 (情報数学講座)横内 寛文 最初はラムダ計算とコンビネータ理論から入り、3章で領域理論について解説する。posetの取り扱いとか最小不動点定理とかまともに学ん…

JSON::XSで作られる浮動小数点数でハマった話

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),…

今日はYokohama.pm #9の日です

残念ながら横浜市民ではなくなりましたが、Yokohama.pm #9に参加しています。USTはこちら。

PerlによるFreeモナドの実装

悟りを開けると話題のFreeモナドをPerlで実装した。実装はこちら。 Freeモナドとは? モナドの性質の1つとして、flatten : TTX → TX (または join、またはη)によって重複する関手Tを1つに押しつぶせるという点がある。そのお陰で、TTTTTTXのようにTが複数あ…

今日はYAPC::Asia Tokyo 2012の2日目です

YAPC::Asia Tokyo 2012の最終日です。電源ケーブルを忘れたので一度家に帰りますが、東大内の伊藤国際学術研究センターに向かいます><今日もgihyo.jpさんの特集にレポーターとして参加します。@amayanさん、@moznionさん、ya_k0さん、@takayuki_hさんのメ…

メモから振り返るYAPC

Perl 今昔物語を受けて当時のエントリへリンクを貼ってみる。懐かしいですね! 2006 初日 二日目 2007 初日 二日目 2008 前夜祭 初日 二日目 2009 前夜祭 初日 二日目 2010 前夜祭 初日 二日目 2011 前夜祭 初日 二日目 2012 前夜祭 初日 二日目

YAPC Asia 2012 の感想

まず941さんと牧さんを始めとする運営の方々、今年も本当にお疲れさまでした。これだけの数のエンジニアが一堂に会して交流できる場は他にはありません。今年もいい経験になりました。さて、個人的な観点から見て、今年のYAPCで大きく変わったのはgihyo.jpさ…

今日はYAPC::Asia Tokyo 2012の1日目です

今日は昨日に引き続きYAPC::Asia Tokyo 2012の1日目です。東大内の伊藤国際学術研究センターに入り開会を待っております。今日もgihyo.jpさんの特集にレポーターとして参加します。昨日と同様に@amayanさん、@moznionさん、ya_k0さん、@takayuki_hさんが中心…

YAPC::Asia Tokyo 2012 で LT してきた

ほんとは Coq-perl 作りたかったのだけど間に合わなくて別のネタでLT。 Perlでおねえさんを救った話 元ネタの素材はこちらの動画のものなので、合わせて見ておきたい。

今日はYAPC::Asia Tokyo 2012の前夜祭です

今日はYAPC::Asia Tokyo 2012の前夜祭です。去年までとは会場が代わり、今年は東大内の伊藤国際学術研究センターにて開催されます。今日から最終日まで参加する予定ですので、いつものように聞いた話をリアルタイムでメモっていくつもりです。なお、今年もgi…

任天堂の #codepuzzle がすばらしい出来だった

任天堂のコードパズルを裏までクリアしたので感想を。 Let's take tea break.Code Puzzle / Nintendo これ、実は経緯を知らずにやってたのだけどPyconJP2012の配布物に入っていたものらしい*1。任天堂公式の配布物だけあって、クオリティが非常に高い。序盤…

単純なRSA暗号の解き方

以下のような感じで"ABCD"を暗号化する。 use strict; use warnings; use Crypt::RSA; use Crypt::RSA::Primitives; my $rsa = Crypt::RSA->new; my ($public, $private) = $rsa->keygen(Size => 48) or die; print $public->serialize, "\n"; my $prim = Cr…

「フカシギの数え方」をPerlで解く

まずはこの動画を見るべし → 『フカシギの数え方』 おねえさんといっしょ! みんなで数えてみよう!。 きちんとした解答がすでに上がっている → 「フカシギの数え方」の問題を解いてみた。 まあでも、これだけ力作な動画を見せられたら自分でも解いてみたい…

Modification of a read-only value attempted

% perl -e 'for (1) { while(<>) {} }' Modification of a read-only value attempted at -e line 1.forの中の$_は1そのものを指してて、while(<>)は$_を書き換えるものだから。 for ($x) なら 大丈夫で、$x に<>で読んだモノが入る。

「プログラミング言語の基礎概念」を読んだ

学部生向けなのでさくさく読めてよい。 プログラミング言語の基礎概念 (ライブラリ情報学コア・テキスト)五十嵐 淳 カバーしているのは操作的意味論*1で、序盤から中盤にかけて単純な自然数の和積算の意味論をベースに徐々に盛りつけてMLライクな言語の意味…

Re: Perlでちえんひょうか

dankogai 2012/08/26 01:48 http://blog.livedoor.jp/dankogai/archives/51059559.htmlPerlでちえんひょうか ありがたい先人の知恵に従ってみるとだいぶシンプルになって素晴らしいのだけど、dump_listの戻り値のvoidを評価させるのが泥臭くなった。 use str…

今日はAmazon EC2ハンズオンの日です

ちょっと到着が遅れましたが、Amazon EC2ハンズオンに来ています。 AWSの概要 / @horiuchiさん AWS 2006年から いつでも、必要なだけ、安価に サーバの調達の時間が長い AWSを使うより早めに資金が必要 調達までの時間の機会損失 スケールダウンも容易 イン…

Perlでちえんひょうか

Perlは正格評価なので、無限リストにheadをかけても停止してくれない。 use strict; use warnings; sub nil() { 'Nil' } sub concat($$) { my ($x, $xs) = @_; [$x, $xs]; } sub repeat($); sub repeat($) { my $x = shift; concat $x, (repeat $x); } sub h…

新しい会社に入社しました

色々ありまして無職の状態が続いていたのですが、本日付けで新しい会社に入社しました。 自社プロダクトを作っている会社で、インフラからアプリまでを全て自社で責任を持って開発しています。YAPCでスポンサーをやっていることからもわかるように、開発言語…

和歌山でめはり寿司を食べてきました

久しぶりに*1開発合宿に参加してきました。主催のCMSコミュニケーションズさんとCR-ASSISTさんのご好意でなんと交通費も宿泊費も無料でした、ありがとうございます! 開催地は新宮で、めはり寿司が名物です。 Levenshtein Automata from hiratara @terapyon…

Qiitaに書いたメモ

最近Qiitaの方に色々書いてあるので,リンクだけ貼っておく。 OS XへのText::MeCabのインストール Levenshtein Automata VS 距離関数 のベンチマーク Hello clean world! ありそうでなかった、ちょっとあったJSのIOモナドのサンプル つるはしで過去を発掘する…