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

Power Point DSL

Groovyで書かれたPowerPointスライド用のDSL。Groovy PowerPoint DSL « Don’t mind the language単純な項目の羅列なら、こういうやり方ですばやく書けるだろうけど、 アニメーションとか、図表用のメソッドはどういう風に書けると良いんだろうか? 凝ったも…

アポロ11号のソースコード

アポロ11号のソースコードの一部が公開されている。 Google Code Blog: Apollo 11 mission's 40th Anniversary: One large step for open source code...例えば↓はアポロ誘導コンピュータ(宇宙飛行士が使ったリモコンみたいなもの?)のソースコードの一部…

Real World Haskellのコメントシステム

Real World HaskellはWebで全文が読めるが、個人的に全段落にコメントをつけられるのが非常に良いと感じていた。ページの再読み込みがない分気軽にコメントできるし、普段は隠れているので本文だけ読みたい人にも気にならない。 初心者の質問に対する親切な…

演算子とポイントフリースタイル

(++)でポイントフリーが使われているコードをみてよくわからなかったので試してみた。 Prelude> :t (++) (++) :: [a] -> [a] -> [a] Prelude> "a" ++ "bc" "abc" Prelude> (++ "bc") "a" "abc" Prelude> ("a" ++ ) "bc" "abc" ふ〜む。左からでも右からでもO…

Scalaの関数部分適用とカリー化

Programming In Scalaで、関数の部分適用とカリー化について混乱。関数の部分適用(Pratially applied functions)は [Chapter 8 Functions and Closures]という章で紹介されている。この章では、まず無名関数(function literal)が登場して、その後に部分適用…

Scala2.8では名前付きパラメータをサポート

Named and Default Argumentsこんな感じのことができるようになる模様。明示的でわかりやすいから結構好きだ。 def area(width: Int, height: Int) = width * height //面積を求める関数 area(5,4) //OK area(width=5, height=4) //OK area(5, height=4) //O…

RSR5冒頭より

プログラミング言語の設計は、機能の上に機能を積み重ねることによってではなく、余分な機能が必要であるように思わせている弱点と制限を取り除くことによってなされるべきである。式をつくるための規則が少数しかなくても、その組み合わせ方法に全く制限が…

足を降ろせw

Don and Chris explain Oslo in 5 minutesCOMの権威であり、SOAPにも関わっていたDon BoxがOSLOを語る動画。 リラックスしすぎ。テーブルの上の足が気になる・・・。

VC6で拡張子が*.ccなファイルをC++ソースとして扱わせる

Google Testを無理やりVC6に移植しようとしている。が、なかなか上手くいかない。VC6はもともとC++への準拠度が甘く、有名なところでテンプレートの部分特殊化ができないというのがあるが、それ以外にも色々と問題があることがわかってきた。 いい加減見捨て…

VC10はnative C++もマルチターゲット

一つ前のエントリにも少し載せたのですが、VC10(Visual Studio2010のVC)はC++開発でマルチターゲットがサポートされるようです。 (.NetのマルチターゲットはVisual Studio2008からサポートされています)このマルチターゲットの詳細について、ググってもいま…

PDC2008 Microsoft Visual C++: 10 Is the New 6

C++

PDC2008のセッションMicrosoft Visual C++: 10 Is the New 6を見た。以下超意訳。 VC10は新しいVC6 VC6は出た当時革命的だった。(まぁ今でも使ってるし) VC10はVC6と同じように革命的に良くなる VC10 is ネイティブコードに焦点を当てた スケーラブル。数1…

buzzwordの流行廃りが描く曲線

なんだったっけ?と思ったらハイプ曲線だった。自分の技術分野は今ハイプ曲線のどの辺り? ハイプ曲線 MOYO Laboratory エンタープライズ:Gartner Column:第9回 ハイプ曲線でITの先を読むhype:詐欺、誇大広告という意味らしいです。

メールを西暦フォルダ順に整理しているつもりが、気が付くと10年前のメールを全部読もうとしていた。その中の一通。当時公開していたシェアウェアへの要望に対する自分の返信だが、なんとも言えないいい加減さが。 xxxxさん、はじめまして。XX作者のXXと…

プログラマの年代マップ[米国]

