Compare commits

..

No commits in common. "cc6091c7a0e9cc5714c5b8e7a46f9fcd33d7e8aa" and "f834859781f855dc2779a8b34cb90c96053d3106" have entirely different histories.

203 changed files with 1022 additions and 1904 deletions

View file

@ -1,50 +0,0 @@
const { basename } = require("path");
const { EleventyHtmlBasePlugin } = require("@11ty/eleventy");
const automaticNoopener = require("eleventy-plugin-automatic-noopener");
const markdownItWikilinks = require("markdown-it-wikilinks")({
uriSuffix: "",
postProcessPagePath: (path) => path,
postProcessLabel: (path) => basename(path).match(/^(?:(?:\d{4})-(?:\d{2})-(?:\d{2})-)?(.+)$/)[1],
relativeBaseURL: "../",
});
const { formatDate } = require("./helpers/date");
/**
* @param {import("@11ty/eleventy").UserConfig} eleventyConfig
*/
module.exports = function config(eleventyConfig) {
eleventyConfig.addPassthroughCopy("drip.css");
eleventyConfig.addPassthroughCopy("cowboy.svg");
eleventyConfig.addPassthroughCopy("status/*");
eleventyConfig.addPassthroughCopy("x/**/*.png");
eleventyConfig.addPassthroughCopy("x/**/*.jpg");
eleventyConfig.addPassthroughCopy("x/**/*.mp4");
eleventyConfig.addPassthroughCopy("bookmarks/**/*.png");
eleventyConfig.addPassthroughCopy("bookmarks/**/*.jpg");
eleventyConfig.addPassthroughCopy("bookmarks/**/*.mp4");
eleventyConfig.addPlugin(EleventyHtmlBasePlugin);
eleventyConfig.addPlugin(automaticNoopener, {
noreferrer: false,
});
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(markdownItWikilinks));
eleventyConfig.addCollection("x", (collectionApi) => collectionApi.getFilteredByGlob("x/**/*"));
eleventyConfig.addShortcode(
"dateToISO",
/** @param {Date} date */ (date) => date.toISOString().slice(0, 10)
);
eleventyConfig.addShortcode("formatDate", formatDate);
eleventyConfig.addShortcode("relativeLink", (link, baseUrl) => new URL(link, baseUrl).toString());
// eleventyConfig.addShortcode("formatDateish", formatDateish);
// eleventyConfig.addShortcode("dateishToElement", dateishToElement);
return {
dir: {
output: "build",
},
};
};

View file

@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-checkout' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-checkout'.\n"; exit 2; }
git lfs post-checkout "$@" git lfs post-checkout "$@"

View file

@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-commit' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-commit'.\n"; exit 2; }
git lfs post-commit "$@" git lfs post-commit "$@"

View file

@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'post-merge' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-merge'.\n"; exit 2; }
git lfs post-merge "$@" git lfs post-merge "$@"

View file

@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'pre-push' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; } command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/pre-push'.\n"; exit 2; }
git lfs pre-push "$@" git lfs pre-push "$@"

3
.gitignore vendored
View file

@ -1,4 +1,7 @@
build/ build/
node_modules/ node_modules/
build-js/
.env .env
cache/
rootfs/
.pnpm-store/ .pnpm-store/

1
.npmrc Normal file
View file

@ -0,0 +1 @@
@nulo:registry=https://gitea.nulo.in/api/packages/nulo/npm/

View file

