Total Pageviews

Disclaimer

This is a personal web page. The views expressed on this blog are mine and do not necessarily reflect the views of my current employer.

I am currently employed by Morgan Stanley.

November 30, 2008

David Hervieux Today

Well, it is always sad to say goodbye, especially when I have to stop my work on Code Beautifier Collection . But suddenly after typing David's name, I start to wonder what he is doing at this moment.

So I navigated to SBT page again, and found a link to Devolutions inc . This is David's own company and provides free products as well as a few commercial utilities.

At last on LinkedIn, I found David's profile . Hope he is not surprised to received such a mail :)

Hi David, Time goes by so quickly. When I wrote to you in 2005 asking about the license of Sharp Builder Tools, your reply inspired me a lot so I spent my spare time upgrading SBT to a new project, Code Beautifier Collection. That year, I was still a college student. It is today that I finally make a tough decision to stop working on CBC. When I wrote the last words on my blog, your name appeared that I suddenly realized how much I owe you. It was the source code of SBT that taught me C# bit by bit, and that led to my .NET skill set which helps me get my last job at Cisco in 2007 and current position at Microsoft. Thank you so much. I'd like to add you to my professional network on LinkedIn.  - Lex

CandyCan Opener: Bad News at Prime Time

Sorry guys, the bad news comes at last.

I felt excited when I started to read David Hervieux's SF.net project, Sharp Builder Tools , so I dived in and upgraded it for later versions of Delphi. However, after I moved to Microsoft lately and worked as a support engineer, I found this new role takes on more responsibilities. At this moment I no longer have enough time to work on more than one open source projects. Due to this as well as several other reasons, I prefer to work on the youngest project #SNMP in the future, so Code Beautifier Collection is suspended.

Have to say that Embarcadero is such an amazing company who is determined to revive Delphi's full potential. For me, it is really a pity that I cannot upgrade CBC to support its flagship product, Delphi 2009 .

Please understand that it is hard for me to make such a decision. If  you are interested in this project and want to become its coordinator, simply send me a mail at lextudio@gmail.com. After some discussions I can hand over this project to you.

Well, don't feel too sad. When David left SBT in 2004, I was a little bit sad but suddenly realized that my time had come. If you like, try to take this offer from me. It will not bring you fame or fortune, but it can help you learn a lot and return some back to the community. :)

#SNMP Design: Team Up

Headline
Well, I am back. This time I will not only provide news and forum support, but work on both the library and the compiler as well.

New Member
Then we have another developer now. Welcome, Rick Born (did I mention that he is Steve's boss?) :) I didn't have a chance to talk with Rick yet, so I am not sure which component in #SNMP he is most interested in.

Latest Changes
Steve and I checked in a few changes this weekend, so we are getting near to RC 3 for TwinTower. We closed a few Work Items and something new. You may read the check in notes for hints.

But the key change is that Steve back ported the source code to C# 2.0, so now #SNMP can be used in Visual Studio 2005 directly. I know some of you have been waiting for this long enough. So now you can check it out from the repository.

Next Step
Next weekend, I am going to release RC3. Stay tuned.

November 23, 2008

#SNMP Design: Reach StackOverflow

I love StackOverflow  a lot because it is a good place to share experience. But I did not realize it is also a good place to advertise #SNMP until I came across this link today (I found this link on CodePlex Stats page for #SNMP). I am so happy that #SNMP was recommended by my users. I must be doing something right, isn't it? :)

All right. You must have read my words now, so what is your opinion? Compared to those commercial package, #SNMP still lacks a few advanced features. But I believe you will think twice. For an open standard like SNMP, isn't it reasonable to try some implementation that is also open? Yeah, #SNMP is free and open source.

November 22, 2008

#SNMP Design: 400+ TwinTower Downloads

TwinTower RC 2 works just fine, so there are totally 400+ downloads up to now. Although there are two new threads in the discussion board this week, no critical issue is raised. Steve is planning to check in some changes soon, while I am still waiting for a sign. So thank you for your patience.

Stay tuned.

November 15, 2008

#SNMP Design: Parsing Extended

It is not the first time that I see posts on #SNMP discussion board contain messages formed by hex numbers. Yes, one of them is this thread . How did I involve in this thread? I have to carefully analyse the numbers and then understand their meanings.

Suddenly a new idea pops up. Why not use MessageFactory to parse the string directly? The simplest way may be,

string bytes = "30 29 02 01 00 04 06 70 75 62 6C 69 63 A0 1C 02" + Environment.NewLine
+ "02 05 7C 02 01 00 02 01 00 30 10 30 0E 06 0A 2B" + Environment.NewLine
+ "06 01 02 01 21 01 01 05 00 05 00";
ISnmpMessage[] message = MessageFactory.ParseMessages(bytes);

But currently ParseMessages does not yet support string type yet.

It is a small trick, so certainly will be available really soon. Stay tuned.

November 09, 2008

#SNMP Design: Steve's Week

This week Steve provided a new Change Set , which makes the Browser nearly complete. Therefore, I think it is time to release a new RC for TwinTower in November so a final 1.5 release by the end of 2008. This is really overdue to my original plan but I am the one you should blame. So leave Steve alone :)

