存档

作者存档

软件从业人员百态和什么是计算机

2006年3月29日 没有评论

一个Linux,寄托了多少人的梦想与希冀?不得而知。一篇《我认为应该在大学中强行推广龙芯+linux 》居然回复20多页,昨天登上了新水母的十大,今天势头仍然不减……真实的、虚假的、科学的、伪科学的统统都冒出来了!我不会评论Linux,说什么都不好,现在软件从业人员的整体水平日趋下降,没有嘴德的人太多了。

我只说说计算机这个东西。我不喜欢用电脑这个称呼,“电脑”二字给人的遐想太多,附加的对计算机的幻想也很多。我很喜欢“计算机”这个名字,前半部分是“计算”二字,表明他的用途,后半部分表明他只是一部机器,同时还与英文的“Computer”相呼应。说了这么多废话,不为了别的,只为引出我的观点“计算机是一部使用相当复杂的机器”!

这么空口白说,每人愿意认同这个观点。我们可以拿洗衣机来对比:洗衣机是一部用来洗衣服的机器,而电脑是一部用来做计算的机器。有人不同意,说计算机可以干很多事情,但是注意,那不是计算机干的,是其他硬件设备干的——比如声音是由计算机的计算结果数字交由声卡(数字模拟装换芯片,DA)产生的。由于本身计算机相当复杂,把每一个PN节都当作一个零部件的话则它有数亿个零部件,而且计算机的附加设备很多,把计算机的使用变得相当复杂。(说相当复杂的时候,你可以用宋丹丹的东北话再说一遍,相当有喜剧效果)。很简单就可以证明计算机比洗衣机复杂:外面教如何使用电脑的杂志报纸铺天盖地,但是没有一本教你如何使用洗衣机的杂志……

我说的计算机是硬件和软件的整体,硬件和软件的差异,决定了其用途:有的是用在台式机里面,做通用用途;有的则是其他机器的一部分(像洗衣机),有专门的用途,输入只有几个按钮,输出包含几个灯(发光二极管)和通向电机和阀门的控制线。虽然他们差异很大,但是他们是一样的东西,他们都是计算机。

我们的软件从业人员,大家还是想用一条线把你我大家划分开,你是什么阵营,我是什么阵营,我们要斗争,但是他们没有注意到一点,他们只是在使用计算机而已。

分类: 未分类 标签:

对于.net Framework的System.Net下面的CredentialCache类的补充说明

2006年3月28日 没有评论

我在使用CredentialCache的Add方法的时候,不知道其他的几个authType怎么来写。在Google的帮助下,从微软的Support网站找到一些提示:

"Basic":基本身份认证(明文传送用户名和密码)

"Digest":Windows域服务器的摘要式身份认证

"Negotiate":Windows集成身份认证(至少在这种认证方式下可用)

希望对调用有身份认证要求的WebService的朋友有帮助!

分类: AD, ASP.NET, dotNET 标签: , ,

征集免费的asp.net空间

2006年3月28日 没有评论

不是我的服务器不好,是我的线路经常出问题,现在比较无奈了。如果哪位朋友发现我的Blog不能访问了,那么一定是我的线路出了问题了。

所以现在想征集免费的ASP.NET空间,存放blog。如果哪位觉得我的blog比较可读,同时还有ASP.NET的免费空间可以提供,就请给我留言吧。

不过即使没有新的稳定空间,我还会用这个线路坚持下去,希望朋友们还坚持来我里,我将继续把我工作生活中的点滴火花记录下来。

分类: Home Network, 未分类 标签:

申请了新的域名

2006年3月9日 没有评论

今天申请了新的域名:vegetusoft.com,准备作为自己搞得一些软件的宣传网址。

vegetus是拉丁文中的一个单词,意思是完整的、健康的、新鲜的和有活力的。申请vegetusoft是想我的软件可以是完整的、健康的、新鲜的和有活力的,这是一个没好的愿望,我在想这个目标努力!

这个单词衍生了出了一些比较有名的单词,比如:vegetable,蔬菜;vegetarian,素食者 等等。但比较有意思的我不是素食者,因为我离了肉食不行的…

最新开始的第一个产品应该是基于微软 .net技术的FTP Server,暂时命名为 Vegetus FTP Server,而且还没有时间表。

分类: dotNET 标签:

我看到的除了浮躁还是浮躁

2006年3月5日 没有评论

www.cnbeta.com上面看到一篇好文:Aoouch 随笔: Vista 的悲哀 。我深以为然,现在it界变得越来越鱼龙混杂,大家的心态也开始越来越浮躁,越来越看重表面上的东西。虽然深以为然,但是在不知道说什么才好,而且声音太小,马上就会被嘈杂的声音盖过,还是什么都不说了,老话立此存照!

以前的一个同事在QQ上碰了面打个招呼,然后就谈论起来现在在做什么。这个同事以前热炒IM(即时通讯)概念,并以此创业,但是第二波IM热潮还没有来到就没了踪影。后来又找来投资做网络游戏,现在也就是半年时间,又开始回到做网站的老路上。他对我说这次是不同,做的是.gov.cn后缀的网站。我一听有些惊愕,这些网站不都是官方的吗?做志愿者,我那个同事是这辈子做不来的;想挣钱,这样的网站也许难度和风险都大了点。我同事不以为然,他说那些人也想挣钱呢。

