hnwの日記

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

第29回PHP勉強会に行ってきました

PHP

1週間経ってしまいましたけど、先週23日に第29回PHP勉強会に行ってきました。勉強会の会場はトライコーン株式会社さんにお貸し頂きました。ありがとうございます。 今回は久々に僕も発表させてもらいました。発表資料を公開しておきます。 「PHPの正規表現と…

(第1回?)PHP懇親会に行ってきました

PHP

PHP懇親会に行ってきました。これは、参加者全員が3分発表する飲み会で、普段は喋らない人にも話してもらおう、というイベントでした。29人参加で、休憩をはさみつつ150分くらいで全員がプレゼンをしました。当初は僕も「イベントとして成立するのかなあ?」…

Undocumented strtotime()

PHP

さて、この日記も記念すべき30回目になりました。だからと言って大ネタがあるわけでもありません。今回はPHPの日付関数strtotimeに関して、マニュアルに載っていない機能を紹介してみます。 strtotimeは、日付っぽく解釈できそうな文字列を引数に取ってunix …

近況報告

つい先ごろroundの話題を読み直してみました。自分で言うのもアレですが中々面白いですね。ただ、今になってみると無駄にムキになっている自分に気づきます。 どういうことかというと、自分でも最初は「PHPってイカれてるでしょ、わはは」ってつもりで書いて…

第28回PHP勉強会に参加してきました

PHP

第28回PHP勉強会]に行ってきました。勉強会の会場は株式会社ノッキングオンさんの会議室をお貸し頂きました。ありがとうございます。 会場で聞いたのですが、はてダで「ノッキングオンの会議室使いたい!」と唱えると会議室が借りられるらしいです。用もなく…

今のsshってargv[0]を見ないんですね

読者の皆様、御無沙汰しておりました。このところ会社のブログ「ディノオープンラボラトリ」というサイトを立ち上げて、記事をボチボチ書いておりました。個人ブログとの住み分けをどうするかで少し悩んでいますが、マニアックすぎる場合とCソースコードを貼…

Rubyの浮動小数点数リテラルの扱いは正しいのか

題名の通りなんですが、前回の記事「PHP以外全員不正解」に対して「ダウト!」を頂戴したのでまとめてみます。 Cのこの動作が、唯一無二絶対のものであるとする根拠はどこにあるのでしょうか? strtod によれば、 If the subject sequence has the decimal fo…

PHP以外全員不正解

いまだにround関数のまとめは出来ていません。そろそろ皆様に忘れられる前にまとめなきゃな、とは思っていますが、もうしばらくお待ちください。今回は微妙にround関数と近いような遠いような話題です。 巨大な数の丸めについて実験しているうちに、PHPだけ…

PHPでも巨大な16進数が書けるようになった

PHP

今回はPHPの16進リテラルの話題です。前回の8進リテラルの話題の反応が薄かったので、今回もウケは良く無さそうです。 さて、早速ですがPHP5.2.0以前を用意して、16進リテラルで少し大きい数を扱ってみます。 $ php --version PHP 5.2.0 (cli) (built: Jul 4…

PHPの奇妙な8進数

PHP

さすがにround関数の話が続き過ぎだという声が多いので、先日PHP勉強会で話した小ネタを披露してみます。 早速ですが、PHPの5.2.2より前のバージョンを用意してください。 $ php --version PHP 5.2.1 (cli) (built: Jul 4 2007 20:25:55) Copyright (c) 1997…

round関数その9:PerlのMath::Roundモジュールについて

少なくとも十数人は居ると思われる読者の皆様、ごぶさたしておりました。サボリのため、まとめ記事は全く書けていません。 さて、今回は他所の記事の紹介です。PerlのMath::RoundというモジュールにPHPと似たようなマジックナンバーが採用されているようです…

round関数その8:RubyとPythonのround関数は奇妙じゃないんですか?

さて、今回はRubyとPythonの題名をつけてしまいましたけど、それらの言語だけに限らないような話題です*1。早速ですが、FreeBSD環境を用意してください(おそらくSPARC Solaris環境やMac OS X環境でも同じ結果だろうと思いますが、僕は確認していません)。 …

round関数その7:偶数丸め

いい加減まとめるか他の記事書けよって感じですが、まだまだround関数の続きです。実際のところ僕も結構飽きていたりします。 この一連のround関数の件について言及している記事を見ると、かなり怪しい知識レベルの人もいるように思います。そんな記事をいち…

round関数その6:啓蒙とお詫び

Referer一覧の存在に気づいたので、リンクして下さっている方々の文章を今更読んでいます。ただ、おそらく浮動小数点数の扱いが拙いのをround関数のせいにしているような文章を見つけました。もしそういう誤解があれば非常に残念だと思うと同時に、これだけ…

round関数その5:そろそろ反撃していいですか?

さて、またまた「PHPの奇妙なround関数」の続きです。今回はタイトルからいきなり負けそうですけど、気にせずいきましょう。 Matzさんの記事に反論するにはかなり理論武装が必要だろうという考えから、ここ2回の記事は僕としても頑張って書いてきました。た…

Pythonのround関数の議論を読んでみた

さて、round関数の続きの記事を周囲からも催促されている気がするんですが、まだまとめ切れずにいて僕自身困っていたりします。PHPを擁護するような方向の話をしようかと考えているんですが、なかなか難しくて正直気が重いです*1。PHPの中の人の意図も一回は…

PHPのround関数の謎が少し解けた

2週間以上前の記事「PHPの奇妙なround関数」がすごいことになっていますね。最近書き始めたばかりの日記にこんなに人が来るなんて、有名人の集客力は流石だなあ、などと感心しています。 その集客力のおかげかもしれませんが、FreeBSDとMac OS Xだと挙動が違…

PHP勉強会の宣伝

PHP

1ヶ月以上前のことになるんですが、第23回PHP勉強会]に行ってきました。勉強会の会場は株式会社ノッキングオンさんの会議室をお貸し頂きました。本当にありがとうございます。まずはそのことを宣伝するエントリです。 ついでというわけでもありませんが、頼…

