2012-11-24

jQueryのキャッシュ動作について(IE8)

IE8でjquery.getをするとキャッシュがかなり長い間残ってしまうらしい。
そのため、キャッシュが原因でうまく更新してくれない時がある

そのようなときは、cacheをfalseにするとうまく動作するようだ。
  $.ajax({
    type:    'GET',
    url:     "/foo",
    cache:   false,
    success: succeedCallBackFunc
  });

2012-11-23

Hadoop入門


いつの間にかYoutubeで勉強できる時代になったようだ。

2012-10-14

Ruby nginx+passenger+padrino

ポイントは...
  • nginx+passengerを使おうとすると(両方共に)コンパイルが必要になる。
  • nginxのインストールもpassenger-install-nginx-moduleで行う。
  • うまく設定できれば、アプリケーション側での起動は不要nginxが面倒を見てくれる
  • index表示にあたるもの(get '/')がないと(当然ながら)エラー(404)になります
  • autoreloadがしたいのなら、アプリケーション側(padrino側)で設定
  • padrinoを使っていれば、アプリケーションのフォルダ構造を気にすることはありません。padrinoが初期配置をしてくれます。nginxのrootを説明の通りpublicフォルダに合わせよう。
参考にしたサイト: passengerもrvmで動かすOSのrubyに依存しない環境づくり
Padrino(日本語)

2012-07-23

R.A.T.7 The Albino(ゲームマウス)on Linux

R.A.T.7 The Albino(ゲームマウス)を Ubuntu12.04で認識させる設定
(これだけでは完全には動作しないようだ。)

Xorg.conに次の設定を追加する。
Section "InputClass"
    Identifier     "Configured Mouse"
    Driver         "evdev"
    MatchProduct    "Saitek Cyborg R.A.T.7 Albino"
    MatchIsPointer  "on"
