存档

2006年1月 的存档

无聊的春节阿~~~

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的下场。

分类: 未分类 标签:

百度对我的Blog最感兴趣的内容

2006年1月3日 没有评论

按照频率排列顺序如下:
正则表达式
工作流
subversion
vs2005

70%以上的引用是来自于正则表达式的。

分类: Search 标签: ,

[引用]Oracle vs 热水器

2006年1月2日 没有评论

应用GOTOTOP的一个小文章,做工程售后的朋友应该看看:

技术支持:ORACLE vs. 热水器

注:现在这个网站貌似挂了…… 2010/8/21

分类: 未分类 标签:

2006新年寄语

2006年1月1日 没有评论

新年到了,但是我没有在家。独自一个人在威海,在想新的2006年和过去了的2005年的事情。

2005年是我真正的有开发人员转成开发加工程的一年。之前我做的都是开发性工作,2005年随着河南项目的正式启动,我开始做大量的工程性工作,而且工程性的工作远远多于开发性的工作。开始有些不习惯这样的工作,但是后来发现工程性的工作同样有着乐趣。随着工程的进展,我发现实际上工程和开发是分不开的,这样开始让我站在客户的角度上考虑对于应用的需求。

2005年也是我全面转换业余研究方向的一年。以前我都是*nix与win两个平台、Java与dotNET两个平台都进行研究,但是现在我全面转为dotNET。原来的工作由于全面转向了Java,我也从那个公司离开了,虽然和那个公司有很深的感情。家里的服务器也由FreeBSD变为了Win2003,数据库也由原来的MySQL变成SQLServer。希望若干年以后这样的转变是值得的。

2005年微软开始全面推荐WebCast,MSDN和TechNET都推出了大量的Webcast,正是这些Webcast推进了微软技术圈的交流。正是这些Webcast是我感觉到了自己在技术方面的还有很大的差距。古人云:知耻后勇。希望2006年成为我转折的上升阶段。

2006年还想做一些新的尝试,比如希望自己能完成一两个.net软件产品。在开发和工程中完善自己的技术,并能带来一定的回报。同时也想尝试以自己的方式做webcast的尝试,2005年的12月份曾经实验性的做了一个如何安装SPS2003的webcast,但是并没有将它推出来。我想2006会有更多的我自己的webcast推出来。

今天是新年的第一天,祝我自己在2006年好运。

分类: 未分类 标签:

SSO的假脱机问题解决

2006年1月1日 没有评论

前两天SPS的数据库服务器坏了,数据被迁移到了备用数据库。这两天把原来在SPS上做的应用都检查了一遍,发现一个使用SSO的Webpart不能正常工作了,表现就是SSO不能正常取出数据,成脱机状。

找不到原因,有怀疑是迁移数据库或者安装了SPS2003的SP2造成的,于是重新安装了SPS2003而且没有安装其SP2。但是问题依旧,于是开始分析我的代码。最终发现是我的Webpart的问题:界面上显示从SSO当中获取的帐号,是在调用一个WebService并得到正常返回以后才显示,而当数据库迁移以后,WebService的数据连结没有更改过来,WebService没有返回一般性的错误代码;而我的代码只对WebService正常返回和一般性错误信息进行捕获。这样造成了我的Webpart的假脱机状态。

最终可以确定SPS2003的SP2不会对SSO造成这样的影响,但是不能确定数据库的迁移会不会对SSO造成影响。

分类: SharePoint 标签: ,

变更SPS2003的数据库服务器

2006年1月1日 没有评论

在以前的Blog上面曾经对这个方法曾经进行过描述,但是当时没有验证。这次服务器坏了,终于有机会进行验证了。只不过这次不是服务器升级,而是服务器坏了,要换成新的服务器。

下面是引用的原来Blog内容。
场景:
用户的SQL Server 2000服务器需要扩容,原本想做SQL Server服务器群,后来客户决定从新建SQL Server服务器,SPS使用新的SQL Server 2000服务器。
方法:
1.在“配置服务器场拓扑结构”中去掉服务器场中所有的服务器角色的设置。
2.在“指定配置数据库服务器”中断开与当前的数据库服务器的连接。
3.将旧的数据库实例暂停,复制SPS的配置数据库和内容数据库的数据文件和事务日志文件到新的数据库实例上面上。
4.在新的数据库实例上面创建配置数据库和内容数据库。数据库的名称不能改变。
5.在新的数据库实例上配置新的帐号。帐号应使用原来的数据库帐号。
6.回到SPS的“指定配置数据库服务器”,当中按照“连接到现有的配置数据库”进行配置。
7.重新启动“SSO”服务,并将服务改为“自动”。
8.重新启动SPS服务器。
说明:
第8步,不知道什么服务需要新启动,所以干脆重新启动了服务器。各位同学可以试试看,到底是哪个服务器需要重新启动。

此外需要说明的是,除了SPS的以外,WSS的配置数据库和内容数据库也需要调整。在调整完成以后,需要把旧的服务器从服务器列表中删除。

分类: SharePoint 标签: