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

2010年7月31日

今晚的旅程

晚上走了一趟很意外的旅程。
原本為了標錯價的mac mini server,隨意在google reader裡以這關鍵字搜尋,想找是否要買或是買了之後如何用的文章,而在當中包含了vgod一篇關於為什麼用Mac的文章,這篇雖然之前看過也大概了解其論點,但以這篇又連到另外兩篇大陸人寫的Mac相關文章,於是這兩篇變成旅程的起點。
這三篇文章都在討論程式設計在Mac上開發的好處和其原因,但我反而有其他無關的想法跑出來,例如:
  1. 對台灣的軟體業感覺:要討論這麼大的題目,我實在是沒什麼能力,身為一個技術不精也還沒上班的學生,見解絕對不會高明到哪裡去。只是身為一個目前對軟體還算有憧憬而且徬徨的米蟲,總是會想東想西希望能找到一條相對正確的路來精進自己的實力,所以特別注意這類話題。好,廢話講完想說一下我的感覺(臆測),就是台灣軟體應該是他媽的玩不起來吧。當然玩不起來要看怎麼定義,只是我會有這種(絕望的)感覺,就是因為看到文章在介紹到Apple/OSX的發展史時,那種一路發展和架構出來的層級根本不可能在台灣發生...這麼說吧,隨便舉例,歐美有人做出UNIX,有人做出Linux,有人做出smalltalk,有人做出C,有人做出obj C,Java/.NET/各種GUI的IPC標準...,軟體架構完整的從下而上堆疊,開發的軟體等級都是深刻影響整個世界的,而我們做出了...防毒軟體和DVD軟體。不是我們的東西不好,純粹只是等級差太多而已。我們只有用的份,沒什麼偉大的創造。所以突然覺得,與其怪老闆沒做軟體的遠見,不如說根本沒環境吧?我覺得到我退休前應該還看不到像Apple這種可以說是偉大的公司在台灣出現吧。結論:沒結論。以上算是近乎哀號的論點而已,「軟體業」本身就是一個複雜多元的名詞,所以台灣軟體業可否興盛要先看怎麼定義何謂「軟體業」。
  2. 大陸的IT寫作:好東西越來越多了,常看到不錯的Blog有不錯的長文,另外也翻譯了不少經典的好書,有幾本還比正體的好。怎麼會這樣呢?
  3. pipe/D-bus/Cocoa:pipe是UNIX精神的其中一個體現,我也深深的為這種運作模式著迷,被我視為增進工作效率及有效學習的一環。而當application以GUI呈現時,D-bus就是其中一種IPC的方式,Apple則是發展出Cocoa。感覺是,發展這些技術背後的精神和思想真是不簡單啊...。
至於我認為該不該在Mac上開發程式,等之後有機會再寫一篇文章來討論看看吧 :D

2010年5月3日

iPhone?哼...

MMDays的這篇好文,講出iPhone OS和Android兩個平台的根本差異點,也看得出來作者對Android有愛而發出不平之鳴:p 唯有兩個地方值得商榷:

  1. 在「Android信心崩盤?言之過早。」該段,結果我大致上我認同,不過推理邏輯上,是否AdMob能確實反映出Android的成功與否?我必須要說,我不清楚(lol) 再說,Android的成功也和Google的成功不完全相同。
  2. 在批評「Adobe第三方軟體不長進,會拖累Apple」這個說法時邏輯有點不完全,對使用者來說確實會有成立的可能。因為使用者可以分成10種...(lol) 第一種會瞭解iPhone慢是因為AppStore上的App有問題,另一種則會說:It sucks! Apple直接中槍倒地...。

話說回來這篇還是講得相當好,除了很多地方講得很清楚,而且我也對Android有愛XD
iPhone?哼...

2009年12月10日

Chromium OS Talk (GTUG)

