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…

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]…

.NET 开放源代码和Mono相关的常见问题(持续更新中)

  Q1: Mono 已死 我:Mono 历经十余年发展,已经成长为一个庞大的生态系统。.NET Framework 和 Mono 的交集仅限于 CLR/编译器/BCL 底层以及 Web 栈。.NET Framework 的上层为 Windows 和 Azure 设计。Mono 上层针对 Linux, OS X 等多平台设计,其中不可替代的东西很多(虽然很多被 Xamarin 拿去做了商业化产品,如Xamarin.Mac)。 在开放.NET Framework 核心源代码之后,微软当然可以把 Mono 里面它需要的部分合并进去,不违反 Mono 的开源协议。但从它现阶段承诺跨平台技术支持的范围(server/web)来说,像 GTK# 这种桌面栈以及其他类似的 Mono 组件明显不在它的兴趣之内。这些栈未来的发展(例如 GTK4 的支持)未来依然需要在…

.NET Framework和Mono大事记(初稿)

June 2000, .NET Framework Beta 发布[1] * July 19, 2001 Mono项目启动[2] * Feb 13, 2002 .NET Framwork 1.0 发布[1] * Aug 4, 2003 Novell 收购 Ximian[3] * June 30, 2004 Mono 1.0 发布[2] * Nov 2, 2006 Novell 与微软达成合作[4] *…

DockPanel Suite: ContextMenuStrip Behaviors

#255 on GitHub is an interesting bug of DPS, and this post aims to show how I came across the fix. You can see from the screenshot that the context menu strip for listed windows was wrongly rendered on the…

Jexus Manager for IIS Express

You probably know Jexus Manager has been out for a while. Since I decided to implement Microsoft.Web.Administration namespace on my own and mapped Jexus settings to that model, it is technically possible to develop other mappings, such as the ones…

Jexus Manager Server Side Update: Security Concerns

Before the 1.0 release of Jexus Manager, several security protection were added gradually. HTTPS Enforcement (1.0) This is the basic protection added to encrypt network packets, https://github.com/jexuswebserver/jxmgr/commit/842416c6f96ceef6c18078d76ae091c1ea591143 Simple Authentication (1.0) Jexus Manager server component allows user name and passphrase to…

Obfuscar: The Story Behind "Inconsistent virtual method obfuscation state detected"

“Inconsistent virtual method obfuscation state detected” has been a well-known issue of Obfuscar for a while but users do not seem to fully understand the rationale behind it. This post is going to cover the technical details. The Scenario Assume…

Obfuscar: Mono.Cecil and Portable Class Libraries

It must be a pain to see that Mono.Cecil includes PCL support, but you still find PCL breaks Mono.Cecil based utilities, such as Obfuscar. Forgive us, as Microsoft designs it in a horrible way. There is still too much to…