<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>lneural.net posts</title>
        <link>https://lneural.net</link>
        <description><![CDATA[Posts from lneural.net]]></description>
        <atom:link href="https://lneural.net/rss.xml" rel="self"
                   type="application/rss+xml" />
        <lastBuildDate>Wed, 04 Mar 2026 00:00:00 UT</lastBuildDate>
        <item>
    <title>Towards a More Human Centered Computing Experience</title>
    <link>https://lneural.net/posts/human_centered_computing_environment.html</link>
    <description><![CDATA[<p>I find it incredibly unfortunate that a majority of computer users do not have a personalized
computing experience. Of course this makes sense as most computer users are (probably) simply office
workers reading/writing emails, documentation, and spread sheets. Considering the amount of time
spent interfacing with computers and executing these tasks though, the computing environment
manufacturers don’t seem to care very much about the quality of tools they producing, but neither
do the computer users either. I’m assuming (and partially hoping) that that’s simply because they
don’t even know about other options.</p>
<p>Broadly what I am talking about is the ergonomics and human friendliness of computing environments
whether it be your desk setup at home, work station, or laptop on the couch. I think this is something
not talked about or considered enough even though we are spending more and more time every day
on our computers. In this article I’d like to roughly walk through all of the choices and
considerations I’ve made when choosing hardware and software configurations for my computing environment
both at home on my desk and on the go with my laptop. By no means is this a guide for everyone to follow.
The idea is to give you a bit of an idea as to how I made these choices such that you can personalize
and tailor your computing environment to your own needs. I’ll be walking through hardware choices first,
then software.</p>
<h2 id="monitor">Monitor</h2>
<p>Your computer monitor is arguably the most important thing you can invest in for your setup as it is
literally what you are staring at for 8 hours a day. Here are my recommendations/preferred specs:</p>
<ul>
<li>A 27 inch monitor with highest resolution possible (I have a 4k)</li>
<li>Keep a distance of about 50-80cm between your eyes and your display</li>
<li>The top of your monitor should be level or slightly above your eye line (this is to keep you looking
straight or slightly upwards)</li>
</ul>
<p>Pixels per inch (PPI) is what you should be optimizing for when choosing a monitor. Your eyes can see
every single LED and are irritated by every single LED.</p>
<h2 id="keyboardmouse">Keyboard+Mouse</h2>
<p>Keyboards are a very personal option so I can only explain the reasoning behind my choices. I think the
obvious first step is to switch to a split keyboard. Having a natural straight line from your shoulder
to your finger tips (along your wrist) is important over long periods of typing. On a normal keyboard, your
wrists have to be bent outwards while your arms are actually bending inwards so that both hands can use the
keyboard at the same time. This has been shown to cause <a href="https://en.wikipedia.org/wiki/Carpal_tunnel_syndrome">carpal tunnel syndrome</a>
and will being making it extremely painful to continue using your computer. Your main goal is to basically remove
the outward bend in your wrists. Make sure that the distance between each side of your split keyboard ensures
that your forearms are parallel with each other. I use a <a href="https://www.zsa.io/voyager">Zsa Voyager</a>.</p>
<p>As I have a mostly keyboard driven workflow, I just use an old Logitech mouse that I’ve had for ages.
If you do a lot of work with the mouse I would recommend a vertical one like <a href="https://www.logitech.com/en-eu/shop/p/mx-vertical-ergonomic-mouse">this</a>.
I’ve tried trackball mice like <a href="https://www.logitech.com/de-de/products/mice/ergo-m575-for-business.html">this</a>
as well, but don’t find them very ergonomic.</p>
<h2 id="desk">Desk</h2>
<p>This largely personal taste. I prefer a very large desk that is deep enough such that I can rest my forearms
on it while typing. This means I also have to set it to roughly the correct height such that my arms form 90
degree angles at the elbow. Having a well lit desktop is also important. I have a lamp on the left side of my
desk as I am right handed (this is best when writing on paper so that your hand doesn’t cast a shadow on what
you are writing).</p>
<h2 id="chair">Chair</h2>
<p>I actually think this doesn’t matter. You should be able to sit straight up on any kind of chair for long periods
of time; it’s simply just a matter of practice/training. That being said I actually switch between a wooden kitchen
table chair and an amazon basics office chair throughout the day. In the morning I use the wooden chair as I have
the most amount of energy. In the afternoon/evening I use the office chair as I can lean back in it in a bit more
of a relaxed way. Just don’t slouch!</p>
<h2 id="my-hardware">My Hardware</h2>
<ul>
<li>Desk: Some standard Ikea desk</li>
<li>Monitor: Some Dell 4k 27” monitor</li>
<li>Laptop: ThinkPad t14s Gen 3 (AMD Ryzen 7 Pro, 32Gb RAM)</li>
<li>Charger: <a href="https://www.anker.com/eu-de/products/a2663">Anker Nano 2</a> + Anker 240W 2m cable</li>
<li>SSD: <a href="https://www.samsung.com/at/memory-storage/portable-ssd/portable-ssd-t7-1tb-gray-mu-pc1t0t-ww/">Samsung T7 (1Tb)</a></li>
<li>Pen: <a href="https://www.rotring.de/schreibger%C3%A4te-bleistifte/kugelschreiber/rotring-600-kugelschreiber-1/SAP_2032577.html">Rotring 600 (with Schmidt P 900 F)</a></li>
<li>Clock: <a href="https://de.braun-clocks.com/collections/alarm-clocks/products/bc03-classic-analogue-alarm-clock-black">Braun Classic Analog Alarm Clock</a></li>
<li>Audio: AirPods Pro Gen 2</li>
<li>Mouse: Logitech M705 Marathon</li>
<li>Mouse pad: Steel series</li>
<li>Keyboard: <a href="https://www.zsa.io/voyager">ZSA Voyager</a></li>
</ul>
<figure>
<img src="/images/my_setup_post/desk_image.jpg" alt="Desk setup" />
<figcaption aria-hidden="true">Desk setup</figcaption>
</figure>
<h2 id="color-schemes">Color Schemes</h2>
<p>Depending on your surrounding environments light, you want to switch between using dark and light modes. I’ve
actually become a pretty big fan of light mode in the last couple weeks and now prefer to work on much more well
lit environments with light mode on. I feel its just a more natural way to read and write (dark text on a light background).
I personally have a light/dark mode toggling keybind so that I can quickly switch between what feels right in a given
environment. In my text editor and terminal I use the <a href="https://github.com/miikanissi/modus-themes.nvim">modus color scheme</a>
when in light mode and the <a href="https://github.com/rexim/gruber-darker-theme">gruber darker color scheme</a> when in dark mode.</p>
<p>I’ve also recently been experimenting with using a gray scale mode when performing tasks like reading papers or doing
light research. I can’t give a full conclusion yet as I haven’t been doing this for a while, but in general so far I would
say it increases my focus a bit on the task at hand and allows me to focus more easily. I would assume this is because
my brain doesn’t have to process any more colors and such, but I couldn’t give you a scientific reason.</p>
<p>Another important factor is using some sort of a red shift on your display come night fall. If your using Linux, Gnome and KDE
come this built in. You can also use programs like <a href="https://wiki.archlinux.org/title/Redshift">redshift</a> and set custom configs
for on/off times as well as the exact color shift you want. I usually stick to 3000 Kelvin at night and just have it auto enable
as soon as it gets dark outside. Some people also prefer blue light blocking glasses which produce the same outcome, but that’s
up to you (I don’t want to wear glasses).</p>
<h2 id="font-text-size">Font &amp; Text Size</h2>
<p>I use <a href="https://github.com/be5invis/Iosevka">iosevka</a> and sometimes <a href="https://files.ax86.net/terminus-ttf/">Terminus (TTF)</a>.
Use what feels most comfortable for you. The important part is only that you use an extremely large font size when reading
and editing text. You want to reduce as much strain on your eyes as possible. The worst thing you can be doing is squinting
at your computer display. I usually have between 30 and 50 terminal text rows visible at once.</p>
<h2 id="keyboard-driven-software">Keyboard Driven Software</h2>
<p>Learn and use <a href="https://www.vim.org/">vim keybinds</a> everywhere. Choose to use software that supports keyboard shortcuts,
learn those keyboard shortcuts, and then use those keyboard shortcuts. I cannot stress this enough. There is no reason
to move your hand over to your mouse to perform a task you’ve repeated thousands of times already. If you more than just
an internet browser and a terminal in your daily workflow, use a <a href="https://en.wikipedia.org/wiki/Tiling_window_manager">tilting window manager</a>
and bind your most used applications/actions to keys.</p>
<h2 id="my-software">My Software</h2>
<ul>
<li>Operating system: <a href="https://archlinux.org/">Arch Linux</a></li>
<li>Window manager: <a href="https://dwm.suckless.org/">dwm</a>
<ul>
<li>With <a href="https://dwm.suckless.org/patches/systray/">systray</a> and <a href="https://dwm.suckless.org/patches/actualfullscreen/">actual fullscreen</a> patches.</li>
<li>I used to use dwm, then switched to default Gnome for about 1.5 yrs and now recently just switched back to dwm.
Its pretty much my ideal workflow.</li>
</ul></li>
<li>Terminal emulator: <a href="https://github.com/ghostty-org/ghostty">Ghostty</a></li>
<li>Terminal multiplexer: <a href="https://github.com/tmux/tmux">Tmux</a></li>
<li>Text editor: <a href="https://github.com/neovim/neovim">Neovim</a></li>
<li>Browser: <a href="https://brave.com/">Brave</a></li>
<li>Pdf viewer: <a href="https://www.firefox.com/de/?mozcb=y&amp;gad_campaignid=23055483311">FireFox</a> and sometimes <a href="https://github.com/pwmt/zathura">Zathura</a> (for viewing pdfs in dark mode)
<ul>
<li>I use FireFox because I want a tabbed pdf reader that I can also close
and reopen all the files I had previously opened. This is extremely
important to me as I often have many pdf’s open at once. FireFox because
I want it separated from my main browser (Brave).</li>
</ul></li>
<li>Image viewer: <a href="https://github.com/xyb3rt/sxiv">sxiv</a></li>
<li>Video player: <a href="https://github.com/mpv-player/mpv">mpv</a></li>
</ul>
<p><strong>Slight update</strong>: I’m using my MacBook Air M3 at the moment. My browser, terminal, editor, etc. has not
changed though.</p>
<p>I prefer my window manager and graphical things to be very small and out of the way while the text that I’m
reading/editing (either in my browser or terminal) to be very large. I usually sit around ~80cm (estimated) from
my monitor and having to only read huge font text on top of that just makes my computing experience that
much more pleasant and easier to sit at for longer periods of time.</p>
<figure>
<img src="/images/my_setup_post/desktop_screenshot.png" alt="Desktop screenshot" />
<figcaption aria-hidden="true">Desktop screenshot</figcaption>
</figure>
<figure>
<img src="/images/my_setup_post/desk_tools.jpg" alt="Other things" />
<figcaption aria-hidden="true">Other things</figcaption>
</figure>]]></description>
    <pubDate>Wed, 04 Mar 2026 00:00:00 UT</pubDate>
    <guid>https://lneural.net/posts/human_centered_computing_environment.html</guid>
    <dc:creator>lneural.net</dc:creator>