之前有幸參加到八月份由 pingooo 召集的 COSCUP ,最近也一直想去由 ericsk 召集的 Taipei GTUG 看看,剛好今天辦的 talk 我很有興趣:
下星期三(12/9)的聚會很高興邀請到 Google 的 Chrome OS 工程師 Louis Lo 來為各位介紹 Chromium OS 專案及 Google Chrome OS 產品概念,如果您已經錯過了 tossug 舉辦的演講,或是來不及解答心中對此專案的疑惑,那就不能再錯過這次在 GTUG 演講。
會參加這次的聚會也是因緣際會,本來名額有限沒報名到,卻剛好有人退出而搶到最後一個XD 但報名到了反而猶豫要不要從新竹上去,花車錢又花時間,不過後來證明不虛此行!還抓到 clyde 一起去,謝謝這位型男當我今晚的司機和豐富此行的討論!
底下就我比較有印象的做一些筆記,並沒有包含所有的重點就是了。
IMAGE_121主持人 ericsk 開場後,由 pingooo 介紹 Louis
精采的 Talk
講者是加入 Google 約兩年的 Louis Lo,交大畢業後進入 RealTek 當 firmware 工程師,之後進入Google,目前參與 Chrome OS 的開發。
IMAGE_122 Louis 上場!
因為怕無意間講出不能說的祕密,presentation 用的 slide 是之前就公開的,所以 slide 本身沒有太多新意,大抵是在說 Chrome 推出的原因、目的和在 speed/simplicity/security 的優勢和架構等等。Louis 有特別強調一個特性,Chrome OS 會在背景偷偷地下載新版本的 OS image,當使用者重開機就會自動執行新版(前提是下載成功而且image的signature正確),使用者不會察覺。個人覺得新東西大多在 demo 和精采的 QA。
demo 的機器是 Acer 的 netbook,裡面已經灌了 Chrome OS(尚未對機器最佳化),開機 7~10 秒後就能看到登入畫面,登入後就是 Chrome Browser 那樣,特點大概有:
  • 左上角有個按鈕按下去會看到一些 service 的圖示,e.g., Gmail/calendar/twitter/youtube/計算機…類似 windows 中開始鍵的意義,想開什麼 service 可以從這裡找。(參考pingooo的這篇)
  • 右上角有電池狀態、時間、網路設定
  • 有個叫 panel 的東西:當使用者開啟計算機、音樂這種不該因為切換 tab 而隱藏的程式,會一直保持在前景,直到使用者想縮小它為止
  • 有個桌面的概念:chrome OS 似乎能有多個 chrome 介面,類似 work-space,而 chrome 介面全部縮小會露出背景,縮小後指到某介面能指定要還原介面中的哪個 tab,和 win7 的工作列運作類似,這裡講的會有點模糊,看過操作就會瞭解。
IMAGE_125 指到某介面會看到有哪些 tab
  • 有 terminal 可以用,可以用 su 切到 root(有些事不能做的假 root?)
  • 至於關機的方式,關機並沒有按鈕,按下電源鍵一下子就關機了(意義類似送出 shutdown –h now),期待以久的電腦家電化啊!(淚)
  • 另外還順便 demo 了 Google 在四月放出的 O3D,這是讓使用者能在 browser 裡用 JavaScript 開發 3D 應用的 API,Louis講到這裡激動的讚嘆著貼圖多麼美麗、多麼順暢云云XD
而QA的部份,其實一直穿插在整個 talk 之中,大家都有很多的問題想問,不過 Louis 基於保密也不能透漏過多,整場瀰漫一股諜對諜的氛圍 :p 問題實在很多,隨意列幾個:
  • local 問題:印表機問題怎麼處理?能不能存取自己的硬碟?能不能跑 native client?GPS/3G晶片怎麼處理?如果不能上網那 device 是不是石頭?
  • security 問題:如果帳號洩漏?有沒有 remote wipe?本機存的密碼如果 out-of-date 那能登入嗎?
  • JVM能不能上去?和 Android 的區隔?最低建議配備?
  • 太多了,我想睡了…Orz
