はやみずの「は」

VLDB 2015 会議参加報告の資料を公開しました

VLDB2015 会議報告 from Yuto Hayamizu 今年の8月に開催されたVLDB 2015の参加報告資料を公開しました。 今回のVLDB参加は、SIGMOD日本支部からトップ会議の調査派遣という形で参加しており、その報告として2015/12/12にSIGMOD日本支部大会で講演する際に使…

Debian wheezy と Haswell の不和

自宅サーバのOSとしてしばらくDebian wheezyを使っていたのだけれど、これまで色々と挙動が怪しい点があった。 Ctrl-Alt-F1 でttyを表示しようとすると画面が真っ暗になり固まる rebootコマンドを実行すると、シャットダウンシーケンスに入る前に画面が真っ…

PGCon 2015 で計算機システムの性能評価について講演してきました

カナダのオタワ大学で開催されたPGCon 2015で、"The Art of Performance Evaluation" という題目で、計算機システム、とくにデータベースシステムに関する性能評価の基礎となる考え方と、基本となる3つの技能(モデリング、測定、シミュレーション)に関して…

よんだものWeekly 5月 2nd

Under the hood: Facebook’s cold storage system | Engineering Blog | Facebook Code Facebookはコールドストレージ専用にデータセンターを作っていた コールドストレージ専用(オンライン系のサービスが稼働していない)ので設備の電力自体を通常のデータ…

よんだものWeekly 5月 1st

Who's 'Cool' In Storage Now? Storiant, Infinidat, Maxta あたりは Storage Newsletter で最近よく名前を目にするので要チェックっぽい FizzBuzz In Too Much Detail — Tom Dalling Rubyでの行き過ぎたFizzBuzz Rubyのプログラミングテクニックという意味…

よんだものWeekly 4月 5th

The Last Line Effect | Intel® Developer Zone コピペしたコードの最後の一行の修正間違いとか。わかりすぎてつらい。 why GNU grep is fast 2010年のFreeBSDのMLへの投稿 BSD grep に対してなぜ GNU grep が高速であるかを説明している 基本は、Boyer-Moor…

コミュニケーションの狭間、あるいは最近のチャット流行について

「Slack最高!」「メールを全廃してSlackに移行しました」 みたいな話を最近しばしば目にすることが多い。 コミュニケーションツールの移行というのは、技術の問題はたいしたことでは無くて、結局人と人との問題である。 たとえばチームをまるっとSlackに移…

よんだものWeekly 4月 4th

dghubble/sling Go言語のRESTクライアントライブラリ 第2回 並列データ処理系の歴史と重要性:Hadoopはどのように動くのか ─並列・分散システム技術から読み解くHadoop処理系の設計と実装|gihyo.jp … 技術評論社 博士(ハドゥープ) RethinkDB 2.0: product…

よんだものWeeky 4月 3rd

Programming Should Be More Than Coding Stanford大学での Leslie Lamport 先生の講演。Youtubeで動画が見られる。 プログラミングとは、何を作るかを考え(仕様)、どう作るかを考え(アルゴリズム)、コーディングするという3つのタスクであり、仕様を考…

よんだものWeekly 4月 2nd

JSON API :: A standard for building APIs in JSON. gizak/termui Go言語用のライブラリで、Swing的なノリでターミナル上でUIを作ることができる グラフが表示できるのは中々便利そう Being good at programming competitions correlates negatively with b…

一番苦手な作業に取り組むために

自分は今日やったこと、今日考えたことを毎日メモを残しておくというのがものすごく苦手である。 やらないよりも、やれば良いにきまっている。良いとはわかっているけれども、どうもそれをやろうとすると、「めんどくさいな」と思って気がついたらはてブをダ…

計算機での性能測定実験と集計の手法について、あるいはただの愚痴

計算機を使った性能測定実験プログラムを実行して、集計するという処理をどこまでパターン化出来るかというのを、この数年、たまに考えている。が、なかなかこれだ、という答えにたどり着けるわけでもなく悶々としている。 このエントリは、その悶々とした気…

よんだものWeekly

先日紹介したtech系Newsletterまとめを中心に、1週間で読んだ記事のなかで面白かったものを一言コメントと共に紹介する試みを始めてみようと思います。 The User Is Drunk 「Webサイトは酔っ払ったユーザでも使えるくらいシンプルでないといけない」 「とい…

原風景と感性

眺めているとほっと心が安らぐような風景がある。 自分の場合は、田園、里山、少し寂れた商店街、昼間なのにほとんど人が歩いていない町並み。おそらく原風景といわれるものなんだろうと思う。子供の頃に過ごした場所の景色が、象徴的に各人の心に刻み込まれ…

特定のトピック着目型の文献サーベイ方法

特定のトピック(分野の中でも特定の問題や手法とその周辺情報)についての文献をサーベイする際に、最近自分がやっている方法のざっくりとしたまとめ。 根っこになる論文を見つける (A) 自分が着目しているトピックの、そもそもの概念を考えだした論文 (B) …

まったり目の技術情報収集に役立つ Hogehoge Newsletter まとめ

ソフトウェア技術に関する情報が昨今は本当に氾濫していて、自分が必要とする情報を抽出する機械になるには、人生はあまりにも短いし、そもそも一人では到底さばき切れない時代になっていると感じます。とはいえ、人のtwitterやfacebookのタイムラインを眺め…

perfmonger 0.7.0 をリリースしました

性能測定ジャンキーのためのツール、PerfMonger 0.7.0 をリリースしました。 PerfMongerは1コマンドでCPU・ネットワーク・I/O資源の利用状況を高精度・高解像度でモニタリングし、記録することができます。mpstat や iostat 等では、測定する資源毎にコマン…

大晦日〜正月にかけて作ったモノ・料理まとめ

今年の年末年始は帰省できなかったので、大晦日から正月の三が日は家にじっと籠もり、日曜大工をしたり料理を作ってストレス発散をしていたので、作ったものまとめ。 DIY用ワークベンチ 何かを作るには、まず作るための環境づくりから、ということでワークベ…

雑煮つくった

雑煮!!!! pic.twitter.com/ZDaEHvvOmY— はやみず (@hayamiz) 2015, 1月 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を書くようになった。

逃げまわる生き方

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