</item>
<item>
    <title>Information Theoretic Machine Learning</title>
    <link>https://lneural.net/posts/notes_on_information.html</link>
    <description><![CDATA[<p>Following is a very minimal introduction to the mathematical (statistical) ideas that show
up very often in information theoretic machine learning and deep learning papers.</p>
<h2 id="importantcommon-concepts-and-equations">Important/Common Concepts and Equations</h2>
<h3 id="shannon-entropy">Shannon Entropy</h3>
<ul>
<li>Measures the uncertainty or information of a random variable <span class="math inline">X</span></li>
<li>Measured in bits</li>
<li>Intuition:
<ul>
<li>If X is totally predictable -&gt; <span class="math inline">H(X) = 0</span> bits</li>
<li>If X is uniform over n values -&gt; <span class="math inline">H(X) = \log{n}</span> bits</li>
</ul></li>
</ul>
<p><span class="math display">
H(X) = -\sum_x{p(x) \log_2{p(x)}}
</span></p>
<h3 id="mutual-information">Mutual Information</h3>
<ul>
<li>Measures how much information is shared between X and Y</li>
<li>Intuition:
<ul>
<li><span class="math inline">I(X;Y) = 0</span> -&gt; <span class="math inline">X</span> and <span class="math inline">Y</span> are independent</li>
<li>Larger <span class="math inline">I(X;Y)</span> -&gt; knowing <span class="math inline">X</span> tells you more about <span class="math inline">Y</span></li>
<li>For <span class="math inline">I(X;Y)</span>, this means that if we know <span class="math inline">Y</span>, we can save an average of <span class="math inline">I(X;Y)</span> bits
when encoding <span class="math inline">X</span></li>
<li>MI is symmetric meaning <span class="math inline">I(X;Y) = I(Y;X)</span></li>
</ul></li>
</ul>
<p><span class="math display">
I(X;Y) = \sum_{x,y}{p(x,y) \log_2{\frac{p(x,y)}{p(x)p(y)}}}
</span></p>
<p><span class="math display">
I(X;Y) = H(X) - H(X | Y)
</span></p>
<h3 id="kullback-leibler-kl-divergence">Kullback-Leibler (KL) Divergence</h3>
<ul>
<li>Measures how different two discrete probability distributions <span class="math inline">P</span> and <span class="math inline">Q</span> are</li>
<li>Intuition:
<ul>
<li>KL Divergence is 0 if <span class="math inline">P = Q</span></li>
<li>Not symmetric so <span class="math inline">D_{KL}( P || Q ) \neq D_{KL}( Q || P )</span></li>
<li>Extra bits required to encode <span class="math inline">P</span> using a code optimized for <span class="math inline">Q</span></li>
</ul></li>
</ul>
<p><span class="math display">
D_{KL}(P||Q) = \sum_x{P(x) \log_2{\frac{P(x)}{Q(x)}}}
</span></p>
<h3 id="multivariate-gaussian">Multivariate Gaussian</h3>
<ul>
<li>A multidimensional bell curve where <span class="math inline">\sum</span> controls the shape/spread</li>
</ul>
<p><span class="math display">
p(x) = \frac{1}{\sqrt{(2\pi)^k |\sum|}} \exp(- \frac{1}{2} (x - \mu)^T \sum^{-1}(x - \mu))
</span></p>
<h3 id="expectation-e">Expectation (E)</h3>
<ul>
<li>Average value of <span class="math inline">f(X)</span> if <span class="math inline">X</span> is drawn according to <span class="math inline">P</span></li>
<li>Weighted average of <span class="math inline">f(X)</span> over the probability of <span class="math inline">X</span></li>
</ul>
<p><span class="math display">
\mathbb{E}_{P(X)}[f(X)] = \int P(x)f(x) dx
</span></p>
<h3 id="markov-chain">Markov Chain</h3>
<p>A Markov chain is simply a set of discrete random processes that happen one after another
in which each next process is only dependent on the current process. This can be viewed from the
perspective of a neural network in which each layers outputs only depends on the previous layers
outputs.</p>
<p><span class="math display">
X \rightarrow Z \rightarrow Y
</span></p>
<h3 id="data-processing-inequality-dpi">Data Processing Inequality (DPI)</h3>
<p>The data processing inequality simply states that for any Markov chain, the mutual information between
two stochastic processes in said chain can only decrease.</p>
<p><span class="math display">
\text{For Markov chain } X \rightarrow Z \rightarrow Y \text{ : } I(X;Z) \geq I(X;Y)
</span></p>
<h3 id="reparameterization-invariance-1">Reparameterization Invariance <a href="https://adityashrm21.github.io/Information-Theory-In-Deep-Learning/">[1]</a></h3>
<p>For two invertable functions, <span class="math inline">\phi</span> and <span class="math inline">\psi</span>, the mutual information still holds:</p>
<p><span class="math display">
I(X;Y) = I(\phi(X);\psi(Y)).
</span></p>
<p>For deep neural networks, this simply means that shuffling the weights of a given layer does
not change the mutual information between that layer and all the others. This is important when
considering computational complexity as done in the <a href="https://arxiv.org/pdf/2002.10689">V-Information paper</a>
because the mutual information between the two random variables does not change, but the
computational complexity can increase heavily depending on how hard the functions <span class="math inline">\phi</span>, <span class="math inline">\psi</span> are to invert.
The paper introduces a new type of information that takes computational constraints into
consideration in this case.</p>]]></description>
    <pubDate>Wed, 15 Oct 2025 00:00:00 UT</pubDate>
    <guid>https://lneural.net/posts/notes_on_information.html</guid>
    <dc:creator>lneural.net</dc:creator>
