Saturday, November 1st, 2008
其實這是昨天的事了,連續四天早上七點起床,睌上還要整理東西到一兩點,所以昨天老年人我撐不住,補個覺先了哇哈哈
第四天沒有 keynote,展示的廠商也撤了,大部份的人都被論壇吸引走了,不過今年我倒是不想聽論壇,因為根據以往的經驗,論壇打的高空要兩三年才會實現,而且一般而言會修正不少 :p 我跑了幾個 session,CLR 4.0 的那一場很有意思,基本上 CLR 4.0 有三大走向:和現有的程式可以更好地合作,安裝和執行的效能加強,增加許多除錯的支援。這些都是我四年前寫 C# 程式的時候遇到的大麻煩,微軟終於願意面對問題並解決它們了,這也代表它終於收到了阿宅們的怨念啊啊啊啊啊 ~~~
咳,回題,另外還聽了關於 XAML 的一場。XAML 一般給人的印象是拿來寫 UI 用的,但其實它可做的事情很多,目前它已經將觸角延伸到 Workflow Foundation 以及 Open Document Format。小弟在前文中提到,若能整合 C# 的 compiler as service 與 Visual Studio 的 UML 功能,微軟就能弄出一個可做出 web application 的 4GL,而微軟在 PDC 中推出的 OSLO model language,以及擴展後的 XAML 語言,很明顯地這是為了微軟的戰略目標而服務:這不只是可做出 web app 的 4GL,是做出在 Windows Azure 上跑的 [...]
Windows, 技術文章, 會議相關 |
Wednesday, October 29th, 2008
今天跑的 session 多半屬於展示型的,可寫的東西不多,反而是看 recorded session 有心得。我看的是C# 語言的未來,講師當然是 Anders Hejlsberg。我想在這裡聊一些我覺得很重要的東西
Hejlsberg 提到程式語言的趨勢將會是 declarative、dynamic 以及 concurrent,除了 concurrent 之外,其他都是為了因應 web 應用而來的。以 C# 作為 .Net 旗艦語言的身份來講,這樣的演化是非常合理的,但這並不代表這是通則。我個人認為在學校中仍應教授 procedural 語言,但可加入 functional、declarative 與 dynamic 語言的訓練,像我們以前只學 procedural 會變得太過狹隘。
因為硬體在 single core performance 已然遇到瓶頸,所以 concurrent programming 將會是 multi-core 大潮下不得不然的趨勢。但是以目前的技術來看,無法很有效率地處理 heap object concurrency,這對 Java 或 C# 這種有 automatic memory management 的語言是不利的。因此在選用工具的時候,要特別注意這個陷阱,C# 在這方面的開發成本未必低於 C++。
微軟自己應該也嘗到 version hell 的苦果了,因此不但是 CLR,連 [...]
C++/C#, Windows, 技術文章, 會議相關 |
Wednesday, October 29th, 2008
今天聽了三個 session,這個算是比較好的,其他兩個等一下再來聊。Windows 7 的 instrumentation 和 Vista 其實是差不多的,可用的工具有 WPP、ETW 和 Event Log 三個,這個 session 主要是討論 ETW 和 Event Log 的改進 (WPP 多半是 kernel developer 在用,應該是 WinHEC 的參與者較感興趣)。Windows 7 花了很大的力氣去改進 instrumentation 的效能,簡單的說,更快,更小,可以觀察的東西更多。另外,Windows 7 內建 PowerShell 2,可以直接用 PowerShell script 來進行效能的監控,印象中好像看過類似的東西,但 Windows 7 的 PowerShell 內建的功能更完整好用些。
Troubleshooting 則是 Windows 7 想要改進 user experience 的一大步,這東西大家應該不陌生,XP 和 Vista 中的無線網路自動修復的功能就是 troubleshooting 的前身。只不過在 [...]
Windows, 技術文章, 會議相關 |
Wednesday, October 29th, 2008
今天是著名的 PDC keynote marathon,整個早上都是 keynote! 第一段 key note 基本上是 windows 7 的發表會,微軟在會中宣示他們的目標是將 PC、web 以及手機互相整合以構成完整的使用經驗。會場上微軟花了很多時間展示 Windows 7 的功能,基本上新加的功能不多 (事實上有些東西在 Vista SP1 中已經有了),微軟也公開宣布 Windows 7 和 Windows Server 2008 與 Vista SP1 的 kernel 是相同的,主要的改進是讓 Windows 跑的更快,消耗的資源更少,看來微軟也深切認識到 Vista 的主要問題在哪裡 比較有意思的展示亮點是 multi-touch 以及家庭網路的部份,某些程式用 multi-touch 來做的確有趣很多,我在聽 key note 時並不覺得 multi-touch 有什麼神奇的,但後來到外面的展示區玩 surface 的時候,發現俄羅斯方塊用手玩的話,真的好玩耶 …
對了,Windows 7 有一個非常酷的功能,它可以直接掛載 VHD,也可以直接開機進 VHD。所以以後系統回復就有新玩法了哇哈哈 [...]
Windows, 技術文章, 會議相關, 無責任評論 |
Monday, October 27th, 2008
今天是 PDC 第一天,洛杉磯風和日麗交通混亂一如往常。早上第一場就是 key note 重頭戲,Ray Ozzie 發表了微軟的雲端運算平台 Windows Azure。你可能會覺得奇怪,微軟不是已經有 Windows Live 之類的東西了嗎? 看了 Windows Azure 之後就不覺得奇怪了,這東西才是微軟進軍雲端運算市場的主打,它的 business model 是這樣的:微軟提供一個雲端平台,賣你 subscription,而你則可以將你的 service (當然是在這平台上開發的) 透過微軟的 Azure cloud 發布到網路上運作,service 賺到的錢則是歸你。換句話說,資料中心和基礎建設由微軟包辦,但程式的部份則由你自己處理。這有點像百貨公司的模式,它賣你攤位和基礎設施,而你則可利用它來開自己的店面賺錢。這種營運模式是最近軟體業界最夯的,基本上就是綑綁策略 (stickiness),把客人綁在自家的服務上,有錢客人賺,我分一杯羹是也 …
當然照慣例,微軟的東西必然有的幾個特色,一是和它自己目前的程式或架構 (如 Active Directory) 可以相通,另一個則是可以和它現有的開發系統 (Visual Studio) 相整合。Azure 目前提供的基礎服務包括了.Net、 identity (與 AD 的整合)、CRM、SQL 以及 SharePoint,很明顯地它的目標是替代目前在各企業服役中的商用系統,把這些企業自行建置的系統移植到微軟的雲端運算平台。Key note 中也提供了幾個系統的 demo,不過根據我以前學到的教訓來看,現在來評論這些東西何時會 take off 還言之過早 但可以肯定的是,這東西並不是很簡單地把 word excel 之類的東西弄到網路上就算了。微軟想做的事情是,在網路平台上複製 [...]
Windows, 技術文章, 會議相關, 無責任評論 |
Monday, October 27th, 2008
今天是 preconference,早上一來當然是先報到啦,但是讓我非常驚訝的是,連微軟都開始度小月了。我參加這麼多年的 conference,第一次看到用購物袋當 conference bag 的
precon 最大的好處是可以先拿到 badge,這樣明天早上就不需要去經驗一次恐怖的 registration 長龍。今天主要是參加 advanced windows debugging 的 session,早上講基礎的部份比較無聊,但下午講 security debugging 和 heap corruption 的部份就很清楚易懂。現場是有攝影機,但沒看到 staff 在操作,據說 PDC 會將所有 session 的錄影內容放在網上供人下載,就不知道 precon 有沒有包含在內了。
Windows, 技術文章, 會議相關 |
Monday, June 30th, 2008
不同的程式,遇到的連線問題通常不太一樣,但這裡我們比較有興趣的是一些共通性的問題。前幾年最常見的網路問題之一是 LSP 掛了,LSP 是 Winsock 所提供的功能,是 linked service provider 的縮寫,在 Vista 的系統上,因為 Vista 對 LSP 做了許多的限制,所以它就不再像 XP 時代那樣的「好用」,所以 LSP 在 Vista 上也不再是攻擊的重點。我們可以用 “netsh winsock show catalog” 來觀察系統上裝了哪些 LSP provider,還有這些 provider 是對應到哪些 protocol。如果你發現了一些怪怪的東西,你可以拜一下咕狗大神,網上有不少專修 LSP 的工具,新版的防毒軟體也都應該有修復 LSP 的能力。
另一個常見的問題是防毒軟體對衝。現在大部份的防毒軟體或多或少都會裝一些 kernel-level 的驅動程式,特別是用來擱截網路層資料的東西以便掃瞄。不過呢,這些驅動程式很顯然並不是設計來和其他的防毒軟體一起工作的,因此若你想保護你的電腦而不搞爛它,請裝一套防毒軟體就好了。你也許會聽到別人告訴你「加裝軟體 B 的話可以補足軟體 A 的不足」,我個人的解讀是「你買兩套的話我抽的比一套多」。
大部份的防毒軟體若有提供內容掃瞄的功能的話,多半是用 proxy 的方式來做,proxy 的意思是攔截內容後轉到某個地方先存起來,再進行掃瞄。比方說,要怎麼知道某封信件是不是垃圾信呢? 首先先攔截本機和郵件伺服器之間的網路連線,把信件先收下暫存,並進行掃瞄,然後再決定要不要把這封信歸類為垃圾信。如果掃瞄的部份當掉了,但攔截內容的部份沒掛,那當然你就看不到任何的信件了。一般來說重新開機可以搞定這類問題,若不行的話,通常是防毒軟體沒法處理某一封信件,這時候可先將垃圾信功能關閉,先把信收下來試試看。
最討厭的問題就是中毒了,惡意程式對某些賺錢的生意來說是非常關鍵的工具,例如線上廣告商要發送廣告信件到每個人的郵箱,但又不想付太多網路費的時候,他們可以利用惡意軟體去感染別人的電腦,並遙控這些受害的電腦幫助他們發送廣告信件。目前幾乎所有的惡意軟體都以永遠賴在受害電腦裡為目標,不過它們彼此之間的相容性也不怎麼樣,若你的電腦有多重感染的話,它們會互相打架爭奪網路控制權,進而導致電腦運行極為緩慢而無法使用。這時候你有下列的選擇:
買套防毒軟體來掃毒
重灌電腦,買包乖乖壓在上面希望不要再中毒
推動立法把惡意軟體的作者丟到牢裡去 (信不信由你,在大部份的國家,寫惡意軟體並將這些軟體賣給別人是不違法的,只要你不要自己散佈這些程式你就一定不會有事)
除此之外,確認一下你用的程式本身沒有嚴重的 bug 也是很重要的,特別是自動升級叫你裝新版的時候。
Windows, 技術文章, 狀況排解 |