Monday, December 19, 2005

ReSharper: quick navigation among recently accessed files

Today I found out a really very useful feature in ReSharper Visual Studio add-in. I personally use file navigation features a hell of the time, because most of the times classes have relations between them, or you want to see a specific code snippet somewhere else, etc. Visual Studio .NET 2003 doesn't have this feature (in contrast to Visual Studio 2005), so here is ReSharper to the rescue.

When you open Visual Studio .NET 2003 having ReSharper installed, just press CTRL + E and you will see a list of recently accessed files. Veeery, very handy! The name of this comand is "ReSharper.GotoRecentFiles". Besides this really great feature, ReSharper has the possibility to navigate you to a given file from the solution, or to navigate you to a given type - all these kinda "small" goodies, which Java developers are so used to, but most C++ developers like me think as an "innovation" :). Ah, and if you think that this is great, just see the refactoring support coming with this add-in - really awesome! :).

For those of you who are hasn't seen this add-in for Visual Studio .NET 7.0 and 7.1 (currently, there is a beta version for Visual Studio 2005), just go to this ReSharper site.

Friday, December 16, 2005

Managed .NET stored procedures in Oracle 10g

I know that this is my third post for the day, but when I saw this I was so excited. Yes, there are managed stored procedures in Oracle as well. Just a quick note, the new Microsoft SQL Server 2005 supports managed stored procedures, which are procedures written in one of the managed .NET languages. The benefit? Well, you don't have to know T-SQL in this case, in order to have access to your data. It is obvious that Oracle hasn't waited too long and now not only they support Microsoft .NET Framework 2.0, but have implemented the same type of SPs in their database server. Impressive!

I found one very good article about this feature in Oracle 10g. Check it out it is really great (click here)! What I find astonishing with it, is the Deployment wizard - once you have created your stored procedure in a managed .NET programming language, you have easy deployment through a nice-and-tidy wizard. Well, another story is that you can debug your Oracle .NET stored procedures through Microsoft Visual Studio .NET 2003 - yeah, no kiddin'! :) Just read this article...

FxCop 1.35 Beta 1 for .NET 2.0 is released

Today I saw that there is a new beta released for the famous FxCop tool. This tool obviously targets the brand new Microsoft .NET framework 2.0. Still, I couldn't found what are the changes in functionality as compared to version 1.35, but I will review this beta thoroughly during the weekend and will keep you posted.

Meanwhile, if you want to evaluate this code analysis tool by yourself, just go to this page.

Creating partial trust applications with Visual Studio 2005

Today I found out that the new Visual Studio 2005 gives to its developers the means to easily build partial trust applications. So far, most of the .NET based applications are full trust, basically because it is really cumbersome to define all the required permissions and enumerate them declaratively, as it should be done with Visual Studio .NET 2003 for example.

What you have with Visual Studio 2005, is the "Security" tab in the Project properties dialog. There you can easily enable "Enable ClickOnce Security Settings" and select "This a partial trust application". The next step is to "calculate" the permissions that your code requires. A, there is something else you should pay attention - if you want to calculate the minimum permissions set, be sure to select the Custom zone from the "Zone your application will be installed from".

Monday, November 28, 2005

Quick file navigation feature in Visual Studio 2005

Today I was researching the new features that Visual Studio 2005 gives to its users. One of the super cool and sexy feature that I found, is the quick navigation among the open documents: just press CONTROL + TAB and a dialog box will appear, where you can choose among all the open documents, but also you will have Toolbox, Servers and many others menus at your fingertips.

The only thing that I can say is: THANK YOU! I am getting more and more convinced that this version of Visual Studio IDE has really got the goal to make developers’ work more productive.

More about the quick navigation between files can be found on the following MSDN article:
How to: Navigate Within the Integrated Development Environment (click here to see it)

Sunday, November 27, 2005

Common Software Errors

I recently ended up on a very interesting document, describing common software errors. What I really liked in this article was that the information in it was very systematically prepared, and as it is mentioned in it, it will help one tester to develop his/her way of thinking at least. I am sure that some of you will say that most of these bugs are not relevant, but try to look at the things from another angle – try to take the most out of the presented bugs, ant to remember as many bogus cases as you can. I am sure that this will help you a lot next time when you are trying to write test case scenarios for given software (provided that you are a QA engineer) or things to be careful while designing or writing code (if you are software developer). I provided this document to the QA manager at the software company, for which I am currently working. He was pretty amazed by this collection and recommended it lively to all of the other QA engineers as a “must read” source.

The aforementioned article is named “Common Software Errors” and can be at LogiGear download site (after you fill in a quick download survey).

