My Digital Copybook
Principles and policies I use to organize my tasks. It also includes my own way to handle a kanban board which uses an interesting approach, the metadata.
How I implement a TypeScript type-guard on an object-like type.
It happens often I need to implement a TypeScript type-guard that consumes an object-like type, but did not found clear examples in official documentation or articles. This is the solution I found.
React list with Array.from()
How to use Array.from() to render a list of React components, makes me think about how good is React software design.
How to connect via SSH from AWS CloudShell to EC2 instance
Just a quick list of actions and tricks to write down how to connect from AWS CloudShell to an EC2 instance
Rethink React with Deno
How to setup a Deno server to perform ServerSideRendering with React. The Web is evolving in the right direction.
My Neovim setup
Neovim is my favourite editor for modern web development with React, TypeScript, etc. Here it is my setup.
Brand your app version with Create React App
Write your app version into the HTML. Quick and simple implementation.
Empty favicon trick
If your HTML do not point to a favicon you get a 404. There are few use cases when you want to avoid that but also do not have a favicon ready yet, or you want to save bandwith. Use case is up to you, let me show you the (one line trick :) code.
How to setup Google Workspace group to send and recieve email
Follow these complete instructions to create a group Google Workspace to send and recieve email.
Sass SVG inline background interpolation tricks
Creating a dynamic SVG inline background with Sass can bring many surprises. Let me share these tricks.
TypeScript enum alternative
Define a list of strings that represents a set of entities, using Literal Types instead of Enum
A Simple React/Redux structure
Let me show you I use Redux with React, a set of snippets that I have polished during the last few years to achieve a simplified and flexible structure that is easy to understand also for beginners.
Framer X and internationalization
How to setup Framer X to use a i18n React tool and design with translations integrated
Using Framer X with custom Sass build
Framer X is a slick tool, you can express your creativity creating not only design mockups but also React components from real code. Is it possible to use your own Sass build?
React input number done right
Having an input number working correctly is not that easy, let me share my implementation.
Always use TypeScript
My Mac Terminal configuration
Mac Terminal is the Non Plus Ultra. Let me share my configuration, in particular I want to remember that font! R.I.P. Steve.
AWS Lambda npm scripts
AWS Lambda is great! But even better, there is no need to add any framework on top for management. You can use npm scripts.
Vim tips & tricks
Vim is awesome and can speed up your productivity, however it is hard to learn. I will write here things it is worth to remember.
Which is better? axios or fetch? Let me share my ( unconventional, as always :^) opinion.
Optimize Maxmind database loaded on Redshift using Analytical functions
If you need to associate an IP address to a country or a city probably you will use MaxMind data. If you load it in a relational database you will write a SQL statement that joins your traffic data with MaxMind data, which can be really heavy. This is an attempt to optimize queries by reducing the number of MaxMind data rows.
I am using Redshift since two years ago, and as every database it has its SQL dialect and its secrets. I will write here everything I discover and it is worth to be annotated.
Getting started with PostGIS
PostGIS is a PostgreSQL extension that adds support for geographic objects allowing location queries to be run in SQL.
Play T-Rex Chrome game online
If you also like Chrome, you probably also like to play with the T-Rex game but then suddenly the network arrives and the game is over...
React Semantic-UI customized
React and Semantic-UI are awesome! This article describes step by sted how to use them together and create a custom build.
Compute ISP with Maxmind
This is a quick and dirty Perl script to compute the ISP of a given IP, using a Maxmind CSV file
Crontab best practices
How to edit a crontab in a mantainable way, and other tips to use it the right way. I found a lot of messy crontabs around, it would be better to mantain order.
AWS Redshift compatible PostgreSQL client
How to install a PostgreSQL client (psql) that is compatible with AWS Redshift
S3 to RedShift loader
Load data from S3 to RedShift using Lambda, powered by apex. Our goal is: every time the AWS Elastic load balancer writes a log file, load it into RedShift.
Server hardening tips
You got a Linux server and you want to prevent security issues: follow these instructions.
The camel replicates!
Install and use CPAN packages on an host without Internet access. On conquering hosts with a camel.
Math on GitHub Pages
Display math formulas on GitHub Pages using LaTeX. Two methods are described, one using MathJax to render formulas client side, and other using KaTeX to render formulas server side.
Moving from Blogger to GitHub Pages
Migrate your blog from Blogger to GitHub Pages to gain full control on your content.
Git shell Windows tips
There are a lot of goodies and tips it is worth to know when you install Git shell on Windows.
How to drop a user on Netezza
You are trying to drop a user but Netezza complains cause it "owns objects"? This article shows how to solve this problem.
How to collect Netezza history
Collecting your Netezza query history is a mandatory step before optimization. Read this article to know how to collect Netezza history easily.
Using git and svn together
This is a quick and dirty way to version a folder using svn and git at the same time.
Creative people using GitHub
This is a step by step set of instructions on how to use github to contribute to your favourite creative coding project (that is vvvv of course) so you can help, improve it, and maybe add features you need for your own projects.
How to install DBD::Oracle
I am going to put here all the steps required to install DBD::Oracle CPAN module, which is not a straightforward installation. The purpose is to reduce headache and turn it into a repeatable process.
Getting started with Git shell on Windows
This is a step by step guide to help you getting started with git on Windows.
Install Node.js without sudo
This is a straightforward Node.js installation, just copy and paste the commands in your shell prompt. Root permissions are not required!
How to use Devel::Cover
Quick introduction and usage of Devel::Cover to get code coverage metrics for Perl