From 6a7930a8fc084563d35fad16c1858fbc6a3109c1 Mon Sep 17 00:00:00 2001 From: 0xhenrique Date: Sun, 2 Mar 2025 11:03:20 +0000 Subject: Update blog style and add some instruction in the README --- README.org | 10 ++ blog/Nazare-Beach.html | 4 +- blog/about.html | 42 +++---- blog/internet-lurk-compilation.html | 24 ++-- blog/lum.html | 36 +++++- blog/monogatari.html | 26 ++--- blog/pluto-review.html | 54 ++++----- blog/rss.xml | 225 +++++++++++++++++++++--------------- blog/static/style.css | 171 ++++++++++++--------------- blog/why-i-chose-guix-over-nix.html | 37 +++--- posts/lum.org | 16 ++- posts/why-i-chose-guix-over-nix.org | 1 + 12 files changed, 364 insertions(+), 282 deletions(-) diff --git a/README.org b/README.org index 1a1b794..d306c3a 100644 --- a/README.org +++ b/README.org @@ -2,4 +2,14 @@ Repository for my personal blog: https://0xhenrique.neocities.org/ +|-----------+-------------------------------------------------------| +| Directory | Content | +|-----------+-------------------------------------------------------| +| /blog | The HTML generated from the org files | +| /posts | The actual org files from which the HTML is generated | +|-----------+-------------------------------------------------------| + += org-static-blog-publish RET= to build everything. + + Created using GNU Emacs and [[https://github.com/bastibe/org-static-blog][org-static-blog]]. diff --git a/blog/Nazare-Beach.html b/blog/Nazare-Beach.html index c290480..190f0aa 100644 --- a/blog/Nazare-Beach.html +++ b/blog/Nazare-Beach.html @@ -22,7 +22,7 @@ Shame on me for not taking my camera with me that day. I'm not a fan of smartpho

-
+
ATjnpyl.jpeg
@@ -32,7 +32,7 @@ According to Wikipedia, Nazaré is one of the most traditional Portuguese fishin

-
+
GwZIh3p.jpeg
diff --git a/blog/about.html b/blog/about.html index ba6c646..94257dc 100644 --- a/blog/about.html +++ b/blog/about.html @@ -17,9 +17,9 @@

About

-
-

whoami

-
+
+

whoami

+

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. @@ -28,13 +28,13 @@ Some of the stuff I work on Github.

-
-

My Computers

-
+
+

My Computers

+
-
-

ThinkPad T480

-
+
+

ThinkPad T480

+
  • OS: GNU Guix
  • DE: EXWM/XFCE4
  • @@ -45,9 +45,9 @@ Some of the stuff I work on Github.
-
-

Xeon PC

-
+
+

Xeon PC

+
  • OS: GNU Guix
  • DE: EXWM/XFCE4
  • @@ -59,13 +59,13 @@ Some of the stuff I work on Github.
-
-

Keyboards

-
+
+

Keyboards

+
-
-

The Charybdis by Bastard Keyboards

-
+
+

The Charybdis by Bastard Keyboards

+

vqbSpXX.jpeg Right now I'm using the Charybdis. It simply feels "correct" to type with it. @@ -76,9 +76,9 @@ But at the end I think it's worth it, at least for me it is.

-
-

The Sofle V1 by Mechboards UK

-
+
+

The Sofle V1 by Mechboards UK

+

