タグ

2009年11月10日のブックマーク (9件)

  • [プログラミング] ビット並列アルゴリズムを使った編集距離 - tsubosakaの日記

    ふと、ビット並列アルゴリズムを使った編集距離を計算するアルゴリズムを書きたくなったので書いてみた。 まず、通常の編集距離であるLevenshtein Distanceを求めるアルゴリズムは以下のように書ける int levenshteinDistance(String A, String B) { int m = A.length(); int n = B.length(); int dp[] = new int[n + 1]; int next[] = new int[n + 1]; for (int i = 0; i <= n; i++) dp[i] = i; for (int i = 1; i <= m; i++) { next[0] = i; for (int j = 1; j <= n; j++) { if (A.charAt(i - 1) == B.charAt(j - 1))

    [プログラミング] ビット並列アルゴリズムを使った編集距離 - tsubosakaの日記
  • yebo blog: OpenSSLは猿によって書かれている

    2009/11/03 OpenSSLは猿によって書かれている オープンソース・プログラマ Marco Peereboom氏がCAを使った安全な通信コードを書くために、OpenSSLのコードを調べたところ、コードが糞で猿が書いたも同然という結論に至ったその経緯をWeb上に書いている (OpenSSL is written by monkeys)。今まで使ったライブラリの中で最悪、このような複雑で愚かなコードがインターネットで使われているなんて信じられないとのこと。更に、HOWTOももツールの事ばかりでコードを書く手助けにはならない。サンプルコードを見たら、目眩がしてきたとか。彼らは、ひどいOpenSSLに覆い隠すためASSL (Agglomerated SSL) を書いているようだ。OpenSSLは明らかに「バッドノウハウ/奥が深い症候群」の一つだよなー。 投稿者 zubora 投稿時間

  • IBMがWebアプリケーションのUIガイドラインとHTML/CSSのソースコードを公開

    業務アプリケーションがWebアプリケーションとして開発されるのは現在の大きなトレンドです。それに伴ってHTMLCSSによって業務アプリケーションの複雑なユーザーインターフェイスを構築する必要性が生じます。 しかし機能が豊富な業務アプリケーションのユーザーインターフェイスをHTMLCSSで構築するのはそれほど簡単ではなく、しかもそれをアプリケーション全体で統一し、優れたユーザビリティを実現するのはさらに手間のかかる作業です。 そうした業務用のWebアプリケーションのユーザーインターフェイスを構築するためのサンプルが豊富に含まれたガイドライン「IBM Lotus User Interface Developer Documentation」が、IBMから公開されました。 今回公開されたIBMのガイドラインは、同社のLotus製品群のユーザビリティを統一するための社内プロジェクト「One U

    IBMがWebアプリケーションのUIガイドラインとHTML/CSSのソースコードを公開
  • グーグル、JavaScriptプログラミングツールをリリース

    Googleは米国時間11月5日、「Closure Tools」と呼ばれるプロジェクトをリリースし、同社のウェブサイトおよびウェブアプリケーション作成レベルに達することを望む開発者をサポートしていく方針を明らかにした。 Googleは、ウェブ中心のビジョンの一環で、JavaScriptを用いたウェブベースのプログラム記述を強く推進している。確かにGoogleは、「Gmail」や「Google Docs」などのサービスを通じて、JavaScriptを最大限に活用しており、より高速にJavaScriptプログラムを実行できるようにする目的もあって、「Chrome」ブラウザの開発に努めてきた。 しかしながら、JavaScriptプログラムは時に異なるブラウザ上では異なった動作をするなどの理由から、高機能なJavaScriptの記述、デバッグ、最適化は困難なものともなってきた。Googleがオープ

    グーグル、JavaScriptプログラミングツールをリリース
  • 凝縮黒ウコンDEXに増大効果なし?口コミに隠れた嘘を一刀両断!

    「昔から自分のナニのサイズが小さいのがコンプレックスになっています」 コンプレックスになったきっかけは中学の時の修学旅行です。 それまで特に気にならなかったのですが、お風呂の時間に友人のを見て、自分が小さい方なことに気が付きました。 それからは恥ずかしく思うように。 それから10年近く経ちましたが、特にサイズは変わっていないです。 大人になってふと思ったんです。 コンプレックスを解消する方法って無いのかなと。 そして調べてみたら、最近は色々な方法があることを知りました。 特に気になったのは【凝縮黒ウコンDEX】という増大サプリメントです。 全体的に評価も高くて、レビューを読んでいてもかなり期待できるなと思いました。 ですが初めてのことなので、自分に効果があるのかという不安もあります。 なので凝縮黒ウコンDEXについて詳しく調べてみたいなと。 調べ尽くして、使いたいという気持ちが強ければ注文

    凝縮黒ウコンDEXに増大効果なし?口コミに隠れた嘘を一刀両断!
  • Jpython開発者、Sunを去る | エンタープライズ | マイコミジャーナル

    Jython Jyhtonのプロジェクトリーダを務めるFrank Wierzbicki氏が自身のブログにおいてLeaving Sunのタイトルのもと、Sun Microsystemsを退職することになった旨を伝えている。Frank Wierzbicki氏はSunでJythonの開発に従事。Python Projectのコミッターであるとともに、Python Software Foundationのメンバーも務めている。これまでJythonの開発でリーダとして中心的な役割を果たしてきた。 Frank Wierzbicki氏はSunにおいてフルタイムでJythonの開発に従事できたことがとても喜ばしいことだったと延べ、永遠に続くことはないとは思っていたがついにこの時がやってきたと、惜しむ言葉を掲載している。2008年3月、Sun MicrosystemsはFrank Wierzbicki氏らP

  • Python Hack : 噛めば噛むほどおいしくなるクロージャの話

    最近 JavaScript を書く機会が増えているが、それに従って自分のコーディングスタイルが少しづつだが変化してきているのが分かる。もともと「コードの読みやすさ」や「実行効率」にとことんこだわるタイプだが、(JavaC++になくて)JavaScriptRubyにあるクロージャや無名関数が私のコーディングスタイルにとてもマッチしているからだと思う。 簡単な例を紹介しよう。Pythonで書かれた config.py というモジュール。config.yamlという設定ファイルを読み込んで Dictionary として返す config.get() という関数。普通に実装すると、以下のような感じになる。 import yaml _config = None def get(): global _config if not _config: data = open('config.yaml')

  • lisp-users.org - lisp users リソースおよび情報

    lisp-users.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、lisp-users.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!

  • Googleドキュメントで(それなりに)見栄えの良い書類を作る方法 | H2O Space. BLOG

    ここへ来て、かなりの勢いでパワーアップが図られ、かなり使えるツールに仕上がってきている「Googleドキュメント」。Google Appsのユーザーである私は、独自ドメインでわしわし使いこなしています。 しかし、これまでの使い方はあくまでも「オンラインメモの延長」として、スプレッドシートにちょっとしたことをメモしておく程度の使い方でした。というのは、さすがに印刷をするための書類を作るには、見栄えが良くなく、とても使えない・・ そこで、ちょっと試行錯誤をして、印刷にも使えるGoogleドキュメント作りにチャレンジしてみました。 実は、Googleドキュメントの文書は裏はHTMLで作られています。その証拠に「Edit→Edit HTML」メニューをクリックすれば(私は英語版を使っています)、HTMLのソースを見ることができます。 そのため、これをCSSで制御すれば見た目を整えることができます。