Archive for October 31, 2009

Best red wine braised short rib ravioli in Washington DC

October 31, 2009 Leave a comment

My wife and I were big fans of Maestro restaurant at the Ritz Carlton in McLean,VA (also known as Tysons Corner to the DC area locals).

In August 2007, Fabio Trabocchi – the executive chef at Maestro – decided to move to New York where he opened Fiamma restaurant.  Sadly, in early 2009 Fiamma closed.  Reason:  worsening economy.  In late 2008 / early 2009 some restaurants in NYC reported 30-40% decline in business.

There is a new restaurant in Tysons Corner called Inox. The lunch menu can be found at

I think Inox is one of the best restaurants in the Washington DC metropolitan area.  The food is exceptional but one dish truly excels.

Red wine braised short rib ravioli with wild mushrooms, roasted shallots, and butternut squash has very few equals.   Try to create time for prix-fixe lunch and order this dish.  Do not forget to sample Inox’ olive bread.

My next ‘the lighter side’ blog post will focus on dining options in Vienna, Austria, one of my favorite cities.

Inox Restaurant location in Tysons Corner (McLean) Virginia


Automated build / deploy process: glimpse of the future

October 31, 2009 Leave a comment

My team is working very hard to put finishing touches on an automated build / deployment process which will accomplish two key objectives:

– Serve as a platform to perform multiple automated regression tests, each with a specific purpose

– Increase code coverage by automated tests to more than 70%

So – what will this process look like in the very near future?   I am very excited to share a preview.

First – all product components will be rebuilt (no partial compiles).  This also includes product documentation maintained in a single source database where each documentation element – usually a paragraph or one or more sentences – are managed with XML tags.  The build process will extract documentation ‘snippets’ and automatically assemble online help files, printed documentation (user & administration guides).  This step has to work or the build process will fail.

Second – automated deployment process will initiate installation procedures (the same procedures that an actual customer may use in the future) and install  the new release of the software in 3 distinct QA environments:

– QA environment ONE:   will support execution of a standard regression suite to exercise core functionality

– QA environment TWO:  will support execution of another regression suite which consists of critical end-to-end scenarios performed by the majority of the customers. The best part: these scenarios can be changed before each nightly execution.  For example, if the new release addresses many bugs for a small group of customers, scenarios relevant to these customers can be easily included in the execution profile.

– QA environment THREE:  will run multiple scalability and performance tests.   There is an extra step in this process.  One of the engineers will schedule a process which will automatically generate test databases that mirror certain customer profiles.  It’s essential for scalability tests to operate on real or almost real customer data.

Finally, the deployment process will also execute and validate  ‘uninstall new release/ install & activate old release’ procedures.

One of the features I like the most is an automated notification of what scenarios worked and did not work.   Each software engineer receives an e-mail after each scenario was executed.  The e-mail also contains detailed diagnostic information if the scenario failed during execution.

It was a long journey to get to this point but it was more than worth it.

Categories: Software Engineering