Thursday, November 24, 2005

Windows Live: Microsoft's answer to Google's homerun

Today I found this new service, which Microsoft is now implementing. It is still a beta version, but still the idea behind it is really very valuable. I as an ordinary Internet user, have very often faced the problem with not having my Favorites in place. That is why I am used to have a USB drive with me so that I always have access to such personal things. Well, with Windows Live you will have this in your finger tips.

Secondly, I use my Motorola MPx200 very often to check my email, but now I will have seamless integration between my mobile phone and my emails, just like I have it already with Microsoft Outlook.

At last, but not with least significance, I will have a free virus protection guard (Windows Live Safety Center) so that my PC will become more secure. And then who says that this world is not perfect? (

Well, if you want to find out more about this new Microsoft service, just go to:
http://www.live.com/

To see what are the main benefits (ideas) behind it, go to the link below to find out more:
http://ideas.live.com/

Saturday, November 12, 2005

Open source tools for software testing professionals

I've recently seen a movie with Diijstra, who was talking about the software testing and QA. He mentioned that years ago, they were proclaiming the idea that every software developer should write rock-solid code, but it actually happened that nowadays developers believe that testers are responsible to detect software bugs (thus developers are somehow not responsible for low-quality code). I personally have seen lots of statistics about how many bugs can be detected by testers performing black box testing (which adopted by most ISVs) - the ranges varied between 30 up until 50, but not more (scary uh? :-) ). And honestly, when you think about it you will realize that software developers can be the best testers ever - they see the code, and they know what it is and is suppose to do, which is the basic pre-requisite for any test being performed by whoever.

And here is the way I looking at the things for software development vs. testing - I usually try to think from the QA engineer's point of view such as I am trying to break my code, what extraordinary cases I haven't considered, any boundary situations, what about UNICODE characters and encoding issues, etc, etc. There are many other questions that one may have, specific for the given project that is running, but it will be always a good think to have this kind of thinking - how I can make sure that my code is really solid!

The project that I am currently involved, has required high-quality since its very beginning. Therefore, every developer is responsible to write unit test and to run his/her code against it, and thereafter, while preparing the daily build, these unit tests are run automatically through the build process that is engaged. What is the benefit of this? Just to name a few, writing simple test cases helps you get a better understanding of the problem that you have to implement; it guides you whether the current implementation meets the functional requiremenets.

And if you are a software developer who is looking for testing tools, here is a very good site that you can find tons of free (open source) frameworks for unit test, performance tests, requirements tests and so forth:
http://www.opensourcetesting.org/

I highly recommend this site to all developers and QA engineers - there is something for each of you :0)

Saturday, November 05, 2005

The manuscripts of Edsger W. Dijkstra

These days I had to implement a semaphore synchronization object in C#. To note, Microsoft .NET 1.0 and 1.1 don't have such kind of synchronization primitive in contrast to the new version 2.0 where it is available. However, while I was looking for some guidelines for semaphore as a concept, I found out that this synchronization primitive was invented by one of the founders of modern Computer Sciences - the same Edsger Dijkstra - respect!!! During my bachelor's degree, I used to hate this guy because he has so many theorems that our professors insisted on knowing their proofs by heard :)

Despite this, I found an archive containing the manuscripts of Dijkstra, some of which are even hand-written - really impressive and somehow touching! If you want to see them just go here.

The one that particularly is about semaphores (and which is hand-written) can be seen here:

Enjoy!

Friday, November 04, 2005

Google Print is up and running

Google Print is working! For those of you who are not acquainted, Google Print provides you a virtual online library, containing a huge set of books.

How you can take benefit? Well, whenever you are looking for something, you just can search for it in Google Print and you will receive a list of books, which may help you with this. You have the possibility to see an electronic version of each book as well as to order a printout for yourself. Unfortunately, I didn’t find books like Code Complete 2 or Effective C++ (Third Edition), but I guess it is a question of publishing rights. More about Google Print can be found here.

I personally love reading and therefore for me this service is like а gift from God. I highly recommend to try it out at: http://print.google.com/

Thursday, November 03, 2005

Microsoft Win32 to Microsoft .NET Framework API Map

Hey Folks,

For all of you who have quite an experience with Windows 32 API, and who are now migrating to Microsoft .NET, here is something that you may find useful: Microsoft Win32 to Microsoft .NET Framework API Map. You can use this article whenever you are looking for something particular that exists in Win32 and you are wondering where it is situated in Microsoft .NET class library.

Here is the link to this article:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/win32map.asp

Best of luck!
    

Friday, October 28, 2005

Visual Studio 2005 and SQL Server 2005 released?!?!?

