Skip to main content

TechEd 2013 - Day 2

Second day of TechEd 2013 has ended. For me, this day was full off interesting information related to SQL Server and Windows Sever. From my perspective, the most interesting sessions of the day where related to security. During this sessions I realize that we are extremely vulnerable to attaches, even if you change the server password every 4 hours. An attack can be made in 5 seconds – the same problem is on the Linux system, not only Windows.
Things that I consider interesting:

  • Foca – it is an interesting tool to discover what the public content that is listed by an internet endpoint. It will extract meta-information like the name of the users, machines, software version and so on. 
  • It is extremely easy to modify a worm or trojan to make it undetectable and for 100$ you can buy an application that give you the ability to “manage” the infected machine.   
  • You should NEVER have an async method that return void, except when you are working with event handler. If an exception occurs, the exception cannot be catch at the code level. Because of this you will have odd behaviors from time to time like: in Windows Phone this exception will disappear and in Windows 8 this error will cause the application to “die” immediately, without a notifications. Another problem with this kind of calls is when the actions end – because the system cannot tell you when the call end. In this cases you should return Task and not void.
  • If you want to hide the main menu from Visual Studio, that you could try Hide Main extension. Pressing ALT will show the menu back again.
  • When you have Visual Studio open, than ALT + F6 can help you to navigate between Visual Studio windos.
  • Don’t forget SHIFT+ALT will give you the ability to make multi-line editing.
  • If you are using SignalR and you need to create a small cluster and synchronize different servers with SignalR than Windows Azure Service Bus can be a solution for you. You need to write only one line of code to have Service Bus in the backplane.

That’s all for today, see you tomorrow.

Comments

Popular posts from this blog

ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

Today blog post will be started with the following error when running DB tests on the CI machine:
threw exception: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information. at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName) This error happened only on the Continuous Integration machine. On the devs machines, everything has fine. The classic problem – on my machine it’s working. The CI has the following configuration:

TeamCity.NET 4.51EF 6.0.2VS2013
It seems that there …

How to check in AngularJS if a service was register or not

There are cases when you need to check in a service or a controller was register in AngularJS.
For example a valid use case is when you have the same implementation running on multiple application. In this case, you may want to intercept the HTTP provider and add a custom step there. This step don’t needs to run on all the application, only in the one where the service exist and register.
A solution for this case would be to have a flag in the configuration that specify this. In the core you would have an IF that would check the value of this flag.
Another solution is to check if a specific service was register in AngularJS or not. If the service was register that you would execute your own logic.
To check if a service was register or not in AngularJS container you need to call the ‘has’ method of ‘inhector’. It will return TRUE if the service was register.
if ($injector.has('httpInterceptorService')) { $httpProvider.interceptors.push('httpInterceptorService&#…

Fundamental Books of a Software Engineer (version 2018)

More then six years ago I wrote a blog post about fundamental books that any software engineer (developer) should read. Now it is an excellent time to update this list with new entries.

There are 5 different categories of books, that represent the recommended path. For example, you start with Coding books, after that, you read books about Programming, Design and so on.
There are some books about C++ that I recommend not because you shall know C++, only because the concepts that you can learn from it.

Coding

Writing solid codeCode completeProgramming Pearls, more programming pearls(recommended)[NEW] Introduction to Algorithms

Programming

Refactoring (M. Fowler)Pragmatic ProgrammerClean code[NEW] Software Engineering: A Practitioner's Approach[NEW] The Mythical Man-Month[NEW] The Art of Computer Programming

Design

Applying UML and Patterns (GRASP patterns)C++ coding standards (Sutter, Alexandrescu)The C++ programming language (Stroustrup, Part IV)Object-oriented programming (Peter Coad)P…