ログイン
編集不可のページディスカッション情報添付ファイル
"clear/note/2011-04"の差分

MMA
32と33のリビジョン間の差分
2011-04-16 13:51:15時点のリビジョン32
サイズ: 7575
編集者: clear
コメント:
2011-04-16 15:19:06時点のリビジョン33
サイズ: 7958
編集者: clear
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
== 2011/04/01 == = 2011年4月 =
==
04/01 ==
行 45: 行 46:
== 2011/04/03 == == 04/03 ==
行 52: 行 53:
== 2011/04/05 == == 04/05 ==
行 57: 行 58:
== 2011/04/07 == == 04/07 ==
行 66: 行 67:
== 2011/04/08 == == 04/08 ==
行 80: 行 81:
== 2011/04/10 == == 04/10 ==
行 96: 行 97:
== 2011/04/11 == == 04/11 ==
行 99: 行 100:
== 2011/04/12 == == 04/12 ==
行 103: 行 104:
== 2011/04/13 == == 04/13 ==
行 111: 行 112:
=== 2011/04/15 === == 04/15 ==
行 116: 行 117:
=== 2011/04/16 === == 04/16 ==
行 119: 行 120:

=== admotions ===
テスト。文章は完全にネタなのでスルー推奨
{{{#!wiki note
メインシステム、戦闘モード起動
}}}
{{{#!wiki tip
AC用パーツを入手
}}}
{{{#!wiki warning
南東に敵増援を確認
}}}
{{{#!wiki caution
AP50%、機体ダメージが増大しています
}}}
{{{#!wiki important
作戦目標クリア。システム、通常モードに移行します
}}}

2011年4月

04/01

  • 4月になってしまった
  • kagisysは私がモタモタしているうちにハードウェアの方が進んできているので、そちらに歩調を合わせます
  • いい加減勉強する。コードを書く
    • socket programming
    • X11 programming

Synaptics touchpad driver

タッチパッドのレスポンスが以前からよろしくない気がしていたので、synapticsのmanを読んだりここを読んだりしていた。MinSpeedMaxSpeedの値をいじれば良さそうな気がするが、試しに適当に変えてみてもあまり変わった気がしない。静的なパラメータの変更はxorg.conf.d/10-synaptics.confに書けばできる。またsynclientコマンドを使えば動的に設定可能。もう少しパラメータの意味を探る必要あり。

X11、はじめました

とりあえずウィンドウを出す所までは行った。Win32APIを叩いていた頃の記憶がよみがえるような気がする。手始めに練習として、xmma(MMAのロゴを表示する。元ネタは言うまでもなくxlogo)を作ろうと思う。

  • どうやら、Win32APIの勘が結構生かせそうなので対比で学んでいくことにする
  • 何よりも最初にXサーバとの接続を行う。XOpenDisplay() <-> XCloseDisplay()

  • とりあえず何でも送られてくるWin32とは違って、欲しいイベントを最初に通知しておく
    • 拾わなかったものはどうやら祖先に送られるらしい
    • MappingNotifyイベントは問答無用で全てのクライアントに届くらしい。これがどういうものかはまだ分からない

  • XEvent共用体というのがWin32でいうところのMSG構造体に当たるようだ。何か凄まじい宣言がなされている。以下Xlib.hから引用

    typedef union _XEvent {
            int type;               /* must not be changed; first element */
            XAnyEvent xany;
            XKeyEvent xkey;
            XButtonEvent xbutton;
            /* 中略。たくさんある */ 
            XGenericEventCookie xcookie;
            long pad[24];
    } XEvent;
    
    • XなになにEvent構造体はすべて先頭の要素にtypeを持っているために、typeを見ることでどのイベントか判別できるようだ

      • 個人的には、それをやるなら以下のようにするかなあと思うけど、まあ面倒になるだけか
        typedef struct _XEvent {
            int type;
            union {
                XAnyEvent xany;
                /* ... */
                long pad[24];
            } u;
        } XEvent;
        
    • long pad[24];は境界整合性を確保するための詰め物か。unionなので、他のメンバがpadより小さければXEventのサイズはpadのサイズに従うはず