round関数で整数を四捨五入してみる

今日はPHPのround関数に関して前回と違った切り口で紹介してみます。また、コンピュータ上での整数についても少し紹介してみます。 前回の記事「PHPの奇妙なround関数」([id:hnw:20070515])を読んで、小数点が付いた数なんてPHPで触ったことないから関係ない…

「===」がtrueを返し「==」がtrueを返さないサンプル

PHP

(2015/04/01追記)本稿の内容はPHP 5.3.xまでに当てはまります。PHP 5.4.0以降はINF==INFになりました。「PHP 5.4.0から無限大==無限大がtrueになってた - hnwの日記」もご確認ください。 Yahooの入社試験だという、PHPについての22問の質問が話題ですね。…

PHPの配列のキーについて調べてみる

PHP

先日書いた「PHPの奇妙なround関数」は、重箱の隅をつつくような内容の割には注目を頂いたようで何よりです。ブックマーク数が増えていくのを見るのはとても楽しい経験でした。気をよくして他の持ちネタも披露してみます。今回はPHPの配列のキーに関して簡単…

PHPの奇妙なround関数

(2012/11/01追記) 4年ほど前の記事「PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記」でお伝えした通り、PHP 5.3.0から別の実装が採用されており、本ページで指摘しているような挙動のPHPは既に絶滅危惧種です。念のため。 さて、プログ…

GNU Xnee

気になるソフトウェアとしてGNU Xneeを紹介します。これはX11のマウスイベント・キーボードイベントの記録および再生を行うツールのようです。 http://www.sandklef.com/xnee/ ドキュメントは本家のものくらいしか見当たりません。あまりユーザーは居ない印…

老人の昔話(Emacsについて)

数年前に書いた文章を見つけたので公開してみます。 そのまた大昔、1つのワークステーションを1部署の全員で使っていた頃、 Emacsなんて贅沢なエディタを使う若者は敵視されていたそうです。僕も聞いた話ですので、本当かどうかは知りませんけどね。当時の老…

FireBugの便利さに今更気づいた

みんなが絶賛しまくっているFireBugですが、JavaScriptを滅多に書かない僕には何が凄いのか理解できていませんでした。でも、最近Greasemonkeyスクリプトを書くようになって凄さがわかりました。 以前の僕と同じような立場の人に凄さが伝わるかはわかりませ…

Greasemonkeyで自動ログイン

今更ですけどFirefoxのextensionのGreasemonkeyをインストールしてみました。これは何をするextensionかというと、ページをロードして(おそらく他の全部のJavascriptなどの処理が終わった後で)ユーザーの好きなJavascriptを自動実行させることができるとい…

TCPMPのAACプラグインに関するメモ

Windows Mobile用の動画・音楽プレイヤーとしてThe Core Pocket Media Player(通称TCPMP)というソフトウェアがあります。このソフトウェアは、あるバージョンからAACプラグインが配布されなくなったようで、調べた限りではライセンスの問題で配布を止めた…

ログインシェルが気に食わなかった場合の対処

自分がroot権限を持っていないサーバで、ログインシェルが気に食わないことが稀にあるかと思います。自分は**sh使いなのにデフォルトは**shかよ、みたいな。そんなときのために。 これは有名なネタの部類だと思うんですが、案外不便に耐えて使っている人が多…

bashでtcsh風なM-p/M-nでのヒストリ検索を行う

最初に触ったUNIX系OSがSunOS/Solarisであるような老人たちは、最初に触ったシェルがtcshである人が多いかと思います(もっと老人の人はまた別かもしれませんが)。しかし、いまやtcsh使いは珍しい存在になりつつあります。私も学生時代はtcsh一本でしたが、…