<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Charly3Pins.dev</title><link>https://charly3pins.dev/</link><description>Recent content on Charly3Pins.dev</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 21 Apr 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://charly3pins.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Collectus</title><link>https://charly3pins.dev/projects/collectus/</link><pubDate>Sat, 22 Sep 2018 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/projects/collectus/</guid><description>WHY The motivation of this project is half personal and half academic. Let me explain. At home my father always collected a lot of things, from the oldest books you can imagine until the most recent new Funko POP, through Swiss Knives or dice among others. Having that variety of objects and a lot of them (too many to be honest) cataloguing that amount of items always had been a challenge for him.</description></item><item><title>Tournaments generator</title><link>https://charly3pins.dev/projects/tournaments-generator/</link><pubDate>Fri, 01 May 2020 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/projects/tournaments-generator/</guid><description>WHY The motivation for starting this project is not another one than my curiosity about the mobile applications. It is obvious that the way of consuming technology has changed over the last few years and it is increasingly being done through a mobile device. For that reason I wanted to explore how the mobile apps work and how I can build one from scratch. I did some Android tutorials, but as they are changing a lot of things when releasing new versions and my idea was to build something generic for all devices, I decided to give it a try to Flutter.</description></item><item><title>Git at 20: Linus Torvalds and the tool that changed everything</title><link>https://charly3pins.dev/blog/git-at-20-linus-torvalds-and-the-tool-that-changed-everything/</link><pubDate>Mon, 21 Apr 2025 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/git-at-20-linus-torvalds-and-the-tool-that-changed-everything/</guid><description>Git hit 20 this month—two decades since Linus Torvalds pushed the first commit on April 7 in 2005, calling it “the information manager from hell.”
GitHub marked the milestone with a Q&amp;amp;A with Linus himself. The legend built Git in 10 days to save the Linux kernel from version control chaos.
Git is a freaking masterpiece—fast, flexible, and the backbone of how we code today. Let’s unpack what Linus said and why Git’s still unbeatable.</description></item><item><title>My Neovim setup for Mac for coding (in Go), writing and boosting your productivity in 2024</title><link>https://charly3pins.dev/blog/my-neovim-setup-for-mac-for-coding-in-go-writing-and-boosting-your-productivity-in-2024/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/my-neovim-setup-for-mac-for-coding-in-go-writing-and-boosting-your-productivity-in-2024/</guid><description>Introduction I&amp;rsquo;m not going to lie, I tried to jump from my editor to Vim many times since I was using Eclipse, then Sublime and the latest VS Code. I have always been fascinated with Vim and its potential. How something so simple can be so powerful? The reality is that I started several times the Vimtutor and I got stuck. I tried to edit the text in Vim and I got stuck.</description></item><item><title>Maps in Go</title><link>https://charly3pins.dev/blog/maps-in-go/</link><pubDate>Mon, 22 Jul 2024 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/maps-in-go/</guid><description>Intro Go incorporates a native type that implements hash tables called map. It is a data type made up of a collection of unique keys and a collection of values for each of those keys. It can be compared to a dictionary in other languages, for example, which stores key-value pairs. These values are accessed using keys, in the same way as arrays and slices as we saw in the previous post.</description></item><item><title>Arrays and slices in Go</title><link>https://charly3pins.dev/blog/arrays-and-slices-in-go/</link><pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/arrays-and-slices-in-go/</guid><description>Intro When we want to group a series of elements of the same type we can do it in Go in two ways, using arrays or slices. Arrays have the particularity that their size is fixed and cannot be modified. The slices, on the other hand, have a dynamic size, so we can modify them according to our needs.
Let&amp;rsquo;s see an example of using slices with a &amp;ldquo;game&amp;rdquo; and thus understand why arrays are important if we are talking about slices.</description></item><item><title>Tips and tricks to code in Go in a clean, functional and effective way</title><link>https://charly3pins.dev/blog/tips-and-tricks-to-code-in-go-in-a-clean-functional-and-effective-way/</link><pubDate>Wed, 17 Apr 2024 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/tips-and-tricks-to-code-in-go-in-a-clean-functional-and-effective-way/</guid><description>Variable names Go manages the visibility with lowercase for unexported and uppercase for exported. These concepts are valid in the context of a package, so if you declare a variable in a package X with the following code:
package X var foo int // unexported var Bar int // exported You will be able to call the variable foo and Bar while you&amp;rsquo;re inside that package, but if you are in another package, you will have access only to the Bar variable.</description></item><item><title>Why Go?</title><link>https://charly3pins.dev/blog/why-go/</link><pubDate>Tue, 05 Dec 2023 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/why-go/</guid><description>First contact It&amp;rsquo;s been about 8 years since I started playing with Go. At that moment I met a colleague who had left my workplace to try his luck at a new challenge in his professional career. One day talking to him he told me that they had decided to use a programming language called Go and that he was delighted with how easy it was to do things that with Java, the language we were used to using, was tremendously crude and sometimes complex, due to to the number of layers and repetitions you have to add.</description></item><item><title>I generated my CV using Go templates</title><link>https://charly3pins.dev/blog/i-generated-my-cv-using-go-templates/</link><pubDate>Sat, 23 Sep 2023 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/i-generated-my-cv-using-go-templates/</guid><description>Introduction If you need to present any kind of data in a structured and formatted way you could find this article interesting. Go provides a way to do this in an easy and effective manner with two packages, text/template and html/template. The first one is focused on formatting texts in general and I am using it to generate my README page in GitHub. You can find the details in https://github.com/charly3pins/charly3pins. In this article, I am going to cover the second one, the templating for HTML pages.</description></item><item><title>Tech Book Club</title><link>https://charly3pins.dev/blog/tech-book-club/</link><pubDate>Sat, 15 Apr 2023 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/tech-book-club/</guid><description>What is that? The purpose of any club is to bring a group of people together to learn and discuss something that matters to them, have fun doing it, and end up having a positive impact on them. A book club is no different.
Why did we start one? In AREX we have a team that loves to explore and talk about different technical ideas to improve our code base, ways of working, methodologies, culture and so on.</description></item><item><title>Go project layout with Clean architectures and DDD</title><link>https://charly3pins.dev/blog/go-project-layout-with-clean-architecures-and-ddd/</link><pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/go-project-layout-with-clean-architecures-and-ddd/</guid><description>Introduction During the last 5 years I have been working full time with Go. Some of you may already know that I&amp;rsquo;m in love with this language because of the simplicity it has but with a lot of potential to build anything. The main question I have faced since the beginning is Which layout should I use for my project? I would say still today I don&amp;rsquo;t know and as always in our industry&amp;hellip; it depends.</description></item><item><title>Learn how to use the embed package in Go by building a web page easily</title><link>https://charly3pins.dev/blog/learn-how-to-use-the-embed-package-in-go-by-building-a-web-page-easily/</link><pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/learn-how-to-use-the-embed-package-in-go-by-building-a-web-page-easily/</guid><description>Working with static files is never an easy task and less so in Go since we did not have native support for them and we had to pull third-party libraries. With the release of Go 1.16 this changed. And it changed for the better, since it includes a new package called embed that natively helps us work with static files.
In the official documentation of the package (previous link) there are several examples of use of this library:</description></item><item><title>What I learned defining the Selection Process for a Software Engineer in the startup where I work</title><link>https://charly3pins.dev/blog/what-i-learned-defining-the-selection-process-for-a-software-engineer-in-the-startup-where-i-work/</link><pubDate>Tue, 04 May 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/what-i-learned-defining-the-selection-process-for-a-software-engineer-in-the-startup-where-i-work/</guid><description>Introduction I have been working at AREX Markets since November 2018 and since then, the company has changed a lot. When I joined it we were a team of aprox 10 people (~5 techs) and now we are close to 50. I have always liked the startup environment more than a big enterprise because of all the challenges that this entails. You have to do a lot of things and be involved in a lot of issues, as your job position or other unrelated ones, and I like that a lot.</description></item><item><title>Increase your productivity with Notion</title><link>https://charly3pins.dev/blog/increase-your-productivity-with-notion/</link><pubDate>Thu, 08 Apr 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/increase-your-productivity-with-notion/</guid><description>Following my last post about increasing productivity with The Pomodoro Technique, I will show you how I organized my life regarding my side projects, my readings and the posts that I publish on this blog.
First I was using Google Keep&amp;rsquo;s notes to keep track of all of those subjects, but as you can imagine it turned out to be impossible to manage that amount of information and more important, do it properly.</description></item><item><title>The Pomodoro Technique</title><link>https://charly3pins.dev/blog/the-pomodoro-technique/</link><pubDate>Tue, 30 Mar 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/the-pomodoro-technique/</guid><description>After almost a year teleworking at home, due to the circumstances that we all know, the changes we have had to make to adapt to this new environment have been considerable and in some cases difficult to assume. One of them has been concentrating on working at home, especially for people who didn&amp;rsquo;t do it before. Not going to the office where our mind disconnects from our daily routine and focuses (some more than others) on working, making that &amp;ldquo;click&amp;rdquo; is sometimes expensive and we have to make an effort to achieve it.</description></item><item><title>Automate Your GitHub Profile README with Go and GitHub Actions</title><link>https://charly3pins.dev/blog/automate-your-github-profile-readme-with-go-and-github-actions/</link><pubDate>Tue, 16 Mar 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/automate-your-github-profile-readme-with-go-and-github-actions/</guid><description>After the post where I explained how to create a README for the GitHub profile, I missed including in the section of the Blog a link to the last post published. I mainly didn’t because I didn’t want to have to manually update the README every time with the last post and its link. To solve this I was thinking how I could automate this update. While doing my daily reading of the RSS feeds I follow with the Feedly app, I stumbled upon that I also had RSS feeds.</description></item><item><title>My productivity setup for VS Code</title><link>https://charly3pins.dev/blog/my-productivity-setup-for-vs-code/</link><pubDate>Tue, 09 Mar 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/my-productivity-setup-for-vs-code/</guid><description>I spend a lot of hours during the day coding for the company I work for and during nights or weekends for myself, so I want to be comfortable with the tools I use constantly. One of them is my editor of code, specifically VS Code. I started with Java and the most extended for it is Eclipse with all its variants. Then I moved to Go and I was a Sublime user for years until I gave a try to VS Code.</description></item><item><title>Build an awesome GitHub's profile README</title><link>https://charly3pins.dev/blog/build-an-awesome-github-profile-readme/</link><pubDate>Fri, 12 Feb 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/build-an-awesome-github-profile-readme/</guid><description>GitHub released a new feature that allows users to create a portfolio using a README in a special repository with same name as the username and display it in the user&amp;rsquo;s profile like the cover picture of this post. This article explains how to create that repo step by step and add some tips and tricks that you can use to tweak your own.
How do I create a profile README?</description></item><item><title>How to have a multilingual site in Hugo</title><link>https://charly3pins.dev/blog/how-to-have-a-multilingual-site-in-hugo/</link><pubDate>Fri, 05 Feb 2021 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/how-to-have-a-multilingual-site-in-hugo/</guid><description>As you can see since this week this humble website has been remodeled a bit both visually and internally, and it is that not only there are new colors, images and sections, but it also offers all its content in 2 new languages! I have decided to do this step because first of all I wanted to test how the multilingual thing worked in Hugo and also to try to make reading the articles more comfortable for people who visit it, without the language being an obstacle and offering the greatest comfort and pleasure to readers.</description></item><item><title>How to add Google Analytics to your Hugo site</title><link>https://charly3pins.dev/blog/how-to-add-google-analytics-to-your-hugo-site/</link><pubDate>Mon, 23 Nov 2020 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/how-to-add-google-analytics-to-your-hugo-site/</guid><description>Google Analytics First of all what you need is to obtain a Google Analytics tracking ID. For that you need to sign up at Google Analytics. Then, you need to create a tracking ID following the next steps:
Click on Admin button (on the bottom left corner). Click on Create Account button. After all the steps filled, click the Create button and accept the terms and conditions. After the completion of these steps you will obtain your tracking ID.</description></item><item><title>Raspberry Pi media player with Plex, Transmission, Sonarr, Bazarr and Jackett</title><link>https://charly3pins.dev/blog/raspberry-pi-media-player-with-plex-transmission-sonarr-bazarr-and-jackett/</link><pubDate>Thu, 05 Nov 2020 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/raspberry-pi-media-player-with-plex-transmission-sonarr-bazarr-and-jackett/</guid><description>So you have a Raspberry Pi abandoned and always wanted to use it for something useful. Also you like to see series but there are too many providers and you don&amp;rsquo;t know which one subscribes to it. Don&amp;rsquo;t worry with this tutorial you will have both problems solved at once; You will use the Raspberry Pi for watching your favourite series with no limits!
Install Raspberry OS First of all we need to install an Operating System in our Raspberry.</description></item><item><title>Understanding Semantic Versioning 2.0 (SemVer)</title><link>https://charly3pins.dev/blog/understanding-semantic-versionin-2.0-semver/</link><pubDate>Tue, 20 Oct 2020 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/understanding-semantic-versionin-2.0-semver/</guid><description>When you want to use a library in your project you probably noticed that you need to specify a version. Most of the time those versions are formatted like 3 numbers separated with dots between them. That format is indicative that the library is using the Semantic Versioning aka SemVer. That document specifies the format and the way of labeling your projects during all the life-cycle of it. It is just a convention so you can define the version number the way you want it to be, but the truth is that other developers across all industries agreed on using it and it became a standard for versioning.</description></item><item><title>Level up your presentations with Go</title><link>https://charly3pins.dev/blog/level-up-your-preseentations-with-go/</link><pubDate>Tue, 06 Oct 2020 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/level-up-your-preseentations-with-go/</guid><description>If you&amp;rsquo;re a technical person and you don&amp;rsquo;t like to battle with presentation softwares but you want/need to create one, congratulations! you are in the right place. I know that as software engineers we want to be coding or reading or watching things related with software, architecture or devops but not with presentations. Sometimes we are demanded to present something to other team members, to the product owners or even scarier, to the management team!</description></item><item><title>Git custom commit messages</title><link>https://charly3pins.dev/blog/git-custom-commit-messages/</link><pubDate>Tue, 10 Mar 2020 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/git-custom-commit-messages/</guid><description>I&amp;rsquo;ve been using the CMF tool for the last one year and I think its simplicity is its potential. Basically it is a terminal tool developd in Go by Walmart Digital that helps you to standarize the commits log of your projects.
I&amp;rsquo;ve been using for the last year and a half approximatley and all I can say its very useful. We agreed with the team the configuration we want to use and defined a set of changes that applies in our case.</description></item><item><title>Hugo's content and templates managing</title><link>https://charly3pins.dev/blog/hugo-content-and-templates-managing/</link><pubDate>Sun, 08 Mar 2020 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/hugo-content-and-templates-managing/</guid><description>After long time without writing&amp;hellip; I&amp;rsquo;m back!
I was planning to rebuild my site and start creating content again but never found the time until now.
I wanted to do my theme from scratch instead of using a predefined theme, so I had to learn how the templating and the content managing is done in Hugo.
Once I did that process, I want to sum up the most important things that I consider you have to know if you wanna do your own theme like I did (this site is the prove of that!</description></item><item><title>Installing Drone 0.8 on Ubuntu 16.04</title><link>https://charly3pins.dev/blog/installing-drone-0.8-on-ubuntu-16.04/</link><pubDate>Wed, 10 Oct 2018 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/installing-drone-0.8-on-ubuntu-16.04/</guid><description>I have to admit that I never liked the systems part of the development process. I always though that it was a job in a dark and creppy place, full of freaks doing a rare things. This vision completely changed when I started using Docker. On this point I realized that all the magic done in the sysadmin part was better than I though and then, I started intereseting more an more on this side.</description></item><item><title>Gophercises - Quiz game</title><link>https://charly3pins.dev/blog/gophercises-quiz/</link><pubDate>Mon, 24 Sep 2018 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/gophercises-quiz/</guid><description>This is the first of a several articles I&amp;rsquo;m planning to write commenting the different exercises that I&amp;rsquo;m doing in Gophercises page.
It&amp;rsquo;s a FREE course that will help you become more familiar with Go while developing your skills as a programmer. In the course we will build roughly 20 different mini-applications, packages, and tools that are each designed to teach you something different.
Gophercises
I like playing with Go on this site because each exercise is focused in a set of packages of the language and the way of they are presented is really clear and easy to understand.</description></item><item><title>Building static blog with Hugo</title><link>https://charly3pins.dev/blog/building-static-blog-with-hugo/</link><pubDate>Sat, 22 Sep 2018 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/building-static-blog-with-hugo/</guid><description>If you want to create a fast static website I recommend you Hugo. It&amp;rsquo;s written in Go and it&amp;rsquo;s really use to configure and adapt to your needs. In addition, you can choose through different themes created by the team and others by the community or even create your own one.
Here I&amp;rsquo;ll explain in some steps how to create one blog with Hugo and how to be hosted &amp;amp; deployed in GitHub and GitHub Pages.</description></item><item><title/><link>https://charly3pins.dev/blog/installing-archlinux/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/blog/installing-archlinux/</guid><description>https://wiki.archlinux.org/title/USB_flash_installation_medium
First, you need to identify the USB devic
list disks
diskutil list Your USB device will appear as something like /dev/disk2 (external, physical).
diskutil unmountDisk /dev/diskX Now copy the ISO image file to the device:
# dd if=path/to/archlinux-version-x86_64.iso of=/dev/rdiskX bs=1m This command will run silently. To view progress, send SIGINFO by pressing Ctrl+t if: Especifica la imagen ISO.
of: Especifica el dispositivo USB.
bs=1m: Define el tamaño del bloque (1 MB).</description></item><item><title>Hey there!</title><link>https://charly3pins.dev/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/about/</guid><description>I&amp;rsquo;m Carles, aka Charly3Pins (C3P)—a problem-solver and Software Engineer. For over 12 years, I&amp;rsquo;ve been diving deep into technical challenges, building systems that work, and figuring out why they don&amp;rsquo;t when they break.
I grew up building things with Lego; now I do it with code, distributed systems, and teams.
I love solving problems that help others&amp;rsquo; lives; I enjoy understanding systems at every layer—from hardware to user experience;
I&amp;rsquo;m curious by nature and ambitious by choice, always seeking new challenges that push me to learn and grow.</description></item><item><title>Library</title><link>https://charly3pins.dev/library/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://charly3pins.dev/library/</guid><description>Reading Software Engineering at Google: Lessons Learned from Programming Over Time (Titus Winters, Tom Manshreck, Hyrum Wright) Cómo dominar el ciclo de las inversiones: e inclinar las probabilidades de ganar a su favor (Howard Marks) La rebelión de Atlas (Ayn Rand) Steve Jobs (Walter Isaacson) AI Engineering: Building Applications with Foundation Models (Chip Huyen) Origen (Dan Brown) Patterns for Building AI Agents (Sam Bhagwat) Read The Go Programming Language (Alan A.</description></item></channel></rss>