EndSection
エラー...
[  4289.633] (EE) Saitek Cyborg R.A.T.7 Albino: Couldn't open mtdev device
[  4289.633] (EE) evdev: Saitek Cyborg R.A.T.7 Albino: ioctl EVIOCGID failed: Inappropriate ioctl for device
[  4289.688] (EE) PreInit returned 8 for "Saitek Cyborg R.A.T.7 Albino"
[
参考:
Ubuntu日本語フォーラム
UbuntuTips/Hardware/HowToConfigureTrackball
archlinux - xorg

2012-07-07

R.A.T.7 The Albino(ゲームマウス)

外見は白のR.A.T.7ゲームマウス。 ドライバーが認識しない〜と思っていたら、必要なのは「R.A.T. Albino」というドライバー。 しばらく騙されたぞ。

2012-05-13

2012-05-06

ssl接続エラー(ruby)

rubyをrvmで更新したら、SSL接続できなくなったので改善メモ
SSL操作中にこんなエラーが発生したら...
Connection reset by peer - SSL_connect (Errno::ECONNRESET)
  1. rvm pkg install opensslでOpenSSLをインストール
  2. 必要ならRubyを再コンパイル:rvm reinstall 1.9.3
  3. 認証局証明書をダウロードしてSSLではそちらを使うようにする
  4. wget http://curl.haxx.se/ca/cacert.pem
    export  SSL_CERT_FILE=$HOME/cacert.pem
    
で解決できる。
どうやら、sslのセキュリティアップデートに伴った処置らしい。

(via: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
rvm on ubuntu 11.10
node.js の make でこける)

2012-05-04

kdump取得結果

bt
PID: 4205   TASK: ffff880207818000  CPU: 1   COMMAND: "threaded-ml"
 #0 [ffff880202263c90] machine_kexec at ffffffff8103836a
 #1 [ffff880202263d00] crash_kexec at ffffffff810b4358
 #2 [ffff880202263dd0] oops_end at ffffffff8165d628
 #3 [ffff880202263e00] pgtable_bad at ffffffff81642a13
 #4 [ffff880202263e40] do_page_fault at ffffffff816602ce
 #5 [ffff880202263f50] page_fault at ffffffff8165cbf5
    RIP: 00007f1f07078c9f  RSP: 00007f1efe8b2980  RFLAGS: 00010202
    RAX: 00007f1f0898bba0  RBX: 00007f1f183fa000  RCX: 00007f1efe8b2a48
    RDX: 00007f1efe8b2a44  RSI: 00007f1efa302000  RDI: 00007f1f0b4a5660
    RBP: 00007f1efa302000   R8: 00007f1efe8b2a30   R9: 00007f1efe8b2a38
    R10: 0000000000000000  R11: 0000000000000000  R12: 00007f1efe8b2a48
    R13: 00007f1efe8b2a44  R14: 00007f1efe8b2a30  R15: 0000000000000003
    ORIG_RAX: ffffffffffffffff  CS: 0033  SS: 002b
log
[ 9390.534891] threaded-ml: Corrupted page table at address 7f1f183fa008
[ 9390.534896] PGD 1f8cd6067 PUD 1f8cd5067 PMD 1c3b88067 PTE 80006f01f3ac9067
[ 9390.534903] Bad pagetable: 000d [#1] SMP 
[ 9390.534907] CPU 1 
[ 9390.534908] Modules linked in: ip6table_filter ip6_tables ebtable_nat ebtables bnep rfcomm ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT bluetooth xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp kvm_intel kvm parport_pc ppdev binfmt_misc dm_crypt nvidia(P) snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device psmouse joydev mxm_wmi snd serio_raw wmi soundcore i7core_edac edac_core snd_page_alloc mac_hid lp parport firewire_ohci r8169 pata_jmicron firewire_core crc_itu_t floppy usbhid hid
[ 9390.534969] 
[ 9390.534973] Pid: 4205, comm: threaded-ml Tainted: P           O 3.2.0-24-generic #37-Ubuntu MICRO-STAR INTERNATIONAL CO.,LTD MS-7583/P55-GD65 (MS-7583)  
[ 9390.534979] RIP: 0033:[<00007f1f07078c9f>]  [<00007f1f07078c9f>] 0x7f1f07078c9e
[ 9390.534986] RSP: 002b:00007f1efe8b2980  EFLAGS: 00010202
[ 9390.534989] RAX: 00007f1f0898bba0 RBX: 00007f1f183fa000 RCX: 00007f1efe8b2a48
[ 9390.534992] RDX: 00007f1efe8b2a44 RSI: 00007f1efa302000 RDI: 00007f1f0b4a5660
[ 9390.534995] RBP: 00007f1efa302000 R08: 00007f1efe8b2a30 R09: 00007f1efe8b2a38
[ 9390.534998] R10: 0000000000000000 R11: 0000000000000000 R12: 00007f1efe8b2a48
[ 9390.535001] R13: 00007f1efe8b2a44 R14: 00007f1efe8b2a30 R15: 0000000000000003
[ 9390.535005] FS:  00007f1efe8b3700(0000) GS:ffff88022fc40000(0000) knlGS:0000000000000000
[ 9390.535008] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 9390.535011] CR2: 00007f1f183fa008 CR3: 00000001ce38f000 CR4: 00000000000006e0
[ 9390.535014] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 9390.535018] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 9390.535021] Process threaded-ml (pid: 4205, threadinfo ffff880202262000, task ffff880207818000)
[ 9390.535023] 
[ 9390.535025] RIP  [<00007f1f07078c9f>] 0x7f1f07078c9e
[ 9390.535029]  RSP <00007f1efe8b2980>
ps
2808      1   1  ffff8801d6e4ade0  IN   3.3 1239756 298300  firefox
4205   2808   1  ffff880207818000  RU   2.3 1281412 206972  threaded-ml

kdumpをubuntuで使ってみる

  1. 必要なもの
  2. ダンプするのに必要
    • kdump-tools
    • kexec-tools
    • linux-crashdump (UbuntuHPではこれだけでいいと記載..)
    解析するのに必要
    • crash
    • デバッグ情報が付加されたカーネル
  3. 設定する
    • /boot/grub/menu.lstを編集する
    • カーネルの起動オプションに、crashkernelを追加する。
      カーネルの再コンパイルは必要なし。
      /proc/iomemをみて、サイズとオフセットを指定する。(PC、カーネルの種類やディストリビューションによって異なるはず)
      ubuntu12.04は自動で設定してくれるかもしれない。
    • kdump-toolsの自動起動設定をする。
    • /etc/default/kdump-toolsを編集してダンプを有効にする。 セカンドカーネルを指定しないと、デフォルトのカーネルが使用されるようだ。 (デフォルトのカーネルが2重で読み込まれるイメージ)
      USE_KDUMP=1
      
      service命令を使うなどして、kdump-toolsを自動起動するようにしておく。 手動で起動するようにしておいても問題ない。
    • PCの再起動
    • カーネルオプションを有効にするため、再起動する。 kdumpが自動起動の場合/proc/iomemはこのようになる。
        01000000-016699ab : Kernel code
        016699ac-01ce4fff : Kernel data
        01dd3000-01f28fff : Kernel bss
        2e000000-35ffffff : Crash kernel
      
      失敗している場合は、/var/log/dmesgを見て、オプション文字列の打ち間違いや、確保しているサイズ、オフセットの確認する。
  4. ハングアップさせてみる。
  5. SysReqコマンドで擬似ハングアップができます。 全画面が停止状態になり、ディスクアクセスが始まります。(それなりに長い)
    Xorgを使用している場合は、(かなり動作が遅くなっていますが)平然とXorgが起動し始めたりします。
    ダンプが終わると、自動的に再起動します。
  6. 解析してみる
  7. 実は、デバッグシンボル付きのカーネルが必要。 ここから 解析に使うのカーネルを(パッケージから)インストール。
    これでようやく解析できる。
    sudo crash -S  /usr/lib/debug/boot/vmlinux-3.2.0-24-generic  dump.201205030221
    

