hnw

hnwさんのプロフィール

重箱の隅をつつき続ける人生

プロフィール最終更新日:

はてなID
hnw
一行紹介

重箱の隅をつつき続ける人生

自己紹介

レベル46の遊び人。http://hnw.jp/ の中の人です。


仕事ではWebのプログラミングをしてきました。これまでPHPメインのお仕事が多かった印象ですが、C、C++、Java、XSLTなどのコードを書く仕事もありました。ApacheのモジュールやPHPのエクステンションを納品したような経験もあります。また、学生時代は情報専攻で、Schemeなら今でも多少は書けます。最近はHaskellもボチボチ書けるようになってきました。自分用の使い捨てプログラムを書くなら20年来Perlです。


境界値バグが大好物です。特に浮動小数点数絡みのバグについては、浮動小数点数のどんな性質からどんなバグが生まれるかに興味があるため、OSSでのバグの実例を見つけたら備忘録としてブログ記事にしています。ただし、今後Monoのバグを見つけた場合はMonoのバグだとわからないように記事にします。


この日記上のコード断片のうち、私が新規に書いたものについてはMITライセンスに従うものとし、かつ著作権を主張するつもりはありません。ライセンス表記を明示的に付けて欲しいというご要望があればお気軽にお問い合わせください。


メールでのご連絡がある方は y あっと hnw どっと jp までどうぞ。gmailがSPAM判定しないかぎり読みます(お返事が遅くなることはよくあります)。


雑誌・Web掲載記事

2002年4月 Software Design 2002年5月号
「特集:WindowsでわくわくUNIX体験」
第1部 Windows上のUNIX環境Cygwin活用ガイド 3 Cygwinの一歩進んだ利用法

2008年9月 Software Design 2008年10月号
「第2特集 UNIXプログラミングツールをマスターせよ 2008」
1章:〜./configure→make→make installって何をしているの?〜プログラムがインストールされるまで

2010年4月 WEB+DB Press Vol.56
PHP転ばぬ先の杖
【第1回】型を知れば,比較の挙動が見えてくる

2010年6月 WEB+DB Press Vol.57
PHP転ばぬ先の杖
【第2回】PHPでの数値の正しい扱い方――浮動小数点数,巨大な整数

2010年8月 WEB+DB Press Vol.58
PHP転ばぬ先の杖
【第3回】PHPの文字列処理――文字エンコーディングと正規表現

2010年10月 WEB+DB Press Vol.59
PHP転ばぬ先の杖
【第4回】ストリームとファイル入出力――ローカル/リモートのさまざまなファイルを透過的に扱う

2010年12月 WEB+DB Press Vol.60
PHP転ばぬ先の杖
【第5回】PHPの日付と時刻――日付の解釈・比較,タイムゾーン,トラブル対策

2011年2月 WEB+DB Press Vol.61
PHP転ばぬ先の杖
【最終回】失敗しない関数・クラスの選び方――見極めのポイント,情報収集法,ケーススタディ

2015年1月 gihyo.jp
2015新春特別企画「PHP処理系の未来

講演・発表

2005/11/26 第6回PHP勉強会 in Tokyo
「CodeGen_PECL」

2006/02/25 第9回PHP勉強会 in Tokyo
「「==」と「===」のキモい挙動について」

2006/05/23 第12回PHP勉強会 in Tokyo
「続・CodeGen_PECLの紹介」

2006/09/25 第16回PHP勉強会
「==がキモイ件続き」

2007/06/24 第25回PHP勉強会
「PHPの奇妙な8進数&皆様にご相談」

2007/12/30 第29回PHP勉強会
PHPの正規表現と最長一致

2008/07/06 PHP勉強会 SIDE-B
「PHPのfloat型やらint型やらの話」

2008/08/23 第01回まっちゃ445勉強会
「XSS脆弱性に対しXHRを用いた攻撃」

2008/12/20 第38回PHP勉強会
「PHPの全バージョンを揃えよう」

2009/08/01 第45回PHP勉強会@関東
「バグレポしようぜ!」

2009/09/05 PHPカンファレンス2009
「phpall:PHPの全バージョンの挙動を試す」

2010/03/28 第51回PHP勉強会@関東
「64bit PHPの罠」

2010/09/25 PHPカンファレンス2010
「PHPストリーム概説」

2010/10/03 PHPMatsuri
「How to get pure PHP language parser」

2011/06/04 第4回Symfony2勉強会
PHPUnitのMockObjectの紹介

2011/09/10 PHPカンファレンス2011
「バグ発見ツールPHPBugsのご紹介」

2012/05/25 第59回PHP勉強会@東京
PHPのマルチバイト処理 ― 分類と落とし穴

2012/06/30 Symfony勉強会#6
PHPで時間旅行をする方法

2012/09/01 第三回闇PHP勉強会
PHPエクステンションの開発tips

2012/09/15 PHPカンファレンス2012
php-timecopを実戦投入してみた

2013/03/02 第四回闇PHP勉強会
Testing PHP extension on Travis CI

2013/03/27 第66回PHP勉強会
PHP-FPMとuWSGI――mod_php以外の選択肢を探る

2013/07/22 第70回PHP勉強会
浮動小数点数の話 2013年度版

2013/09/15 PHPカンファレンス2013
Zend OPcacheの速さの秘密を探る

2014/03/15 第五回闇PHP勉強会
zval をダイエットしてみた

2014/10/11 PHPカンファレンス2014
PHPNGの動向

2014/12/24 第85回PHP勉強会
PHP7はなぜ速いのか

2015/01/31 江戸前セキュリティ勉強会
偶然にも500万個のSSH公開鍵を手に入れた俺たちは

2015/05/30 PHPカンファレンス関西2015
PHP7で変わること ――言語仕様とエンジンの改善ポイント

2015/09/04 Developers Summit 2015 KANSAI
PHP7の内部実装から学ぶ性能改善テクニック

2015/09/05 LL Ring Recursive
「Language Update」

2015/10/01 第94回PHP勉強会
PHP7の拡張モジュール事情

2015/11/22 第六回闇PHP勉強会
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた

2015/11/24 PHP BLT #1
php-buildがいかに便利かを力説する

2015/12/6 Go Conference 2015 Winter
PHPの拡張モジュールをGoで作る

2016/8/27 Lightweight Language of Things
Laungage Update PHP編

2016/11/3 PHPカンファレンス2016
家庭用ブロードバンドルータ上でWordPressを動かそう

2016/12/11 第六回闇PHP勉強会
realpathキャッシュと OPcacheの面倒すぎる関係

2017/10/8 PHPカンファレンス2017
PHP拡張をPECLに登録してわかったこと

好きなもの

好きな食べもの カレー