<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on 4zv4l@home</title>
    <link>https://lexiz.xyz/posts/</link>
    <description>Recent content in Posts on 4zv4l@home</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 14 Aug 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://lexiz.xyz/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Raku 1</title>
      <link>https://lexiz.xyz/posts/2025-08-14-Raku-1/</link>
      <pubDate>Thu, 14 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2025-08-14-Raku-1/</guid>
      <description>&lt;p&gt;After a long break (again) I come back to write about &lt;code&gt;Raku&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I spent quite some time on &lt;code&gt;Ruby&lt;/code&gt; before moving to &lt;code&gt;Perl&lt;/code&gt;, why ? Because&#xA;&lt;code&gt;Perl&lt;/code&gt; is more likely to be installed on a device I get access to, and why not &lt;code&gt;Python&lt;/code&gt; ?&#xA;Because &lt;code&gt;Perl&lt;/code&gt; has better backward compatibility, I wont need to worry about whether its &lt;code&gt;Python2&lt;/code&gt; or &lt;code&gt;Python3&lt;/code&gt; and which subversion etc.&lt;/p&gt;&#xA;&lt;p&gt;I heard about Raku before but didn&amp;rsquo;t really want to give it a try, it is neither as ubiquitous as Perl neither as famous as Python. But last week, I allowed myself to take a look and see how different the language is from Perl and if its worth it for me to spend time learning it and oh well it didn&amp;rsquo;t disappoint.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Janet</title>
      <link>https://lexiz.xyz/posts/2024-07-07-Janet/</link>
      <pubDate>Sun, 07 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2024-07-07-Janet/</guid>
      <description>&lt;p&gt;After a long time (almost a year!) I am writing again. It took me some time to&#xA;get fully installed in Hong Kong (I moved from Belgium to Hong Kong on July 18).&lt;/p&gt;&#xA;&lt;p&gt;I enjoyed 3 months of &amp;ldquo;holiday&amp;rdquo; there while looking for a job and now I am fully installed !&lt;/p&gt;&#xA;&lt;p&gt;Anyway, this (very short) post is about a nice language I discovered few months ago named Janet (yes like in &lt;em&gt;The Good Place&lt;/em&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Perl One Liner</title>
      <link>https://lexiz.xyz/posts/2023-12-07-Perl-one-liner/</link>
      <pubDate>Thu, 07 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-12-07-Perl-one-liner/</guid>
      <description>&lt;p&gt;Today I had to add a list of users to a service (&lt;code&gt;knowbe4&lt;/code&gt;).&#xA;I could have done it manually but I decided to use Perl to do it which (I think) made me gain a lot of time.&lt;/p&gt;&#xA;&lt;p&gt;Instead of checking the current subscribed users, see which one to delete and which one to add manually (would have taken a lot of time since there are a lot of users already and even more users to add).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Basic Backup Powershell</title>
      <link>https://lexiz.xyz/posts/2023-05-25-Basic-backup-powershell/</link>
      <pubDate>Thu, 25 May 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-05-25-Basic-backup-powershell/</guid>
      <description>&lt;p&gt;Here is a basic backup script that I made from the &lt;code&gt;powershell&lt;/code&gt; exam the second grade had today.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;#&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    .&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;SYNOPSIS&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    Backup file from folder matching extension&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    .&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;DESCRIPTION&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    Backup all the files from a &amp;#39;WinPath&amp;#39; that match the given &amp;#39;FileExtension&amp;#39;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    The &amp;#39;Backup&amp;#39; directory is created by default.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    You can also &amp;#39;SearchBackup&amp;#39; in the &amp;#39;Backup&amp;#39; directory with a regex.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    .PARAMETER WinPath&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    Path to the directory to search in&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    .PARAMETER FileExtension&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    Extension of files to backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    .PARAMETER Backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    Create Backup directory (true by default)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    .PARAMETER SearchBackup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;    Search pattern in backed-up files (false by default)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;param&lt;/span&gt;(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [Parameter(&lt;span style=&#34;color:#a6e22e&#34;&gt;mandatory&lt;/span&gt;=$true)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt;]$WinPath,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [Parameter(&lt;span style=&#34;color:#a6e22e&#34;&gt;mandatory&lt;/span&gt;=$true)]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt;]$FileExtension,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [&lt;span style=&#34;color:#66d9ef&#34;&gt;bool&lt;/span&gt;]$Backup = $true,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    [&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt;]$SearchBackup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# check if the directory exists&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (!(Test-Path -Path $WinPath -PathType Container)) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Write-Host &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#39;&lt;/span&gt;$WinPath&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; does not exist or is not a directory&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    exit &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# if SearchBackup then show files matching and quit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($SearchBackup &lt;span style=&#34;color:#f92672&#34;&gt;-ne&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (!(Test-Path -Path &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$WinPath&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; -PathType Container)) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Write-Host &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#39;&lt;/span&gt;$WinPath&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; does not exist or is not a directory&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        exit &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Get-ChildItem -Path &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$WinPath&lt;span style=&#34;color:#e6db74&#34;&gt;/Backup&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-File&lt;/span&gt; | ForEach-Object {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($_.Name &lt;span style=&#34;color:#f92672&#34;&gt;-match&lt;/span&gt; $FileExtension) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            Write-Host &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$_&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    exit&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# create the Backup directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($Backup) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    $null = New-Item -Path &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$WinPath&lt;span style=&#34;color:#e6db74&#34;&gt;/Backup&amp;#34;&lt;/span&gt; -ItemType Directory -Force&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# add all files matching the extension to the Backup directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$count = &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Get-ChildItem -Path $WinPath &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;–&lt;/span&gt;Recurse &lt;span style=&#34;color:#f92672&#34;&gt;-File&lt;/span&gt; | ForEach-Object {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($_.Extension &lt;span style=&#34;color:#f92672&#34;&gt;-eq&lt;/span&gt; $FileExtension &lt;span style=&#34;color:#f92672&#34;&gt;-and&lt;/span&gt; $_.DirectoryName &lt;span style=&#34;color:#f92672&#34;&gt;-cnotmatch&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Backup&amp;#34;&lt;/span&gt;) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        Move-Item -Path $_ -Destination &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$WinPath&lt;span style=&#34;color:#e6db74&#34;&gt;/Backup&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        $count += &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Write-Host &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$count&lt;span style=&#34;color:#e6db74&#34;&gt; file(s) backed-up&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I think it is mostly self explanatory^^&lt;/p&gt;</description>
    </item>
    <item>
      <title>CTF Mr Robot 1</title>
      <link>https://lexiz.xyz/posts/2023-05-22-CTF-Mr-Robot-1/</link>
      <pubDate>Mon, 22 May 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-05-22-CTF-Mr-Robot-1/</guid>
      <description>&lt;p&gt;Simple writeup about the CTF &lt;code&gt;Mr Robot 1&lt;/code&gt;. (Root-Me version)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Based on the show, Mr. Robot.&#xA;This VM has three keys hidden in different locations. Your goal is to find all three. Each key is progressively difficult to find.&#xA;The VM isn&amp;rsquo;t too difficult. There isn&amp;rsquo;t any advanced exploitation or reverse engineering. The level is considered beginner-intermediate.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;first-flag&#34;&gt;First flag&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Go to &lt;code&gt;url&lt;/code&gt;/robots.txt&#xA;&lt;ul&gt;&#xA;&lt;li&gt;fsocity.dic (wordlist for later)&lt;/li&gt;&#xA;&lt;li&gt;key-1-of-3.txt (first flag)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Go to &lt;code&gt;url&lt;/code&gt;/key-1-of-3.txt&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Yeah! You got the first one. You&amp;rsquo;re on the right way! Go on!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Music Fetch Tool</title>
      <link>https://lexiz.xyz/posts/2023-04-27-Music-fetch-tool/</link>
      <pubDate>Thu, 27 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-04-27-Music-fetch-tool/</guid>
      <description>&lt;p&gt;Presenting my two scripts to manage my music collection.&lt;/p&gt;&#xA;&lt;p&gt;I used to run &lt;code&gt;cmus&lt;/code&gt; in my terminal as music player, but after a while it started to get really slow when I got lot of musics.&lt;br&gt;&#xA;So I decided to try something else, that&amp;rsquo;s how I found &lt;a href=&#34;https://github.com/ncmpcpp/ncmpcpp&#34;&gt;ncmpcpp&lt;/a&gt;.&lt;br&gt;&#xA;It is a music player that is a client of the &lt;code&gt;MPD&lt;/code&gt; (Music Player Daemon) server.&lt;/p&gt;&#xA;&lt;p&gt;I have a very basic system to handle my music which is a simple script that allows me to:&lt;/p&gt;</description>
    </item>
    <item>
      <title>CliProtect Deployment</title>
      <link>https://lexiz.xyz/posts/2023-04-26-CliProtect-deployment/</link>
      <pubDate>Wed, 26 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-04-26-CliProtect-deployment/</guid>
      <description>&lt;p&gt;Today, the deployment of &lt;em&gt;CliProtect&lt;/em&gt; was completed successfully.&#xA;However, during the testing phase, we found an issue with the rdpclip.exe process.&#xA;If this process was already running before my injector was executed, it caused a conflict.&lt;/p&gt;&#xA;&lt;p&gt;I did not see that during the &lt;em&gt;testing phase&lt;/em&gt; since between every attempt I was logged out not simply disconnected (which keeps processes running).&#xA;But on that server the users aren&amp;rsquo;t directly logged out, there is a delay between the disconnection and the log out action.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My Homelab</title>
      <link>https://lexiz.xyz/posts/2023-04-26-My-homelab/</link>
      <pubDate>Wed, 26 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-04-26-My-homelab/</guid>
      <description>&lt;p&gt;Simply presenting my &lt;code&gt;homelab&lt;/code&gt; and the services running on it.&lt;/p&gt;&#xA;&lt;p&gt;My homelab setup is really simple:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Zimaboard 832&lt;/li&gt;&#xA;&lt;li&gt;512gb SSD&lt;/li&gt;&#xA;&lt;li&gt;Debian 11&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For the services I run them inside containers for simplicity and security.&#xA;To manage my containers I use &lt;a href=&#34;https://www.portainer.io/&#34;&gt;portainer community edition&lt;/a&gt; which itself runs in a container.&lt;/p&gt;&#xA;&lt;p&gt;The interface looks like this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://lexiz.xyz/assets/2023-04-26-My-homelab/portainer_dashboard.png&#34; alt=&#34;portainer dashboard&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;portainer dashboard&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://lexiz.xyz/assets/2023-04-26-My-homelab/portainer_containers.png&#34; alt=&#34;portainer containers&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;portainer containers&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;On the screenshot we can see the services I run:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Discovered Jekyll</title>
      <link>https://lexiz.xyz/posts/2023-04-25-Discovered-jekyll/</link>
      <pubDate>Tue, 25 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-04-25-Discovered-jekyll/</guid>
      <description>&lt;p&gt;A Ruby library allowing to easily create static website (like this one).&lt;/p&gt;&#xA;&lt;p&gt;Today I discovered &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt; with &lt;a href=&#34;https://www.reddit.com/r/ruby/comments/2omroo/comment/cmonpdd/?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3&#34;&gt;this comment&lt;/a&gt; on Reddit.&lt;/p&gt;&#xA;&lt;p&gt;To install and run &lt;code&gt;jekyll&lt;/code&gt; simply do:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜ gem install bundler jekyll&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜ jekyll new my_blog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜ cd my_blog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜ bundle exec jekyll serve&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# =&amp;gt; Now browse to http://localhost:4000 &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To add &lt;code&gt;posts&lt;/code&gt; you can simply add a new &lt;code&gt;mardown&lt;/code&gt; file:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜ cd _posts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜ touch &amp;gt; 2023-04-25-my-super-title.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;the filename format is &lt;code&gt;YEAR-MONTH-DAY-title.EXT&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Example of post (this one actually):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Discovered Thor</title>
      <link>https://lexiz.xyz/posts/2023-04-25-Discovered-thor/</link>
      <pubDate>Tue, 25 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2023-04-25-Discovered-thor/</guid>
      <description>&lt;p&gt;A Ruby library allowing to easily create command line tool.&lt;/p&gt;&#xA;&lt;p&gt;Today I discovered &lt;a href=&#34;http://whatisthor.com/&#34;&gt;Thor&lt;/a&gt; with &lt;a href=&#34;https://www.reddit.com/r/ruby/comments/2omroo/comment/cmonpdd/?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3&#34;&gt;this comment&lt;/a&gt; on Reddit.&lt;/p&gt;&#xA;&lt;p&gt;It is super easy to install, just run:&#xA;&lt;code&gt;gem install thor&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Then to use it, simple command line tool:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-ruby&#34; data-lang=&#34;ruby&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/ruby&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;require &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;thor&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;SayHello&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;Thor&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    desc &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;greet [NAME]&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;greet using [NAME]&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;greet&lt;/span&gt;(name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        puts &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hi &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;#{&lt;/span&gt;name&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; !&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# without this it shows an ugly warning on error&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;self&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;exit_on_failure?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SayHello&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;start &lt;span style=&#34;color:#66d9ef&#34;&gt;ARGV&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you run the script with no argument you will get:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Basic Coding</title>
      <link>https://lexiz.xyz/posts/2022-10-17-Basic-coding/</link>
      <pubDate>Mon, 17 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2022-10-17-Basic-coding/</guid>
      <description>&lt;p&gt;A mini document that I had made to quickly explain the basics of programming.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;translated quickly and dirty with Google translate&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;whats-the-point-&#34;&gt;What&amp;rsquo;s the point ?&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Programming automates a task that a computer/machine can perform. To do this it is necessary to translate an algorithm into a language that the computer can understand (binary).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;the-variables&#34;&gt;The variables&lt;/h2&gt;&#xA;&lt;h3 id=&#34;variable-types&#34;&gt;Variable types&lt;/h3&gt;&#xA;&lt;p&gt;Here is a short example of a program in pseudo-code (fictional language):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-cs&#34; data-lang=&#34;cs&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;What&amp;#39;s your name?&amp;#34;&lt;/span&gt;); &lt;span style=&#34;color:#75715e&#34;&gt;// displays What is your name?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;string&lt;/span&gt; name = input(); &lt;span style=&#34;color:#75715e&#34;&gt;// read what the user writes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(name); &lt;span style=&#34;color:#75715e&#34;&gt;// displays its name&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;How old are you?&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; age = input();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;print(age);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this pseudo-code I used 2 different types of variable:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Basic Command Line</title>
      <link>https://lexiz.xyz/posts/2021-03-25-Basic-command-line/</link>
      <pubDate>Thu, 25 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://lexiz.xyz/posts/2021-03-25-Basic-command-line/</guid>
      <description>&lt;p&gt;Little tutorial about the command line :)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;translated quickly and dirty with Google translate&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;to-know&#34;&gt;To know&lt;/h2&gt;&#xA;&lt;p&gt;The command line is a text interface between the user and the machine, the language used to interpret these commands may vary, under windows it will be &lt;code&gt;dos&lt;/code&gt; or &lt;code&gt;powershell&lt;/code&gt; and under linux it will often be &lt;code&gt;bash&lt;/code&gt; . But here we will focus on the command line under linux.&#xA;For the examples I will use &lt;code&gt;bash&lt;/code&gt; but that to work with other languages like &lt;code&gt;zsh&lt;/code&gt;, &lt;code&gt;fish&lt;/code&gt;, &lt;code&gt;ksh&lt;/code&gt;,…&#xA;We often represent a command with a &lt;code&gt;$&lt;/code&gt; in front of it to show that it is indeed a command to be done in a terminal.&#xA;In bash this will often be &lt;code&gt;username@hostname:current_folder$&lt;/code&gt;.&#xA;The bash configuration file is in your home file as &lt;code&gt;.bashrc&lt;/code&gt;. For ease of reference, the prompt in the examples will be like this &lt;code&gt;&amp;gt; &lt;/code&gt; but the prompt will probably end in a &lt;code&gt;$&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