我没有资格批评谁,对官方站点的模式指指点点更没有胆量,人家创业的难度和风险管理也不是我该关心的,但是我可说说我的担心。上次互联网的泡沫我看到的是浮躁,除了浮躁还是浮躁。我不否认我那时候的浮躁,毕竟那是差不多10年以前,我还年轻。但是以我现在的心态看,创业的成功并不是一个因素综合作用的结果,但是这里面没有浮躁的因素。

我深以此为戒!

分类: 未分类 标签:

又一款全键盘的WM5的SmartPhone

2006年3月3日 没有评论

闻听摩托罗拉的Q不会在国内上市,挺郁闷的,但是又发现一个全键盘的WM5的SmartPhone:三星SGH-i320,据说06年的2季度会上市。又有了一个肥皂泡…..不说了,看图片吧!

000141999

000142000

000142001

000142002

000142003

000142004

000142005

000142006

000142007

额外的域控制器是否都可以升级为GC

2006年3月2日 没有评论

问微软工程师的第二个问题“额外的域控制器是否都可以升级为GC”。

是的,所有域控制器都可以提升为GC。操作步骤如下:
1. 在第一台DC上打开“Active Directory Sites and Services”
2. 展开“Sites\Default-First-Site-Name\Servers\<第二台DC的名字>\NTDS Settings”
3. 右键单击NTDS Settings,选择Properties
4. 在General页面中,将“Global Catalog”前的勾勾上,点击OK。
5. 重新启动第二台DC。

分类: AD 标签: ,

额外域控制器上的DNS如何配置

2006年3月2日 没有评论

昨天问微软的工程师一个问题“额外域控制器上的DNS如何配置?”,答案如下:
1. 在添加/删除程序->添加/删除Windows组件中添加DNS服务。
2. 在第二台DNS服务器上,打开DNS服务器管理控制台。
3. 展开正向搜索区域,右键点击正向搜索区域,选择新建区域,单击下一步。
4. 选择“在Active Directory中存储区域”,选择创建“主要区域”,单击下一步。注:只有选择“在Active Directory中存储区域”,才能在有主要DNS区域的DNS域中创建第二台DNS服务器。
5. 选择DNS的复制范围,建议选择“至Active Directory林中的所有DNS服务器”,单击下一步。 注:在只有一个域的环境下,至林中与至域中所有DNS服务器是一样的。
6. 输入域DNS名称,单击下一步。
7. 选择“允许安全动态更新”,单击下一步,点击完成,第二台DNS服务器配置完成。
8. 返回DNS服务器控制台,展开正向搜索区域,右键点击新建区域,选择属性,单击区域复制,勾选“允许区域复制”,选择“到所有服务器”,单击确定。这样,DNS服务器之间的DNS数据将会同步更新。

分类: AD 标签: ,

你向东他向北,我留在原地不动……

2006年2月28日 没有评论

有一个朋友在通州买的房子,八通线的临河里站。还有一个在东北望买的房子。我把我朋友里面这两年买房子的地点统计了一下,结果是两个趋势,向北和向东。唯一例外在南三环买房子的只有一个。

站在咱的北四环边,东北望、回龙观、北苑家园全都在北面。向东望去,就是除了通州还有亦庄。而且都是随着时间的原来越新,地点越来越靠外,似乎是向北向北在向北,向东向东再向东。

我向来反感大面积的居民住宅区,这样的小区都存在着相应的配套设施不全的问题,但这些问题都是可以改善的问题,最难以改善的却是交通问题。路可以修,但是人却不能原来越少,这样只能造成交通的堵塞….

我在原地买了一套二手房子,想想还是二手房子好一些。有一个相对稳定的社区,齐全的配套。盖满了老式低密度的住宅,不会有更多的人迁入,不停的拓宽道路,不断飙升的地价…….

我希望我的房子地价可以涨过我交的贷款利息……阿门……阿弥陀佛……愿意保佑我的人都来保佑我吧……

分类: 未分类 标签:

梦寐以求的智能手机

2006年2月27日 没有评论

也许这样的手机可以干更多的事情…它是摩托罗拉Q。Windows Mobile 5.0 SmartPhone系统。SmartPhone在键盘方面还是比PPC要强,天生的单手设备……

F4F50703D7407EF65936C06259C2C665

DEEB55BA70FD4EE940F91B60EEF82C49

72A2AAFA510DF73CECC3E8ECFF3AD7D2

搜索引擎成了个人站点的拯救者!

2006年2月27日 没有评论

记得做第一个网站的时候,为了增加个人的访问量,必须到处去宣传:在论坛里面靠着和斑竹比较熟,网站的广告被允许生存了48个小时;在QQ里面见一个熟人就上去问,你有主页吗,来我的主页看看吧,要不咱们交换连接吧;还会去参加什么广告链之类的。

