デフォルトのテキストエディタを設定するメモ

Mac

なんでもかんでもTextEditが開いてうざい、私はTextWranglerを使いたいんだ、という話。 もちろん拡張子ごとに「このアプリケーションで開く」の「すべてを変更...」ボタンを押しまくればいいのですが、テキストエディタで扱う拡張子なんて無数にあるわけで…

svn:externals代替計画

git

個人的なソースコードはsubversionに全部突っ込んでまして、それなりに便利に使ってたのですが、時代の流れと共にいろいろ不都合が生じてきました。具体的には1.7系列にしたらsvkが動かなくなったのでオフラインコミットができなくなったり(将来的に本家で実…

ビルドツールの仕事

最近、クロスリファレンスツール(gnatfindとかocamlspotなど)はビルドツール(gnatmakeとかocamlbuildなど)に内蔵されているべきと思うようになってきました。 だってビルドツールはソースの位置とか中間ファイル(大抵クロスリファレンスに必要な情報も持って…

ocamlbuildのメモ

参考URL: http://brion.inria.fr/gallium/index.php/Using_an_external_library酷評されているocamlbuildを使ってみましたので忘れないうちにメモ。その1main.mlがあったとします。 $ ocamlbuild main.native_buildという作業ディレクトリが作られて、なんや…

std::stringはもっと速いはず?

http://d.hatena.ne.jp/shinichiro_h/20100823#1282563465の例は参照カウンタを活用すればstd::stringはもっと輝けるはずだ、clear();append(dir);ではなくてassign(dir);すればもっと速いんじゃないか、という実験。パターン1 void JoinFilePathStr(string …

4.7がStage 3に入ったので試してみた

2012対応状況 use all type → 「変数 := 式;」の形の式の部分でのみOK。 Implicit_Dereference → 関数呼び出しの返値でのみOK。 range-based for(違) → OK、ありえんぐらい酷いコードが出てくるけど動く。Ada.Iterator_Interfacesもちゃんとある。 operator …

Delphiの文字列並の効率を実現できるようにUnbounded_Stringを改造したい

Ada

何度も書いてますが、言語組み込みの文字列とライブラリ提供の文字列では効率に天と地の差があります。C++みたいになるべく自然に使えるように努力している言語ですら、その差は到底埋められていません。ましてやAdaのUnbounded_Stringなんて(略)ですよ。 De…

RSSアンテナ作りました

http://panathenaia.halfmoon.jp/birdeyes/やっぱり何番煎じかわからないのですが……。愛用させていただいていたI knowが終了してしまって困ったことは、「複数のRSSをまとめた結果をRSSとして再出力できるWeb上のRSSリーダーがない」ということでした。(ダッ…

おぼえてない

-

libxml2は更に酷かったという話

C

先述の循環参照への対応は実装しました。これでもうopaque typeが変な使われ方をしていても大丈夫!ええ、めんどくさかったですが。 でも、libxml2には更にその先があったのです……。xmlregexp.h /* 宣言A */ #include <tree.h> /* 宣言Bを使う */ tree.h /* 宣言B */</tree.h>…

Exceptional C++を焚き付けにする話

C

引きずって申し訳ありませんが、先のranhaさんの発表を聞いて以来、Exceptional C++を読み返しています。 で、116ページでとんでもない文を見つけてしまいました。 先行宣言で十分な場合は、決してヘッダをインクルードしないこと。 とんでもない!この一文…

エラーハンドリング勉強会

の懇親会?みたいなのが無かったので(まあ私は聴講者その1に過ぎなかったのですが)、発表者のranhaさんと、nihaさんとeldeshさんを呼び出して(なんという不遜、なんという豪華メンバー)秋葉原で適当に話してきました。ありがとうございます。覚え書き。C++0x…

catch(...)とかwhen othersとか

こういう「すべての例外を受け取る」機能って、本当にすべての例外を受け取れるとは限りませんよね……。もちろん実装次第ではあるのですが。 具体的には「他の言語ランタイムから投げられた例外」。g++とgcjとGNATで関数ポインタ交換しあって例外投げまくった…

エラーハンドリング勉強会

明日はhttp://partake.in/events/9874b92a-4cf0-4a20-a3fe-951239da5612に出かけること忘れるな俺。あれ……↓の広告はなんでしょう?今までこんなのが入った記憶は無く。

ところで

Ada

http://www.ada-auth.org/standards/12rm/html/RM-A.htmlを眺めていて、Wide_やWide_Wide_バージョンが必要な大抵のpackageはAda.直下にWide_なんとかがあるのですが、StringsだけAda.Strings.Wide_なんとかの形になる(他と同じならAda.Wide_Strings.なんと…

Ada2012で追加される文字判定サブプログラム

Ada

http://www.ada-auth.org/standards/12aarm/html/AA-A-3-2.htmlIs_Line_Terminator, Is_Mark, Is_Other_Format, Is_Punctuation_Connector, Is_Spaceが追加されます。Unicodeカテゴリともちょっと違うようですし(ていうか素直にIs_XXXをUnicodeカテゴリの全…

i-knowサービス休止

http://blog.i-know.jp/archives/2011/08/04/i_know_suspend/今までお世話になりました。 細かいことなんですが、各rssから最新の1件だけを取り出してひとつのrssにまとめてくれるのが便利だったんですよね、i-know。さて、どこに移行しよう……。(というのを…

たまにはOOP

Ada

定期的にAda 95のRationaleを読み返したくなります。http://web.archive.org/web/20020607043031/http://www.tsujiken.ee.kogakuin.ac.jp/jada95_02.htmlこのRectangle(四角)からCuboid(立方体)を派生させる例、OOPの入門としては犬猫動物並によくあると思う…

本当は天気を書いておきたかっただけ

にわか雨がいつ降るかわからないので出かけられない。(言い訳)

--;

--;

例外

gistのはてなダイアリー埋め込みテストも兼ねて。LLVMでの例外の扱いは基本的にgccと同じようです。libgccを使って投げた例外を受けることができます。 gccの例外をゼロから実装するにはぱーそなりてぃふぁんくしょんというとても面倒な関数を書かないといけ…

極限脱出 9時間9人9の扉

間違いなく埋もれた名作です。 それも、事前になるべく情報を仕入れないでプレイするべき種類のゲームです。 ただし、これを名作と思えるには、ひとつのネタバレ(?)をあらかじめ把握している必要があります。ムジュンしてると思われるでしょうが、書かせて…

……orz

gcc-4.6のAda2012対応状況メモ

gcc

試した分だけ。コンパイルには-gnat2012が必要。 function F return Integer is (0); 通る。便利になりましたね。 use all type 構文としては通ります、しかしまだ効果はuse typeと同じ aspect 型にのみ付けられるっぽいです。aspect.adsを見る感じ既存pragm…

コンストラクタとデストラクタの謎の挙動まとめ

完璧に余計なお節介ですが、id:mole-studioさんが迷っておられてます*1ので、死んだ知識ではありますが。ちなみにDelphi7ぐらいの知識で書いてますので最近のことはわかりません!Delphiのconstructorは、外からみるとクラスメソッド、中からみるとインスタ…

gist

gistというのがなんだかよくわかりませんが素晴らしいみたいですので、折角githubに登録したので、遠い昔アルゴリズムの勉強用に書いたコードを貼ってみました。もし無量大数が一、必要な人の検索に引っかかったら嬉しいなあぐらいで。https://gist.github.c…

記号の配置を考えろ

Key

久しぶりに戯言です。

あー、一ヶ月何も書かなかったな……。

書いてみよう

Mac

MacBook Air 11インチ欲しい!です。ちなみに宝くじは買わない派。