タグ

ブックマーク / kohsuke.hatenadiary.com (7)

  • エレベータアルゴリズムの最適化 - 川口耕介のブログ

    エレベータに階数表示がないのはなぜかというブログポストを見て、この一歩上をゆく方式がニューヨークで運用されていたのを思い出したので、紹介します。 タイムズ・スクエアのマリオットだったと思いましたが、エレベータホールには、上下ボタンの代わりにテンキーで目的階を入力するキーパッドが付いています。これを押して行きたい階を選ぶと、液晶画面で何号機に乗るのか指示されます。指示されたやつの前で待っていると、やがてドアが開く、という具合です。エレベータ内には階数入力のボタンはついていないので、中に乗ってから目的階を選ぶことはできません。これだと、同じ階で降りる人を同じ箱にまとめて載せることができるので、効率は更に上がりそうですね。 ニューヨークの二箇所のホテルで見たので、結構流行っているのではないかと思われますが、一方でニューヨーク以外では見たことがありません。 追記:その後のフィードバックで、ニューヨ

    エレベータアルゴリズムの最適化 - 川口耕介のブログ
    rna
    rna 2012/08/28
    「エレベータホールには、上下ボタンの代わりにテンキーで目的階を入力するキーパッドが付いています。これを押して行きたい階を選ぶと、液晶画面で何号機に乗るのか指示されます」
  • 非対話的デバッガ YouDebug - 川口耕介のブログ

    バグ修正はプログラマの仕事の一つですが、このうちのかなりの時間は問題を再現することに費やされます。 症状からバグの全容が推察できる時もあるのですが、多くの場合には、手元で問題を再現し、更なるデータを集めることによって始めてバグが理解されるからです。しかし、環境に依存する問題などは再現が難しい場合もあります。どうしたらよいでしょうか。 ロギングというのがよく行われる解決・予防策ですが、「デバッガを走らせて変数xの値を教えてくれればいいのに!」と思った事があるのは私だけではないと思います。ロギングと異なり、デバッガは予めプログラムに障害発生を予期するコードを埋め込んでおく必要はありません。また、呼び出し元のローカル変数をアクセスしたり、任意の式を評価したり、あるいは変数の値を変更することもできてしまいます。当たり前ですが、障害分析ツールとしてはデバッガはずっと強力だからです。 ではなぜユーザー

    非対話的デバッガ YouDebug - 川口耕介のブログ
    rna
    rna 2009/11/10
    便利そう!でも今再現できなくて困ってるのは.NETのプログラムだった…
  • 損得計算のできない人たち - 川口耕介のブログ

    JDK6では、一部の非ポータブルなcom.sun.* APIを使っていると次のような警告が出る。 /home/kohsuke/ws/hudson/hudson/main/core/src/main/java/hudson/security/LDAPSecurityRealm.java:26: warning: com.sun.jndi.ldap.LdapCtxFactory is Sun proprietary API and may be removed in a future release import com.sun.jndi.ldap.LdapCtxFactory; ^ /home/kohsuke/ws/hudson/hudson/main/core/src/main/java/hudson/security/LDAPSecurityRealm.java:26: warning:

    損得計算のできない人たち - 川口耕介のブログ
    rna
    rna 2009/09/01
    なんかスナフキンみたいだw/雑誌とかで危ないオプションが当たり前のように紹介されて多用されてしまうケースもあるし、開発者に責任はないけど開発者自身は寝覚めが悪くなるからやりたくねーみたいなのはあるかも。
  • errno.hを追跡していたらひどい目にあった - 川口耕介のブログ

    エラーコード12が何なのか調べようとして気軽に「less /usr/include/errno.h」としたところ、実はこのファイルにはエラー番号の定義はないことを発見した。おそらく、ここからincludeされているにあるらしい。 /* Get the error number constants from the system-specific file. This file will test __need_Emath and _ERRNO_H. */ #include <bits/errno.h> このbits/errno.hを見てみると、しかしここにもない。 #ifdef _ERRNO_H # undef EDOM # undef EILSEQ # undef ERANGE # include <linux/errno.h> 更に、linux/errno.hがインクルードされているの

    errno.hを追跡していたらひどい目にあった - 川口耕介のブログ
    rna
    rna 2008/12/04
    僕が途中で挫折したファイル!w / #include クリックするとどんどんインラインに展開してくれるビューアとか欲しくなる
  • java.netバグトラッカーに素早くアクセスするツールを開発しました - 川口耕介のブログ

    僕のプロジェクトは、仕事のも趣味のも大体みんなjava.netホストしてあります。このうち、HudsonやGlassFishなど幾つかのプロジェクトは、数千のバグが記録された大きなバグデータベースがありますし、それには及ばないまでも、JAXBなど数百のバグがファイルされているプロジェクトはもっと沢山あります。 残念な事に、java.netのバグトラッカーはとても遅いので、こういう大きなプロジェクトでバグを検索したりしているとページのロードが遅くて大変イライラします。目的のバグが見つからなくて検索キーワードを変えながら何度も検索を繰り替えしたりすると、最悪です。 そこで、以前からのホビープロジェクトjavanettasksとLuceneを組み合わせて、バグデータベースをローカルにダウンロードしてそこで検索できるようにする「bokobai」というプログラムを書いてみました。まだ改善の余地は

    java.netバグトラッカーに素早くアクセスするツールを開発しました - 川口耕介のブログ
    rna
    rna 2008/07/11
  • Active DirectoryとHudson/Javaの統合 - 川口耕介のブログ

    Active DirectoryとJavaのお寒い関係について、またHudsonがcom4jを使うことでどうやってゼロ・コンフィグレーションのActive Directory統合を実現したのか、以前に書きました。これはWindows上でHudsonを使っているユーザーには大変便利だったのですが、一方、その後、Active Directoryで管理されているドメインの中で動いているUnixマシン上でもHudsonを使っている人が意外に多いことが分かりました。UnixではCOMは使えないのでまったく異なるアプローチを実装する必要がありましたが、先日ようやっとHudsonのActive DirectoryプラグインをUnixでも動くようにして公開することができました。こちらは残念ながらゼロ・コンフィグレーションではないのですが、入力するフィールドはActive Directoryドメイン名の一つ

    Active DirectoryとHudson/Javaの統合 - 川口耕介のブログ
    rna
    rna 2008/06/23
  • 文字コードと文化と言語 - 川口耕介のブログ

    UTF8がデフォのほうがましですね。最近はクロスプラットフォームを考慮してソース等はすべてUTF8で扱うことが多いですから。 日語環境悪化か - しんさんの出張所 はてな編 実は自分の作ったMaven2プロジェクトUTF-8を指定しているか日語を使っていないものばかりなので、自分は当事者ではないのだけど。 http://nekop.programmers.jp/diary/?date=20080428 僕が日にいた頃は、専らVisual C++とかJavaのソースコードといえばShift JISで書くのが普通だった。WindowsではShift JIS、Unix上はEUCという棲み分けができていたから、cvsのEOL処理と同様に文字コードをコンバートしてリポジトリに保管するためのパッチが書かれていたりした(そうしないと両方で編集できない)。Unicodeはあったはずだが、普及してい

    文字コードと文化と言語 - 川口耕介のブログ
    rna
    rna 2008/05/05
  • 1