stackoverflow.comでの質問↓How old are you, and how old were you when you started coding?(今何歳?プログラムを始めたのは何歳?「俺の親父(65)は今でもCOBOLやってる」 「20歳で始めたばっかりです(21)」 「パンチカードのFORTRANで18歳の時に始めまし…

トラブルシュータの快感

Life is beautiful: 優秀なナースがいるとシステムがなかなか改善されないという話 より、 調査によると、ほとんどのナースは一日の30分から1時間をそんな「障害を乗り越えるための工夫」に費やしており、そのために残業をしたりすることは日常茶飯事。彼…

ライブラリ⇒フレームワーク⇒DSL⇒??

Ruby on Rails以降、DSLが流行り始めたり、Fluent Interfaceなライブラリが多く出てきた。言語の柔軟性とJava/.Net仮想マシンの台頭によって、人間にとって自然で読みやすい言語を誰でも作れる時代になった。Make,grep,printfの書式,xml,正規表現,,,, どれも…

時間で流す

中途半端な技術調査メモは全部workフォルダに突っ込んでいた。 調べ始めはどんどん収集するのだが、日々を経るにつれ参照することもなくなり、最終的には次のどちらかになってしまう 「何だっけこれ」 「あぁ、これもやり残した」 どちらにせよ、これらは負…

macportsのautotoolsでは空白を扱えない

困っている人がいた。Google C++ Testing Framework Google C++ Testing Framework

Chromeで使っているオープンソースのリスト

Code Reuse in Google Chrome Browser - good coders code, great reuseWebkit,V8以外にも多数再利用してますよという話。UIはWTLで書いてるってことか。google breakpadってのが面白そう。マルチプラットフォームなクラッシュレポートシステム。

はてな記法でのリンク入力をほんの少し支援するブックマークレット

はてな記法ではリンクは、 [:title=] と書く。たとえばGoogleへのリンクはこんな感じ、 [http://www.google.co.jp/:title=Google] このようなはてな記法でのリンク入力をほんの少し支援するブックマークレットを書いてみた。 javascript:prompt('link%20for%…

Windowsでpatchをあてる/diffでpatchを作るための情報

patchの基本 パッチファイルを作るにはdiffを、逆にpatchをあてる(当てる?充てる?)にはpatchを使う。 diff/patch Tipsにはわかりやすい説明がある。 How to install diff,patchはUNIX形には大抵入っているし、macでも入っていた(XCodeで一緒に入るのかな…

Subversionでどのリビジョンをチェックアウトしたか調べる

作業コピーでsvn status --verboseを実行。 2番目の列がチェックアウトしたリビジョン。例: C:\unittest-cpp>svn status --verbose 180 180 cnicholson . 180 179 cnicholson UnitTest++\src M 180 168 llopis UnitTest++\src\TestSuite.h 180 168 llopis Un…

あちら側のローカルアプリ化(SSB)

いろんなサービス(Gmail,紙copy.net, ブログ編集ソフト)がWebから利用できるようになって便利だが、なんだかどれもバリバリ使う気になれなかった。 理由は、ブラウザ上での作業が割と不便だったため。 他のタブを開いたり閉じたりしているうちにうっかりその…

UnitTest++

Exploring the C++ Unit Testing Framework Jungle2004年時点のC++テストフレームワーク比較記事。理想的なテストフレームワークを求めて、CppUnitとその後継達を比べている。この記事は同じようにC++で何とかPainlessなUnitTestをしたい人々に参照されたよ…

WhoLockMeよりUnlockerの方が使いやすい

時々、ファイルやフォルダの名前を変更したり削除しようとすると、「使用中です」と言われてしまう場合がある。 読み取り専用ではないファイルでこれが出た場合、大抵は他のアプリケーションが同じファイル・フォルダを開いているのが原因。 でも上のダイア…

コンソールアプリをデバッグ実行するときに、勝手に終了させないようにする(VC6)

単なる実行(Ctrl+F5)だとmainを抜けてもコマンドプロンプトが残ってくれるが、デバッグ実行(F5)をすると秒速で消えてしまって、printfした結果が見れない。 ユニットテストを書いているときは、いつでも最後に結果を目視したい。なので次のように書いてみた…

Parallelsのアダプティブハイパーバイザ

Parallels Desktop4.0 for Macの仮想マシン構成で「アダプティブ ハイパーバイザ」という設定項目がある。 デフォルトではチェックされていない。ラネクシーのサイトで日本語版ユーザーズガイドを見ても、何故かこの項目だけ説明がない。 英語版のユーザーズ…

Windows7 BetaはIEでしかダウンロードできない?

Windows7 Beta 64bitをParallelsにインストールするため、Safariでダウンロードしようとしたが、いつまでたってもダウンロードが始まらない。また混んでいるのかと思ったが、IEで試すとすぐダウンロードできた。 SafariだけでなくGoogle ChromeもNGだ。最初…