</item>
<item>
    <title>Learning Economics</title>
    <link>https://lneural.net/posts/learning_economics.html</link>
    <description><![CDATA[<p>Following are some of my notes the things I learned or found interesting after reading
<em>A Very Short Introduction to Economics</em> by Partha Dasgupta. The book answered a lot of
my questions about the world and how humans act amongst each other as a collective.</p>
<p>Economics is simply just applied human psychology.</p>
<h2 id="trade-iff-trust">Trade <span class="math inline">\iff</span> Trust</h2>
<ul>
<li>Two things needed for a trade (basically just trust):
<ol type="1">
<li>(Nash equilibrium) At every stage of the agreed course of actions, it would be in the
interest of each party to plan to keep their word if all others were to plan to keep their
word.</li>
<li>At every stage of the agreed course of actions, each party believes that all others would
keep their word.</li>
</ol></li>
<li>Enforced punishment for betrayal increases trust (think robbing a store lands you in jail, so
store owners feel more comfortable leaving a stand of post cards outside of their store)</li>
<li>As soon as 65% do something, everybody does it. This is known as critical mass (meaning 50%
is usually not enough)</li>
</ul>
<h2 id="human-prosperity">Human Prosperity</h2>
<ul>
<li>There are three needs</li>
<li>Knowledge is a public good <em>par excellence</em>.</li>
<li>T.H. Marshall’s three-way classification of freedom can be read as saying that the enjoyment
of civil liberties, the ability to participate int he political sphere, and access to commodities
(food, clothing, shelter, health care, education - more generally, wealth) are necessary if
people are to flourish.</li>
<li>In 125 years, the world population grew by over 5 times its size in the beginning of the 20th
century from 1.6B to 8.25B.</li>
<li>Things like insurance simply remove a human dependence on luck for things like survival.</li>
<li>Science embodies a set of cultural values in need of constant protection from the thread posed
by its rival, Technology. That threat has proved to be so real, that in recent decades the two
institutions have begun to blur into each other. Scientists increasingly behave like
technologists, while technologists enjoy both the pecuniary rewards of Technology and the medals
and scrolls that Science has to offer.
<ul>
<li>Institutional innovations in Science and Technology took place in Europe and emerged during
the period historians refer to as the Age of Enlightenment.</li>
</ul></li>
<li>Intellectuals and commentators use the term ‘globalization’ to imply that location per se
doesn’t matter. This optimistic view emphasizes the potential of capital accumulation and
technological improvements to compensate for environmental degradation.</li>
</ul>
<h2 id="a-nations-fertility-rates">A Nations Fertility Rates</h2>
<ul>
<li>Fertility rates:
<ul>
<li>Reproductive behaviour is conformist.</li>
<li>Demographers have noted that educated women are among the first to make moves towards smaller
families.</li>
<li>A possibly even stronger pathway is the influence newspapers, radio, television, and the
internet exert by transmitting information about lifestyles elsewhere.</li>
</ul></li>
</ul>
<h2 id="the-role-of-the-government">The Role of the Government</h2>
<ul>
<li>One way to interpret the need for fiscal and monetary policies during severe slumps (taxes and
subsidies, public investment, interest rates, credit facilities) is that they help to change the
expectations the people hold about the future.</li>
<li>The outcome of a decision depends on the order in which pairs of alternatives are presented to
voters: the agenda matters. (very real)</li>
</ul>
<h2 id="some-good-to-knowinteresting-facts">Some Good-to-Know/Interesting Facts</h2>
<ul>
<li>A country’s GDP is the value of all final goods produced by it’s residents in a single year
<ul>
<li>GDP is a flow (ex. Dollar per year), where as wealth (dollars - period) is a stock</li>
</ul></li>
<li>Human capitol consists of education and health.</li>
<li>If the personal benefits from betraying one’s conscience are large enough, almost all of us would
betray it.</li>
<li>The EU’s GDP expenditure is roughly 37%. wow!</li>
<li>A government is an agency of its nation’s citizens.</li>
<li>The world not working on reducing human induced climate change is simply an economic problem.</li>
<li>A durable commodity: the stream of resources it is expected to provide over time.</li>
</ul>]]></description>
    <pubDate>Mon, 13 Oct 2025 00:00:00 UT</pubDate>
    <guid>https://lneural.net/posts/learning_economics.html</guid>
    <dc:creator>lneural.net</dc:creator>
