RSS 2.0 Feed

Friday, December 07, 2007

在2006春天参加在美国Las Vergas的MEDC就看到了Micro Framework创建的设备以及机器人,当然对微软使用Micro Framework创建的微软手表以及做笔记本的第二显示屏的Sideshow仰慕已久。我在Windows Mobile和Symbian等手机平台上做过多年C++/C#的开发,但从来没有写过设备驱动,但心里向往编写驱动程序但没有机会,所以一拿到Micro Framework的开发板,就开始自己的第一个设备驱动程序之旅。

基于.Net Micro Framework设备开发很简单,需要一台运行Visual Studio 2005的电脑,下载并安装免费的Microsoft .NET Micro Framework SDK( http://www.microsoft.com/downloads/details.aspx?FamilyId=32F5DF20-6C95-4FE8-A76C-0ED56A839AD2&displaylang=en ),然后选择一个开发板或者和微软签协议自己创建开发板,去一些芯片厂商或代理的网站订购GPS或传感器的芯片,就可以编写驱动和应用了。如果应用和设备都测试完成,就可以去找Design House设计外型,找工厂批量生产。如果只是学习如何开发应用,所有的工作都可以在模拟器上完成,包括编写模拟设备。

在这个入门的项目中,参考微软.Net Micro Framework团队的博客文章”Building a Thermostat with the Microsoft .NET Micro Framework”( http://blogs.msdn.com/netmfteam/archive/2007/11/12/building-a-thermostat-with-the-microsoft-net-micro-framework.aspx ), 选择Embedded Fusion的Tahoe开发板和AD7314开发一个温度计。首先介绍一下准备使用的Analog Devices公司的 AD7314,是一个MSOP-8封装的温度传感器,包含一个10位的带隙温度传感器和一个10位的A/D转换器。另外,AD7314还具有一个串行接口,其与SPI、QSPI和MICROWIRE及DSP总线协议兼容,使得它与微处理器接口十分方便。AD7314的外形也非常的小,这正是有一些手机和硬盘使用的这个芯片的原因。具体的技术特点如下:

(1)10位数字温度传感器;

(2)工作温度范围–35oC 至 +85oC;

(3)精度:+2oC;

(4)SPI和DSP兼容串行接口;

(5)休眠模式。

AD7314的图片如下,就是最下面的那个小黑块:

因为AD7314使用广泛,所以采购也很简单,在digikey.com的网站上就可以直接网上定购(定购可参考: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=AD7314ARMZ-ND)买一个需要1.63美元,因为我本人这段时间在温哥华,运费也很低,如果中国的朋友感兴趣,我可以购买之后让朋友带回去 。AD7314的图片:

PA300372

选择开发板

微软Micro Framework的主页上有很多公司提供硬件运行.NET Micro Framework,因为相比之下张欣告诉我的Embedded Fusion比较便宜,再加上他们公司有一个embedded MVP叫Steve Maillet非常热心,所以选择了Embedded Fusion的Tahoe开发板( http://www.embeddedfusion.com )。其实也可以选择飞思卡尔的i.MXS开发工具包,零售价499.10美元 (http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=02XPgQ8217297301A5).

PB060443

在编写驱动之前,需要把AD7314和开发板用线连起来。由于AD7314实在是太小了,像米粒那么小的芯片上引出八支脚,测试时连线比较困难,所以在digikey.com上购买了一个供AD7314使用的面包板33108CA-ND(定购可参考:http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=33108CA-ND ), 虽然引脚间的距离很小,还是需要小心的每支脚都焊起来。

PB060444

连线

接下来就得连线了,AD7314温度传感器芯片引脚示意图如下:

PB060445 PA300399

在芯片上有一个小记号代表引脚1,通常习惯面包析朝下时,引脚1放在左上脚。因为AD7314使用SPI总线通讯,所以把AD7314 引脚和开发板上的SPI端口连起来。使用SPI需要一个引脚来激活,通常使用一个GPIO的引脚就行了,在这里可以选择一个在开发板上离SPI端口最近的PA7,也就是GPIO pin 5,一会儿在驱动程序中需要指定是Pin5来激活。

连线的任务很简单,VDD代表电源连到开发板的+3.3v, SCLK (serial clock,串口时钟)连到开发板的串口时钟,SDI (serial data in) 和 SDO (serial data out)分别连到开发板的MISO(master in, slave out)和MOSI(master out, slave in).

PB060435 PB060441

连线有个诀窍,除了必需使用焊接外在测试时尽量少用。在这里使用连线的诀窍有两个:一个是使用网线里的双绞线做连线,二是使用橡皮圈来连接引脚和电线。废弃的网线随处可得,使用双绞线的好处是里面的铜丝比较硬,连接时各自都有自己形状,不会互相干扰; 使用橡皮圈连接引脚和连线可以避免使用焊枪,一则可以重用连线,二则实现也简单,橡皮圈可以找气门芯或者粗一点的电线皮代替。

在下图中,在主板上使用了一个连接头S5682-ND,(定购参考:http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=S5682-ND ),这样可以直接把连线插到连接头里,双绞线比较坚硬,可以直接插到连接头里,而且很牢固,使用焊接是个体力活,做起来很花时间。

PB060437

创建驱动的项目

使用Embedded Fusion的Tahoe开发板另一个好处是提供了一系列模板,当然包括SPI Device Driver的模板,在VS2005中新建项目如下图:

NewDriver

项目创建完毕之后添加一个常量声明:

public partial class AD7314 : SPIDeviceDriver;

const int ClockRateKhz = 4000;

然后修改AD7314的构造函数为:

public AD7314()

{

SPI.Configuration cfg = new SPI.Configuration((Cpu.Pin)5

, true

, 0

, 0

, false

, false

, ClockRateKhz

, SPI.SPI_module.SPI1

);

base.Config = cfg;

}

注:第一个参数(Cpu.Pin)5是因为在上面文章中使用第5个引脚来激活温度传感器。

这样就可以使用基类中WriteRead函数的读取数据了:

public float ReadTemperature()

{

// Create the output and input arrays of bytes

byte[] bout = new byte[2];

byte[] bin = new byte[2];

// Set the output bytes both to 0

// This sensor doesn't need any commands. All this method does is read

// the input data, so the output is simply for SPI clocking

bout[0] = 0;

bout[1] = 0;

// Write the clocking info, then read the input data

base.WriteRead(bout, bin);

根据温度的数据格式转换数据格式:

table

代码如下:

// Convert the 2 byte value according to the AD7314 data sheet

// Put the raw bytes into an int

// Mask the upper bit, which is a sign indicator (+/-)

int s = (((bin[0] << 8) + bin[1]) & 0xBFFF);

// Convert to a float

float f = s;

// Shift right

f /= 128;

// Detect negative

if ((bin[0] & 0x40) == 0x40)

f = -f;

// Return the temperature

return f;

}

如果不想使用Embedded Fusion的Tahoe项目模板,也很简单,只需要在Class AD7314里根据cfg创建一个SPI的成员变量,调用SPI的WriteRead函数。

读取温度

在.Net Micro Framework中使用温度也非常的简单,只需要在项目中引用刚才创建的Class Library, 只需要在需要读取温度的地方如下调用:

// Make sure the sensor object is valid

if (_sensor == null)

_sensor = new AD7314();

// Read the value from the sensor

double temp = _sensor.ReadTemperature();

注:本文章参考微软.Net Micro Framework团队的博客文章”Building a Thermostat with the Microsoft .NET Micro Framework”:
http://blogs.msdn.com/netmfteam/archive/2007/11/12/building-a-thermostat-with-the-microsoft-net-micro-framework.aspx

有关.Net Micro Framework的开发的信息:

1. Mobile MVP张欣的第一个Digi开发板上的.Net Micro Framework程序:Hello Morse Code; Hello .NET Micro Framework.(http://mobileside.cn/blogs/breakstring/archive/2007/10/06/MorseCodeOnDotNETMF.aspx)

2. Embedded MVP刘洪峰的博客:http://blog.csdn.net/yefanqiu/,包括Digi开发板初探和模拟器改造一系列的文章

3. 微软.Net Micro Framework主页:http://msdn.microsoft.com/embedded/netmf

4. 微软.Net Micro Framework开发团队博客:http://blogs.msdn.com/netmfteam/

5. Windows Vista Sideshow:
http://www.microsoft.com/china/windowsvista/features/foreveryone/sideshow.mspx

6. 微软手表: http://direct.msn.com/

posted @ | Feedback (9) |

Thursday, January 25, 2007

我三十多岁了,看到这篇文章有感,转载:        
老鷹在四十歲時,經過痛苦的換喙、拔毛過程,重新得力展翅飛翔
    我在山區已經住了十五年,常有機會看見老鷹,不過總是遠遠地欣賞它的神采,從沒想過老鷹的生命可以帶給我這麼大的激勵。
    最近有個老友,忽然決定放下工作,帶著妻小出國讀書,臨行前他沒有告訴我這是哪裡來的勇氣,只email給我他出國後的聯絡方式及這個老鷹的故事:
    老鷹是世界上壽命最長的鳥類,牠的一生可以長達七十年。不過要活那麼長的壽命,牠在四十歲的時候,必須做出一個困難卻非常關鍵的決定。因為當老鷹活到四十歲時,牠的爪子開始老化,無法有效地抓住獵物,牠的喙也漸漸變得又長又彎,幾乎碰到胸膛。而
牠的翅膀也因為羽毛長得又濃又厚,所以變得十分沈重,也使得飛翔更加吃力。這時候的老鷹只有兩種選擇:等死,或是一個十分痛苦的更新過程。牠必需在懸崖上築一個特別的巢,並且停在那裡,不得飛翔,進行長達一百五十天的痛苦過程。老鷹首先用牠的喙敲擊岩石,直到完全脫落,然後靜靜地等待新的喙長出來。接著,牠再用新長出來的喙,把原來的爪子,一根一根地拔出來。然後當新的爪子長出來後,再把自己身上又濃又密的羽毛一根根地拔掉。五個月後,新的羽毛長出來了,老鷹重新得力又開始飛翔,再過三十年展翅上騰的歲月。
 
    看完這篇「老鷹的故事」,忽然覺得眼睛一亮,好像為長期以來不斷因為忙碌而深陷在倦意和無力感中的自己,開啟了一個鮮活的眼界。會不會因為多年累積出來的習慣、自己已經熟練不願放棄的方法、他人或自我過高的期許、不肯原諒和被原諒的過去....,漸漸成為我們的重擔。會不會因為一直以來我們只吃合自家口味的東西,只依自己脾氣的好惡來看人,只走熟悉的路,只用舊有的經驗判斷,只以固定的模式回應....以致於總是有家族遺傳的習性或疾病,以致於錯過了許多值得欣賞的朋友與風景,以致於工作不能再上一層樓,以致於生活不再有驚喜。而這些我們自己緊緊抓在手裡的,會不會在不知不覺中逐漸成為生命和身體不必要的包袱,開始拖磨我們的意志,使我們不再期待、不再嘗試、不再作夢、不再勇於付出。生命漸漸失去了光彩,熄滅了起初的熱情。
 
    透過老鷹重新得力的過程,讓我醒悟到,只要願意付出代價讓自己重頭來過,放下過去習慣的公式思考,停止選擇那輕鬆的、容易的、習慣的、推託的、容易放棄的態度,縱使必須經歷一段重頭來過的辛苦,但相信我們必能重新得力,展翅上騰。
 
    在黑幼龍老師所寫的「創造自己的機運」一書,其中有一篇文章提到了麥克阿瑟將軍的座右銘,那段文字是由十九世紀一位猶太教長老,也是一位學者烏爾曼(Samuel Ullman)所寫的,最後願在此與你分享:
 
    你的信念會顯示你有多年輕
   你的疑慮會顯示你有多蒼老
   你的自信多強就表示你有多年輕
   你的恐懼多深就表示你有多蒼老
   你與你的希望一樣年輕
   你與你的絕望一樣蒼老
   歲月會在皮膚上留下皺紋
   而靈魂的皺紋卻是消極的心情刻下的

posted @ | Feedback (52) |

Saturday, October 15, 2005

海峡两岸共推移动开发黄金周 百份大奖等你拿
        金秋十月,微软MSDN Webcast联合Windows Mobile部门精心策划并推出了十月移动开发技术黄金周活动,数位微软最有价值专家将为您带来6场Mobile开发的网络广播课程。我们将见到马宁,侯月文,张一雷,张欣给我们带来的精彩讲程,另外我们还特别邀请到了具有丰富移动企业应用开发经验的台湾讲师叶佰苍,他将带来有关台湾Mobile开发的经验和最新讯息。 
        6场讲座内容包括基础的UI界面设计,企业应用开发的移动数据库编程,更有跟游戏开发息息相关的Direct 3D移动编程。所有的讲座将用.NET Compact Framework 2.0和微软最新的开发工具Visual Studio 2005来讲解,您将感受到微软强大技术带来的全新体验。 
        除了技术上的惊喜,微软Windows Mobile部门还准备了百份礼物。只要您参与我们的讲座,就有机会赢得,参与全部6场讲座的听众另有奖品相送。详情请查看MSDN网站http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/Mobilegoldenweek.aspx

Windows Mobile新闻ISV(中文版) 新增第五期

posted @ | Feedback (26) |

Sunday, September 11, 2005

在Tech Ed被译为微软技术大会之前,一直叫做微软技术教育大会。新的说法是从去年开始的。究其原因,绝对不是象新京报的这篇报导上说的所谓“教育”往往给人一种居高临下的感觉,演讲者高高在上,具有相当的心理优势;而听众往往只能静静地聆听,扮演着“学生”的角色。诚然,微软在软件领域的成就,在中国的软件企业看来,在相当长一段时间内,几乎是可望而不可及的。但是,如果微软因此沾沾自喜,并将这种心态带到与用户打交道中来,就显得有些不合时宜了。

当然这只是中文说法的变化,只能证明微软在中国的教育认证部门被其它光源所掩盖。我记得美国MS员工是可以免费参加MCSE/MCSD考试的,中国微软员工例外。Tech Ed作为微软在许多国家和地区的重要会议,使用的是相同的会标。ED的含义微软的掌管教育部门和广大的技术培训中心会在大会上给大家做更大的贡献。在这次北京的TechEd上可以免费参加新一代模拟型考试和免费升级MCSE2000到MCSE2003,假如参加MCSE2003考试可以享受200元每门的优惠。

详见http://www.microsoft.com/china/teched/events/exam.asp.

posted @ | Feedback (6) |

Thursday, September 01, 2005

 无线增值行业的发展速度几乎可以用空前来形容,HopeQ不止一次说我们拓杰凯业Team提供WAP技术服务是个好行业,其实我们Team立足Mobile,WAP技术服务只是我们工作的很小的一部分。中国联通、中国电信、中国网通也开始启动类似于中移动MISC平台的管理办法,另中移动分成新政出水,SP淘汰战马上就会一触即发;中移动的目标是构建一个大量CP+少数大SP+移动运营商”的移动增值服务产业链,其实对我们大家公司和个人来说都是一个难得的机会。很多中小公司都在进行SP(服务提供商)->CP(内容提供商)->TP(技术提供商)转变,我们团队一开始就立足于TP,看来竟争会越来越烈。
在这个月的TechED 2005上,我在北京和广州有一个<如何使用ASP.NET Mobile Controls开发Mobile Web应用>Session。这个session将讲述无线增值行业的发展以及当前开发技术(Asp.net 1.1 mobile control及Asp.net 2.0), 以及如何使用手持设备适配信息和设备适配库、Device Filters定制、模板定制、以及在XHTML浏览器的CSS Stylesheets创建更酷的Wap增值应用。

以前MCS的同事薛强说他再发热就去学医,专门研究病毒。傅彪的离去应该给应该大家带来深思,我们想一想马华,陶金,还听说孙悦现在心脏有问题也躺在医院。祝大家身体、健康、事业和学习,爱情友情亲情所有的一切一切都象很早以前刘德华的爱立信广告上说的:“一切都在掌握”。

Developing on the Windows Embedded for Point of Serice (POS) platform? The Microsoft POS for .NET Software Development Kit version 1.0 includes everything you need to write, build, and test service objects or applications that use POS for .NET.

posted @ | Feedback (2) |

Thursday, August 25, 2005

您听说过面向移动应用程序开发者的月度期刊吗?它将带给您有关 Windows Mobile 平台最新的技术信息、开发资源、开发工具,以及 Windows Mobile 开发平台上的最新消息(Pocket PC 和 Smartphone)。通过此期刊您还可以得到网络广播的最新课程信息和课程的基本介绍,了解 Windows Mobile 技术的发展趋势。不会您现在还没有订阅吧,请点击http://www.microsoft.com/china/newsletter/订阅。

BlueInkstone所在的拓杰凯业团队很荣幸获得Mobile ISV的News Letter制作任务,终于不辱使命,在广大在线朋友特别是CSDN的朋友们大力帮助下,制作出了2005年度8月刊。本月刊主要包括新闻,Mobile WebCast精彩回顾和Mobile WebCast预告以及一些移动和嵌入式开发相关技术文章。

对我来说,这个月最激动人心的莫过于辛浩和胡浩的WebCast都超过了8分(总分9分),特别是张欣讲出了我见到WebCast的最高分,自以为资深讲的我不服不行。9月份的TechEd一定会见到张欣的身影了。

其实下个月的WebCast好戏也连台,最吸引人的莫过于2005年9月9号高惠杰会给我们大家讲"Windows Mobile5.0 开发新特性"了,我到时一定会准时参加;接下来是9月12上午马宁的"Windows Mobile 5:让你的企业动起来",我当然也不会错过;最后辛浩的"基于Exchange 2003 SP2的Windows Mobile新特性"是我的最爱了,我这几天天天都在钻研这个好东东,还想计划搞一个基于Exchange 2003 SP2的体验计划(希望有兴趣的朋友跟我联系),但辛浩讲这个Topic时我应该在去西雅图的飞机上,恐怕是听不成了。

欢迎大家提出宝贵意见,以及对我们以后的工作做出指导,有任何问题可以发信给WindowsMobility@hotmail.com

posted @ | Feedback (5) |

Friday, May 27, 2005

首次的Nokia在中国大陆的培训终于要开张了,我来主讲,内容当然是讲我最拿手的S60 C++开发。想当初想要得到Nokia的培训,也只能去香港,新加坡,英国或美国。下面是中科软发布的培训报名通知。

移动开发免费技术讲座/培训课程-- #5300 Series 60 Platform C++ Development:

北京,312/18

Nokia(中国)/中科院软件所培训中心将于3月12日下午2点在北京联合举办移动应用开发免费技术讲座。讲座将包含两部分内容:第一部分是S60开发概述(什么是Symbian以及Symbian许可,Symbian设备;Symbian OS及Symbian的发展历史;S60许可,设备以及版本历史和开发平台…..);第二部分是Symbian开发基础(Symbian基本类型,Symbian使用变量和函数编码规范,以及各种类型间的转换操作….来介绍创建Symbian应用一名开发者所必备的知识)

相关的培训课程将于3月全面铺开,首次#5300-- Series 60 Platform C++ Development将于3月18日开始、共3天,课程内容包括:

1. Series 60 History And Introduction

2. Series 60 SDK Introduction (Standard SDK)

3. Symbian OS Development Basics

4. Memory And Resource Management

5. Descriptors

6. Series 60 SDK Revisited

7. Series 60 Application Structure Overview

8. Resource And Localization Files

9. UI Controls

10. Client/Server Framework

11. The Active Object Framework

12. Series 60 UI Features

13. Deployment Of Series 60 Solutions

14. Outputting Text And Graphics

15. Data Persistence

16. Communications

17. Multimedia

18. Data Application Engines

19. Series 60 SDK Introduction (Metrowerks CodeWarrior IDE)

更多信息或注册, 请e-mail 给: training@sinosoft.com.cn 或致电at 010-82623145 / 82623146 或访问 www.isedu.com.cn.

座位有限,先到先得。

    内容: 移动开发技术概览

    时间: 2005年3月12日(星期六)下午 14:00

    地点: 北京市海淀区中关村北四环西路33号4D       地理位置图

           中国科学院文献情报中心(西北门四层)  中国科学院软件研究所高级技术培训中心

相关报道:

NOKIA: 诺基亚为国内开发商推出全套培训项目,倾力推动移动应用开发

程序员(Csdn):[培训]诺基亚为国内开发商推出全套培训项目,倾力...

通信世界网: 诺基亚为国内开发商推出全套培训项目推动移动应用开发

网易: 诺基亚论坛推出培训新模式 中科软3月18开课

中科院软件所:恭贺马骐老师成为Nokia认证中国第一人

posted @ | Feedback (20) |

Tuesday, March 29, 2005

如何把任何进制字符串转成整数是很简单的,通常都使用
a. Convert.ToInt32(string value,? int fromBase);
b. Int32.Parse(string?s,?NumberStyles?style);

c. Double.TryParse(
string s, NumberStyles style, IFormatProvider provider, out int result);
我们可以通过设置fromBase或NumberStyles来控制是哪种进制的数值,比如:

// 0x前缀可选
string s = "0x8564";
int?nRet = Convert.ToInt32(s, 16);

这三种方法不同是如果解析失败,Int32.Parse(s)总会抛出异常;Convert.ToInt32(s)在s为null的情况下不会抛出异常而是简单的返回0给调用方;而Double.TryParse(ss, nRet)则无论如何都不抛出异常,只会返回true或false来说明解析是否成功,如果解析失败,调用方将会得到0值。

但在C#中把一个整数转成二进制或十六进制字符串输出怎么办呢,在C++或MFC中格式化输出是非常简单的,使用printf或CString的Format一句话就搞定:

printf( "Decimal %d as:\n Hex: %Xh C hex: 0x%x Octal: %o\n",count, count, count, count ); CString strOutput; strOutput.Format("Decimal %d as:\n Hex: %Xh C hex: 0x%x Octal: %o\n",count, count, count, count);

?我问HopeQ, 他是高手中的高手,他告诉我没有现成的办法,那就只能不停的以基数取模并除以基数构成一个字符串了。本来自己飞快的写了一个函数,后来一看MSDN,在MSDN的源代码中有一个类叫AnyRadix,AnyRadix 实现ICustomFormatter, IFormatProvider接口,也不错。

感谢Cavingdeep帮助,说.net还是提供了这样的函数Convert.ToString Method (Int32, Int32),向Cavingdeep学习.

int n = 89;
string str = Convert.ToString(n, 2);

posted @ | Feedback (13) |

Wednesday, March 24, 2004

特种兵作战的时代到了?是的。

读MVM写做军官还是做特种兵感叹,其实大家都有同感,运用特种兵作站真是非常的不错,但是不是每个人都有特种兵的潜力(我就参加铁人三项大赛的能力都没有,但一直都是梦想,高中三年天天早上跑步游泳,连冬天也没放过,还是不行啊),而且特种兵费用是非常的可观的,不是每个公司都养得起。只有在执行特种任务时才运用特种兵,真正打仗还是常规兵种(我知道豆腐、开心象我一样,天天干杂活,革命的砖,哪里需要哪里搬)。

这样运用特种兵作战就不可能了?不。至少微软是提供特种兵服务的,而且不是可欲不可求。有特种兵参与作战,会让你从此与众不同。我在工作中碰到紧急的问题就打800-820-3800,不为别的,兵贵神速,就为节省时间,时间长了,基本上我能在他们前面解决问题了(他们要并行做好多Case,我可是一心一意的,看来我还是要加油)。加上每次都要填写反馈表的,我都认识了一些GTEC的工程师(每次都是晓卓、许斌几个和我工作相关的人)。

看明白了吗?上海的Microsoft GTEC的某些部门和Microsoft MCS部门,就是最牛的特种兵部队,他们随时准备拿着M16开着直升机给大家用最效的办法解决问题。(我猜MVM就一直在GTEC做这样的工作,所以一定是个很牛plus很贵的人。)

根据《USA Today》调查,成为百万富翁的概率:

1: 拥有一家小公司 1000:1

2.为一家上市的公司工作 10,000:1

3.30年中,每月存800美金,150,000:1

4.在比赛中获胜 4,000,000:1

5.在赌场玩老虎机 6,000,000:1

6.中彩票 12,000,000:1

7.继承100万遗产 12,000,000:1
通过概率最小的方法成为百万富翁的一定是最牛的,我也想......,但做那个最不牛的。

特早的时候我就在MVP私有站点申请MSN工具条的Beta测试,但是没有成功(因为我还没有申请完呢,Microsoft把MSN工具条公开发布了),现在可以在http://toolbar.msn.com直接下载了。为什么我特喜欢这个工具呢?因为这个工具有一个防止弹广告窗口的开关以及一些hotmail的选项,很方便,而且那样就可避免了一些Spyware的干扰了。唯一不爽的是下载的中文版集成的我最讨厌的3721,安装了3721就没有办法访问局域网的主机,还有网络反应慢一点就去访问3721的站点,反感之极。于是乎我就学了个乖,直接下载英文版,就没有这个烦心了。

posted @ | Feedback (17) |

Monday, March 22, 2004

昨天终于有机会见到了郑子颖(也就是博客堂的mvm)moslem, 杨哈达JGTM,同时认识了一个开心老大Team中的一个英雄,当然和以前的好友又聚了一通。

传说中的mvm身高八尺,腰围也是八尺(但不是方的),人称八面威风,闻名不如见面,确实如此,我对他的敬仰如高山流水,渊远流长。

参加这次聚会的都是博客堂北京区的一些中坚份子,最兴奋的消息莫过于开心老大说他能上讲台了,而且上课风趣,具有煽动性。聚会中我们开了一个小小会议,最后决定期在北京开一些技术交流的讲座,这么好的机会我也会充分利用利用,经名师及大家提点,让自己的水平能有所提高(要快速提高自己的技术水平吗?请走上讲台,请去BBS、新闻组帮助别人。--这就是我学习最有效的方法)。我的打算是准备讲我最拿手的ASP.net Mobile Control,因为ASP.net Mobile提供了所有适配器的源代码,这样我们就可以和大家一起讨论一下如何扩展VS.net,并且怎样把责任链范式用到自己的产品中(不能只是在旁边感叹数据库的适配器以及biztalk的适配器、Asp.net mobile的wml/cHtml/html3.0的适配器如何如何神奇了),将来也能写出一些扩展性非常优秀的产品。

我和李争两个MVP都报名参加了金牌MCT评选,感谢大家的支持,感谢musicland帮微软推广这个评选项目,让更多人知道这个活动,在这里谢谢大家。

(这也项目也算是工头吧,也应该让更多人的知道)

 

posted @ | Feedback (12) |

Friday, March 19, 2004

这几天最流行的文章莫过于xxx写的联想员工亲历联想大裁员:公司不是家(这儿是雷神转载的,雷神也在上地信息产业地区上班,和联想上班的地方很近)了,xxx也真是的,写文章署名也用真名,里面的主人公也是真名,大家都被他的伤感感染,心情都不怎么好受。

我对联想研究院还是比较了解的,我没有做联想人,但进过联想的家,我给他们做了好几天的VC++关于COM和SQL开发的培训(中科院软件所微软高级培训中心特意为好多联想的牛人定制的),又给他们做了一段时间的开发顾问,写那篇文章的xxx那次也去上过我的课。其实啊,对这次裁员,没必要那么大的感慨,这次走的人都是高高兴兴的,可能是遗散费非常可观吧,平均达达n万元。所以我们的结论还应该是,公司也是家,咱们也不能赖在家永远不走,对吧?

谁都有离家的时候, 应该------高兴一点,当然包括从一家门到另一家门。

posted @ | Feedback (14) |

Tuesday, March 16, 2004

这段时间我每天都睡得非常早,我昨天有一个未接电话,电话号码是095121001,今天早上收到了一封这样的信,假如是真的,大家也别上当,有人能证实一下吗?其实我们公司做手机上的软件也做网络安全,但不能肯定是否真的。0951是银川的区号吧?那地方我不认识什么人。

[Bluesinkstone:]星期一上午我又接收到了 095121001两个电话,我犹豫了一下,想接的时候但没有接起来。假如有第三次机会的话,我一定会试一试,不就是500大洋吗.

[BlueInkstone:]星期二没带电话,我想今天他一定会打来。希望是有人开玩笑,真的太巧了,有人给我发了一封信,马上就有一个这样的电话。

> The orignial is following:
>
> 最近社会上有些人自称是某公司的工程师,专门往别人的手机上打电话,声称他们在对手机进行检查,为了配合检查,对方必须按#90或09#或其它号码。如果大家接到此类电话,请不要按任何号码并且立即结束通话。这是一家骗子公司的欺诈伎俩。如果受骗者按照他们的指示按了#90或09#键,他们就可以获得受骗者的sim卡卡号并利用其肆无忌惮地打电话,给
受骗者带来巨大的经济损失。请你将此信息转发给尽可能多的人,以共同阻止这种不道德的行为。
>
> 如果最近你的手机接到0941或0951开头的未接来电,请别理会它,一通500元。因为根据电信警察的调查发现,0941或0951开头的电话号码,其功能就如同0204的付费电话,而且0941、0951还是加值型的付费电话,通话费比0204贵很多,一旦拨了0941、0951开头的号码之後,你可得付出大把的银子,到时候,月底的时候,你的电话费帐单金额可是会暴增的。前几天我就接到一通0941开头的未接来电,幸好!我并没有回电,否则!我就成为冤大头罗!
> 当来电显示有”ace”这一字段时(对于大多数有来电显示的数字手机),不要接听,立即挂断,如果接通,你的手机会感染一种病毒。该病毒会抹去你的手机和sim卡里的所有ims和imie信息,从而导致你的手机无法和电话网接通。你不得不另买台手机。该消息已经在motorola和nokia两款手机上得到证实,在美国现在已经有300多万部手机感染该病毒。你在cnn的官方网页上可以核实该新闻,请将此信息转发给你所有拥有手机的朋友.

posted @ | Feedback (28) |

Thursday, March 11, 2004

Moblile Application开发其实非常的简单,特别是在微软的平台下MobileApplication的开发对一个Windows PC平台下的朋友来说简直是小菜,但开发环境的设置还是很头疼(比其它的平台比如说Symbian还是好一点,我在Symbian下做开发的时间更多)。总之Mobile的标准太多,最好请一位象我这样的资深人士做顾问,还要针对某一平台专门找一台PC配置开发环境。我这几天为了给联通备那门EVC以及WinCE.NET/Windows XP Embed的课,为开发环境设置大商脑筋。以前自己开发,只要把任务解决就行了,现在要上升到理论的高度,不仅要搞明白为什么这样做,而且要搞明白还有其它什么方法,这样的Trainer才是勉强合格的Trainer。我以前的备课和讲课的时间比是3:1,这次打破了记录,5:1都不算过。

在这里介绍一下开发环境的设置经验,给大家一个参考,微软也在这方面正在加强,以后就不会有这麻烦。

所有的麻烦都源于我想使用ActiveSync去连那个模拟器。在Pocket PC 2003 SDK和SMARTPHONE 2003 SDK出来之前是根本没有办法使用ActiveSync去连模拟器的,只有可以使用ActiveSync去连了模拟器,那个模拟器开发起来才象使用一台真正的一台机器在开发。

在CE领域的另一个高手“一点都不乖”的帮助下,我终于搞清楚了环境设置的来龙去脉,最大的问题是出在了Virtual Switch上。Virtual Switch的设置又是基于当前PC的网络的,这样,使用ActiveSync连不连到模拟器最大的问题出在了网络的设置。经过多次的实验,发现只使用MS的回环网卡或者只使用一个网卡,并保证这个网卡使用DHCP就很容易让ActiveSync连得上模拟器。这是我们俩研究出来的开了Mobile Application工具的安装步骤:

1.ActiveSync 3.7.1
http://www.microsoft.com/downloads/details.aspx?FamilyID=2eb5bd80-d52c-4560-ae11-da92f2b229fa&DisplayLang=en

2.Embedded Visual C++ 4.0 + SP2 + QFE
http://www.microsoft.com/downloads/details.aspx?FamilyID=1dacdb3d-50d1-41b2-a107-fa75ae960856&DisplayLang=en

http://www.microsoft.com/downloads/details.aspx?FamilyID=ce7f1aaa-54eb-4989-812b-7f955605dcb8&DisplayLang=en

http://www.microsoft.com/downloads/details.aspx?FamilyID=121e00be-e0cf-4fa7-94b2-0cc6efd47c79&DisplayLang=en

3.Visual Studio .NET 2003

4.SQL Server 2000 SP3

5.Windows CE .NET Utilities for Visual Studio .NET 2003
http://www.microsoft.com/downloads/details.aspx?FamilyID=7ec99ca6-2095-4086-b0cc-7c6c39b28762&DisplayLang=en

6.Windows Mobile Power Toys
http://www.microsoft.com/downloads/details.aspx?FamilyID=74473fd6-1dcc-47aa-ab28-6a2b006edfe9&DisplayLang=en

7.Microsoft Pocket PC 2003 SDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=9996b314-0364-4623-9ede-0b5fbb133652&DisplayLang=en

8.Microsoft SMARTPHONE 2003 SDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=a6c4f799-ec5c-427c-807c-4c0f96765a81&DisplayLang=en

9.SQL CE 2.0 SP3
http://www.microsoft.com/downloads/details.aspx?FamilyID=c15502dc-c5b5-42b4-b96e-08338c8d1d47&DisplayLang=en

http://www.microsoft.com/downloads/details.aspx?FamilyID=b974ba7a-a9fa-49d1-bbb7-2bee43cf64d7&DisplayLang=en

 10.Install Microsoft Loopback Adaptor

[March. 11th, 2004, Ma Qi:]

讨饭猫跟我说最好还要安装上这个,我一看VS.net2003真的是没有。

.NET Compact Framework 1.0 SP1 Redistributable

http://www.microsoft.com/downloads/details.aspx?familyid=1f62a2a3-7282-4ba9-b26b-2267e972501d&displaylang=en

posted @ | Feedback (11) |

Saturday, March 06, 2004

开发者日大会是微软的活动中比较小型的一个技术型会议,但还是很值得去看一看的。

可以到这儿去注册和观看一些详细信息。根据上面的链接,MSDN中文网站发布进入了倒计时,大家可以在MSDN中文网站上面发表个人示范代码

posted @ | Feedback (7) |

Friday, March 05, 2004

博客堂中有两位(我和袁剑北京的两位MVP)这一段时间在给Windows 2003 Logo认证做技术支持,也就是天天打电话骚扰MS的ISVs, 帮他们自测,找出并解决他们产品的问题,并协助把他们的产品提交到GTEC以及Veritest去做测试。这个工作的难度真大,我在人与人交流勾通方面的技能长进不了,学会了拒理力争,死缠硬磨,当然最重要的是以技术服人。这个工作需要经常的上门服务,我没有那么多的时间,每当要Onsite时,我会提前找好解决方案,请另外的Parter上门去解决。

昨天博客堂聚会,我和另一个MVP李争一起去的微软,我以为我们这些Support的Review会很快结束,没想到开心在结束时给我打电话时,我们的会议还没有开到一半。终于让moslem大失所望,他还想在这次聚会看看我胖成什么样子了(他一定是听开心说我去年在医院住院了二十天院,长了二十斤)。

这是我昨天照的一些照片(有几张因为当时没有吃饭,饿得不行,照得太差,不拿上来了),上面有我的心目中的英雄胡锐,但他对我们非常客气,但又非常的严厉。

posted @ | Feedback (14) |

Wednesday, February 11, 2004

项目管理通用三种方法就是“说服”、“哄骗”、“恐吓”,看了萧先生的(其实他不姓萧)暗黑项目管理(1)计划篇,看来他把恐吓篇用得出神入话,我可能更擅长说服篇,最不拿手的是哄骗篇了,一说假话就结巴。对于萧先生我还是比较熟的,以后他想吓我也不会怕他。呵呵,,,,,,

posted @ | Feedback (8) |

开心老大这几天特悲痛,他最敬爱的姥爷离开了我们。

开心给我打电话,说他在山东老家,当他告诉我为什么回家时,我都不知道说些什么好,我很害怕这种感觉。

posted @ | Feedback (89) |

Friday, January 30, 2004

2002年夏天,我回湖北老家休年假,我一回家就病了,那时候天天去医院打点滴,在医院里时躺着的时候我带的小弟给我打电话说公司出事了,他是我总经理的表弟,说话当然不会假的了。我给Jeff打了一电话,Jeff说是真的,然后也没多说什么,反正他也是信任我为人的人,他自己的事也很麻烦。

那时我们公司北京这边几个老板背着美国总部在外面开了另一家公司,有一些同事都参与了。因为他们中有人对我看法有分岐,我没有参加,但我也帮他们做了很多前期的工作,其它的同事不管知道还是不知道的都有意无意的帮他们做了一些事。Jeff是决对不会离开现在公司的,公司创建时所有的事都是他做的,包括网线电源线也是我和Jeff俩一根根自己做自己布的,但是他是一个非常热心的人,给他们创建新公司帮的忙也最多,当然很多事不过把做过的事轻车熟路的再做一遍。我带的小弟当然是非常想我加入帮他表哥的了,但我不太喜欢人事不好处的公司,我对位置和薪水不是很在意,我过得很好,正好合同满了,年假后可以随时走人。

当我回来的时候发现公司给封了。公证处、律师所的人满公司都是,好象除了我的机器,其它人的机器都贴了封条,笔记本都给没收了,有些人对我横眉竖眼,一直认为我是告密者,我们公司的Founder,一个中美著名的科学家,放出风来说要收拾我,但事情很快就过去了,这世界少了谁都可以,就别说公司了。去留无意,任云卷云舒。

今天收到了一封信(L就是立宏,也就是我们以前老板,我小弟的表哥,另外的一个就不用说了),是以前同事发的,大概明白了事情的真相,有一个同事说他告诉他以前的老板,他以前的老板和我们美国的CEO是朋友,然后他以前的老板就向我们美国的CEO告发了这件事,然后公司开除了公司的Founder,GM,Director,那个同事名正言顺的当了这边公司的Leader。 过了一段时间,总部派了现在的Lead过来,那个同事辞职,公司又重新走向正轨,业务蒸蒸日上。

只能引用今年的贺岁片《手机》上的一句名言,“做人要厚道”。

posted @ | Feedback (40) |

年,过得真快啊!我还没有准备好上班呢,年就快过完了,赶快给大家拜个晚年:

女寺们,先僧们,盆友们:

紫此新村佳节资计,偶仅代表宗共宗央、国务院、宗央军委、以及偶代养地猫猫,向全国各族银民,自以美好地族院!

向香港特别新赠区同胞、喔门特别新赠区同胞活贴湾同胞、嘿外侨胞,自以层自地万候~~!

租大家在新地一年里,森体健康、活家欢乐、万寺(顿)卢意!

(鼓掌~~)

饿林林寺年一月深思日  

才女是烟,美女是酒,靓女是茶,开心就好喜烟能酒会品茶,难怪那么幸福。

posted @ | Feedback (9) |

Wednesday, January 07, 2004

早晨同事告诉我,北京移动用户拨打本地市话时不要加当地区号,直接拨电话号码,资费为2毛一分 钟。以前不加区号010是打不了的,现在可以打了,但真的会便宜一点吗?我不知道。

我对多少钱一分钟无所谓,因为我要使用这个功能,我能做改变我的现状办法只是去多挣钱或者尽量少的使用手机。但假如真的是这样,移动是不是太差劲了一点。我前几天还在说网通好,我申请宽带时是一个月150,过了三个月后变成一个月120,我并不知道,我是通过网络付款的,但网通并没有多收。

posted @ | Feedback (16) |

Thursday, December 25, 2003

强签名在以后写的程序中有很重要的位置。

李争说MSDN上对这篇文章评价很高,他也觉得很不错,我没时间看,放到这儿先,有时间看看跟我的想象是否有出入。
http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dnnetsec/html/strongNames.asp

posted @ | Feedback (8) |

Wednesday, December 10, 2003

公司的有一个产品可能要决定使用Boost库来开发,这样可以很容易的移植到各种平台。技术更新日新越异,现在已经习惯使用VS.net 2003了,以前使用Boost的库是基于VS6.0的,在CSDN上找到小气的神写的Boost库使用向导,非常的好用。感谢小气的神

还有www.boost.org这几天访问不了,www.c-view.org有Boost的备份和一些文章也是不错,多谢了。

posted @ | Feedback (13) |

Monday, December 08, 2003

我以前服务的培训中心的前辈需要一名VB的老师讲一星期的课,给企业培训,所以要求一定要高,希望大家能我和联系(在不在北京都没有关系,培训中心可以报销机票和吃住,工资自己去面谈,其实少一两天也行,加点工资也能达到效果)。

posted @ | Feedback (9) |

Tuesday, December 02, 2003

前天晓卓告诉我Simp Lite for MSN Messenger就是一个代理服务器,我今天MSN怎么登录不上去,我把Simp Lite给关了,MSN说找不到代理,于是我看了一下MSN的连接选项:

http://blog.joycode.com/images/blog.joycode.com/blueinkstone/431/o_SimpLite.JPG

果然是Simp Lite在本地创建了一个Proxy Sock,并设置MSN Proxy为本机的那个Simp Lite。理论是Simp Lite是可以为任何产品加密的了,只需要运行Simp Lite,然后设置产品使用Simp Lite为代理就行。

豆腐说的不错,我想今天MSN连不上去应该和Simp Lite有关,Simp Lite客户端要保证安全加密是需要和CSP联系的,Simp Lite的证书服务器一定在我们这访问不到了。那Simp Lite做得也太差了,不能因为他连不到服务器,就不让我们使用MSN啊!

看到Joel Spolsky 写的一个软件开发成功12法则,很是受用。

这些笑话也不错,大家有什么好笑话也帮我贴上来。

 

 

posted @ | Feedback (17) |

Saturday, November 29, 2003

 2003年2月份,我评为微软中文社区第一批社区之星,然后我认识了闫诺、卢彦、周圣、BB、Kefroth、王涛、刘晖等等好多好朋友,后来好象我们大家都当选了MVP,交流学习的机会越来越多,我们也走越近。

2003年10月的社区之星出来了,恭喜他们,同时我非常高兴看到里面有我很熟悉的袁洪、尤扬、李争的名字。

但有点奇怪的是,CSDNWinMag这次没有参加,可能他们版块的负责人睡着了。我的好友竹林冷雨以及他的WinMag的老大沧海听到了一定伤心,CSDN的负责人蝈蝈俊也有同感吧?

微软中文社区社区之星介绍:http://www.microsoft.com/china/community/Professional/CStar/CStarIntro.aspx

posted @ | Feedback (27) |