O4zYPni.jpeg The other one I have (although don't use very much anymore) is the Sofle V1 that I bought from Mechboards UK. diff --git a/blog/internet-lurk-compilation.html b/blog/internet-lurk-compilation.html index 3363ded..f7e3b53 100644 --- a/blog/internet-lurk-compilation.html +++ b/blog/internet-lurk-compilation.html @@ -17,9 +17,9 @@

Internet Lurk Compilation #1

-
-

General Findings

-
+
+

General Findings

+
-
-

Neocities

-
+
+

Neocities

+
-
-

Internet Archive Findings

-
+
+

Internet Archive Findings

+
-
-

Websites I visit from time to time

-
+
+

Websites I visit from time to time

+
+ +
+

Integration with Emacs

+
+

+While I'm not deploying binary packages to Lum, I can check my bookmarks through Emacs with a very simple function: +

+
+
(defun pache/my-consult-bookmark ()
+  "Select a bookmark using `completing-read` and copy it to the clipboard."
+  (interactive)
+  (let* ((candidates (split-string (shell-command-to-string "java -jar ~/path/to/lum-1.0.0-SNAPSHOT-standalone.jar -l") "\n" t))
+         (selection (completing-read "Select bookmark: " candidates)))
+    (when selection
+      (kill-new selection)
+      (message "Copied to clipboard: %s" selection))))
+(global-set-key (kbd "C-c b") 'pache/my-consult-bookmark)
+
+
+
+
My RSS Feed
Created using GNU Emacs + Org Static Blog.
diff --git a/blog/monogatari.html b/blog/monogatari.html index e3eb547..ef8fca6 100644 --- a/blog/monogatari.html +++ b/blog/monogatari.html @@ -21,9 +21,9 @@ Monogatari is a text editor built with Python using the Tkinter GUI library. shinobu.gif

-
-

Installation and usage

-
+
+

Installation and usage

+

Assuming you already have Python installed in your machine:

@@ -48,9 +48,9 @@ $ sudo apt-get install tk
-
-

Goals

-
+
+

Goals

+
  • Basic text editor functionalities (create file, open file, exit etc.)
  • Black background and a colorpicker option to choose another color
  • @@ -61,9 +61,9 @@ $ sudo apt-get install tk
-
-

Contribute to MONOGATARI - Text Editor

-
+
+

Contribute to MONOGATARI - Text Editor

+
  • Click the fork button on top right
  • Git clone your fork
  • @@ -91,11 +91,11 @@ Then you can create a pull request right here on Github. Just go to the Pull Req
-
-

Screenshots

-
+
+

Screenshots

+
-
+
print.png
diff --git a/blog/pluto-review.html b/blog/pluto-review.html index 2dfac95..96d65b9 100644 --- a/blog/pluto-review.html +++ b/blog/pluto-review.html @@ -17,20 +17,20 @@

Pluto Review

-
-

Summary

-
+
+

Summary

+

I would dare to say that Pluto is an anime carried almost entirely by its direction and art, while its story leaves something to be desired in many respects. I had difficulties with the way the author approached the problems inherent in the type of narrative he chose. In this review, I won't go into the technical aspects of animation and direction since I don't have enough knowledge to evaluate them. My focus will be on the writing and storytelling.

-
-

The premise

-
+
+

The premise

+
-
+
oEU9QPZ.jpeg
@@ -49,11 +49,11 @@ I believe that the two biggest flaws in the narrative are exactly these: the att
-
-

Robots are not slaves

-
+
+

Robots are not slaves

+
-
+
qV2kSo3.jpeg
@@ -68,11 +68,11 @@ However, there is a fundamental difference between the two cases: human emotions
-
-

Do robots have empathy?

-
+
+

Do robots have empathy?

+
-
+
h64nW5I.jpeg
@@ -87,11 +87,11 @@ This scene completely breaks the idea that robots can really feel like humans do
-
-

The Best Part

-
+
+

The Best Part

+
-
+
FAFafwr.jpeg
@@ -102,11 +102,11 @@ For me, the highlight of Pluto remains the first episode. The story of Sir Dunca
-
-

Conclusion

-
+
+

Conclusion

+
-
+
lTmfFfr.jpeg
@@ -121,11 +121,11 @@ I also missed a more memorable soundtrack. There were several moments in the ani
-
-

Final considerations

-
+
+

Final considerations

+
-
+
Gjtwhpn.jpeg
diff --git a/blog/rss.xml b/blog/rss.xml index fdf7a35..f2ed265 100644 --- a/blog/rss.xml +++ b/blog/rss.xml @@ -4,25 +4,25 @@ <![CDATA[0xhenrique]]> https://0xhenrique.neocities.org/ -Wed, 19 Feb 2025 21:38:29 +0000 +Sun, 02 Mar 2025 10:55:52 +0000 <![CDATA[Pluto Review]]> -

Summary

-
+
+

Summary

+

I would dare to say that Pluto is an anime carried almost entirely by its direction and art, while its story leaves something to be desired in many respects. I had difficulties with the way the author approached the problems inherent in the type of narrative he chose. In this review, I won't go into the technical aspects of animation and direction since I don't have enough knowledge to evaluate them. My focus will be on the writing and storytelling.

-
-

The premise

-
+
+

The premise

+
-
+
oEU9QPZ.jpeg
@@ -41,11 +41,11 @@ I believe that the two biggest flaws in the narrative are exactly these: the att
-
-

Robots are not slaves

-
+
+

Robots are not slaves

+
-
+
qV2kSo3.jpeg
@@ -60,11 +60,11 @@ However, there is a fundamental difference between the two cases: human emotions
-
-

Do robots have empathy?

-
+
+

Do robots have empathy?

+
-
+
h64nW5I.jpeg
@@ -79,11 +79,11 @@ This scene completely breaks the idea that robots can really feel like humans do
-
-

The Best Part

-
+
+

The Best Part

+
-
+
FAFafwr.jpeg
@@ -94,11 +94,11 @@ For me, the highlight of Pluto remains the first episode. The story of Sir Dunca
-
-

Conclusion

-
+
+

Conclusion

+
-
+
lTmfFfr.jpeg
@@ -113,11 +113,11 @@ I also missed a more memorable soundtrack. There were several moments in the ani
-
-

Final considerations

-
+
+

Final considerations

+
-
+
Gjtwhpn.jpeg
@@ -145,11 +145,16 @@ In the end, Pluto raises interesting questions, but fails to answer them reasona 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

-
-

+

+

The Emacs > Elisp > SICP > Scheme pipeline

+
+ +
ouSS2fe.png + +
+ +

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: @@ -165,9 +170,9 @@ That was when I finally decided to read the SICP and, consequently, learn Scheme

-
-

The Nix Language is not easy to write

-
+
+

The Nix Language is not easy to write

+

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". @@ -175,7 +180,7 @@ For instance, here's a comparison between the figlet package ported to Nix and t

-
+
9epJ4qs.png
@@ -191,11 +196,11 @@ Guix solves that. It's not like you need to learn a complex language to start wi
-
-

The LISP way of life

-
+
+

The LISP way of life

+
-
+
lisp_cycles.png
@@ -218,9 +223,9 @@ To be honest I don't see a point in learning such a complex language as Nix just
-
-

Guix is Free (as in Freedom)

-
+
+

Guix is Free (as in Freedom)

+

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

@@ -230,7 +235,7 @@ Yes, I do use some proprietary software, but that's something I want to change.

-
+
7ozal346p6kz.png?auto=webp&s=f1058e3a298c411182de3a9bd788f65cec5d1bc1
@@ -283,9 +288,9 @@ Monogatari is a text editor built with Python using the Tkinter GUI library. shinobu.gif

-
-

Installation and usage

-
+
+

Installation and usage

+

Assuming you already have Python installed in your machine:

@@ -310,9 +315,9 @@ $ sudo apt-get install tk
-
-

Goals

-
+
+

Goals

+
  • Basic text editor functionalities (create file, open file, exit etc.)
  • Black background and a colorpicker option to choose another color
  • @@ -323,9 +328,9 @@ $ sudo apt-get install tk
-
-

Contribute to MONOGATARI - Text Editor

-
+
+

Contribute to MONOGATARI - Text Editor

+
  • Click the fork button on top right
  • Git clone your fork
  • @@ -353,11 +358,11 @@ Then you can create a pull request right here on Github. Just go to the Pull Req
-
-

Screenshots

-
+
+

Screenshots

+
-
+
print.png
@@ -381,15 +386,24 @@ Link: https://github.com/0xhenrique/ 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 started using the Rust language, but I realized that I wasn't familiar enough with the language to do this. So I left Rust aside for a while and took advantage of the situation to rewrite Lum using Clojure, since I had been planning to put it into practice for a while. +

+ +

+This was my first more "serious" project using Clojure, so a lot of things are out of place, a lot of rough edges, a lot of design mistakes, etc. +For example, 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. +But at least it helped me get better grasp of a Lisp language. I still intend to revisit this project sometime in the future, maybe even restructure it from scratch to fix the mistakes I made. +For now, I don't think it can replace browser bookmarks, but it's something I'll focus on more in my next iteration with Lum.

+
+

Running Lum

+

Although it is not really necessary to run this program, having fzf and xclip would be great if you want to integrate with other programs. A pretty useful command to fetch your bookmarks would be:

@@ -397,6 +411,29 @@ Although it is not really necessary to run this program, having fzf and xclip wo
$ lum -l | fzf | xclip -selection clipboard
 
+
+
+ +
+

Integration with Emacs

+
+

+While I'm not deploying binary packages to Lum, I can check my bookmarks through Emacs with a very simple function: +

+
+
(defun pache/my-consult-bookmark ()
+  "Select a bookmark using `completing-read` and copy it to the clipboard."
+  (interactive)
+  (let* ((candidates (split-string (shell-command-to-string "java -jar ~/path/to/lum-1.0.0-SNAPSHOT-standalone.jar -l") "\n" t))
+         (selection (completing-read "Select bookmark: " candidates)))
+    (when selection
+      (kill-new selection)
+      (message "Copied to clipboard: %s" selection))))
+(global-set-key (kbd "C-c b") 'pache/my-consult-bookmark)
+
+
+
+
]]> @@ -410,9 +447,9 @@ Although it is not really necessary to run this program, having fzf and xclip wo <![CDATA[Internet Lurk Compilation #1]]> -

General Findings

-
+
+

General Findings

+
-
-

Neocities

-
+
+

Neocities

+
-
-

Internet Archive Findings

-
+
+

Internet Archive Findings

+
-
-

Websites I visit from time to time

-
+
+

Websites I visit from time to time

+
  • A ~modern~ Javascript approach to SICP: https://sicp.sourceacademy.org/
  • A blog by Sam Greydanus: https://greydanus.github.io/
  • @@ -481,9 +518,9 @@ Although it is not really necessary to run this program, having fzf and xclip wo <![CDATA[About]]> -

    whoami

    -
    +
    +

    whoami

    +

    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. @@ -492,13 +529,13 @@ Some of the stuff I work on Github.

    -
    -

    My Computers

    -
    +
    +

    My Computers

    +
    -
    -

    ThinkPad T480

    -
    +
    +

    ThinkPad T480

    +
    • OS: GNU Guix
    • DE: EXWM/XFCE4
    • @@ -509,9 +546,9 @@ Some of the stuff I work on Github.
    -
    -

    Xeon PC

    -
    +
    +

    Xeon PC

    +
    • OS: GNU Guix
    • DE: EXWM/XFCE4
    • @@ -523,13 +560,13 @@ Some of the stuff I work on Github.
    -
    -

    Keyboards

    -
    +
    +

    Keyboards

    +
    -
    -

    The Charybdis by Bastard Keyboards

    -
    +
    +

    The Charybdis by Bastard Keyboards

    +

    vqbSpXX.jpeg Right now I'm using the Charybdis. It simply feels "correct" to type with it. @@ -540,9 +577,9 @@ But at the end I think it's worth it, at least for me it is.

    -
    -

    The Sofle V1 by Mechboards UK

    -
    +
    +

    The Sofle V1 by Mechboards UK

    +

    O4zYPni.jpeg The other one I have (although don't use very much anymore) is the Sofle V1 that I bought from Mechboards UK. @@ -568,7 +605,7 @@ Shame on me for not taking my camera with me that day. I'm not a fan of smartpho

    -
    +
    ATjnpyl.jpeg
    @@ -578,7 +615,7 @@ According to Wikipedia, Nazaré is one of the most traditional Portuguese fishin

    -
    +
    GwZIh3p.jpeg
    diff --git a/blog/static/style.css b/blog/static/style.css index 5f679b8..4599ba8 100644 --- a/blog/static/style.css +++ b/blog/static/style.css @@ -1,102 +1,108 @@ body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - line-height: 1.6; - margin: 0; - padding: 0; - background-color: #002b36; - color: #fdf6e3; + background-color: #1d2021; + color: #ebdbb2; + font-family: "Fira Code", "Courier New", Courier, monospace; + line-height: 1.8; + padding: 40px; + max-width: 900px; + margin: auto; + text-align: justify; } -#preamble { - background-color: #073642; - border-bottom: 1px solid #e0e0e0; - text-align: center; +img { + max-width: 100%; + height: auto; } -#preamble .header a { +a { + color: #fabd2f; text-decoration: none; - font-size: 1.8em; - color: #fdf6e3; + transition: color 0.3s ease; } -#content { - max-width: 800px; - margin: 2em auto; - padding: 0 1em; -} - -.post-date { - color: #999; - font-size: 0.9em; +a:hover { + color: #fe8019; + text-decoration: underline; } -.post-title { - font-size: 2em; +.menu-list { + list-style-type: none; margin: 0; + padding: 0 20px; + overflow: hidden; + background: #3c3836; + border-radius: 8px; + box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3); } -.post-title a { - color: #ffffff;; +.menu-item { + float: left; + margin: 0 5px; } -#content p { - margin-bottom: 1.2em; - line-height: 1.8; +.menu-item a { + display: block; + color: white; + text-align: center; + padding: 14px 16px; + text-decoration: none; + 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; } -a { - color: #2aa198; +.menu-item a:hover { + background: #d79921; + color: #282828; } -a:hover { - text-decoration: underline; +.post-title { + color: #fabd2f; + font-size: 1.6em; + margin: 0; } -.taglist { - border-bottom: 9px solid #e0e0e0; - padding-bottom: 1em; - margin-bottom: 2.5em; - font-size: 0.9em; +.post-date { + font-size: 14px; + color: #bdae93; + margin-top: 10px; } -.taglist a { - background-color: #e0e0e0; - color: #333; - padding: 0.2em 0.5em; - margin-right: 0.5em; - border-radius: 3px; - text-decoration: none; +p { + margin-bottom: 20px; } -.taglist a:hover { - background-color: #ccc; +.post-divider { + border: 0; + height: 1px; + background: #d79921; + margin: 30px 0; + opacity: 0.7; } -/* Postamble / footer */ -#postamble { - max-width: 800px; - margin: 2em auto; - padding: 1em; - border-top: 1px solid #e0e0e0; - font-size: 0.8em; - color: #666; +/* Archive Bottom Link */ +#archive { text-align: center; + margin-top: 40px; + font-size: 18px; } -#archive a { - color: #2aa198; - text-decoration: none; -} - -#archive a:hover { - text-decoration: underline; +#content { + margin: 2em auto; + padding: 0 1em; } -img { - max-width: 100%; - height: auto; +#postamble { + text-align: center; + margin-top: 50px; + font-size: 14px; + color: #bdae93; + opacity: 0.8; } +/* Org Table */ table { font-family: Arial, Helvetica, sans-serif; border-collapse: collapse; @@ -120,8 +126,9 @@ table th { color: white; } +/* Org block of code */ .org-src-container { - background-color: #2d2d2d; + background-color: #3c3836; padding: 0 12px; border-radius: 5px; overflow: auto; @@ -143,32 +150,8 @@ table th { margin-bottom: 5px; } -.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; - 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: #eee8d5; - color: #073642; +@media screen and (max-width: 780px) { + body { + padding: 0; + } } diff --git a/blog/why-i-chose-guix-over-nix.html b/blog/why-i-chose-guix-over-nix.html index d3edf81..a8c4f73 100644 --- a/blog/why-i-chose-guix-over-nix.html +++ b/blog/why-i-chose-guix-over-nix.html @@ -20,11 +20,16 @@ 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

    -
    -

    +

    +

    The Emacs > Elisp > SICP > Scheme pipeline

    +
    + +
    ouSS2fe.png + +
    + +

    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: @@ -40,9 +45,9 @@ That was when I finally decided to read the SICP and, consequently, learn Scheme

    -
    -

    The Nix Language is not easy to write

    -
    +
    +

    The Nix Language is not easy to write

    +

    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". @@ -50,7 +55,7 @@ For instance, here's a comparison between the figlet package ported to Nix and t

    -
    +
    9epJ4qs.png
    @@ -66,11 +71,11 @@ Guix solves that. It's not like you need to learn a complex language to start wi
    -
    -

    The LISP way of life

    -
    +
    +

    The LISP way of life

    +
    -
    +
    lisp_cycles.png
    @@ -93,9 +98,9 @@ To be honest I don't see a point in learning such a complex language as Nix just
    -
    -

    Guix is Free (as in Freedom)

    -
    +
    +

    Guix is Free (as in Freedom)

    +

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

    @@ -105,7 +110,7 @@ Yes, I do use some proprietary software, but that's something I want to change.

    -
    +
    7ozal346p6kz.png?auto=webp&s=f1058e3a298c411182de3a9bd788f65cec5d1bc1
    diff --git a/posts/lum.org b/posts/lum.org index 1bbd43d..f706134 100644 --- a/posts/lum.org +++ b/posts/lum.org @@ -18,8 +18,22 @@ I don't think parsing 12 thousand objects in JSON is efficient, but it's somethi But at least it helped me get better grasp of a Lisp language. I still intend to revisit this project sometime in the future, maybe even restructure it from scratch to fix the mistakes I made. For now, I don't think it can replace browser bookmarks, but it's something I'll focus on more in my next iteration with Lum. -*** Running Lum +** Running Lum Although it is not really necessary to run this program, having fzf and xclip would be great if you want to integrate with other programs. A pretty useful command to fetch your bookmarks would be: #+BEGIN_SRC bash $ lum -l | fzf | xclip -selection clipboard #+END_SRC + +** Integration with Emacs +While I'm not deploying binary packages to Lum, I can check my bookmarks through Emacs with a very simple function: +#+BEGIN_SRC emacs-lisp +(defun pache/my-consult-bookmark () + "Select a bookmark using `completing-read` and copy it to the clipboard." + (interactive) + (let* ((candidates (split-string (shell-command-to-string "java -jar ~/path/to/lum-1.0.0-SNAPSHOT-standalone.jar -l") "\n" t)) + (selection (completing-read "Select bookmark: " candidates))) + (when selection + (kill-new selection) + (message "Copied to clipboard: %s" selection)))) +(global-set-key (kbd "C-c b") 'pache/my-consult-bookmark) +#+END_SRC diff --git a/posts/why-i-chose-guix-over-nix.org b/posts/why-i-chose-guix-over-nix.org index 6a0a5f6..4a56f3b 100644 --- a/posts/why-i-chose-guix-over-nix.org +++ b/posts/why-i-chose-guix-over-nix.org @@ -7,6 +7,7 @@ I've been using NixOS for quite some time, but somehow I ended up with Guix. In ** The Emacs > Elisp > SICP > Scheme pipeline https://i.imgur.com/ouSS2fe.png + 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: -- cgit v1.3