Honda Insight 2009 – the killer

Few months ago I talked about an exciting news from Honda – reincarnation of old and, yes, boring Honda Insight with the new styling. I was waiting for official production release and I was considering it as my next car… Or not… Production edition ended up being a big turn off… Yes, I know and understand that there is usually a big difference between concept and floor models, but I would not expect it to be that much… Honda Insight 2009 concept looked cool, Honda Insight 2009 production is no more. I would even think that Civic may look better, other that Insight is a hatchback. Back to Prius lookout? Who would imagine that a few small “touches” could make non-ordinary design of Read more

.Net and Design Patterns

Evolution has a spiral nature… it is true for any science, process, or development.

Not long time ago Waterfall Model of development prevailed. Very formalized, well described and structured, very structured… and it was “too much” which killed it… like a grandpa, it collected a lot of knowledge and experience, but he was to old and slow to keep up with the grandson… So was WF model – developers wanted something better and simpler, with built-in flexibility and after few iterations we’ve got “Agile model” and “XP programming” emerged. “Spiral” development cycles… “loose” modeling… like with JPEG, developers got “loose compression” of software process definition.

Not that we are loosing quality of the development, but we define the development process with desired level of formality/quality.

Remember in “Pirates of Caribbean” – pirates have “the pirate code”. Not being the law, it was a code of conduct which was helping keep the structure and discipline.

Same for “free spirit” development models, there is the need for some “guidelines” or “rules” everybody can understand and follow if want to achieve structure and efficiency. For the process there is an Agile methodology, and for the code/architecture there are Design Patterns.

First introduced over 30 years ago, term “Patterns” surfaced in software industry several time: originally in 1977, then in 1987 and then finally in 1994.
Since that time and Object Oriented Design becoming main stream in Software Industry it transformed into a common terminology.
It still come in “waves” to one company or another, coming ashore and and then retracting back to the sea of the theories. But with Object Oriented Programming being a mainstream in evolution of software development, Patterns or Design Patterns knowledge become a common base.

Today you hear about it everywhere – “What design pattern did you use?”, “application blocks“, etc.

To think about it, there is nothing new here. As an OO developer you may used it just a minute ago.

So let’s name a few basic one (I am going to use pattern classification presented here or you can refer to The Source – “Design  Patterns” by Gamma/Helm/Johnson/Vlissides (Amazon)):

  • Abstract Factory – allows manage/create instances of several types of classes – generic access.
    A-ha! In .Net the perfect example would be generics and reflection – there you are working with objects without precise knowledge of their type or parameters.
  • Singleton – have you ever created global instance of the class? This is a one example for you.
  • Adapter – we heard it somewhere recently… Aaaa… OleDBDataAdapter… From MSDN: “The OleDbDataAdapter serves as a bridge between a DataSet and data source for retrieving and saving data”
  • Bridge – have you moved from Single/mono-design applications to C/S or created front-end ASP.Net page for your Application Server back-end? Then you have separated interface from implementation of the logic, or used a Bridge pattern.
  • Proxy – Accessing your web-service from your code? Then you have most likely using some sort of Proxy class.

(more…)

ASP.Net/WF : New built-in .Net Charting control

I was always for a “built-in” support of features in modern development environment. Even if it comes in basic form, we, as programmers, should have ability to do “basic” stuff without 3rd party involvement. There are plenty of 3rd party solutions on the market which would help you include some kind of charting support with your ASP pages and WinForms applications – ChartFX, Dundas Chart – these are just few from many available on the market today. As it turned out, Microsoft has decided to add out-of-the-box support for Charting as well – <asp:chart runat=”server”/>. Read about it here – New ASP.NET Charting Control: <asp:chart runat=”server”/> by Scott Guthrie – everything you need to know about the .Net 3.5 framework new addition. For  additional information Read more

TIP: Installing SQL Server 2008 – reboot required check fails

When installing SQL Server 2008 one can run into “‘Reboot required check failed” situation. After seeing it few times already, I think a solution is worth mentioning. “Why don’t you just reboot?”, you say… Well, most likely it would not help you, but try it first. If this would not help, then try the following: Start regedit.exe Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager Locate PendingFileRenameOperations Remove any data associated with the value (you may want to export the value for later review) Reboot and rerun installation, check should pass. Update. As a respond to some comments about solution above not always work you may consider the following: Make sure that after you reboot entry in the registry does not reappear. If it does, remove it Read more

Windows 7 and multi-touch – continued

Some time ago I have wrote about steps Microsoft was making into multi-touch interface support inside Windows application. If you visited PDC 2008, then you probably already heard that Microsoft had officially presented a new .Net framework/API which would be available as part of Windows 7. If you have missed PDC 2008 this year, you can watch it online here Developing for Microsoft Surface Windows 7: Developing Multi-touch Applications

Future of C# – v 4.0 at PDC 2008

Late August I have brought up a question about default parameters in Delphi. But it does not stop with just Delphi – C# did not have support for default parameters for years… Not anymore – default or optional parameters would appear in C# of some near future – .Net 4.0 (this is 70+ minutes you have to listen to): dynamic language support and Dynamically Typed Objects concurrent applications, multi-core support, parallel programming befriend C# with VB# default and named parameters Compiler as service, compiler API, code delegate, code text as script more… Being the father of Delphi and then C#, he could not resist from sharing/exploring further many ideas which we have seen since Delphi 1.0 – VCL, data access, and many other Read more