2008-07-01から1ヶ月間の記事一覧

swfでABCが実行されるまでの流れ

swfmillとバイナリエディタを活用していろいろ試してみた。 普通にmxmlcでコンパイルするとActionScriptをコンパイルしたABCはDoABCタグに含まれる。ただ、kLazyInitializeFlagが立っているので、ロードしただけでは実行されない。仕様書には「finddef」によ…

swfのフレームアンカーがおもしろそう

swfの仕様書を読んでいて気がついたんだけれども、FrameLabelにNamedAnchorFlagというのがある。 これが1だと、HTMLからそのフレームにhoge.swf#framelabelでアクセスできるようになる。さらに、FlashPlayerがそのフレームに到達すると、URLも書き換わる。こ…

HHKを掃除したよ

テスト前なので、HHKの掃除をしてみた。普通のキーボードだったら全部引き抜いて掃除して戻せばいいけれど、無刻印なのでそれができない。ただ、同じ列ならキーの形が同じらしいので、列ごとに分けておけば大丈夫。 あと、キートップを抜くのにはhttp://www.…

SWFをダンプしてみた

SWFの仕様書とHello,worldのダンプを見比べてみた。あいかわらず、アンドキュメントな仕様があるっぽいな。 使ったHello,worldはこんなの。 package{ import flash.display.*; import flash.text.*; public class Hello extends Sprite { public function He…

swfからabcの切り出し

swfからabcを切り出してディスアセンブルする方法は、OSS で SWF をデコンパイルする(2) - swfassist と abcdump で亜流デコンパイラ - てっく煮ブログ 跡地あたりに書いてある。ただ、AIRが必要だったり、入力ファイル名が固定だったするあたりが嫌だったの…

SWFを勉強しよう

そろそろSceme-abc - みずぴー日記で、Flashを作りたい。そのためにはswfファイルの仕様について知らないといけないので勉強しようと思う。 以下、参考リンク。 SWF File Format Specification - 仕様書。とりあえず印刷したので、ファイル構造に関するとこ…

OSC nagoyaの発表時間が決まったらしい

オープンソースカンファレンス2008 Nagoya - ハックの日(8/9)は、名古屋へ 行こみゃぁ!OSC nagoyaでid:yoshihiro503さんの発表する日程が決まったらしいです。 2008-08-09 (土) OCamlでらくらく関数型プログラミング 講師:今井 宜洋(ocaml-nagoya) …

クレジットカードを使わずにAmazonの料金をネットで支払う方法

クレジットカードを持つのは怖いけど、Amazonの支払いにコンビニまで毎回行くのが面倒なみなさん、こんにちは。 UFJダイレクトなら、クレジットカードがなくてもネットでお金が払えますよ。 1.UFJダイレクトに契約する まず、UFJダイレクトに契約する。 自分…

irssiいいじゃん

TwitterもMSNもIRCにまとめちゃう - みずぴー日記でがんばって、TwitterをMSNもIRCで使えるようにした。で、コンソールで使えるIRCクライアントのirssiがいい感じ。Emacsのバッファみたいな感じのウインドウというものがある。複数のチャンネルをCtrl-p、Ctr…

UbunutuのCDを作った

画像: DIYMarketing - Ubuntu Wikiこの前、HP 2133に入れるためにUbuntuをCD-Rに焼いた。これに、汚ない字で「Ubunutu 8.04」とか書くのは嫌だったので、ちゃんとしたラベルを印刷してみた。ついでに、だいぶ前に焼いた7.04のほうもラベルを印刷しておいた。

TwitterもMSNもIRCにまとめちゃう

TwitterやMSNメッセンジャーをターミナルで使いたいなぁ->ターミナルで使えるチャットソフトといえばIRC->TwitterやMSNメッセンジャーのゲートウェイを使おう、というわけで色々試してみた。この図のように サーバ上でTwitterのゲートウェイ(tig.rb)とMSNの…

Problem 60 - Project Euler(途中)

30分プログラム、その341。Problem 60 - Project Euler。 前回のやつではうまく行かないので、ちょっと変更してみた。キューを使った幅優先探索。でも、これもダメみたい。 使い方 $ python problem60.py ソースコード #! /usr/bin/python # -*- mode:python…

polipo入れてみた

w3mユーザ必携らしいのでpolipoを入れてみた。 $ sudo port install polipoで入れたあと、w3mのプロクシにhttp://localhost:8123を設定した。あと、起動時に自動で立ち上がるようにlaunchdに組み込んでおく。 /Library/LaunchDaemons/polipo.plistに

Problem 60 - Project Euler(途中)

30分プログラム、その340。Problem 60 - Project Euler。 素数判定の方法を変更してみた。きっとこれなら上手くいつはずだ。とりあえず、しばらく走らせてみよう。 使い方 $ python problem60.py ... ソースコード #! /usr/bin/python # -*- mode:python; co…

ByteCodeDisassemblerを作ってます

http://www.libspark.org/browser/air/ByteCodeDisassemblerscheme-abcをswfを吐けるようにしたい。というわけで、as3/ByteCodeDisassemblerをAIRに移植しつつ勉強してます。とりあえず、SWFの仕様書は印刷してみました。

Problem60 - Project Euler(途中)

30分プログラム、その339。Problem 60 - Porject Euler。id:mzp:20080713:eulerの続き。 エラトステネスの古いが、再起が深すぎてRuntimeエラーがでてしまうのでwhileで書き直したりしてみたけれど、そもそもこれだと遅すぎで全然解けない。別の方法を考えな…

契約によるプログラミングとQuickCheckは相性がいいんじゃないだろうか

EffeleとD言語ぐらいしかサポートしている言語は知らないけれど、契約によるプログラミングというのがある。(噂によるとassertさえあれば、契約によるプログラミングだ、と言いはってもいいらしいけど。) これを使うと、関数に入るときに満しているべき事前…

w3mでもFastladderが読みたい!

w3mでもFastladderが読みたい。でも、touch用のインタフェースを使おうにも、w3mはFastladderを相当嫌って This cookie was rejected to prevent security violation.と言われて、ログインすらできない。参考。 w3mにパッチをあててこれを回避したりするのは…

Problem 60 - Project Euler(途中)

30分プログラム、その338。Problem 60 - Project Euler。 素数3, 7, 109, 673は非凡な性質を持っている. 任意の2つの素数を任意の順で繋げると, また素数になっている. 例えば, 7と109を用いると, 7109と1097の両方が素数である. これら4つの素数の和は792で…

w3m

最近、またw3mを使い始めました。HP 2133みたいな小さいマシンには、Firefoxとかよりもw3mのほうがあっている気がしたので。 google コマンドラインから、Googleで検索できるように簡単なシェルスクリプトを書いた。bashとかで配列をjoinする方法がわからな…

Probelm 59 - Project Euler

30分プログラム、その337。Problem 59 - Project Euler。 (訳者注: 文字コードの説明は適当です) 各文字はそれぞれ一意のコードに割り当てられている. よく使われる標準としてASCII (American Standard Code for Information Interchange) がある. ASCIIでは…

Problem 58 - Project Euler

30分プログラム、その336。Problem 58 - Project Euler。 1から初めて, 以下のように反時計回りに数字を並べていくと, 辺の長さが7の渦巻きが形成される. 37 36 35 34 33 32 31 38 17 16 15 14 13 30 39 18 5 4 3 12 29 40 19 6 1 2 11 28 41 20 7 8 9 10 27…

入門Cocoa

入門Cocoa作者: Inc. AppleComputer,長瀬嘉秀,テクノロジックアート出版社/メーカー: オライリー・ジャパン発売日: 2002/03メディア: 単行本 クリック: 13回この商品を含むブログ (9件) を見る入門Cocoaが読み終わった。やっぱ技術書は、こういう網羅的なや…

Problem 57 - Project Euler

30分プログラム、その335。Problem 57 - Project Euler。 昨日(id:mzp:20080706:euler)の修正版。冷静に見直すと動的計画法がうまくできてなかった。それを直したら、再帰に関する例外も消えたし、速くもなった。 使い方 $ python problem57.py ... 951 956 …

JaneStreet coreを使ってみた

多相なSetが使いたかったので、Janestreet coreを試してみた。一番分かりやすい変化は、mapとかがラベル付き引数を取るようになっている。 val map : 'a list -> f:('a -> 'b) -> 'b list なので標準ライブラリと同名でインタフェースが違うモジュールがたく…

Problem 57 - Project Euler

30分プログラム、その334。Problem 57 - Project Euler。 2の平方根は無限に続く連分数で表すことができる. √ 2 = 1 + 1/(2 + 1/(2 + 1/(2 + ... ))) = 1.414213...最初の4回の繰り返しを展開すると以下が得られる. 1 + 1/2 = 3/2 = 1.5 1 + 1/(2 + 1/2) = 7…

HP2133 mini-note買ったよ

b:id:dmp939に名古屋 - マル得速報!-にHP2133が載ってるよ、と言われたので行ってきた。まさか本当に買えるとは。とりあえずデフォルトのWindowsを試してみたけれどやっぱり無理なので、さっさとUbuntuを入れよう。LaptopTestingTeam/HP2133 - Ubuntu Wiki…

Problem 56 - Project Euler

30分プログラム、その333。Problem56 - ProjectEuler。 Googol (10100)は非常に大きな数である: 1の後に0が100個続く. 100100は想像を絶する. 1の後に0が200回続く. その大きさにも関わらず, 両者とも桁の和は1である. a, b 自然数abを考える. 桁の和の最大…

Problem55 - ProjectEuler

30分プログラム、その332。Problem55 - Project Euler。 47とその反転を足し合わせると, 47 + 74 = 121となり, 回文数になる. 全ての数が素早く回文数になるわけではない. 349を考えよう, 349 + 943 = 1292, 1292 + 2921 = 4213 4213 + 3124 = 7337 349は, 3…

はてなTシャツ欲しい!

はてなTシャツ欲しい! id:mallowlabsさんとペアルックがしたいです。