04/03

日々の記録(これ)の公開範囲を広げた

  • 公開しても問題なさそうなものの方が多いことに最近気づいたので、外部から読めるようにした
  • ページを再構築

04/05


04/07

  • 百萬石Web公開した(4/6)。後で色々まとめてEditHyakumangokuにマージする。

テキストエディタ

最近emacsを使ってみようかと思い始めている。あれこれ論評できるほどemacsを使っていない、というのが主な理由。vi(m)も活用できていない機能が多い。viで修行することも考える。

const

XpmReadFileToPixmap()の第3引数filenameconstのないただのchar *だったせいで、const char *なものを渡したら当然"invalid conversion"エラーが出る。かといってただのchar *に文字列リテラルを代入すると"deprecated conversion"警告が出るように、これはあまり良くない。C++なら、これはconst_cast<char *>の出番か。

04/08

  • Arch/kFreeBSD、やってみるかなあ
    • google先生に聞くと、Archのフォーラムの他にDebianのarchパッケージがわんさか出てくる。たぶんこっちのarch

    • ローリングリリースがネックとなりそう
  • 少し前に試して分かったことだが、Archの/etc/rc.d/以下のスクリプトはbashの文法に依存している。動作が早くならないかなーとか言ってshとかdashに変えてはいけない。

  • muttの設定を施そうとして挫折した。muttrcでencodingを指定してもeuc-jpで送られる……

    • どうもvimのエンコーディング設定(euc-jp)が上書きされている気がする
      • やっぱりそうだった
        :set fileencoding=iso-2022-jp
      • 毎回設定するのは面倒なので、自動設定する方法を探さねば
        • autocommandとかかな

04/10

  • Uターンには気を付けよう
    • 油断するな
  • なんとなく家のマシンでVirtualBoxにArchを入れて遊ぶ

    • nestのVirtualBoxに入れる場合、blueをfedoraに取られてしまった

      • 別に色に縛られる必要はないか
      • nestの元ネタであるところのACネタなら、候補はいくらでも出てくるが
    • インストール途中で挫折。何か壊れてるよこれ
      • パッケージのインストールまでは成功したように見えたが、各種設定ファイルのテンプレートがことごとく空っぽ
      • 少し前にpacmanのデータベース形式が変わったが、使用したインストールイメージ(最新)はそれ以前のものなので、ここに問題がある可能性が高い
    • もう一回パッケージインストールをしたら途中から始まって上手く行った模様。良く分からない
    • その後は無事にインストールが完了して動いている、ように見える
  • もっと、もっとコード書こう
    • POJとかAOJとか活用するのも良いかも
    • 登録したまま放置してるTopCoderとか

04/11

  • 部室にあった「X Window ハンドブック」が非常に良さそう

04/12

04/13

mutt+vim、エンコーディングの設定

メール作成時に上がってくるvimで:set filetypeすると、どうやらファイルタイプは適切に設定(認識?)されているようだった。あとはfileencodingを適切に設定してやればよい。.vim/ftplugin/mail.vimに次の1行を書く。

setlocal fileencoding=iso-2022-jp

これでOK。vimrcfiletype plugin onしておく必要がある。

04/15

  • bcdppt(6)

    • 感動した
    • See Also: morse(6)

04/16

  • graphvizのdotへの入力はUTF-8でないといけないのか

    • 標準入力から読んでくれるので、nkf -wとか使って流し込めばいい

admotions

テスト。文章は完全にネタなのでスルー推奨

メインシステム、戦闘モード起動

AC用パーツを入手

南東に敵増援を確認

AP50%、機体ダメージが増大しています

作戦目標クリア。システム、通常モードに移行します

clear/note/2011-04 (最終更新日時 2011-04-30 19:17:27 更新者 clear)