顯示具有 computer 標籤的文章。 顯示所有文章
顯示具有 computer 標籤的文章。 顯示所有文章

2008年9月29日 星期一

清掉 Vista 的 boot manager

找出 vista 光碟片,假設在 e:。XP 代號假設在 C:

C:\> e:\boot\bootsect.exe /nt52 c:

2008年8月31日 星期日

Intel chipset IDE -> AHCI

前陣子改了 nVidia 的 AHCI driver 後,今天又有機會實驗。

買了片 G43+ICH10 的板子,應該要記得在安裝前把 BIOS 的保守設定都改過的,但就是獨獨漏了這一項 AHCI。誰叫它不和其他兄弟一起待在 peripheral 項,偏偏跑到 basic 項底下去。

修改法同 nVidia, 將 IDE controller 的 driver 換成 AHCI。Windows 會叫驅動程式不正確,無所謂。在bios 改成 AHCI 後,device id 會改變,Windows 就會覺得這裝置不見了。硬選驅動程式只是要 Windows 把 driver 從庫房裡 (*.cab) 安裝到 system 底下。這樣一來新裝置進來時就有 driver 可以給它嘗試。

這是 假裝成 IDE 的 controller。

選擇標準 AHCI 1.0 controller。

重開機,進BIOS 改成AHCI後進入Windows。Windows 搜尋一番後找到了可用的 AHCI driver, 於是變成標準 AHCI controller。

再安裝一次 INF update 讓它認一認Intel 自家的裝置來正名,就會得到 Intel AHCI controller。

2008年8月24日 星期日

Intel CE 3100

這下有趣了,IDF 在原先眾方關注的 Larrabee 和 Nehalem 之外,Intel 還是對於客廳念念不忘,推出了新的 CE 系列 "Media Processor", 而且這次改用 x86 的不死老兵 Pentium-M core 來玩。看來 Intel 真是鐵了心腸,既然歷來屢次的嘗試,都擺脫不了 x86 ISA 怨靈纏身,乾脆反其道而行,用它來一桶漿糊,造成 "x86 everywhere" 的事實。果真偏執...

2008年8月9日 星期六

將 nForce 煮機板的 SATA controller 由 IDE mode 換到 AHCI mode

家裡的電腦用用總覺得速度緩慢。查了一下發現不曉得為什麼,硬碟跑在 PIO mode 下。這樣不慢才有鬼。於是想把它切換成 AHCI mode,想應該會好一點。

在這張 MCP73 的板子上安裝 Windows XP,因為 Windows XP 不認得 AHCI, 如果沒有軟碟來裝驅動程式的話,會和 Intel 的板子一樣遇到 AHCI 安裝的問題。如果安裝完再改成 AHCI mode, 一樣會因為沒有驅動程式而出現藍色畫面。

如果沒有需要使用的裝置,理論上 Windows 是不會有它的驅動程式的,因此在開機時找不到 AHCI driver, 又因為開機硬碟掛在 AHCI 下,因而開不了機。

理論上只要想辦法把驅動程式安裝進去Windows, 讓它自動搜尋相容驅動程式的時候可以找到就好了。

以下是嘗試成功的步驟。理論上其他裝置,例如 Intel 的 AHCI 應該也可以依樣畫葫蘆。

  1. 在 device manager 裝置管理員裡找到 假裝成 Standard IDE controller 的 SATA controller。在這張板上的位置是 Bus:0/Device:14/Function:0, 應該是都一樣的。
  2. 更新驅動程式。手動選到 nvSata 的目錄找到 inf 檔。Windows 會哀說不相容的驅動程式。不要理它。現在不相容是因為它還是 IDE mode.
  3. 安裝完,因為裝置還在使用中,需要重開機才會生效。重開機。
  4. 進 BIOS 將 SATA 由 IDE 換成 AHCI。開機。
  5. Windows XP 自動為 AHCI mode 的 SATA controller 找到驅動程式。
  6. 從此過著幸福快樂的日子。

