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

Guia de como usar \LaTeX em trabalhos acadêmicos da UFSC

Este guia é para que alunos da Universidade Federal de Santa Catarina que desejam desenvolver seu trabalho acadêmico utilizando o LaTeX. Para quem não conhece a ferramenta,  o LaTeX é uma ferramenta antiga de formatação de texto com resultados muito bonitos e famoso pela sua abordagem WYSIWYM em detrimento da WYSIIWYG, tradicional no word e etc.

Se você está aqui é provável que não tenhas obtido sucesso usando o template \latex da Biblioteca Universitária. Infelizmente, esse não é o forte deles. Da última vez que chequei o site da biblioteca, nem um modelo em .odf (open document format) eles possuem.

A primeira dica é: não use latex.

LaTeX é uma merda e o libreoffice/word conseguem imprimir bons resultados se comparado com antigamente. Uma breve leitura de tipografia e layout e tá tudo certo.

Use o UFSCThesis

github: https://github.com/mateusduboli/ufsc-thesis-latex

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