mirror of
https://github.com/balkian/balkian.github.com.git
synced 2025-08-23 20:22:20 +00:00
refactor
This commit is contained in:
36
content/page/about.md
Normal file
36
content/page/about.md
Normal file
@@ -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).
|
||||
|
||||
|
@@ -5,7 +5,7 @@ layout: "archives"
|
||||
slug: "archives"
|
||||
menu:
|
||||
main:
|
||||
weight: 2
|
||||
weight: 98
|
||||
params:
|
||||
icon: archives
|
||||
---
|
||||
---
|
||||
|
@@ -1,9 +0,0 @@
|
||||
---
|
||||
title: Cheatsheets
|
||||
name: "cheats"
|
||||
menu:
|
||||
main:
|
||||
weight: 4
|
||||
params:
|
||||
icon: infinity
|
||||
---
|
@@ -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
|
||||
|
||||
<!--more-->
|
||||
|
||||
```lisp
|
||||
(font-lock-mode)
|
||||
```
|
||||
|
||||
|
@@ -1,125 +0,0 @@
|
||||
---
|
||||
title: Linux
|
||||
author: "Fernando Sánchez"
|
||||
description: Tips and tricks for GNU/Linux and Unix
|
||||
image: "img/linux.png"
|
||||
categories:
|
||||
- linux
|
||||
tags:
|
||||
- linux
|
||||
- arch
|
||||
---
|
||||
|
||||
## Black screen and LightDM doesn't unlock
|
||||
|
||||
Add this to your /etc/lightdm/lightdm.conf file:
|
||||
|
||||
```cfg
|
||||
[LightDM]
|
||||
logind-check-graphical=true
|
||||
```
|
||||
|
||||
|
||||
##Edit previous commands
|
||||
|
||||
`fc` is a shell builtin to list and edit previous commands in an editor.
|
||||
In addition to editing a single line (which you can also do with `C-x C-e`), it also allows you to edit and run several lines at the same time.
|
||||
You use it like this:
|
||||
|
||||
List previous commands
|
||||
|
||||
```shell
|
||||
$ fc -l
|
||||
10259 nvim deploy.sh
|
||||
10260* cd ..
|
||||
10261* nvim content/cheatsheet/linux.md
|
||||
10262 cd
|
||||
```
|
||||
|
||||
List commands with date (in zsh)
|
||||
|
||||
```shell
|
||||
$ fc -ld
|
||||
10260* 19:38 cd ..
|
||||
10261* 19:38 nvim content/cheatsheet/linux.md
|
||||
10262 19:40 cd
|
||||
10263 19:40 fc -l
|
||||
```
|
||||
|
||||
You can add the date too:
|
||||
|
||||
```shell
|
||||
$ fc -fld
|
||||
10262 1/10/2019 19:40 cd
|
||||
10263 1/10/2019 19:40 fc -l
|
||||
10264 1/10/2019 19:40 fc -ld
|
||||
```
|
||||
|
||||
You can edit a range of commands
|
||||
|
||||
```shell
|
||||
$ fc 10262 10264
|
||||
```
|
||||
|
||||
|
||||
The range can be relative to the current position, so the previous command is equivalent to:
|
||||
|
||||
```shell
|
||||
$ fc -3 -1
|
||||
```
|
||||
|
||||
If you save and exit, all commands are executed as a script, and it will be added to your history.
|
||||
|
||||
Source: https://shapeshed.com/unix-fc/
|
||||
|
||||
## Prevent logoff from killing tmux sessions
|
||||
|
||||
Lately I've noticed that logging out of i3, intentionally or when i3 fails, would also kill any tmux or emacs sessions.
|
||||
This is extremely annoying.
|
||||
|
||||
This is caused by a new default in logind (systemd's login) to kill user process on logoff.
|
||||
You can revert this setting in your logind.conf (`/etc/systemd/logind.conf`):
|
||||
|
||||
```cfg
|
||||
KillUserProcesses=no
|
||||
```
|
||||
|
||||
Or only for a specific process (e.g., tmux):
|
||||
|
||||
```shell
|
||||
systemd-run --scope --user tmux
|
||||
```
|
||||
|
||||
Source: https://unix.stackexchange.com/questions/490267/prevent-logoff-from-killing-tmux-session
|
||||
|
||||
|
||||
## Upload a temporary file
|
||||
|
||||
Sometimes you just need to copy/paste a file from a server, and copying from the terminal can be a hassle.
|
||||
These two services are command-line "pastebins" just one curl away:
|
||||
|
||||
```shell
|
||||
<command> | curl -F 'sprunge=<-' http://sprunge.us
|
||||
# OR
|
||||
|
||||
<command> 2>&1 | curl -F 'f:1=<-' ix.io
|
||||
|
||||
# OR
|
||||
|
||||
<command> | curl -F"file=@-" https://ttm.sh
|
||||
```
|
||||
|
||||
|
||||
# Install Fortinet SSLVPN support for NetworkManager
|
||||
|
||||
UPM (Universidad Politécnica de Madrid) uses a propriatary VPN solution.
|
||||
The instructions for GNU/Linux on their website involve downloading a specific client (`.tar.gz`) and manually running it.
|
||||
That works, but it is kind of a hassle.
|
||||
A much more convenient alternative is installing this NetworkManager plugin:
|
||||
|
||||
```shell
|
||||
pacman -Sy networkmanager-fortisslvpn
|
||||
# Or apt get install networkmanager-fortisslvpn
|
||||
```
|
||||
|
||||
Now you can simply add a new VPN connection in NetworkManager and manage it as you would any other connection.
|
@@ -1,38 +0,0 @@
|
||||
---
|
||||
title: Python
|
||||
description: Tips and useful libraries for python developers
|
||||
image: "img/python.png"
|
||||
categories:
|
||||
- programming
|
||||
tags:
|
||||
- python
|
||||
- programming
|
||||
---
|
||||
|
||||
## Interesting libraries
|
||||
|
||||
### [TQDM](https://github.com/tqdm/tqdm)
|
||||
|
||||
|
||||
From tqdm's github repository:
|
||||
|
||||
> tqdm means "progress" in Arabic (taqadum, تقدّم) and an abbreviation for "I love you so much" in Spanish (te quiero demasiado).
|
||||
|
||||
|
||||

|
||||
|
||||
## Tools
|
||||
|
||||
### [uv](https://github.com/astral-sh/uv)
|
||||
|
||||
🚀 A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more.
|
||||
⚡️ 10-100x faster than pip.
|
||||
* Provides comprehensive project management, with a universal lockfile.
|
||||
* Runs scripts, with support for inline dependency metadata.
|
||||
* Installs and manages Python versions.
|
||||
* Runs and installs tools published as Python packages.
|
||||
* Includes a pip-compatible interface for a performance boost with a familiar CLI.
|
||||
* Supports Cargo-style workspaces for scalable projects.
|
||||
* Disk-space efficient, with a global cache for dependency deduplication.
|
||||
* Installable without Rust or Python via curl or pip.
|
||||
* Supports macOS, Linux, and Windows.
|
@@ -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
|
||||
```
|
@@ -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
|
||||
|
@@ -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 <a href="http://github.com/balkian"><i class="fab fa-github"> Github</i></a>.
|
||||
|
@@ -7,7 +7,7 @@ outputs:
|
||||
- json
|
||||
menu:
|
||||
main:
|
||||
weight: 3
|
||||
weight: 2
|
||||
params:
|
||||
icon: search
|
||||
---
|
||||
---
|
||||
|
Reference in New Issue
Block a user