A new year has started, so happy new year to all of you !!!
This blog entry, unlike my previous ones, is not about .NET, although there are a few technical links🙂 .
The end-of-year period has always been a period for resting, meeting with family and friends, reflecting on the year just past … thanking god for the good life and the good people around me … and thinking about what could come soon …
For resting, I really enjoyed the reading of a comic book serie called “Les Naufragés d’Ythaq” or in english “Ythaq: The Forsaken World” (see references below):
The scenario is from Christophe Arleston and the drawings by Adrien Floch. I started the reading 3 years ago but the serie was not finished at the time. Now the first cycle (book #1 to #9) is finished – no more wait, so hurry ! Read the full post »
Posted by Joao Morais on January 7, 2013
In my previous post, I classified the different memory resources available in the .NET CLR and I explained the role of the IDisposable interface as well as the use of the Finalize() method.
In this post, I am going to talk more about the implementation details of IDisposable and Finalize().
For reference, I have split this matter into two posts:
Read the full post »
Posted by Joao Morais on April 29, 2012
(It took me more than a year to finish writing this article – a “hot topic” and I wanted it to be clear, simple and right. Also, I was busy and did not want to publish anything “unfinished”. As usual, your feedback and comments are more than welcome. Thank you in advance)
Recently (February 2011), I had to review some .NET code and came across of some wrong implementations of IDisposable.
After discussing with the developers, there were many reasons for what I found, ranging from:
- Not knowing the difference between a “CLR memory resource”, a “managed resource” and an “unmanaged resource”;
- Not understanding “how and when” resources are “released”;
- Not knowing when to override the “Finalize()” method and what should be released by a finalizer?
Read the full post »
Posted by Joao Morais on April 26, 2012
UPDATE – 27th October 2012 – THIS WAS DONE ON THE WINDOWS 8 CONSUMER PREVIEW, BACK IN FEBRUARY 2012. NOT ON THE RECENT PUBLIC RELEASE OF WINDOWS 8 (OCTOBER 2012). THINGS HAVE IMPROVED SINCE.
Good news, Microsoft just put out last Wednesday, 29th February 2012, their new “Windows 8 – Consumer Preview” [Ref 01]. I had the “Developer Preview” on my beautiful tablet (gift from Samsung and Microsoft to the BUILD conference attendees last September, thank you!), but it was not that stable, so I have been patient and I was looking forward this new release.
So, I updated my tablet (I did not sell it like some did😉 ) on Thursday 1st March and played with it for the last 2 days. I must say it is a lot more stable and it boots on my tablet in about 10 seconds : that’s a change !
I went to the “Appication Store” and started to download almost everything they had on the first page – it was free. Then, As I developer, I started to install Visual Studio 11 Beta from the link provided by “Microsoft App Dev Center page” [Ref 02]. It is only at the end of the installation that I noticed it was “Express edition” and not “Ultimate” or “Pro” edition. This was not the edition I wanted – sorry, nothing wrong with “Express” : it is a fantastic product and its is free, but I am used to “Pro” and “Ultimate”. So, after half-hour of installation I am reduced to unsinstall “Visual Studio 11 Beta Express Edition” and start again.
Wait a minute ! Where is the “Add/Remove Programs” on Windows 8? Read the full post »
Posted by Joao Morais on March 3, 2012
CES 2012 has just finished and I came across the challenge “SmokedByPhone” [REF-02].
You can watch the videos on YouTube [REF-03]. The challenge results are interesting, specially for a phone OS which have only about 1.5 % of the global phone shares market (see my previous entry on that).
Overall results for Windows Phone 7.5 (aka Mango):
=> 88% wins. Not bad !!
Let’s see by the end of 2012 where Windows Phone will be – Nokia and HTC launched this week new phones in USA, that should boost Windows Phone sales and shares market. Read the full post »
Posted by Joao Morais on January 14, 2012
All .NET applications at sometime will have to deal with an exception. It is just a matter of time. As application run longer in PRODUCTION phase than in development (unless it is a prototype ;)) the more information you can get out of the exception, the more likely you will be able to quickly pinpoint the root cause and resolve the issue.
I know, this might seem a little too basic, but there are still some misuses of Exception and misunderstanding about how to raise/re-raise exception without losing the original information. So here it is my contribution to help to improve the “good” use of Exception programming in .NET (samples are in C#, but the principles are valid for the .NET platform). Read the full post »
Posted by Joao Morais on January 13, 2012
Microsoft has just released a new performance analysis tool, called PerfView (download here).
It can help to isolate CPU- and memory-related performance issues. As I do a few performance analysis per month, this is a very good news – something new to try. Read the full post »
Posted by Joao Morais on January 4, 2012
Windows Phone 7
In 2010, I attended the TechEd Europe in Berlin and Windows Phone was one of the keynotes at the time and the fact that it was launched in Europe in October 2010. Fourteen months later, where are we? Read the full post »
Posted by Joao Morais on December 31, 2011
I am looking forward to coming to this event in the USA and also to visiting my friends.
Earlier this year, TechEd Europe 2011 (usually in November) was cancelled (or “postponed” to June 2012). So, it had to be in USA.
Since last March, I was searching the web for the PDC or TechEd conference in USA – 2012 is going to be a major year in term of releases from Microsoft (a lot of new products, enhancement on .NET platform and development tools and maybe a new OS – Windows 8). It was a relief when I managed to get a little more information about the Build conference back in May. However, there was not any agenda and even the dates were not settled. Finally, on 13th June I managed to book it. Apparently, MS started to sell tickets on 1st June and they sold out on 1st August (2 months – no surprise, when you cancel (or “postpone”) other events).
Summer is gone in Europe. In a few hours time, I will be on my way to this conference…
Like last year, at TechEd Europe in Berlin, I will post information/observations about the sessions. See you there !!
Posted by Joao Morais on September 7, 2011
Recently, I had to look at an issue in our code regarding “Connection request timed out”. Our Oracle connections are set to use the Pooling service offered by ODP.NET. Oracle documentation as the following description:
“The Max Pool Size attribute of the ConnectionString property sets the maximum number of connections for a connection pool. If a new connection is requested, but no connections are available and the limit for Max Pool Size has been reached, then the connection pooling service waits for the time defined by the Connection Timeout attribute. If the Connection Timeout time has been reached, and there are still no connections available in the pool, the connection pooling service raises an exception indicating that the connection pool request has timed-out.” [Ref-01, p3-6]
Read the full post »
Posted by Joao Morais on September 2, 2011