现在简单了,就把它放在那里吧,搜索引擎会找到它的。我的这个blog放在这里一个月的时间,被引用(从搜索引擎跳转过来)的邮件每天就达到两位数了。虽然我喜欢看到我写的技术文档被人引用,但是最多的引用还是来自牢骚和奇思怪想!我这里访问量最多的还是那篇关于国骂的post。先是一些兴奋,现在剩下的多少是些无奈了。好在还可以用现在互联上玩的人多工作的人少,来安慰自己!

分类: 未分类 标签:

想法很多,时间和金钱很少

2006年2月20日 没有评论

突然发现现在自己积累了很多的想法,想做而没有做。有的是因为没有时间,有的是因为没有金钱,有的是因为有了新的想法……

自从全面转移到微软阵营以后,第一个想法就是使用ASP.NETv2实现一个多用户的运营级Blog系统。但是当时是威海项目最忙的时候,因为没有时间热情逐渐降低了….
第二个想法是搞一套中小企业用的邮件系统。起源是搞到了一套dotNETv1.1下的邮件和FTP系统的源代码,包括了SMTP、POP3、IMAP4、WebMail和FTP的全套源代码。当时就有一种自己搞一套开源的dotNET邮件系统的想法,这个想法也就这样搁置了,但原因除了时间的问题以外,还有金钱方面。这样的一个邮件系统必定牵扯太多的精力,人的精力总是有限的,影响了现在的生活来源就问题大了…毕竟还有几十万的债在身上。
最新的想法就是学一学dotNET CF在SmartPhone上面的编程。这是缘于我狂喜欢dopod565,我认为 windows mobile smartphone2003/2005是最佳的单手数字终端,这上面有巨大的市场潜力…这个想法是正在想的想法……

也许这里每一个想法都是一个商业机会,但是我都没有坚持下来……也许机会就这样冲我身边溜走了….

分类: 未分类 标签:

SmartCalc 2.0 Beta 推出

2006年2月11日 没有评论

SmartCalc是我很欣赏的一个smart phone上面的计算器软件。欣赏并不表明这个软件对于我来讲很有用,而是它的界面设计的很巧妙的解决了smartphone键盘上键很少的问题。再有一个原因,是它是用.net CF 1完成的。我是在我的电脑上无意之中点击这个程序时发现的。不过我用的还是smartcalc的第一版。

现在从作者的space里面看到第2版的beta已经出来了,但是还没有拿到。渴望看到蒋露先生(我也不知道应该是先生还是女士)新的作品,以及界面上的改进….

谢谢蒋露!

无聊的春节阿~~~

2006年1月26日 没有评论

越来越发现春节没有意思了,很长的假期却必须待在家里,带回电脑却被弟弟们当成玩具。原本想看看书的计划都泡汤了。去看看老同学,他们比我还无聊,聚在一起打扑克。

更无聊的还是春节联欢晚会!去年春节联欢晚会尝到了《千手观音》的导演这次又找了一个皮影舞,看得人不疼不痒,在老太太们下台以后,据然还无耻的让气喘吁吁老太太跑上台来讲两句!估计这个老太太不是导演的什么亲戚。其他的几个小品也显得十分无聊。在现在这个飞速发展的时代,每一个服务行业都开始对用户(顾客)进行细分,然后针对不同的用户(顾客)区别服务。这么浅显的道理中央电视台春节联欢晚会的导演居然不懂,还一再的抱怨众口难调。

深层次的原因我想还是这个春节联欢晚会没有什么竞争对手。中央电视台是企业,但是春节联欢晚会却以官方春节晚会自居,玩起了垄断。我想要是中央电视台的股票上市,我一定会追捧的,肯定能为我带来经济回报的。

发了一堆牢骚,但是春节还是那么无聊!

分类: 未分类 标签:

2006年是令人兴奋的一年

2006年1月21日 没有评论

2006年是令人兴奋的一年,并不是一整年都是兴奋状态,而是微软令人兴奋的产品将不短的推出。

一月份,简体中文VS2005和MSDN已经发布了,.NET2.0企业库的正式版也已经发布了,WinFX的beta2也带着WWF和WCF一起发布了。可以预见,2006年将是微软产品升级的大年。伴随着微软产品的升级,其他为少微软技术的产品也将开始新一轮的升级…..

值得期盼的还有简体中文的SQL Server 2005以及Biztalk2006以及SPSv3……无限期待中…

分类: 未分类 标签:

SPS的安全机制与ASP.NET的安全机制还是有区别的

2006年1月13日 没有评论

这几天一直写一个在SPS当中修改AD用户密码的Webpart。我向鞠海洋大哥要来了他写的代码,仔细研究了,自己也动手写了一个。但是包括鞠大哥写的和我写的都不用正确运行,总是捕捉到异常信息。不同的是,鞠大哥的代码可以显示用户的displayName属性,而我的显示不了。

