From ff8c550a58233cd0920e8e829471a37b32142caf Mon Sep 17 00:00:00 2001 From: 0xhenrique Date: Sun, 19 Jan 2025 13:30:02 +0000 Subject: delete public directory --- public/about/index.html | 76 -------- public/categories/index.html | 35 ---- public/categories/index.xml | 236 ----------------------- public/favicon.ico | Bin 10863 -> 0 bytes public/favicon.png | Bin 10863 -> 0 bytes public/guix-wallpapers/index.html | 63 ------- public/index.html | 57 ------ public/index.xml | 237 ------------------------ public/internet-lurk-compilation/index.html | 108 ----------- public/lum/index.html | 52 ------ public/monogatari/index.html | 105 ----------- public/nazare-beach/index.html | 51 ----- public/rss.svg | 1 - public/sitemap.xml | 88 --------- public/style.css | 95 ---------- public/style.css~ | 45 ----- public/tags/archive/index.html | 38 ---- public/tags/archive/index.xml | 237 ------------------------ public/tags/blogs/index.html | 38 ---- public/tags/blogs/index.xml | 237 ------------------------ public/tags/guix/index.html | 41 ---- public/tags/guix/index.xml | 237 ------------------------ public/tags/index.html | 89 --------- public/tags/index.xml | 237 ------------------------ public/tags/linux/index.html | 41 ---- public/tags/linux/index.xml | 237 ------------------------ public/tags/lurk/index.html | 38 ---- public/tags/lurk/index.xml | 237 ------------------------ public/tags/nix/index.html | 38 ---- public/tags/nix/index.xml | 237 ------------------------ public/tags/operating-system/index.html | 38 ---- public/tags/operating-system/index.xml | 237 ------------------------ public/tags/personal/index.html | 38 ---- public/tags/personal/index.xml | 237 ------------------------ public/tags/photo/index.html | 38 ---- public/tags/photo/index.xml | 237 ------------------------ public/tags/portugal/index.html | 38 ---- public/tags/portugal/index.xml | 237 ------------------------ public/tags/programming/index.html | 41 ---- public/tags/programming/index.xml | 237 ------------------------ public/tags/projects/index.html | 41 ---- public/tags/projects/index.xml | 237 ------------------------ public/tags/python/index.html | 38 ---- public/tags/python/index.xml | 237 ------------------------ public/tags/ricing/index.html | 38 ---- public/tags/ricing/index.xml | 237 ------------------------ public/tags/rust/index.html | 38 ---- public/tags/rust/index.xml | 237 ------------------------ public/tags/travel/index.html | 38 ---- public/tags/travel/index.xml | 237 ------------------------ public/tags/wallpaper/index.html | 38 ---- public/tags/wallpaper/index.xml | 237 ------------------------ public/tags/windows/index.html | 38 ---- public/tags/windows/index.xml | 237 ------------------------ public/why-i-chose-guix-over-nix/index.html | 73 -------- public/why-the-hell-do-we-still-work/index.html | 50 ----- 56 files changed, 6660 deletions(-) delete mode 100644 public/about/index.html delete mode 100644 public/categories/index.html delete mode 100644 public/categories/index.xml delete mode 100644 public/favicon.ico delete mode 100644 public/favicon.png delete mode 100644 public/guix-wallpapers/index.html delete mode 100644 public/index.html delete mode 100644 public/index.xml delete mode 100644 public/internet-lurk-compilation/index.html delete mode 100644 public/lum/index.html delete mode 100644 public/monogatari/index.html delete mode 100644 public/nazare-beach/index.html delete mode 100644 public/rss.svg delete mode 100644 public/sitemap.xml delete mode 100644 public/style.css delete mode 100644 public/style.css~ delete mode 100644 public/tags/archive/index.html delete mode 100644 public/tags/archive/index.xml delete mode 100644 public/tags/blogs/index.html delete mode 100644 public/tags/blogs/index.xml delete mode 100644 public/tags/guix/index.html delete mode 100644 public/tags/guix/index.xml delete mode 100644 public/tags/index.html delete mode 100644 public/tags/index.xml delete mode 100644 public/tags/linux/index.html delete mode 100644 public/tags/linux/index.xml delete mode 100644 public/tags/lurk/index.html delete mode 100644 public/tags/lurk/index.xml delete mode 100644 public/tags/nix/index.html delete mode 100644 public/tags/nix/index.xml delete mode 100644 public/tags/operating-system/index.html delete mode 100644 public/tags/operating-system/index.xml delete mode 100644 public/tags/personal/index.html delete mode 100644 public/tags/personal/index.xml delete mode 100644 public/tags/photo/index.html delete mode 100644 public/tags/photo/index.xml delete mode 100644 public/tags/portugal/index.html delete mode 100644 public/tags/portugal/index.xml delete mode 100644 public/tags/programming/index.html delete mode 100644 public/tags/programming/index.xml delete mode 100644 public/tags/projects/index.html delete mode 100644 public/tags/projects/index.xml delete mode 100644 public/tags/python/index.html delete mode 100644 public/tags/python/index.xml delete mode 100644 public/tags/ricing/index.html delete mode 100644 public/tags/ricing/index.xml delete mode 100644 public/tags/rust/index.html delete mode 100644 public/tags/rust/index.xml delete mode 100644 public/tags/travel/index.html delete mode 100644 public/tags/travel/index.xml delete mode 100644 public/tags/wallpaper/index.html delete mode 100644 public/tags/wallpaper/index.xml delete mode 100644 public/tags/windows/index.html delete mode 100644 public/tags/windows/index.xml delete mode 100644 public/why-i-chose-guix-over-nix/index.html delete mode 100644 public/why-the-hell-do-we-still-work/index.html diff --git a/public/about/index.html b/public/about/index.html deleted file mode 100644 index 0425eeb..0000000 --- a/public/about/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - About | 0xhenrique - - - - - - - - - - - -
-

