遅めに帰着。
speed-type。伸びない。
昼過ぎ起床。
掃除したり。
mcalendar.el弄り。なんとなくそれっぽい感じになったような。
広い画面を使ってアクセサリ表示すると、1ヵ月分だけのカレンダー表示では
物足りないなぁ?と思い、複数月表示したくなってみました。とは言え、
実際に最大ウインドウサイズでEmacsを使う事はほとんど無いのと、
あまり先の分までカレンダーを見る事もほぼ無いので、事実上の用途は無いかも
知れません。
因みに、Emacsを最大ウインドウサイズで使う事の無い理由は、Webの閲覧と
同時に使う場面が多いのに加えて、ブラウザは専用アプリを使う為です。
xwidget-webkit-browse-urlやewwが 普通のブラウザ
と変わらないくらいの性能になればEmacsを最大ウインドウで使う可能性も
無くはありませんが、まぁ当分無いかな?という気がします。
そんな訳で置いてみました。
御参考まで。
以前、EmacsのTRAMP経由でリモートマシン
のファイルにアクセスした時に、flymakeとgit-gutterを有効にしていると
ファイル読み込み途中で止まるという現象があったのですが、
git-gutterを20160210.28ってのにバージョンアップした所、
突っかかる事が無くなりました。素晴らしい。
昼過ぎ起床。
自転車修理のためにちょろりお出かけ。
ふと文房具を眺めていて、太い芯のシャープペンが気になってきたので
試しに買ってみたり。普段、紙へのラクガキは芯が折れないという理由で
鉛筆を使っています。折れる事そのものよりも、ゴミがそこら辺に飛ぶ
のが嫌という理由だったりするのですが。しかし時々削らなくては
ならないのと削ると短くなるというのが当たり前ですが欠点です。
で、0.9mmのを選んだのですが、割と鉛筆と変わらない線で良い感じに
思ったり。
思いつきでELISPで書いたカレンダーコードをいじり始めたら結構大変
だったり。
遅めに帰着。
Emacsのspeed-type
というタイピングゲームを始めたら、ムキになってやってしまう罠。
遅めに帰着。
ちょろり調べ事をして終了。
遅めに帰着。
先日開催されたTDF2016の結果がPouetに
挙がっていたり。
ストリーミングで見てた時は判らなかったのですが、
combined demoの1位作品って4kだったのか。スゲェ。
遅めに帰着。
帰路途中に自転車のタイヤが突如バースト。結構な音がしたのに驚いた。
てか、まだ火曜日なのに直しに行く時間が取れないので、金曜まで
歩きになってしまうよ。とほー。
遅めに帰着。
Web巡回して終了。
AM中に起床。ぐうたらしてたら午後も良い時間。
TDF2016。昨日よりは少し観られるようになった感じ?TANEの都合で
セミナーは観られませんでしたが。1時間押しでGLSL Graphics Compo
が始まったり。続けてCombined Demo Compoと、時々途切れてましたが
観られました。作品数が非常に多かったように思います。
そういや以前作成したCPU負荷表示のELISPを
少し直して置いてみました。
御参考まで。
昼頃起床。
TokyoDemoFest 2016が
本日スタートしていると思うのですが、ライブ配信は13:00時点で
まだ来ていないようだったり。セミナーとか見られると思ったの
ですが残念。
Emacs 25では、horizontal-scroll-bar-mode っていう横スクロールバー
モードがあるのを知ったり。ただ、テキスト表示ではスクロールバーと
カーソル位置との関係が連動してなくて(実際の位置はスクロールバー
でスクロールする前の位置にある)なんか微妙な感じが。画像表示
では、横スクロールバーは良い感じなのですが、逆に縦スクロールバー
の方が画像サイズに追従できてなくてダメな感じ。
Emacsでは一つの画像は、巨大な文字扱いになっているのですが、
スクロールバーは文字単位扱いなので、縦スクロールバーがダメ
という事なのかしら?
丁度14:00からTDF2016のライブ動画が配信され始めたり。でも、なんだか
まだ準備中という感じが。
しばらく観ていたのですが、音だけしか出なくなったり全然
内容を見る事ができず。セミナーもGraphicsCompoも全く観られません
でした。世界に向けてイベント自体を宣伝する事ができる
所なのに随分とお粗末な感じになっているのは勿体ないと思います。
久々にダライアスバースト。バーストカウンターの要領が未だに
掴めていないのですが、今日は比較的良い感じだったり。
で、何度もやっているとタイミングが合わなくなっていく不思議。
動画とか見ていると割と自由なタイミングでバーストカウンターを
繰り出しているように見えるのは何故なんだ?
たまたま見つけたファミコンのゴルフの
動画。
真意はともかくとして、ホールインワンがイーグルって表示
されているのに エー? と思ったりも。
そういやEmacsでテキスト中に画像を表示した際のスクロールやカーソル
の挙動がよく分からない時があるなぁ?と思ったので少し調べてみたり。
→
画像のカーソル位置が(2,7)なのは良い気がするのですが、その右隣が(1227,399)
になってます。どう扱っているのかやっぱりよく分かりませんが、
変な感じになっているのを変じゃない体で扱っているので、
その結果は変な感じになるという事なのかしら?
遅めに帰着。
ちょろり調べ事。
遅めに帰着。
ちょろり調べ事&コーディング。
遅めに帰着。
ちょろり調べ事をして終了。
遅めに帰着。
Web巡回して終了。
遅めに帰着。
Webを見ていて知った
Mirror's Edgeのスーパープレイ動画
(Mirror's Edge PC Speedrun [ 34m 49s ] World Record Single Segment)。ショートカットが行き過ぎてバグったりしてます(^^;
このゲーム、こんなに自由に動き回れるほど簡単じゃ
ないハズなのですが(^^;
で、5月に発売予定となっている「Mirror's Edge Catalyst」。PS3時代には
PC版でしかできなかったガラスの破片が飛ぶとか普通に表現されてます。
ただ、ゲームの難易度的に自分では多分どうにもならない感じに思うので、
上手い人のを見てみたいゲームかも。
AM中に起床。
そういえば、Cygwin 2.5.0のテスト版がリリースされているようですが、
2.x.xになってからマイナー版数がやたら上がるようになった気が
したりも。
Webを散策していたらGNU Parallel
なるソフトウェアの存在を知ったり。コマンドラインの並列実行をアシスト
するツールのようです。Cygwinパッケージにはなかったので、ソースから野良ビルド
してみたり。と言っても、本体はperlで書かれていた為、configure, make
してもほぼ何も行われなくて一瞬驚きました。
使用場面は色々考えられますが、ジョブを並列に実行した後、全ジョブの
終了同期を取って次のジョブを実行したい場合などに良い感じになりそうです。
$ ls -l 合計 48 drwxr-xr-x+ 1 TANE None 0 4月 22 2015 gcc-5.1.0 drwxr-xr-x+ 1 TANE None 0 7月 16 2015 gcc-5.2.0 drwxr-xr-x+ 1 TANE None 0 12月 4 22:21 gcc-5.3.0 $ parallel "tar cf - {} | xz -9c > {}.tar.xz" ::: gcc-5.?.0 ; echo "Complete compress" ; parallel "/bin/rm -rf {}" ::: gcc-5.?.0 ; echo "Complete Remove DIR" Complete compress Complete Remove DIR $ ls -l 合計 204060 -rw-r--r-- 1 TANE None 69505096 2月 14 21:54 gcc-5.1.0.tar.xz -rw-r--r-- 1 TANE None 69677244 2月 14 21:54 gcc-5.2.0.tar.xz -rw-r--r-- 1 TANE None 69763704 2月 14 21:54 gcc-5.3.0.tar.xz
昼頃起床。
/proc/statというファイルにCPU負荷に関する情報が入っているというのを
知ったり。そして、Cygwinでもそのファイルが有効な事を知ったり。
そんな訳で、EmacsでCPU負荷表示できないか?ともそもそとコーディング
してみたり。そういやperlのようにファイルを読み込んで一行ずつ処理
するってどうやるんだっけ?という基本的な所を知らなかったてのに
気づいたりも。
そんな訳で置いてみます
(sysmon_160213.tar.xz)。
コードの最初の方に簡単な使い方を書いてみました。
常時表示のアクセサリなので操作とかはできません(^^;
Cygwinの Emacsと FedoraのEmacsで動く事は確認しました。
暇つぶしに遊んでみてください。
そういや、バッファのフォントを小さくすれば、比較的小さなウインドウでも
解像度の高いCPU負荷表示になるんじゃね?と思ったのですが、
text-scale-set関数とかでフォントサイズを小さくしても、
window-widthやwindow-height関数で返ってくる表示行桁数が増えなくて、
なんか残念な感じだったり。
気持早めに帰着。
window-plusをアップデートしました。
ご参考まで。
あまりの眠さに休息停止。
一瞬起きてゴミ捨てて、ぐうたらしてAM中に起床。
Emacs 25。xwidget-webkit-browse-urlをもそもそと試してみたり。
Cygwinでビルドしたものは流石にYouTubeは観られそうにない感じ。
Fedoraでビルドしたものはなんとなく惜しい所まで行けてそうに
思ったのですがダメでした。
そういえば、clangで生成した実行ファイルを binutilsのobjdumpで
逆アセンブルできるものかしら?と思ったり。一応 llvm-objdumpという
llvm付属のobjdumpもあるのですが、binutilsのobjdumpとはスイッチ類が
全く異なります。で、比べてみるのですが、基本的にはbinutilsのobjdumpでも
llvm-objdumpでも 同じように逆アセンブルできるっぽい。
binutils objdump -------------- 004011a0 <_main>: 4011a0: 55 push %ebp 4011a1: 89 e5 mov %esp,%ebp 4011a3: 50 push %eax 4011a4: e8 1b 00 00 00 call 4011c4 <___main> 4011a9: c7 04 24 60 30 40 00 movl $0x403060,(%esp) 4011b0: e8 17 00 00 00 call 4011cc <_printf> 4011b5: 31 c0 xor %eax,%eax 4011b7: 83 c4 04 add $0x4,%esp 4011ba: 5d pop %ebp 4011bb: c3 ret llvm-objdump -------------- _main: 11a0: 55 pushl %ebp 11a1: 89 e5 movl %esp, %ebp 11a3: 50 pushl %eax 11a4: e8 1b 00 00 00 calll 27 11a9: c7 04 24 60 30 40 00 movl $4206688, (%esp) 11b0: e8 17 00 00 00 calll 23 11b5: 31 c0 xorl %eax, %eax 11b7: 83 c4 04 addl $4, %esp 11ba: 5d popl %ebp
気持早めに帰着。
xwidget-webkit-browse-url と window-plus。なんかうまくいったかも。
ウインドウ制御乗っ取り関数に inhibit-same-window という引数が
渡って来るのですが、関数の中では特に見てませんでした。
で、この変数がtの場合はsplit-windowsでウインドウを分割して
そちらに対象バッファを表示、nilの場合はカレントバッファのウインドウ
に対象バッファを表示するように変更してみると、うまく反応できるように
なりました。
inhibit-same-windowがnilだから、同じウインドウに表示せよという
つまるところ今回入れた処理の指示をしている変数名だったのかも。
今回のxwidget-webkit-browse-url以外にも、ウインドウを分割すると
ちょっと不便に感じる場面がなんか減った気がしたりも?
普段使いでもう少し試してみよう。
遅めに帰着。
Emacs 25。xwidget-webkit-browse-url と window-plusとの相性を
なんとかできないか少し考えてみたものの良い案浮かばず。
バッファをどのウインドウで開くかを display-buffer 関数内では
知る術が無いので、どんな場合でもsplit-windowを実行するという
のがwindow-plusでの苦肉の策なのですが、ここが都合が悪い感じに。
遅めに帰着。
Emacs 25。「M-x xwidget-webkit-browse-url」でブラウザが
開くらしい事を知ったり。で、X使用のCygwin Emacsで開いてみたところ、
一応開く事ができたり。
開くには開いたのですが、なんか色々と動きが怪しいような。
ページをバックスクロールするとエラーが出たり。
バックスクロールするのにxwidget-set-adjustmentという
関数の引数にスクロール量を負数で指定しているのですが、
負数をチェックしてエラーにしているようでした。
src/xwidget.c内のxwidget-set-adjustment関数から
「CHECK_NATNUM (value);」を削除してみたところ、バックスクロール
は問題無くなったり。
あと、リンクを開くとき等に必ずウインドウ分割されたり。
どうやら拙作のwindow-plusとの相性が悪い模様。window-plusを
使わなければ問題無さそう。リンク先を開く時に今のバッファを
利用するのではなく、新しいバッファを生成しているのかしら?
昼頃起床。
D言語で書かれた手持ちコードの中で、何か変な動きになっているのに
気づいたり。大体60fpsになるようにタイミング調節をしてOpenGL描画
を行うようなものなのですが、起動した直後はフレームレートが全然
出てなくて、途中からフレームレートが回復するというものです。
回復するタイミングに再現性が無く、数秒で回復する場合もあれば
ほぼずっとそのままフレームレートが出ない場合があったり。
因みに、タイミング調節をしなければ1000fps以上出るので、
描画が重い訳ではなく、何かしら構造上の欠陥があるのだろうと
推測しているのですが、何が原因か判らないというのが今の状況。
GCをdisableにしたり、途中でsleepを入れてスレッド衝突のタイミング
を変えてみたりしてみるも、現象に連動せず。うーむ?
掃除したり洗濯したり。
時間測定コードを入れて時間のかかっている箇所を絞り込んでみたり。
すると、OpenGL描画の〆に実行する「wglMakeCurrent( null, null );」
の実行に35ms以上かかっていたり。フレームレートが出るようになった途端に1ms以下
で実行できている(正しくは1ms以下で実行されるようになったからフレーム
レートが出るようになったなのですが)模様。なんだこりゃ?
そういや日産の車のCM。一瞬、自動運転が装備されたような説明に
聞こえるのですが、実際に付くのは自動ブレーキの方
なんだよね?というのが判りにくいように思ったりも。
AM中に起床。
GCCのWebページのNewsに「Heterogeneous Systems Architecture support」
という文言があり、なにそれ?と思ったり。
検索してみても日本語のページはほぼ出てこないようなのですが、
こちら
の記事によれば、AMDなどが中心になって2012年に設立された
HSA Foundationにより開発が進められている
GPUなどのアクセラレータとCPUを統合したシステムのプログラミングを
容易にするシステムアーキテクチャって事らしい。
GCCではOpenMPを使った何かのようなのですが、GPU上で動作する
コードを書けるという事では無いっぽい。
HSAの記事の後ろにXboxOneのCPUやKinectについての話があったので
すが、Kinectなんかスゲーって感じに思ったり
(記事)。
照明に影響されない画像が得られれば認識率がかなり上がるだろうと
推測されます。
Windows10では、「スタートメニュー→設定→ネットワークとインターネット」
から過去30日間の(通信)データ使用状況ってのが見られる事を知ったり。
使用状況の詳細からアプリ毎の通信量が見られるのですが、
我が家では以下のようになってたり。
ちょっ、うちのEmacsどんだけ!?
遅めに帰着。
数日テストして大丈夫そうな感じだったので、
美人時計ELISP
をアップデートしました(アーカイブは2/1付けになってます)。御参考まで。
あまりの眠さに急速停止。
遅めに帰着。
ちょろり調べ事。
そういえばgdcの2.067。最近ちょっとずつ更新されているようですが、
テストがあと数件で全て通りそうな感じっぽい。全て通るとmasterブランチに
マージされるのかな?
Emacs 25。そろそろxwidgetを試してる人が居ないかとWebを検索してみる
のですが、全然出てこなくて あれぇ?な感じだったり。
早くも無く遅くも無く。
Emacs 25。Cygwinのgdbを使うと、quit後 gdbがdefunctになって
しまうので、Fedoraの方でデバッグを試みてみたり。
xdisp.c内produce_xwidget_glyph()という関数に
it構造体を介して xwidget構造体が参照できるハズなのですが、
xwidget構造体へのポインタが変(nillではない変な値)になっていて、
アクセスしたらSegfaultという流れ。it構造体自体はそれなりの
物のようなので、xwidgetのポインタが正しくセットされていない
模様。どこでセットされるものなのかは分からず。
因みに、以下のようなELISPコードをscratchバッファ上でC-jで
実行したら、1回目はなにやらLISPエラーになるのですが、2回目の
実行でSegfaultになります。
(put-text-property (point) (+ 1 (point)) 'display '(xwidget :xwidget-id 1 :type 'webkit-osr :title "1" :width 40 :height 50))
遅めに帰着。
そういえば、ちょっと前にlibphobosの
コードのversion分けにおいて、「最後の「!GNU 且つ !Windows 且つ X86_64」って
どういう時に通るんだ?」という事を書いたのですが、よく考えてみれば
DMDってOSXやFreeBSDなんかもサポートしているから、その時に
「!GNU」を満たすのかも?と思い直したりも。
Emacsのgitリポジトリからmasterブランチをcloneしてビルドしてみたり。
でも、先日のxwidgetを使った場合のSegfaultは解決せず。
そういえばバージョンが25.1.50になってたり。あれ?次は25.2で出すの?
ナンバリングの仕方がイマイチよく判りません。
Fedoraの方でもビルドを試してみたり。色々develパッケージが足りなかった
のをインストールしてほどなくビルド完了。で、Cygwinのそれと同じ事を
試してみたのですが、同じようにSegfaultしたり。てことは、Cygwinだからとか
Windowsだからダメという訳では無さそう。
早めに帰着。
Emacs美人時計のロックの件。自動ロック開放のカウンター制御を間違えて
いたのを直したり。テスト中、何度かロック中の起動がかかっていたの
ですが、自動タイムアウトの方は発動していない模様。
deferredのタイムアウトが効いているっぽい?もうしばらく様子見。