昨天就想起来在ASP.NET中测试一下吧,毕竟ASP.NET当中条是要容易些。我有在写Webpart之前,先用ASP.NET预演的习惯。但是却发现ASP.NET当中不仅可以显示displayName属性,连密码也可以修改了。于是又仔细看了鞠大哥的代码,发现他并不是从AD用户的displayName属性显示的用户名称,而是通过SPS的CurrentUser对象来获取的用户名称。这样在仔细测试后可以发现,在SPS的Webpart当中是没有办法读取AD内数据的,即使将SPS网站的安全信任级别提高到了“Full”也是不行的。

详细的错误信息:
System.Runtime.InteropServices.COMException (0x80070035): 找不到网络路径。 at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Bind() at System.DirectoryServices.DirectoryEntry.get_NativeObject() at System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) at nChi.WebParts.Utility.UserCtrl.chgPwd()
以此猜测这可能是SPS把有关的COM调用给屏蔽到了…

分类: AD, SharePoint 标签: ,

[翻译]TechNET上关于Monad Shell(MSH)的一次聊天

2006年1月11日 没有评论

原文位置:http://www.microsoft.com/technet/community/chats/trans/windowsnet/wnet_120704.mspx

请注意: 这个抄本的一部分经过编辑。

介绍

MSFT Don (Moderator):
欢迎来今天的聊天。我们今天的主题是微软将发布的叫做Monad(或MSH)的命令行shell。

MSFT Don (Moderator):
我们有请今天的专家。 我请他们先介绍一下自己。

MSFT Kenneth (Expert):
我是命令行shell的程序经理。我主要负责API、类型系统和cmdlet供给器(provider)。

MSFT Jeffrey Snover (Expert):
你好。我是Jeffrey Snover,Monad的架构师[并且是这个项目的负责人]。

MSFT James Truher (Expert):
嘿,我是James Truher,Monad组的一个程序经理。我负责语言、错误报告和许多其他的特殊函数。

MSFT Don (Moderator):
我是主持人Don Spencer。我是Windows Platform SDK(WinFX)的一名编辑。

聊天开始

MSFT James Truher (Expert):
问: 是不是MSH V1.0努力要在Longhorn之前完成?
A: Monad首先将作为一个功能搭载进入目标在2H06(06第二季度?)发布的Exchange 12。之后Monad将在那之后搭载进入Windows。发布手段还没有确定。Monad将支持Win2003 SP1、XP SP2 和Longhorn。

MSFT Kenneth (Expert):
问: 你们打算什么时候发布VS.NET的项目模板?
A: this a great feature, which many of us want for ourselves. however we will not be able to get it done in version1. I can’t comment on versions after that.

MSFT James Truher (Expert):
问: Monad将作为Exchange的一个功能发布?你能提供一些MSH和Exchange整合在一起的详细内容吗?
A: Yes, that’s correct – the integration of MSH and Exchange 12 is that the command line management of Exchange will be done via Cmdlets and that graphical management will be a layer on top of those cmdlets.

MSFT Jeffrey Snover (Expert):
问: historic question – when did the Monad project actually begin?
A: The roots of Monad are WMIC – a command line interface to WMI. I invented that and was struck by the power and leverage that you could provide if you had common object reflection. In the summer of 2001 I was learning .NET and realized that we could do the same thing with .NET. That was the start of the project. No one understood what I was talking about so I had to develop an extensive demo to illustrate it. Once I did that, everyone started drooling and off we went.

MSFT James Truher (Expert):
问: 微软会不会把SSH服务器搭载进入远程Monad?
A: We currently have no plans to ship an SSH server. I am aware that other teams within Microsoft are investigating secure remote access, but I don’t have details available.

MSFT James Truher (Expert):
问: When will we see the next MSH drop?
A: We haven’t yet scheduled another drop, so we don’t know when or whether another drop will occur

MSFT Jeffrey Snover (Expert):
问: I’ve heard Monad has VMS roots… will we have a utility or functionality similar to VERB to create our own verb commands and parameters?
A: We are very influenced by the VMS (and AS400) environments. That said, we don’t have the same set of utilities. Do define you own command, you write a .NET class derived from our base class and tag it with a NOUN and VERB. The properties of that class become PARAMETERS.

MSFT Bruce Payette (Expert):
Q: What are the significant features of Monad and can you elaborate on the difference between this and existing scripting environments for windows (i.e Windows Shell Scripting, WSH, etc)?
A: The goal of Monad is to provide a powerful commandline management solution. It is both a language and a framework for easily creating commands to manage windows platform. So – it’s more command-line oriented than WSH but has a lot of the scripting abilities of the WSH languages. It’s somewhat of a higher level language than VBScript, etc. Another quite significant difference is that it’s an interactive environment.

MSFT James Truher (Expert):
Q: Will there be more command-line tools for Windows, so that we can actually do stuff in Monad?
A: With regard to the Exchange release, we are working closing with Exchange to ensure that all of their management is possible via cmdlets.

MSFT Kenneth (Expert):
Q: Is there any support for command line completion beyond builtin commands and file names (as in bash)?
A: As your question implies, monad has the architecture in place to perform tab-completion on parameters and other elements. However, we will not be able to implement and test tab-completion beyond mshpaths (cmdlet providers) in version1.