About

-
- -

whois

-

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. -Some of the stuff I work on Github.

-

My setup

-

Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don’t really rice my computer. -I’ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that’s it.

-

Here are some of my configs:

-
    -
  • Laptop: Thinkpad T480
  • -
  • OS: GNU Guix
  • -
  • Shell: bash
  • -
  • Resolution: 1920x1080 (1 monitor is enough for me)
  • -
  • WM: EXWM
  • -
  • Terminal: eshell/vterm/kitty
  • -
  • CPU: Intel i5-8350U (8) @ 3.600GHz
  • -
  • GPU: 😕
  • -
  • RAM: 24Gb
  • -
  • Text editor: Emacs (29)
  • -
-

Keyboards

-

The Charybdis by Bastard Keyboards

- -

Right now I’m using the Charybdis. It simply feels “correct” to type with it.
-The only drawback from this keyboard is the price, but I don’t think you will find a dactyl for a cheap price.
-As far as I know, there’s no company mass producing that type of keyboard.
-But at the end I think it’s worth it, at least for me it is.

-

The Sofle V1 by Mechboards UK

- -

The other one I have (although don’t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a low profile keyboard. It’s not so expansive as the Charybdis.

- - - - -
-
- - - - - diff --git a/public/categories/index.html b/public/categories/index.html deleted file mode 100644 index 3e3c9d3..0000000 --- a/public/categories/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - Categories | 0xhenrique - - - - - - - - - - - -
-

Categories

-
- -
    -
- -
-
- - - - - diff --git a/public/categories/index.xml b/public/categories/index.xml deleted file mode 100644 index 35ff1bc..0000000 --- a/public/categories/index.xml +++ /dev/null @@ -1,236 +0,0 @@ - - - 0xhenrique - http://localhost:1313/categories/ - Recent content in Categories on 0xhenrique - Hugo -- gohugo.io - en-us - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index f6960d7..0000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/favicon.png b/public/favicon.png deleted file mode 100644 index f6960d7..0000000 Binary files a/public/favicon.png and /dev/null differ diff --git a/public/guix-wallpapers/index.html b/public/guix-wallpapers/index.html deleted file mode 100644 index 72ca799..0000000 --- a/public/guix-wallpapers/index.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - Guix Wallpapers | 0xhenrique - - - - - - - - - - - - -
-

Guix Wallpapers

-
- -

I’ve been using Guix for quite some time now. It’s been a great experience so far! -Here are some wallpapers I’ve been collecting for my Guix desktop.

-

I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .

-

1st pape -2st pape -3st pape -4st pape -5st pape -6st pape -7st pape -8st pape -9st pape

- - - -
Related
Guix · Wallpaper · Ricing
-
-
- - - - - diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 9fc7d78..0000000 --- a/public/index.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - 0xhenrique - - - - - - - - - - - -
-

0xhenrique

- -
- - - - - diff --git a/public/index.xml b/public/index.xml deleted file mode 100644 index 707ef65..0000000 --- a/public/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/ - Recent content on 0xhenrique - Hugo -- gohugo.io - en-us - Tue, 24 Sep 2024 09:42:04 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/internet-lurk-compilation/index.html b/public/internet-lurk-compilation/index.html deleted file mode 100644 index 0e5e140..0000000 --- a/public/internet-lurk-compilation/index.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - Internet Lurk Compilation #1 | 0xhenrique - - - - - - - - - - - - -
-

Internet Lurk Compilation #1

-
- -

General Findings

- -

Neocities

- -

Internet Archive Findings

- -

Websites I visit from time to time

- -

If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: hm2030master@proton.me.

-

Also, if you don’t want me to list your website here, feel free to contact me via email so I can remove it.

- - - -
Related
Archive · Lurk · Blogs
-
-
- - - - - diff --git a/public/lum/index.html b/public/lum/index.html deleted file mode 100644 index 3d633a7..0000000 --- a/public/lum/index.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - Lum - Linux Ubiquitous Marker | 0xhenrique - - - - - - - - - - - - -
-

Lum - Linux Ubiquitous Marker

-
- -

Link: https://github.com/henrique-marques-vsoft/lum

-

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. -I’m still not sure if I’m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.

-

For now, I’m using JSON to save the bookmarks, but to be honest I don’t know if I’ll keep this format until the end. -I’m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don’t think parsing 12 thousand objects in JSON is efficient, but it’s something I still need to test in practice.

- - - -
Related
Projects · Programming · Rust · Linux
-
-
- - - - - diff --git a/public/monogatari/index.html b/public/monogatari/index.html deleted file mode 100644 index c596f8a..0000000 --- a/public/monogatari/index.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - Monogatari - Text Editor in Python | 0xhenrique - - - - - - - - - - - - -
-

Monogatari - Text Editor in Python

-
- -

MONOGATARI - Text Editor

-

monogatari-movie scene shinobu kokorowatari

-

Monogatari is a text editor built with Python using the Tkinter GUI library.

-

Installation and usage

-

Assuming you already have Python installed in your machine:

-
git clone git@github.com:all123all/monogatari.git
-cd monogatari
-python monogatari.py
-

If you’re using Linux you probably will need to install tk manually:

-
//Arch based distros
-$ sudo pacman -S tk
-//For Ubuntu
-$ sudo apt-get install tk
-

Goals

-
    -
  • Basic text editor functionalities (create file, open file, exit etc.)
  • -
  • Black background and a colorpicker option to choose another color
  • -
  • Test routine for the basic functionalities
  • -
  • Release a package
  • -
  • The close function is being called even when the file isn’t modified
  • -
-

Contribute to MONOGATARI - Text Editor

-
    -
  • Click the fork button on top right
  • -
  • Git clone your fork
  • -
  • Connect with my repo:
  • -
-
$ git remote add all123all git://github.com/all123all/monogatari
-$ git remote -v
-

You are now ready to start to code! Just do as always:

-
$ git add .
-$ git commit -m "fix: something that was fixed"
-$ git push
-

Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select New pull request button to do so.

-

Screenshots

-

monogatari on i3wm screenshot

- - - - -
-
- - - - - diff --git a/public/nazare-beach/index.html b/public/nazare-beach/index.html deleted file mode 100644 index 17127fe..0000000 --- a/public/nazare-beach/index.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - Nazare Beach | 0xhenrique - - - - - - - - - - - - -
-

Nazare Beach

-
- -

I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I’m not a fan of smartphone cameras to be honest. Still, I couldn’t let the opportunity pass. Here are some photos I took that day.

-

1st photo

-

According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.

-

2nd photo

-

I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.

-

3rd photo -4th photo

- - - -
Related
Travel · Photo · Portugal · Personal
-
-
- - - - - diff --git a/public/rss.svg b/public/rss.svg deleted file mode 100644 index dfda038..0000000 --- a/public/rss.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/sitemap.xml b/public/sitemap.xml deleted file mode 100644 index 88537cc..0000000 --- a/public/sitemap.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - http://localhost:1313/ - 2024-09-24T09:42:04+01:00 - - http://localhost:1313/tags/guix/ - 2024-09-23T04:35:07+01:00 - - http://localhost:1313/tags/nix/ - 2024-09-23T04:35:07+01:00 - - http://localhost:1313/tags/operating-system/ - 2024-09-23T04:35:07+01:00 - - http://localhost:1313/tags/ - 2024-09-23T04:35:07+01:00 - - http://localhost:1313/why-i-chose-guix-over-nix/ - 2024-09-23T04:35:07+01:00 - - http://localhost:1313/guix-wallpapers/ - 2024-09-20T20:37:15+01:00 - - http://localhost:1313/tags/ricing/ - 2024-09-20T20:37:15+01:00 - - http://localhost:1313/tags/wallpaper/ - 2024-09-20T20:37:15+01:00 - - http://localhost:1313/nazare-beach/ - 2024-08-17T07:44:45+01:00 - - http://localhost:1313/tags/personal/ - 2024-08-17T07:44:45+01:00 - - http://localhost:1313/tags/photo/ - 2024-08-17T07:44:45+01:00 - - http://localhost:1313/tags/portugal/ - 2024-08-17T07:44:45+01:00 - - http://localhost:1313/tags/travel/ - 2024-08-17T07:44:45+01:00 - - http://localhost:1313/tags/linux/ - 2024-08-17T07:44:33+01:00 - - http://localhost:1313/monogatari/ - 2024-08-17T07:44:33+01:00 - - http://localhost:1313/tags/programming/ - 2024-08-17T07:44:33+01:00 - - http://localhost:1313/tags/projects/ - 2024-08-17T07:44:33+01:00 - - http://localhost:1313/tags/python/ - 2024-08-17T07:44:33+01:00 - - http://localhost:1313/tags/windows/ - 2024-08-17T07:44:33+01:00 - - http://localhost:1313/lum/ - 2024-08-17T07:44:26+01:00 - - http://localhost:1313/tags/rust/ - 2024-08-17T07:44:26+01:00 - - http://localhost:1313/tags/archive/ - 2024-08-17T07:44:17+01:00 - - http://localhost:1313/tags/blogs/ - 2024-08-17T07:44:17+01:00 - - http://localhost:1313/internet-lurk-compilation/ - 2024-08-17T07:44:17+01:00 - - http://localhost:1313/tags/lurk/ - 2024-08-17T07:44:17+01:00 - - http://localhost:1313/about/ - 2024-08-17T07:42:34+01:00 - - http://localhost:1313/categories/ - - diff --git a/public/style.css b/public/style.css deleted file mode 100644 index 7e9d019..0000000 --- a/public/style.css +++ /dev/null @@ -1,95 +0,0 @@ -body { - font-family: sans-serif ; - background: #282828 ; - color: #fbf0c9; -} - -a { - color: #fe8019; -} - -main { - max-width: 800px ; - margin: auto ; -} - -img { - max-width: 100% ; -} - -time { - color: #c2c2c2; - font-size: 12px; -} - -header h1 { - text-align: center ; -} - -footer { - /* display: flex; */ - /* flex-direction: row; */ - /* align-items: center; */ - /* align-content: center; */ - text-align: center ; - clear: both ; -} - -.menu-list { - list-style-type: none; - margin: 0; - padding: 0; - overflow: hidden; -} - -.menu-item { - float: left; - margin: 0 5px; -} - -.menu-item a { - display: block; - color: white; - text-align: center; - padding: 14px 16px; - text-decoration: none; - border-width: 1px; - border-bottom-width: 1px; - border-color: #282828; - border-bottom-color: white; - border-style: solid; - transition-delay: 200ms; - -moz-transition: all 200ms ease-in; - -webkit-transition: all 200ms ease-in; - -o-transition: all 200ms ease-in; - transition: all 200ms ease-in; -} - -.menu-item a:hover { - background-color: #333; - border-width: 1px 1px 1px 1px; - border-color: white; - border-style: solid; -} - -/* For TAGLIST.HTML */ -.taglist { - text-align: center ; - clear: both ; -} - -/* For NEXTPREV.HTML */ -#nextprev { - /* The container for both the previous and next articles. */ -} -#prevart { - float: left ; - text-align: left ; -} -#nextart { - float: right ; - text-align: right ; -} -#nextart,#prevart { - max-width: 33% ; -} diff --git a/public/style.css~ b/public/style.css~ deleted file mode 100644 index d3b2088..0000000 --- a/public/style.css~ +++ /dev/null @@ -1,45 +0,0 @@ -body { - font-family: sans-serif ; - background: #110000 ; - color: #ccc ; -} - -main { - max-width: 800px ; - margin: auto ; -} - -img { - max-width: 100% ; -} - -header h1 { - text-align: center ; -} - -footer { - text-align: center ; - clear: both ; -} - -/* For TAGLIST.HTML */ -.taglist { - text-align: center ; - clear: both ; -} - -/* For NEXTPREV.HTML */ -#nextprev { - /* The container for both the previous and next articles. */ -} -#prevart { - float: left ; - text-align: left ; -} -#nextart { - float: right ; - text-align: right ; -} -#nextart,#prevart { - max-width: 33% ; -} diff --git a/public/tags/archive/index.html b/public/tags/archive/index.html deleted file mode 100644 index 2e3cd48..0000000 --- a/public/tags/archive/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Archive | 0xhenrique - - - - - - - - - - - -
-

Archive

- -
- - - - - diff --git a/public/tags/archive/index.xml b/public/tags/archive/index.xml deleted file mode 100644 index 2f1693b..0000000 --- a/public/tags/archive/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/archive/ - Recent content in Archive on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:17 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/blogs/index.html b/public/tags/blogs/index.html deleted file mode 100644 index e521f14..0000000 --- a/public/tags/blogs/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Blogs | 0xhenrique - - - - - - - - - - - -
-

Blogs

- -
- - - - - diff --git a/public/tags/blogs/index.xml b/public/tags/blogs/index.xml deleted file mode 100644 index 515a9e7..0000000 --- a/public/tags/blogs/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/blogs/ - Recent content in Blogs on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:17 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/guix/index.html b/public/tags/guix/index.html deleted file mode 100644 index 9770950..0000000 --- a/public/tags/guix/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - Guix | 0xhenrique - - - - - - - - - - - -
-

Guix

- -
- - - - - diff --git a/public/tags/guix/index.xml b/public/tags/guix/index.xml deleted file mode 100644 index 9e06895..0000000 --- a/public/tags/guix/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/guix/ - Recent content in Guix on 0xhenrique - Hugo -- gohugo.io - en-us - Mon, 23 Sep 2024 04:35:07 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/index.html b/public/tags/index.html deleted file mode 100644 index b3bb394..0000000 --- a/public/tags/index.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - Tags | 0xhenrique - - - - - - - - - - - -
-

Tags

-
- - - -
-
- - - - - diff --git a/public/tags/index.xml b/public/tags/index.xml deleted file mode 100644 index dab08b7..0000000 --- a/public/tags/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/ - Recent content in Tags on 0xhenrique - Hugo -- gohugo.io - en-us - Mon, 23 Sep 2024 04:35:07 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/linux/index.html b/public/tags/linux/index.html deleted file mode 100644 index 2de9639..0000000 --- a/public/tags/linux/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - Linux | 0xhenrique - - - - - - - - - - - -
-

Linux

- -
- - - - - diff --git a/public/tags/linux/index.xml b/public/tags/linux/index.xml deleted file mode 100644 index 08a7bb2..0000000 --- a/public/tags/linux/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/linux/ - Recent content in Linux on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:33 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/lurk/index.html b/public/tags/lurk/index.html deleted file mode 100644 index 4c2baa4..0000000 --- a/public/tags/lurk/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Lurk | 0xhenrique - - - - - - - - - - - -
-

Lurk

- -
- - - - - diff --git a/public/tags/lurk/index.xml b/public/tags/lurk/index.xml deleted file mode 100644 index 01ef7c1..0000000 --- a/public/tags/lurk/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/lurk/ - Recent content in Lurk on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:17 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/nix/index.html b/public/tags/nix/index.html deleted file mode 100644 index 0df23b5..0000000 --- a/public/tags/nix/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Nix | 0xhenrique - - - - - - - - - - - -
-

Nix

- -
- - - - - diff --git a/public/tags/nix/index.xml b/public/tags/nix/index.xml deleted file mode 100644 index 61e13ec..0000000 --- a/public/tags/nix/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/nix/ - Recent content in Nix on 0xhenrique - Hugo -- gohugo.io - en-us - Mon, 23 Sep 2024 04:35:07 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/operating-system/index.html b/public/tags/operating-system/index.html deleted file mode 100644 index 73828ac..0000000 --- a/public/tags/operating-system/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Operating-System | 0xhenrique - - - - - - - - - - - -
-

Operating-System

- -
- - - - - diff --git a/public/tags/operating-system/index.xml b/public/tags/operating-system/index.xml deleted file mode 100644 index 97e2b7d..0000000 --- a/public/tags/operating-system/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/operating-system/ - Recent content in Operating-System on 0xhenrique - Hugo -- gohugo.io - en-us - Mon, 23 Sep 2024 04:35:07 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/personal/index.html b/public/tags/personal/index.html deleted file mode 100644 index 24569b8..0000000 --- a/public/tags/personal/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Personal | 0xhenrique - - - - - - - - - - - -
-

Personal

- -
- - - - - diff --git a/public/tags/personal/index.xml b/public/tags/personal/index.xml deleted file mode 100644 index 4aeaddd..0000000 --- a/public/tags/personal/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/personal/ - Recent content in Personal on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:45 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/photo/index.html b/public/tags/photo/index.html deleted file mode 100644 index 278e436..0000000 --- a/public/tags/photo/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Photo | 0xhenrique - - - - - - - - - - - -
-

Photo

- -
- - - - - diff --git a/public/tags/photo/index.xml b/public/tags/photo/index.xml deleted file mode 100644 index b093856..0000000 --- a/public/tags/photo/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/photo/ - Recent content in Photo on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:45 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/portugal/index.html b/public/tags/portugal/index.html deleted file mode 100644 index feed8a0..0000000 --- a/public/tags/portugal/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Portugal | 0xhenrique - - - - - - - - - - - -
-

Portugal

- -
- - - - - diff --git a/public/tags/portugal/index.xml b/public/tags/portugal/index.xml deleted file mode 100644 index 000a2fe..0000000 --- a/public/tags/portugal/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/portugal/ - Recent content in Portugal on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:45 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/programming/index.html b/public/tags/programming/index.html deleted file mode 100644 index 8a0b9fa..0000000 --- a/public/tags/programming/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - Programming | 0xhenrique - - - - - - - - - - - -
-

Programming

- -
- - - - - diff --git a/public/tags/programming/index.xml b/public/tags/programming/index.xml deleted file mode 100644 index cafa16f..0000000 --- a/public/tags/programming/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/programming/ - Recent content in Programming on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:33 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/projects/index.html b/public/tags/projects/index.html deleted file mode 100644 index 6ac47d1..0000000 --- a/public/tags/projects/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - Projects | 0xhenrique - - - - - - - - - - - -
-

Projects

- -
- - - - - diff --git a/public/tags/projects/index.xml b/public/tags/projects/index.xml deleted file mode 100644 index e341b63..0000000 --- a/public/tags/projects/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/projects/ - Recent content in Projects on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:33 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/python/index.html b/public/tags/python/index.html deleted file mode 100644 index e87ed43..0000000 --- a/public/tags/python/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Python | 0xhenrique - - - - - - - - - - - -
-

Python

- -
- - - - - diff --git a/public/tags/python/index.xml b/public/tags/python/index.xml deleted file mode 100644 index b34051e..0000000 --- a/public/tags/python/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/python/ - Recent content in Python on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:33 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/ricing/index.html b/public/tags/ricing/index.html deleted file mode 100644 index a739c50..0000000 --- a/public/tags/ricing/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Ricing | 0xhenrique - - - - - - - - - - - -
-

Ricing

- -
- - - - - diff --git a/public/tags/ricing/index.xml b/public/tags/ricing/index.xml deleted file mode 100644 index bfac7fc..0000000 --- a/public/tags/ricing/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/ricing/ - Recent content in Ricing on 0xhenrique - Hugo -- gohugo.io - en-us - Fri, 20 Sep 2024 20:37:15 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/rust/index.html b/public/tags/rust/index.html deleted file mode 100644 index 493d070..0000000 --- a/public/tags/rust/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Rust | 0xhenrique - - - - - - - - - - - -
-

Rust

- -
- - - - - diff --git a/public/tags/rust/index.xml b/public/tags/rust/index.xml deleted file mode 100644 index 5ed16ec..0000000 --- a/public/tags/rust/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/rust/ - Recent content in Rust on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:26 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/travel/index.html b/public/tags/travel/index.html deleted file mode 100644 index 43c95a8..0000000 --- a/public/tags/travel/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Travel | 0xhenrique - - - - - - - - - - - -
-

Travel

- -
- - - - - diff --git a/public/tags/travel/index.xml b/public/tags/travel/index.xml deleted file mode 100644 index f7339f7..0000000 --- a/public/tags/travel/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/travel/ - Recent content in Travel on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:45 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/wallpaper/index.html b/public/tags/wallpaper/index.html deleted file mode 100644 index 5647643..0000000 --- a/public/tags/wallpaper/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Wallpaper | 0xhenrique - - - - - - - - - - - -
-

Wallpaper

- -
- - - - - diff --git a/public/tags/wallpaper/index.xml b/public/tags/wallpaper/index.xml deleted file mode 100644 index baf587b..0000000 --- a/public/tags/wallpaper/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/wallpaper/ - Recent content in Wallpaper on 0xhenrique - Hugo -- gohugo.io - en-us - Fri, 20 Sep 2024 20:37:15 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/tags/windows/index.html b/public/tags/windows/index.html deleted file mode 100644 index 501eaaf..0000000 --- a/public/tags/windows/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Windows | 0xhenrique - - - - - - - - - - - -
-

Windows

- -
- - - - - diff --git a/public/tags/windows/index.xml b/public/tags/windows/index.xml deleted file mode 100644 index b5ec730..0000000 --- a/public/tags/windows/index.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 0xhenrique - http://localhost:1313/tags/windows/ - Recent content in Windows on 0xhenrique - Hugo -- gohugo.io - en-us - Sat, 17 Aug 2024 07:44:33 +0100 - - - - - - Why I Chose Guix Over Nix - http://localhost:1313/why-i-chose-guix-over-nix/ - Mon, 23 Sep 2024 04:35:07 +0100 - - http://localhost:1313/why-i-chose-guix-over-nix/ - <p>I&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&rsquo;t use Nix anymore.</p> -<h2 id="the-emacs--elisp--sicp--scheme-pipeline">The Emacs &gt; Elisp &gt; SICP &gt; Scheme pipeline</h2> -<p><img src="https://i.imgur.com/ouSS2fe.png" alt="SICP_2hu_version"> -I honestly don&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 <a href="https://learnxinyminutes.com/docs/elisp/">https://learnxinyminutes.com/docs/elisp/</a> I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn&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&rsquo;t used to see through all the parenthesis. -At that time, I already knew about the &lsquo;Structure and Interpretaion of Computer Programs&rsquo; book, but didn&rsquo;t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:</p> -<p>Lecture 1A: Overview and Introduction to Lisp: <a href="https://www.youtube.com/watch?v=-J_xL4IGhJA">https://www.youtube.com/watch?v=-J_xL4IGhJA</a></p> -<p>That was when I finally decided to read the SICP and, consequently, learn Scheme.</p> -<h2 id="the-nix-language-and-documentation-sucks">The Nix language and documentation sucks</h2> -<p>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&rsquo;s not even a problem), but because the language is confusing as hell and the documentation doesn&rsquo;t help. It&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&rsquo;t be sure to find what you&rsquo;re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you&rsquo;re looking for. -At the end of the day you spend more time guessing &ldquo;where the information is&rdquo; rather &ldquo;how to do X&rdquo;. -For instance, here&rsquo;s a comparison between the figlet package ported to Nix and the one ported to Guix:</p> -<p><img src="https://i.imgur.com/9epJ4qs.png" alt="Nix vs Guix"></p> -<p>And no, I&rsquo;m not even talking about how the Nix code is bigger than the Scheme code, that&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&rsquo; heel of the Nix project. I can assure you that most of the people using NixOS right now don&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&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?</p> -<p>Guix solves that. It&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&rsquo;t hard, I plan to make another blog post to delve into that soon.</p> -<h2 id="the-lisp-way-of-life">The LISP way of life</h2> -<p><img src="https://imgs.xkcd.com/comics/lisp_cycles.png" alt="Elegant weapons for a more&hellip; civilized age"></p> -<p>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.</p> -<p>And yes, Nix also supports abstractions, but Guix&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&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.</p> -<p>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&rsquo;s pretty much like standing on the shoulders of giants. -To be honest I don&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&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.</p> -<h2 id="guix-is-free-as-in-freedom">Guix is Free (as in Freedom)</h2> -<p>Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.</p> -<p>Yes, I do use some proprietary software, but that&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&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&rsquo;t easy to achieve.</p> -<p><img src="https://preview.redd.it/7ozal346p6kz.png?auto=webp&amp;s=f1058e3a298c411182de3a9bd788f65cec5d1bc1" alt="RMS_aboslutely_proprietary"></p> - - - - - Guix Wallpapers - http://localhost:1313/guix-wallpapers/ - Fri, 20 Sep 2024 20:37:15 +0100 - - http://localhost:1313/guix-wallpapers/ - <p>I&rsquo;ve been using Guix for quite some time now. It&rsquo;s been a great experience so far! -Here are some wallpapers I&rsquo;ve been collecting for my Guix desktop.</p> -<p>I think it goes without saying that Suika is the perfect candidate to be the Guix mascot .</p> -<p><img src="https://i.imgur.com/se5Qk6P.png" alt="1st pape"> -<img src="https://i.imgur.com/bYxUNO7.png" alt="2st pape"> -<img src="https://i.imgur.com/KT1Uo39.png" alt="3st pape"> -<img src="https://i.imgur.com/LuEaj38.png" alt="4st pape"> -<img src="https://i.imgur.com/IGCGrEI.png" alt="5st pape"> -<img src="https://i.imgur.com/OyOJUyY.png" alt="6st pape"> -<img src="https://i.imgur.com/eb0qu4z.png" alt="7st pape"> -<img src="https://i.imgur.com/UyKmkHr.png" alt="8st pape"> -<img src="https://i.imgur.com/yXVVoH8.png" alt="9st pape"></p> - - - - - Nazare Beach - http://localhost:1313/nazare-beach/ - Sat, 17 Aug 2024 07:44:45 +0100 - - http://localhost:1313/nazare-beach/ - <p>I visited Nazaré Beach last year (2023). Such a lovely place. -Shame on me for not taking my camera with me that day. I&rsquo;m not a fan of smartphone cameras to be honest. Still, I couldn&rsquo;t let the opportunity pass. Here are some photos I took that day.</p> -<p><img src="https://i.imgur.com/ATjnpyl.jpeg" alt="1st photo"></p> -<p>According to Wikipedia, Nazaré is one of the most traditional Portuguese fishing villages, having the most popular bathing beach on the Portuguese west coast, where you can still find, on the sand, some women dressed in the traditional costume of seven skirts, taking care of the fish that dries in the sun, lined up on stakes.</p> -<p><img src="https://i.imgur.com/GwZIh3p.jpeg" alt="2nd photo"></p> -<p>I plan to go back there in the winter, but this time I will remember to take my camera with me. I have an 18-55 and a 200mm, but I believe I will get better photos with the 200mm, especially in the higher parts. Not to mention that I will be able to aim further without losing too much sharpness.</p> -<p><img src="https://i.imgur.com/hxY0rcS.jpeg" alt="3rd photo"> -<img src="https://i.imgur.com/8uRNHtF.jpeg" alt="4th photo"></p> - - - - - Monogatari - Text Editor in Python - http://localhost:1313/monogatari/ - Sat, 17 Aug 2024 07:44:33 +0100 - - http://localhost:1313/monogatari/ - <h1 id="monogatari---text-editorhttpsgithubcomhenrique-marques-vsoftmonogatari"><a href="https://github.com/henrique-marques-vsoft/monogatari">MONOGATARI - Text Editor</a></h1> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/shinobu.gif" alt="monogatari-movie scene shinobu kokorowatari"></p> -<p>Monogatari is a text editor built with Python using the Tkinter GUI library.</p> -<h2 id="installation-and-usage">Installation and usage</h2> -<p>Assuming you already have Python installed in your machine:</p> -<pre tabindex="0"><code>git clone git@github.com:all123all/monogatari.git -cd monogatari -python monogatari.py -</code></pre><p>If you&rsquo;re using Linux you probably will need to install tk manually:</p> -<pre tabindex="0"><code>//Arch based distros -$ sudo pacman -S tk -//For Ubuntu -$ sudo apt-get install tk -</code></pre><h2 id="goals">Goals</h2> -<ul> -<li><input disabled="" type="checkbox"> Basic text editor functionalities (create file, open file, exit etc.)</li> -<li><input disabled="" type="checkbox"> Black background and a colorpicker option to choose another color</li> -<li><input disabled="" type="checkbox"> Test routine for the basic functionalities</li> -<li><input disabled="" type="checkbox"> Release a package</li> -<li><input disabled="" type="checkbox"> The close function is being called even when the file isn&rsquo;t modified</li> -</ul> -<h2 id="contribute-to-monogatari---text-editor">Contribute to MONOGATARI - Text Editor</h2> -<ul> -<li>Click the fork button on top right</li> -<li>Git clone your fork</li> -<li>Connect with my repo:</li> -</ul> -<pre tabindex="0"><code>$ git remote add all123all git://github.com/all123all/monogatari -$ git remote -v -</code></pre><p>You are now ready to start to code! Just do as always:</p> -<pre tabindex="0"><code>$ git add . -$ git commit -m &#34;fix: something that was fixed&#34; -$ git push -</code></pre><p>Then you can create a pull request right here on Github. Just go to the Pull Requests tab and select <code>New pull request</code> button to do so.</p> -<h2 id="screenshots">Screenshots</h2> -<p><img src="https://raw.githubusercontent.com/henrique-marques-vsoft/monogatari/master/pics/print.png" alt="monogatari on i3wm screenshot"></p> - - - - - Lum - Linux Ubiquitous Marker - http://localhost:1313/lum/ - Sat, 17 Aug 2024 07:44:26 +0100 - - http://localhost:1313/lum/ - <p>Link: <a href="https://github.com/henrique-marques-vsoft/lum">https://github.com/henrique-marques-vsoft/lum</a></p> -<p>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. -I&rsquo;m still not sure if I&rsquo;m going to turn this project into a CLI tool or a library. I still need to try to integrate Lum with some other tool and evaluate which points I failed, which ones I need to improve and where I got things right. -I also wanted to have contact with Rust in practice. I have some things to say about the Rust language, but I think that will be for another post on this blog.</p> -<p>For now, I&rsquo;m using JSON to save the bookmarks, but to be honest I don&rsquo;t know if I&rsquo;ll keep this format until the end. -I&rsquo;m still evaluating whether this would be the most practical and quickest way, considering that I already accumulated more than 12 thousand bookmarks at the height of my NEET time. -I don&rsquo;t think parsing 12 thousand objects in JSON is efficient, but it&rsquo;s something I still need to test in practice.</p> - - - - - Internet Lurk Compilation #1 - http://localhost:1313/internet-lurk-compilation/ - Sat, 17 Aug 2024 07:44:17 +0100 - - http://localhost:1313/internet-lurk-compilation/ - <h2 id="general-findings">General Findings</h2> -<ul> -<li>Pure gold from the 90s: <a href="https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation">https://lunduke.substack.com/p/the-computers-used-to-do-3d-animation</a></li> -<li>Symbolics Internet Museum: <a href="https://symbolics.com/museum/">https://symbolics.com/museum/</a></li> -<li>What is the relationship between Apple and Serial Experiments Lain? <a href="https://www.cjas.org/~leng/apple-lain.htm">https://www.cjas.org/~leng/apple-lain.htm</a></li> -<li>The Cornell Anime Club: <a href="https://www.cjas.org/">https://www.cjas.org/</a></li> -<li>Appearances of MIT in Anime: <a href="https://anime.mit.edu/resources/mit_in_anime">https://anime.mit.edu/resources/mit_in_anime</a></li> -<li>How Emacs got into Tron: Legacy: <a href="https://boingboing.net/2011/04/06/how-emacs-got-into-t.html">https://boingboing.net/2011/04/06/how-emacs-got-into-t.html</a></li> -<li>The Jargon File: <a href="http://www.catb.org/jargon/">http://www.catb.org/jargon/</a></li> -</ul> -<h2 id="neocities">Neocities</h2> -<ul> -<li>Lainzine (Lain Magazine): <a href="https://lainzine.org/">https://lainzine.org/</a></li> -<li>About Software Privacy and other topics: <a href="https://digdeeper.neocities.org/">https://digdeeper.neocities.org/</a></li> -<li>Reminds of Fauux: <a href="https://blackwings.neocities.org/">https://blackwings.neocities.org/</a></li> -<li>Fauux: <a href="https://fauux.neocities.org/">https://fauux.neocities.org/</a></li> -<li>Tatsumoto&rsquo;s guide to Nihongo: <a href="https://tatsumoto.neocities.org/">https://tatsumoto.neocities.org/</a></li> -</ul> -<h2 id="internet-archive-findings">Internet Archive Findings</h2> -<ul> -<li>Oh! PC (Jul 01 1990) [Content in Japanese]: <a href="https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up">https://archive.org/details/oh-pc-issue-127-jul-01-1990/Oh%21%20PC%20Issue%20127%20%28Jul%2001%201990%29/mode/2up</a></li> -<li>Comptiq Manazine [Content in Japanese]: <a href="https://archive.org/search?query=comptiq">https://archive.org/search?query=comptiq</a></li> -<li>The Symbol of the Knights of Eastern Calculus: <a href="https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm">https://web.archive.org/web/20200121124624/http://www.cjas.org/~leng/knights.htm</a></li> -<li>MSX Magazine (1985-02) [Content in Japanese]: <a href="https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up">https://archive.org/details/msx-magazine-1985-02-ascii-jp/mode/2up</a></li> -</ul> -<h2 id="websites-i-visit-from-time-to-time">Websites I visit from time to time</h2> -<ul> -<li>A <del>modern</del> Javascript approach to SICP: <a href="https://sicp.sourceacademy.org/">https://sicp.sourceacademy.org/</a></li> -<li>A blog by Sam Greydanus: <a href="https://greydanus.github.io/">https://greydanus.github.io/</a></li> -<li>Xah Lee (he&rsquo;s also one of the minds behind ergoemacs and xah-fly-keys): <a href="https://xahlee.info/">https://xahlee.info/</a></li> -<li>Sasha Chua blog: <a href="https://sachachua.com/blog/">https://sachachua.com/blog/</a></li> -<li>Lunduke Journal: <a href="https://lunduke.substack.com/">https://lunduke.substack.com/</a></li> -</ul> -<p><strong>If you find a broken link or a website that shares things that are clearly illegal, please let me know by email so I can remove it: <a href="mailto:hm2030master@proton.me">hm2030master@proton.me</a></strong>.</p> -<p><strong>Also, if you don&rsquo;t want me to list your website here, feel free to contact me via email so I can remove it.</strong></p> - - - - - About - http://localhost:1313/about/ - Sat, 17 Aug 2024 07:42:34 +0100 - - http://localhost:1313/about/ - <h1 id="whois">whois</h1> -<p>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. -Some of the stuff I work on <a href="https://github.com/henrique-marques-vsoft">Github</a>.</p> -<h2 id="my-setup">My setup</h2> -<p>Nothing fancy to be honest. Since I spend most of my time inside Emacs, I don&rsquo;t really <em>rice</em> my computer. -I&rsquo;ve been through that phase though. Remaping keybindings, customising themes, colourschemes etc. -Today things are simpler for me. Just my Emacs config and that&rsquo;s it.</p> -<p>Here are some of my configs:</p> -<ul> -<li>Laptop: Thinkpad T480</li> -<li>OS: GNU Guix</li> -<li>Shell: bash</li> -<li>Resolution: 1920x1080 (1 monitor is enough for me)</li> -<li>WM: EXWM</li> -<li>Terminal: eshell/vterm/kitty</li> -<li>CPU: Intel i5-8350U (8) @ 3.600GHz</li> -<li>GPU: 😕</li> -<li>RAM: 24Gb</li> -<li>Text editor: Emacs (29)</li> -</ul> -<h2 id="keyboards">Keyboards</h2> -<h3 id="the-charybdis-by-bastard-keyboards">The Charybdis by Bastard Keyboards</h3> -<!-- raw HTML omitted --> -<p>Right now I&rsquo;m using the Charybdis. It simply feels &ldquo;correct&rdquo; to type with it.<br> -The only <em>drawback</em> from this keyboard is the price, but I don&rsquo;t think you will find a dactyl for a cheap price.<br> -As far as I know, there&rsquo;s no company mass producing that type of keyboard.<br> -But at the end I think it&rsquo;s worth it, at least for me it is.</p> -<h3 id="the-sofle-v1-by-mechboards-uk">The Sofle V1 by Mechboards UK</h3> -<!-- raw HTML omitted --> -<p>The other one I have (although don&rsquo;t use very much anymore) is the Sofle V1 that I bought from Mechboards UK. -It was very nice to type on a <em>low profile</em> keyboard. It&rsquo;s not so expansive as the Charybdis.</p> - - - - - diff --git a/public/why-i-chose-guix-over-nix/index.html b/public/why-i-chose-guix-over-nix/index.html deleted file mode 100644 index 20ea0a4..0000000 --- a/public/why-i-chose-guix-over-nix/index.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - Why I Chose Guix Over Nix | 0xhenrique - - - - - - - - - - - - -
-

Why I Chose Guix Over Nix

-
- -

I’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’t use Nix anymore.

-

The Emacs > Elisp > SICP > Scheme pipeline

-

SICP_2hu_version -I honestly don’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 https://learnxinyminutes.com/docs/elisp/ I was able to write some simple functions to make my Emacs experience smoother. To be honest, I didn’t really liked to write Lisp back then, it sucked a lot for me. Even reading simple functions was a hassle since I wasn’t used to see through all the parenthesis. -At that time, I already knew about the ‘Structure and Interpretaion of Computer Programs’ book, but didn’t read until then. It was only after seeing the MIT class linked below that I got hooked into computer magecraft:

-

Lecture 1A: Overview and Introduction to Lisp: https://www.youtube.com/watch?v=-J_xL4IGhJA

-

That was when I finally decided to read the SICP and, consequently, learn Scheme.

-

The Nix language and documentation sucks

-

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’s not even a problem), but because the language is confusing as hell and the documentation doesn’t help. It’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’t be sure to find what you’re looking for. All the information is fragmented on the internet, there is not a place where you can just find what you’re looking for. -At the end of the day you spend more time guessing “where the information is” rather “how to do X”. -For instance, here’s a comparison between the figlet package ported to Nix and the one ported to Guix:

