diff --git a/static/assets/weblog/note-taking-experimental/note-creation.png b/static/assets/weblog/note-taking-experimental/note-creation.png
new file mode 100644
index 0000000..b631883
Binary files /dev/null and b/static/assets/weblog/note-taking-experimental/note-creation.png differ
diff --git a/static/assets/weblog/note-taking-experimental/note-list.png b/static/assets/weblog/note-taking-experimental/note-list.png
new file mode 100644
index 0000000..bf37274
Binary files /dev/null and b/static/assets/weblog/note-taking-experimental/note-list.png differ
diff --git a/static/assets/weblog/note-taking-experimental/password-prompt.png b/static/assets/weblog/note-taking-experimental/password-prompt.png
new file mode 100644
index 0000000..3a40b95
Binary files /dev/null and b/static/assets/weblog/note-taking-experimental/password-prompt.png differ
diff --git a/static/assets/weblog/note-taking-experimental/top-buttons.png b/static/assets/weblog/note-taking-experimental/top-buttons.png
new file mode 100644
index 0000000..d835724
Binary files /dev/null and b/static/assets/weblog/note-taking-experimental/top-buttons.png differ
diff --git a/weblog.md b/weblog.md
index 4894c53..7968097 100644
--- a/weblog.md
+++ b/weblog.md
@@ -8,4 +8,5 @@ title: weblog
Aquí iré hablando sobre ideas, experiencias y demás cosas que podrían ser relevantes!
### 2023
-1. [Primer post](/weblog/firstpost) El nacimiento de mi weblog! :)
+- [Note Taking. Notas encriptadas](/weblog/note-taking-experiment) Un programa experimental para encriptar notas.
+- [Primer post](/weblog/firstpost) El nacimiento de mi weblog! :)
diff --git a/weblog/note-taking-experiment.md b/weblog/note-taking-experiment.md
new file mode 100644
index 0000000..f7033a4
--- /dev/null
+++ b/weblog/note-taking-experiment.md
@@ -0,0 +1,116 @@
+---
+layout: post.njk
+title: Note Taking. Notas encriptadas
+tags:
+ - rust
+ - experimentos
+ - note taking
+date: 2023-03-12
+---
+
+He estado un par de semanas experimentando con un concepto relativamente simple: _un programa que permita crear y
+almacenar notas encriptadas_.
+
+Este concepto es sencillo, pero la ejecución es lo importante. Me establecí una serie de objetivos que permitieran
+poder establecer una base sobre la que trabajar, y estos objetivos eran los siguientes:
+- **Simple**. Una aplicación fácil de usar para todo el mundo, con y sin conocimientos.
+- **Seguro**. Las notas no deben ser susceptibles de ataques de fuerza bruta y compañía.
+- **Completo**. Se debe ofrecer una gran variedad de opciones y posibilidades a la hora de redactar y ver las notas.
+
+Y pese a que el proyecto aún está siendo activamente desarrollado para poder cumplir todos los objetivos, creo que
+ya se encuentra en un estado en el que puedo mostrar más sobre él y explicar ciertas decisiones.
+
+## motivación
+
+Un día me di cuenta que mi _setup_ para tomar notas era bastante engorroso: abría el bloc de notas, escribía, guardaba
+el .txt, abría [Kleopatra](https://www.gpg4win.org/about.html), esperaba a que se cargara la base de datos, abría el
+Bloc de Notas de Kleopatra, cifraba y firmaba el texto usando una clave específica, y finalmente lo guardaba de vuelta
+en el .txt original.
+
+No es difícil darse cuenta de que este sistema no era _el óptimo_. Por tanto, decidí embarcarme en la búsqueda de
+algún programa que cumpliera los siguientes requisitos:
+1. **Offline**. No quiero mis notas, encriptadas o no, viajando por lugares desconocidos.
+2. **Seguro**. No quiero mis notas siendo desencriptadas por alguna vulnerabilidad o problema de diseño.
+3. **Simple**. No quiero tener que dar mil vueltas para escribir un documento de 50 palabras.
+
+Y todo lo que encontraba no cumplía todos los requisitos: o tenía _sincronización en la nube_, o la interfaz era muy
+compleja, etc.
+
+Por tanto, decidí que debía arreglar esto yo misma: y así surgió
+[note taking](https://git.sofiaritz.com/sofia/note-taking).
+
+## funcionamiento
+
+note taking tiene un funcionamiento bastante sencillo. Cuando abres la aplicación ocurre lo siguiente:
+1. Te pide que introduzcas la contraseña utilizada para encriptar la "_base de datos_".
+2. Comprueba la contraseña utilizando notas existentes.
+3. Si es correcta, carga todas las notas encriptadas en memoria para ser desencriptadas bajo demanda.
+
+Una vez has pasado esta etapa inicial, todo es muy intuitivo. Para añadir una nota haces click en el botón que dice
+"_want to add one note?_", para desencriptar una nota haces click en el botón que dice "_decrypt note_", etc.
+
+Además de esto, el apartado de configuración actualmente tiene la opción de exportar las notas en formato JSON para
+poder ser importadas por programas compatibles con el formato. En un futuro el apartado de configuración tendrá más
+opciones, como importar notas, cambiar la contraseña y demás.
+
+## seguridad
+
+Recientemente, se cambió como se manejaban las contraseñas en note taking. Ahora mismo se sigue el siguiente sistema:
+1. El usuario introduce la contraseña
+2. La contraseña pasa por una función de derivación
+([KDF](https://crypto.stackexchange.com/questions/40757/key-derivation-functions-kdf-what-are-they-what-are-their-main-purposes-and))
+ 1. Se calcula el SHA256 de la contraseña, que se utilizará como
+ [_salt_](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#salting).
+ 2. Se usa [Argon2](https://en.wikipedia.org/wiki/Argon2) para crear el hash de la contraseña.
+ 3. Se codifica el resultado en hexadecimal.
+3. Se utiliza [pwbox](https://docs.rs/pwbox/0.5.0/pwbox/) con la contraseña derivada.
+
+Este sistema evita que se puedan forzar las contraseñas:
+1. Todas las contraseñas tienen gran entropía al salir del KDF.
+2. El KDF tiene gran complejidad, lo que ralentiza los ataques de fuerza bruta.
+
+Además de esto, se utilizan ciertos sistemas para _sugerir_ al usuario el uso de contraseñas seguras. Un ejemplo de esto
+es cómo se le muestran al usuario tanto la longitud como entropía de la contraseña introducida con un sistema de colores
+bastante explícito que _invita_ al usuario a emplear contraseñas seguras.
+
+Todo esto se puede ver en mayor detalle en
+[_Security of the encrypted notes_ · sofia@git.sofiaritz.com/note-taking#1](https://git.sofiaritz.com/sofia/note-taking/issues/1).
+
+## planes de futuro
+
+En el futuro me gustaría añadir un sistema "_Markdown_" básico para que se puedan añadir cosas como letra en cursiva,
+negrita, imágenes, etc.
+
+Pese a que esto pueda parecer relativamente sencillo, especialmente teniendo en cuenta que
+[ya existen librerías](https://crates.io/crates/egui_commonmark) que se encargan de esto, cosas como imágenes pueden
+ser un gran vector de ataque para intentar desanonimizar u obtener información del usuario. Por tanto, esta clase de
+decisiones deben ser tomadas con mucho estudio y cautela.
+
+Además de esto, me gustaría mejorar la privacidad de ciertos aspectos de las notas (metadatos, etc.) y expandir los
+ajustes.
+
+## quiero probarlo!
+
+Ahora mismo [no estoy distribuyendo ejecutables](https://git.sofiaritz.com/sofia/note-taking/issues/2), pero es muy
+fácil compilar el proyecto si ya tienes Rust y Cargo!
+
+Si ya tienes Rust y Cargo [instalados](https://www.rust-lang.org/tools/install) y
+[actualizados](https://rust-lang.github.io/rustup/basics.html#keeping-rust-up-to-date), ejecuta los siguientes comandos:
+1. `git clone https://git.sofiaritz.com/sofia/note-taking.git`
+2. `cd note-taking`
+3. `cargo run --release`
+
+(Si el último paso falla, puede que tengas que utilizar `cargo +nightly build --release`)
+
+## ideas?
+
+Cualquier idea es bienvenida! [Ponte en contacto conmigo](/contact) o abre una
+[issue](https://git.sofiaritz.com/sofia/note-taking/issues) en el repositorio. :)
+
+## imágenes
+
+
+
+
+
+