<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>emneo&#39;s den</title>
        <link>https://emneo.dev/</link>
        <description>Recent content on emneo&#39;s den</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <lastBuildDate>Mon, 09 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://emneo.dev/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Preparing LFS</title>
        <link>https://emneo.dev/p/preparing-lfs/</link>
        <pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate>
        
        <guid>https://emneo.dev/p/preparing-lfs/</guid>
        <description>&lt;p&gt;Yep, it&amp;rsquo;s that time of the year. Time for a new side project :D&lt;/p&gt;
&lt;h2 id=&#34;a-bit-of-context&#34;&gt;&lt;a href=&#34;#a-bit-of-context&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;A bit of context
&lt;/h2&gt;&lt;p&gt;I have started working for Epitech (the school that I studied at) about a year
ago now, and when I started my contract I was provided with a work computer that
I definitely &lt;del&gt;put to use&lt;/del&gt; put in a drawer.&lt;/p&gt;
&lt;p&gt;It turns out that at some other point in time I did try to have an LFS system
up and running, but that experience quickly ended when I realized that the
laptop I was trying to install it on only had UEFI support (which isn&amp;rsquo;t seen on
the original LFS book).&lt;/p&gt;
&lt;p&gt;But now I have a sudden urge to do that again, and I have some hardware lying
around ready to take the hit, so let&amp;rsquo;s see what I can do with it :p&lt;/p&gt;
&lt;h2 id=&#34;the-laptop&#34;&gt;&lt;a href=&#34;#the-laptop&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;The laptop
&lt;/h2&gt;&lt;p&gt;I will be trying to follow the LFS book on an HP Probook 440 G10, which has the
same problem as the previous laptop I tried it on (which was a Dell Vostro
7590), that there is only UEFI for booting, no legacy boot.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What does that mean?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;ll have to go through LFS &lt;strong&gt;and&lt;/strong&gt; BLFS to get this working.&lt;/p&gt;
&lt;h2 id=&#34;the-software&#34;&gt;&lt;a href=&#34;#the-software&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;The software
&lt;/h2&gt;&lt;p&gt;I&amp;rsquo;ll start from a fresh Debian 12 install running on the same disk as the target
system, and which will surely be kept afterwards in case a fix is needed of the
LFS partitions.&lt;/p&gt;
&lt;p&gt;I first wanted to go from a Fedora 42 install since that is what I am most used
to (It&amp;rsquo;s my daily driver), but the software was a little bit too cutting edge
for my liking and the LFS book (some software like gcc have a max recommended
version on the book because they have not really been tested at that point).&lt;/p&gt;
&lt;h3 id=&#34;the-case-for-gcc&#34;&gt;&lt;a href=&#34;#the-case-for-gcc&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;The case for gcc
&lt;/h3&gt;&lt;p&gt;It makes even more sense to watch out for this since I had so many troubles with
a recent gcc release (gcc-14) where some warnings are now automatically treated
as errors (warnings that are fairly common in the software available online).&lt;/p&gt;
&lt;p&gt;See this post from GNU: &lt;a class=&#34;link&#34; href=&#34;https://gcc.gnu.org/gcc-14/porting_to.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://gcc.gnu.org/gcc-14/porting_to.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;links&#34;&gt;&lt;a href=&#34;#links&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Links
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;LFS Website - &lt;a class=&#34;link&#34; href=&#34;https://linuxfromscratch.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://linuxfromscratch.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LFS Book - &lt;a class=&#34;link&#34; href=&#34;https://linuxfromscratch.org/lfs/view/stable/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://linuxfromscratch.org/lfs/view/stable/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;BLFS Book - &lt;a class=&#34;link&#34; href=&#34;https://linuxfromscratch.org/blfs/view/stable-systemd/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://linuxfromscratch.org/blfs/view/stable-systemd/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Start of a new year</title>
        <link>https://emneo.dev/p/start-of-a-new-year/</link>
        <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
        
        <guid>https://emneo.dev/p/start-of-a-new-year/</guid>
        <description>&lt;p&gt;2023 ends and now we are going again for a whole other year.&lt;/p&gt;
