Skip to main content

Posts

Showing posts from January, 2014

New Windows Azure instances full with steroids

This days Microsoft launched two new types of instances – A8 and A9. This two new type of instances are like a bulldozer from the perspective of the available RAM memory and processor. Each of this machines has 8 and 16 virtual cores and 56GB and 112GB of RAM memory. Yes, you heard me good 112GB on RAM memory available on cloud instances.
For customers, that has intensive work to do this is a great news. Starting from now it will be pretty easy to have an intensive processor tasks that are processed on the cloud, without having to use multiple machines. Another opportunity is for the applications that needs to use a lot of memory – cache systems for example. For this kind of system, having more than 100GB of memory available is great. If we think a little bit, we can imagine a scenario where we have 100GB of data loaded from a relational database into a cache. This is great!
But, this is not all. This new kind of instances are more than an instance of steroids. This are a new genera…

[Post Event] Winter Codecamp - Slides and Video

This year, CodeCamp and ITSpark started the year with full force. We organized 3 events in Cluj, Brasov and Sibiu where we talk about different topics like software quality, code metrics, HTML5, SignalR, JavaScript, Sonar, Virtualization, Hyper-V, System Center 2012 R2, Private Cloud and so on.
Now, it the time to make public all the slides content and videos. Below you can find all the content related to this presentations,

Managing Code Quality - Radu Vunvulea

Managing code quality with SonarQube - Radu Vunvulea from ITSpark Community
Managing code quality with SonarQube - Radu Vunvulea from ITCamp on Vimeo.

Building web applications with HTML 5 and related technologies - Mihai Tataran


Mihai Tataran - Building web applications with HTML 5 and related technologies from ITSpark Community
Building web applications with HTML 5 and related technologies - Mihai Tataran from ITCamp on Vimeo.

Comparing Microsoft Cloud with VMware Cloud - Tudor Damian


Tudor Damian - Comparing Microsoft Cloud with V…

[Software metrics] Mean Time Between Failure - MTBF

MTBF - Meantime between failure In today post I would like to talk about a software metric that can give us information related to the quality of our product and how stable it is – Meantime Between Failure. This metric measure the time interval between the moment when a failure was fixed (and the system is stable) until the moment when a new failure is detected. We could say that this metric measure the time interval when the system is up and running. Using this metric, we can obtain to important information related to our system: How stable our system isWhen the next failure will occur
I think that the second point is pretty interesting, especially when we have a system in production. Theoretically, MTBF could tell to the operational and maintenance team when next fail over will have – in this way they can be prepared for it. MTBF can be calculated in different ways, the most simple formulate for it is the sum of all the time intervals when the system didn’t had a failure divided by…

EWS - Get Items from 'Draft' folder " This property was requested, but it wasn't returned by the server"

This is a blog post dedicated for people that are working with Exchange Web Server Library (EWS). This is wrapper over EWS API that gives the possibility to a developer to interrogate and communicate with an Exchange Server.
When we are loading the list of emails from a folder we would have the following code:
ExchangeService service = ... string folderId = ... ItemView itemView = ... Folder folder = Folder .Bind(service, new FolderId(folderId)); FindItemsResults<Item> items = folder .FindItems(searchFilter, itemView); We get a list of ‘Item’ that we can manipulate by us. It is very easy to extract different email details like ‘Subject’, ‘Id’ or ‘SentDate’.
This solution will works for 99% or the cases, except one. When we want to load the items from ‘Draft’ folder. Surprise, we don’t have the ‘SentDate’ set. Of course this is normal, but EWS library will throw an ugly exception.
Item item = ... DateTime sentDate = item.DateTimeSent; What should we do for this case?
Well, th…

[Post Event]Winter Codecamp event in Sibiu, January 25th

Today we had CodeCamp in Sibiu. It was a great event, where more than 80 people attended to our sessions. This was a great event, where people were very interested about technologies that were presented during this sessions: code metrics, HTML5, SignalR, Knockout.js, virtualization, Hyper-V, System Center 2012R, cloud, private cloud (using Azure Pack) were discussed during the sessions.
At this event I spoke about code metrics and how we can monitor and use them using Sonar.
This event was organized by CodeCamp and ITSpark and was sustained by iQuest Group and Microsoft Romania. Thank you for that.
Pictures from event:






