sabato 17 febbraio 2018

A bottom-up autonomic cyber-physical system of systems

A very inspiring talk on the importance of interleaving our sensitive infrastructures, such as energy, information, transportation networks, as well as the collection and analysis of data from related processes, in order to achieve a fully distributed and autonomic control, towards better resilience and efficiency. The emerging sharing economy will entail micro and macroeconomical dynamics that will revolutionize the way we produce, deliver and consume products and services, and consequently the whole job market in the years to come.

domenica 4 febbraio 2018

Smart Microgrids Munich - 2nd Meetup - Load Disaggregation & Building Energy Management

On February 2nd The Smart Microgrids Munich Meetup organized its second Meetup, this time hosted by the Siemens AI Lab and focused on the topic of Load Disaggregation and Building Energy Management. 

The event opened with a presentation from Benno Blumoser (Siemens), a walk through the AI Lab, its goals and the main thematic areas.

 DI Klemenjak (AAU Klagenfurt) introduced the topic of load disaggregation, reported the state of the art techniquest and pinpointed the main challenges that will further engage academia for future investigation.

Prof. Reinhardt from TU Clausthal presented then a framework for the modeling of appliances and the synthetic generation of power load profiles, to be used for sustainability research.

Lastly, Nikolaus Starzacher shares his experiences as CEO of Discovergy, a company commercializing load disaggregation on thousands of users, mainly across Germany. 

A fruithful networking and refreshment timeslot concluded the event to allow attendees to fully participate and share their experience. This included attendees from several research institutions (e.g. Fraunhofer, TUM) as well as industry (e.g., Siemens, e.on, PwC, Reply).

For those that might have lost the event, we streamed it on youtube (with a bit of technical effort, thanks Anwar!). Please find it below:

Looking forward to organizing another interesting evening!

venerdì 2 giugno 2017

Smart Microgrids Munich - Inaugural Meetup

The youtube version of the SuGrid Meetup Munich for those that might have missed it. 

sabato 20 maggio 2017

Smart Microgrids Munich - Inaugural meetup

Dear visitor,
we are organizing a meetup on the topic of Smart Microgrids here in Munich. Our inaugural event is going to take place next May 31st at the Google Munich offices.

We will have talks from industrial and academic partners sharing their experiences, here is the program:

18:45 Welcome

19:00 - 19:15 Thomas Chrometzka, Director of GIZ Thailand
Impulse Talk on Thai islands agile electrification project and potential of smarter microgrids
Thomas Chrometzka is a renewable energy enthusiast currently the Director Renewable Energy with GIZ Thailand. His team works with the Thai Ministry of Energy on enabling sustainable business partnerships to support faster renewable energy take-up in the region. Thomas and his team facilitate market entry for renewable energy companies, do policy analysis, provide capacity building and contribute to developing reference projects in the renewable energy sector. Lately, he has been working on implementing fuel saver and hybrid-grids solutions on Thai islands, which made him look toward blockchain for new solutions.

19:20 - 19:35 David Oren, CEO of Solarly
Impulse Talk on Solar home system business model innovation & fresh insights from the customer validation journey in Cameroon
David is the co-founder and CEO of Solarly aimed at bringing energy and life changing services in Sub-Saharan Africa. Solarly equips rural households with an up-to-date, affordable, and connected SOLAR HOME SYSTEM  providing an easy access to electricity, creating opportunities for economic development, and giving self-sufficiency to the people. David was also involved with YEP! Young Entrepreneurs Project to educate a new generation of entrepreneurs.

19:40 - 19:55 Stefan Grosjean, CEO Smappee
Our homes are decentralized power hubs - Smappee is a traffic controller in a busy intersection
Stefan is an international expert in Smart Grids & Energy Management. He founded EnergyICT in 1991 and grew this company into a worldwide leader in the area of energy management solutions for Commercial & Industrial enterprises, DSO’s and utilities. Stefan has received multiple recognitions, incl. “Entrepreneur of the year” (2000) and “European Business Award for the Environment” (2010). He holds a Master Degree in Electric & Electronics Engineering as well as an MBA from the Vlerick Business School. One of the main drivers behind founding Smappee was frustration with the way the energy market works and the way the big energy companies are treating the consumers. Smappee gives the consumers the means to see through the mist and keep control over their own consumption.

