Welcome to my personal blog. Here, you'll find a bunch of tutorials that I've carefully put together based on my daily experiences. The whole point of this blog is to share my experiences and discoveries, while also serving as a place to organize my public life. Here, you'll find a showcase of my academic work, professional endeavors, tutorials, contributions to open/free softwares, and talks.
Disclaimer: These tutorials are provided "as is" without any warranty. They're based on my personal experiences, and I won't be held liable for any damages, direct or indirect, that may occur from their use.

2023

Vagrant

Vagrant is an open-source tool that enables developers to create and manage portable development environments. It provides a consistent and reproducible environment across different machines, making it easier to collaborate on projects and ensure consistent results. With Vagrant, you can define and provision virtual machines with a simple configuration file, allowing you to quickly set up development environments that mirror production systems. I

Libvirt

Virt-Manager is a powerful graphical tool that allows you to manage virtual machines on your Linux system

Laravel

Testing email functionality using tinker

ansible

Ansible is a powerful automation tool that allows you to manage and configure systems. While it is commonly used for configuration management and deployment tasks, Ansible can also be used to automate API interactions.

2021

Módulo ckeditor drupal

As vezes é muito útil injetar um botão nosso no ckeditor do Drupal, segue-se um exemplo de um botão customizado ao ser clicado abre um modal com ajax que recebe um texto e o injeta no corpo do texto. Isso em si não é nada útil, mas a possibilidade de interceptamos e fazermos qualquer modificação com esse botão.

Plugins Moodle

O sucesso de um software depende muito do quão podemos modificá-lo para atender nossas necessidades particulares. Do ponto de vista de desenvolvimento, eu sempre olho para um framework através da sua estrutura de API e hooks. As classes do moodle, na sua versão atual, 3.x, me lembra muito o Drupal 5.x ou 6.x e portanto não segue muito a estrutura de frameworks modernos como symfony, laravel ou o próprio Drupal 9.x. De qualquer modo, segue-se uma série de anotações referente ao desenvolvimento de plugins para o moodle.

Github search filters

When navigating GitHub, it is often advantageous to establish custom filters for efficiently locating issues or pull requests associated with either yourself, a friend or a company.I have prepared a list of useful way to create some filters.

2020

Webform Pdf Drupal

O módulo webform no Drupal tem um submódulo para geração de pdf fantástico e que podemos customizar usando twig. Mas as vezes é difícil lembrar da syntax da combinação dessas ferramentas, assim, deixo trechos de códigos que uso com frequência.

Redirecionando portas para outras máquinas com iptables

O script abaixo é usado no cenário em que temos equipamentos em uma rede inválida, no exemplo 10.88.0.0/24, onde todos respondem com um serviço http na porta 80. Temos uma máquina com ip público 1.2.3.4 que também se comunica com a rede inválida. Queremos criar o seguintes ambiente de redirecionamento:

2019

Múltiplos envios de e-mails a partir de uma template

Quando realizamos procedimentos repetitivos no computador sempre da aquela sensação de que algo está errado, pois o computador existe exatamente para isso: repetir. Vou dar uma dica bem prática para quando queremos enviar individualmente emails para uma lista de pessoas trocando poucos elementos no corpo da mensagem. Esse é um típico exemplo de tarefa que existem muitas maneiras para automatizá-la e aqui optei por uma bem simplista, usando apenas o mutt e um pequeno script em shell. Começamos instalando o mutt:

Deploy do aegir com ansible: entregue instâncias Drupal na sua instituição

Na última década explodiram as opções de ferramentas para publicação de conteúdos na web, em especial, os que permitiam a criação e manutenção rápida de pequenos sites ou portais institucionais. Os Sistema de Gerenciamento de Conteúdo (ou Content Management System – CMS) foram protagonistas neste cenário e três deles fizeram e fazem muito sucesso até hoje: Drupal, Joomla e Wordpress.