TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2009年6月22日 星期一

如何讓你的程式更難理解(4)

// unique values
var c = [];
// random shuffled keys
var rsk = [];
( function( functor ) {
    jQuery.each( tags, function( key, value ) {
        // random shuffle or just copy. tags -> rsk
        functor( key );
        // unique array to c
        if( jQuery.inArray( value, c ) < 0 ) {
            c.push( value );
        }
    } );
} )( Blog.TagCloud.shuffle ? function( key ) {
    rsk.splice( Math.floor( Math.random() * ( rsk.length + 1 ) ), 0, key );
} : function( key ) {
    rsk.push( key );
} );
以上是我的標籤雲實作的其中一小段,tags 是(標籤,文章數量)的集合,c 放的是不重複的文章數量,Blog.TagCloud.shuffle 是設定要不要打亂標籤的順序,rsk 放的是處理後的標籤順序。
暮然回首才發現我寫出這種東西...= =

2009年6月20日 星期六

Multiboot using Grub2

最近跟著潮流(?)改成 grub2 做為開機管理程式,但是在我升級之後,它沒抓到存在我電腦裡的另一個作業系統。解決方法很簡單,安裝 os-prober 套件,再重新設定一次 grub2 就好。
# aptitude install os-prober
# dpkg-reconfigure grub-pc
第二步會出現選擇 grub 要安裝的硬碟,選 /boot 掛的那顆就好;這樣它就會自動抓到其他的開機區段了。
os-prober 是 grub-pc 的 Suggest 套件,個人認為應該提上 Recommend 才對的。

2009年6月16日 星期二

仰角 10 度

昨天心血來潮問了強者我朋友一些物理問題,中間有提到飛車躍懸崖的狀況。剛剛算了一下這難度有多高。
環境:
假設飛躍的起點和終點高度相同,由於車子在飛出去之後,垂直方向是自由落體,水平方向是等速位移(沒有地面無法施力,故無水平加速度,阻力亦不計),設 Xy 為落下高度,Xx 為水平位移量。
公式:
自由落體:
Xy = 0.5 * g * ( t ^ 2 ),g 為重力常數(m/s^2),t 為經過秒數(s)
平均速度:
v = Xx / t,t 為秒數(s),v 為速度(m/s)
可得出:
v = Xx / ( 2 * Xy / g ) ^ 0.5
假設落下高度最大容許到 20cm(考慮輪胎的高度,否則會撞上平台),水平距離 10m,那衝出去的瞬間速度要大於 178 km/hr;這其實也不是不可能的車速,但是電影通常不會飛這麼保守的距離,起碼 20m 起跳吧,也就是說至少要 357 km/hr ... 不過一般的自小客車有這麼強的馬力嗎?
所以如果看到飛車鏡頭車頭有仰角 10 度的話(有趣的是,很少有側拍,都是從上面拍下來,或下面拍上來),就記住:認真你就輸了。

2009年6月8日 星期一

Uninstall VirtualBox 2.2.0 under Vista

在 2.2.2 之後已修正的 bug,原本會造成 Vista 無法移除 VirtualBox。 中文解法:
  1. 打開 regedit.exe
  2. 找到 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\DIFxApp\Components
  3. 按右鍵匯出,存到某個檔案
  4. 編輯該檔案,把所有的 HKEY_CURRENT_USER 代換成 HKEY_LOCAL_MACHINE
  5. 匯入修改後的登錄檔
做完就可以正常移除了。似乎是登錄檔沒弄好。

2009年6月7日 星期日

如何讓你的程式更難理解(3)

alert( ( function( list ) {
    return ( function( functor, nullValue, list ) {
        if( list.length == 0 ) {
            return nullValue;
        }
        var head = list.shift();
        return functor( head, arguments.callee( functor, nullValue, list ) );
    } )( function( head, tail ) {
        return head * head + tail;
    }, 0, list );
} )( [1, 2, 3, 4, 5] ) ); // will alert 55
用遞迴的方式算出一個陣列的平方和,使用 JavaScript。
靈感來自於 測測你自己 - The Joel on Software Translation Project
對,我是故意寫成這樣的,這不算是好的風格...

2009年6月4日 星期四

Khopper v0.2.1 released

  • 修正 flac 的編碼問題
  • 修正 vorbis 的編碼問題
  • 修正亂七八糟的 ogg 選單
  • 重新開放 mp3 vbr 的選項
  • 改善時間軸