[Post Event]Winter Codecamp event in Brasov, January 24th

Yesterday we had our first CodeCamp in Brasov. It was a great event, where more than 80 people attended our sessions. Even if it was our first event organized in Brasov in the last 3-4 years, people were very interested about the topics that were presented. We also had the opportunity to discover a little bit of Brasov history and the beauty of the old town. This is one of the most beautiful city from Romania and has great and smart people. This event was organized by CodeCamp and ITSpark and was sustained by iQuest Group and Microsoft Romania. Thank you for that.


From each community(CodeCamp and ITSpark) there were 2 and 1 MVPs (3 in total) that talked about the latest technologies and trends that are now on the market. Subjects like code metrics, HTML5, SignalR, Knockout.js, virtualization, Hyper-V, System Center 2012R, cloud, private cloud were discussed during the sessions. Brasov, see you next time!


[Post Event]Winter Codecamp event in Cluj-Napoca, January 18th

What an event! Today we had Winter CodeCamp in Cluj-Napoca, where over 130 people participate to it. This special event was organized by CodeCamp Romania and ITSpark. From each community there were 2 MVPs (4 in total) that talked about the latest technologies and trends that are now on the market.
Subject like code metrics, HTML5, SignalR, Knockout.js, virtualization, Hyper-V, System Center 2012R, cloud, private cloud (using Azure Pack) were discussed during the sessions.
If you missed this event, is not to late, you can come in Brasov or Sibiu next week to our sessions:
     Sibiu -  https://codecamp-sibiu-ian2014.eventbrite.com
     Brasov -  https://codecamp-brasov-ian2014.eventbrite.com

Special thanks to our sponsors, which made this great event possible:


At this event I talked about software metrics, Sonar and how we can manage the quality of the code base on metrics. All the content that was presented during this Saturday will be available at the end of this month.
Original lin…

Why it is important to use Windows Azure Service Configuration Schema and not application configuration section from web.config or app.config

Knowing where to store the configuration of an application is very important. This can give the ability to a provider to switch the behavior of an application very fast and easily.
When you are developing a web application that will be hosted on Windows Azure, you have the possibility to store the configuration values in the web.config file of in the settings section of the role (from Windows Azure project). The same thing is for the case when you have a non-web application that has an app.config file. Of course we have the 3th option to put the content in a custom repository (file, database or so on), but we’ll focus on the first two options.
I saw a lot of project, where people ignored the configuration section of Windows Azure project. Also, they are used to store all the content in the web.config/app.config files, they don’t look to the new location where you can store them.
When you have the content store in the classic configuration file, you don’t have the ability to change th…

Managing features that are not 100% supported by the core application

Every day we can see around as a constant fight between clients and technical team. Clients tries to push one feature after another feature without giving time to the teams to develop them consistent, maintaining the core in a good shape and adding the functionality to the core of the solution to support this feature.
This is a specific case for clients that has products – software products. From the client perspective, it is something normal to do, especially when we think that he make a profit with every new feature. Even though the technical team explain the risks and tries to push back the features for one release cycle of the product because the products cannot support well a specific feature, the client don’t care and request the implementation of it.
In such situations, we can see odd solutions that brake base rules of programming. Also, after releasing the feature in production we need to fights with bugs that are extremely dangerous and can put all the system down in a few m…

[Code refactoring] Error Codes

One of my colleges found the following code:
public class BaseFooException : System.Exception { public int ErrorCode { get; set; } public string ResourceMessageKey { get { return string.Format("error_{0}", ErrorCode); } } } public class CustomFooException : BaseFooException { public CustomFooException() { ErrorCode = 5; } } The error code was introduce to manage the resources of UI. For each specific error code we had an “error_[code]” in the resources file. When we look over this for the first time we could say that it is okay and the implementation looks good.
But, if we look more dipper we can observe that we introduce information related to UI in the all the core components. When an exception from a core component is throw, the component don’t needs to know at that level that some resources are mapped to that error.
In this happy case, each exception type has a different exception code. We cannot have two exception referenc…

Loss of arithmetic precision due to rounding

