Adafruit PCB ruler. Available at: https://www.flickr.com/photos/adafruit/10211924224 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

Advertisements

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

https://www.arduino.cc/en/Main/ArduinoBoardYun

Getting Started Guide

https://www.arduino.cc/en/Guide/ArduinoYun

Some Inspiring Projects

https://create.arduino.cc/projecthub/products/arduino-yun

hackaday

Related Libraries

https://www.arduino.cc/en/Reference/YunBridgeLibrary

http://www.arduino.org/learning/reference/ciao-library

Defensive Programming

Design by contract

A compromise of the functionalities and behavior of a module;

Use assert()

pros:

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

cons:

  • 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

 

References

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

https://github.com/antonioluppi/userconfig

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

https://superuser.com/questions/495670/make-virtualbox-use-full-screen-size-in-windows-8

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

https://askubuntu.com/questions/3205/higher-screen-resolution-in-virtualbox