はやみずの「は」

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

日曜大工

先週末の土日は日曜大工で家の中の家具を作る試みをしていた。 まずは土曜日に工具棚、日曜日に調理器具棚と思っていたけれど、調理器具棚の設計がいまいちなことと、地べたで作業するのが辛いのとで、調理器具棚の材料を使ってワークベンチを作ることにした…

PostgreSQL in academia

このエントリはPostgreSQL Advent Calendar 2014の8日目の記事です。昨日は nuko_yokohama さんのPostgresql advent calender 2014 using jsonb by ecpg でした。 アカデミアにおけるPostgreSQL 最近では、PostgreSQLをはじめとするオープンソースDBMSの普及…

PostgreSQLカンファレンス2014で発表しました

2014年12月5日に品川APで開催されたPostgreSQLカンファレンス2014にて、「より深く知るオプティマイザとそのチューニング」という題で発表してきました。 PostgreSQLのクエリ実行プランコスト見積りに関して、おそらくWeb上で公開されている中では最も細かい…

Go遊会 13日目

米国出張中で余裕が無いので、今日も箸休め程度に20分間Goを書く。 Problem 6 - Project Euler Problem 7 - Project Euler goyukai/euler006.go at master · hayamiz/goyukai · GitHub goyukai/euler007.go at master · hayamiz/goyukai · GitHub

Go遊会12日目

今日のテーマ:Project Euler Problem4 ちょっとここらで箸休め。 Problem 4 - Project Euler Problem 4 - Project Euler giste2eea81746a2a30a832f

Go遊会 11日目

今日のテーマ:並列プレフィックスサム 10日目に引き続き、並列クイックソート実装のためのプリミティブ作り。 配列 a に対して、次のような配列 s を a のプレフィックスサムという。 s[0] = a[0] s[1] = a[0] + a[1] s[2] = a[0] + a[1] + a[2] ... s[n] =…

Go遊会 10日目

今日のテーマ:parallel-for loopの比較 並列クイックソートのアルゴリズムは http://www3.cs.stonybrook.edu/~rezaul/Spring-2013/CSE638/CSE638-lectures-8-9.pdf を参考に実装することにした。 並列クイックソートの実装には並列パーティションの実装が必…

Go遊会 9日目

今日のテーマ:クイックソートの並列化 Go遊会 4日目 (追記あり) - はで実装したクイックソートを並列化して性能を比較してみる。 並列化のアプローチとしては、分割後の部分配列に対するquick_sortの再帰呼び出しを goroutine で並列に実行するというお手…

Go遊会 8日目

今日のテーマ:ソーティングアルゴリズムの比較 ここまで実装してきたアルゴリズムを、入力サイズを変えながら実行時間を比較してみる。 関数ポインタの扱いや、構造体のリテラルの書き方などのよい復習になった。 クイックソートが全域で高速。入力長Nが大…

Go遊会 7日目

今日のテーマ:コムソート バブルソートのスワップ対象とする要素の間隔をあけて配列を舐める様子が、櫛をとかすように見えるのでコム(櫛)ソートとよばれる。 10分くらいで書き終わったので、実行時間の測定方法などについてもちょっと調べたりして20分終…

Go遊会 6日目

今日のテーマ:基数ソート まず最初に8ビット符号なし整数のバケットソートを実装して、それを利用するような形で32ビット整数の非負数(31ビット符号なし整数の範囲)の基数ソートを実装した。動作確認までほぼ20分ちょうど。 線形リストのループを回すとこ…

Go遊会 5日目

今日のテーマ:ヒープソート バイナリヒープを使ったソーティングを実装した。 実装アプローチとしては、配列で領域を確保して添字演算で二分木構造を実現する一般的なもの。 アルゴリズム自体大して難しくないし、過去に何回か書いたことがあるのでさくっと…

Go遊会 4日目 (追記あり)

※追記あり 今日のテーマ:クイックソート クイックソートは昔から一発で書けた試しがない。 今回も例によって10分くらいで最初の大筋は書き終わったけど、細かい境界条件バグにハマって35分くらいかかった。 はまっていた原因はピボット値の選択方法をサボっ…

Go遊会 3日目

今日書いたもの:マージソート スライスの生成と取り回しに混乱して、20分ちょっとオーバするくらいだった。 練習にはわりとよい例題だったと思う。 しかし、マージする部分の論理をもうちょっとクリアに書けないものか。 gistd0759b21f0803d7946ba 次書くも…