Louis,真是難為你了…(拍)
很多問題現在也正在研究中,有時是受限於其他公司的政策和利益權衡,總之 Google 會希望能開放儘量多的東西給外界,來達到互惠的效果。
自己則是問了,chrome OS 能不能以 LiveCD/USB 的形式運作?會問是因為 Louis 說 chrome OS 的 customized firmware 會省略很多檢查,直接用硬碟/SSD開機。而我大學專題是做 LiveUSB 系統,客制的微型 Linux 不用硬碟/CD-ROM,會直接在記憶體解開來運作,於是有點好奇 chrome OS 能不能這樣做(早知道就先看過pingooo的blog!)。回答是有 source 當然都可以,只是這種非 Google 自己釋出的版本不能稱為 Chrome OS(有trademark),要叫 Chromium OS。
會後,大家開心的聊聊天吃吃點心,我和 clyde 討論了一些 JS 的overloading、JIT和趨勢面試的考題XD
還有個中文講的非常好的老外跑來和我們討論(中文名字也非常的美),原來是某公司的 Director,還向我們招募員工 :D
我覺得有個有趣的事,阿修帶了一台灌好 chrome OS 的 Asus 貝殼機,pct 問 Louis 是否有 default password,答案是有,是 codename 的「chronos」 (而非更直覺可能的「chromeos」)。clyde 提出了一個非常棒的懷疑,「是不是typo?」XDD 不過我剛剛查了一下,應該是是希臘神話中代表時間的神?Google,你是在說你能主宰時間就是了? :p

2007年7月1日

Live CD (DSL 3.3) 小修改,加入中文字型來瀏覽中文網頁

,這篇是於東吳資科的Unix課程中 關於LiveCD Remaster的簡易筆記及心得分享
這裡以補充一些比較基本的注意事項為主
##CONTINUE##
我們在製作過程中有很多不懂的地方,所以在流程中看到錯誤的話也請告知~感激不盡!



by IKARi & ChungYing
Instructor: Joe

目的:把原版DSL加入中文字型*可看中文網頁 (Damn Small Linux 3.3)

*字型是xfonts-intl-chinese,這是人稱最醜但是也是常用的基本字體,有其他很多更好的字型可以代替 ,此外字型種類若是 ttf(TrueType)佔的容量會比較大。

製作環境需求:
-DSL 原始 iso檔,此次版本是3.3 (2007-June)(官網)
-可供DSL暫存檔案的Linux partition*,1~2G可
-網路

* 製作過程可用虛擬機器在Windows上做,就不必實際要有一個partition或硬碟,但要注意ram的大小,沒有512可能會在最後壓制 iso檔成品時錯誤,而且也很慢。

可能需要的背景知識:
Linux基本指令
Debian基本常識(APT系統在幹麼的)
切割硬碟觀念
如何連上網路(若用虛擬機器就可以不用管)
文字編輯器(vi 或 nano)

大致步驟分為:
1.切割硬碟,以產生修改LiveCD的環境
2.複製 DSL iso檔上的資料到硬碟上
3.chroot(change root)進去硬碟上的LiveCD環境
4.開始修改(此例是加入中文字型)
5.chroot出來
6.從剛修改過的內容壓制出新的LiveCD iso檔

製作過程中請注意:
-有些過程是需要連續的,若有中斷要判斷影響到哪裡來決定哪些要重作,要有一直重頭做的心理準備(因為不知道會影響哪些所以只好重作,但越了解指令則重做部份就可以越少)

-錯誤訊息很重要,有些可以忽略,有些則是重要關鍵,文中沒提到的問題請善用google

開始:開啟terminal打sudo su,全程以root權限操作,也可在terminal圖示按右鍵以super user開啟,shift按住按+/-可以改變字型大小

#號開頭才是指令

1.切割硬碟,以產生修改LiveCD的環境
#fdisk /dev/hda [不是hda1,這裡不講fdisk用法,m是說明,最後記得w存檔]
#mkfs /dev/hda1 [不是hda]
#reboot [重開機剛才做的才會生效]

開機後...
#mount /mnt/hda1 [只要重開機就要記得重新mount,不然指令都是白打,此外可用DSL桌面右下角的mount 工具代替這一步,有時不能mount重開機看看,還是以錯誤訊息為主]

2.複製 DSL iso檔上的資料到硬碟上
#cd /mnt/hda1 [這一步沒做後面都錯,要先mount才能做這步]
#mkdir newcd [建立兩個資料夾]
#mkdir source
#cp -Rp /cdrom/* newcd/ [開始複製資料]
#cp -Rp /KNOPPIX/* source/
#cp -Rp /KNOPPIX/.bash_profile source/

複製概要:
cdrom --> newcd
Knoppix --> source

3.chroot(change root)進去硬碟上的LiveCD環境
#mount --bind /dev source/dev
#chroot source [做了這步提示符號會變,表示已經進入環境,根目錄已經改變成原先的source]
#mount -t proc /proc proc

