summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrique Marques <[email protected]>2024-09-24 07:17:39 +0100
committerHenrique Marques <[email protected]>2024-09-24 07:17:39 +0100
commitdceb3ee4424aaf7ec93a3d2fdb91a533f38a79a4 (patch)
treedce00c2f1fc4d273a5762938f444a55426962dec
parentda8d56b35f6532e526dea220e120278c15f688a9 (diff)
deploying why guix over nix
-rw-r--r--public/about/index.html12
-rw-r--r--public/categories/index.html12
-rw-r--r--public/categories/index.xml62
-rw-r--r--public/guix-wallpapers/index.html14
-rw-r--r--public/index.html12
-rw-r--r--public/index.xml62
-rw-r--r--public/internet-lurk-compilation/index.html14
-rw-r--r--public/lum/index.html14
-rw-r--r--public/monogatari/index.html14
-rw-r--r--public/nazare-beach/index.html14
-rw-r--r--public/sitemap.xml56
-rw-r--r--public/tags/archive/index.html12
-rw-r--r--public/tags/archive/index.xml62
-rw-r--r--public/tags/blogs/index.html12
-rw-r--r--public/tags/blogs/index.xml62
-rw-r--r--public/tags/guix/index.html12
-rw-r--r--public/tags/guix/index.xml62
-rw-r--r--public/tags/index.html12
-rw-r--r--public/tags/index.xml62
-rw-r--r--public/tags/linux/index.html12
-rw-r--r--public/tags/linux/index.xml62
-rw-r--r--public/tags/lurk/index.html12
-rw-r--r--public/tags/lurk/index.xml62
-rw-r--r--public/tags/nix/index.html12
-rw-r--r--public/tags/nix/index.xml62
-rw-r--r--public/tags/operating-system/index.html12
-rw-r--r--public/tags/operating-system/index.xml62
-rw-r--r--public/tags/personal/index.html12
-rw-r--r--public/tags/personal/index.xml62
-rw-r--r--public/tags/photo/index.html12
-rw-r--r--public/tags/photo/index.xml62
-rw-r--r--public/tags/portugal/index.html12
-rw-r--r--public/tags/portugal/index.xml62
-rw-r--r--public/tags/programming/index.html12
-rw-r--r--public/tags/programming/index.xml62
-rw-r--r--public/tags/projects/index.html12
-rw-r--r--public/tags/projects/index.xml62
-rw-r--r--public/tags/python/index.html12
-rw-r--r--public/tags/python/index.xml62
-rw-r--r--public/tags/ricing/index.html12
-rw-r--r--public/tags/ricing/index.xml62
-rw-r--r--public/tags/rust/index.html12
-rw-r--r--public/tags/rust/index.xml62
-rw-r--r--public/tags/travel/index.html12
-rw-r--r--public/tags/travel/index.xml62
-rw-r--r--public/tags/wallpaper/index.html12
-rw-r--r--public/tags/wallpaper/index.xml62
-rw-r--r--public/tags/windows/index.html12
-rw-r--r--public/tags/windows/index.xml62
-rw-r--r--public/why-i-chose-guix-over-nix/index.html14
50 files changed, 1042 insertions, 664 deletions
diff --git a/public/about/index.html b/public/about/index.html
index 0425eeb..cffe519 100644
--- a/public/about/index.html
+++ b/public/about/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>About | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -20,10 +20,10 @@ Today things are simpler for me. Just my Emacs config and that&rsquo;s it.">
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_About">About</h1></header>
diff --git a/public/categories/index.html b/public/categories/index.html
index 3e3c9d3..63e0cb7 100644
--- a/public/categories/index.html
+++ b/public/categories/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Categories | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Categories">Categories</h1></header>
diff --git a/public/categories/index.xml b/public/categories/index.xml
index 5472deb..4edfbef 100644
--- a/public/categories/index.xml
+++ b/public/categories/index.xml
@@ -1,40 +1,58 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/categories/</link>
+ <link>https://0xhenrique.neocities.org/categories/</link>
<description>Recent content in Categories on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
- <atom:link href="http://localhost:1313/categories/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/categories/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -52,10 +70,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -69,10 +87,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -114,10 +132,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -131,10 +149,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -175,10 +193,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/guix-wallpapers/index.html b/public/guix-wallpapers/index.html
index 72ca799..cf616fc 100644
--- a/public/guix-wallpapers/index.html
+++ b/public/guix-wallpapers/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Guix Wallpapers | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -25,10 +25,10 @@ I think it goes without saying that Suika is the perfect candidate to be the Gui
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Guix Wallpapers">Guix Wallpapers</h1></header>
@@ -52,7 +52,7 @@ Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p>
<a href="/nazare-beach/"><div id="prevart">Previous:<br>Nazare Beach</div></a>
<a href="/why-i-chose-guix-over-nix/"><div id="nextart">Next:<br>Why I Chose Guix Over Nix</div></a>
</div>
-<div style="clear:both" class=taglist>Related<br><a id="tag_guix" href="http://localhost:1313/tags/guix">Guix</a> &middot; <a id="tag_wallpaper" href="http://localhost:1313/tags/wallpaper">Wallpaper</a> &middot; <a id="tag_ricing" href="http://localhost:1313/tags/ricing">Ricing</a></div>
+<div style="clear:both" class=taglist>Related<br><a id="tag_guix" href="https://0xhenrique.neocities.org/tags/guix">Guix</a> &middot; <a id="tag_wallpaper" href="https://0xhenrique.neocities.org/tags/wallpaper">Wallpaper</a> &middot; <a id="tag_ricing" href="https://0xhenrique.neocities.org/tags/ricing">Ricing</a></div>
</article>
</main>
diff --git a/public/index.html b/public/index.html
index 9fc7d78..7cab4f6 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,9 +1,9 @@
<!DOCTYPE html>
<html lang="en">
<head>
- <meta name="generator" content="Hugo 0.134.3"><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+ <meta name="generator" content="Hugo 0.134.3">
<title>0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -14,10 +14,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_0xhenrique">0xhenrique</h1></header>
diff --git a/public/index.xml b/public/index.xml
index eb6b674..b58a30d 100644
--- a/public/index.xml
+++ b/public/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/</link>
+ <link>https://0xhenrique.neocities.org/</link>
<description>Recent content on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 23 Sep 2024 04:35:07 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/internet-lurk-compilation/index.html b/public/internet-lurk-compilation/index.html
index 0e5e140..c0b738e 100644
--- a/public/internet-lurk-compilation/index.html
+++ b/public/internet-lurk-compilation/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Internet Lurk Compilation #1 | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -47,10 +47,10 @@ If you find a broken link or a website that shares things that are clearly illeg
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Internet Lurk Compilation #1">Internet Lurk Compilation #1</h1></header>
@@ -97,7 +97,7 @@ If you find a broken link or a website that shares things that are clearly illeg
<a href="/about/"><div id="prevart">Previous:<br>About</div></a>
<a href="/lum/"><div id="nextart">Next:<br>Lum - Linux Ubiquitous Marker</div></a>
</div>
-<div style="clear:both" class=taglist>Related<br><a id="tag_archive" href="http://localhost:1313/tags/archive">Archive</a> &middot; <a id="tag_lurk" href="http://localhost:1313/tags/lurk">Lurk</a> &middot; <a id="tag_blogs" href="http://localhost:1313/tags/blogs">Blogs</a></div>
+<div style="clear:both" class=taglist>Related<br><a id="tag_archive" href="https://0xhenrique.neocities.org/tags/archive">Archive</a> &middot; <a id="tag_lurk" href="https://0xhenrique.neocities.org/tags/lurk">Lurk</a> &middot; <a id="tag_blogs" href="https://0xhenrique.neocities.org/tags/blogs">Blogs</a></div>
</article>
</main>
diff --git a/public/lum/index.html b/public/lum/index.html
index 3d633a7..4fe6b95 100644
--- a/public/lum/index.html
+++ b/public/lum/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Lum - Linux Ubiquitous Marker | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -18,10 +18,10 @@ I also wanted to have contact with Rust in practice. I have some things to say a
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Lum - Linux Ubiquitous Marker">Lum - Linux Ubiquitous Marker</h1></header>
@@ -41,7 +41,7 @@ I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsq
<a href="/internet-lurk-compilation/"><div id="prevart">Previous:<br>Internet Lurk Compilation #1</div></a>
<a href="/monogatari/"><div id="nextart">Next:<br>Monogatari - Text Editor in Python</div></a>
</div>
-<div style="clear:both" class=taglist>Related<br><a id="tag_projects" href="http://localhost:1313/tags/projects">Projects</a> &middot; <a id="tag_programming" href="http://localhost:1313/tags/programming">Programming</a> &middot; <a id="tag_rust" href="http://localhost:1313/tags/rust">Rust</a> &middot; <a id="tag_linux" href="http://localhost:1313/tags/linux">Linux</a></div>
+<div style="clear:both" class=taglist>Related<br><a id="tag_projects" href="https://0xhenrique.neocities.org/tags/projects">Projects</a> &middot; <a id="tag_programming" href="https://0xhenrique.neocities.org/tags/programming">Programming</a> &middot; <a id="tag_rust" href="https://0xhenrique.neocities.org/tags/rust">Rust</a> &middot; <a id="tag_linux" href="https://0xhenrique.neocities.org/tags/linux">Linux</a></div>
</article>
</main>
diff --git a/public/monogatari/index.html b/public/monogatari/index.html
index c596f8a..4a162be 100644
--- a/public/monogatari/index.html
+++ b/public/monogatari/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Monogatari - Text Editor in Python | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -43,10 +43,10 @@ You are now ready to start to code! Just do as always:">
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Monogatari - Text Editor in Python">Monogatari - Text Editor in Python</h1></header>
@@ -94,7 +94,7 @@ $ git push
<a href="/lum/"><div id="prevart">Previous:<br>Lum - Linux Ubiquitous Marker</div></a>
<a href="/nazare-beach/"><div id="nextart">Next:<br>Nazare Beach</div></a>
</div>
-<div style="clear:both" class=taglist>Related<br><a id="tag_projects" href="http://localhost:1313/tags/projects">Projects</a> &middot; <a id="tag_programming" href="http://localhost:1313/tags/programming">Programming</a> &middot; <a id="tag_python" href="http://localhost:1313/tags/python">Python</a> &middot; <a id="tag_linux" href="http://localhost:1313/tags/linux">Linux</a> &middot; <a id="tag_windows" href="http://localhost:1313/tags/windows">Windows</a></div>
+<div style="clear:both" class=taglist>Related<br><a id="tag_projects" href="https://0xhenrique.neocities.org/tags/projects">Projects</a> &middot; <a id="tag_programming" href="https://0xhenrique.neocities.org/tags/programming">Programming</a> &middot; <a id="tag_python" href="https://0xhenrique.neocities.org/tags/python">Python</a> &middot; <a id="tag_linux" href="https://0xhenrique.neocities.org/tags/linux">Linux</a> &middot; <a id="tag_windows" href="https://0xhenrique.neocities.org/tags/windows">Windows</a></div>
</article>
</main>
diff --git a/public/nazare-beach/index.html b/public/nazare-beach/index.html
index 17127fe..eccbea0 100644
--- a/public/nazare-beach/index.html
+++ b/public/nazare-beach/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Nazare Beach | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -17,10 +17,10 @@ According to Wikipedia, Nazaré is one of the most traditional Portuguese fishin
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Nazare Beach">Nazare Beach</h1></header>
@@ -40,7 +40,7 @@ Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of sm
<a href="/monogatari/"><div id="prevart">Previous:<br>Monogatari - Text Editor in Python</div></a>
<a href="/guix-wallpapers/"><div id="nextart">Next:<br>Guix Wallpapers</div></a>
</div>
-<div style="clear:both" class=taglist>Related<br><a id="tag_travel" href="http://localhost:1313/tags/travel">Travel</a> &middot; <a id="tag_photo" href="http://localhost:1313/tags/photo">Photo</a> &middot; <a id="tag_portugal" href="http://localhost:1313/tags/portugal">Portugal</a> &middot; <a id="tag_personal" href="http://localhost:1313/tags/personal">Personal</a></div>
+<div style="clear:both" class=taglist>Related<br><a id="tag_travel" href="https://0xhenrique.neocities.org/tags/travel">Travel</a> &middot; <a id="tag_photo" href="https://0xhenrique.neocities.org/tags/photo">Photo</a> &middot; <a id="tag_portugal" href="https://0xhenrique.neocities.org/tags/portugal">Portugal</a> &middot; <a id="tag_personal" href="https://0xhenrique.neocities.org/tags/personal">Personal</a></div>
</article>
</main>
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 408cd94..02c200c 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -2,87 +2,87 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
- <loc>http://localhost:1313/</loc>
+ <loc>https://0xhenrique.neocities.org/</loc>
<lastmod>2024-09-23T04:35:07+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/guix/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/guix/</loc>
<lastmod>2024-09-23T04:35:07+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/nix/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/nix/</loc>
<lastmod>2024-09-23T04:35:07+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/operating-system/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/operating-system/</loc>
<lastmod>2024-09-23T04:35:07+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/</loc>
<lastmod>2024-09-23T04:35:07+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/why-i-chose-guix-over-nix/</loc>
+ <loc>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</loc>
<lastmod>2024-09-23T04:35:07+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/guix-wallpapers/</loc>
+ <loc>https://0xhenrique.neocities.org/guix-wallpapers/</loc>
<lastmod>2024-09-20T20:37:15+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/ricing/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/ricing/</loc>
<lastmod>2024-09-20T20:37:15+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/wallpaper/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/wallpaper/</loc>
<lastmod>2024-09-20T20:37:15+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/nazare-beach/</loc>
+ <loc>https://0xhenrique.neocities.org/nazare-beach/</loc>
<lastmod>2024-08-17T07:44:45+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/personal/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/personal/</loc>
<lastmod>2024-08-17T07:44:45+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/photo/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/photo/</loc>
<lastmod>2024-08-17T07:44:45+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/portugal/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/portugal/</loc>
<lastmod>2024-08-17T07:44:45+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/travel/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/travel/</loc>
<lastmod>2024-08-17T07:44:45+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/linux/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/linux/</loc>
<lastmod>2024-08-17T07:44:33+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/monogatari/</loc>
+ <loc>https://0xhenrique.neocities.org/monogatari/</loc>
<lastmod>2024-08-17T07:44:33+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/programming/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/programming/</loc>
<lastmod>2024-08-17T07:44:33+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/projects/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/projects/</loc>
<lastmod>2024-08-17T07:44:33+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/python/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/python/</loc>
<lastmod>2024-08-17T07:44:33+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/windows/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/windows/</loc>
<lastmod>2024-08-17T07:44:33+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/lum/</loc>
+ <loc>https://0xhenrique.neocities.org/lum/</loc>
<lastmod>2024-08-17T07:44:26+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/rust/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/rust/</loc>
<lastmod>2024-08-17T07:44:26+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/archive/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/archive/</loc>
<lastmod>2024-08-17T07:44:17+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/blogs/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/blogs/</loc>
<lastmod>2024-08-17T07:44:17+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/internet-lurk-compilation/</loc>
+ <loc>https://0xhenrique.neocities.org/internet-lurk-compilation/</loc>
<lastmod>2024-08-17T07:44:17+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/tags/lurk/</loc>
+ <loc>https://0xhenrique.neocities.org/tags/lurk/</loc>
<lastmod>2024-08-17T07:44:17+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/about/</loc>
+ <loc>https://0xhenrique.neocities.org/about/</loc>
<lastmod>2024-08-17T07:42:34+01:00</lastmod>
</url><url>
- <loc>http://localhost:1313/categories/</loc>
+ <loc>https://0xhenrique.neocities.org/categories/</loc>
</url>
</urlset>
diff --git a/public/tags/archive/index.html b/public/tags/archive/index.html
index 2e3cd48..54fbd81 100644
--- a/public/tags/archive/index.html
+++ b/public/tags/archive/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Archive | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Archive">Archive</h1></header>
diff --git a/public/tags/archive/index.xml b/public/tags/archive/index.xml
index 289b8a4..6077e5f 100644
--- a/public/tags/archive/index.xml
+++ b/public/tags/archive/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/archive/</link>
+ <link>https://0xhenrique.neocities.org/tags/archive/</link>
<description>Recent content in Archive on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:17 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/archive/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/archive/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/blogs/index.html b/public/tags/blogs/index.html
index e521f14..02d334d 100644
--- a/public/tags/blogs/index.html
+++ b/public/tags/blogs/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Blogs | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Blogs">Blogs</h1></header>
diff --git a/public/tags/blogs/index.xml b/public/tags/blogs/index.xml
index 0fb5dfd..2a72a4c 100644
--- a/public/tags/blogs/index.xml
+++ b/public/tags/blogs/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/blogs/</link>
+ <link>https://0xhenrique.neocities.org/tags/blogs/</link>
<description>Recent content in Blogs on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:17 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/blogs/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/blogs/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/guix/index.html b/public/tags/guix/index.html
index 9770950..ab7ea69 100644
--- a/public/tags/guix/index.html
+++ b/public/tags/guix/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Guix | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Guix">Guix</h1></header>
diff --git a/public/tags/guix/index.xml b/public/tags/guix/index.xml
index 521a274..a667305 100644
--- a/public/tags/guix/index.xml
+++ b/public/tags/guix/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/guix/</link>
+ <link>https://0xhenrique.neocities.org/tags/guix/</link>
<description>Recent content in Guix on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 23 Sep 2024 04:35:07 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/guix/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/guix/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/index.html b/public/tags/index.html
index b3bb394..c12f6af 100644
--- a/public/tags/index.html
+++ b/public/tags/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Tags | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Tags">Tags</h1></header>
diff --git a/public/tags/index.xml b/public/tags/index.xml
index 26fd4d7..edbe529 100644
--- a/public/tags/index.xml
+++ b/public/tags/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/</link>
+ <link>https://0xhenrique.neocities.org/tags/</link>
<description>Recent content in Tags on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 23 Sep 2024 04:35:07 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/linux/index.html b/public/tags/linux/index.html
index 2de9639..b1daa7f 100644
--- a/public/tags/linux/index.html
+++ b/public/tags/linux/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Linux | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Linux">Linux</h1></header>
diff --git a/public/tags/linux/index.xml b/public/tags/linux/index.xml
index 13c1896..28f22cc 100644
--- a/public/tags/linux/index.xml
+++ b/public/tags/linux/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/linux/</link>
+ <link>https://0xhenrique.neocities.org/tags/linux/</link>
<description>Recent content in Linux on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:33 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/linux/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/linux/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/lurk/index.html b/public/tags/lurk/index.html
index 4c2baa4..c7bbe1b 100644
--- a/public/tags/lurk/index.html
+++ b/public/tags/lurk/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Lurk | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Lurk">Lurk</h1></header>
diff --git a/public/tags/lurk/index.xml b/public/tags/lurk/index.xml
index 507f7a6..b27d87b 100644
--- a/public/tags/lurk/index.xml
+++ b/public/tags/lurk/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/lurk/</link>
+ <link>https://0xhenrique.neocities.org/tags/lurk/</link>
<description>Recent content in Lurk on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:17 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/lurk/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/lurk/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/nix/index.html b/public/tags/nix/index.html
index 0df23b5..b256e70 100644
--- a/public/tags/nix/index.html
+++ b/public/tags/nix/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Nix | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Nix">Nix</h1></header>
diff --git a/public/tags/nix/index.xml b/public/tags/nix/index.xml
index aaa4e7b..c4549c9 100644
--- a/public/tags/nix/index.xml
+++ b/public/tags/nix/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/nix/</link>
+ <link>https://0xhenrique.neocities.org/tags/nix/</link>
<description>Recent content in Nix on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 23 Sep 2024 04:35:07 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/nix/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/nix/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/operating-system/index.html b/public/tags/operating-system/index.html
index 73828ac..896d300 100644
--- a/public/tags/operating-system/index.html
+++ b/public/tags/operating-system/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Operating-System | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Operating-System">Operating-System</h1></header>
diff --git a/public/tags/operating-system/index.xml b/public/tags/operating-system/index.xml
index eee9cd2..4aa75ef 100644
--- a/public/tags/operating-system/index.xml
+++ b/public/tags/operating-system/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/operating-system/</link>
+ <link>https://0xhenrique.neocities.org/tags/operating-system/</link>
<description>Recent content in Operating-System on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 23 Sep 2024 04:35:07 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/operating-system/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/operating-system/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/personal/index.html b/public/tags/personal/index.html
index 24569b8..235576d 100644
--- a/public/tags/personal/index.html
+++ b/public/tags/personal/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Personal | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Personal">Personal</h1></header>
diff --git a/public/tags/personal/index.xml b/public/tags/personal/index.xml
index f7b8341..ae06892 100644
--- a/public/tags/personal/index.xml
+++ b/public/tags/personal/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/personal/</link>
+ <link>https://0xhenrique.neocities.org/tags/personal/</link>
<description>Recent content in Personal on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:45 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/personal/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/personal/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/photo/index.html b/public/tags/photo/index.html
index 278e436..300a964 100644
--- a/public/tags/photo/index.html
+++ b/public/tags/photo/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Photo | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Photo">Photo</h1></header>
diff --git a/public/tags/photo/index.xml b/public/tags/photo/index.xml
index 51295be..d7d6079 100644
--- a/public/tags/photo/index.xml
+++ b/public/tags/photo/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/photo/</link>
+ <link>https://0xhenrique.neocities.org/tags/photo/</link>
<description>Recent content in Photo on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:45 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/photo/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/photo/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/portugal/index.html b/public/tags/portugal/index.html
index feed8a0..8b6524b 100644
--- a/public/tags/portugal/index.html
+++ b/public/tags/portugal/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Portugal | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Portugal">Portugal</h1></header>
diff --git a/public/tags/portugal/index.xml b/public/tags/portugal/index.xml
index 873bf8b..ee780a7 100644
--- a/public/tags/portugal/index.xml
+++ b/public/tags/portugal/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/portugal/</link>
+ <link>https://0xhenrique.neocities.org/tags/portugal/</link>
<description>Recent content in Portugal on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:45 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/portugal/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/portugal/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/programming/index.html b/public/tags/programming/index.html
index 8a0b9fa..974f12f 100644
--- a/public/tags/programming/index.html
+++ b/public/tags/programming/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Programming | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Programming">Programming</h1></header>
diff --git a/public/tags/programming/index.xml b/public/tags/programming/index.xml
index 5dfbb47..25c5c56 100644
--- a/public/tags/programming/index.xml
+++ b/public/tags/programming/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/programming/</link>
+ <link>https://0xhenrique.neocities.org/tags/programming/</link>
<description>Recent content in Programming on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:33 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/programming/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/programming/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/projects/index.html b/public/tags/projects/index.html
index 6ac47d1..257cac3 100644
--- a/public/tags/projects/index.html
+++ b/public/tags/projects/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Projects | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Projects">Projects</h1></header>
diff --git a/public/tags/projects/index.xml b/public/tags/projects/index.xml
index c2207f0..4d529cb 100644
--- a/public/tags/projects/index.xml
+++ b/public/tags/projects/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/projects/</link>
+ <link>https://0xhenrique.neocities.org/tags/projects/</link>
<description>Recent content in Projects on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:33 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/projects/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/projects/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/python/index.html b/public/tags/python/index.html
index e87ed43..654c4ab 100644
--- a/public/tags/python/index.html
+++ b/public/tags/python/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Python | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Python">Python</h1></header>
diff --git a/public/tags/python/index.xml b/public/tags/python/index.xml
index 1df9aea..d42b6d2 100644
--- a/public/tags/python/index.xml
+++ b/public/tags/python/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/python/</link>
+ <link>https://0xhenrique.neocities.org/tags/python/</link>
<description>Recent content in Python on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:33 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/python/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/python/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/ricing/index.html b/public/tags/ricing/index.html
index a739c50..db39784 100644
--- a/public/tags/ricing/index.html
+++ b/public/tags/ricing/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Ricing | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Ricing">Ricing</h1></header>
diff --git a/public/tags/ricing/index.xml b/public/tags/ricing/index.xml
index fc5a7ac..72c80bf 100644
--- a/public/tags/ricing/index.xml
+++ b/public/tags/ricing/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/ricing/</link>
+ <link>https://0xhenrique.neocities.org/tags/ricing/</link>
<description>Recent content in Ricing on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 20 Sep 2024 20:37:15 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/ricing/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/ricing/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/rust/index.html b/public/tags/rust/index.html
index 493d070..6755c49 100644
--- a/public/tags/rust/index.html
+++ b/public/tags/rust/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Rust | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Rust">Rust</h1></header>
diff --git a/public/tags/rust/index.xml b/public/tags/rust/index.xml
index e84fd2c..9dac3d8 100644
--- a/public/tags/rust/index.xml
+++ b/public/tags/rust/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/rust/</link>
+ <link>https://0xhenrique.neocities.org/tags/rust/</link>
<description>Recent content in Rust on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:26 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/rust/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/rust/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/travel/index.html b/public/tags/travel/index.html
index 43c95a8..d5ddb0a 100644
--- a/public/tags/travel/index.html
+++ b/public/tags/travel/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Travel | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Travel">Travel</h1></header>
diff --git a/public/tags/travel/index.xml b/public/tags/travel/index.xml
index 7cee70a..6ec9d24 100644
--- a/public/tags/travel/index.xml
+++ b/public/tags/travel/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/travel/</link>
+ <link>https://0xhenrique.neocities.org/tags/travel/</link>
<description>Recent content in Travel on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:45 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/travel/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/travel/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/wallpaper/index.html b/public/tags/wallpaper/index.html
index 5647643..21889d0 100644
--- a/public/tags/wallpaper/index.html
+++ b/public/tags/wallpaper/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Wallpaper | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Wallpaper">Wallpaper</h1></header>
diff --git a/public/tags/wallpaper/index.xml b/public/tags/wallpaper/index.xml
index ca2b4d8..685afb8 100644
--- a/public/tags/wallpaper/index.xml
+++ b/public/tags/wallpaper/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/wallpaper/</link>
+ <link>https://0xhenrique.neocities.org/tags/wallpaper/</link>
<description>Recent content in Wallpaper on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 20 Sep 2024 20:37:15 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/wallpaper/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/wallpaper/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/tags/windows/index.html b/public/tags/windows/index.html
index 501eaaf..02026da 100644
--- a/public/tags/windows/index.html
+++ b/public/tags/windows/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Windows | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -13,10 +13,10 @@
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Windows">Windows</h1></header>
diff --git a/public/tags/windows/index.xml b/public/tags/windows/index.xml
index 0b7b1a9..3f0e578 100644
--- a/public/tags/windows/index.xml
+++ b/public/tags/windows/index.xml
@@ -1,41 +1,59 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>0xhenrique</title>
- <link>http://localhost:1313/tags/windows/</link>
+ <link>https://0xhenrique.neocities.org/tags/windows/</link>
<description>Recent content in Windows on 0xhenrique</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 17 Aug 2024 07:44:33 +0100</lastBuildDate>
- <atom:link href="http://localhost:1313/tags/windows/index.xml" rel="self" type="application/rss+xml" />
+ <atom:link href="https://0xhenrique.neocities.org/tags/windows/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Chose Guix Over Nix</title>
- <link>http://localhost:1313/why-i-chose-guix-over-nix/</link>
+ <link>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</link>
<pubDate>Mon, 23 Sep 2024 04:35:07 +0100</pubDate>
- <guid>http://localhost:1313/why-i-chose-guix-over-nix/</guid>
+ <guid>https://0xhenrique.neocities.org/why-i-chose-guix-over-nix/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using NixOS for quite some time, but somehow I ended up with Guix. In this article I will try to write about the reasons why I don&amp;rsquo;t use Nix anymore.&lt;/p&gt;
&lt;h2 id=&#34;the-emacs--elisp--sicp--scheme-pipeline&#34;&gt;The Emacs &amp;gt; Elisp &amp;gt; SICP &amp;gt; Scheme pipeline&lt;/h2&gt;
-&lt;p&gt;I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ouSS2fe.png&#34; alt=&#34;SICP_2hu_version&#34;&gt;
+I honestly don&amp;rsquo;t remember the first time I heard about Emacs, but I remember the first time I tried to use it I got gatekept by the Elisp magecraft.
After that, I spent some days trying to learn some basic concepts of this ancient text editor. Thanks to &lt;a href=&#34;https://learnxinyminutes.com/docs/elisp/&#34;&gt;https://learnxinyminutes.com/docs/elisp/&lt;/a&gt; I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&amp;rsquo;t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn&amp;rsquo;t used to see through all the parenthesis.
At that time, I already knew about the &amp;lsquo;Structure and Interpretaion of Computer Programs&amp;rsquo; book, but didn&amp;rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:&lt;/p&gt;
-&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34; title=&#34;MIT Lecture on LISP&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/-J_xL4IGhJA/0.jpg&#34; alt=&#34;Lecture 1A: Overview and Introduction to Lisp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;Lecture 1A: Overview and Introduction to Lisp: &lt;a href=&#34;https://www.youtube.com/watch?v=-J_xL4IGhJA&#34;&gt;https://www.youtube.com/watch?v=-J_xL4IGhJA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was when I finally decided to read the SICP and, consequently, learn Scheme.&lt;/p&gt;
-&lt;h2 id=&#34;guix-uses-scheme&#34;&gt;Guix uses Scheme&lt;/h2&gt;
-&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation.
-For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:
-&lt;a href=&#34;https://i.imgur.com/9epJ4qs.png&#34;&gt;!Nix vs Guix&lt;/a&gt;&lt;/p&gt;
+&lt;h2 id=&#34;the-nix-language-and-documentation-sucks&#34;&gt;The Nix language and documentation sucks&lt;/h2&gt;
+&lt;p&gt;And that alone is huge win for Guix. Configuring Nix packages was a pain in the ass. Not because you need to set everything up from scratch (that&amp;rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&amp;rsquo;t help. It&amp;rsquo;s not a secret, everywhere you go on the internet you will find people complaining about how the Nix language is hard to grasp, but no because it is complex, just because it lacks proper documentation. You can&amp;rsquo;t be sure to find what you&amp;rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&amp;rsquo;re looking for.
+At the end of the day you spend more time guessing &amp;ldquo;where the information is&amp;rdquo; rather &amp;ldquo;how to do X&amp;rdquo;.
+For instance, here&amp;rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/9epJ4qs.png&#34; alt=&#34;Nix vs Guix&#34;&gt;&lt;/p&gt;
+&lt;p&gt;And no, I&amp;rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&amp;rsquo;s not really a problem. The thing is, which one is easier to read? Which one is easier to maintain? Which one is more elegant? Which one is more expressive about what it does?
+The Nix language was a mistake and I think it is the Achilles&amp;rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&amp;rsquo;t even know how the language works, most of the time tthey just copy and paste code that was already written by some Nix wizard and call it a day. But the moment you need to do something new you&amp;rsquo;re left in the lurch. But I have to admit, most of the Nix wizards are nice people and they will probably help you. The thing is, do you really want to depend so much on the community to get things done?&lt;/p&gt;
+&lt;p&gt;Guix solves that. It&amp;rsquo;s not like you need to learn a complex language to start with Guix, Scheme is relatively simple and most of the time the docs are everything you need to get up and running. Packaging a program for Guix isn&amp;rsquo;t hard, I plan to make another blog post to delve into that soon.&lt;/p&gt;
+&lt;h2 id=&#34;the-lisp-way-of-life&#34;&gt;The LISP way of life&lt;/h2&gt;
+&lt;p&gt;&lt;img src=&#34;https://imgs.xkcd.com/comics/lisp_cycles.png&#34; alt=&#34;Elegant weapons for a more&amp;hellip; civilized age&#34;&gt;&lt;/p&gt;
+&lt;p&gt;There are some reasons why some Emacs wizards stick to LISP: metaprogramming, macros, higher-order functions, recursion etc. Not only that, LISP is a crucial part of computer science history. It helps you understand why things are the way they are. It helps you understand mathematical concepts. It helps you understand functional programming. It helps you understand core concepts of programming, hence Scheme is used as the language for the SICP book.&lt;/p&gt;
+&lt;p&gt;And yes, Nix also supports abstractions, but Guix&amp;rsquo;s use of Scheme provides more powerful and general ways to define those abstractions.
+Since all the Guix configuration and packaging logic is expressed in Guile Scheme, you can deeply customise and program your system at at level.
+For instance, you can define custom operating system services, package definitions, or system configuration options entirely in Guile Scheme.
+You can&amp;rsquo;t really say the same for NixOS. The language itself is more limited to package definitions, which makes it harder to set system-level configurations. If you want to customise deeply at system-level you will probably need external scripting or some other configuration management tools.&lt;/p&gt;
+&lt;p&gt;Scheme has a long history in theoretical computer science and has been used for decades in academic research and programming language design. Using Scheme to configure your system basically gives your superpowers, it&amp;rsquo;s pretty much like standing on the shoulders of giants.
+To be honest I don&amp;rsquo;t see a point in learning such a complex language as Nix just to define packages. Scheme gives you so much potential for broader use cases other than package definitions. System configuration, scripting, automation, general programming, you name it. Even if you don&amp;rsquo;t plan to write packages for Guix you still can use Scheme for lots of other tasks, specially if your using the Guix operating system.&lt;/p&gt;
+&lt;h2 id=&#34;guix-is-free-as-in-freedom&#34;&gt;Guix is Free (as in Freedom)&lt;/h2&gt;
+&lt;p&gt;Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.&lt;/p&gt;
+&lt;p&gt;Yes, I do use some proprietary software, but that&amp;rsquo;s something I want to change. I would say that the only reason I still use the Linux kernel is because of the lack of free bluetooth drivers for my laptop. That&amp;rsquo;s something I also want to change. I made a mistake buying a bluetooth headphone, specially because I already knew that there were no free bluetooth drivers for me. I hope to abandon Linux and its proprietary binaries as soon as possible. Software freedom might be hard to achieve, but freedom in general isn&amp;rsquo;t easy to achieve.&lt;/p&gt;
+&lt;p&gt;&lt;img src=&#34;https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1&#34; alt=&#34;RMS_aboslutely_proprietary&#34;&gt;&lt;/p&gt;
</description>
</item>
<item>
<title>Guix Wallpapers</title>
- <link>http://localhost:1313/guix-wallpapers/</link>
+ <link>https://0xhenrique.neocities.org/guix-wallpapers/</link>
<pubDate>Fri, 20 Sep 2024 20:37:15 +0100</pubDate>
- <guid>http://localhost:1313/guix-wallpapers/</guid>
+ <guid>https://0xhenrique.neocities.org/guix-wallpapers/</guid>
<description>&lt;p&gt;I&amp;rsquo;ve been using Guix for quite some time now. It&amp;rsquo;s been a great experience so far!
Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;/p&gt;
&lt;p&gt;I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .&lt;/p&gt;
@@ -53,10 +71,10 @@ Here are some wallpapers I&amp;rsquo;ve been collecting for my Guix desktop.&lt;
<item>
<title>Nazare Beach</title>
- <link>http://localhost:1313/nazare-beach/</link>
+ <link>https://0xhenrique.neocities.org/nazare-beach/</link>
<pubDate>Sat, 17 Aug 2024 07:44:45 +0100</pubDate>
- <guid>http://localhost:1313/nazare-beach/</guid>
+ <guid>https://0xhenrique.neocities.org/nazare-beach/</guid>
<description>&lt;p&gt;I visited Nazaré Beach last year (2023). Such a lovely place.
Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&amp;rsquo;t let the opportunity pass. Here are some photos I took that day.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://i.imgur.com/ATjnpyl.jpeg&#34; alt=&#34;1st photo&#34;&gt;&lt;/p&gt;
@@ -70,10 +88,10 @@ Shame on me for not taking my camera with me that day. I&amp;rsquo;m not a fan o
<item>
<title>Monogatari - Text Editor in Python</title>
- <link>http://localhost:1313/monogatari/</link>
+ <link>https://0xhenrique.neocities.org/monogatari/</link>
<pubDate>Sat, 17 Aug 2024 07:44:33 +0100</pubDate>
- <guid>http://localhost:1313/monogatari/</guid>
+ <guid>https://0xhenrique.neocities.org/monogatari/</guid>
<description>&lt;h1 id=&#34;monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari&#34;&gt;&lt;a href=&#34;https://github.com/henrique-marques-vsoft/monogatari&#34;&gt;MONOGATARI - Text Editor&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif&#34; alt=&#34;monogatari-movie scene shinobu kokorowatari&#34;&gt;&lt;/p&gt;
&lt;p&gt;Monogatari is a text editor built with Python using the Tkinter GUI library.&lt;/p&gt;
@@ -115,10 +133,10 @@ $ git push
<item>
<title>Lum - Linux Ubiquitous Marker</title>
- <link>http://localhost:1313/lum/</link>
+ <link>https://0xhenrique.neocities.org/lum/</link>
<pubDate>Sat, 17 Aug 2024 07:44:26 +0100</pubDate>
- <guid>http://localhost:1313/lum/</guid>
+ <guid>https://0xhenrique.neocities.org/lum/</guid>
<description>&lt;p&gt;Link: &lt;a href=&#34;https://github.com/henrique-marques-vsoft/lum&#34;&gt;https://github.com/henrique-marques-vsoft/lum&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lum is a project I started as a way to escape the feeling of being tied to the web-browser when it comes to bookmarks.
The objective is relatively simple, to have access to my bookmarks outside of the browser. This way I could call my bookmarks from anywhere on the computer, whether from Vim, Emacs, the browser itself, the window manager or wherever.
@@ -132,10 +150,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>Internet Lurk Compilation #1</title>
- <link>http://localhost:1313/internet-lurk-compilation/</link>
+ <link>https://0xhenrique.neocities.org/internet-lurk-compilation/</link>
<pubDate>Sat, 17 Aug 2024 07:44:17 +0100</pubDate>
- <guid>http://localhost:1313/internet-lurk-compilation/</guid>
+ <guid>https://0xhenrique.neocities.org/internet-lurk-compilation/</guid>
<description>&lt;h2 id=&#34;general-findings&#34;&gt;General Findings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Pure gold from the 90s: &lt;a href=&#34;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&#34;&gt;https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation&lt;/a&gt;&lt;/li&gt;
@@ -176,10 +194,10 @@ I don&amp;rsquo;t think parsing 12 thousand objects in JSON is efficient, but it
<item>
<title>About</title>
- <link>http://localhost:1313/about/</link>
+ <link>https://0xhenrique.neocities.org/about/</link>
<pubDate>Sat, 17 Aug 2024 07:42:34 +0100</pubDate>
- <guid>http://localhost:1313/about/</guid>
+ <guid>https://0xhenrique.neocities.org/about/</guid>
<description>&lt;h1 id=&#34;whois&#34;&gt;whois&lt;/h1&gt;
&lt;p&gt;Hello there! You can call me Henrique.
The main purpose of this website is to share some interesting things I find on the world wide web and the projects of mine.
diff --git a/public/why-i-chose-guix-over-nix/index.html b/public/why-i-chose-guix-over-nix/index.html
index 20ea0a4..1e38369 100644
--- a/public/why-i-chose-guix-over-nix/index.html
+++ b/public/why-i-chose-guix-over-nix/index.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html lang="en">
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
+<head>
<title>Why I Chose Guix Over Nix | 0xhenrique</title>
- <link rel="canonical" href="http://localhost:1313/">
+ <link rel="canonical" href="https://0xhenrique.neocities.org/">
<link rel='alternate' type='application/rss+xml' title="0xhenrique RSS" href='/index.xml'>
<link rel='stylesheet' type='text/css' href='/style.css'>
<link rel="icon" href="/favicon.ico">
@@ -19,10 +19,10 @@ At that time, I already knew about the &lsquo;Structure and Interpretaion of Com
</head>
<body>
<ul class="menu-list">
-<li class="menu-item"><a href="http://localhost:1313/">λ</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags/projects">Projects</a></li>
-<li class="menu-item"><a href="http://localhost:1313//tags">Tags</a></li>
-<li class="menu-item" style="float:right"><a href="http://localhost:1313//about">About</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org/">λ</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags/projects">Projects</a></li>
+<li class="menu-item"><a href="https://0xhenrique.neocities.org//tags">Tags</a></li>
+<li class="menu-item" style="float:right"><a href="https://0xhenrique.neocities.org//about">About</a></li>
</ul>
<main>
<header><h1 id="tag_Why I Chose Guix Over Nix">Why I Chose Guix Over Nix</h1></header>
@@ -62,7 +62,7 @@ To be honest I don&rsquo;t see a point in learning such a complex language as Ni
<div id="nextprev">
<a href="/guix-wallpapers/"><div id="prevart">Previous:<br>Guix Wallpapers</div></a>
</div>
-<div style="clear:both" class=taglist>Related<br><a id="tag_guix" href="http://localhost:1313/tags/guix">Guix</a> &middot; <a id="tag_nix" href="http://localhost:1313/tags/nix">Nix</a> &middot; <a id="tag_operating-system" href="http://localhost:1313/tags/operating-system">Operating-System</a></div>
+<div style="clear:both" class=taglist>Related<br><a id="tag_guix" href="https://0xhenrique.neocities.org/tags/guix">Guix</a> &middot; <a id="tag_nix" href="https://0xhenrique.neocities.org/tags/nix">Nix</a> &middot; <a id="tag_operating-system" href="https://0xhenrique.neocities.org/tags/operating-system">Operating-System</a></div>
</article>
</main>