</item>
<item>
    <title>XDG Base Directory Specifications</title>
    <link>https://lneural.net/posts/xdg_base_dir_specifications.html</link>
    <description><![CDATA[<p>Folders such as <code>.config</code> and <code>.cache</code> should only contain configuration and cache files, respectively
for programs on a machine. The
problem is, many programs do not adhere to these rules. There
are four main default XDG base directories that all programs on Unix-based systems should adhere to.</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">XDG_CONFIG_HOME</span><span class="op">=</span><span class="st">&quot;</span><span class="va">$HOME</span><span class="st">/.config&quot;</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">XDG_CACHE_HOME</span><span class="op">=</span><span class="st">&quot;</span><span class="va">$HOME</span><span class="st">/.cache&quot;</span></span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">XDG_DATA_HOME</span><span class="op">=</span><span class="st">&quot;</span><span class="va">$HOME</span><span class="st">/.local/share&quot;</span></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">XDG_STATE_HOME</span><span class="op">=</span><span class="st">&quot;</span><span class="va">$HOME</span><span class="st">/.local/state&quot;</span></span></code></pre></div>
<p>To call out some programs that do not adhere to these specifications: Firefox, Thunderbird, any
chrome based application, VS Code, etc. The list goes on and on, but to make a point; So many of the
most used applications on Unix-based systems do not follow these rules and they cause unnecessary
home directory clutter.</p>
<p>Reference: https://wiki.archlinux.org/title/XDG_Base_Directory</p>
<h3 id="update-03.04.2026">Update 03.04.2026</h3>
<p>Wow. Basically all the new things don’t care about this. All the new cli ai apps etc.</p>]]></description>
    <pubDate>Fri, 12 May 2023 00:00:00 UT</pubDate>
    <guid>https://lneural.net/posts/xdg_base_dir_specifications.html</guid>
    <dc:creator>lneural.net</dc:creator>
