Me Pedia

The Very Personal Encyclopedia

Tag: programming

BCGSoft 进驻 MFC

我可能是土了点儿,这其实是去年十一月的消息了,今天刚好在 Visual Studio 的 Start Page 里看到。
在 Microsoft 有更多的 framework 和编程语言,同时 Visual Studio 集成进更多功能的时候,Visual C++ 产品开始把精力和焦点放到他们擅长的 native code 开发上,这其中涉及到要提供更好的 native 库给程序员使用。
从 VS 2008 开始,Microsoft 将提供一个大大增强的 MFC,帮助开发者更方便地编写出具有 Office,IE 和 Visual Studio 外观风格的应用(Office 2007 的 Ribbon 迷死用户无数)。在评估和考虑了良久后,他们选择了 BCGSoft 作为合作伙伴,Microsoft 会以 BCGControlBar Library Professional Edition 为基础开始自己 MFC UI 部分库的更新。BCGSoft Pro 的很多部分,比方 visual manager,docking 面板,可自定义的工具栏和菜单,当然还有那个 Ribbon,都将 merge 进新的 MFC。

Microsoft [...]

Google 与 IBM 合作提供分布式系统试验环境与热烈庆祝十七大胜利召开

Google 和 IBM 8 号说,他们将合作为大学学生提供试验环境,方便他们学习开发大规模分布式系统上的软件。
在著名却少有人清楚了解的 MapReduce 阴影下,Hadoop 成了这个环境的首选。按 PR 的说法,这一合作是为了帮助 CS 学生们熟悉高度可并行程序的编写,在大规模分布式系统上这是新兴的前途与意义都很光明的道路。两者将合作提供软硬件以及服务,游说猫一样的教授们拓展课程范围和研究领域,这些当下的 CEO 们几年和几十年后有没有好日子过,就指着现在学校里美国派的神童了。
目前参与的学校有 University of Washington, Carnegie-Mellon University, MIT, Stanford, UC Berkeley 和 the University of Maryland,还真的一个都没缺。
Radar 的文章还提到了类似的系统:Hadoop with Amazon EC2。
Google 和 IBM 是大规模计算的典型需求和受益者,越早越多的有熟悉相关内容的学生,就有越好的人才储备。大学教育和业界发展的结合是美国人的骄傲,也只有拥有强劲和强盛的 IT 工业,才能这样热心积极地帮助和反馈高等教育的内容,教育昌盛,才能再保证工业界继续前进。中国和印度培养的工程师数量如何如何超过美国大学的说法,是忽悠国会和纳税人的,或者,红白脸儿齐上,就是忽悠对岸的中国人的。
我们特喜欢伟大“复”兴,从足球高尔夫到 GPD 与国力,总有人喜滋滋地说,中国早有了,我们世界第一,意思是老子好歹也曾经是个腕儿,现在无非虎落平阳而已,失势是失势,老大派头不能减。可轮到 IT 一行当,好像找不着“复”字了,那就自主“创”新,可据说现在的孩子们都积极入党了,那振兴 IT 产业,我看还是靠共产主义压倒太平洋好了。
[tags]google, ibm, programming, mapreduce, hadoop, computer science[/tags]

Mono 展示 Ribbon 效果

做跟跑者,跟得用心,也是可以跟出花样的。
Mono 是 *nix 上的 .Net 的实现,出娘胎始就有一堆四眼律师等着它好看,不过至少到今天它还没夭折--知道夭折和英年早逝的区别不?
参加 Google Summer of Code 的 Laurent Debacker 用暑假完成的 GTK# widget 再造了 Office 2007 的 Ribbon 界面,因为基于 Mono 实现,这玩意自然可以跑在任何集成好了 Mono 的 Linux 发行版上。
作为 lead Mono developer,Miguel de Icaza 说,他可能会把这些 widget 放入 Mono 的 subverison 仓库--这就可算正式接纳哟;下一步是可能会打包给开发者,他们就能开始用啦;另外或许他有兴趣试试把 Ribbon 界面用在 MonoDevelop 上。
Mono 至今仍面对不少质疑,我感觉法律和操作细节上倒不是大问题,从开发者角度看,Mono 的工作是有意义的,多一门可使用的语言--而且还是 Anders Hejlsberg 设计的语言!--和一个 runtime 其实是件好事,当然 Mono 的 runtime 也可以接受 [...]

