TAG | microsoft
30
網摘: Windows Administration: Inside the Windows Vista Kernel
0 Comments | Posted by Dennis in 電腦和網際網路
Windows Administration: Inside the Windows Vista Kernel: Part 1
Windows Administration: Inside the Windows Vista Kernel: Part 2
現在還沒有找到 killer application 作為從 Windows XP 昇級為 Vista 或 Win 7 的理由。
越來越多軟件或工具都開始提供 web base 的服務。無論是公事,私事,閒事,還是樂事,全部都能夠在 Windows XP (or Linux)上執行,反而 Vista 的相容性還比較低。那為甚麼我要“昇級”呢?
沒錯,從一個著重技術的角度來看,我知道 Vista 和 Win7 在很多不同細仔的地方有所改良,保安、分享、個人化、易用性、記憶體管理等等,但對我自己來說都沒有差別。 Vista 轉變了 Shell 不是不好,而是這樣會否定了現有的使用者習慣,但卻沒有在其他地方好得到超越使用者習慣多年的經驗的價值。
回想,以往我每一次作出永久系統昇級都是有一定無可代替的重點。
DOS6.22 + Win 3.1 -> Windows 95
- 穩定性
- 容易使用的 GUI
- 硬件更新
- Multi-media support
Windows 95 -> Windows 98
- The Internet,Internet Explorer 4
- 加強穩定性,減少 memory leak
- DirectX
- 長檔名支持 (雖然在 95OSR2 已有)
- FAT32
- Active Desktop (雖然後來因 memory 不足而關掉)
Windows 98 -> Windows 2000
- Unicode
- 多使用者 (而不只是多 personal profile 而已)
- NTFS
- 保安性能
- 比較好的網絡支持
- Internet Explorer 5.5/6 (?) (那個年頭 Firefox 還沒有如此好用)
- USB (?)
Windows 2000 -> Windows XP
- AppLocate
- 統一 office/home 使用習慣
- 硬件更新
- USB 2.0
- build-in Windows Update
Windows XP -> Windows Vista 或 Windows7
- 沒有找到
- 良好的 64bit 支持? 還沒有打算置換電腦
- Junction point? 主要問題是還有很多軟件未好好支持,而且個人用作用不大
- DirectX 10? 很少玩 FPS 這一類重 3D 的 game,而且還沒有打算置換電腦
- UAC 很好沒錯,可是我自己的習慣已經很安全
22
網摘: Physical & Virtual Memory Limits of Windows
0 Comments | Posted by Dennis in 網摘, 電腦和網際網路
Pushing the Limits of Windows: Physical Memory
Pushing the Limits of Windows: Virtual Memory
How Big Should I Make the Paging File?
Perhaps one of the most commonly asked questions related to virtual memory is, how big should I make the paging file? There’s no end of ridiculous advice out on the web and in the newsstand magazines that cover Windows, and even Microsoft has published misleading recommendations. Almost all the suggestions are based on multiplying RAM size by some factor, with common values being 1.2, 1.5 and 2. Now that you understand the role that the paging file plays in defining a system’s commit limit and how processes contribute to the commit charge, you’re well positioned to see how useless such formulas truly are.
一早都話D人係錯嫁啦,今次重唔比我揾到一個有背景人仕講嘅野去支持。
其實我會用這種工具的機會不多
不過還是有閒的時候抽空玩下,或者當係以防萬一都好。
Workflow in C#
感覺不錯,能用上的話的確的節省很多時間
———–
原本想聽 WCF 的,但發現太過一般性 Introduction ,這幾天看過了好幾個 demo 都用上了 WCF 其實很簡單,看過幾個 slide 覺得他不會講得太深入而過左去聽 C# Tips and tricks。
C# Tips and tricks
Visual Studio 2008
很像 Eclipse 比以前更像 Eclipse,相比 Eclipse 它還有很多地方還要改善。不過的確一有點地方比 Eclipse 還要先進。
有部份還是要自己再另裝 add-in 而不是一開始內置的。
和昨天講解 LINQ 的是同一個 presenter,她的表現的 demo 很好,看得出準備比其他人都要充足和流暢,很簡單有力,不會有太多重復的內容。
值得一讚 (其他明顯很差的就不想題了,反面教材)。
問了 VS 會不會有推出類似 Mylyn 的功能,回答是目前沒有,他們還在看有甚麼可以做,但他們的確是想走這個方向。
我想如果是 MS,大概或許可以很好的和 Sharepoint 和 Outlook 整合,不過 2010 前大概都不可能吧。
而和 Eclipse 的 Key mapping 的差異很大這一點她也會無能為力,目前只可以手動一個一個重設,再 export/import。
我記得還問了其他問題的……..忘了
————-
Application Visualization
我三日之中有空都會去了解這個一下,老闆大概會說很多話會說吧!?
過去一年我聽到他想作的,認為很 smart 的 idea。差不多有一半 MS 堆出解決方法,(雖然他很少去想 Man power 足不足夠和 ROI )。
下星期要交代的可多了
————-
又再被一個不太好的 presenter 浪費了一點時間…….
算了,反正其他 topic 不太吸引。
————-
VS Team System 2008 Database Edition
Finally………some version/source control of database schema in a better way
And some tools to make fake data
And some tools to unit test the database
原本還以為那個是 MS 考立名目而推出來抗錢(雖然事實上還是抗錢)
可惜目前不支持 3rd-party database,要等 3rd-party 甚至 4th-party 去寫 add-on
有用是有用,但不會太常用,值不值得見人見智了。
————-
Occasionally Connection Application
Sync Service in ADO.NET 寫得不差,簡單的小的 Apps 該會很好用。可是用在現實用起來來未必有沒太大的用途。
它不能很地好處複雜的衝突,或很麻煩的 Transaction 的 cross table 交錯 update,實用是你也沒可能 cache 一個很大的 database table。
如果它做不到像 Exchange 那樣:看過的能記住,未看過要下載;就沒太大作用,始終要用完全自己的控制。
但如果是 sync file system 或者能在 mobile phone 上運算的數量的 data 的話我想會很好用。
但大一點要 Notebook 級以上才能用的就比較差了。
或許 app-auto-self-update 之類會用得上?
想了又想,始終記錄 “Changes set” 會比較有用,比較像是 “patch”,可以 checkin,re-apply,rollback。
就算是 always online apps 也能好好利用。前題是它必須是完整而可反向套用。
或許有空的時候再找一找有沒有這方面的工具,甚至自己造一個 in Java/C#。
或許可以在eclipse 內找得到 ?? (undo-redo / local history ??)
LINQ to SQL 有relation ga… (如果我無get錯你想講的野的話)….
晌IDE, 你可以right click on the class then add “association”…… 又或者, 你自己改佢個xml file加上去都得
至於transaction, 都有的, 你要自己initialize一個TransactionScope的object……….
http://msdn.microsoft.com/en-us/library/bb425822.aspx#linqtosql_topic20而lazy loading…….. 某程度上都係有的
http://msdn.microsoft.com/en-us/library/bb425822.aspx#linqtosql_topic11 <— look for deferred loading
我知 LINQ 有 Relation,但我比較係想講想法不同。
唔知 node.Child.Child.Parent.Parent 係做左四次 SQL query 定係識得 load 返去同一個 instance 呢?
又如果佢係 self-pointing relation 又點計呢?
我有問佢 LINQ 有無 handle 到比較 complex 的 transaction, row locking, timeout,佢答無。但讀了你的 link,原來係放左入去 LINQ to SQL 個 module 入面。睇落都可以應付到一般簡單要求。
lazy loading
幸好可惜 LINQ 唔係, deferred loading 應該算係 “query on demand” (每一次重新 IEnumerable 時行一次 SELECT)
我想講嘅 lazy loading,係 hibernate 那一種只讀 PK,到需要時再讀 full row。
或者 load 定某幾個 important field,再 on demand 去 query large column。
LINQ 做法係,寫 LINQ 時會正確完全知道自己將會想點用同埋會用邊一個 field,而用 anonymous class 去最少化 data transport 同 heap size。如果後來的 logic 要應用更多 field,你要改原本句 LINQ 或者再執行另一句 LINQ。
Hibernate 做法係,一係你寫 HQL 然後拿 Map;一係 lazy load 整個 proxy object,成個 object 可能傳去唔知去邊比度比邊個操作,再自己係 config file 修改來進行優化。
LINQ 其實有好多野都可以做但都未做得到呢…….. IQueryable Provider 未齊人
AD / FileSystem / WMI / LDAP / network / parallel / WS / MQ …..etc
其實LINQ最方便係佢可以好簡單地convert data from sql to xml, or from sql to json, or from json to xml, or vice verse.
以前要寫好長好長的codes, 三兩句用LINQ就攪掂了……
做左programming咁耐, 有時真係lazy打咁多字.同埋, 佢本身個類似ORM的tools, 感覺上, 比Hibernate果D好好多……. 我諗主要個原因係, VS managed 左XML generation果part, 而且有IDE 幫手可以好快咁define association between entities, 呢個我覺得令到佢比hibernate方便………
試想想….. NTFS 之類又 hardlink, softlink 又 junction point…….
from x in C:
depth 5
where filename.endsWith(*.txt)
distinct file.FileRef
select new{file.FullPath, file.mimeType};
之類會好有用; 至少一定好過 Unix 個 `find` syntax
我都有走去問佢可唔可以做到 Runtime LINQ compiler………..可惜佢答你可以自己寫: 目前沒有
也就是不可放入 config file, 也不能做到互動式…..
其實 Hibernate 性質又有D唔同
Hibernate 真係 O/R Mapping
我咁睇: ORM 係令到你可以 Presistent 一個 Object 入 RDBMS 而唔係 Object-DB
如果你所有野都係由 object 出發, 唔無視 database design/how it works 就好有用
What you have is a object which presistented to database, and you decide what is an “Object”
而其他 mapping tools, 根本上能只算係
SQL builder / result mapping
如果你有 “query database” 或者 “update table” 之類想法, Hibernate 可以話係完全唔合適
LINQ to SQL 事實上係都係 SQL builder + result mapping
無 relation, 無 lazy loading, 無 transaction,
What you have is a copy of the data, then you decide how to use “DATA”, not “Object”
其實唔同文化理念造就出分別
例如 Java vs C# 咁,
Sun 一直都想 minimum 整套 JDK, bytecode, Java Syntax ;唔想包太多 utility /common class 入去
=> 結果差唔多個個 project 都走去用 apache-common; JRE 都慢慢被迫加入更多新功能而變得更大, 最後唯有放棄 minimum 想法而轉用 Consumer JRE 路線(居然還未放棄 Applet market…)
佢想保持自己 Stupid Simple; 因為原本無想過 Java 會是主力….I was only want to sell more hardware
而且 Java commutity 一直有反動力……..sun 根本無咁多 resource 去 sell / press 同埋 bugfix
你見其實重有唔少 1.3 年代的 Feature/bugfix request 到重係 pending, won’t fix, reconized, will fix in JDK7
MS 一直都不停咁 extends 個 IDE, 大量 template, toolkit, framework, 改善 C#; 總知有用就加入去
=> VS 巨大化, 怪物化; 精通使用 VS.NET 甚至比精通 Photoshop 或者寫 code 本身更難.
佢根本唔怕 installation package 太大, 或者太多野而更多 bugfix (因為根本無 Java 個 “cross-platform” 理念)
想做到嘅係吸引更多 developer, 做一樣野可以有三種選擇
佢想令到 Development Stupid Simple
也就是很多 Programmer 討厭的 VB 式 drag-n-drop 寫 code 方式………
但事實上,手動改很多事情的空間不少(只要你知道)
你提是你能不能找得對的文件/問對人
和 Java 有點不同, 他們不是每一件事都 open to public…….
Sun 是想改變 stupid programmer (They should know what they are doing. It is powerful, but take are it yourself)
MS 則是接愛 stupid programmer (They can code in VS, even they should know. Whatever, it works),
