osiire’s blog

ふしぎなそふとやさん

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

FSM

GUI

http://d.hatena.ne.jp/dann/20070814/p1より。 FSMを使ったGUIアーキテクチャ。 http://www.objectmentor.com/resources/articles/taskmast.pdf まだ詳しく読んでないけど、どうやら私がチャートで作りこんだモデルはこれに近いようだ。

今年は仕事しすぎました

昨日の昼から熱出して吐いて倒れた。一晩苦しんでやっと回復。そしてすぐにBLOG巡り。 去年も同じ事を言ってたけど、来年は仕事の分量をもっと優先する。例え売上げが足りなくても。

博士号欲しかった

などと過去形で書いてるけど、まだ人生終わってないので、取れる機会を作っていくとしよう。まぁ無謀なのは分かっているので焦らず。博士が企業に敬遠されがちっていう傾向については統計資料も何も無いので分からないけど、妄想するに、 博士を採るならその…

ocaml-nagoya忘年会

忘年会参加の皆様、お疲れさまでした。忘年会でid:syd_syd氏に懐かしの"DownDown"のコードを見せてもらった上に、1chip-MSXで再現までして遊ばせてもらった。小学生の頃は意味も分からず書き写しただけだったけども、今読むととてもトリッキー&素晴しいコー…

ちゃっと

id:komamitsuさんに触発されて、concurrent cellを使ったチャットサーバーを作った。 http://www.itpl.co.jp/ocaml-nagoya/index.php?chat_server サーバーがいかなる状況でもロックしない&データを取りこぼさないという事を同時に実現しようとすると、concu…

Delimited Control

おおおおおおおおお。秒速で保存完了。 http://okmij.org/ftp/Computation/staging/circle-shift.pdf http://lambda-the-ultimate.org/node/3112

GUIの分野でオブジェクト指向が成功してるとか言ってるやつは、成功の意味が分かってないか、GUIが分かってないかのどちらかだ。 (GUIアプリケーション作成で徹夜後のぼやき)

振り返るとそこにパソコンとゲームと親がいた

プログラミングを始める11~14歳にオススメの言語は? | スラド デベロッパー私の場合はBASIC。というかプログラミングを学ぶのに重要なのは言語ではなく興味と環境。(なんでもそうだけど)。私の子供の頃のモチベーションはゲームで、MSXで雑誌に載ってた短…

いつのまにか

超絶忙しくて、3.11.0がリリースされていた事を昨日知った。ねむーい。

列多相な型を宣言

id:mzpが書かないようなので、私が書く。 OCamlでは、「int型のidというメソッドとstring型のunameというメソッドを持つ何か型」という書き方が出来る。例えば、 Objective Caml version 3.11.0+beta1 # open Format;; # let show (lst : 'a t list) = List.…

「革新的ソフトウェア企業の作り方」読了

Eric Sink on the Business of Software 革新的ソフトウェア企業の作り方 | Eric Sink, エリック・シンク, 青木 靖 | 本 | Amazon.co.jp 徹夜してるときに思わずぽちっとなして買った。読了。基本的に「製品」を開発して売るというビジネスモデルをやってるI…

自前のユーティリティ関数を晒してみる

let id x = x let (@@) f x = f x let ($) f g x = f (g x) let (!$) = Lazy.force let (+>) f g = g f let curry f x y = f (x, y) let uncurry f (x, y) = f x y let flip f x y = f y x let rec forever f x = let v = f x in forever f v let spawn_loop…

穴があったら入りたい

「穴があったら入りたい」ようなミスをしたことがありますか? | スラド Slashdotに聞け 会員向けにメールを自動配信するプログラムを書いてて、何を間違えたか、会員のメールアドレスがCcだかに含まれた状態で送られてしまうバグがあり、会員に他の会員のメ…

double -> int

QRectFにすべきところがQRectになってて、doubleがintにまるめられていたー。ぐわー。コンパイルエラーにしてくれー。何時間悩んだと思ってるんだーー。

ブロックの回避

OCamlから呼ばれるCの関数内によく書いてある、caml_enter_blocking_sectionとcaml_leave_blocking_section。なんとなく関数名から処理のブロックと関係があるんだろう、OCamlから呼ばれるCの関数の最初と最後に書いておくお約束なのかなーとも思いつつも、…