Tera-scale Computing

这一期的 Intel Technology Journal 主题是 Tera-scale Computing。
和常在总裁身边出现的光鲜亮丽的 Audrey 本名是 翠花,独享办公室而神气活现的 Ansel 被叫做 狗剩 一样,Tera-scale 在 Intel 内部毫无光环地叫做 many core--many?多少算 many,80?80 也就 so so 吧。与此类似的还有 CSI--据称 marketing name 要叫 QuickPath 了……好难听。
这组 Tera-scale 专题由 8 篇文章组成,在 architecture 和 application 两方面。60 年代起头的处理器革命让这个世界多了一个独立类目,人们开始在其上构建新型的商业社会,处理器不再跟计算器混淆分不清,而是成为媒体,通信和商务工具的基础--这是上一波浪潮。在这期 ITJ 的 FOREWORD 里,几个作者认为,下一个 10 年期,处理器里有 2或4 核心不算什么了,数十个或者数百个核心的处理器才是常态。抛开如何做到这一点不说,如何利用好这样惊人的计算资源也是问题。和如今的计算机远超 ENIAC 一样,Terascale 的处理器可以提供过去的超级计算机才具有的能力。处理器之间会有 Tera 量级的 I/O 带宽,超常的核心间低延迟要求等等等等,这些属性都会催生今日难以想象的新型应用--早期只能在字符界面做文字处理工作的用户看到今日绚烂易用的 GUI [...]

Intel TBB 开源

在这两天的 OSCON 上,Intel 宣布,Threading Building Blocks,Intel 众多软件开发工具中的一个,open source 了。协议是 GPLv2。
TBB 获得过 17 届 Jolt Productivity Awards,是一套 C++ 模板库,和直接利用 OS API 写程序的 raw thread 比,在并行编程方面提供了适当的抽象,当然还包括更多其他内容,比如 task 概念,常用算法的成熟实现,自动负载均衡特性还有不绑定 CPU 数量的灵活的可扩展性等等。STL 之父,Alexander Stepanov 对此评价不错,他说“Threading Building Blocks… could become a basis for the concurrency dimension of the C++ standard library”。其他 TBB 的早期用户,包括 Autodesk,Sun,Red Hat, Turbo Linux 等亦然。现在 O’Reilly 已经出版了一本 [...]

为 iPhone 开发应用程序 (Part 3)

[Updated] 各位访问者,这个系列文章写于第一代 iPhone 发布时,那时候 iPhone 3G 以及真正的 iPhone SDK 都还遥遥无期不知踪影,所以,这个系列的文章只针对当时的第一代 iPhone,与现在的 iPhone 3G 几乎没有参考价值。敬告。
此系列:
为 iPhone 开发应用程序 (Part 1)
为 iPhone 开发应用程序 (Part 2)
在开头 Part 1 说了,Apple 声称 iPhone 有和桌面 Safari 一样的 WebKit,不过在实践上,开发者还是得考虑两者实际存在的区别。iPhone Safar 提供的 feature 才是可以依赖的标准,对那些不支持的东西,Apple 承认,得想办法 workaround。
一个差别是资源方面的。所有被下载的资源,包括 HTML, CSS, JavaScript, 图象, 非流媒体,都得小于 10M。JavaScript 的 top-level entry point 执行时间必须小于 5 秒,否则会抛出异常。这个要求是为了保证用户能体验到足够好的响应性。Apple 还列出了支持的 MIME 类型(都是些媒体格式)。
另外是 iPhone Safari [...]