Now Available to MSDN Subscribers: Visual Studio 2005, SQL Server 2005
"Final release versions of Visual Studio 2005 and SQL Server 2005 are now available for MSDN subscribers to download. Redistributable packages, such as the .NET Framework 2.0, are also publicly available. (October 27, Download)"

(from http://msdn.microsoft.com, "News This Week" section)

P.S. Guess who is now downloading Visual Studio 2005 and SQL Server 2005 from MSDN Subscribers? ;-)

The New Generation of Microsoft Certifications

Microsoft is re-orienting their view about the IT certificates for developers. There are going to be 3 major *groups* for certification: Technology, Professional and Architect. Because I am Microsoft Certified Solution Developer for Microsoft .NET, I find this information very interesting and challenging. Regarding the Technology series, there are plenty of interesting certification tracks:
Technology Specialist: .NET Framework 2.0 Web Applications
Technology Specialist: .NET Framework 2.0 Windows Applications
Technology Specialist: .NET Framework 2.0 Distributed Applications
....

I am currently specializing in distributed systems and I find most of these quite relevant for my technology orientation. One thing is known for sure - I strive to start preparing for those exams! :)

For more information about the new certifications that Microsoft provides, go to http://www.microsoft.com/learning/mcp/newgen/

Thursday, October 27, 2005

Free Microsoft E-Learning Courses for Visual Studio 2005

Yes, it is true!!! Just go to:
https://www.microsoftelearning.com/visualstudio2005/

and you will see that there is no joke! There is a bunch of free, but valuable courses for the new Visual Studio .NET 2005. I have downloaded some of them. I haven't got the time to see them fo far, but I am sure that they will be amazing!

Enjoy!

P.S. There are free e-Learning course for Microsoft SQL 2005 Server as well - click here ;-)

Tuesday, October 25, 2005

The Nerd, The Suit and The Fortune Teller

Speaking of SOA, there is one old but very real movie on Channel9 about it. It represents not only the basic ideas behind SOA, but also shows a very real software development environment. In reality, in order to have a successful project, we should face the problem with misconception of priorities and diversity of thinking for the different positions within a software company. The sales person is only interested in quick and profitable sales, the manager is only interested in deadlines and milestones, while the developer wants to develop the masterpiece of his/her life. And here is the client - (s)he is the most capricious person in the world, who wants *all* features in no time and of course for no money. In order to have a successful project, all of these characters should try to be in the shoes of the others.

Back to the show I was talking about, it was presented at TechEd 04 (in Amsterdam) by Clemens Vasters (the nerd), Rafal Lukawiecki (the suit), and Pat Helland (the Fortune Teller). This movie really made me to think about our attitude and the way we communicate with each other. I was part of team, where we developed a business solution for a client, who had only the vague idea what he actually wanted, but still the time pressure was pretty tough. As a project manager, I had to make sure that we should try to minimize the impact of communication bottleneck as much as possible, because otherwise the project was really doomed. I succeeded to put away the usual developer's thinking these-non-techies-don't-know-what-they-want and tried to *understand* what are their ideas behind, what is feasible and what could be implemented given the time we had. So this movie will show you exactly this: the diversity in the way of thinking of every character in a usual software project and how they should behave in order to succeed. It still gives a good start for getting acquainted with SOA, though :).

You can download this movie from: http://channel9.msdn.com/ShowPost.aspx?PostID=14961

Principles of Web service design

I am now working on my master thesis, which will be all about "Distributed transactions in Service Oriented Architecture". Just to mention that I am currently perusing my Master Of science in Sofia University "St. Kliment Ohrdiski", Sofia, Bulgaria. I am specializing in Distributed Systems and Mobile Technologies.

Before I started my research in SOA, I didn't really know how complex this is. I am not afraid, just the opposite! Web service design, security, communication scheme, interoperability are just some of the characteristics, with which each developer will have to tackle. Distributed transactions is an old topic, when it comes to distributed systems. However, in the scope of SOA, it has other challenges, which are somewhat currently not so openly faced and which I wish to research with my master thesis.

One of the articles that really caught my attention was:
Principles of Service Design: Service Patterns and Anti-Patterns

It contains a good overview of what is SOA like and what are its tenets. Afterwards it gives some very valuable directions in the form of patterns and anti-patterns, which every Web service developer must be aware of and follow.

Whenever I find some other interesting articles about SOA, you bet that I will post them here, so stay tuned for more.

Monday, October 24, 2005

My first post for real! :o)

Finally!

I've been thinking to create my own blog for a while, but recently while reading other people blogs, I finally decided to implement this idea of mine. So here it is!

More is coming soon ...