4.開始修改(此例是加入中文字型)
[回復Debian的APT系統,用來增減程式]
#dpkg-restore
#vi /etc/apt/sources.list [加入下面一行文字]

deb http://ftp.us.debian.org/debian/ stable main non-free contrib

#apt-get update


[恢復GNU命令]
#wget http://distro.ibiblio.org/pub/linux/distributions/damnsmall/mydsl/system/gnu-utils.dsl
#tar xvfz gnu-utils.dsl


#vi /etc/locale.gen [修改此檔,以下兩行之外的都刪除,等等會依這兩行產生locale]

en_US ISO-8859-1
zh_TW Big5

#apt-get install locales [安裝 locales,安裝這個才能裝字型]

ps.這裡會提示說安裝有誤,要啟用某APT::Force-LoopBreak選項
所以請再執行一次(或一開始就打這個):
#apt-get -o APT::Force-LoopBreak=yes install locales

過程中詢問是否升級glibc選yes
選項回答:
Select locale to be generated ( 選擇 en_US ISO-8859-1 及 zh_TW BIG5,就是之前選的兩個 )
Which locale should be the default in the system environment ? ( zh_TW )
Please enter the number of geographic area in which you live : ( 5 )
Please enter the number of one of these cities or zones : Taipei


#locale -a [查詢一下locale安裝的如何]
這樣才對:
C
en_US
en_US.iso88591
POSIX
zh_TW
zh_TW.big5

[搜尋字型deb檔並下載]
請到debianpackages查詢網頁搜尋xfonts-intl-chinese並找出deb檔下載回本機,例如:
#wget http://debian.linux.org.tw/debian/pool/main/i/intlfonts/xfonts-intl-chinese_1.2.1-6_all.deb

[安裝字型deb檔]
#dpkg -i --force-depends xfonts-intl-chinese_1.2.1-6_all.deb

這裡捨棄以往做法apt-get install xfonts-intl-chinese,用apt會牽連下載過多套件,且安裝其中的xfonts-utils時會莫名的移除x-window(若有人知道原因可否告知我們,謝謝!),因此用dpkg並下--force-depends 來強制忽略相依關係直接安裝字型deb檔,安裝完可能有一個錯誤訊息(/var/...),可以忽略


#vi /etc/skel/.bash_profile [修改環境變數,加入下列一行]
export LC_ALL=zh_TW.Big5

#apt-get clean [刪除所有安裝過無用的deb檔,節省空間]

5.chroot出來
#umount /proc
Ctrl+D [離開chroot環境]
#umount /dev [不能umount 可下 -l 選項,即 umount -l /dev]

6.從剛修改過的內容壓制出新的LiveCD iso檔
#cd /mnt/hda1 [確定所在目錄正確]

[重製LiveCD主系統]
#mkisofs -R /mnt/hda1/source create_compressed_fs - 65536 > /mnt/hda1/newcd/KNOPPIX/KNOPPIX

[製作iso檔]
#mkisofs -no-pad -l -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o mydsl.iso newcd

其他:
1.若用虛擬機器,製作完的iso檔可以用各種方式傳出到host,我是在host安裝hfs(http file server)然後在vm裡開firefox上傳iso檔

2.apt-get install [pro1] [pro2] [....] 可以一次同時安裝好幾個套件

3.若安裝xfonts-utils會移除數個x-window的套件,導致startx消失,原因我們目前仍未知..

4.DSL是一個相當精簡的系統,若要修改和Debian及Knoppix還是有不同的地方,要加入漂亮的字型(如TureType)及中文輸入法都有一些難度,希望有心得的朋友能夠給予一些意見,謝謝大家!

關於remaster/中文化的參考文章
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=1847&forum=3
http://moto.debian.org.tw/viewtopic.php?p=498&sid=fc91529161652e54e897c5e44ade940d
http://moto.debian.org.tw/viewtopic.php?p=6553&sid=7972f980d97c9c320a6f48fbbd093798
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=2077&forum=3
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?topic_id=2046&forum=3
http://tiger.tkms.ptc.edu.tw/knoppix/myknoppixdiy38.html
http://www.damnsmalllinux.org/f/topic-3-26-18399-0.html
http://knoppix.tnc.edu.tw/modules/newbb/viewtopic.php?topic_id=2291&forum=3