&lt;p&gt;But before that, it is important to reflect upon what happened during the
whole year and to check on what has been done, discovered, and fucked up.&lt;/p&gt;
&lt;h2 id=&#34;what-has-been-done&#34;&gt;&lt;a href=&#34;#what-has-been-done&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;What has been done
&lt;/h2&gt;&lt;p&gt;2023 has been quite an important year for me, as this is the moment
&lt;a class=&#34;link&#34; href=&#34;https://github.com/CubicMC/cubic-server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;cubic-server&lt;/a&gt; started to gain some
traction and got some actual work done on it.&lt;/p&gt;
&lt;p&gt;This is also the very first year where I had to live by myself in another
country for the very first time, and that experience has been quite the
important one (The Netherlands has been one of the best country I could have
hoped for to live in and the whole time there might actually need its own blog
post all by itself).&lt;/p&gt;
&lt;p&gt;I also got a new job as a teacher assistant (Or at least an equivalent of it)
at &lt;a class=&#34;link&#34; href=&#34;https://epitech.eu&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;my school&lt;/a&gt; which was for me one of the best work
experience I ever had (This might also need its own blog post as I am still
working there and might be still working there until August 2024, and so many
things have already happened that it might warrant its own retrospective).&lt;/p&gt;
&lt;p&gt;I also participated a bit in AdventOfCode2023 before time and work got after me
and I couldn&amp;rsquo;t participate much, it was overall very interesting as I took the
time to compete with collegues, friends, and students alike on who could beat
the new days as they came out with either the worst looking code, or just the
fastest/most clever solution of all.&lt;/p&gt;
&lt;h2 id=&#34;what-i-have-discovered&#34;&gt;&lt;a href=&#34;#what-i-have-discovered&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;What I have discovered
&lt;/h2&gt;&lt;h3 id=&#34;zig&#34;&gt;&lt;a href=&#34;#zig&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Zig
&lt;/h3&gt;&lt;p&gt;Zig is a low level language that aims to be a simple language with no hidden
control flow, no hidden memory allocations, and no no preprocessor nor macros
(All of this was taken directly from within the &lt;a class=&#34;link&#34; href=&#34;https://ziglang.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;main page&lt;/a&gt;
of the project).&lt;/p&gt;
&lt;p&gt;This project pretty much wants to be a successor to C, which in my opinion rust
failed to be and continues to fail, by just being as simple as possible while
also providing really advanced metaprogramming capabilities, especially with its
comptime features which are freaking great.&lt;/p&gt;
&lt;h3 id=&#34;hare&#34;&gt;&lt;a href=&#34;#hare&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Hare
&lt;/h3&gt;&lt;p&gt;Hare is also something that I took a bit an interest in this year as it was also
a simple system programming language with some extra features from C that made
quite alluring. I also had the occasion to meet
&lt;a class=&#34;link&#34; href=&#34;https://drewdevault.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Drew Devault&lt;/a&gt;, the main maintainer of hare during a
test talk about hare and its use in making a simple microkernel based OS he
presented at &lt;a class=&#34;link&#34; href=&#34;https://techinc.nl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Technologia Incognita&lt;/a&gt; to prepare
for FOSDEM.&lt;/p&gt;
&lt;h3 id=&#34;the-dutch&#34;&gt;&lt;a href=&#34;#the-dutch&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;The Dutch
&lt;/h3&gt;&lt;p&gt;From the start of September 2022 up until August 2023 I lived in the Netherlands
in the not so small city of Eindhoven.&lt;/p&gt;
&lt;p&gt;It is not really a secret but I am French, and I was a little scared at the idea
of living a whole year in a country that I did not know the language of (Even
though I am currently working on getting better at it), it actually was
completely fine as &lt;strong&gt;everyone&lt;/strong&gt; speaks English there, even older people (I
encountered only one person in the Netherlands that couldn&amp;rsquo;t speak English, and
he also couldn&amp;rsquo;t speak Dutch).&lt;/p&gt;
&lt;p&gt;That is a very sharp contrast from France where people will literally curse you
for not speaking French to the perfection. In the Netherlands even if you start
speaking Dutch people will realize you are not Dutch and will instantly start
speaking to you in English (Which is really frustrating if you are trying to
learn the language).&lt;/p&gt;
&lt;p&gt;For now I will stop here about the Dutch and the Netherlands, because I could
go into much more details which would need its own post by itself (I might do
that one day ;) ).&lt;/p&gt;
&lt;h2 id=&#34;what-i-fucked-up&#34;&gt;&lt;a href=&#34;#what-i-fucked-up&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;What I fucked up
&lt;/h2&gt;&lt;h3 id=&#34;cubic-server&#34;&gt;&lt;a href=&#34;#cubic-server&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;cubic-server
&lt;/h3&gt;&lt;p&gt;Let&amp;rsquo;s start by saying that I am really happy to have started cubic-server, it
was a wonderful idea even though the Minecraft protocol is an absolute pain,
because it made me work constantly on one single idea/project and made me step
up my programming and management skills.&lt;/p&gt;
&lt;p&gt;Though now a lot of problems arose from that project and the first big one is
the architecture.&lt;/p&gt;
&lt;h4 id=&#34;the-architecture&#34;&gt;&lt;a href=&#34;#the-architecture&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;The architecture
&lt;/h4&gt;&lt;p&gt;We wanted to do more, to think better, to think ahead, that was pretty much an
error, and now we pay for it by &lt;em&gt;&lt;strong&gt;very&lt;/strong&gt;&lt;/em&gt; long compilation times and chats that
can be accessed from a player by getting its dimension, then the world, then the
worldgroup, and then you could get the chat object (Which is also kind of
overingineered quite a bit).
Needless to say a lot of that architecture could be much more simplified.&lt;/p&gt;
&lt;h4 id=&#34;out-of-scope&#34;&gt;&lt;a href=&#34;#out-of-scope&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Out of Scope
&lt;/h4&gt;&lt;p&gt;When we started that project it was all for just having something for our end
of study project, and for that we needed to prove that there was a lot of work
to be done, and so we did, maybe a bit too much. So now we have a whole
generation system and survival aspects working while the server could have
just been a simple modular base to add more complex parts on top of it.&lt;/p&gt;
&lt;p&gt;All those features added on top of each other mixed with the needlessly
complicated architecture make for one hell of a time when you want to dev
anything for it.&lt;/p&gt;
&lt;p&gt;And the main question remains, which users are we targeting?&lt;/p&gt;
&lt;p&gt;Survival users? We will &lt;em&gt;&lt;strong&gt;never&lt;/strong&gt;&lt;/em&gt; have parity with vanilla, so that&amp;rsquo;s a big
no-no.
Creative players? Well it is possible, but the sheer amount of blocks and
behaviour of them to handle on newer versions of the game make the task very
complicated.
Redstone players? We don&amp;rsquo;t even have a working redstone engine right now, and
we have no idea if it will be hard, easy, long, or anything on it. It&amp;rsquo;s just
being worked on as we go and we hope it will work at some point in time.
Minigame players? Depending on which minigame it is it might just be our best
bet, as there is little interactivity with the map and most of what is happening
is in general already heavily scripted to fit the minigame&amp;rsquo;s rules.&lt;/p&gt;
&lt;p&gt;So the best bet as of right now for the target audience would be to replace
small Minecraft server&amp;rsquo;s instances and replace them with a highly modular
cubic-server which can then be modified to fit that specific&amp;rsquo;s minigame&amp;rsquo;s need.&lt;/p&gt;
&lt;h4 id=&#34;the-language&#34;&gt;&lt;a href=&#34;#the-language&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;The language
&lt;/h4&gt;&lt;p&gt;C++ is great&amp;hellip; until it isn&amp;rsquo;t. Let me explain more on this:&lt;/p&gt;
&lt;p&gt;C++ is basically just a superset of C, and the quantity of features is not
really a problem, the problem is which features are better than others, and when
to use them (This has been a long lasting problem in our team as not everyone
has the same skill level with the language and many PRs have been delayed again
and again because it was not exactly what we wanted at the time).&lt;/p&gt;
&lt;p&gt;C++ also has a compilation time problem, it will take forever to parse files or
to generate the bytecode the moment you use some templated library (Especially
boost omg), and if one character changes in one header file then you will have
to recompile all the cpp files that depended on that hpp (Try to change one
thing in Server.hpp and be ready to recompile the whole project).&lt;/p&gt;
&lt;p&gt;C++ headers make it really hard to do proper incremental compilation and are
just going to be in your way 90% of the time (Headers are also incredibly
frustrating as if you make a single mistake in one of them, not only are you
going to have to rebuild a good chunk of the project but you will also have to
understand whatever cryptic error the compiler through at you on the terminal).&lt;/p&gt;
&lt;h4 id=&#34;the-solution&#34;&gt;&lt;a href=&#34;#the-solution&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;The solution
&lt;/h4&gt;&lt;p&gt;Honestly&amp;hellip; A rewrite. Not in C++ for sure, but this project will need a
rewrite. When? Well&amp;hellip; you&amp;rsquo;ll see :p (It is already planned in time and we are
starting to have a roadmap for it which should be finished soon:tm:).&lt;/p&gt;
&lt;h2 id=&#34;afterwords&#34;&gt;&lt;a href=&#34;#afterwords&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Afterwords
&lt;/h2&gt;&lt;p&gt;2023 was clearly one of the most important year of my life and I hope things get
better from now on.&lt;/p&gt;
&lt;p&gt;I have most likely forgotten a lot of things in this blog post, but that will
only make me more eager to come back with more posts this time (Promise I will
actually try to write on here more than before :D).&lt;/p&gt;
</description>
        </item>
        <item>
        <title>About</title>
        <link>https://emneo.dev/about/</link>
        <pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate>
        
        <guid>https://emneo.dev/about/</guid>
        <description>&lt;h1 id=&#34;hi-there&#34;&gt;&lt;a href=&#34;#hi-there&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Hi there