@ -0,0 +1,38 @@
_[Parte 2](2023-04-30%20Donweb%20quiere%20tu%20cripto.html)_
Hace unos días compre el "Cloud Server" (VPS) más barato que ofrece [[Donweb]] para experimentar ya que no había visto hosting en Argentina tan barato antes. No ofrecían la posibilidad de bootear distros alternativas a las que te ofrecen (Debian, Ubuntu, CentOS y Rocky) que me pareció raro, pero todo se puede hackear.
Me pareció raro/sospechoso que la instalación de Debian por defecto venía con las llaves SSH de muchisimxs empleadxs de Donweb en el authorized_keys de root dandoles acceso de superusuario, por lo que las borré.
Bootié una imágen de otro de mis proyectos experimentales, [define-alpine](https://gitea.nulo.in/Nulo/define-alpine), ya que quería ver que tan complicado era hacerlo funcionar en un entorno poco flexible como este. Por las 23 horas, lo logré, mandando esta captura de pantalla de victoria a un amigo:
![Captura de pantalla de una terminal de Linux con una sesión recién iniciada](2022-11-18%20Donweb%20es%20ridículo.md-captura-pre.jpg)
Me fui a dormir victorioso. Al día siguiente, por las 10 de la mañana, recibo este mail:
>Buenos días! como estas? espero que te encuentres muy bien! Tomo contacto contigo en esta ocasión para informarte que deberás re-crear el cloud correspondiente ya que has Instalado otro SO arriba de la imagen provista y no esta permitido.
>
>Saludos cordiales,
>
>Quedo a tu disposición y te agradezco califiques mi respuesta porque nos ayudará a mejorar la calidad de atención.
>
><pre>---------------------------------------------</pre><br>
>[CENSURADO]<br>
>Cloud & IaaS Technical Support - Donweb.cloud<br>
><pre>---------------------------------------------</pre>
En ese momento estaba encerrado en una institución educativa, pero mi amigo descubrió que efectivamente sus terminos y condiciones lo prohibian entre otras cosas.
>Se incluye en este punto también cualquier otra información que DonWeb by Dattatec considere inapropiada según su absoluto y exclusivo criterio. Cualquier uso indebido de los servicios autorizará a DonWeb by Dattatec a la suspensión o eliminación de los servicios contratados y sus contenidos sin previo aviso, no haciéndose responsable DonWeb by Dattatec por cualquier pérdida que esto implique.
>El servidor deberá responder a SNMP (http://es.wikipedia.org/wiki/Simple_Network_Management_Protocol) desde ciertas IPs utilizadas por DonWeb by Dattatec para monitoreo del servicio las cuales son asignadas en la configuracion al momento del alta. El cliente no deberá desinstalar el servicio SNMP ni modificar su configuracion.
>DonWeb by Dattatec se reserva el derecho de suspender el servicio en cualquier momento en caso de detectar alguna anormalidad en las configuraciones antes mencionadas y no poder acceder al servidor para realizar las correcciones necesarias.
>IMPORTANTE: Una vez adquirido el Cloud Server, el cliente tiene la posibilidad de instalar cualquier imagen de los SO ofrecidos que se ajuste a sus necesidades. No obstante, el cliente debe abstenerse de instalar (o pisar una instalación) con una distribución y/o Sistema Operativo distinto a los ofrecidos en el catálogo de imágenes de DonWeb. DonWeb se reserva el derecho de suspender sin previo aviso el servicio en caso que se detecte lo antes mencionado o cualquier acción que comprometa la seguridad e integridad del servicio o la compañía.
DonYuta o RatiWeb, bue. Cuando logre escapar de dicha institución educativa y llegué a mi computador portable, descubrí que Donweb se había tomado la libertad de entrar al VNC de mi servidor a clavarse unos comandos:
![Captura de pantalla de una terminal de Linux con varios comandos consultando información sobre el sistema operativo que corría, entre otras cosas](2022-11-18%20Donweb%20es%20ridículo.md-captura-post.jpg)
No recomiendo.

View file

@ -1,22 +1,22 @@
_[Parte 1](/x/2022-11-18-Donweb%20es%20rid%C3%ADculo/)_ _[Parte 1](2022-11-18%20Donweb%20es%20rid%C3%ADculo.html)_
Como si no fuera suficiente, [[Donweb]] me sigue mandando mails por más que me desuscribí varias veces. No debería sorprenderme de la empresa que hace _[Email Marketing](https://envialosimple.com/es-ar)_ (Spam as a Service), pero es hinchapelotas. Como si no fuera suficiente, [[Donweb]] me sigue mandando mails por más que me desuscribí varias veces. No debería sorprenderme de la empresa que hace _[Email Marketing](https://envialosimple.com/es-ar)_ (Spam as a Service), pero es hinchapelotas.
Ayer recibí un mail un poco raro. Ayer recibí un mail un poco raro.
![un email que proveniente de Donweb pero con el nombre de enviador como "metamask" alertandome de que supuestamente el acceso a mi cripto habría sido suspendido](screenshot-mail.png) ![un email que proveniente de Donweb pero con el nombre de enviador como "metamask" alertandome de que supuestamente el acceso a mi cripto habría sido suspendido](2023-04-30%20Donweb%20quiere%20tu%20cripto.md-Screenshot%20from%202023-04-30%2016-28-20.png)
Al principió quise asumir que quizás Doncopado decidió notificarnos de algo que afectaba a MetaMask en general, aunque realmente sospechaba que era una estafa. Al principió quise asumir que quizás Doncopado decidió notificarnos de algo que afectaba a MetaMask en general, aunque realmente sospechaba que era una estafa.
> Hola nulo@redacted >Hola nulo@redacted
> >
> Aquí le escribimos para informarle de un alto riesgo potencial para su crypto de criptomonedas debido a un alto volumen de transacciones en la red de Ethereum durante la actualización reciente de Shanghai. Para proteger sus activos, recomendamos encarecidamente que actualice manualmente su billetera antes del 3 de mayo. Si no actualiza antes de la fecha límite, perderá permanentemente todos sus activos. >Aquí le escribimos para informarle de un alto riesgo potencial para su crypto de criptomonedas debido a un alto volumen de transacciones en la red de Ethereum durante la actualización reciente de Shanghai. Para proteger sus activos, recomendamos encarecidamente que actualice manualmente su billetera antes del 3 de mayo. Si no actualiza antes de la fecha límite, perderá permanentemente todos sus activos.
> >
> ### ¿Qué sucede si no se actualiza manualmente? >### ¿Qué sucede si no se actualiza manualmente?
> >
> Tenga en cuenta que no actualizar su crypto antes de la fecha límite resultará en una pérdida permanente de todos sus activos de criptomonedas. >Tenga en cuenta que no actualizar su crypto antes de la fecha límite resultará en una pérdida permanente de todos sus activos de criptomonedas.
> >
> <button>Recuperar mi cuenta</button> ><button>Recuperar mi cuenta</button>
Clickear el link grande que dice "Recuperar mi cuenta", te envía a `hxxps://my-ethupdatemetas.com/held/importz/`. Este link ahora está caído, pero pedía que ponga la llave secreta de recuperación de la billetera cripto (phishing). Clickear el link grande que dice "Recuperar mi cuenta", te envía a `hxxps://my-ethupdatemetas.com/held/importz/`. Este link ahora está caído, pero pedía que ponga la llave secreta de recuperación de la billetera cripto (phishing).
@ -26,16 +26,16 @@ No me sorprende, pero me decepciona aún más.
A veces estos mails de spam hacen parecer que vienen de un lugar cuando en realidad vienen de otro. Por eso hay tecnologías que verifican que vengan del lugar de donde dicen. Este mail fue verificado por mi servidor de mail como proveniente de `cio.donweb.com`. A veces estos mails de spam hacen parecer que vienen de un lugar cuando en realidad vienen de otro. Por eso hay tecnologías que verifican que vengan del lugar de donde dicen. Este mail fue verificado por mi servidor de mail como proveniente de `cio.donweb.com`.
> ``` >```
> * 1.7 URIBL_BLACK Contains an URL listed in the URIBL blacklist >* 1.7 URIBL_BLACK Contains an URL listed in the URIBL blacklist
> * [URIs: donweb-e.com] >* [URIs: donweb-e.com]
> [snip] >[snip]
> * -0.0 SPF_PASS SPF: sender matches SPF record >* -0.0 SPF_PASS SPF: sender matches SPF record
> [snip] >[snip]
> * -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature >* -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
> [snip] >[snip]
> * 2.3 DCC_CHECK Detected as bulk mail by DCC (dcc-servers.net) >* 2.3 DCC_CHECK Detected as bulk mail by DCC (dcc-servers.net)
> ``` >```
Fue enviado por `customer.io`. El link actualmente ya no apunta al sitio de phishing, porque `customer.io` bloqueo el link de trackeo (que supongo es hospedado por ellxs) y redirige a `https://customer.io/we-hate-spam/`. Fue enviado por `customer.io`. El link actualmente ya no apunta al sitio de phishing, porque `customer.io` bloqueo el link de trackeo (que supongo es hospedado por ellxs) y redirige a `https://customer.io/we-hate-spam/`.

1
404.md Normal file
View file

@ -0,0 +1 @@
No encontré esta página... Quizás me podrías [avisar](Contacto.html). o/

View file

@ -5,7 +5,5 @@
<link rel="stylesheet" href="https://nulo.ar/center.css" /> <link rel="stylesheet" href="https://nulo.ar/center.css" />
<title>502 me caí :(</title> <title>502 me caí :(</title>
<body style="margin: auto"> <h1>Me caí :( mala puerta de enlace</h1>
<h1>Me caí :( mala puerta de enlace</h1> <img src="se-cayó.jpg" alt="Estx servidorx caídx al lado de unx que no" />
<img src="se-cayó.jpg" alt="Estx servidorx caídx al lado de unx que no" />
</body>

View file

@ -42,53 +42,53 @@ Tuve varios problemas al intentar levantar un entorno de desarrollo local con el
- Vite esperaba que los archivos de React tengan la extensión `.jsx` mientras que originalmente tenían la extensión `.js`. Script: - Vite esperaba que los archivos de React tengan la extensión `.jsx` mientras que originalmente tenían la extensión `.js`. Script:
```sh ```sh
for f in $(find -iname '*.js'); do for f in $(find -iname '*.js'); do
mv $f ${f}x mv $f ${f}x
done done
``` ```
- Había una parte del código que eran archivos SVG "compilados" a React. Sin embargo, estos esperaban una variable especial de webpack (o algún plugin de webpack) que por supuesto no existía. Para esto, hice otro script para inyectarles esa variable: - Había una parte del código que eran archivos SVG "compilados" a React. Sin embargo, estos esperaban una variable especial de webpack (o algún plugin de webpack) que por supuesto no existía. Para esto, hice otro script para inyectarles esa variable:
```sh ```sh
for f in $(find -iname '*.svg.js'); do for f in $(find -iname '*.svg.js'); do
echo 'const __webpack_public_path__ = "https://learngerman.dw.com/";' > ${f}.lol echo 'const __webpack_public_path__ = "https://learngerman.dw.com/";' > ${f}.lol
cat $f >> ${f}.lol cat $f >> ${f}.lol
mv ${f}.lol $f mv ${f}.lol $f
done done
``` ```
- Tenía que instalar las dependencias de todo el proyecto. Esto lo hice con más script-fu: - Tenía que instalar las dependencias de todo el proyecto. Esto lo hice con más script-fu:
```sh ```sh
grep -r "from '[\w@].*';" . > imports grep -r "from '[\w@].*';" . > imports
sort -u imports > imports.uniq sort -u imports > imports.uniq
xargs pnpm add < imports.uniq xargs pnpm add < imports.uniq
# Por alguna razón esto no fue suficiente y tuve que manualmente añadir varias dependencias # Por alguna razón esto no fue suficiente y tuve que manualmente añadir varias dependencias
pnpm add graphql videojs-seek-buttons videojs-contrib-quality-levels videojs-hls-quality-selector videojs-seek-buttons videojs-hls-quality-selector pnpm add graphql videojs-seek-buttons videojs-contrib-quality-levels videojs-hls-quality-selector videojs-seek-buttons videojs-hls-quality-selector
``` ```
- Faltaba tener el CSS localmente así que lo descargé: - Faltaba tener el CSS localmente así que lo descargé:
```sh ```sh
for f in basestyles stylesheets customBaku; do for f in basestyles stylesheets customBaku; do
wget https://learngerman.dw.com/assets/css/${f}.css wget https://learngerman.dw.com/assets/css/${f}.css
done done
``` ```
- En `config.js` se tomaban variables de entorno que asumo existen en el entorno de trabajo de lxs desarrolladorxs. Yo las mentí: - En `config.js` se tomaban variables de entorno que asumo existen en el entorno de trabajo de lxs desarrolladorxs. Yo las mentí:
```js ```js
const process = { const process = {
env: { env: {
// REACT_APP_GRAPHQL_BASE_URL: "https://learngerman.dw.com/graphql", // REACT_APP_GRAPHQL_BASE_URL: "https://learngerman.dw.com/graphql",
REACT_APP_GRAPHQL_BASE_URL: "https://localhost:4002/graphql", REACT_APP_GRAPHQL_BASE_URL: "https://localhost:4002/graphql",
REACT_APP_RECAPTCHA_SITEKEY: null, REACT_APP_RECAPTCHA_SITEKEY: null,
}, },
}; };
``` ```
Notese como originalmente había mentido diciendo que la URL de la API era learngerman.dw.com, pero luego lo cambié para que apunte a una URL local ya que la API no me permitía accederla desde un sitio no legítimo. Esa URL local apunta a un proxy a la API real. Notese como originalmente había mentido diciendo que la URL de la API era learngerman.dw.com, pero luego lo cambié para que apunte a una URL local ya que la API no me permitía accederla desde un sitio no legítimo. Esa URL local apunta a un proxy a la API real.
Es muy probable que haya tenido que hacer más cosas y me haya olvidado. Fue mucho prueba y error hasta que el sitio finalmente cargó. Es muy probable que haya tenido que hacer más cosas y me haya olvidado. Fue mucho prueba y error hasta que el sitio finalmente cargó.
@ -98,7 +98,7 @@ Por un tiempo, tuve una de mis muñecas inaccesibles por unas semanas. Esto me o
Recientemente, en el sitio agregaron una solapa de "transcripción" mostrando todo el dialogo que había en el video del ejercicio. Sin embargo, cuando esta solapa estaba cerrada, se podían seguir seleccionando los enlaces dentro de la solapa con el teclado, haciendo la navegación por teclado tediosa. Recientemente, en el sitio agregaron una solapa de "transcripción" mostrando todo el dialogo que había en el video del ejercicio. Sin embargo, cuando esta solapa estaba cerrada, se podían seguir seleccionando los enlaces dentro de la solapa con el teclado, haciendo la navegación por teclado tediosa.
<video controls src="details.mp4">Tu navegador no soporta video HTML5.</video> <video controls src="Arreglando bugs ajenos.md-details.mp4">Tu navegador no soporta video HTML5.</video>
La solucion es simplemente usar el elemento de solapa que ya viene con el navegador: [`<details>`](https://developer.mozilla.org/es/docs/Web/HTML/Element/details). (La página de `<details>` en MDN esta desactualizada al momento de escribir este artículo.) La solucion es simplemente usar el elemento de solapa que ya viene con el navegador: [`<details>`](https://developer.mozilla.org/es/docs/Web/HTML/Element/details). (La página de `<details>` en MDN esta desactualizada al momento de escribir este artículo.)

3
Atreus v1.md Normal file
View file

@ -0,0 +1,3 @@
![Foto del Atreus v1 de frente](Atreus%20v1.md-frente.jpg)
![Foto del Atreus v1 de atrás, exponiendo sus cables interiores](Atreus%20v1.md-atrás.jpg)

View file

View file

@ -1,6 +1,6 @@
Término técnico para esta receta. [Viene de TikTok](https://www.tiktok.com/@foodiechina888/video/7071812170157198594). TRENDING **TOFU** RECIPE IN CHINA. Término técnico para esta receta. [Viene de TikTok](https://www.tiktok.com/@foodiechina888/video/7071812170157198594). TRENDING **TOFU** RECIPE IN CHINA.
<video src="tiktok.h264.mp4" controls></video> <video src="CHINESE GOD OIL.md-tiktok.h264.mp4" controls></video>
1. - Harina de almidón de maíz (maicena) (la receta pide "potato starch" pero YOLO) 1. - Harina de almidón de maíz (maicena) (la receta pide "potato starch" pero YOLO)
- Huevos revueltos (sin cocinar lol) - Huevos revueltos (sin cocinar lol)

View file

10
CSS: color-scheme.md Normal file
View file

@ -0,0 +1,10 @@
[MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme)
Es una propiedad de CSS que indica en que colores se puede renderizar tu sitio. Si especificas `color-scheme: dark`, los navegadores automáticamente cambian los colores del fondo, el texto, los inputs, etc para ajustarse a eso.
Sin embargo, Safari elije colores pésimos:
<figure>
<img src="./CSS:%20color-scheme-nulo.ar%20coso.jpg">
<figcaption>nulo.ar antes de que especifique colores para los links</figcaption>
</figure>

156
Caddyfile
View file

@ -1,156 +0,0 @@
{
http_port 8080
}
localhost:8443 {
log
file_server browse
root * ./build
redir "/Microcontrolador (teclados mecánicos).html" "/x/Microcontrolador%20(teclados%20mec%C3%A1nicos)/"
redir "/Monitoreo de censura de Internet.html" "/x/Monitoreo%20de%20censura%20de%20Internet/"
redir "/Mozilla.html" "/x/Mozilla/"
redir "/2022-06-08 Necesitamos seguridad colectiva.html" "/x/2022-06-08-Necesitamos%20seguridad%20colectiva/"
redir "/2022-07-13.html" "/x/2022-07-13/"
redir "/2022-07-16.html" "/x/2022-07-16/"
redir "/2022-10-15 Analisis de la extracción de datos del teléfono de Fernando André Sabag Montiel.html" "/x/2022-10-15-Analisis%20de%20la%20extracci%C3%B3n%20de%20datos%20del%20tel%C3%A9fono%20de%20Fernando%20Andr%C3%A9%20Sabag%20Montiel/"
redir "/2022-10-30 Bugs de accesibilidad.html" "/x/2022-10-30-Bugs%20de%20accesibilidad/"
redir "/2022-11-18 Donweb es ridículo.html" "/x/2022-11-18-Donweb%20es%20rid%C3%ADculo/"
redir "/2023-04-30 Donweb quiere tu cripto.html" "/x/2023-04-30-Donweb%20quiere%20tu%20cripto/"
redir "/404.html" "/x/404/"
redir "/Activismo Gordo.html" "/x/Activismo%20Gordo/"
redir "/Aesthetic.html" "/x/Aesthetic/"
redir "/Alimentación.html" "/x/Alimentaci%C3%B3n/"
redir "/Alpine Linux.html" "/x/Alpine%20Linux/"
redir "/Android.html" "/x/Android/"
redir "/Android Auto.html" "/x/Android%20Auto/"
redir "/Android seguro.html" "/x/Android%20seguro/"
redir "/Antiderechos de autorx.html" "/x/Antiderechos%20de%20autorx/"
redir "/Aprender.html" "/x/Aprender/"
redir "/Archivar los archivos de la dictadura militar.html" "/x/Archivar%20los%20archivos%20de%20la%20dictadura%20militar/"
redir "/2023-02-05 Vergüenza algorítmica.html" "/x/2023-02-05-Verg%C3%BCenza%20algor%C3%ADtmica/"
redir "/Arreglando bugs ajenos.html" "/x/2021-10-11-Arreglando%20bugs%20ajenos/"
redir "/Atreus v1.html" "/x/Atreus%20v1/"
redir "/Atreus v2.html" "/x/Atreus%20v2/"
redir "/BitTorrent.html" "/x/BitTorrent/"
redir "/BitTorrent v2.html" "/x/BitTorrent%20v2/"
redir "/Bluetooth.html" "/x/Bluetooth/"
redir "/Bookmarklets.html" "/x/Bookmarklets/"
redir "/Booteables.html" "/x/Booteables/"
redir "/Boox T68.html" "/x/Boox%20T68/"
redir "/Burn Book.html" "/x/Burn%20Book/"
redir "/C.html" "/x/C/"
redir "/CHINESE GOD OIL.html" "/x/CHINESE%20GOD%20OIL/"
redir "/Chromium.html" "/x/Chromium/"
redir "/Cocina.html" "/x/Cocina/"
redir "/Códigos QR.html" "/x/C%C3%B3digos%20QR/"
redir "/Comics.html" "/x/Comics/"
redir "/Cooperativas.html" "/x/Cooperativas/"
redir "/Cosas.html" "/x/Cosas/"
redir "/CRDT.html" "/x/CRDT/"
redir "/CSS: color-scheme.html" "/x/CSS/"
redir "/curl.html" "/x/curl/"
redir "/DecSync.html" "/x/DecSync/"
redir "/Diseño.html" "/x/Dise%C3%B1o/"
redir "/Disroot.html" "/x/Disroot/"
redir "/DNS.html" "/x/DNS/"
redir "/Donweb.html" "/x/Donweb/"
redir "/Dropbear.html" "/x/Dropbear/"
redir "/E-ink.html" "/x/E-ink/"
redir "/Electronica.html" "/x/Electronica/"
redir "/Email.html" "/x/Email/"
redir "/EPUB.html" "/x/EPUB/"
redir "/Este sitio.html" "/x/Este%20sitio/"
redir "/Experiencing harmful behavior in Alpine.html" "/x/Experiencing%20harmful%20behavior%20in%20Alpine/"
redir "/Fabricación de circuitos impresos.html" "/x/Fabricaci%C3%B3n%20de%20circuitos%20impresos/"
redir "/Facebook.html" "/x/Facebook/"
redir "/Faircamp.html" "/x/Faircamp/"
redir "/FakeSMTP.html" "/x/FakeSMTP/"
redir "/Firecracker.html" "/x/Firecracker/"
redir "/Forgejo.html" "/x/Forgejo/"
redir "/Formatos de texto.html" "/x/Formatos%20de%20texto/"
redir "/Fotografía.html" "/x/Fotograf%C3%ADa/"
redir "/Fuck WebRTC.html" "/x/Fuck%20WebRTC/"
redir "/Git.html" "/x/Git/"
redir "/Gitea.html" "/x/Gitea/"
redir "/GNOME.html" "/x/GNOME/"
redir "/Go.html" "/x/Go/"
redir "/GraphHopper.html" "/x/GraphHopper/"
redir "/Hacks: limpiar servidor.html" "/x/Hacks:%20limpiar%20servidor/"
redir "/HedgeDoc.html" "/x/HedgeDoc/"
redir "/Herramienta de monitoreo de medios.html" "/x/Herramienta%20de%20monitoreo%20de%20medios/"
redir "/HTML.html" "/x/HTML/"
redir "/Ideas.html" "/x/Ideas/"
redir "/Ideas para un sistema operativo propio en Chromebooks.html" "/x/Ideas%20para%20un%20sistema%20operativo%20propio%20en%20Chromebooks/"
redir "/Ideas para una web distribuida.html" "/x/Ideas%20para%20una%20web%20distribuida/"
redir "/Infraestructura.html" "/x/Infraestructura/"
redir "/Internet censurado en escuelas con Plan Sarmiento.html" "/x/Internet%20censurado%20en%20escuelas%20con%20Plan%20Sarmiento/"
redir "/Inversiones.html" "/x/Inversiones/"
redir "/Jackson Burns - SKIN PURIFYING TREATMENT: Underscore's Melodrama.html" "/x/Jackson%20Burns%20-%20SKIN%20PURIFYING%20TREATMENT:%20Underscore's%20Melodrama/"
redir "/Jardin digital.html" "/x/Jardin%20digital/"
redir "/JavaScript.html" "/x/JavaScript/"
redir "/Javier Milei.html" "/x/Javier%20Milei/"
redir "/Keyboard layouts de pocas teclas.html" "/x/Keyboard%20layouts%20de%20pocas%20teclas/"
redir "/Leak OSDE 2022-08.html" "/x/Leak%20OSDE%202022-08/"
redir "/Lenguajes de marcado.html" "/x/Lenguajes%20de%20marcado/"
redir "/Lenguajes de programación.html" "/x/Lenguajes%20de%20programaci%C3%B3n/"
redir "/Lua.html" "/x/Lua/"
redir "/Lua funcional.html" "/x/Lua/"
redir "/Magnets o torrents reproducibles.html" "/x/Magnets%20o%20torrents%20reproducibles/"
redir "/Manjaro.html" "/x/Manjaro/"
redir "/Markdown.html" "/x/Markdown/"
redir "/Marketing.html" "/x/Marketing/"
redir "/Measured boot.html" "/x/Measured%20boot/"
redir "/Menú artístico.gen.html" "/x/Men%C3%BA%20art%C3%ADstico.gen/"
redir "/Mi webring.gen.html" "/"
redir "/Multimetro.html" "/x/Multimetro/"
redir "/NeoMutt.html" "/x/NeoMutt/"
redir "/Nix.html" "/x/Nix/"
redir "/Njalla caído.html" "/x/Njalla%20ca%C3%ADdo/"
redir "/Not So Shoujo Love Story.html" "/x/Not%20So%20Shoujo%20Love%20Story/"
redir "/Nullificación.html" "/bookmarks/2021-12-27-kayak-null/"
redir "/Nutrición.html" "/x/Nutrici%C3%B3n/"
redir "/Olla a presión.html" "/x/Olla%20a%20presi%C3%B3n/"
redir "/OnePlus 5T.html" "/x/OnePlus%205T/"
redir "/Opus Encoding.html" "/x/Opus%20Encoding/"
redir "/PDF.html" "/x/PDF/"
redir "/README.html" "/x/README/"
redir "/Salud mental.html" "/x/Salud%20mental/"
redir "/Seguridad de la infraestructura de llaves pública (PKI).html" "/x/Seguridad%20de%20la%20infraestructura%20de%20llaves%20p%C3%BAblica%20(PKI)/"
redir "/Signal.html" "/x/Signal/"
redir "/simplegit.html" "/x/simplegit/"
redir "/SONG® Music LLC.html" "/bookmarks/2021-12-17-SONG® Music LLC: NEWSONG® Pro+/"
redir "/SQLite.html" "/x/SQLite/"
redir "/Subdivx.html" "/x/Subdivx/"
redir "/Switches.html" "/x/Switches/"
redir "/SyncedStore.html" "/x/SyncedStore/"
redir "/Tailwind CSS.html" "/x/CSS/"
redir "/Teclados.html" "/x/Teclados/"
redir "/Teclados mecánicos.html" "/x/Teclados%20mec%C3%A1nicos/"
redir "/Thinkpad X230.html" "/x/Thinkpad%20X230/"
redir "/Tipear con una mano.html" "/x/Tipear%20con%20una%20mano/"
redir "/To-Do lists.html" "/x/To-Do%20lists/"
redir "/Permacomputación.html" "/x/Permacomputaci%C3%B3n/"
redir "/Piratería.html" "/x/Pirater%C3%ADa/"
redir "/Pleroma.html" "/x/Pleroma/"
redir "/Producción de música.html" "/x/Producci%C3%B3n%20de%20m%C3%BAsica/"
redir "/Programación.html" "/x/Programaci%C3%B3n/"
redir "/ProleText.html" "/x/ProleText/"
redir "/Protocolo de toma de decisiones Sutty v0.1.html" "/x/Protocolo%20de%20toma%20de%20decisiones%20Sutty%20v0.1/"
redir "/Proyectos.html" "/x/Proyectos/"
redir "/PWA.html" "/x/PWA/"
redir "/PXE.html" "/x/PXE/"
redir "/Python.html" "/x/Python/"
redir "/QEMU.html" "/x/QEMU/"
redir "/Twitter.html" "/x/Twitter/"
redir "/txt2txt.html" "/x/txt2txt/"
redir "/underscores - skin purifying treatment.html" "/x/underscores%20-%20skin%20purifying%20treatment/"
redir "/underscores - skin purifying treatment b sides.html" "/x/underscores%20-%20skin%20purifying%20treatment%20b%20sides/"
redir "/VPS.html" "/x/VPS/"
redir "/Web.html" "/x/Web/"
redir "/Wikimedia.html" "/x/Wikimedia/"
redir "/XMPP.html" "/x/XMPP/"
redir "/YouTube.html" "/x/YouTube/"
redir "/Quién soy.html" "/x/Qui%C3%A9n%20soy/"
redir "/YouTube Restricted Mode.html" "/x/YouTube%20Restricted%20Mode/"
}

5
Cosas.md Normal file
View file

@ -0,0 +1,5 @@
- [words that cost nothing to scrub from your vocabulary, and maybe you get a tiny sliver of your soul back:<br>
content -> art/video/music/comics/games etc, whatever the actual media is<br>
consume -> watch/listen/read/play etc<br>
IP -> franchise, series, universe, property](https://twitter.com/vectorpoem/status/1575183167497023490)
- ![Gráfico si deberías hacer proyecto](Cosas.md-grafico-hacer-proyecto.jpg)

View file

View file

View file

View file

View file

Some files were not shown because too many files have changed in this diff Show more