Adafruit PCB ruler. Available at: Attribution-NonCommercial-ShareAlike 2.0 Generic (CC BY-NC-SA 2.0)

PCB Rulers

I was bored and made a list of PCB Rulers. Continue reading


Linux tracing and perf tools

In this 18min presentation, Brendan Gregg show us some great tools and resources for linux debugging, tracing, and profiling. He starts by introducing his own tools, all based in ftrace and perf, and then shows how BPF works and the front-end tools provided by BCC.  In this post I copy-pasted the tools’ descriptions and the full presentation is available at the LISA16 conference website.

Continue reading

Arduino Yún

Hardware Description

Getting Started Guide

Some Inspiring Projects


Related Libraries

Defensive Programming

Design by contract

A compromise of the functionalities and behavior of a module;

Use assert()


  • improve testing
  • detect bugs
  • behaves like executable comments
  • improve code quality
  • can be turned on and off


  • slowdown execution
  • commonly misunderstood
  • some times used improperly for error handling


Static Code Analysis

Excelent tool for detecting errors that the compiler won’t detect.

Other techniques

Data hiding (encapsulation)

exposes only necessary functions;

Robust watchdogs

  • should have separated clock sources;
  • fast detection of failures
  • ability to accuse what went wrong

Stack monitor

easily implemented in RTOS, but hard to implement in baremetal;

Error handling



Benigno Defensive Programming

my debian tweaks

First steps:

Comment the CDROM option in the apt source list at  /etc/apt/sources.list

# deb cdrom:[Debian GNU/Linux 8.7.1 _Jessie_ - Official amd64 DVD Binary-1 20170116-11:01]/ jessie contrib main

some basic tools

apt-get install vim git tree 

…if it’s a virtualbox VM

apt-get install virtualbox-guest-utils

I made another post about virtualbox

dev tools

apt-get install kicad arduino

pending: cross compiling tools for arm

user conf tools

Virtualbox tweaks

Usually Virtualbox VM’s doesn’t adjust themselfes. So here’s some tweeks if you want to use Virtualbox:

Adjusting the monitor resolution

VBoxManage.exe setextradata "VM NAME" CustomVideoMode1 1920x1200x32

sudo apt-get install virtualbox-guest-utils virtualbox-guest-x11 virtualbox-guest-dkms