Half-Blood Programmer

Jexus Series: Announce Jexus Manager, Management Console for Jexus Web Server

As illustrated in early posts, Jexus web server is more similar to IIS, if we compare other famous web servers available on Linux. To better assist ASP.NET developers and professionals to migrate their web applications to Jexus, I have been…

Obfuscar: Where Does Extra Overriding Methods Come

An issue has been reported to me one year ago, but I could not easily fix it as the code base was not quite clear where the bug comes from exactly. https://obfuscar.codeplex.com/workitem/7 Don’t get me wrong. It is pretty easy…

Obfuscar: F#, Mono.Cecil, and Method Overriding

Due to the announcement of Google that it is going to shut down Google Code, I finally decided to take the chance to migrate all Obfuscar issues at Google Code to GitHub. The migration was smooth and everything is now…

#SNMP Pro: FAQ for SharpSnmpPro.Mib Release 1.1

Some users wrote in to ask questions about this new release. Here I pick up a few common questions as FAQ. Q1: #SNMP Library 8.5 requires KB2468871 to be applied for .NET 4.0 environment. Does that restriction also affect SharpSnmpPro.Mib?…

#SNMP Pro: Release 1.1 is Out

You probably noticed that #SNMP Library has just been updated to 8.5 and released finally at NuGet.org, http://www.nuget.org/packages/Lextm.SharpSnmpLib/ Of course, #SNMP Pro has an important update too, which I announce at this moment. Yes, it is the 1.1 release of…

Switching to OS X: Initial Days

It was last week that I finally decided to buy a Macbook Pro as my new laptop. So it worked fine then when I was away from home at Hong Kong, before today I had some time to hook my…

#SNMP Update for iOS Unified Projects

Xamarin has sent me several mails regarding how to update component submissions to latest iOS platform. Thus, I made a few changes recently, which you can find at GitHub. Project File Changes I have created several testing projects, and found…

How to Handle CORS Preflight Requests in ASP.NET MVC/Web API with Windows Authentication

It is interesting that many ASP.NET developers find this something hard to do, so I write the tips out to reveal that starting from IIS 7 Microsoft makes things so much easier. What is CORS Preflight Requests Well, I don’t…

IIS URL Rewrite Tip: Break Free

Some IIS URL Rewrite beginners usually wonder how to write the rules properly. Except learning regular expression, which is the key of rewrite rules, you should also pay enough attention to the rule engine and the special settings the engine…

2014上海马拉松照片服务

各位客官,小店本年度第一次尝试上海马拉松拍照服务,拍摄地点在淮海中路饮水点和万体馆终点处。所有照片一律是5472 X 3648原片(未修)。上架仓促,恐有不周之处还望各位海涵。有任何疑问请联系店家,将尽快回复(平时工作较忙,一般晚间回复)。 拍下后两日内发货。下单时请务必在留言处留下收取原片的邮箱,本店将以邮件形式发送给您。如果忘记留下邮箱,请留言给店家另外处理。 先行感谢各位的支持 店址 http://shop114831509.taobao.com/category-1009720505.htm?spm=a1z10.3.w4010-9272304621.7.pHgRi7&search=y&categoryp=50050572&scid=1009720505#bd 附上全部照片列表,以便查找 照片编号        马拉松选手编号3270    B7049/B2419/A82753269    B4307/B70493266    B62653265    A102/B39873264    B2234/A5692/A12553263    B22343259    B84113258    A48173257    A4817/A52403255    A45583254    A4558/A13013253    B2974/A13013252    A80713251    B3434/A80713250    A932/B34343249    B3953/A48353248    B3953/A48353247    A56813246    B7363/A56813245    A4982/B73633244    B2119/A4982/B73633242    B30343241    B61883240    A68/B39363239    A68/B39363237    B21783235    8396/14053233    74763231    B28373229    A46463228   …

Mono历史片段:Novell的崩溃和Xamarin的浴火重生

Novell 是一家神奇的技术公司[1],它自行开发和收购了很多不错的软件和标准,包括但不限于 NetWare,IPX,WordPerfect,Quattro Pro,Unix,SUSE和Mono。和它曾有心挑战微软的霸权,虽然最后以失败收场,但是在整个开源运动的过程中,它所扮演的角色无可取代, 于1993年收购Unix System Laboratories并获得UNIX版权,最终在SCO诉Linux一案中Novell保卫了Linux[2]。 收购Ximian和SUSE,使得Mono这个开源项目得到了一个相对宽松的发展环境并进入了企业市场。(这部分前话今后会另外撰文) 与微软达成了交叉专利合作协议以增进产品互操作性,也促成了Moonlight项目开发过程中Mono和.NET团队的合作。 但是由于运营状况不佳,2010年11月Novell被Attachmate集团收购,并且大约半年后开始大规模裁员。在各个产品中Mono团队受到的影响最大,全部失去了职位。当时正值MonoTouch和Mono for Android产品发布的初期,这两个极有价值的项目突然面临不确定的未来,原有用户的产品激活服务也遇到困难。这使得好不容易积累的用户群体突然感到恐惧。 不得不承认Miguel de Icaza是个做事很有腔调的人[3]。他重新找到了Nat Friedman,并且创建了新的公司来继续Mono产品的开发,名叫Xamarin。由于Attachmate当时仍然掌握着MonoTouch等收费产品的版权,所以Xamarin只能基于Mono开源项目的源代码重新开发类似MonoTouch和Mono for Android的全新产品,并准备在最短的时间内将它们推向市场。很多老用户和潜在新用户都在焦急的等待中等待着Xamarin新产品的发布。 当然谁也没有想到到了七月事情峰回路转,Attachmate旗下刚刚建立的SUSE部门主动找上门来。Xamarin和SUSE达成了一揽子协议,让MonoTouch和Mono for Android的版权回到了Xamarin手中[4], Mono,MonoTouch等产品的全部知识产权由SUSE授予Xamarin。 Xamarin则继续为SUSE的客户提供相关产品的技术支持服务。 Mono开源项目的主导权也由SUSE转交到Xamarin手中。 经过这样的公平交换,Xamarin终于卸下专利包袱可以全力投入到开发之中。有趣的是,MonoTouch和Mono for Android其实由两拨人开发完成。在Xamarin初期为了避免专利问题,这两拨人交换了角色,来开发对方曾经做过的部分,据说其中诞生了很多全新的想法和实现。在拿回MonoTouch等产品版权后,这些新东西也逐步注入到产品之中,总算没有白费气力。(后面会开始介绍Xamarin公司的兴起) 但是值得注意的是自从Xamarin创建后,很多留下Novell时代印记的技术就失去了原来的地位,它们包括 libgdiplus和Mono的Windows Forms实现 Mono for Visual Studio,一个在Visual Studio开发和远程部署调试Mono程序的插件 Moonlight,开源的Silverlight实现 同时也有部分Mono核心团队的成员因为个人的原因加入其它公司或者创建了自己的公司。事实证明这些同学其实从来没离开过这个业已庞大和有生命力的生态系统,他们又在新的岗位上推动了Mono的发展(后面会详细介绍两位)。 最后不得不提一下2014年九月的一段新闻。MicroFocus公司宣布收购Attachmate集团,并由此获得了Novell这个厂牌。有趣的是MicroFocus同样收购了Borland厂牌。这两个古老而著名的品牌最后以这种方式到了一起。 参考 [1]…