20:00 - 20:15 Erwin Smole, CSO GridSingularity
High-performance Blockchain client and the decentralized app/agent platform for digitalizing energy systems
Erwin Smole is the Grid Singularity co-founder responsible for strategy. Boasting over two decades of experience in the energy sector, Erwin held senior management positions in utilities, regulatory authority E-Control, and PwC. He has further been engaged in strategic business advisory for government and international organizations (UNDP, EU), as well as a range of energy market entrepreneurs. Erwin is a recognized expert in development of new business cases in the both regulated and non-regulated energy market segments.

20:20 - 20:35 Francois Sonnet, Co-Founder ElectriCChain, SolarCoin evangelist
SolarCoin - Mining the Sun
François graduated with a Masters in Finance (hons) from the ICHEC Brussels Management School and is an expert in Renewable Energy Business Development, having co-founded Belgium’s N°1 award-winning solar installer SunSwitch SA in 2007 at a time of little focus for Renewables outside of Germany and Luxemburg, and helping it build up to +90 employees and +20MEur Turnover in under 30months. François made his first steps at Euronext NV, Lloyds International Banking Group and the Audit Firm PwC in Luxemburg and has extensively traveled. François brings Bizdev skills to the SolarCoin ecosystem, advising solar companies towards developing Blockchain tools to initiate the Energy Transition towards a world powered by clean energy.

20:40 - 20:55 Sebnem Rusitschka, Founder Freeelio
AdptEVE - an AI-aided energy app that maximizes solar power productivity; and how it all fits together
As a computer scientist since 2006, Sebnem has worked in various technology fields of P2P & Cloud Computing, Autonomous Control Systems, and Big Data Analytics for Siemens in the application domain of Energy Management. Yes, she holds the record in riding hype cycles – analyzing and prototyping trends for industrial viability. 2016 for her marks the year in which many of these emerging technologies started climbing the productivity hill. Hence, Sebnem founded freeelio, a startup committed to bring fair and free electricity to the masses with the help of a decentralized distributed intelligence.

Until 22:00 
Discussions, Drinks, and Networking

So if you are in Munich those days, I hope you can join us for some interesting discussion.

sabato 19 novembre 2016

Docker command list

Docker is an open source project for the management of software containers that contain complete ecosystems to run software, with the main goal of isolating software components and simplify their deployment.
Accordingly, Docker provides a virtualization over the Linux kernel without the overhead of running virtual machines. This means that non-Linux systems run a Linux-based virtual machine Docker to run Docker containers. Docker exploits kernel namespaces and the cgroups to isolate and virtualize system resources for a collection of processes (e.g. process tree, CPU, network and mounted file systems), as well as union mounting which allows for the combination of separate directories into a one that is managed individually. This provides with a lightweight self-contained environment where software artifacts and their dependencies can be deployed. 

A docker file is a text file that describes the steps that Docker has to undertake in order to prepare a Docker image. This includes for instance the installation and setup of third party packages and libraries, the creation of the runtime environment (e.g, variables, filesystem folders). An image can then be created from a Dockerfile using the command docker build. See this page for further information for the creation of a Dockerfile and Docker images.
A docker image is an immutable template defining a snapshot of execution environment in terms of parameters and filesystem, while a container is the running instantiation of an image.
The Docker engine translates the image to a running execution environment, by initializing requested resources (e.g., CPU, memory) and starting specified processes inside it.
This means that after stopping the container changes are lost, unless the container state is saved (i.e. committed) to an image.

We can run a container from a local or remote Docker image as follows:
docker run -i -t <containerImageName> /bin/bash

with -it starting the container in interactive mode providing a terminal. Alternatively, -d can be used to run the container as a background service. In this case, it is possible to later start an interactive session by using the docker attach <containerID> command. However, this connects to the same session used to start the processes in the container. To actually start a new shell on the container the exec command can be used (i.e., docker exec -it <containerId> bash). The container can be given a name, for instance --name <cname>.  Using the --link and -p options, the container can be also started so as to reach the ports exposed by another container. The commands docker inspect and docker port can be used to list the port mappings of the container.
In addition, the -v option can be use to share a host folder as a specific folder on the Docker container. For instance, -v "$PWD":/current shares the current work directory (i.e., pwd) as the /current folder on the container.