Go遊会 2日目

今日のテーマ:バブルソート 配列の扱い方の確認のため、バブルソートを実装した。 gistb022a8608c7d090fda8f 明日のテーマ:マージソート 配列の動的確保とかを確認しながらマージソートを実装する。

Go遊会 1日目

Go言語の考え方はチュートリアルで大体理解したけど、3日経ったら文法を完全に忘れてしまったので、体で覚えるためにしばらく毎日Goのコードをちょっとだけ書くことにした。 20分で書けるくらいのものをやろうかと考えている。 今日書いたもの とりあえずネ…

小動物用ネットワーク体重計作り:下調べ(3) ひずみゲージ利用のための準備

ネットワーク体重計の制作にあたっては、タニタのKD-187を分解して、重さ測定用のひずみゲージをとりだして利用する予定でいる。 TANITA デジタルクッキングスケール ホワイト KD187-WH出版社/メーカー: タニタメディア: ホーム&キッチン購入: 4人 クリック:…

小動物用ネットワーク体重計作り:下調べ(2) 通信モジュール

ネットワーク体重計を作る上で、無線通信は避けて通ることができない問題。だけど、なににするのかが悩ましい。 いまのところ、自宅サーバか温度センサ用のRaspberry Piを親機にして、なんとかして親機にデータを送りつけて、そこから先はLinux上のソフトウ…

小動物用ネットワーク体重計作り:下調べ(1) キッチンスケール分解

体重計周りの技術をいまいち知らないので、とりあえず中身を知るためにAmazonで売っていた一番安いキッチンスケールをポチる。 TANITA デジタルクッキングスケール ホワイト KD187-WH出版社/メーカー: タニタメディア: ホーム&キッチン購入: 4人 クリック: 5…

小動物用ネットワーク体重計作り:構想

我が家のハリネズミ「ボル」ちゃん。 ハリネズミの体調管理において、定期的な体重チェックは欠かせない。理想的には、毎日体重を測ってしっかり記録をつけてあげないといけない。食べた餌の量も記録できると更に良い。 毎日の掃除と餌やりの時に体重計に乗…

状態遷移

7月から8月になった。 7月が終わるほんの目の前で、都会の町並みから、ビルのトンネルから抜け出すように、えいやっと引越した。 新居の周りは緑が多く、町並みは整然としていて気分が良い。なにより、目の前に立ちはだかるような高層ビルは少なく、生活…

新しいことはいいことだ?

ソフトウェアを書いていると、「これは作りがそもそも古いから、今風に書き直そう」という衝動に駆られることは誰しも在るだろう。そこをグッと我慢することが適切な場合もあるし、その勢いではじめたOSSプロジェクトがRuby on Railsのように大きく花開くこ…

迷い

選択を迷った時、どちらを選ぶのか。悩ましい。悩ましい。どちらを選ぶほうが自分に利するものか。 ということを考えていたのだけれど、選ぶことによって先が決まるのではない、むしろ選んだことが正しかったと思えるようにその先を作る、作ろうと思えること…

退学した

2014年3月をもって、東京大学大学院情報理工学系研究科博士課程を単位取得退学した。 退学、という言葉はなかなかに刺激的だ。素直な言葉の意味としては「何か理由があって学校をやめた」というものだが、人は多くの場合そこに後ろめたい理由を想像してしま…

ハリネズミライフ

約二年半前に我が家にお迎えしたヨツユビハリネズミのボルちゃん。 ハリネズミはペットとして飼われる動物の中でも比較的飼育の手間がかからない方だけれども、暑さと寒さのいずれにも弱いので夏はクーラーをつけっぱなし、冬は暖房をつけっぱなしにしてあげ…

オフラインへの憧れ

大学に受かって東京へ出てきた2005年、入学のお祝いに親戚から頂いたお金で最初に買ったのがシャープのSL-C860とAir EDGEだった。渋谷の街中で、インターネットに繋がることにただただ感動した。

かっこつけない生き方

Lispのコードをよく書いていた時期は、色々とがむしゃらだった。かっこつけない生き方を模索していた気がする。Rubyを書くようになった。

逃げまわる生き方

最近、現実逃避こそ生きる道なのではないかと考えたりしている。 現実逃避とは、今自分がやるべき事から目を逸らして、別のことをやるということ。 これはある側面では投資といえる。 プログラミングをはじめたのは、中学のころ勉強するのがつまらなくて別の…