Finally, I am happy with a set of apps on my blackberry, not the most posh phone in the world, but business use wise, it is a pretty decent gadget to have.
Googletalk
Googlemail
Googlemap
Google Sync - Nicely integrated with outlook calendar on BB
(no wonder Google makes big bucks, it produces beautiful stuff!)
Viigo (with Google Reader RSS integrated)
Opera Mini
Facebook
EQO
TwitterBerry
Mini Monitor
Instango
I used to have lots of games on as well. Someone made me realise how cell I was thus I decided to evolve a bit faster than I have been... so instead of game on BB, I am trying to something meaningful on the road, such as reading. Although it will be really nice if I can get Python or Ruby on BB...
Oh, almost forgot, to make your own theme on BB is pretty neat experience! Here is a link will help you to do so.
The most exciting thing about this world is its ever changing quality.
Friday, October 31, 2008
LINQ Jazz, a natural step forward, well MS way
LINQ 2 Object => IEnumerable
LINQ 2 SQL => IQueryable via DataContext
=> Extending Data Handling Logic with Partial Methods
=> To customize the Property change notification with partial methods is quite useful. To do so we could implement partial class of the database entity (automatically created while you drag&drop database table sp etc. onto LINQ2SQL designer).
LINQ 2 SQL => IQueryable
=> Extending Data Handling Logic with Partial Methods
=> To customize the Property change notification with partial methods is quite useful. To do so we could implement partial class of the database entity (automatically created while you drag&drop database table sp etc. onto LINQ2SQL designer).
Sunday, October 26, 2008
Extension - Extendability or Violation?
I hope extension method could not access the private or protected members of the original class. From C# 3.0 onwards, extension method offers a way to attach new methods to object types, even the original type is sealed or immutable.
To do so, the extension method must be defined in a static class with this modifier in front of its first parameter. The first parameter is actually the reference to the instance of the original object type, which will be using this extension method. Just be careful, extension method is always gonna be a static function, so everything is within extension method is not instance-based, it is type-based instead.
To do so, the extension method must be defined in a static class with this modifier in front of its first parameter. The first parameter is actually the reference to the instance of the original object type, which will be using this extension method. Just be careful, extension method is always gonna be a static function, so everything is within extension method is not instance-based, it is type-based instead.
Lambda - A named delegate
Define a simple script format code snippet
Give a delegate a name to be reused (Usually Func<> templated delegate)
You have a Lambda, aka anonymous method.
Give a delegate a name to be reused (Usually Func<> templated delegate)
You have a Lambda, aka anonymous method.
Friday, October 24, 2008
Attribute and Reflection
Attribute: implicitly defined object in FCL to be used to tag class/assembly etc. with built-in metadata. Customerised attribute could be used to specify metadata could be used by self-designed tool to use the source code or reflection based information extraction.
Reflection: walk through upon strcture IL code. It offers the possibility to examine assemblies, generate assemblies and invoke code within built-up assemblies.
Reflection: walk through upon strcture IL code. It offers the possibility to examine assemblies, generate assemblies and invoke code within built-up assemblies.
.Net (>=3.0) message exchange patterns in WCF:
request/reply, one-way, and duplex (duplex can be used to achieve event behavior between client and server.)
To allow the service to be accessed in a concurrent mode, either we have to set up the ConcurrencyMode in ServiceBehavior to Multiple (if you are expecting a large amount of concurrent visit), in this instance, we will need to handle data integrity in the multi-threading enviroment and other locks in the service implementation ourselves; the other way is to set up the ConcurrentcyMode in ServiceBehavior to Reentrant. In this case sevice will still be running single thread mode, but with the WCF automatic lock discharged.
request/reply, one-way, and duplex (duplex can be used to achieve event behavior between client and server.)
To allow the service to be accessed in a concurrent mode, either we have to set up the ConcurrencyMode in ServiceBehavior to Multiple (if you are expecting a large amount of concurrent visit), in this instance, we will need to handle data integrity in the multi-threading enviroment and other locks in the service implementation ourselves; the other way is to set up the ConcurrentcyMode in ServiceBehavior to Reentrant. In this case sevice will still be running single thread mode, but with the WCF automatic lock discharged.
Subscribe to:
Posts (Atom)