<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Manuel cortez</title><link>https://manuelcortez.net/</link><description>Recent content in Home on Manuel cortez</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 31 Aug 2026 14:03:00 -0500</lastBuildDate><atom:link href="https://manuelcortez.net/index.xml" rel="self" type="application/rss+xml"/><item><title>Integrating Mirage AC unit in Home assistant</title><link>https://manuelcortez.net/2026/08/integrating-mirage-ac-in-homeassistant/</link><pubDate>Mon, 31 Aug 2026 14:03:00 -0500</pubDate><guid>https://manuelcortez.net/2026/08/integrating-mirage-ac-in-homeassistant/</guid><description>&lt;p&gt;A few months ago, I bought a mini-split air conditioner that is currently installed in my kids&amp;rsquo; room (I have two, by the way). The model is a Mirage Magnum 22. This detail is important.&lt;/p&gt;&#10;&lt;p&gt;Everything has worked well with the unit at home, but I find it difficult to memorize all the modes on the remote control since, naturally, it was not designed with accessibility in mind. Although it beeps whenever an option is changed, more than once I have found that it was in a different mode from the one I thought I had selected, or set to a different temperature.&lt;/p&gt;</description></item><item><title>Configuring the Home Location in Home Assistant</title><link>https://manuelcortez.net/2025/10/configuring-home-location-homeassistant/</link><pubDate>Mon, 13 Oct 2025 11:05:08 -0600</pubDate><guid>https://manuelcortez.net/2025/10/configuring-home-location-homeassistant/</guid><description>&lt;p&gt;One of the things I&amp;rsquo;ve found somewhat complicated when setting up a Home Assistant instance for the first time is configuring the zone that serves as &amp;ldquo;home&amp;rdquo;. Everything else depends on this zone (presence detection, which can be used to trigger actions when someone is present or absent from the zone, is the best example I can think of, although weather forecasting also uses the zone to identify where to obtain information from).&lt;/p&gt;</description></item><item><title>Importing Home Assistant as a Virtual Machine in Incus</title><link>https://manuelcortez.net/2025/10/homeassistant-incus/</link><pubDate>Wed, 08 Oct 2025 09:30:48 -0600</pubDate><guid>https://manuelcortez.net/2025/10/homeassistant-incus/</guid><description>&lt;p&gt;I&amp;rsquo;ve been a fan of &lt;a href="https://www.home-assistant.io/"&gt;Home Assistant&lt;/a&gt; for a while now. Although I don&amp;rsquo;t have too many home automation devices yet, I use it to automate parts of my daily routine that depend on sensors, automations, and some integrations with devices I have at home.&lt;/p&gt;&#10;&lt;p&gt;Since I already have a machine that serves as a server and generally has enough resources to run Home Assistant, I&amp;rsquo;ve opted to use the Home Assistant OS version (the operating system designed for this software) inside a virtual machine on my server.&lt;/p&gt;</description></item><item><title>Creating a Windows 11 Virtual Machine on Libvirt</title><link>https://manuelcortez.net/2023/12/creating-vm-windows11-libvirt/</link><pubDate>Wed, 27 Dec 2023 19:14:00 -0600</pubDate><guid>https://manuelcortez.net/2023/12/creating-vm-windows11-libvirt/</guid><description>&lt;p&gt;On this occasion, I feel compelled to document this to ensure it&amp;rsquo;s not forgotten. The reality is that creating a Windows 11 based virtual machine (VM) may not seem significantly more challenging than what&amp;rsquo;s been experienced with Windows 10. However, it does present its intricacies, especially as of late 2023. In this article, which I wish could be more concise, I will share the step-by-step instructions that have proven effective for me in successfully running the Windows 11 installation using the Narrator screen reader, facilitated through Spice. I won&amp;rsquo;t delve into Libvirt extensively this time, as I&amp;rsquo;ve already provided some relevant information in earlier articles about this tool and its use. Instead, I&amp;rsquo;ll focus on adding TPM devices, configuring secure boot, and initiating the boot process for Windows 11. My starting configuration involves a system with Debian 12 installed, Libvirt, and a bridged network, as detailed in the respective post.&lt;/p&gt;</description></item><item><title>Installing Home Assistant in KVM Virtual Machine</title><link>https://manuelcortez.net/2023/09/installing-home-assistant-kvm/</link><pubDate>Thu, 28 Sep 2023 11:04:00 -0500</pubDate><guid>https://manuelcortez.net/2023/09/installing-home-assistant-kvm/</guid><description>&lt;p&gt;One of the things I&amp;rsquo;ve had pending for many years, although I had tried sometime to get to grips with the most important part of the topic, is configuring and learning to use &lt;a href="https://homeassistant.io"&gt;Home Assistant.&lt;/a&gt; Thanks to this powerful software tool, you can configure a smart home system, as the software can integrate and integrate with many other hardware devices and already existing home automation ecosystems. In addition to being able to control many devices and services from its web interface, such as devices with Alexa, temperature control, universal remote controls, televisions, smart plugs, etc.; we can also create automations (to perform a task whenever a condition is met), scripts (to execute code that can call a service or get something from an API), templates (to take values from sensors and be able to perform calculations on them), and many other things.&lt;/p&gt;</description></item><item><title>Configuring Public IPv6 Access in libvirt</title><link>https://manuelcortez.net/2023/09/public-ipv6-access-libvirt/</link><pubDate>Tue, 19 Sep 2023 09:09:00 -0500</pubDate><guid>https://manuelcortez.net/2023/09/public-ipv6-access-libvirt/</guid><description>&lt;p&gt;Once I managed to &lt;a href="https://manuelcortez.net/en/2023/08/creating-vm-libvirt-linux-windows/"&gt;install&lt;/a&gt; and &lt;a href="https://manuelcortez.net/en/2023/08/libvirt-vm-management/"&gt;learn to use&lt;/a&gt; Libvirt, as I&amp;rsquo;ve already mentioned in a couple of posts, there was one important part for some of my projects: making a server available via IPv6.&lt;/p&gt;&#10;&lt;p&gt;The reason is very simple. I have an ISP that puts my IPv4 address behind CG-NAT, so it&amp;rsquo;s not possible for my servers or virtual machines to be accessed through this protocol, since my IPv4 address is actually shared with many other clients, which removes the possibility of opening or forwarding ports. However, what my provider does is give us IPv6 addresses and from what I know, each device that requests it is assigned a fully functional address that can be connected to through the internet, &lt;a href="https://manuelcortez.net/en/2022/12/configure-dynamic-dns-ipv6-cloudflare/"&gt;as I&amp;rsquo;ve also explained on another occasion.&lt;/a&gt; Now, what I wanted to do was essentially allow my VMs to have the ability to request their own IPv6 address from my router, so it would assign them one and thus be able to connect to SSH or any other service, for example.&lt;/p&gt;</description></item><item><title>Virtual Machine Management with libvirt</title><link>https://manuelcortez.net/2023/08/libvirt-vm-management/</link><pubDate>Wed, 30 Aug 2023 12:02:00 -0500</pubDate><guid>https://manuelcortez.net/2023/08/libvirt-vm-management/</guid><description>&lt;p&gt;Continuing with some features present in libvirt that I believe could be useful to know, this post is dedicated, once again, to the administration of virtual machines using the libvirt tool and its application virsh, which allows running some of the perhaps most useful commands when working with files of this type of VM. All these commands are typically executed as root.&lt;/p&gt;</description></item><item><title>Creating Virtual Machines with Libvirt: Linux and Windows</title><link>https://manuelcortez.net/2023/08/creating-vm-libvirt-linux-windows/</link><pubDate>Mon, 28 Aug 2023 17:29:00 -0500</pubDate><guid>https://manuelcortez.net/2023/08/creating-vm-libvirt-linux-windows/</guid><description>&lt;p&gt;A couple of weeks ago, as part of an update to my DAS setup + the Mini PC with Intel Celeron J4125 &lt;a href="https://manuelcortez.net/2022/11/installing-driver-wifi-rtl8821ce-debian-11/"&gt;I&amp;rsquo;ve previously talked about,&lt;/a&gt; I had the opportunity to get an AMD Ryzen 5 5600G, along with everything needed to build a system where I could integrate hard drives at a very reasonable price. One of the first things I envisioned for this processor, which has proven to handle everything thrown at it, was to delve into virtualization. I had a couple of projects in mind that required a Windows virtual machine, as I didn&amp;rsquo;t want to install Windows 10 or similar on the server but needed software running 24/7 that specifically works mostly under Windows environments.&lt;/p&gt;</description></item><item><title>Configuring MergerFS to Unify Hard Drives</title><link>https://manuelcortez.net/2023/04/configure-mergerfs/</link><pubDate>Tue, 11 Apr 2023 16:11:00 -0500</pubDate><guid>https://manuelcortez.net/2023/04/configure-mergerfs/</guid><description>&lt;p&gt;MergerFS is a delight for all those of us who, for one reason or another, need to unify several hard drives into a single directory. This tool is only available for Linux, although for Windows there are other applications that do the same. This software allows creating a virtual file system (using fuse for it), integrating all the contents present on one or more hard drives. This gives us a directory containing all the files present on our disks, which makes things much easier when it comes to maintaining order between 2 or more units. Among its main features, it allows adding content to your disks following various policies when creating files or folders. All of this is explained in its &lt;a href="https://github.com/trapexit/mergerfs"&gt;documentation,&lt;/a&gt; although here I&amp;rsquo;ll simply detail the way I use it.&lt;/p&gt;</description></item><item><title>Checking USB Device Speed in Linux</title><link>https://manuelcortez.net/2023/04/checking-usb-device-speed-linux/</link><pubDate>Mon, 10 Apr 2023 15:51:11 -0500</pubDate><guid>https://manuelcortez.net/2023/04/checking-usb-device-speed-linux/</guid><description>&lt;p&gt;Just a week ago I took personal storage to another level by buying myself a DAS. For those who don&amp;rsquo;t know, a DAS is essentially a box where you can store several hard drives and access them, usually via USB or eSATA. Among the things you can do with this type of device mainly include having 2, 4, or 8 hard drives available for the operating system (i.e., as secondary storage), which makes things much easier if you have software like Plex, which normally feeds on enormous amounts of data for which a single hard drive may no longer be sufficient.&lt;/p&gt;</description></item><item><title>Setting Up GitLab Runner on Windows</title><link>https://manuelcortez.net/2022/12/install-personal-runner/</link><pubDate>Thu, 29 Dec 2022 23:28:00 -0500</pubDate><guid>https://manuelcortez.net/2022/12/install-personal-runner/</guid><description>&lt;p&gt;Increasingly, I resort to GitLab Runners to build my projects. Being able to automate practically the entire configuration (from generating a tag in Git), it&amp;rsquo;s perfectly possible to publish new software versions, generate documentation, run tests automatically and upload the results of all that to some site, for example Backblaze B2. The result is a &amp;ldquo;pipeline&amp;rdquo; that&amp;rsquo;s a pleasure to use, because it simply works. At the same time, the creation process of each project is documented in the .gitlab-ci.yml file, which is useful to see exactly the steps to follow to get to generate some version of the applications I write.&lt;/p&gt;</description></item><item><title>Configure Dynamic DNS for IPv6 Addresses with Cloudflare</title><link>https://manuelcortez.net/2022/12/configure-dynamic-dns-ipv6-cloudflare/</link><pubDate>Thu, 01 Dec 2022 13:11:00 -0500</pubDate><guid>https://manuelcortez.net/2022/12/configure-dynamic-dns-ipv6-cloudflare/</guid><description>&lt;p&gt;In another of my adventures with &lt;a href="https://manuelcortez.net/en/2022/11/installing-wifi-driver-rtl8821ce-debian-11/"&gt;the Mini PC I converted into a server,&lt;/a&gt; I&amp;rsquo;ve found an interesting situation regarding its use from outside the home network. At first, I only used the services I installed locally, but as time went by, I found things somewhat difficult to do from my work. For example, I thought about allowing only local access to the services running on the Mini PC, but time and some situations made me think about hosting the GitLab instance I use for developments at &lt;a href="https://mcvsoftware.com"&gt;MCV Software&lt;/a&gt; on said server. That GitLab is practically a single-user instance, as the vast majority of projects that are open there are also in &lt;a href="https://github.com/mcv-software"&gt;our GitHub organization.&lt;/a&gt; A week after finishing the initial implementation, I can simply say it has been working excellently. Of course, you should never forget to &lt;a href="https://docs.gitlab.com/ee/raketasks/backup_restore.html"&gt;make backups,&lt;/a&gt; but that&amp;rsquo;s always recommended, no matter where the server is hosted.&lt;/p&gt;</description></item><item><title>Installing RTL8821CE WiFi Driver on Debian 11</title><link>https://manuelcortez.net/2022/11/installing-driver-wifi-rtl8821ce-debian-11/</link><pubDate>Fri, 25 Nov 2022 09:38:59 -0500</pubDate><guid>https://manuelcortez.net/2022/11/installing-driver-wifi-rtl8821ce-debian-11/</guid><description>&lt;p&gt;Today I will write about a quick and quite specific tip for my setup. I have now configured a mini PC as a server (mainly media, although I will be putting other additions to help at home). The thing is that this Mini PC, which integrates a Celeron J4125, would have internet via WiFi, since I do not want to wire so much (the distance between the router and the place where the server should be is not too long, but it would require a relatively long wire, it is not something I would like for now). The router provided by the internet provider, which is Izzi, already offers dual band WiFi, and luckily the Mini pc also supports it. The idea couldn&amp;rsquo;t be simpler: WiFi on the 5 GHZ band for the server, and most other devices would use the 2.4 band, to try to avoid interference. The server would run Debian, docker, and a bunch of containers for the services I wanted to set up.&lt;/p&gt;</description></item><item><title>Using BuildContext in flutter from async functions</title><link>https://manuelcortez.net/2022/10/using-build-context-flutter-async-functions/</link><pubDate>Tue, 25 Oct 2022 12:29:00 -0500</pubDate><guid>https://manuelcortez.net/2022/10/using-build-context-flutter-async-functions/</guid><description>&lt;p&gt;Several Months ago, I started to learn a little bit of &lt;a href="https://dart.dev"&gt;Dart&lt;/a&gt; and &lt;a href="https://flutter.dev"&gt;Flutter&lt;/a&gt; to investigate the possibilities of both, language and framework, when creating cross-platform applications, although mainly focused on mobiles. The idea of these articles, which I imagine will be much shorter than usual, is none other than to put here things that I have been finding over time and that I have not seen quite clear in the official documentation, which by the way is very good. As I tend to forget a lot of things easyly, I think this could be very useful to my future self.&lt;/p&gt;</description></item><item><title>Listening alejandro's heart from home</title><link>https://manuelcortez.net/2022/10/listening-alejandros-heart-from-home/</link><pubDate>Wed, 19 Oct 2022 16:07:08 -0500</pubDate><guid>https://manuelcortez.net/2022/10/listening-alejandros-heart-from-home/</guid><description>&lt;p&gt;In yet another update on Alejandro&amp;rsquo;s development, I&amp;rsquo;d like to talk about a topic that I think has caused more than a few of us, new parents, some kind of anxiety, worry and so on. I don&amp;rsquo;t know about everyone else, but we, in particular, have been helped by a device we got online. It&amp;rsquo;s a portable fetal heart rate monitor. This device, which is practically an amplified microphone (listening at 3 MHZ), allows us to hear, at home, what we can normally only hear when performing an ultrasound. This allows us to listen to the baby&amp;rsquo;s heartbeat, as well as shows an on-screen estimate of the heart rate that is present.&lt;/p&gt;</description></item><item><title>Some updates about our baby</title><link>https://manuelcortez.net/2022/10/family-update/</link><pubDate>Thu, 13 Oct 2022 12:57:08 -0500</pubDate><guid>https://manuelcortez.net/2022/10/family-update/</guid><description>&lt;p&gt;Three months have already passed since the date of my last post. In these months many changes have occurred in our family, although they all focus on a single member: our baby. I have also noticed some changes present in us, there is no doubt that the proximity of parenthood completely changes many things and ways in which we see some situations. In my personal experience, I honestly never thought I would use these pages to tell anything about our process now that we will be parents, but life is like that, full of changes, discoveries and growth. And this has definitely been growth. It&amp;rsquo;s amazing to wake up in the wee hours of the morning (I tend to do it occasionally) and be amazed at how much time is left before our baby meets the world from another perspective, outside of mom&amp;rsquo;s womb, one that will last a lifetime. I also can&amp;rsquo;t help but feel excited as we &amp;ldquo;get to know him&amp;rdquo; more and more. Because getting to know him starts from now on, and I sincerely believe that following closely every step we take, every advance and change that occurs in the various stages of his development even during pregnancy is one of the best things I have been able to enjoy throughout my life.&lt;/p&gt;</description></item><item><title>Baby: 18 weeks</title><link>https://manuelcortez.net/2022/10/baby-18-weeks/</link><pubDate>Thu, 13 Oct 2022 12:52:00 -0500</pubDate><guid>https://manuelcortez.net/2022/10/baby-18-weeks/</guid><description>&lt;p&gt;Three months have passed since the date of my last post. In these months many changes have occurred in our family, although all are centered on a single member: Our upcoming baby. I&amp;rsquo;ve also noticed changes present in us, there&amp;rsquo;s no doubt that the proximity of parenthood completely changes many things and ways in which we see some situations. In my personal experience, I honestly never thought I&amp;rsquo;d use these pages to tell something about our process now that we&amp;rsquo;re going to be parents, but life is like that, full of changes, discoveries, and growth. And this has definitely been growth. It&amp;rsquo;s incredible to wake up in the early morning (I tend to do it occasionally) and surprise myself thinking about the amount of time left for our baby to know the world from another perspective, outside mom&amp;rsquo;s womb, one that will last their entire life. I also can&amp;rsquo;t help but feel excited to &amp;ldquo;get to know&amp;rdquo; them more and more. Because getting to know them starts from now, and I sincerely believe that following with attention every step we take, every advance and change that occurs in the various stages of their development even during pregnancy is one of the best things I&amp;rsquo;ve been able to enjoy throughout my life.&lt;/p&gt;</description></item><item><title>Our family is expanding by one</title><link>https://manuelcortez.net/2022/07/family-news/</link><pubDate>Fri, 15 Jul 2022 10:33:08 -0500</pubDate><guid>https://manuelcortez.net/2022/07/family-news/</guid><description>&lt;p&gt;Hi there! Today I wanted to make this post, which I think will be shorter than what I usually publish and completely personal (no tech related stuff for now, sorry). The situation is that I have some news that I would like to share and I can&amp;rsquo;t help but do so. As of about 6 weeks ago, according to medical studies, Leidi, who is my wife, and I, are waiting for a new member to our family. I still can&amp;rsquo;t believe this, to tell you the truth. We had been determined for some time that it was time to start thinking about settling down and starting a family. We get along very well, with ups and downs, as every relationship does, but we feel that we have the communication, stability and are mature enough to face our next step in life. About a week ago, at a lab test, we got the news we had been waiting for for some time. Our family, which previously consisted of two people, will now consist of a third member, who has decided to hit the road and perhaps, if things work out as they should, which I hope they will, be able to arrive in this world on his own in early March of next year.&lt;/p&gt;</description></item><item><title>Hosting Static Website Using CloudFlare and BackBlaze B2 (Part 3)</title><link>https://manuelcortez.net/2022/06/hosting-static-website-cloudflare-b2-part-3/</link><pubDate>Thu, 23 Jun 2022 15:20:00 -0500</pubDate><guid>https://manuelcortez.net/2022/06/hosting-static-website-cloudflare-b2-part-3/</guid><description>&lt;p&gt;This is the third and final part of a series of posts I started detailing the steps I&amp;rsquo;ve followed to publish a static website using Cloudflare and B2, along with GitLab runners, which are responsible for building and uploading the site files. You can find the other parts of this series at the following links:&lt;/p&gt;</description></item><item><title>Hosting a Static Website Using CloudFlare and BackBlaze B2 (part 2)</title><link>https://manuelcortez.net/2022/06/hosting-static-website-cloudflare-b2-part-2/</link><pubDate>Thu, 23 Jun 2022 12:37:00 -0500</pubDate><guid>https://manuelcortez.net/2022/06/hosting-static-website-cloudflare-b2-part-2/</guid><description>&lt;p&gt;This is the second part of a series of posts I started detailing the steps I&amp;rsquo;ve followed to publish a static website using Cloudflare and B2, along with GitLab runners, which are responsible for building and uploading the site files. You can find the other parts of this series in the following links:&lt;/p&gt;</description></item><item><title>Hosting a Static Website Using CloudFlare and BackBlaze B2 (part 1)</title><link>https://manuelcortez.net/2022/06/hosting-static-website-cloudflare-b2-part-1/</link><pubDate>Tue, 07 Jun 2022 10:17:00 -0500</pubDate><guid>https://manuelcortez.net/2022/06/hosting-static-website-cloudflare-b2-part-1/</guid><description>&lt;p&gt;This is the first part of a series of posts I started detailing the steps I&amp;rsquo;ve followed to publish a static website using Cloudflare and B2, along with GitLab runners, which are responsible for building and uploading the site files. You can find the other parts of this series in the following links:&lt;/p&gt;</description></item><item><title>Undoing RAID With mdadm Without Reinstalling Operating System</title><link>https://manuelcortez.net/2022/05/undoing-raid-mdadm-without-reinstalling-os/</link><pubDate>Sun, 08 May 2022 13:05:52 -0500</pubDate><guid>https://manuelcortez.net/2022/05/undoing-raid-mdadm-without-reinstalling-os/</guid><description>&lt;p&gt;Currently, I have a dedicated server at &lt;a href="https://www.hetzner.com"&gt;Hetzner&lt;/a&gt; where I&amp;rsquo;ve been hosting some personal things. A couple of days ago, I found myself needing to remove one of the two hard drives that the server has from the Software raid that&amp;rsquo;s configured by default in all Hetzner images, at least from Linux systems based on Debian that can be installed through Hetzner robot.&lt;/p&gt;</description></item><item><title>Enable Automatic Login in Windows 10, Version 2004 and Later</title><link>https://manuelcortez.net/2022/05/automatic-login-windows-10-2004/</link><pubDate>Mon, 02 May 2022 11:49:00 -0500</pubDate><guid>https://manuelcortez.net/2022/05/automatic-login-windows-10-2004/</guid><description>&lt;p&gt;In Windows 10 versions 2004 (May 2020 update) or later, the method to enable automatic login has changed a bit, as now you must edit registry information mandatorily before being able to see the checkbox that allowed enabling automatic login (that is, for a specific user account to be the one that logs in to the computer, without requesting a password). Now, before being able to enable automatic login, you have to do the following.&lt;/p&gt;</description></item><item><title>GitLab Runners on Windows for Continuous Integration and Delivery</title><link>https://manuelcortez.net/2021/12/gitlab-runners-windows-ci-cd/</link><pubDate>Tue, 28 Dec 2021 19:27:07 -0600</pubDate><guid>https://manuelcortez.net/2021/12/gitlab-runners-windows-ci-cd/</guid><description>&lt;p&gt;For just over a couple of years, I&amp;rsquo;ve been using &lt;a href="https://docs.gitlab.com/runner/"&gt;GitLab Runners&lt;/a&gt; to deploy and perform tests on some projects I develop. It all started as a test with simple projects, like &lt;a href="https://mcvsoftware.com/music_dl"&gt;Music DL&lt;/a&gt; and &lt;a href="https://socializer.su"&gt;socializer.&lt;/a&gt; The idea of runners is to use them to complete the CI/CD Cycle (that is, continuous integration and delivery). In general terms, this makes it possible that whenever a specific condition is met within the source code repository (for example, creating a tag for each new version, sending a commit to a repository), a Runner takes charge of executing a series of commands or scripts to run the project&amp;rsquo;s test units, or can even compile, package and distribute versions ready for users directly. This is what we&amp;rsquo;ve been using in &lt;a href="https://twblue.es"&gt;TWBlue&lt;/a&gt; for Snapshot updates for a couple of years, which in the end was an important factor when deciding to shorten the development cycle of the application versions. Personally, I also like that a runner executes all the tasks, as that helps us keep our personal or work computers out of TWBlue distribution. Since these are Python projects, sometimes the modules that help us generate distributable versions (such as &lt;a href="https://cx-freeze.readthedocs.io/"&gt;cx_freeze&lt;/a&gt;) incorrectly include packages that aren&amp;rsquo;t used in the application. This can&amp;rsquo;t always be controlled appropriately and sometimes, a TWBlue version generated in the past included more or fewer extra and unnecessary modules depending on whose computer the distributable versions had been built on. With a runner creating each version of our software, we ensure we have a machine that only has the necessary tools installed for what will be built, and we also provide everyone who wants to review it, a list of reproducible steps that need to be executed to create an identical copy of our versions. Finally, the fact that all this happens completely automatically makes us have to worry less about preparing everything and executing each step manually on our machines: A developer only has to send a commit or create the appropriate tag, and the runner will test, build and upload the executables to our ftp site in a matter of minutes.&lt;/p&gt;</description></item><item><title>Changes in projects for next year</title><link>https://manuelcortez.net/2021/12/changes-in-projects-for-next-year/</link><pubDate>Mon, 20 Dec 2021 05:13:16 -0600</pubDate><guid>https://manuelcortez.net/2021/12/changes-in-projects-for-next-year/</guid><description>&lt;p&gt;Hello everyone.&lt;/p&gt;&#10;&lt;p&gt;Today I just would like to make an announcement for people who are following any of the projects I am involved in. Throughout this year, which is about to end, many things have come up. There have been new opportunities, as well as other projects to which I have not been able to dedicate as much time as I would like. Not to mention new occupations, responsibilities and tasks that I have been taking on in my current job. The overall summary of this year is that it has been one where everything has been very strange. When the year started, I had no idea that I would end up delving into Skills Development for Alexa, or that this development would end up appearing somewhere beyond my Twitter account. But in the end everything has run its course, and that&amp;rsquo;s why starting next year, all the software projects I was developing so far, will become part of a new project. This project, which I have already talked about on Twitter, is my own software company, called &lt;a href="https://mcvsoftware.com"&gt;MCV Software.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Alexa Skills as web services - part 1: Creating the Skill in the Amazon developers portal</title><link>https://manuelcortez.net/2021/03/alexa-skills-as-web-services-part-1-creating-skill-amazon-developers-portal/</link><pubDate>Wed, 17 Mar 2021 09:29:42 -0500</pubDate><guid>https://manuelcortez.net/2021/03/alexa-skills-as-web-services-part-1-creating-skill-amazon-developers-portal/</guid><description>&lt;p&gt;Today I will begin with something that I had pending to try for several months already. I will write a little bit about things that I am discovering when developing. New libraries, methods and design patterns, and in general things that I find along the way. I&amp;rsquo;ve noticed that there are a lot of people writing about this in English, but I don&amp;rsquo;t know how many people write in Spanish. So I have done some posts about software development, Linux administration and stuff like that in the Spanish version of my blog, partly to contribute a little with the documentation on various topics in Spanish, and not to forget what I&amp;rsquo;m learning; and after some months I have decided to translate what I have written so far into english. Here I will be writing about some topics that I find interesting. Take into account that this is a translation of several posts from spanish. some info might be out of date or incorrect, so please contact me if you find anything that can be improved in this and other posts.&lt;/p&gt;</description></item><item><title>MusicDL version 2020.07.31 has been released</title><link>https://manuelcortez.net/2020/07/musicdl-version-20200731-has-been-released/</link><pubDate>Fri, 31 Jul 2020 09:12:45 -0500</pubDate><guid>https://manuelcortez.net/2020/07/musicdl-version-20200731-has-been-released/</guid><description>&lt;p&gt;Hello there, everyone.&lt;/p&gt;&#10;&lt;p&gt;I have been wanting to revisit and update some of my projects (including some past projects I have ditched over the years) to make my software up to date and keep working on new stuff at the same time. I know some of you remember about &lt;a href="https://manuelcortez.net/music_dl"&gt;MusicDL,&lt;/a&gt; the application I have coded to play and download music from some popular websites such as Youtube. As you remember in this &lt;a href="https://manuelcortez.net/blog/post/my-new-project-musicdl-simple-music-downloader.html"&gt;blog post,&lt;/a&gt; when i released MusicDl, I wrote that I just made it for learning a few interesting concepts related to Web scraping (or how to extract, thanks to a set of libraries, the info you want from a website).&lt;/p&gt;</description></item><item><title>Undead Assault is back</title><link>https://manuelcortez.net/2020/03/undead-assault-is-back/</link><pubDate>Tue, 17 Mar 2020 09:17:08 -0500</pubDate><guid>https://manuelcortez.net/2020/03/undead-assault-is-back/</guid><description>&lt;p&gt;Hello there, everyone! over the last few weeks, some of you have been watching and hearing rumours about Undead Assault coming back.&lt;/p&gt;&#10;&lt;p&gt;For those of you who don&amp;rsquo;t know about it, Undead Assault is an audiogame that consists of surviving against infinite hordes of zombies, playing single or in a team with up to 3 more players.&lt;/p&gt;</description></item><item><title>DIY NAS Server: Refreshing the Odroid XU-4</title><link>https://manuelcortez.net/2019/06/diy-nas-refreshing-odroid-xu-4/</link><pubDate>Sun, 09 Jun 2019 09:36:58 -0500</pubDate><guid>https://manuelcortez.net/2019/06/diy-nas-refreshing-odroid-xu-4/</guid><description>&lt;p&gt;Continuing with the series of articles dedicated to the Odroid XU-4 and my adventure of trying to convert it into a NAS server without going through installing systems with everything already integrated, now I wanted to share a particularity (or trick) that can help the board components work somewhat better.&lt;/p&gt;</description></item><item><title>DIY NAS: Operating system</title><link>https://manuelcortez.net/2019/06/diy-nas-operating-system/</link><pubDate>Tue, 04 Jun 2019 09:19:11 -0500</pubDate><guid>https://manuelcortez.net/2019/06/diy-nas-operating-system/</guid><description>&lt;p&gt;Hello there,&lt;/p&gt;&#10;&lt;p&gt;As I mentioned in a &lt;a href="https://manuelcortez.net/blog/post/new-family-member-welcome-aboard-odroid-xu-4.html"&gt;previous post,&lt;/a&gt; i have purchased an amazing odroid XU-4 and wanted to use it for a DIY NAS server (a lot of 3 letter codes here, sorry). I just wanted to detail some of the configuration issues I had to overcome in the process, so I will remember those later if I decide to purchase the eMMC module, which would force me to start from scratch with the system (Micro SD and eMMC boot sectors are different, so apparently there is no way to migrate data from one method to another and start the system normally). Also, if this may be useful for someone else thinking in a NAS server with the same setup I am using, that&amp;rsquo;d be great, too.&lt;/p&gt;</description></item><item><title>A new family member: Welcome aboard, Odroid XU-4</title><link>https://manuelcortez.net/2019/05/a-new-family-member-welcome-aboard-odroid-xu-4/</link><pubDate>Sat, 25 May 2019 09:20:23 -0500</pubDate><guid>https://manuelcortez.net/2019/05/a-new-family-member-welcome-aboard-odroid-xu-4/</guid><description>&lt;p&gt;Hello there,&lt;/p&gt;&#10;&lt;p&gt;Over the last couple of years, I have repurposed a few &lt;a href="https://www.raspberrypi.org/"&gt;Raspberry Pi&amp;rsquo;S&lt;/a&gt; sitting around in a corner in my bedroom to act as a &lt;a href="https://eltechs.com/raspberry-pi-nas-guide/"&gt;Home NAS&lt;/a&gt; (network attached storage) and &lt;a href="https://www.electromaker.io/tutorial/blog/how-to-build-a-low-powered-home-theater-pc-with-a-raspberry-pi"&gt;HTPC,&lt;/a&gt; running &lt;a href="https://kodi.tv/"&gt;Kodi&lt;/a&gt; with its &lt;a href="https://kodi.tv/addon/services/kodi-screen-reader"&gt;awesome screen reader addon&lt;/a&gt; for Linux. However, some months ago I have started to look for a change for a more performant SoC, due to some issues concerning Raspberry Pi (examples are &lt;a href="https://www.reddit.com/r/raspberry_pi/comments/8jvf3x/h265_on_raspberry_pi_3/"&gt;lack of hardware decoders for H.265 and VP8/9,&lt;/a&gt; &lt;a href="https://www.raspberrypi.org/forums/viewtopic.php?t=132461"&gt;bottleneck in the USB bus&lt;/a&gt; and &lt;a href="https://www.raspberrypi.org/forums/viewtopic.php?t=208512"&gt;lack of properly gigabit etherned port&lt;/a&gt;). Honestly I could live with a raspberry pi for most of my use cases (even if file transfers in the NAS device were quite slow), but I have been tempted for quite some time and I could not resist anymore, so I ended by purchasing the &lt;a href="https://www.amazon.com/ODROID-XU4-Single-Board-Computer-Gigabit/dp/B0163GEA64"&gt;Odroid XU-4.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Moving to Python 3</title><link>https://manuelcortez.net/2019/04/moving-to-python-3/</link><pubDate>Tue, 23 Apr 2019 09:21:17 -0500</pubDate><guid>https://manuelcortez.net/2019/04/moving-to-python-3/</guid><description>&lt;p&gt;Over the past 6 months, approximately, I have been revisiting some of my projects written in Python (that means, basically all my public projects plus some more that have been not released) to explore the possibility of moving them all from Python 2.x versions to Python 3. As you probably know (or if not, I tell you), &lt;a href="https://pythonclock.org/"&gt;Python 2.x will reach end of life at January 2020,&lt;/a&gt; so we are suggested to update our projects to work with the latest major Pytohn version as it&amp;rsquo;s the present of the language.&lt;/p&gt;</description></item><item><title>Socializer 0.17 has been released</title><link>https://manuelcortez.net/2019/01/socializer-017-has-been-released/</link><pubDate>Wed, 02 Jan 2019 09:22:18 -0500</pubDate><guid>https://manuelcortez.net/2019/01/socializer-017-has-been-released/</guid><description>&lt;p&gt;Yesterday I have released a new version of &lt;a href="https://manuelcortez.net/socializer"&gt;Socializer,&lt;/a&gt; the VK accessible client I am developing. In this post I want to talk about what happened in the development process of this project, what we did and what is planned for future. Even if you don&amp;rsquo;t plan to use the project, this post is worth reading because some of the most interesting methods may be applied to other projects of mine. Here I will post the full changelog for the 0.17 version, and will deep into more details later.&lt;/p&gt;</description></item><item><title>socializer: Accessible VK client V0.16</title><link>https://manuelcortez.net/2018/12/socializer-accessible-vk-client-v016/</link><pubDate>Tue, 18 Dec 2018 09:23:25 -0500</pubDate><guid>https://manuelcortez.net/2018/12/socializer-accessible-vk-client-v016/</guid><description>&lt;p&gt;Two years ago, in february 2016, I have started to code an application called &lt;a href="https://manuelcortez.net/socializer"&gt;Socializer.&lt;/a&gt; Its goal is to be a full featured windows client to use all features present in &lt;a href="https://vk.com"&gt;VK,&lt;/a&gt; the largest russian social network and one of the places I enjoy to visit dayly. If you have used &lt;a href="https://twblue.es"&gt;TWBlue,&lt;/a&gt; socializer was designed to do the same as TWBlue, but for a more featured social network full of rich content and with real time chat, among other interesting things.&lt;/p&gt;</description></item><item><title>Sentence finder: my first Django project</title><link>https://manuelcortez.net/2018/10/sentence-finder-my-first-django-project/</link><pubDate>Sun, 28 Oct 2018 09:24:43 -0500</pubDate><guid>https://manuelcortez.net/2018/10/sentence-finder-my-first-django-project/</guid><description>&lt;p&gt;During the last few months, I have been captivated by Django and its rich set of features. I have been learning a few different technologies recently, including &lt;a href="https://djangoproject.org"&gt;Django&lt;/a&gt; and &lt;a href="http://flask.pocoo.org/"&gt;Flask.&lt;/a&gt; I have been using &lt;a href="https://www.web2py.com"&gt;Web2py&lt;/a&gt; for the last 3 years, and while I still use it for several projects and consider it a very stable and mature framework, I wanted to try out other frameworks to do web stuff in Python.&lt;/p&gt;</description></item><item><title>My personal problem with the guy behind OnToys</title><link>https://manuelcortez.net/2018/05/my-personal-problem-with-the-guy-behind-ontoys/</link><pubDate>Fri, 11 May 2018 09:25:59 -0500</pubDate><guid>https://manuelcortez.net/2018/05/my-personal-problem-with-the-guy-behind-ontoys/</guid><description>&lt;p&gt;If you are a reader of my blog, you may know I post alot of technical stuff here. If you are not, what are you waiting for? Subscribe and read! :). Today I am not going to post anything related to software or tech in general. Today is one of these days where I will post a personal situation, just because I needed to share it.&lt;/p&gt;</description></item><item><title>A little weekend project: mudder, a GUI around Lyntin</title><link>https://manuelcortez.net/2018/03/a-little-weekend-project-mudder-a-gui-around-lyntin/</link><pubDate>Sat, 17 Mar 2018 09:26:52 -0500</pubDate><guid>https://manuelcortez.net/2018/03/a-little-weekend-project-mudder-a-gui-around-lyntin/</guid><description>&lt;p&gt;Sometimes I am getting bored when I am having a long time coding in the same project. Usually I just code something else, or watch an episode of a TV show, or something totally unrelated to code at all. Who knows? this time, I discovered a mud (multi user domain) client written entirely in Python. Its name is &lt;a href="http://lyntin.sourceforge.net/"&gt;Lyntin&lt;/a&gt; and is released as open source. I have decided to spend a weekend exploring this program and I think it has alot of potential.&lt;/p&gt;</description></item><item><title>My new project: MusicDL, a simple music downloader</title><link>https://manuelcortez.net/2018/03/my-new-project-musicdl-a-simple-music-downloader/</link><pubDate>Sat, 10 Mar 2018 09:27:50 -0500</pubDate><guid>https://manuelcortez.net/2018/03/my-new-project-musicdl-a-simple-music-downloader/</guid><description>&lt;p&gt;Here I&amp;rsquo;d like to write something about the new project I am developing. It&amp;rsquo;s called &lt;a href="https://manuelcortez.net/music_dl"&gt;MusicDL,&lt;/a&gt; and its purpose is simple: it should allow searching, playing and downloading music from different websites. I consider it&amp;rsquo;s heavily inspired by &lt;a href="https://github.com/chrisnorman7"&gt;Chris Norman&amp;rsquo;s&lt;/a&gt; project, &lt;a href="https://github.com/chrisnorman7/gmp3"&gt;GMP3.&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Being honest,I just was taking a little course about &lt;a href="https://www.udemy.com/web-scraping-with-python-beautifulsoup/"&gt;web scraping in Python&lt;/a&gt; and wanted to apply something of what I have learnt in a simple thing.&lt;/p&gt;</description></item><item><title>About me</title><link>https://manuelcortez.net/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://manuelcortez.net/about/</guid><description>&lt;p&gt;I&amp;rsquo;m a full-stack developer born in Mexico, specializing in enterprise automation, mobile development, and web applications. I work primarily with Python, Flutter, and cloud infrastructure technologies.&lt;/p&gt;&#10;&lt;h2 id="professional-experience"&gt;Professional Experience&lt;/h2&gt;&#10;&lt;p&gt;Since 2016, I founded and operate &lt;a href="https://mcvhost.com"&gt;MCVHost&lt;/a&gt;, a radio streaming SaaS platform serving international clients. The system fully automates streaming server provisioning: it generates configurations for Icecast, Nginx, PHP-FPM, and Liquidsoap, eliminating the need for manual setup. I&amp;rsquo;ve developed custom mobile applications with Flutter for clients and created an Alexa Skills ecosystem for voice-activated streaming.&lt;/p&gt;</description></item><item><title>Contact me</title><link>https://manuelcortez.net/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://manuelcortez.net/contact/</guid><description>&lt;p&gt;If you want to tell me something, and social networks are not the place to do so, you can send me an email by filling the following form.&lt;/p&gt;&#10;&lt;form id="fs-frm" name="simple-contact-form" accept-charset="utf-8" action="https://formspree.io/f/meqvkvay" method="post"&gt;&#10; &lt;fieldset id="fs-frm-inputs"&gt;&#10; &lt;label for="full-name"&gt;Full Name&lt;/label&gt;&#10; &lt;input type="text" name="name" id="full-name" placeholder="First and Last" required=""&gt;&#10; &lt;label for="email-address"&gt;Email Address&lt;/label&gt;&#10; &lt;input type="email" name="_replyto" id="email-address" placeholder="email@domain.tld" required=""&gt;&#10; &lt;label for="message"&gt;Message&lt;/label&gt;&#10; &lt;textarea rows="5" name="message" id="message" placeholder="Place your message here." required=""&gt;&lt;/textarea&gt;&#10; &lt;input type="hidden" name="_subject" id="email-subject" value="Contact Form Submission"&gt;&#10; &lt;/fieldset&gt;&#10; &lt;input type="submit" value="Submit"&gt;&#10;&lt;/form&gt;&lt;style&gt;/* reset */&#10;#fs-frm input,&#10;#fs-frm select,&#10;#fs-frm textarea,&#10;#fs-frm fieldset,&#10;#fs-frm optgroup,&#10;#fs-frm label,&#10;#fs-frm #card-element:disabled {&#10; font-family: inherit;&#10; font-size: 100%;&#10; color: inherit;&#10; border: none;&#10; border-radius: 0;&#10; display: block;&#10; width: 100%;&#10; padding: 0;&#10; margin: 0;&#10; -webkit-appearance: none;&#10; -moz-appearance: none;&#10;}&#10;#fs-frm label,&#10;#fs-frm legend,&#10;#fs-frm ::placeholder {&#10; font-size: .825rem;&#10; margin-bottom: .5rem;&#10; padding-top: .2rem;&#10; display: flex;&#10; align-items: baseline;&#10;}&#10;&lt;p&gt;/* border, padding, margin, width */&#10;#fs-frm input,&#10;#fs-frm select,&#10;#fs-frm textarea,&#10;#fs-frm #card-element {&#10;border: 1px solid rgba(0,0,0,0.2);&#10;background-color: rgba(255,255,255,0.9);&#10;padding: .75em 1rem;&#10;margin-bottom: 1.5rem;&#10;}&#10;#fs-frm input:focus,&#10;#fs-frm select:focus,&#10;#fs-frm textarea:focus {&#10;background-color: white;&#10;outline-style: solid;&#10;outline-width: thin;&#10;outline-color: gray;&#10;outline-offset: -1px;&#10;}&#10;#fs-frm [type=&amp;ldquo;text&amp;rdquo;],&#10;#fs-frm [type=&amp;ldquo;email&amp;rdquo;] {&#10;width: 100%;&#10;}&#10;#fs-frm [type=&amp;ldquo;button&amp;rdquo;],&#10;#fs-frm [type=&amp;ldquo;submit&amp;rdquo;],&#10;#fs-frm [type=&amp;ldquo;reset&amp;rdquo;] {&#10;width: auto;&#10;cursor: pointer;&#10;-webkit-appearance: button;&#10;-moz-appearance: button;&#10;appearance: button;&#10;}&#10;#fs-frm [type=&amp;ldquo;button&amp;rdquo;]:focus,&#10;#fs-frm [type=&amp;ldquo;submit&amp;rdquo;]:focus,&#10;#fs-frm [type=&amp;ldquo;reset&amp;rdquo;]:focus {&#10;outline: none;&#10;}&#10;#fs-frm [type=&amp;ldquo;submit&amp;rdquo;],&#10;#fs-frm [type=&amp;ldquo;reset&amp;rdquo;] {&#10;margin-bottom: 0;&#10;}&#10;#fs-frm select {&#10;text-transform: none;&#10;}&lt;/p&gt;</description></item><item><title>Make a Donation</title><link>https://manuelcortez.net/donate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://manuelcortez.net/donate/</guid><description>&lt;p&gt;If you think any of my projects helped you in any way or you like my work, donating is an excellent way to contribute. By donating you can help me to stay motivated, improve my projects and research for creating new software and services, to release more software completely free of charge and to pay the server related costs.&lt;/p&gt;</description></item></channel></rss>