Launched vivotime.net, a website focused to help you make the most of your limited life, with ideas aligned with your goals.
Launched vivotime.net, a website focused to help you make the most of your limited life, with ideas aligned with your goals.
Earlier this year I saw a Tech Ingredients episode where a laser gimbal automatically tracks drones and shoots them down. I was fascinated by their motion control mechanism, specially the usage of a PI Controller, a high-frequency clock Teensy microcontroller, and their integration with custom hardware and a machine vision powered tracker.
Soon after I was researching the underlying electronics and how to experiment upon their concepts. The most obvious microcontroller to drive these would be an Arduino, but several recommendations pointed towards acquiring a kit rather than a single microcontroller, and the Elegoo Arduino Uno R3 Starter Kit seemed the best.
The kit contains over 200 components and an extensive guided tutorial, which I’ve completed (except for the last section using an extra expansion shield). In this article, I’ll go through the highlights of this journey, delightful deviations along the way, and exploration of core electronics concepts. Let’s dive in!
This blog article will describe the implementation of a fully offline Llama3 8B LLM agent with access to WhatsApp Messages and Obsidian notes (or any other data sources), making it able to hold conversations about any of the topics present there. All data stays local, including the data from WhatsApp and Obsidian - it is in fact a personal assistant.
Source code for this project is available on GitHub.
Books are an immensely valuable source of condensed knowledge and insightful thoughts. Here is a selection of my favorite quotes, from books I’ve read throughout the past years:
YouTube video with a summary of this article
Life is growth. You grow or you die.
― Phil Knight, Shoe Dog
I’ve had the good fortune of having the opportunity to develop my software engineering work as a tech lead (which is not a fixed role), focusing more of my effort on solving sets of problems, as opposed to individual projects/tasks. While navigating this path, I’ve gathered a set of teachings from my mentors/peers/managers and other personal learnings and observations that I attempted to compile in a condensed list. Hopefully these can be useful in your own journey, just like other people’s learnings were to mine:
This article will dive into the system behind the generation of Hacker News Daily, an open source lightweight daily Hacker News best stories website, with screenshots and top comments.
This article will go through my implementation/design of a large scale autocomplete/typeahead suggestions system design, like the suggestions one gets when typing a Google search.
This design was implemented using Docker Compose1, and you can find the source code here: https://github.com/lopespm/autocomplete
YouTube video overview of this implementation
YouTube video version of this article
Before: Initial prototype, built 6 years ago
After: Current version, released last November
This article/postmortem provides an in-depth look into the process of building Survival Ball, a Single / Local Co-Op physics-based game available on Steam for Windows and macOS. From prototype until showcase at Lisboa Games Week, passing by the related principles, design decisions, level creation process, tools and technical details.
Mostly invisible, yet essential, camera work is key to any game with dynamic cameras. This article dissects a concise Unity open source library which dynamically keeps a set of objects (e.g. players and important objects) in view, a common problem for a wide range of games.
The library was developed for, and used by my first Steam game, Survival Ball. The game has an heavy shared screen local co-op component, which requires the camera to dynamically keep many key elements in view.
ArXiv Papers is an open source mobile application to search, download and save arXiv papers. It was developed using a react native / redux framework and is currently available for smartphone and tablet devices. You can get it on Google Play.