MSFT Jeffrey Snover (Expert):
Q: As SSHD is indeterminate, how is remote script execution coming in Monad
A: Monad will be leveraging the WS-MGMT protocol for remote execution. WS-MGMT is an emerging industry standard that will provide a common protocol to manage servers in both the PRE-OS environment (e.g. talking to the base motherboard controller) and the OS-resident environment. It’s pretty awesome stuff.

MSFT Bruce Payette (Expert):
Q: Will Monad include cmdlets to programmatically access Office and/or other clientside applications?
A: Probably not in version 1 as our focus is on server management. Now – we do support COM/ActiveX objects directly in msh so you can do most of the same things you do in VBscript. There have been a number of examples of what can be done posted to the Betaplace list.

MSFT James Truher (Expert):
Q: What language is the API and shell language based on?
A: The shell language is based generally on 3 different sources. sh/ksh, perl and C#. I wanted to be sure that the language was expressive enough to ensure parity with the unix shells, but wanted to not use the same syntax as the unix shells as they are somewhat irregular and provide a glide path to C#. The shell itself is written in C#.

MSFT Jeffrey Snover (Expert):
Q: How is security addressed in Monad?
A: This is a very board topic. We spend a lot of time on security. One of the common questions is "are we reintroducing script attacks?". We are doing a number of things to mitigate those exposures. 1) we will not have a doc handler for .msh files (this means that you won’t be able to double-click a .msh file and have it run). 2) We’ll have a policy that only allows signed scripts (from people you trust) to run (we’ll then make it easy for you to sign scripts).

MSFT Kenneth (Expert):
Q: How are other teams buying into Monad? Exchange obviously seems on-board. What about IIS? SQL?
A: A number of teams have created prototype cmdlets and cmdlet providers – this has been very helpful in improving the API and validating the model. however, our first focus is on the exchange release. these other teams have not dropped off our focus, but we can’t commit to any other partners’ cmdlets at this time.

MSFT Kenneth (Expert):
Q: Thanks Kenneth, but I don’t quite get it. Does it mean I can write a cmdlet which provides tab completion for parameters? I.e. what else in addition to mshpaths would you consider?
A: in version1 tab-completion we will only handle mshpaths.

MSFT James Truher (Expert):
Q: What cmdlet providers (or libraries) will be available (e.g. database access, file access, regular expressions)?
A: The providers that will be a part of the Exchange release are filesystem, registry, function, variable, certificate, alias, environment.

MSFT Jeffrey Snover (Expert):
Q: Will there be any backward compatibility issues with scripts and cmdline tools?
A: As a general rule, MSH runs all existing command and scripts. That said, MSH does NOT interpret .bat files, it passes them to cmd.exe to run them. There are certain scripts that are written to modify the environmental variables to affect subsequent scripts. That particular semantic (of .bat scripts) will not work in MSH. That is the only compatibility issue that we are aware of.

MSFT James Truher (Expert):
Q: Will V1 have support for tee-ing the pipe?
A: yes, we will provide a tee-object cmdlet

MSFT Bruce Payette (Expert):
Q: any resolution on the elseif / else if debate?
A: We’ve decided to leave it as elseif.

MSFT James Truher (Expert):
Q: Will MSH V1.0 be done before Longhorn?
A: MSH will ship as part of Exchange 12

MSFT James Truher (Expert):
Q: When can we expect the next drop of MSH bits?
A: I believe that this question was answered earlier

MSFT Jeffrey Snover (Expert):
Q: Will the monad command line parsing be extensible? (i.e. write a cmdlet which implements ‘vi’ type command line editing?)
A: Monad has a clear separation between the ENGINE and the HOST. The HOST is the thing that provides a UI. Hosts can be CLI-based or GUI-based (e.g. MMC could provide a host for Monad). The V1 CLI host that MSH provides will not provide an extensible command line parsing capability. We expect 3rd parties to add value in this area by providing this sort of function. This may be something that we do in later releases. Thanks.

MSFT Kenneth (Expert):
Q: …"filesystem, registry, function, variable, certificate, alias, environment"; what about AD? Pretty hard to manage Exchange without that?
A: Exchange cmdlets will implicitly manage active directory as required. We will continue to work with AD, WMI and other groups for later releases.

MSFT Kenneth (Expert):
Q: hmmm – no AD (and no Wmi) provider at time of Ex12 release ? Seems a little strange with the Ex melding into AD.
A: Exchange cmdlets will implicitly manage active directory as required. We will continue to work with AD, WMI and other groups for later releases to create desired providers.

MSFT James Truher (Expert):
Q: (Question from Christa) Any chance for per-session support in Monad? Last I saw, it assumed a single session.
A: I think that you’re asking about logging – we will be providing a logging mechanism which will allow you to determine what a session is doing

MSFT Kenneth (Expert):
Q: Do you guys know when it might be possible to get on the Exchange 12 beta, or if that is a possibility for us at all?
A: you’ll have to contact your exchange representative for an exchange12 beta.