システム開発を複雑にしていると思われる要因ベスト10

ね・む・い。独断と偏見で選ぶ、システム開発を複雑にしていると思われる要因ベスト10。 閏とサマータイム(こいつのせいで、いま寝れない) 日本語の符号化体系(この前の障害の原因) 二進基数の数値表現(こないだのバグの原因) NULL SQLデータベース…

オブジェクト指向は広すぎ?

二つのオブジェクト指向とそれぞれのメリット - Smalltalkのtは小文字ですより、id:sumim氏によるオブジェクト指向講座を拝見。要約すると、OOPはADT(TAPLでいうところのADT)もπ計算のような分散計算も両方含めた概念ですという事なのだろうか?もしそうだと…

まわるーまーわるーよ♬

GUI作ってて、ユーザーの操作とプログラムからの操作が区別できないのは困る事がよくある。例えば、スクロールバーと画像表示が連動していたとして、ユーザーによってスクロールバーの位置が変わった事を知らせてくれるイベントを拾って画像の表示位置をずら…

排他的状態

排他的な状態を表現するにはバリアントを利用した方がいいと思う。例えば、ある描画可能オブジェクトがドラッグ中なのか変形中なのか、あるいはそのいずれでもないのか、これらは互いに排他的な遷移状態。だから、 type t = IDLE | DRAGGING | TRANSFORMING …

@?

とあるコードを読んでいて、@?でバッファをフラッシュしているところがあって、ちょっとハッとした。 fprintf std_formatter "hello world@?";; そういえば、pretty printerにそんなのがあったなーと。

The parallel GC

The parallel GC project has made a first proof-of-concept of a parallel GC in OCaml. It's an exciting step, but it's not clear to me where it goes from here, although we do expect to see a release of their current prototype. The performanc…

private abbreviation type

3.11のChangesには、 Introduction of private abbreviation types "type t = private ", for abstracting the actual manifest type in type abbreviations. と書いてある。意味は今までのprivate typesと同じなんじゃないかなー。private指定された型は、…

同じロジックを書く

同じロジックのコードを2度以上書くな 2008-09-22 - プログラミング日記よりこのテクニックはプログラマーには常識的に信じられている事だと思う。でも、私はあえて同じロジックを書く事が結構ある。特に最上位のアプリケーションレベルのコードの場合に多い…

キュート

やられたー。SLOTが存在しないのにコンパイル通るんだぁ。ところで、前から思ってたけど、イベントとかSIGNALとかってブロードキャストなんだよねー。誰が受け取るか分からないし、どういう順番で受け取られるのかも分からないし、その後どうなったのかも分…

fundeps

ocaml-nagoyaでid:syd_sydさんにHaskellの型推論のマニアックな機能について教えてもらった。型クラスに複数のパラメーターがあった時に、そのパラメーター同士の関係を明示する事で、より直感的な推論結果を導けるらしい。具体的にはfunctional dependencie…

C++って

すごいのかすごくないのか、よく分かりません。C++でまともにプログラミングするのは、学生の時以来(もう7年前?)。できる事なら(仕事では)関わりたくなかったというのがホンネ。でもやってくうちに何か学べる事もあるかもしれないので、楽しみ。修正: …

型は語る

OCamlで動いている、とあるバッチ系に障害発生。久しぶりなコードを追って日本語の処理の部分を一部変更して対処。疲れた。ところで、Haskellでは関数の前に型を書く習慣があるけど、OCamlにはない。これは見習うべきだと思う。今回久しぶりのコードを追って…

塩にびっくり

自宅で味の素の「やさ塩」ってやつを使ってて、たまたま成分表示を眺めてると、100gあたりナトリウム18g, カリウム27gと書いてある。 えー、カリウムの方が多いんだ!塩はNaClっていう固定概念は通じないんだぁ!http://www.ajinomoto.co.jp/yasashio/salt/i…

Realforce86U

ほしいー。USBじゃなければ切り替え機で即使えるのに。っていうか切り替え機をUSB対応にすればいいのか。

Batteries

OCamlの次世代デファクトスタンダードライブラリを目指すBatteriesがα1をリリースしたらしい。http://dutherenverseauborddelatable.wordpress.com/2008/10/11/ocaml-batteries-included-version-alpha/一応前から内容は見ていて、OCamlのベースライブラリを…