syntaxhighlighterのテスト

function foo()
{
}

2012-04-30

Next Mod Manager(0.17.1) - Skyrim

NMMの17.1にはバグがあるらしい

Skyrim.esmを2度読み込んでしまう設定をしてしまうらしい。
plugin.txtに設定してある、Skyrim.esmのプラグイン情報をひとつにすると良いとのこと。


(via:Nexus Mod Manager エラーバグ)

NMM 0.18.7になって治ったようだ??

2012-04-28

Ubuntuでコンソールを設定する方法

コンソールを使う時があるときに...

# apt-get install console-data
# dpkg-reconfigure  console-data

2012-04-14

SysRqキー

よく忘れるのでメモ
フリーズした場合、「Alt+PrintScreen+R+S+E+I+U+B」
フリーズしたUbuntuを安全に再起動するには

Xorgは
「Ctrl+PrintScreen+K」 「Alt+PrintScreen+k」

2012-02-05

linux:ユーザーシステムフォルダを変える方法

$HOME/デスクトップを$HOME/Desktopとかに変えられます。
以下の設定ファイルを変えると、次のログインから変えられるようです。

設定ファイル:
$HOME/.config/.cuser-dirs.dirs

2012-01-15

jquery-mobileメモ

携帯サイトの作成にとても便利なjquery-mobile。
でも、動的なページを作るのにいろいろ苦労しそうだ。

 マニュアルを読むと…。

1.初期化は、"pageinit"で行う。
2.動的には、"pagebeforechange"で行う。

とのこと。
たとえば、「index.html」-> 遷移 ->「about.html」と2個のファイルで構成され、それぞれ「copyright.html」を動的($.load or $.get)に読み込む構成にした時...

1."pageinit"は「index.html」側でしか動作しない。
    ページ構成中"1回"だけ呼ばれるとのこと。

2."pagebeforechange"は両方で反応(fire)するものの、「bout.html」側の内容を変えられない。
これは、「abouht.html」自体が動的に読み込まれていることと関係があるようだ。

作る側としては、ファイルは分割しておきたいのだが...

おまけ。
"pageinit"は、data-role="page"を指すIDにしか有効にならないようだ。
たとえば、<div id="foo"  data-role="page">のときは、fooとバインドさせるとうまく動作する。


2012-01-04

jquery-mobileで必要なもの

javascriptの他に、 幾つか追加のアイコンが必要だったのね...
アイコンは、complied/imagesの下にあるので、 imagesごとHPにコピーするとアイコンが表示できるようになります。 つまり、jqueryとjquery.mobile.css、jquery.mobile.js、imageが必要と...

2012-01-02

30年で30%....

そろそろいいかな、30年で30%のネタ。30年で30%と言うと、発生しない確率が70%あるということだよね。 ポイントは、発生しない確率が100->70%に減るという事。一年あたりだと、大体98.8%の確率で発生しないことになります。 逆に、1年あたりの発生確率は、1.18%です。
確率を計算するときに、割り算や直感に頼ってはいけません。
確率で迷ったときは、(計算に時間がかかりますが、)総当りで算出する方法などがあります。(今回の場合は、1年づつ計算する)
なお、この計算方法だと、100年後は30.5%の確率で発生しません。(70%の確率で発生)

JITグラフ

JavaScript InfoVis Toolkitのサンプル。 まさかこんなことがJavaScriptでできるとは....