I hope soon the development can be sped up but now I really have no news to update. Is it true? Oh, wait a minute. There is actually something worth mentioning that Steve started to work on the Library.

When you navigate to Manager.cs, probably you find it confused to see two Walk methods there, the classic one and a new SteveWalk. It is amusing that Steve tried to enhance it but rather create a new method instead of deleting mine. I guess it is because he did not find a unit test case there to guarantee his should not break anything existing. Therefore, a new Work Item is added so a new case may be added to test about Walk. Oh if I had applied TDD everywhere, it would be this confusing today. So sorry, guys. I can confirm here that Steve is going to delete the classic one soon and then the confusion will go away.

I really start to think about things beyond TwinTower lately because there are still so many pieces ahead. For example, the Compiler and Browser "separation and integration", SNMP v3 packets, agent side, and so on. I think it is even possible to build the Compiler and Browser based on Visual Studio Shell or SharpDevelop in order to provide a modern MIB editor to attract users. But that will take a longer time to achieve certainly.

Stay tuned and see you next weekend.

November 08, 2008

#SNMP Design: Request on MIB Builder Again

I like the way of collecting requirements from the discussion board, because users can tell what they want directly. However, Steve and I may not have enough resources to fulfil all of them. For example, do you want to edit your MIB documents in a fancy editor such as Visual Studio or Dreamweaver just like the way you work on HTML files? I bet it would be perfect if #SNMP can provide such a tool but it is not available yet. So I feel a little bit sad about this thread and this one .

But actually I think it is not impossible to implement a cool MIB editor for #SNMP Suite. What about building upon SharpDevelop? I really want to have a second chance to work on SharpDevelop side. Right now, the compiler GUI version uses a simple RichTextBox to host MIB documents. Therefore, no cool editor features are there yet. Do you want to contribute? Let me know if you are interested.

Stay tuned.

November 02, 2008

#SNMP Design: Two New Issues Found

Two more #SNMP issues were reported this week. And luckily both of them have workarounds.

First, the parsing algorithm failed when special characters such as SUB occur in the MIB documents. It was only when I tried to parse Windows Vista MIB documents that I met it. The workaround is to remove such characters from the files.

Second, it may not be feasible if an exception is raised when you try to get a bunch of objects and only one of them fails. Therefore, I plan to improve in such an area later. For example, I can keep the Manager methods unchanged while providing new methods in GetRequestMessage so you can touch the response message directly to determine how to handle it in your way. However, this really takes time and I must consider when to provide it. The workaround is to modify GetRequestMessage yourself in an ugly way (sorry for that).

That's all for this week. Stay tuned.

BTW, if you are interested, I suggest you watch PDC 2008 recordings to know more about Microsoft platforms. They are amazing! I love Miguel's Mono session a lot. But you will find it even more funny if you watch Anders Hejlsberg's session at first. Follow my suggestion and you will see why. :)

Delphi Prism, My Take

Finally Delphi Prism is officially launched (the announcement was made during PDC 2008). So everyone can read about it here and there . Therefore, I don't need to cut and copy the words here. This post will only express my personal ideas about the changes on Delphi for .NET side.

VCL for .NET
It is sad to see this library finally fades out. But luckily no big applications were built upon it. However, I find this line in FAQ funny.

"Developers using VCL.NET can either use Delphi 2007 to continue those products or can migrate their VCL.NET applications to VCL for Win32."

Well, didn't those VCL for .NET applications come from VCL for Win32? :)

Delphi for .NET Compiler
This compiler is gone. Now Delphi Prism uses RemObjects' Chrome/Oxygen compiler. Hope that in the future features like Class Helper can be implemented by the RO guys (it is promised that both CG Delphi compiler and RO Oxygen compiler will share a certain amount of features, so nice idea). Maybe later we can see an Object Pascal language specification published by the two entities. Of course there may be some "Win32/64 extensions" and ".NET/Mono extensions".

Linux and Mac OS X
People have been asking for Kylix revival for years, and now I guess it comes back in a managed way. Right, you can use Delphi Prism to target Mono platform from Novell. In such a way your applications can run on Linux and Mac OS X finally. Though not perfect, it is a way.

Visual Studio Shell
The biggest change for most Delphi developers must be the IDE. Delphi Prism can be viewed as a bunch of utilities (compiler, wizards, and frameworks) plugged into Visual Studio Shell, which is a free RCP tool provided by Microsoft. Therefore, the code editor and form designer are totally the same for Delphi Prism and Microsoft C# developers.

So there would be no GExperts or CnWizards , or Castalia , but at last CodeRush is there.

Conclusion
Have been waiting for this day for a long time, so I just cannot wait to touch Prism. Luckily it will be released soon.