Early this year I gave Josh, a boy from a local high school, a training session about the Verilog HDL language, here you can find the slides of the presentation cpld-introduction. In there I covered these contents:
What would you do if you won the lottery? Yes, the likehood is low but let’s just imagine. I will probably be working in electronics like now for several years. I wouldn’t say a word to anybody so that I could feel the freedom of a solved life. Ordinary problems look very different in that scenario and that is great, isn’t it?
I always have the idea to start my own business, it would look something like that:
- Students from Stmexion (Malaga)
- Some want to go further with their hobby.
- Classes in English.
- Conferences at Cambridge Marker Space.
- Other marker fairs all over the world.
The Amazon Echo Dot is based on the DM3725, a Digital Media Processor from TI:
This convenient device includes a microphone and an ADC embedded that is always waiting for a keyword to wake up, then it processes and convert the audio into a sequence of characters, yes, just like Siri does.
The chip costs only 23$ so it is possible to design an Arduino shield and deploy them in strategic rooms: the kitchen, the living room and maybe the toilet 🙂 Imagine that those Arduinos are connected wireless to a Raspberry PI that controls the sound system or the central heating of the house.
Therefore, the PI will be able to control some appliances in the house with some verbal commands like “play music”, “start the heating”, etc.
Now image that the same commands are available on a web server. The only difference is that you need to type them but this allows you to do remotely the same things as you were at home.
[https://github.com/thommay/chef-rewind chef-rewind] is a Ruby gem that is needed by most of wrapper cookbooks, as it allows easy overriding of steps inside Chef recipes. A separate recipe for installing chef-rewind should not be needed under normal circumstances, but most of the machines in the LAN don’t have access to https://rubygems.org (which is needed to install external gems). Therefore we have a minimal recipe that copies the gem file to the nodes and installs it locally.
Over the past 2+ years I have been working as a sysadmin of a Linux network using bash scripts, Make files, etc. The most useful tools I have learnt so far is Chef for something called “configuration management” 🙂 In a nutshell, Chef is used to deploy the same configuration in multiple server in an iterative manner.
At this context I use Docker containers to test the “recipes” before deploying them in real machines. Sometimes I have some containers that I would like to share with other colleagues. Let’s see how to do it.
How to build an image
You have two options: (1) using the docker build commands (there is a registry of images on the web of docker) or (2) using a Dockerfile that looks like something like this:
COPY, ADD, EXPOSE, RUN apt-get
You can interact with the host machine: port forwarding, shared folders, etc.
How to run the container
docker run <image> exec <command>