MSFT Jeffrey Snover (Expert):
Q: Scripters are often used to deploying "windowless" solutions – scripts that run without a console or GUI. Is that going to be possible with MSH?
A: We are looking at modifications to our CLI host to address this issue.

MSFT James Truher (Expert):
Q: How deep will monad go as far as exchange management? e.g. Will I be able to mount/dismount the information store from monad?
A: We working with Exchange to ensure that the entire management can be done via Monad, but I can’t speak authoritatively about this specific feature.

MSFT James Truher (Expert):
Q: …"yes, we will provide a tee-object cmdlet " – what about a way to merge back together?
A: You will be able to script a solution to this, but we will not be exposing of the data flow engine in v1, so it won’t be possible to do this, other than manually aggregating results (e.g., via variables, etc)

MSFT James Truher (Expert):
Q: Do you still plan on supporting casting to void to throw away results (or better yet, not ask for ToString in the first place) e.g. [void]myStringBuilder.Append("MSH – don’t force copy on write yet")?
A: yes! we will support [void]

MSFT Bruce Payette (Expert):
Q: Will there be if not now but eventually a converter tool to migrate or convert existing scripts to Monad Shell scripts ?
A: We’ve experimented with a tool to convert VBscript to msh and it was pretty successful but it’s not in scope for v1. Alex has also written a set of "VB personality" scripts that help in conversion. However – when and if we release a tool is not something we can speak to at this time unfortunately.

MSFT James Truher (Expert):
Q: How does one use runspaces with the current drop ?
A: runspaces are not surfaced in the current drop

MSFT James Truher (Expert):
Q: I should have said… Will there be a distributable version of the Monad shell that will be release with Exchange?
A: the shell that releases with Exchange will be targeted at Exchange management. The schedule for a general shell release is to be determined.

MSFT Jeffrey Snover (Expert):
Q: At a Windows XPSP2 (pre-release) event earlier in the year, we were advised that Monad was the replacement of VBScript / WScript … do you have any views on that?
A: We are working to ensure a path forward for VBScript/WSH users. There are 2 directions to that. One the one hand, Monad will provide VBSCRIPT-style scripting in that you’ll be able to access COM object and invoke methods and access their prosperities. On the opposite direction, we are looking at providing a COM interface to Monad so that VBScript users will have access to all of it’s functionality. This is NOT a booked plan but should give you a feel for how we are thinking about the issue (so let’s just keep this info between those of us with access to the internet 😉 ) . We are working to get a booked plan and then make it public.

MSFT James Truher (Expert):
Q: Will there be a distributable version of the Monad that will be available with Exchange?
A: this question has been answered

MSFT Bruce Payette (Expert):
Q: Will the new Exchange System Manager MMC console support generation of MSH code, as demonstrated at PDC?
A: The next release of MMC will be in R2 before the exchange release so it won’t include any Monad support. When Exchange and msh are released the Exchange snapin will be using msh. End-user use of msh in snapins (i.e. writing your own msh based snapins) will be sometime after that.

MSFT Kenneth (Expert):
Q: The HOST APIs(at least the formatting and output APIs) are heavily geared towards a CLI. Will there be anything done to allow non-CLI hosts to take advantage of the F&O features of the engine?
A: I’m not sure which part of the infrastructure… the host API itself should be very implementable by a GUI Host. the format/output cmdlets are focused on outputting to some line-oriented device (CLI, printer, file) – they also should write to any host implementing the MshHost class.

MSFT James Truher (Expert):
Q: Does the scripting language work for a C++ guy? 🙂 I.e. Is there some strict syntax/semantic check that can be used _before_ the code path is hit? Do we get a debugger?
A: We are thinking about providing the feature that allows you to single step through a script. We don’t currently have plans to supply a more rigorous syntax checker in V1

MSFT Jeffrey Snover (Expert):
Q: Will there be a way to restrict operations for MSH and provide audit, logging
A: There will be a bunch of policies that you’ll be able to tweak to restrict the running of MSH. We have a pluggable security manager. This allows a NEW host to provide a security manager which can control which commands are run. It also gets called for every ShouldProcess() call which means that it can control things on a per-object level. This is pretty awesome stuff. We also will providing logging of the internal state of the engine. This includes both health-level type information and AUDIT level information (who did what to what when). You’ll have policies to control which types of events get emitted.

MSFT Kenneth (Expert):
Q: What’s the latest on support for flattening objects into text? For instance, I want to a set-clipboard cmdlet where the normal console output of "get-process" is what gets put in the clipboard when I type "get-process | set-clipboard".
A: you can do a ToString on the object results, you may also use the -f operator to explicitly format your objects. if you wanted it formatted using our formatxml then we would need an out-string cmdlet. we do not currently have this cmdlet in our version1 plans. the work around is to use out-file and get-content.

MSFT James Truher (Expert):
Q: Hosting – is there plans on exposing some of this capability in the beta or is it still too adaptive for the work with Ex team?
A: we do have a set of hosting APIs, but we won’t be releasing an SDK with the Exchange release