为 iPhone 开发应用程序 (Part 2)

[Updated] 各位访问者,这个系列文章写于第一代 iPhone 发布时,那时候 iPhone 3G 以及真正的 iPhone SDK 都还遥遥无期不知踪影,所以,这个系列的文章只针对当时的第一代 iPhone,与现在的 iPhone 3G 几乎没有参考价值。敬告。
此系列:为 iPhone 开发应用程序 (Part 1)
小插曲:在我如火如荼地整理 ADC 上的 iPhone 开发资料并在昨天抛出了 part 1 之后,我发现……网站挂了。那种精心筹划并准备接受鲜花掌声和顶礼膜拜却发现因为一个愚蠢的原因而未果的感觉和上周末在伦敦 Tiger Tiger 俱乐部前放汽车炸弹却被人因运气而发现最后如意算盘落空的菜鸟恐怖分子一样。
在发现网站挂掉的那个第一秒,我自鸣得意地以为是被“类digg”了,不过很快发现有点不对头,之后到服务商 media temple 看了下,果然是他们出了问题。我那篇心血文章陷入了藏在深闺无人问的地步。后继报道显示,伦敦人对未遂的汽车炸弹心平气和,戴安娜演唱会照开不误,所以,网站挂就挂呗,part 2 照写。
在开始看 part 2 前, mashable 的这则消息你可能会感兴趣:8 Coolest iPhone Apps at iPhoneDevCamp。这个话题这周有空可以细说–不是戏说,谢谢。
今天又想了想 Apple 死活都不想公开 OS API 甚至是经过 SDK 包装过再提供的 API 的原因,我猜和 Apple 宣称 iPhone [...]

为 iPhone 开发应用程序 (Part 1)

[Updated] 各位访问者,这个系列文章写于第一代 iPhone 发布时,那时候 iPhone 3G 以及真正的 iPhone SDK 都还遥遥无期不知踪影,所以,这个系列的文章只针对当时的第一代 iPhone,与现在的 iPhone 3G 几乎没有参考价值。敬告。
Apple 确实为 iPhone 应用的开发定了条与众不同的道路--如 Jobs 大嘴巴所说--iPhone 上八成不再有什么第三方 native code 了,唯有 web app 才是 iPhone 第三方应用的正道--不过我猜如果哪个 ISV 面子够硬的话还是能有 SDK 来写 native 应用的 :-)
Apple 的开发者网站 Developer Connection 上已经推出了 iPhone 部分。只有一个内容,就是 Web Development for iPhone。按照 Apple 的设想和许诺,开发者能够写出和 iPhone 内置应用在外观和功能上差不多的第三方程序–这是暗示内置程序亦是 web app 呢还是只是夸耀 apple 提供给第三方的开发能力使外人也能写出和内置的 native [...]

硬件模拟及驱动调试

IBM developWorks 上的两份文章
Debugging simulated hardware on Linux, Part 1: Interrupts and Interrupt Service Routine
Debugging simulated hardware on Linux, Part 2: Device driver debugging
讲述怎样构建模拟环境调试Linux驱动--感觉文笔有点乱,莫非因为作者是印度人?……
[...]

任天堂GBA编程

Jonathan S. Harbour 在自己的网站上贴了篇 Programming The Nintendo Game Boy Advance。看日期今年1月25号最后更新的,有些日子咯。
这份因为与任天堂有些不能解决的法律问题而没有付梓的劳作有完整PDF下载。
在VisualBoyAdvance emulator上的运行效果演示。

还是小孩的时候,从来不知道世界是怎样运转的,那些神秘的规律,奇妙的实际…… 长大了,从F = ma开始,可以慢慢理解,重新审视世界,那种你也能掌控和改变一些东西的感觉,是什么都不能比拟的。
[tags]gba, game, 任天堂, nintendo, programming[/tags]