Half-Blood Programmer

reStructuredText Extension: Broken in VSCode 1.9.0

A user reported this issue a few days ago that the extension no longer works after VS Code 1.9.0 release, while I was packing up things before my departure from Shanghai to Montreal. I could not even debug VS Code…

.NET 和 Mono 的一点历史

提到微软公司研发 .NET Framework 的初衷,难免要提到 SUN 公司1995年推出的 Java 语言。由于 Java 在业界得到了广泛的支持而且迅速建立了庞大的生态系统,微软也不得不考虑如何加以应对,毕竟自己手里的 Visual Basic 和 Visual C++ 和 Java 一比都有不小的差距。这也就导致了1996年3月12日发生了让业界吃惊的一幕,微软居然从 SUN 取得了 Java 的相关授权,可以开发 Java 平台的 IDE 产品[1]。微软当时预计大约1996年年中便可以推出相关的开发工具。跳票许久,10月15日,微软正式发布 SDK for Java,两个月内下载次数超过50,000。11月,Anders Hejlsberg 离开 Borland 公司,加入微软。 1997年1月微软终于推出了 Visual J++ 1.0。然后由于测试的失误,发布后由于安装镜像无法支持当时已经很火的 Windows 95 操作系统,微软不得不宣布将尽快修复这一问题[4]。3月3日,微软推出…

#SNMP: LordGate Release and The .NET Core Port

The 9.0 release (LordGate) was published on Feb 12 at NuGet, https://sharpsnmplib.codeplex.com/releases/view/116908 The most important change is this new package requires .NET Framework 4.5 and above. More accurately speaking, only if you are using it on .NET Framework 4.5.2, there…

What Microsoft and Xamarin Can Deliver Together

I am more than happy to see Microsoft acquired Xamarin a few hours ago, as I have been observed both for a very long time and currently working on a presentation on March 12 to talk about the history behind…

The 2015 of LeXtudio and Me

2015 was a fantastic year for LeXtudio and me. So below is a summary on what were the achievements. Projects There are several open source projects under the LeXtudio brand, and each of the active ones has been updated in…

DockPanel Suite: Story of A Same Old Brand New Theme

You probably know already that we are now publishing DockPanel Suite themes separately in many NuGet packages. Only the VS 2005 theme is built-in, as many DPS elements hook to it too tightly. It is quite beneficial to split the…

Jexus Web Server and ASP.NET Cross Platform

Jexus Web Server and ASP.NET Cross Platform

I was invited by Mingzhi Yi to give a talk at Jiaodong Developer Conference 2015 on 12 Dec. It was about my opinions on Jexus and ASP.NET cross platform development. This post is based on the same materials, and includes…

IIS迷宫之消失的证书