2007年3月5日 星期一

Just-in-time Debugger crap

把 VS2005 移掉之後,執行應用程式時三不五時會跑出這樣的訊息,然後被掛掉:

很明顯是沒有移除乾淨,啟動了啥 debugger 的功能,但自己又已經被移除所以找不到人。抓到的 exception 也不知道是真會讓程式掛掉,還是default handler 根本不會處理的小問題。

移除可疑的程式(也只剩一個 .net framework 2.0),用 CCleaner 清理都沒效,最後使出絕招: 用安裝光碟片修復。

用安裝片修復的功能記得是從 Windows NT 4.0 時就有的,不過那時寫得很鳥,常常修一修整個系統反而爛掉,或是回到剛安裝好的狀態,跟重裝沒什麼兩樣。XP 改進了不少,幾次修復的結果都還不錯。

* * *

...原本在一邊重安裝一邊寫這篇時是這樣希望的,但是事與願違,升級式的修復一直無法完成,總是卡在安裝driver 的地方,顯然是某個已經安裝的 driver 無法通過安裝光碟的試煉。讓它跑了一整晚宣告放棄,重新安裝起來。所幸已經被 microsoft 訓練得很有耐性,將原本的partition 備份一份以備打撈資料,再重新安裝就是。

這就是 Microsoft 爆炸式經濟成長,對於生態環境的影響吧...*$#

2007年2月26日 星期一

使用 FreeMind 來組織思考

FreeMind 一陣子以前就看過有人在提,因為說得很神奇的樣子,以為它有什麼強力功能,可以作很強大的組織圖流程圖之類的。但是一試用之下,似乎不是很神奇,就沒有繼續在用。

昨天再搜尋了一些 blog 的評語,才有一點比較正面的感覺。其中一個是說,當作有樹狀結構的記事本來用。如果是這種觀點,就比較能理解它為什麼好用。以前也找過一些 todo 軟體來用,但是大部份沒有樹狀結構的用法,必須自己一個個拆解條列,就不太想用。平常在寫一些技術文件時,也是先將 word 開到大綱模式,條列大項後拆拆拆,直到細項拆得差不多了才開始填段落文字。事實上這樣寫起來反而是填文字要難一點。

試著用它來組織一個程式修改的步驟,其實還滿好用的。如果是寫在紙上畫圖或條列,沒多久就會因為修改或畫得亂七八糟而放棄。隨時可以重組和修改的方式便利許多。

看了它的功能,有一項是匯入 MindManager 的檔案。Idea 的發想大概也是由此而來。再看看 MindManager 的網頁介紹,....好像它比較好用耶。不過目前就先用免費的試試看組織腦袋吧。

2007年2月25日 星期日

Harvard architecture versus von Neumann architecture

Harvard architecture: Computer instructions and data are stored in separate storage.

von Neumann architecture: Computer instructions and data are stored in the same storage.

The name Harvard architecture came from the early computer Harvard Mark I.

Then John von Neumann proposed that the computer stores program and data in the same storage, among other important architecture changes to computer. Hence the name.

Sometimes people also use the term "Harvard architecture" to describe CPU cache organizations that have separate storages for instruction and data, though a little bit different from its original meaning.

2006年8月13日 星期日

strict aliasing

aliasing 在 compiler 裡指的通常和 pointer 相關。以這個為例:

int i;
int *p;
p = &i;
*p = 2;

這時 p 就稱作 i 的 alias,因為它們指到記憶體裡的同一個地方。用 p 修改值會修改到 i 的值。它們共用一個記憶體位置存資料,這時 p 就是 i 的 alias。

gcc 所指的 strict aliasing 是指在 C99 裡,不允許 pointer 指到不同型別的變數。比方說

int i;
char *p;
p = &i;

這個程式在編譯時就會有 warning 發生。

C99 這樣的立意是從程式語言的角度,避免誤用的發生。但是由於 C 的彈性,它也被用在撰寫很多系統程式。而這些系統程式通常都會有共用結構的問題,甚至要跳過程式語言的層次直接存取記憶體裡的資料結構,aliasing 並不見得都壞事。因此在 如 linux kernel 或 freebsd 等的 makefile 裡,通常會加上 -fno-strict-aliasing 來讓這個有點囉嗦的管家安靜一點。這時程式本身在寫的時候,就得特別小心了。其實寫系統相關的東西本來就要有這種覺悟。

Ref:
Understanding Strict Aliasing

後記:
在看 freebsd-current 關於 gjournal 的相關討論時提到,所以把它找出來弄個清楚。

2006年8月4日 星期五

Understanding Intel® I/O Acceleration Technology i...

In brief, Intel® I/O Acceleration Technology is:
  1. CPU/packet affinity to reduce context switches & memory copy
  2. Optimize DMA hardware to put data directly into CPU cache
  3. Optimize TCP/IP stacks for Intel SMP CPUs instead of TCP offloading

All are software-related optimizations, and they say you need a brand new Xeon server with onboard 82563/82564 or Pro/1000 PCI-Express NICs to have that.

Marketing really earns a lot. :D

Ref:
Intel® I/O Acceleration Technology Brief, Intel Document No.306484
Intel® I/O AT White Paper, Intel Document No.306517

2006年7月27日 星期四

itunes server on *nix

不知道 itunes server 裝在 *nix 上有多少難度,所以簡單找了一下。看起來似乎不難。提到的大多是 daapd 和 mt-daapd 兩個 project, 不知道其中有什麼關係。但因為 daap 是個菜市場名(Digital Audio Access Protocol by Apple),所以先假設它們是不相干的。

Digital Audio Access Protocol - Wikipedia
Setting up an iTunes server in FreeBSD
daapd, a server for the DAA protocol
Home - mt-daapd project site

2006年7月22日 星期六

Unknown CPU load on MCP51/Sempron 2800+

組來這台電腦的剛開始一陣子,在休眠過後常會看到cpu load 莫名奇妙地飆高,task manager 所看到的 cpuload 超過一半,但是 system idle process 卻是滿滿佔著。圖表裡的 load 都是紅線,這表示在 kernel 裡有人亂搞。大部份是 driver 。

後來更新 nforce 的一堆 driver 後,就不再發生了。這裡作個記錄。

2006年7月17日 星期一

Freebsd buildworld process

In /usr/src/Makefile.inc1, the target 'buildworld' is composed of several WMAKE_TGTS components: _worldtmp _legacy _bootstrap-tools _cleanobj _obj _build-tools _cross-tools _includes _libraries _depend everything

_worldtmp: mkdir to make directory tree of object files
_legacy: build & install /usr/src/tools/build
_bootstrap-tools: build & install strfile, gperf, groff, etc. tools.
_cleanobj: for SUBDIRs do cleandir
_obj: rebuilding object tree(?)
_build-tools
_cross-tools
_includes
_libraries
_depend
everything

FreeBSD build universe process

make universe 是用來執行所有 architecture 的 buildworld 和 buildkernel。

從 /usr/src/Makefile 裡可以看到,make universe 所做的事:

for all arch and machines
make TARGET_ARCH=arch TARGET=mach buildworld
cd sys/{arch}/conf/ && make LINT
for all KERNCONFs
make buildkernel

其中 TARGET_ARCH 是代表 CPU architecture, TARGET 是機器種類。目前正式的 Tier 1 arch 中只有 i386 有兩種 mach, i386 和 i386:pc98。或許等 arm 成熟了之後 mach 會比較多吧。

KERNCONF 是所有列在 /usr/src/sys/[arch]/conf/ 下的設定檔,目前是 GENERIC, MAC(ppc), 和 LINT。

2006年6月16日 星期五

Standards and specs: The Interchange File Format (...

IBM developerworks 的一篇文章,簡單敘述 IFF 的由來、用途,它所反應出的軟硬體背景、它所期望解決和無法解決的問題。命題與 XML 的興起對照來看,也可以發現許多相同與相異之處。

對於有處理檔案格式經驗的人來說,應該有許多地方會覺得心有戚戚。

Standards and specs: The Interchange File Format (IFF)

2006年5月26日 星期五

Firefox Inline Autocomplete

To turn on inline autocomplete in the Firefox web browser...

  1. Enter about:config in the URL field
  2. Right-click on the page and create a new Boolean value
  3. Enter browser.urlbar.autoFill as the preference name (note, case-sensitive: 'F', not 'f')
  4. Set the value to true

2006年3月24日 星期五

Yahoo!奇摩音樂通

基本上是來跟 kkbox 打對台的,靠著老爸的知名度和曝光率,能不能打下一片天呢?



以線上數十萬首歌為號召,的確是很吸引人,不過可能遇到跟 KTV 一樣的授權問題,畢竟台灣的授權問題複雜得多,所以隨便查查,就可以發現稍舊一點的歌並不是很齊全。以彭佳慧為例,只有 Sony BMG 的三張專輯。

在比較冷門的古典/爵士/其他方面,倒是出乎意料地多。想來這方面授權因為銷售量不大,唱片公司也樂得多個管道增加營收,所以問題不大。

播放程式的設計重點,是利用 Microsoft 的 Windows Media DMR 介面來作授權和保護,加上內嵌 IE 連結到 Y! 最近重視的社群討論特點,包括知識+、搜尋等等。為了對抗 MSN Messenger, 連即時通也整合進來。可以分享歌曲是一個新功能,當然還是受到購買的授權限制,沒花錢只能聽30秒。也因為包了太多Microsoft 的東西,整個程式碩大無比,執行起來十分緩慢,又有一堆很明顯的 bug,整體而言並不算是很穩定的程式產品。

音質則是另一個令人不甚滿意的地方。用五六百元的小喇叭,也可以聽得出壓縮的瑕疵。有興趣的話可以點選梁靜茹的專輯聽聽看。顯然 bitrate 並沒有放得太高。希望這不要只是試用期的取捨,否則就太令人失望了。



可以看得出來,主要的經營重點還是會擺在流行音樂上,這才是營收的大宗。這樣一來,就必須瞄準對流行音樂較敏感的年輕族群,定量吃到飽的費率對他們較有吸引力。

就如同別人曾經分析過的,線上串流音樂的經營,必須面對盜版、免費線上廣播等等的挑戰,並不容易作。Y! 一向擅長的並不是開發自己的技術,而是整合現有的資訊、技術,以資訊整合提供者自居。在銷售音樂比不過 Apple, 技術是 Microsoft 獨家的情形下,是否可以真正賺到錢,值得觀察。

4/19 update: streaming 64kbps, download 192kbps

2006年3月23日 星期四

freebsd 下的 multimedia app

最近在想,有沒有可能把主要的工作環境移到 freebsd 桌面上。

還好這幾年拜 linux 一頭熱,有許多軟體可以用了。其他部分都還好,最弱的應該就是 multimedia 的部份了。沒聲音沒片看可是很無聊的。

電視卡當然是不用想了,沒driver 沒datasheet, 鬼才生得出來;reverse engineering 不符效益。

首先用在windows 上用得很習慣的 vlc 試了播放 avi 和 mpeg 檔案,看起來還蠻順了,不知道有沒有用到 DRM (Direct Rendering Manager, 非 Digital Right Management),不過總之是可以順順的用。聽廣播 mms, vlc 也有,不過直接從 ports compile 出來的播不動,不曉得是不是哪個選項沒打開。

既然 vlc 播不動 mms, 再試別的吧。mplayer 算是老牌子了,只有命令列界面。這個就可以很正常地播 mms stream。界面再找個 front end 湊上去應該就可以了,不過看起來dependency 都落落長一串,有的還超過一頁畫面。那就有空再試好了,反正最重要的是可以聽。

這麼一來影音的最低要求算是達到了,要搬家時就少了一些需要顧慮的了。

2006年2月24日 星期五

FreeBSD pxeboot

1.設定電腦為網路開機 (廢話)
2.設定 tftp server, 將 /boot/pxeboot 複製到 tftp 目錄
3.安裝 isc-dhcpd, 設定:


參考: FreeeeBSD Handbook

--

update 4/1:

1.compile pxeboot with tftp support
2.copy /boot/* to /pxeroot
3.loader command:
load /kernel
load -t md_root /mfsroot.gz
set vfs.root.mountfrom=/dev/md0c
boot

今天釐清幾點:
1. pxeboot 還是 compile 成 TFTP 比較穩定的樣子,預設的 NFS root 一直有問題,kernel 根本沒辦法開起來,連 copyright message 都看不到
2. pxeboot 有點怪怪,如果在第一個收到的有效 dhcp offer 後,又收到另一個 offer, 也就是說 lan 上有兩個以上 dhcp server 時,似乎會hang 住。
3. 不知道為什麼,自己 compile 的 GENERIC kernel 沒辦法用 md root 開機,但從 snapshot013 弄出來的kernel, 同樣是 GENERIC, 用同一個 mfsroot.gz 卻沒問題。

--

4/2 update:
重新 compile 一個 GENERIC kernel, md_root 又正常了... 林老師的,耍我啊*(&*(#$& 看起來以後還是 make clean 先

2006年2月20日 星期一

白爛超頻記

星期六晚上匆匆忙忙趕在光華關門前去買 cpu 和 板子,打算來玩白爛超頻。原本的計畫是 sempron, 64bit, 便宜, 最好可以亂超。所以一開始鎖定的是 sempron 2600+ 和 asus k8n-vm。沒想到光華問了兩家,都沒 k8n-vm, 2600+ 也都沒貨,真是ooxx。然後亂選了 2800+ 和 gigabyte k8n51cmf 。回來測試後才發現許多不盡如意的地方。首先 gigabyte 用的是 award bios, 看起來就比較舊。然後超頻選項還只有少少幾個。還好後來發現是為了防呆,要用密技按出來。然後又發現它音效用的是 ac97, 不是原本想要用來練功的 hdaudio。不過8聲道比華碩的6聲道3jack 看起來要好就是了。這張也多了一個 ieee1394 ,雖然用不到,而且還是 Via的,看起來就是比較爽。最後是剛剛發現的,原來不是所有 rev. e6 都有 amd64 和 cool 'n quiet, 而是 3000+ 以上才有cnq, 2500+ 還沒 amd64...)(*#$#@ 還好沒聽店家的選 2500+。

這年頭 i 和 a 都沒法把頻率拉上去了,就開始搞些亂七八糟的花樣,amd64 啦,省電功能啦,dual core 功能啦,L2 cache 版本啦,虛擬化啦,看得真是眼花瞭亂,實際上卻沒多少功效。連我都弄不清楚了,實在很難想像一般人會看得懂。單純技術的東西,一加上行銷手段和語言,就複雜許多。

話雖如此說功能用不太到,但看到買的東西東缺西缺,爽度總是打了折扣。過幾天再來想想要繼續用還是早早出清脫手。這年頭 y!拍 實在太好用了呀。

2006年2月18日 星期六

FoxIt PDF reader

在鳥窩看看到有人提到,抓來用用看。

這東西作得真不錯,介面長得跟 Acrobat Reader 一模一樣 XD 。只需要一個執行檔,不用安裝,程式小速度快,記憶體用量也比 Acrobat 大怪獸少多了。試用幾天沒意外該可以取代它。

Acrobat 這種大公司大概是謀略太多了,常在軟體裡東加西加一些平常人用不到的東西,想要擴展市場。但這樣也很可能讓原有的使用者不滿。就看帶進來的流量能不能多於流失的囉。比方說麥當勞從家庭式餐廳轉型成專攻青少年的速食連鎖就是一例。