Today's technology world is mostly composed of 'enterprise' software, or mainstream languages. Think kubernetes or python, OIDC and LDAP. Working in this world requires you to know about a lot of those technologies, stay up to date, and know how to tweak the thousands of parameters available to you to make them work exactly as you want them. That's today's equivalent of the manufacturing process,…
Getting started working on an unknown repository can be daunting. Getting all the tools, setting up your environment, running the tests, building the artifact, deploying the new version of the software… All those can take a lot of time and back and forth with other colleagues who are used to working there (hopefully they're still working in your company) just so that you can get started working.…
For the last few years, I've been trying to find a topic to actually work on to develop a side project. I had quite a few ideas, but always got stuck on the 'find people and understand their needs part', because I did not know people in the domain to talk to, nor could I find those people online. You need a way to get people to discover you. If you don't produce anything, they will not ask any…
When you create a long running application in Rust, you have to recompile your files everytime you make a change. The first way is to just run cargo run and Ctrl-C the process then run it again when you want to reload. A better way is to install cargo-watch , which will do this process automatically when you change a file in your project. You just need to run it with
Getting back into Rust, I want to start documenting my journey to getting a small service running. The first 'problem' I had to solve was to add dependencies to the project. The official method is to add the dependencies manually in your Cargo.toml file. However, this is not convenient, and could lead to errors quite easily. Thankfully, you can make this easier using cargo-edit . This will let you…
I’ve been using nm-applet in i3 to manage my networks, and it works pretty well. However, I don’t really like the icons it comes with in my systray, so I decided to try my hand at creating a little helper to get rid of it and manage my networks in an other way. Basically, I want to be able to connet to a wifi from the list of available ones. This article is based on ArchLinux , assumes…
Working on i3 , you have to define a lot of functionalities yourself, or install the program that does it for you. One of those functionalities is to be alerted in case of a low battery. Let’s explore two options, the very simple and the very customizable, so that you can choose what fits you best. You’ll learn more about linux going the custom route, but it will take longer to get…
I started working on quite a few different projects in the past, whether in my personal or professional life, and the beginning often felt overwhelming. I did not know enough, or did not have a specific enough idea. There were too many moving parts. Pick your poison. I noticed over the years that this feeling came from taking on too much at once. When you don’t even know where to start, and…
I just finished following a quick tutorial about TailwindCSS , you can find it here . My first impressions are really good , but let’s go in details about what I liked, a few questions and some extra resources. What I liked most: Easy to get started (with a caveat) Getting started with TailwindCSS , once you understand the concept, is very easy. Just add a few classes to your HTML, and you…
For this new tool I’m working on, Startyk , there are a few features that I would love to use on my blog. I want this tool to be helpful to writers to understand their audience better, get discovered more easily, and for readers to have a filter, so that they don’t get overwhelmed by the amount of resources out there. And I want it to integrate in the writer’s platform. They…
Trying to create a successful business is something tough. For me, the toughest thing is to feel adequate that I am qualified to do it. I mean, there are so many people doing it out there, and when I, almost inevitably, stumble upon something with the same functionality than what I want to create, I get discouraged because I feel like I don’t have any legitimacy to do it anymore.
I love the IndieHacking movement, and I noticed that there are people saying that they just edit their files on their servers, and that’s how they deploy their application. If some say it, they’re not the only ones to do it. Since I’m an SRE by day, I’m wondering if there would not be a way to bring some of the methods of my work to the world of IndieHacking.
On my previous post , I was explaining how to access a database from inside a HTTP handler in go using closures. While this method works, it comes with the disadvantage that if you want to access more than the database, you’ll have to add the new element to the list of arguments. In every single handler. On top of that, closures are not that simple to understand, and may lead to confusion.
Note: While this is interesting to learn more about creating closures, it was pointed out to me that there is a better way to do this. Look at this next post to learn more about it. Writing my last project backend in Go, I was confronted with how to actually write my HTTP handlers. The main issue I encountered was how to get the database handle in the handler so that I could actually use it for…
When I wrote this post about installing KVM and virt-manager , screenshotting the windows that I was seeing was the easiest way to describe the steps to follow. On linux, one of the most used tools for that is scrot . As I used it in a few ways, I wanted to have a little reference, for the next times I have to use it. Basic commands The simple command will let you screenshot the whole desktop…
While writing this post about installing KVM and virt-manager , I wanted to show multiple steps of a process by capturing the window for each screen. Getting the images was quite simple , but including them one by one in a blog post seemed a bit tedious, even though there were only 5 images. Especially given that including images in markdown seems… impossible ! I knew about imagemagick…
I took an attempt at creating a Vimscript function to rename a file with a simple command. It was not that hard, but there are a few tricks that you need to learn to get started writing Vimscript. Let’s first look at the full code for the function, with a mapping to <leader>fr function ! s:RenameCurrentFile( newName ) let l:file = expand( '%' ) let l:currentFilePath = expand( '%:p:h' ) let…
I wanted to start using Vagrant , to create a virtual machine that would allow me to test different ArchLinux install scripts, window manager settings, etc… without messing up my machine. That would make me start by loading the archlinux/archlinux box with the libvirt integration, which needed me to install libvirt . I wanted to use KVM as an hypervisor for that, so I needed to install QEMU…
I wanted to download the ArchLinux ISO image from here . It is advised to download it using torrent. We’ll be using aria2 for this. I am running Arch, so to install aria2 pacman -S aria2 To start the download, just run: aria2c <torrent or magnet link> That’s it. Once the download is complete, the file(s) will be in your current directory. There are other options to manage torrents from…
Since my last post , I kept working on this new project, and made quite a good progress. So let’s welcome Treesque ! Go take a look, and give it a try. And if you like it, let me know on Twitter or by email . It is very basic at this point, missing a lot of functionalities, but it is a start, and I am happy to just have something out. It took a long time to get where it is today, because I…
Since I started working with a few project management solutions, I noticed that there are parts of them that do not suit me at all. I have been limited by those tools, because I could not see the project in a way that makes sense to me, or input more information in an easy and straigthforward way. I was not able to use these tools to think, and observe my thoughts objectively after. I would find…
For a long time now, I have been wanting to create a business for myself. I always have had a lot of ideas, but as soon as I started working on one, I found that: Someone else already did something very similar It is much harder than I anticipated I don’t know where to start I don’t know that I am the right person to do it Now, I know that all of those are just excuses, and that until…
Using tests during development to keep you code tidy As I was working on a project, while developing a new function, I noticed that I was modifying some existing code to be able to test it. Doing it this way seemed like a very bad idea, so I looked for a better way to do it. But let’s start an insanely simple example, to clarify what I’m saying. We start with a basic program, an…
We always speak about automating everything, especially in the tech world where everything goes so fast. And I agree that if you can, you should automate processes as much as you can. But there is value in doing things manually sometimes. The first value is for learning. If you are learning a new technology you will have to put the work, and manually tweak code, settings until you really…
When deploying Virtual Appliances (VA), you want the process to be automated and repeatable, not just a one shot configured and exported manually. Thanks to Packer , automating this is just a question of creating a JSON configuration file and letting it do its magic. Packer is used by giving it an ISO image of a base distribution, installing the distribution and running the modifications you want.…
— Hi ! I'm Marin ! Dad, SRE, simplifier, woodworker. I believe the infrastructure to deploy software, as well as the software itself, should be as simple as possible, and as complicated as necessary. Which basically means for me that you probably don't need microservices. I believe that creativity is one of the main source in one's life happiness, and that it is necessary to a good life. Because…