Alternatively, data can be moved between a container and its host with:
docker cp <containerName>:/root/file.extension .
docker cp file.extension <containerName>:/root/file.extension

with the first copying from the host to the current work directory, and the second copying from the host to the container.

The processes running on a specific container can be monitored with:
docker top <containerId>

The process logs can instead be visualized using:
docker logs <containerId>
docker logs -f <containerId>

with f returning a continuous log stream.  While this works well, in practice for several containers a solution like logspouts ( is preferable to collect logs on a log server.

Similarly, resource usage of the container can be retrieved with:
docker stats <containerId>

which provides a CLI stream that can be closed with a Ctrl-C.
The container also exposes a REST api which can be polled by any HTTP client.

The container can then be gracefully stopped (i.e, SIGTERM) with:
docker stop <containerId>

Alternatively, the container can be interrupted (i.e., SIGKILL) with:
docker killed <containerId>

All available containers can be listed with:
docker ps -a

List only the running Docker containers:
docker ps

List latest created containers:
docker ps -l

To show the changes made over a container:
docker diff <containerId>

The Docker container can be committed to a Docker image to possibly restore the state in future:
docker commit <containerId> <containerImageName>

Similarly, a container can be exported to a tarball as follows:
docker export <containerId> > tarball.tar

The tarball can consequently be imported with:
docker import <containerImageName> < tarball.tar

Alternatively, the container can be deleted with:
docker rm <containerId>

The following commands remove respectively all containers and all images available:

docker rm $(docker ps -a -q)
docker rmi $(docker images -q)
The list of Docker images available locally can be retrieved with:
docker images

An image can be looked on the Docker hub with:
docker search <containerImageName>

An image can be downloaded from the hub with:
docker pull <containerImageName>

A Docker image can be deleted from disk as follows:
docker rmi <imageId>

The list of Docker images available locally can be retrieved with:
docker images

An image can also be renamed and associated to tags (e.g., version) with:
docker tag <repository>:<currentTag> <newRepository>
docker tag <repository>:<currentTag> <newRepository>:<newTag>

To list all available commands
docker help

Docker provides a handy tool to ease the management of distributed systems.

Moreover, the introduced commands can be easily integrated into a continuous-integration (CI) / continuous-deployment (CD) pipeline, thus providing a complete solution for the setup, deployment and monitoring of distributed applications.

mercoledì 30 dicembre 2015

German Battery Maker Launches Clean Energy Trading | MIT Technology Review

"The German company Sonnenbatterie has launched a trading platform for distributed renewable energy by offering a way for owners of small solar and wind generation capacity to buy and sell power across the utility grid." More here

domenica 16 agosto 2015

Bridging Local-Area Networks (LAN) across buildings

Lately I had the need for bridging a second building placed 80/100 m away, in order to share the internet connection and interface remote cameras.

The CPE mounted on a TV Antenna
The best quality-price solution I have found is the Ubiquity Nanostation M serie. Main products are the M2 and M5, which differ for their operating frequency, 2.4GHz and 5 GHz respectively. In particular, I opted for the "loco" version which is slightly less powerful and cheaper than the full M2.

A quick installation intro is available here and here. What's required is basically to configure one of the CPEs as Access Point, which creates a new IEEE 802.11ac wireless network which can be secured with a passkey. It's also important to correctly refer to the gateway in the network mask.

Similarly, the other CPE can be set as station to connect to the network just created. That's it.

I am using a switch to connect to the station. Apparently the CPE also forwards DHCP requests, which allows the gateway to seamlessly distribute IP addresses back to the second network.

Stepwise guides are available here and here.

So far so good, although I am curious to see how it behaves under bad weather conditions, especially for prolonged time. The case does not really look that robust for outdoor applications, still I am quite satisfied with the performance of the whole deployment.