</item>
<item>
    <title>Arch</title>
    <link>https://lneural.net/posts/arch-linux-install-guide.html</link>
    <description><![CDATA[<p>I kinda just use this myself whenever I need to setup an arch system, do with this what you want.</p>
<h1 id="creating-a-bootable-usb-drive">creating a bootable usb drive</h1>
<p>The first step to installing Arch Linux onto your computer is downloading the Arch Linux iso
file and then booting it onto a usb drive. In order to do this download the Arch Linux iso file
from the Arch Linux website (<code>archlinux.org</code>) and then opening a terminal and navigating to the
directory were the iso file is located. After inserting the usb drive into your computer, confirm
the id of the drive and then run this command:
<code>dd if='name of arch Linux iso file' of='location of drive, /dev/sdb/ for example' status="progress"</code>.
Be careful that you do not make the <code>of</code> variable the drive on which you have current os installed on
because it will delete everything and replace it with just the iso file.</p>
<h1 id="booting-from-the-usb-drive">booting from the usb drive</h1>
<p>After installing the iso file to your usb drive reboot your computer and enter it’s boot settings. Choose to boot from the usb drive you just created and then enter the console. From here you will begin installing Arch Linux to your computer.</p>
<h1 id="internet-connection">internet connection</h1>
<p>Before beginning the installation make sure that your computer has an internet connection. Connecting you computer via Ethernet is the easiest route although connecting via wifi is also possible. Make sure that you have an internet connection by using <code>ip a</code> to check your ip. You can also <code>ping</code> to check for an internet connection.</p>
<h1 id="setting-keyboard-layout">setting keyboard layout</h1>
<p>To list available keyboard layouts navigate through <code>/usr/share/kbd/keymaps/</code> to find the keyboard layout the you use. After finding your keyboard layout, using <code>loadkeys</code> you can load that keyboard layout.</p>
<h1 id="system-clock">system clock</h1>
<p>To make sure that your system clock is accurate use <code>timedatectl set-ntp true</code></p>
<h1 id="partitioning-your-disk">partitioning your disk</h1>
<p>The easiest tool to partition your disk is to use <code>cfdisk</code>. Using the command <code>fdisk -l</code>, you can find the location of the disk that you want to install Arch Linux onto. (Example: /dev/sdb) Once you have found your disk, you can use <code>cfdisk 'drive location'</code> to edit the partition table. Create your first partition with the size that you want your main storage to have and then give it the <code>Linux</code> type and mark it as bootable. If you choose to, you can also make a swap partition or any other partition here. Once you have to chosen to make all of the changes to the disk make sure to write and exit properly.</p>
<h1 id="formatting-the-partitions">formatting the partitions</h1>
<p>To format your main partition with the ext4 file system, use <code>mkfs.ext4 'path to main partition, example: /dev/sda1'</code>. If you created a swap partition make sure to format that as well with <code>mkswap /dev/'swap partition'</code>.</p>
<h1 id="mounting-your-partitions-and-file-systems">mounting your partitions and file systems</h1>
<p>The traditional directory in which you mount file systems to your system is <code>/mnt</code>. To mount your newly created file systems, use the command <code>mount /dev/'root partition' /mnt</code> and if you created a swap partition, mount that as well with <code>swapon /dev/'swap parition'</code>.</p>
<h1 id="installing-the-base-system">installing the base system</h1>
<p>To install the base essential packages use the command <code>pacstrap /mnt base linux linux-firmware</code>.</p>
<h1 id="configuring-your-installed-system">configuring your installed system</h1>
<p>Using the command <code>genfstab -U /mnt &gt;&gt; /mnt/etc/fstab</code> you can set the partitions that you want to be auto mounted when your system boots. After this, you can access your system through chroot using the command <code>arch-chroot /mnt</code>. This will bring you into a new terminal that is your newly installed system.</p>
<p>To set the timezone, use the command <code>ln -sf /usr/share/zoneinfo/'region'/'city' /etc/localtime</code> and run <code>hwclock --systohc</code> to generate <code>/etc/adjtime</code>.</p>
<p>To set your local, edit <code>/etc/locale.gen</code> and uncomment your preferred local and other locals that you need. Example: <code>en_US.UTF-8 UTF-8</code>. After this, use the command <code>locale-gen</code> to save your edits.</p>
<p>Additionally, you will need to create <code>/etc/locale.conf</code> and add your proffered lang value to it. Example: <code>LANG=en_US.UTF-8</code>.</p>
<p>You will also need to edit <code>/etc/vconsole.conf</code> and add your preferred keymap. Example: <code>KEYMAP=de-latin1</code></p>
<h1 id="network-configuration">network configuration</h1>
<p>Firstly edit <code>/etc/hostname</code> with your preferred name for your system.</p>
<p>Next edit <code>/etc/hosts</code> and add this:</p>
<p><code>127.0.0.1 localhost</code></p>
<p><code>::1 localhost</code></p>
<p><code>127.0.1.1 'your host name'.localdomain' your host name'</code></p>
<p>Use <code>pacman -S networkmanager</code> to install the network manager for your system and run <code>systemctl enable NetworkManager.service</code> to enable it.</p>
<h1 id="boot-loader">boot loader</h1>
<p>To install the grub boot loader, use the command, <code>pacman -S grub</code>. To install the grub boot loader to your system, use the command <code>grub-install /dev/sdx</code>, sdx being your drive. After that you have to create the grub configuration file with <code>grub-mkconfig -o /boot/grub/grub.cfg</code>.</p>
<h1 id="finishing">finishing</h1>
<p>Use the <code>passwd</code> to give your root user a password. Then use the <code>exit</code> command to exit your current chroot session and unmount the arch partition by using <code>umount /mnt</code>. After this you can <code>reboot</code> and boot into your newly installed Arch Linux system.</p>
<h1 id="links">links</h1>
<p>https://wiki.archlinux.org/title/installation_guide</p>]]></description>
    <pubDate>Mon, 22 Aug 2022 00:00:00 UT</pubDate>
    <guid>https://lneural.net/posts/arch-linux-install-guide.html</guid>
    <dc:creator>lneural.net</dc:creator>
</item>

    </channel>
</rss>
