Entries from 2012-01-01 to 1 year

48.Slow Rendering - WebKit porting to Mona OS

Logged out http://twitter.com/ is rendered very slowly on my WebKit port. I did printf debugging. And finally found ShadowBlur::blurLayerImage took a few hundreds msec. It's extremely slow! Following three loops are slow. "sum+= ..." was e…

難易度Aに突入 - リスニング難易度 A+

聞きとり自体が難しいというよりも知らない表現、知らない事件が多い。という印象。もう少し様子を見てみよう。

Joke その3 - リスニング難易度 A+

毎日続けていますがつい書きそびれてしまう。Joke その3 。全然聞き取れないので心配したが読んでもよく分からなかったので安心(?)

47.Logged in at twitter.com - WebKit porting to Mona OS

Yay, logged in successfully at twitter.com from my WebKit port. But we have still many many errors. And it takes about 30 seconds to log in, which I should check what is wrong. TOC 0. Table of Contents - WebKit porting to Mona OS

46. A bug on repaint flow - WebKit porting to Mona OS

Finally, I understand why my WebKit port crashes on doDeferredRepaints. Here are steps to repaint. (1) FrameView::doDeferredRepaints (2) ScrollView::scrollContents (3) ChromeClient::invalidateContentsAndWindow (4) WevView::paint (5) FrameV…

Joke その2 - リスニング難易度 A+

2人のボーイフレンドがいる女性の話。1人目のボーイフレンドは cute で服装もおしゃれ、毎晩フットマッサージしてくれるし悩み相談にも乗ってくれる。じゃあ2人目は?という Joke 。オチはまあまあ面白かったです。

mustache-mode を入れた

https://github.com/mustache/emacs 。

MSG_TIMER をまとめるのはやめた

色々うまく動かない例が出たので。

人生のターニングポイントについて - リスニング難易度 A+

難易度 B 。女性ゆっくり話すので楽。

人類最高の発明は何か? - リスニング難易度 A+

難易度 B 。老婆がゆっくり話すので楽。彼女はテレビと答えた。たしかに。

JavaScript パターンは良い本でした

僕は JavaScript ネイティブではない。なのでこの本に書かれている内容がとても役に立った。名前空間、遅延ロード、クラシカル、モダンな継承、mixin などがまとまっていてありがたい。気になる人は目次を見て知らないことが多かったら読んでみると良いかも…

Give me a laugh - リスニング難易度 A+

アメリカンジョークの聞きとり。正直面白さが分からなかった。

Timer API の話続き

Windows の Timer Message や Message Queue に関してドキュメントを読んだ。いくつか興味深い話があったのでメモ。 Queue Size のデフォルトは 10000 。Mona は 1024 。 WM_PAINT, WM_TIMER, WM_QUIT 以外は Queue の最後に追加される。 WM_PAINT, WM_TIMER…

死んだらどうなると思う? - リスニング難易度 A+

女性芸術家。おばあちゃんのようにゆっくり話す。難易度は B 。I think that I merge with God. だそうです。 p リスニング難度A+―街を行くアメリカ人の声 (CD付)posted with amazlet at 12.03.05イヴ・ローゼンブルーム リント 売り上げランキング: 58263Am…

後悔していることは? - リスニング難易度 A+

おばあちゃん?。難易度は B 。あまり信頼できないと直感的に感じたベビーシッターに娘を預けたことを後悔。って話重い・・・。

Timer API の悩み

Timer API で悩む。今の Mona のタイマーは指定時間後に MSG_TIMER というメッセージが飛んでくるという API 。受け手側がこのメッセージをハンドルし、タイマー発火後の処理を書かないといけない。この方式は Mona のマイクロカーネルメッセージングと大変…

Mona の Timer API の問題点

API は以下の 2 つ。 set_timer(intervalMsec) returns timerId kill_timer(timerId) set_timer 後は intervalMsec 毎に MSG_TIMER がそのスレッドのメッセージキューに放り込まれる。kill_timer でタイマーを破棄すれば MSG_TIMER は飛んでこなくなる。今ま…

45. JavaScript Console - WebKit porting to Mona OS

Supported JavaScript console, which show console.log and errors. It's easy, just override ChromeClient::addMessageToConsole function. Thanks to @filil_tech. TOC 0. Table of Contents - WebKit porting to Mona OS

アメリカのどんなところを誇りに思う? - リスニング難易度 A+

男性。難易度は B 。比較的聞き取りやすい。As far as が好きだなあ。今回から聞きとり結果の数字はとらない。面倒だから。 リスニング難度A+―街を行くアメリカ人の声 (CD付)posted with amazlet at 12.03.05イヴ・ローゼンブルーム リント 売り上げランキン…

購入「リスニング難度A+―街を行くアメリカ人の声」

リスニング難度A+―街を行くアメリカ人の声 (CD付)posted with amazlet at 12.03.05イヴ・ローゼンブルーム リント 売り上げランキング: 58263Amazon.co.jp で詳細を見る

ガリバー旅行記

飛行機で暇だったので青空文庫のガリバー旅行記を読んだ。以前から面白いと聞いていたのだ。想像していたのとは全然異なる内容で、それがとても面白かった。 第一、小人国(リリパット) 第二、大人国(ブロブディンナグ) 第三、飛島(ラピュタ) 第四、馬…

Emacs で popwin.el 使い始めた

例の anything.el と組み合わせて popwin.el を使い始めた。 ところで僕も anything.el の目線移動が苦手で以下のブログを見つけたのですが、現在の anything-show-completion の情報はどこを見れば良いのかな。anything-show-completion.el 最新版の使い心…

Twitter に入社しました

Twitter に入って 1 ヶ月が経ちました。現在研修やらでサンフランシスコに来ています。小さいながらも自分が書いたコードが Twitter 上で動いているのを見るのはとても不思議な感じ。 Twitter の Username は @higepon なのでぜひフォローしてね。

44. Show loading status on status bar - WebKit porting to Mona OS

When you click one of links on your browser, you will see some kind of loading status such as "Sending request..." or "Waiting...". They are much more important than you think. Without them, you can't know whether loading starts or not, an…

xyzzy のマルチフレーム版が出たみたい

xyzzy / wiki / Home ― Bitbucket。xyzzy を愛用している皆さんはぜひ使ってみてね。

43. Status bar - WebKit porting to Mona OS

TOC 0. Table of Contents - WebKit porting to Mona OS

42. Changing Mouse Cursor when hover- WebKit porting to Mona OS

When you move mouse cursor to a link on browser, the cursor changes. This should be implemented on Webkit for MonaOS.At first step, design you cursor. Using M-x picture-mode on Emacs, drawn and designed a cursor. Then added API for changin…

Emacs の anything.el を導入してファイル名の一部しか覚えていないファイルを簡単に開く

背景と動機 WebKit をいじっているとファイルの階層が深い。find-file でファイルを探すのが面倒。一度でも開いたことのあるファイルなら find-file のヒストリから簡単に開けるがそれでも大変だ。理想としては「えーと。ファイル名に Event と Mouse と Pla…

41. Handling Mouse Event - WebKit porting to Mona OS

Handling mouse event is almost same as keyboard event. All you have to do is Define PlatformMouseEvent constructor for your port Handle your native MouseEvent on WebView then convert it PlatformMouseEvent Pass PlatformMouseEvent to Focused…

40. A problem on invalidateContentsAndWindow() - WebKit porting to Mona OS

On some of WebKit ports, layout function such as FormView::updateLayoutAndStyleIfNeededRecursive() is called in ChromeClient::invalidateContentsAndWindow. But in at least Mona port, it causes some kind of bad recursive call of void FrameVi…