MSFT Kenneth (Expert):
Q: For Longhorn, you should convince Microsoft to spin up a ScriptPad project to create a decent text editor for MSH scripts. One that provides simple completion and color syntaxing. Notepad is getting long in the tooth. 🙂
A: this would be nice. however it is not in the scope of the monad project.

MSFT Jeffrey Snover (Expert):
Q: Will there be a way to create a GUI for MSH scripts using Monad?
A: Superstar Jim Truher created a set of cmdlets which provide TK-type function. It worked pretty well but this is not something we are planning to release in V1 because we don’t’ have the bandwidth. We all fully grok why TK is so cool for customers so that may be in our future. That said, it should be pretty easy for a 3rd party to deliver this functionality.

MSFT James Truher (Expert):
Q: Do you have a speculation model yet of how your releases will go? Specifically will we be even close to seeing a Monad version 2 by the Longhorn Server release, as an integrated feature of that product?
A: Our plans are still in flux, so rather than speculating here, it would be better for us to solidify our plans so we don’t set the wrong expectation

MSFT Bruce Payette (Expert):
Q: On the depth of integration… is Monad to replace current management mechanisms? MMC? WMI? what’s the idea?
A: All of these elements will continue to work together but in a layered way. MMC provides the GUI built on top of msh. Msh provides the cmdlets which are based on .NET, WMI, ADSI etc, which provide the APIS, etc.

MSFT James Truher (Expert):
Q: How close are you to a release candidate version? Do you think that there will be significant changes between now and the release, or is it more fine tuning?
A: We continue to fine tune the release, some of that tuning may result in a significant change, but architecturally, we are making fewer and fewer changes.

MSFT James Truher (Expert):
Q: In fact, TextPad already makes a great integrated development tool for MSH scripting – edit and run… 🙂
A: question?

MSFT Jeffrey Snover (Expert):
Q: Have you thought about providing some sort of XPath or XQuery support for providers e.g. get-children c:/foo[@size > 1000000]?
A: Yes we have. The issue is that by and large we leave the namespace syntax to the namespace provider. FOr instance, AD puts children to the left and uses "," to separate path elements. So we don’t do much manipulation of the name itself. That leaves us with trying to do something with parameters but the how point of XPATH is that integration of the namespace with the expression syntax. If you have some good ideas about how to make this all work please post them on our betaplace site and we’ll eagerly review them.

MSFT James Truher (Expert):
Q: Thanks for the answer on audit, I dig further. If there is an answer on who did what to what, the next question will be: any rollable transactions? :$
A: Just to clarify on auditing – auditing in the strictest sense of the word isn’t provided (as AUDIT implies a security model that we won’t provide), but we will be able to provide audit-like information. As for transaction support, that will not be part of the Exchange release

MSFT James Truher (Expert):
Q: RE: HOST APIs and format/output. I meant that there is currently information (such as default F&O fields for each type of object) that is not exposed with the current HOST APIs. The HOST APIs assume you are using a rectangular text box for output. 🙁
A: The formatting object model is not going to be published in the Exchange release, sorry.

MSFT Kenneth (Expert):
Q: Kenneth: Yeah I was think something like this would be nice "get-process | out-string | set-clipboard". But I guess I’ll have to wait on that one and use the workaround for now.
A: yes. we’ll take this feedback to our planning meetings :-).

MSFT Bruce Payette (Expert):
Q: Have you thought about providing some sort of XPath or XQuery support for providers e.g. get-children c:/foo[@size > 1000000]?
A: Providers are allowed to support filtering in anyway they want. It’s entirely possible for a provider to interpret the filter string as an arbitrary query. This makes sense when the repository you’re using supports native queries and filters. It makes less sense in something like the file systems so we do get-children | where {$_.length -gt 100000} instead and leverage the existing msh language facilities instead of building this into the provider itself. It may also be possible to allow filtering in providers using script blocks in the future but I’m not sure it would significantly improve things: get-children -filter {$_.length -gt 100k}

MSFT Jeffrey Snover (Expert):
Q: MSH introduces some big changes to the way we think about working – the verb-noun model, database-like tabulation and querying… what are some of the long-range possibilities you see coming from this?
A: Great question. Clearly we are trying to reproduce the AS400/VMS-DCL model where you send a while learning the syntax and then you have it for life. Pull on that thread some more and you can see that if there is enough consistency, it should be possible to write meta-programs or programs which drive programs. This is one of the reasons why we love the namespace model. There we said, you provide the information and we’ll provide a set of common commands. These commands are then VERY consistent which allows us to write generic programs against them and have them work with everything.

MSFT Kenneth (Expert):
Q: Did I get it right that Exchange MMC will internally be based on MSH? Will there be a way to view the script traffic for Exchange MMC in such a case?
A: We have looked at doing this a few times, but E12 version one is not currently planning on implementing this feature.

MSFT Bruce Payette (Expert):
Q: Is there some sort of collector cmdlet that can be used in a pipe? In the old pipe days, everything (all text) got passed from one stage of the pipe to another. With MSH multiple records are passed. Can you collect these records into one record to pass on
A: You could do "function gather { ,$input}" and use it like: "1,2,3,4,5 | gather | foreach {$_.length}" which would print out 5. Is this the sort of thing you’re looking for?