-

Nix vs Guix

-

And no, I’m not even talking about how the Nix code is bigger than the Scheme code, that’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’ heel of the Nix project. I can assure you that most of the people using NixOS right now don’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’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?

-

Guix solves that. It’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’t hard, I plan to make another blog post to delve into that soon.

-

The LISP way of life

-

Elegant weapons for a more… civilized age

-

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.

-

And yes, Nix also supports abstractions, but Guix’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’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.

-

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’s pretty much like standing on the shoulders of giants. -To be honest I don’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’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.

-

Guix is Free (as in Freedom)

-

Guix places more emphasis on software freedom and adheres to the FSF standards for ethical distros.

-

Yes, I do use some proprietary software, but that’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’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’t easy to achieve.

-

RMS_aboslutely_proprietary

- - - - -
-
- - - - - diff --git a/public/why-the-hell-do-we-still-work/index.html b/public/why-the-hell-do-we-still-work/index.html deleted file mode 100644 index 591b5b5..0000000 --- a/public/why-the-hell-do-we-still-work/index.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - Why the Hell Do We Still Work? | 0xhenrique - - - - - - - - - - - -
-

Why the Hell Do We Still Work?

-
- -

Have you ever thought that if it weren’t for technological advances, we’d still be lighting candles at night? -And what if I told you that the only reason society didn’t collapsed yet is because technology keeps improving giving a fake perception of progress? -Why the fuck did your parents with no college were able to buy a house while you with all your diplomas can’t even buy a cheap car? -Technology is clearly improving, so why the fuck things get harder and harder every year? -Why working isn’t worth it anymore? -I plan to answer the questions above, but first I need to give you some context, some data about the wrecked world we live in today.

-

Modern slavery started in 1971

- - - - -
-
- - - - - -- cgit v1.3