Dino Fizzotti

Engineer, maker, hacker, thinker, funner.

Apr 10, 2020 - 8 minute read - Comments - Raspberry Pi Software

Raspberry Pi Cluster Part 1: Provisioning with Ansible and temperature monitoring using Prometheus and Grafana

I decided to build a Raspberry Pi cluster to give me a platform with which I can practice distributed computing technologies without needing to rely on a cloud provider.

Dino's Pi Cluster

This first post details my hardware set-up as well as how I used Ansible to “remote control” the installation of monitoring software on each of the Pi hosts, with the goal to observe the Raspberry Pi CPU temperatures.

Jan 9, 2019 - 16 minute read - Comments - Software Python Raspberry Pi

Running a man-in-the-middle proxy on a Raspberry Pi 3

Raspberry Pi 3 and mitmproxy

[2019-08-03] I have since updated this post with new instructions for running mitmproxy on Raspbian Buster, which now includes Python 3.7.

In preparation for a training session I will be giving on public key infrastructure (with a focus on TLS and certificates) I wanted to demonstrate how a transparent “man-in-the-middle” (MITM) proxy works.

This post walks through the configuration of a Raspberry Pi 3 acting as a Wi-Fi access point, running a transparent man-in-the-middle proxy (mitmproxy), which can be used to sniff HTTP and https traffic on connected devices.

Oct 14, 2018 - 8 minute read - Comments - Software Python

CarbAlert - Part 4: Deploying and Using CarbAlert

This is part 4 of a 4 part series of articles where I explain how I discovered and purchased my laptop by building a web application which scrapes a local PC parts forum and sends automated email alerts when posts featuring specific keywords appear:

CarbAlert on GitHub: https://github.com/dinofizz/carbalert

Docker

As part of my quest to learn new things I wanted to deploy my CarbAlert solution using Docker and Docker Compose. Docker Compose is well suited to this application as it enables a group of related Docker containers to be built and deployed together.

Oct 14, 2018 - 6 minute read - Comments - Software Python

CarbAlert - Part 3: Celery, Mailgun and Flower

This is part 3 of a 4 part series of articles where I explain how I discovered and purchased my laptop by building a web application which scrapes a local PC parts forum and sends automated email alerts when posts featuring specific keywords appear:

CarbAlert on GitHub: https://github.com/dinofizz/carbalert

Celery

Celery is a distributed task queue framework. In conjunction with a message broker (in my case Redis) it can be used to process asynchronous tasks as well as schedule periodic tasks. I am using both of these features:

  • A periodic task is run every 5 minutes to initiate the Scrapy CarbSpider to scrape and scan the first page of the Carbonite Laptop forum index page for new threads featuring search phrases of interest.
  • From within the CarbPipeline activity I push asynchronous email tasks for Celery to handle. This separates the sending of my email notifications from the parsing of the thread metadata.