MSFT James Truher (Expert):
Q: Will there be a facility in Monad to encrypt streams?
A: We will not be providing any cmdlets for encryption in the Exchange release

MSFT Jeffrey Snover (Expert):
Q: It seems we are way far behind in the current drop from what you folks run. It was said earlier there is no timeframe for a drop update. Is this really the best way for the tech beta to help you ? Any thought on exposing runspaces, info on hosting, etc
A: This is merely a resource issue. Betaplace feedback has been great and we look forward to getting more.

MSFT Kenneth (Expert):
Q: I wonder if I will be able to have default MSH behavior based on my AD user profile.
A: this is not currently in version one.

MSFT Bruce Payette (Expert):
Q: Re XPath/XQuery: yeah my thinking was to learn one powerful query language and be able to apply it to multiple places. It’s good to hear you’ve at least considered it.
A: That is exactly our reasoning. We already have a language (msh) so we decided to leverage it as much as possible.

MSFT Jeffrey Snover (Expert):
Q: As MSH evolves, it ‘feels’ more and more like a database front end environment sometimes – something that deals with extracting and correlating information from a large store. Where is this taking us?
A:
YES – the big difference is that with SQL, you had to put things in a SQL database to get those capabilities. Our big contribution, is the insight that you can provide the same sort of functions against live objects. Those live objects can then be anything – they can be transitory objects, they can be front-ends to data-stores, they can be front-ends to anything. e.g.

msh> notepad
msh> $g = gps
msh> stop-process notepad
msh> $g |where {$_.hasexited}

MSFT Bruce Payette (Expert):
Q: My question on replacing WMI with MSH was to be ready as such: is the supposed way to go is to lock down the direct usage of WMI and allow anything only via MSH? If not so, how does my MSH restriction policy restrict those, who know what is WMI?
A: We expect that this will be handled through role-based security and delegated administration. So – if you are authorized to run the msh command then it can access WMI but you won’t be able to access it directly.

MSFT Don (Moderator):
For a schedule of other chats that you might be interested in, go to http://www.microsoft.com/technet/community/chats/default.mspx.

MSFT Don (Moderator):
To download a preview of Monad technology go to http://beta.microsoft.com/content/bphome.asp. The GuestID is mshPDC.

分类: dotNET 标签:

考证国骂与中国人的婚姻安全感

2006年1月10日 没有评论

昨天看电视的时候,听见了一句标准的国骂:“王八蛋”,随即联想到了土著北京人的一句口语“丫”。

北京土著口语“丫”,最早不是一个字,完整的是“丫挺的”,只某个人不是嫡出,而是与丫鬟背地偷情生的。而“王八”在中国广大的范围上,指一个被带了绿帽子的男人,“王八蛋”就只这个男人的老婆与别人偷情生下的别人的儿子。

我们骂人的时候,从来都不本着“己所不欲,勿施于人”的原则进行,而是“己所不欲,非要加于人”。这样的话,“丫”和“王八蛋”自然是成为某些对于婚姻没有安全感的人用以诅咒别人最恶毒的语言了。这两国骂的流行,显而易见的体现出了国人普遍的对于婚姻没有安全感。

通过仔细分析,不难发现:发明“王八蛋”这个词的人应该是一个男人,而“丫”则是由一个女人发明的。这样原来的题目“考证国骂与中国男人的婚姻安全感”就不得不改为了“考证国骂与中国人的婚姻安全感”。免得被人冠以以偏概全。

分类: 未分类 标签:

什么时候开始评估WWF?

2006年1月5日 没有评论

和微软的专家讨论过这个问题,意见比较一致,等WWF的beta2出来以后再开始评估,是一个比较恰当的时间。现阶段作为WWF基础的WinFX已经接近于正式版了,但是WWF还不是很稳定,现在最新的beta版的主要目的还是要找bug,而不是交由外部测试。

现在想想,自己还没有这么早就开始关注某一个微软的新产品。

分类: WWF 标签:

微软的MVP会不会变得和MCSE一样?

2006年1月5日 没有评论

曾经我对MCSE极其向往,对MVP已是一样。但时至今日,却完全不一样了。

国内的MCSE与国外的MCSE不能同日而语,这已经是公认的事实了。有人深究其原因,认为这是国人以应试为目标造成的,是国人的劣根性之一。但是我认为这是因为MCSE是一种商业认证,是微软的一个产品,是用来赚钱的。

以营利为目的商业认证考试,自然不希望考试的题库很大,给人很难通过的印象,让人望而生畏。如果MCSE可以相对简单的通过,那么必然应试的人就会增多,一次考试一次钱。随着MCSE的名声在国内的变坏,不但MCSE的参加人数没有减少,反而增加了,可见一斑。MCSE要从娃娃抓起阿。

MVP本来是一个属于技术领域杰出人士的荣誉,但是现在却严重受到微软商业拓展活动的影响。这是一个过程,希望不要最终落得MCSE的下场。

分类: 未分类 标签: