ROMBAC 1-11 – yet another communist regime failure

While we were kids in Romania we were continuously brainwashed and indoctrinated. Everything the Romanians did under the communist regime was great, we were living the Golden Age, etc, etc, etc … bleah
I’m happy I can write this down, I can purge the indoctrination and put my mind to good use.
I’ve just learned one thing about ROMBAC 1-11: it has been touted as a great achievement of the regime (imagine that: only Romania and Russia had built commercial jet airliners!) And I was proud when I first read about it!
However, the communists were not able to:

  • create a normal supply chain
  • properly detect the market
  • properly adapt to the market (go figure: the aircraft was banned from landing on Western airports due to high noise levels; and they were not able to change the production to use better engines…)

So only 9 units ever flew, only inside the country. The other 41 planned units were never produced and the entire enterprise went to scrap metal. So the program was not really a failure, but in the end the management (read “Ceausescu”) failed to adapt to market conditions and made it a failure.

I only hope the nostalgic characters still living in our country will finally understand the level of propaganda that poisoned them and start searching for the truth.

Azure App Service Plan


“App Service Plan” is “features set” + capacity

“App Service Plan” has “pricing tiers” (Free, Shared, Basic, Standard, Premium)

Apps in the same subscription and geographic location can share a plan.

Apps sharing a plan:

  • have access to all capabilities and features defined in the plan
  • run on resources defined by the plan

An app in App Service can be associated with only one App Service plan.

Apps and plans are contained in a resource group.

A resource group serves as the lifecycle boundary for every resource contained within it.

Different apps can be allocated to different physical resources. One usage scenario: allocate one plan for production, with dedicated resources, and another one for dev/staging, with shared resources.

Having multiple plans in a single resource group enables the definition of an application that spans across geographical regions. For example, a highly available app running in two regions includes two plans, one for each region, and one app associated with each plan. All copies of the app will be associated with a single resource group. Managing the app health is easier this way.

When creating a new app one should consider creating a new resource group.

When adding a new component for a larger application (for example, an admin portal for an existing web app), create the new component in the existing application resource group.

The Azure portal ( does not allow one to create a service plan; instead, such a plan can be created when creating a new web site.

One can use PowerShell to create a plan, see

List resource groups (lookup new cmdlets after September 2015):

Switch-AzureMode -Name AzureResourceManager
Get-AzureResourceGroup | select ResourceGroupName

List server farms:

Switch-AzureMode -Name AzureResourceManager
Get-AzureResource -ResourceType Microsoft.Web/serverFarms | select ResourceName, ResourceGroupName, Location

HTML canvas erroneously transforms its content on resize

I’ve experimented with HTML canvas while trying to display some special micro-charts in our application. We were considering using SVG and we wanted to make sure we do not have too many objects in our DOM.

Unfortunately the HTML canvas has a “no-go” behavior: if you change its size, the content erroneously resizes (the worst fact is it changes the font size). Workarounds exist: one can detect the canvas resize event (see and redraw the content, however the entire code must adjust for canvas size, unlike any other rendering code I’ve ever written.

I’m growing tired of the poor mindset behind HTML and the other web technologies … and I miss XAML.

JS regex to validate an e-mail address

One of my developers says “this is tricky!” – but I can’t see why!

The basic regex I use is ^(\w)+([\.]*)(\w)+[@](\w)+[\.](\w)+

If you find a string that’s a valid e-mail address but it’s rejected by this regex, please let me know.

Also, if you find a string that’s an invalid e-mail address but it’s accepted by this regex, please let me know.