Writing
Blog
Long-form notes on building software, shipping apps, and lessons learned along the way.
- 2 min read
Shadowing Lottie
[Lottie](https://github.com/airbnb/lottie-android) is a powerful library that parses [After Effects](https://www.adobe.com/es/products/aftereffects)…
- 5 min read
The Desktop is Dead! Long live the Desktop!
So it seems like desktop applications are dead, or the were... I don't know. I'd rather a full native app instead of a web-based app. EVERYWHERE! And that…
- 4 min read
Getting Started with Flutter for Linux
This post will not cover how to install Flutter on Linux, that can be easily done reading the following [official…
- 3 min read
Scanning your Java/Kotlin project with SonarQube
In the past year as a Technical Leader at Santander I have seen several a lot of code challenges submitted by applicants. All of them were small apps with…
- 2 min read
Headless Raspberry Pi configuration
Settings up a Raspberry Pi it's easy when you have an HDMI display, a USB keyboard and mouse in oder to access the terminal or you favourite Desktop, but…
- 3 min read
Getting Started with CircuitPython
[CircuitPython](https://circuitpython.org) is a spin-off of the well-known [MicroPython](http://www.micropython.org). An efficient implementation of Python…
- 5 min read
ESP32: Using the Internal Flash File System
The ESP32 contains a lightweight filesystem specially design for microcontrollers called Serial Peripheral Interface Flash File System. This File System,…
- 1 min read
Rollback from MicroPython to Arduino on ESP32
I hope you find MicroPython is VERY useful and perfect for you. But just in case it doesn't, or for any reason you want to rollback to Arduino. Here is how…
- 3 min read
MicroPython on an ESP32
ESPTools and Adafruit AMPY are required. Both can be installed using pip3. The recommended version of Python on the host is Python 3.7
- 2 min read
Setting up ESP32 development environment in Linux (with Arduino IDE)
Download Arduino IDE from [https://www.arduino.cc/en/Main/Software](https://www.arduino.cc/en/Main/Software). The latest version when writing this a article…
- 2 min read
Fibonacci Sequence (or when NOT to use recursion)
For those of us who study computer science and algorithms, the study of [recursion](https://en.wikipedia.org/wiki/Recursion_\(computer_science\)) has an…
- 2 min read
Listing all endpoints with Gorilla Mux Router
When adding different handlers to a Router, each one with its own base path (sub routing), it comes handy to list all the endpoints declared, not only as a…
- 3 min read
How to make a WhatsApp Bot in Go [Part 3 of N]
Processing incoming messages, either text or media, is one of the fundamental features a Bot must implement. In this post we will explore how to do this.
- 3 min read
How to make a WhatsApp Bot in Go [Part 2 of N]
In this second step, we are going to analyse how to use the API of [go-whatsapp](https://github.com/Rhymen/go-whatsapp) described in the [previous blog…
- 3 min read
How to make a WhatsApp Bot in Go [Part 1 of N]
Such a long time since I've published my last post, I'm back with a simple and small post: How to make a simple Whatsapp Bot in Go.
- 1 min read
iBeacons - Let your Mac broadcasts
iBeacons are built on top of Core Bluetooth so I wondered whether it would be possible to use a MacBook running Mavericks to create an iBeacon transmitter.…
- 1 min read
Using Leap Motion in an Objective-C project
I have started learning about Leap Motion and decided to make a simple app in Objective C in order to test it. The first thing I realise it is that there is…
- 1 min read
BeagleBone Black and Linux Kernel 3.8 with Android support
cd ~/
- 1 min read
Building Android for BeagleBone Black with Kernel 3.2
Note: SGX (hardware-accelerated OpenGL) is supported only in Kernel 3.2
- 1 min read
Compiling Android with Kernel 3.8
Note 1: SGX is not yet supported on Kernel 3.8 so there is no hardware-accelerated OpenGL on this release./pre>
- 1 min read
U-Boot for BeagleBone Black
Note: Use this guide only if you are building Android with Kernel 3.8
- 1 min read
Increasing Java Heap size in Android from source code
Under /frameworks/base/core/jni/ there is a file called AndroidRuntime.cpp where the Dalvik VM parameters are set. You can do a search over the file for…
- 1 min read
Installing busybox (for Android) on BeagleBoard
**BusyBox** provides several stripped-down [Unix tools](http://en.wikipedia.org/wiki/Unix_tool "Unix tool") in a single [executable…
- 1 min read
ADB over Ethernet in BeagleBoard
First of all we need to ensure that we have an Ethernet connection up and running. Connect your PC to the Beagleboard using a USB to Serial converter. USB…
- 3 min read
Beagleboard xM & native FTDI VCP driver
cd ~/rowboat-android/kernel
- 1 min read
How to setup a Blackberry 10 for development over WiFi
[ Driver for Android OS 3.1+
[FT232R Driver](http://www.ezequielaceto.com.ar/techblog/wp-content/uploads/VCPLib.zip) [PS2Pad (Test app for FT232R…
- 1 min read
Android 4.1.2 Image for Beagleboard XM
This Image can be loaded into an SD Card (4GBytes min). It can run entirely from the SD Card, or the Android OS can run from a USB Flash, and U-Boot,…
- 1 min read
Basic SysInfo for Android
Basic project used in a Beagleboard XM. It reports CPU, ABI, OS Version, Maunfacturer, Device, and more. Screenshot of the app in a Motorola RAZR i (Intel…
- 1 min read
Setting up ADB on Beagleboard
Enable USB Debugging on The Beagleboard
- 1 min read
Unlocking Motorola RAZR i (XT890) bootloader
C:homekimisdkandroidplatform-tools>fastboot.exe oem get\_unlock\_data < waiting for device > ... (bootloader) 3A35120005260968#53304237373054 (bootloader)…
- 1 min read
Loading rootfs from USB in Beagleboard
1) Format a USB Flash Drive with EXT4 File System 2) Decompress rootfs.tar.gz into USB Flash Drive `cp rootfs.tar.gz /media/USBDrive` `cd /media/USBDrive`…
- 1 min read
Setup Development Tools for Android
- Eclipse IDE for Java Developers (at least Eclipse 4.2 - Juno) - [link](http://www.eclipse.org/downloads/ "Eclipse Download")
- 1 min read
Android Jelly Bean (4.1.2) for Beagleboard xM in Photos
[ for Beagleboard xM
- Ubuntu 12.04 LTS - AMD64
- 1 min read
Simple log for iOS
In every method two very important variables can be found. One is already known by many iOS dev, and it is 'self'. The other one is '\_cmd'. This last one…
- 1 min read
Passcode Lock Screen for iOS
I have designed a small library (with its test project) that lets you implement a passcode lock screen on iOS. The library is compatible with iPod Touch,…
- 1 min read
SVN Tip
//search and delete .svn `find` `. -depth -name .svn -``exec` `rm` `-fr {} ;`
- 1 min read
I want to boot my Kernel on a real machine
Testing and running the Kernel with QEMU is nice, it is faster for developing but it is not what we want. We want to run things in real hardware.
- 1 min read
Monolithic or Micro Kernels
The Kernel is that tiny but very important part of the Operating System that acts as bridge between the applications and the low level resources of the…
- 7 min read
Starting from Scratch... (It's a nice day for writing a Kernel)
As most of us wished when we were kids, I also wanted to have my own OS. In those days, when I was nearly 12, it was not easy to find somebody that teaches…
- 1 min read
Makefile for the Simple C Kernel
Just to do things in the right way...
- 3 min read
Simple Kernel in C
Sometimes it's better to take one step back in order to take two step forwards. In the long journey until a get a simple Kernel in C++, I decided to start…
- 1 min read
Self Powered USB to RS232 Converter
A FT232R chip plus a Max3232 (extended voltage range) make this self-powered USB to RS232 (with TTL outputs also) that only consumes 90mA. As the Motorola…
- 1 min read
Android USB Host + USB VCP Driver [Part 3]
Once the prototype works and could establish a great communication between the Xoom and the FT232 IC, I decided to separate the project in order to let…
- 1 min read
Android USB Host + USB VCP Driver [Part 4]
On one of the previous parts, I show how to start an Activity when the USB device was plugged. Using that technique, the driver can be initalized, if it was…
- 1 min read
Android USB Host + USB VCP Driver [Part 1]
I have connected a USB device that creates a USB VCP profile to my Motorola Xoom in order to enable my Xoom apps to interface with RS232 devices. My small…
- 1 min read
Android USB Host + USB VCP Driver [Part 2]
(Un)fortunately I have just signed a NDA (Non-Disclosure Agreement) with FTDI Chip in order to develop the Android version of their FT(2)232 chip.…
- 1 min read
Golden Tip for iOS
This line of code is definitely as sweet as elegant. \[\[\[self view\] subviews\] makeObjectsPerformSelector: @selector(removeFromSuperview)\];
- 1 min read
How Android sees an attached USB Device
In the long way that my project must walk, I decided to start testing some small things in order to understand how the Android USB Host API and Open…
- 1 min read
Debugging Android wirelessly
Recently I flashed my Motorola Xoom with Android 3.2 in order to start playing with USB Host API and Open Accessory API, but both functionalities are…
- 2 min read
UC3B @ High Speed
From time to time I forget how to set the UC3B CPU to run at full speed. The EVK1101 comes with a 12MHz crystal, and I use the same crystal for my board…
- 1 min read
A picture is worth a thousand words...
Running Python from a SSH session on the Pre2  and…
- 1 min read
Python and PyGame meet WebOS =)
The PalmPDK includes a toolchain of GCC in order to build C and C++ applications, and Python is a nice one. The idea behind this is to allow webOS to run…
- 2 min read
First contact with AVR Studio 5 (beta)
After years of being the lastest (and only) official IDE for AVR microcontrollers, Atmel decided to launch a new version of the famous AVR Studio. Of course…
- 3 min read
webOS low level programming - basic app
For Windows and Mac OS, Palm provides a low level SDK called Plug-in Development Kit (PDK) which allows you to develop C and C++ native applications or…
- 4 min read
First webOS (web) App
So finally I have started to play with some programming on the Palm Pre 2. It is interesting to find that web applications runs as smooth as native onces in…
- 1 min read
a Caller ID that speaks (for Android)
So I have just arrived home and while preparing a tuna fish sandwich somebody calls home and the answer machine started to say the number. This is something…
- 1 min read
Bluetooth in pre-Android 2.0 devices
Android OS introduced Bluetooth as an open API in version 2.0, but early versions like the well known Donut (1.6) and, one of the most famous in Motorola…
- 2 min read
Software Framework comes to rescue: FAT32
Embedded applications make intense use of information these days, both for reading configurations and writing logs and process' results. Developers tend to…
- 1 min read
Simple 2D Graphics functions
So finally I have uploaded a first release of my 2D graphic engine for microcontrollers. Even though I would like to make it portable to several displays…
- 2 min read
Blackberry's Pearl controlled with ARM7
I found really interesting a small protoboard created by Sparkfun that allows you to easily connect a Pearl (the one made famous by RIM / Blackberry…
- 1 min read
iPhone App for AVR Development
There is an infinite number of AVR website that has configuration wizards for UART, Timers and SPI, but I didn't find an iPhone application that can do…
- 1 min read
ARM7 Programming under Mac OS X: Part 1 - ISP
Programming on a Mac is quite similar as you do on a Linux PC, and developing for ARM7 is not the exception. In this first post I'll show you how to setup…
- 2 min read
ARM7 Programming under Mac OS X: Part 2 - GCC and Eclipse
Even though OS X default IDE is XCode (for C, Objective C, Java) and the fact that we can use XCode for programming an ARM7 MCU, using Eclipse is great…
- 3 min read
AVR32 Software Framework Drivers: USART
[](http://www.ezequielaceto.com.ar/techblog/wp-content/uploads/2010/04/select_framework_drivers1.png)As we get into AVR32 programming it's unavoidable to…
- 1 min read
AVR32 UC3B Hello World!
Inside AVR32 Studio I'll create a new project (File -> New -> AVR32 Example). As I'm going to use the EVK1101 as my base development it may be a good idea…
- 2 min read
The AVR32 UC3B Platform
The AVR32 is not only a microcontroller, it's a complete development platform that works smoothly on Linux and Windows, and may be OSX without too much…