How often you made an arithmetic operation using doubles and you end up with wrong values because of losing arithmetic precision?
I’m hoping that you would say NEVER, but in real worlds, from time to time we have this issue.
double v1 = 0.7; double v2 = 0.025; double result = v1 / v2; (27. 999999999999996) In this case you would expect to have 28 and not 27.99999…6. The simplest solution would be to use decimal and not double, but there are situation when this is not possible. In this cases I say different methods to rounds this value.
It is important to remember that Math.Round method can accept an extra parameter that can be used the direction of rounding when number is halfway between the:
AwayFromZero – The number is rounded toward the nearest number that is away from 0ToEven – The number is rounded toward the nearest even numberMath.Round(2.99, MidpointRounding.AwayFromZero); // 3 Math.Round(2.99, MidpointRounding.ToEven); // 3 Math.Round(6.5, MidpointRounding.AwayFromZero); // …

Winter Codecamp event in Sibiu, January 25th

I’m proud to announce another Codecamp and ITSpark event. Yes, this is not a mistake, it is the 3rd event for this month. This time we organize an event in Sibiu. For Codecamp this is the second time when we organize an event in Sibiu and we hope that the room will be full, like last time when we were in Sibiu. So, if you are from Sibiu and you are a developer or an IT Pro than you need to book the first part of January 25th (Saturday). Why? Well, 4 Microsoft MVP’s will come in Brasov to talk about: HTML 5 applications, code quality, virtualization using Microsoft Cloud and VMware Cloud, private and public cloud. This event is 100% free. The only thing that you need to do is to register using the following page https://codecamp-sibiu-ian2014.eventbrite.com. We will not check your name at the entrance, because of this you can come without registering also J. The event will take place at Brasov Business Park (room Stefan Luchian) from 18:00. Special thanks for our sponsor: More information …

Winter Codecamp event in Brasov, January 24th

I’m proud to announce another Codecamp and ITSpark event. This time we decided to go and organize an event in Brasov. This will be the first time when we organize such an event in Brasov, but we hope that people will be interested about it and will come to this event. So, if you are from Brasov and you are a developer or an IT Pro than you need to book your afternoon in January 24th. Why? Well, 3 Microsoft MVP’s will come in Brasov to talk about: HTML 5 applications, code quality and virtualization using Microsoft Cloud and VMware Cloud. This event is 100% free. The only thing that you need to do is to register using the following page https://codecamp-brasov-ian2014.eventbrite.com. We will not check your name at the entrance, because of this you can come without registering also J. The event will take place at Brasov Business Park (room Stefan Luchian) from 18:00. Special thanks for our sponsor: More information about session can be found below:
Building web applications with HTML 5 and…

Windows Azure Cache Service - Configure trace level

These day I started to migrate a Windows Azure application to a new version of SDK. With this occasion we decided to migrate also the cache service to the new service that is now in preview.
After we configured the cache service we was shocked to see in the trace tables a lot of logs from the cache service. Almost all the actions that are done over Windows Azure Cache Service are logged. It seems that this an issues known by Azure team, but they decided to not fix it yet.
The problem with this is that this is creating a lot of noise in the logs tables and even if we tried to set the log level to minimal from cscfg files, it was without success.
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="0" /> When this thing don’t work from configuration, the best thing to do is to go to the code and change it. DataCacheClientManager allow us to change the log level pretty easily using the following two methods:
DataCacheClientLogManage…

Winter Codecamp event in Cluj-Napoca, January 18th

Codecamp and ITSpark are organizing the first Codecamp event in Cluj-Napoca for this year. The event will take place in January 18th and will be a half day event. During the day we will have 4 MVPS that will talk about Windows Azure, Web Applications (HTML5), Code Metrics, Virtualization (VMware and Microsoft) and Public&Private (fake) cloud.
If you want to see the agenda and join the event I invite you to check the following link: www.codecamp-cluj-ian2014.eventbrite.com
Don’t forget that this is a FREE event offered by Codecamp and ITSpark with the support of our sponsors:

Agenda TitleAbstract 09:30-10:30 Building web applications with HTML 5 and related technologies Mihai Tătăran In today’s world, clients and users are more and more demanding when it comes to the applications they use. Whether we are talking about performance, fluid interface design, or availability on different screen sizes and devices, web applications need all these and even more. During this session we will …