<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tooling on Hambz</title><link>/tags/tooling/</link><description>Recent content in Tooling on Hambz</description><generator>Hugo</generator><language>en-us</language><copyright>© Halladj Hamza</copyright><lastBuildDate>Sat, 26 Apr 2025 00:00:00 +0000</lastBuildDate><atom:link href="/tags/tooling/index.xml" rel="self" type="application/rss+xml"/><item><title>Gentle introduction to Tmux</title><link>/posts/post-16/</link><pubDate>Sat, 26 Apr 2025 00:00:00 +0000</pubDate><guid>/posts/post-16/</guid><description>&lt;p>In our &lt;a href="https://misc-lab.org/fr/">research lab&lt;/a> we just had a new high-performance computing machine. However this is where the good news end, since we are having our networking infrastracture redone we are facing some challenges while &lt;em>trying&lt;/em> to train voilance detection model. The networking constraints we have right now are:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>No remote access&lt;/strong>: The machine is only accessible through the local network, with no internet connectivity.&lt;/li>
&lt;li>&lt;strong>Unstable network&lt;/strong>: The local network is shaky and unreliable.&lt;/li>
&lt;li>&lt;strong>Shared hardware&lt;/strong>: We are sharing the hardware with other lab members.&lt;/li>
&lt;/ol>
&lt;p>These limitations make it challenging to maintain long-enough sessions since the training would take hours (maybe days).&lt;/p></description></item><item><title>Buring ISO into a Flash USB on Linux</title><link>/posts/post-14/</link><pubDate>Fri, 04 Oct 2024 00:00:00 +0000</pubDate><guid>/posts/post-14/</guid><description>&lt;p>Burning an ISO to a Flash USB stick or a CD/DVD is the first step to install a new operating system on a machine, and it is a straight-forward process too. For example, when I used to use Windows operating systems, &lt;a href="https://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;rct=j&amp;amp;opi=89978449&amp;amp;url=https://rufus.ie/&amp;amp;ved=2ahUKEwjIkdWXifWIAxWHRqQEHXevI0kQFnoECAgQAQ&amp;amp;usg=AOvVaw360qlGZbGE3DcSah5A5ITM">Rufus&lt;/a> was my first choice to burn an ISO image, and on debian or Ubuntu, it was Etcher. However, now that I&amp;rsquo;m using Arch Linux, both of them didn&amp;rsquo;t work or weren&amp;rsquo;t even available.&lt;/p></description></item><item><title>Connecting a qemu virtual machine to the host machine</title><link>/posts/post-13/</link><pubDate>Tue, 02 Apr 2024 00:00:00 +0000</pubDate><guid>/posts/post-13/</guid><description>&lt;p>Using a qemu virtual machine that was created feels just like using any other physical machine until it&amp;rsquo;s time for remote access, or doing any networking-related activities( ports, IP address, etc&amp;hellip; ). then you realize that it is connected using NAT. meaning you do not have access to the machine, can&amp;rsquo;t ssh into it, or connect to any of its ports.&lt;/p>
&lt;h1 id="now-what-to-do">Now What to do:&lt;a class="heading-anchor" href="#now-what-to-do" aria-label="Link to this section">#&lt;/a>&lt;/h1>&lt;p>Generally speaking, there are two ways we could achieve connectivity between the host machine and the guest virtual machine, the first approach is using &lt;strong>Port-Forwarding&lt;/strong>, which gives us the ability to make a mapping between &lt;em>a port on the guest machine&lt;/em> to a &lt;em>port on the host machine&lt;/em>. The other solution is attaching the guest machine to a &lt;strong>Bridge Network&lt;/strong>, making the host and guest machines fully connected.&lt;/p></description></item><item><title>Cross-platform mobile development on Linux</title><link>/posts/post-12/</link><pubDate>Thu, 28 Mar 2024 00:00:00 +0000</pubDate><guid>/posts/post-12/</guid><description>&lt;p>I have always heard about cross-platform mobile development frameworks(React-native &amp;amp; flutter), and how they make it trivial to maintain a single code base for your application. But how true of a statement is it when it comes to someone on Linux wishing to develop an application with some native networking features?&lt;/p>
&lt;h2 id="it-is-true-to-some-extent">It is true to some extent:&lt;a class="heading-anchor" href="#it-is-true-to-some-extent" aria-label="Link to this section">#&lt;/a>&lt;/h2>&lt;p>Two years ago I was working on my thesis and it involved creating a simple mobile application to act as a client for an ML prediction model, on that project I didn&amp;rsquo;t need any native support and it was only a prototype, which meant I only build it on &lt;em>android&lt;/em>. so theoretically I could have built it for &lt;em>ios&lt;/em> using any cloud service since you need an Apple machine to build it.&lt;/p></description></item></channel></rss>