在网站开发和测试工作中,总有一些场景像迷宫一样繁杂,以至于一个不小心就会如无头苍蝇到处乱撞。今天这个案例便起因于一个小设置,但没有恶补下X509证书基础知识的看官们恐怕尚且需要些时间来消化啊。 “老大,总监刚才说我们的官方网站要加装证书启用HTTPS!!!怎么搞啊?” 小张每次都是这样大着个嗓门,完全沉不住气,即使我这副耳机有主动降噪功能也拿他毫无办法。 “怎么搞?上网找个CA申请一张呗,哪个便宜用哪个。你自行股沟一下啦。” 每逢这种场面,我还是蛮放心大胆让手下人自己去钻研,毕竟他们年轻力壮,就是不幸要加个班也从来不抱怨。嗯,加班有晚餐补贴对于这些小朋友还是蛮有吸引力的。 所以我就放心的摘掉耳机,关了电脑下班走人了,留下小张一个人在屏幕前抓耳挠腮。 第二天,本想着小张同学一切搞定该找我报销买证书的钱了,结果远远瞧着他一上午都在电脑前磨洋工,也不知道是不是又在捯饬私活。懒得管他。 要吃午饭了,我一看没带钱包!!!只好硬着头皮走向他的工位,看看这个中午十二点唯一还在办公室的小年轻能不能借点零钱给我吃个麦叔叔。 “忙啥哪?怎么还不去吃饭?” “老大。。。”那小子居然一脸沮丧,无精打采。 “怎么了?昨天。。。”我回头看看四下无人,“搞私活又加夜班了?” “天地良心啊。。我真没干私活!”这小子还嘴硬,不过手指指电脑屏幕,让我看他似乎一直开着的IIS Manager。 “老大,你来看下,这个证书申请回来死活装不好,一定是微软产品的bug!” “哦?”我最烦手下人自己搞不定就抱怨别人产品有bug,你丫的有证据吗?“Show给我看看。” 小张点了几下鼠标,然后轮到我陷入了深思。。。 偶的内心戏:“TMD还真邪门,明明这个CER证书从IIS向导加入就完成了证书安装,而且IIS Manager立即把它显示在了可用证书列表里,怎么退出再进来这证书就消失了?这还真可能是微软的产品质量问题哪。” 内心另一个长了角的声音在叫唤:“作为资深IIS专家和四届微软MVP,你怎么可以陷入深思这么久,笑死!!!别想了,快投降吧,不然午休时间要结束了!!!” “嗯,这个情况确实蛮奇怪的。。。”我尽量用平静的心情挤出这几句话,然后巧妙的转换了话题,“不过民以食为天啊,不要为了工作废寝忘食嘛。来来来,中午我请你吃个饭吧。换换脑筋,咱们下午一定把它搞定。要是微软产品的bug,找他们技术支持开case可就是免费的啦。” 这小子还蛮听话,拿了钱包和手机就跟出来。挺好,要能找个上菜慢点的馆子吃起来,还能多点时间思考思考。 实话实说,公司楼下这商店今天蛮乱糟糟,满眼都是胸前挂着参观证、背着各式双肩包、拉着各式行李箱的男男女女。如果旁边再多几个漂亮的美女摇摇旗子,那简直是我国壮观旅行团的大聚会啦。不过,他们仅仅是来隔壁的展览中心逛完展览来吃个饭罢了,顺便挤爆下那些看似经济实惠的餐馆。这当然意味着今天我们也免不了在面条馆子门口排个队了。小张正刷着微博,脸上一副放松的神色,完全没有工作没完成泰山压顶的表情,时不时还傻笑下,似乎又遇到某个好笑的段子。 反正这个饭偶是吃得伐开心,倒不是因为此刻被迫排在长长的队伍最后等叫号,而是反省为什么自己没有在之前那几分钟内抓住重点一举攻克那个问题。朦胧地感觉到,一定是某个细节被我简单粗暴地忽略了,而那个细节似乎就隐藏在微软公司某篇文章的角落里。之所以有这种感觉,自然是因为已经和这家公司打过太多的交道,熟到读着某些文字看着某些图片,就差不多知道后面的代码是按照什么思路在写了。那么,这次是哪个细节我没主意哪?“申请证书”-》“安装证书”-》“证书消失”,难道问题出在申请证书这一块?毕竟小张根本没告诉我他从哪里搞了这张证书,即使它在安装后确实出现在了列表里。确定了这个调查方向之后,服务员终于叫了我们的号,两个人才被领进店里。一人叫了一碗牛肉面。 “小张,你买下单,我要去收个快递先。”匆匆吃完面条,我拿上手机直奔办公室而去。 不出所料,小张同学没有锁屏,所以我可以马上看到还留在他电脑桌面的一系列文件, 一张CER证书 一个没有后缀名的文件 似乎是他从CA那边收到的全部文件。这差劲的CA居然连个说明文件也没给。那么这个没有后缀的文件是干什么的?用Notepad++打开一看也是一片乱码,毫无信息量。 也就在这个时候,鼠标乱点到了IIS Manager上的Import…按钮,然后思路豁然开朗!!! 循着这个思路我马上打开了小张机器的控制面板,瞟了眼他刚刚安装过的软件。 “嗯,果然装了这个。” 于是,我开了浏览器瞄了下几个网页,嘴角终于流露出一点点笑容。 “Bing bing bing…”,手机响了,“哦师傅,您在10楼货梯?我马上来我马上来。”随手按了下Win+L,我就向电梯间奔去。 再回到公司的时候,小张已经一脸虔诚的坐在位子上等我了,那小眼神充满了求知的欲望,看得人都不忍心先回座位把快递扔下,只好先走去他那边聊聊。 “老大,吃完饭回来这证书居然自己就好了!!!我真的什么都没动啊!!!好神奇哪!!!”瞧那兴奋劲头,不给他点color see see还真不行。…

#SNMP Library, Encryption, and Encryption Registration

One user wrote to me recently to ask if I can provide ECCN number of #SNMP Library. I was surprised initially, but later discovered that as a project hosted on both CodePlex and GitHub (US based), and a project with…

Web Application Differences in Visual Studio and IIS

Beginners of web development often find it strange to see their ASP.NET applications run differently in VS and on IIS. Well, they simply expect the same code base yields the same results, but what facts do they take for granted?…

%d bloggers like this: