Getting Started With ESP 32 Development

ESP 32 is a series of low-cost, low-power system on chip micro controllers with integrated Wi-FI and Bluetooth. SoC or system on chip is an integrated circuit that integrates all or most of the component of a computer. Example the CPU, RAM, IO interface, GPU, etc. This form is becoming more and more popular thanks to growing smartphone and computing industry. Apple M1 chip is a good example on the direction in which SoC’s are going.

The ESP 32 is really low cost it cost like 350 in India, and less than 10$ in the US. Now when you buy this you don’t buy the chip alone, but a chip on a development board. There are several articles (https://makeradvisor.com/esp32-development-boards-review-comparison/) on that. The board that I bought from amazon was this https://www.amazon.com/dp/B0718T232Z?psc=1&ref=ppx_yo2ov_dt_b_product_details, i also bought one with OLED display as well https://www.amazon.com/dp/B07DKD79Y9?psc=1&ref=ppx_yo2ov_dt_b_product_details.

In this article I will be talking about how to get started. We will basically will be setting up Aurdino IDE in linux, followed by flashing few sample programs like:

Amazing Emoji Keyboard in Linux

I am a developer who moved from Windows, to Linux, to macOS, to Linux. A typical developer’s journey 😆. So moving from windows to Linux was over 13-14 years ago. I didn’t do much from the windows world other than games and single executable files. But moving from macOS to Linux, has been a bit tough. KDE has been able to provide me with everything I want and more. The one thing that I missed the most was the emoji keyboard, with easy to launch shortcut.

My usage of emoji was at its peak during macOS days, I used emoji for my communications, commits, function name and even terminal aliases. 😈 Not everyone was a fan of my emoji usages, but I loved it.

Running Migrations From Console

Note: I am using Apartment gem to manage my multi schema database, and this article is written with expectation you know and use that gem.

When you have multiple schema in your rails application, it is important for them to remain consistent. Rails migration is run by keeping track of the timestamp prefixed in front of its file name. It stores the database. So when you restore a schema that hasn’t ran the migration, but rest of the schemas has it, rails thinks it has already ran the migration. Rails look at the main / default schema to know if it has ran the migrations and then follow up on the rest.

Access History in IRB

Accessing the list of commands you have ran in your irb or rails console. Running the following command in your console Readline::HISTORY.to_a returns the array of commands you have typed in console. After which you can treat it like any other array in ruby - search, sort, etc.

Remote Coding Using Tailscale and Code Server

This tutorial or concept uses two softwares to make remote coding on your home machine possible. Tailscale code-server Tailscale is basically a VPN using open source wireguard protocol. It creates an encrypted point to point connection so that only your devices can talk to each other. So you can build a secure connection between your two computers over the internet. These two computers can be across the world, and they will be as if they are on a same network.