&lt;/h1&gt;&lt;p&gt;I am emneo, a 22 years old FOSS enthusiast currently working at Epitech
Toulouse and I administrate this website.&lt;/p&gt;
&lt;p&gt;I speak French, English, and a tiny bit of Spanish (I am currently learning
Dutch but my knowledge currently stops at asking for a kapsalon at the local
döner).&lt;/p&gt;
&lt;p&gt;I am a big FOSS advocate and try to self host as much as possible while trying
to get away from big tech corporations. I am also the Lead Developer on
&lt;a class=&#34;link&#34; href=&#34;https://liskvork.org&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;liskvork&lt;/a&gt;, a modern cross-platform game server for
Gomoku (still faily early.)&lt;/p&gt;
&lt;p&gt;You can find me on the fediverse
(&lt;a class=&#34;link&#34; href=&#34;https://fosstodon.org/@emneo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;@emneo@fosstodon.org&lt;/a&gt;) and on discord (emneo).
You can also just send me an email (&lt;a class=&#34;link&#34; href=&#34;mailto:emneo@kreog.com&#34; &gt;emneo@kreog.com&lt;/a&gt;), which is genuinely the
better way to contact me.&lt;/p&gt;
&lt;p&gt;So, there you have it&amp;hellip; enjoy!&lt;/p&gt;
&lt;p&gt;じゃあね！&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://emneo.dev/img/Com_2.webp&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;pfp_oc&#34;
	
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Search</title>
        <link>https://emneo.dev/search/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://emneo.dev/search/</guid>
        <description></description>
        </item>
        
    </channel>
</rss>
