Author Archives: paulborile

About paulborile

I’m a multi-skilled IT professional with a good all-round supervisory and technical expertise. Extensive, 20+ years of professional experience in software development allowed me to investigate computer science and software engineering inside out. During these years I built up a solid base of design patterns, software architectures and programming languages such as C/C++, Golang, Java, Python, SQL, Assembly (and many others). I worked on mission-critical and multi-channel applications, applying distributed computing, messaging, image/data processing and computer graphics techniques. I faced both architecture design and systems rearchitecting, microservices introduction and technology migration as well as company wide adoption of new technologies/methodologies multiple times. As an entrepreneur I have built and grown teams and development organizations from the ground up (internal/out sourced/at customer site) focusing on software engineering methodologies as well as recruiting, budget/financial control and operations support. I am particularly interested in software testing methodologies, software quality metrics and tools to make software development faster and better. Currently leading the Italian development team for ScientiaMobile Inc, a Reston (US) based startup focused on image optimizing CDN and mobile detection technologies and services. Born in Dearborn Michigan and living in Italy since many years now I speak fluently both English and Italian, studied French and learned some Russian while working for some time for a Olivetti/Aeroflot project.

Forecasting increase in electricity needs by introducing electric traction in automobile

A growth in electric vehicles on European roads will need a corresponding  growth in electricity production to serve charging of these cars, both in peak production power and in total annual power. Let’s take italy for example which currently has a total year consumption of around 300 TWh (terna). Considering :

This accounts for 2250 KWh/year for each electric car. Considering 2 milion new cars per year and a 0.5 % of electric cars sold (10000) this means an additional 22 GWh/year to be produced to allow charging them.
So your electric car will consume like a small household (depending on your mileage) and personal/distributed production of electricity (domestic + accumulation) will be necessary.

If you want to really dig deeper : here.

Adda river hydro power plants

During one of my MTB rides at the Cancano lakes I stumbled into this beatifull dam which is part of the A2A Hydro power of Valtellina : 8 hydro power plants from cancano lakes down to Stazzona near Tirano using water coming from the Adda river and from other 4 different basins :

  • San Giacomo : 10MW
  • Braulio : 19 MW
  • Premadio : 226 MW
  • Grosio : 428 MW
  • Grosotto/Boscaccia : 13 MW
  • Lovero 49 MW
  • Stazzona : 30 MW

Adda river continues is ride down to Po river and in the mean time produces some other Hydro power in 4 hydro power plants that have been sold to EDF :

  • Bertini : 12,5MW
  • Taccani : 11 MW
  • Semenza : 7 MW
  • Esterle : 32 MW

and then into some other small powerplants :

  • Rusca : 7 MW
  • Italgen Vaprio : 21 MW
  • Crespi (Adda Energia) : No data
  • Adda S.Anna : No data
  • Fara : 1 MW
  • Muzza : 2,5 MW
  • Maleo : 4,5 MW
  • Pizzighettone : 3 MW

A total of around 900 MW of clean, renewable, hydroelectric power!

C++

Google C++ style guide : something every C++ coder out there should read or ““Within C++, there is a much smaller and cleaner language struggling to get out.” — Bjarne Stroustrup”

Having over 100 million lines of C++ code, google took the C++ problem (language with so many features, different ways of doing the same things, dangerous constructs, some pointers to the problems with c++ can be found on wikipedia, and here for an authoritative opinion)  seriously and this is what came out.

Some interesting decisions taken :

“We do not use C++ exceptions.” from here

“Avoid defining macros, especially in headers; prefer inline functions, enums, and const variables. Name macros with a project-specific prefix. Do not use macros to define pieces of a C++ API.” from here.

“Avoid complicated template programming” from here

“Within C++, there is a much smaller and cleaner language struggling to get out.” — Bjarne Stroustrup

Microservices technology map

Microservices basic tools/technology quick guide (will always be work in progress)

REST API Server and Windows : ASP.NET Core kestrel, OWIN or plain old IIS + ASP.NET Framework ?

If you are planning to build API and make them available as micro services and your code assets are C#/.NET Framework/Windows then you have some choices :

  1. ASP.NET Core comes with an internal  web server called Kestrel : kestrel claims to be a light and fast web framework which runs ASP.NET Core applications without the need for IIS in front (you might decide that IIS is usefull for other things). Kestrel allows for middleware modules (like IIS ISAPI filters) that allow for adding features to the basic server.
  2. Katana (OWIN Microsoft implementation) is a collection of NuGET packages for building OWIN applications.
  3. Plain old IIS + ASP.NET REST API code

Some good information can be found here from uShip guys
I’m basically writing this for myself as a reminder for the new .NET Core Microsoft environment.