From dc2e3dd59c5dccd6e174b837190e0a275ac9e587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20Fernando=20S=C3=A1nchez?= Date: Fri, 7 Mar 2025 10:41:54 +0100 Subject: [PATCH] refactor --- config/_default/config.toml | 2 ++ config/_default/related.toml | 2 +- content/{page => }/cheatsheet/_index.md | 3 +- content/{page => }/cheatsheet/linux.md | 3 +- content/{page => }/cheatsheet/python.md | 0 content/page/about.md | 36 ++++++++++++++++++++++++ content/page/archives/index.md | 4 +-- content/page/cheatsheet/emacs.md | 22 --------------- content/page/cheatsheet/rpi.md | 20 ------------- content/page/links/index.md | 34 +++++++++++++++++++--- content/page/projects/index.md | 5 ++-- content/page/search/index.md | 4 +-- content/post/emacs-font-lock.md | 18 ++++++++++++ content/post/rpi-hdmi-flickering.md | 21 ++++++++++++++ gsi.png | Bin 0 -> 5941 bytes 15 files changed, 119 insertions(+), 55 deletions(-) rename content/{page => }/cheatsheet/_index.md (73%) rename content/{page => }/cheatsheet/linux.md (98%) rename content/{page => }/cheatsheet/python.md (100%) create mode 100644 content/page/about.md delete mode 100644 content/page/cheatsheet/emacs.md delete mode 100644 content/page/cheatsheet/rpi.md create mode 100644 content/post/emacs-font-lock.md create mode 100644 content/post/rpi-hdmi-flickering.md create mode 100644 gsi.png diff --git a/config/_default/config.toml b/config/_default/config.toml index ff82354..80b91fb 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -11,6 +11,8 @@ defaultContentLanguage = "en" # This will make .Summary and .WordCount behave correctly for CJK languages. hasCJKLanguage = false +enableEmoji = true + # Change it to your Disqus shortname before using #disqusShortname = "hugo-theme-stack" diff --git a/config/_default/related.toml b/config/_default/related.toml index ae9f69a..ee24ec2 100644 --- a/config/_default/related.toml +++ b/config/_default/related.toml @@ -1,6 +1,6 @@ # Related contents configuration includeNewer = true -threshold = 60 +threshold = 10 toLower = false [[indices]] diff --git a/content/page/cheatsheet/_index.md b/content/cheatsheet/_index.md similarity index 73% rename from content/page/cheatsheet/_index.md rename to content/cheatsheet/_index.md index 80f9d8a..9f47c7a 100644 --- a/content/page/cheatsheet/_index.md +++ b/content/cheatsheet/_index.md @@ -1,9 +1,10 @@ --- title: Cheatsheets name: "cheats" +slug: cheatsheets menu: main: - weight: 4 + weight: 5 params: icon: infinity --- diff --git a/content/page/cheatsheet/linux.md b/content/cheatsheet/linux.md similarity index 98% rename from content/page/cheatsheet/linux.md rename to content/cheatsheet/linux.md index 71f912c..312220e 100644 --- a/content/page/cheatsheet/linux.md +++ b/content/cheatsheet/linux.md @@ -1,5 +1,6 @@ --- -title: Linux +title: Linux Cheatsheet +slug: linux author: "Fernando Sánchez" description: Tips and tricks for GNU/Linux and Unix image: "img/linux.png" diff --git a/content/page/cheatsheet/python.md b/content/cheatsheet/python.md similarity index 100% rename from content/page/cheatsheet/python.md rename to content/cheatsheet/python.md diff --git a/content/page/about.md b/content/page/about.md new file mode 100644 index 0000000..a776282 --- /dev/null +++ b/content/page/about.md @@ -0,0 +1,36 @@ +--- +title: About +slug: about +readingTime: false +comments: false +menu: + main: + weight: 99 + params: + icon: user +--- + +Hello there, stranger! :wave: + +## About me + +My name is Fernando, and I like learning and solving hard problems. +Especially when it comes to computers, engineering and languages. + +I currently work at the Technical University of Madrid (UPM) as an assistant professor in the school of Telecommunications Engineering. +You can check out my [previous projects](/page/projects), and [my publications](https://scholar.google.com/citations?user=JLNusZ8AAAAJ&hl=en). +Feel free to get in touch through the comment section, an e-mail (`my first initial` `@sanchezrada.es`) or any other platform. +I am always happy to help and collaborate. + +## About this blog + +I use this blog for future reference, to write down some of the lessons I learn so. +I also see it as an exercise in reflection and sorting out my ideas. +Although I mostly do this for myself, to keep some lasting notes for the future, I also do it in hopes it might help someone like me in the future. + +Each post is an independent note. +To keep some structure I will try to stick to general categories (e.g., programming, project management, linux), and add meaningful tags to help you and me find this information in the future. +You may also use the [search bar](/search) if you are looking for something specific and wondering if I've covered it. +For short thematically connected snippets and tips, I keep a dedicated section with [Cheatsheets](/cheatsheet). + + diff --git a/content/page/archives/index.md b/content/page/archives/index.md index 2b1bf20..65809f8 100644 --- a/content/page/archives/index.md +++ b/content/page/archives/index.md @@ -5,7 +5,7 @@ layout: "archives" slug: "archives" menu: main: - weight: 2 + weight: 98 params: icon: archives ---- \ No newline at end of file +--- diff --git a/content/page/cheatsheet/emacs.md b/content/page/cheatsheet/emacs.md deleted file mode 100644 index c5b4dbd..0000000 --- a/content/page/cheatsheet/emacs.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Emacs -description: Configuration files and tricks for emacs -image: "img/emacs.png" -tags: - - emacs - - org - - productivity - - lisp - ---- - - -## Show plain text version - - - -```lisp -(font-lock-mode) -``` - - diff --git a/content/page/cheatsheet/rpi.md b/content/page/cheatsheet/rpi.md deleted file mode 100644 index ca6769a..0000000 --- a/content/page/cheatsheet/rpi.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Raspberry Pi -description: Tools, links and configuration for your Raspberry Pi -image: img/rpi.png -tags: - - rpi ---- - -## HDMI flickering - -Avoid HDMI flickering/intermittent blanking on RPI with a 1400x1050 VGA monitor. - -```python - - hdmi_drive=2 - hdmi_group=2 - hdmi_mode=42 - disable_overscan=1 - config_hdmi_boost=7 -``` diff --git a/content/page/links/index.md b/content/page/links/index.md index a7ef451..0728277 100644 --- a/content/page/links/index.md +++ b/content/page/links/index.md @@ -1,14 +1,40 @@ --- title: Links +description: Some pointers to useful resources. +readingTime: false links: - - title: GitHub - description: My GitHub profile + - title: My GitHub profile website: https://github.com/balkian image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png - - title: gitea - description: My gitea profile + - title: GSI's GitHub + description: I contribute to both public and private projects on the "Grupo de Sistemas Inteligentes" organization. + website: https://github.com/gsi-upm + image: "/img/gsi.png" + - title: Dotfiles + description: My configuration files. + website: https://github.com/balkian/dotfiles + image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png + - title: Gists + description: A collection of snippets that are/were useful for very specific tasks. + website: https://github.com/balkian/gists + image: https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png + - title: Oxide and friends + description: A weekly podcast about technology, from the guys behind the Oxide Computer Company. + website: https://oxide-and-friends.transistor.fm/ + image: https://img.transistor.fm/e6CHJbwIxDiCUoVc9ylEKOnBKax85QPGwFI5Lezj2ho/rs:fill:800:800:1/q:60/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzI5MjU2LzE2NDg0/OTAxMDAtYXJ0d29y/ay5qcGc.webp + - title: The Changelog Podcast(s) + description: The Changelog podcast is software's best weekly news brief (Mondays), deep technical interviews (Wednesdays) & talk show (Fridays). + website: https://changelog.com + image: https://cdn.changelog.com/static/images/podcasts/podcast-medium-126fc11a345517eb5ae5708daee38390.png + - title: Two's complement + description: A podcast by Matt Godbolt and Ben Rady about programming. + website: https://www.twoscomplement.org + image: /img/twos-complement.png + - title: My self-hosted gitea instance + description: I use this for private projects, and to keep mirrors of important projects on GitHub, just in case. website: https://git.sinpapel.es/balkian image: https://git.sinpapel.es/assets/img/logo.svg + menu: main: weight: 4 diff --git a/content/page/projects/index.md b/content/page/projects/index.md index c30afb9..1323abe 100644 --- a/content/page/projects/index.md +++ b/content/page/projects/index.md @@ -1,8 +1,9 @@ --- title: Projects +readingTime: false menu: main: - weight: 1 + weight: 90 params: icon: clock --- @@ -24,6 +25,6 @@ Past Projects * [Marl](http://gsi.dit.upm.es/ontologies/marl): I updated this ontology, originally created by Adam Westerski, to make it compatible with the W3C's provenance ontology. * [Hermes](http://github.com/balkian/hermes): one of my first projects, developed together with David Pérez as the special custom assignment in one of our courses. Hermes is an affective bot designed to mimic the behavour of humans. It included a plug-in system for its sensors and actuators. The information from its sensors changed its emotional state, which was shown via its actuators. Among others, it could fetch inforation from Twitter or its host system and change the expressions of an external Face made with servo motors or speak via its Text-To-Speech software. For instance, it could detect it was running out of battery, showing a sad face and sending an alerting tweet. You can see it in action in these two youtube videos: [Part 1](http://www.youtube.com/watch?v=KnEYahPD9z4) and [Part 2](http://www.youtube.com/watch?v=lQZldCTPEJc). * [Maia](http://github.com/gsi-upm/maia): the Modular Architecture for Intelligent Agents is an evented agent architecture that aims to update the classical frameworks for intelligent agents with the concepts emerged from the Live Web. -* [EESTEC.net](http://github.com/eestec/eestec.portal): the Plone based official portal of EESTEC. It has been my first and only experience with Plone. I fixed some bugs and implemented basic features. +* [EESTEC.net](http://github.com/eestec/eestec.portal): the Plone based official portal of EESTEC. I fixed some bugs and implemented basic features. For more information, check my list of public repositories in Github. diff --git a/content/page/search/index.md b/content/page/search/index.md index 7507b68..1556b58 100644 --- a/content/page/search/index.md +++ b/content/page/search/index.md @@ -7,7 +7,7 @@ outputs: - json menu: main: - weight: 3 + weight: 2 params: icon: search ---- \ No newline at end of file +--- diff --git a/content/post/emacs-font-lock.md b/content/post/emacs-font-lock.md new file mode 100644 index 0000000..a91bc7f --- /dev/null +++ b/content/post/emacs-font-lock.md @@ -0,0 +1,18 @@ +--- +title: "Emacs: show plain text version" +#image: "img/emacs.png" +tags: + - emacs + - org + - productivity + - lisp + - snippet +--- + + + +```lisp +(font-lock-mode) +``` + + diff --git a/content/post/rpi-hdmi-flickering.md b/content/post/rpi-hdmi-flickering.md new file mode 100644 index 0000000..930f514 --- /dev/null +++ b/content/post/rpi-hdmi-flickering.md @@ -0,0 +1,21 @@ +--- +title: Fixing HDMI flickering +image: img/rpi.png +readingTime: false +categories: + - Linux +tags: + - rpi + - snippet +--- + +Use this config to avoid HDMI flickering/intermittent blanking on RPI with a 1400x1050 VGA monitor. + +```python + + hdmi_drive=2 + hdmi_group=2 + hdmi_mode=42 + disable_overscan=1 + config_hdmi_boost=7 +``` diff --git a/gsi.png b/gsi.png new file mode 100644 index 0000000000000000000000000000000000000000..6ab93de0c7f82d37d8e6b2b3aed69b86a7c3358e GIT binary patch literal 5941 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