From e96af5ce5e8dd00cf8a31d4812f416583defa449 Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero Date: Sun, 13 Apr 2025 13:00:43 +0200 Subject: New article, fix sass --- src/data/blog/americans-so-much-freedom.md | 31 ++++++++ src/data/blog/americans-so-much-freedom.mdx | 37 ---------- src/data/blog/configurar-php-iis.md | 111 ++++++++++++++++++++++++++++ src/data/blog/configurar-php-iis.mdx | 111 ---------------------------- src/data/blog/gobierno-no-aprueba-leyes.md | 43 +++++++++++ src/data/blog/gobierno-no-aprueba-leyes.mdx | 43 ----------- src/data/blog/mapa-facil-protomaps.md | 91 +++++++++++++++++++++++ src/data/blog/mapa-facil-protomaps.mdx | 91 ----------------------- src/data/blog/shitshow-wordpress.md | 69 +++++++++++++++++ src/data/blog/shitshow-wordpress.mdx | 69 ----------------- src/data/blog/vibe-coding-stop.md | 35 +++++++++ 11 files changed, 380 insertions(+), 351 deletions(-) create mode 100644 src/data/blog/americans-so-much-freedom.md delete mode 100644 src/data/blog/americans-so-much-freedom.mdx create mode 100644 src/data/blog/configurar-php-iis.md delete mode 100644 src/data/blog/configurar-php-iis.mdx create mode 100644 src/data/blog/gobierno-no-aprueba-leyes.md delete mode 100644 src/data/blog/gobierno-no-aprueba-leyes.mdx create mode 100644 src/data/blog/mapa-facil-protomaps.md delete mode 100644 src/data/blog/mapa-facil-protomaps.mdx create mode 100644 src/data/blog/shitshow-wordpress.md delete mode 100644 src/data/blog/shitshow-wordpress.mdx create mode 100644 src/data/blog/vibe-coding-stop.md (limited to 'src/data') diff --git a/src/data/blog/americans-so-much-freedom.md b/src/data/blog/americans-so-much-freedom.md new file mode 100644 index 0000000..0d15709 --- /dev/null +++ b/src/data/blog/americans-so-much-freedom.md @@ -0,0 +1,31 @@ +--- +title: "Americans: so much for your \"freedom\"" +description: "Regarding the \"freedom\" of Americans, the ban of TikTok, and whether Europe should follow suit" +publishedAt: 2025-01-17 +--- + + + +I've been thinking about the concept of "freedom" lately. It's a word that's thrown around a lot, especially in the United States. Americans are proud of their "freedom" and how they can do whatever they want. But is that really true? They do like to call us out about our "lack of freedom" in Europe and the insane amount of bureaucracy we have to deal with (and they are somewhat right), but they also have their own problems. + +They do like to throw around their first amendment, while they can't use words like "fuck" on publicly broadcast television because of "the children". Yet they seem to care way less about the mass shootings that happen every other week. As _The Onion_ likes to say, "'No way to prevent this', says the only nation where this regularly happens". + +The most recent "freedom" americans got is the TikTok ban because of "national security risks", as they put it. All while allowing a fascist immigrant billionaire called Elon Musk to essentially buy the election by manipulating one of the most popular social networks out there to bump his preferred choice (a [convicted felon](https://www.bbc.com/news/articles/c2qqnxnwl7wo) who tried to manipulate the 2020 election). + +Of course, this is all a farce. The real reason is people use TikTok way more than YouTube, Instagram and Twitter (yes, I'll dead-name it, the same way Elon dead-names his trans daughter), and the US government can't access all the sweet data collected, and can't apply their censorship there. Instead, the "evil" Chinese government can access it. The real problem isn't the data collection, the US does it too (see the Snowden leaks, the PRISM programme, etc.) and they don't care about it. The real problem is that they can't control it. By the way, the US also ran illegal surveillance on european (and their own) citizens, so perhaps we in Europe should ban US-based services because of "national security risks". + +--- + +We also have Mr. Musk, a pathetic excuse of a human being who has manipulated the stock market and the public opinion for years, and who has been allowed to do so by the US government. He bought the US presidential election of 2024 by manipulating the public opinion on Twitter, reinstating convicted felon Donald Trump and bumping his far-right opinions and supporters. + +Now he [wants to do the same in Europe](https://eu.usatoday.com/story/news/world/2025/01/08/elon-musk-european-politics/77503561007/), by supporting fascist parties like Alternativ für Deutschland (AfD) in Germany, Rassemblement National (RN, Le Pen's party) in France, Reform UK in the UK. After all, he owns the largest fascist cesspool in the world, Twitter, and he can do whatever he wants with it. + +Now, the EU should stop giving him slaps on the wrist (because of his platform allowing blatant misinformation and hate speech) and ban it, like the US did with TikTok. After all, it's a national security risk, right? Or is it only a national security risk when it's not the US doing it? Same goes for Mr. Zuckerberg with Facebook and Instagram, who have also "gone back to their roots regarding free speech" and now allow you to call someone mentally ill based on their gender or sexual orientation. He also says Facebook needs "masculine energy" to succeed. + +--- + +Dear European Union politicians, and fellow european citizens. We must act now. We must ban these harmful platforms from our land, and protect ourselves from this espionage, manipulation and hate speech. Or else, we might end up having another dark age, like the one with the austrian painter, but this time with foreign billionaires in charge. + +We must act now, before it's too late. We must protect our freedom, our democracy, our values. We must protect our future, unless we want to live in countries with no freedom, no democracy, no values and no future apart of the one dictated by the billionaires. diff --git a/src/data/blog/americans-so-much-freedom.mdx b/src/data/blog/americans-so-much-freedom.mdx deleted file mode 100644 index bf7c476..0000000 --- a/src/data/blog/americans-so-much-freedom.mdx +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Americans: so much for your \"freedom\"" -description: "Regarding the \"freedom\" of Americans, the ban of TikTok, and whether Europe should follow suit" -publishedAt: 2025-01-17 ---- - -import Alert from '@/components/Alert.astro'; - -export const components = { - Alert -} - - - This article is written in english because it's mainly directed to an international audience. - - -I've been thinking about the concept of "freedom" lately. It's a word that's thrown around a lot, especially in the United States. Americans are proud of their "freedom" and how they can do whatever they want. But is that really true? They do like to call us out about our "lack of freedom" in Europe and the insane amount of bureaucracy we have to deal with (and they are somewhat right), but they also have their own problems. - -They do like to throw around their first amendment, while they can't use words like "fuck" on publicly broadcast television because of "the children". Yet they seem to care way less about the mass shootings that happen every other week. As _The Onion_ likes to say, "'No way to prevent this', says the only nation where this regularly happens". - -The most recent "freedom" americans got is the TikTok ban because of "national security risks", as they put it. All while allowing a fascist immigrant billionaire called Elon Musk to essentially buy the election by manipulating one of the most popular social networks out there to bump his preferred choice (a [convicted felon](https://www.bbc.com/news/articles/c2qqnxnwl7wo) who tried to manipulate the 2020 election). - -Of course, this is all a farce. The real reason is people use TikTok way more than YouTube, Instagram and Twitter (yes, I'll dead-name it, the same way Elon dead-names his trans daughter), and the US government can't access all the sweet data collected, and can't apply their censorship there. Instead, the "evil" Chinese government can access it. The real problem isn't the data collection, the US does it too (see the Snowden leaks, the PRISM programme, etc.) and they don't care about it. The real problem is that they can't control it. By the way, the US also ran illegal surveillance on european (and their own) citizens, so perhaps we in Europe should ban US-based services because of "national security risks". - ---- - -We also have Mr. Musk, a pathetic excuse of a human being who has manipulated the stock market and the public opinion for years, and who has been allowed to do so by the US government. He bought the US presidential election of 2024 by manipulating the public opinion on Twitter, reinstating convicted felon Donald Trump and bumping his far-right opinions and supporters. - -Now he [wants to do the same in Europe](https://eu.usatoday.com/story/news/world/2025/01/08/elon-musk-european-politics/77503561007/), by supporting fascist parties like Alternativ für Deutschland (AfD) in Germany, Rassemblement National (RN, Le Pen's party) in France, Reform UK in the UK. After all, he owns the largest fascist cesspool in the world, Twitter, and he can do whatever he wants with it. - -Now, the EU should stop giving him slaps on the wrist (because of his platform allowing blatant misinformation and hate speech) and ban it, like the US did with TikTok. After all, it's a national security risk, right? Or is it only a national security risk when it's not the US doing it? Same goes for Mr. Zuckerberg with Facebook and Instagram, who have also "gone back to their roots regarding free speech" and now allow you to call someone mentally ill based on their gender or sexual orientation. He also says Facebook needs "masculine energy" to succeed. - ---- - -Dear European Union politicians, and fellow european citizens. We must act now. We must ban these harmful platforms from our land, and protect ourselves from this espionage, manipulation and hate speech. Or else, we might end up having another dark age, like the one with the austrian painter, but this time with foreign billionaires in charge. - -We must act now, before it's too late. We must protect our freedom, our democracy, our values. We must protect our future, unless we want to live in countries with no freedom, no democracy, no values and no future apart of the one dictated by the billionaires. diff --git a/src/data/blog/configurar-php-iis.md b/src/data/blog/configurar-php-iis.md new file mode 100644 index 0000000..cce6051 --- /dev/null +++ b/src/data/blog/configurar-php-iis.md @@ -0,0 +1,111 @@ +--- +title: "Alojar aplicación PHP en servidor IIS" +description: "Un breve tutorial de cómo alojar una aplicación PHP en un servidor IIS para desarrollo" +publishedAt: 2024-08-21 +--- + +En este tutorial, aprenderás a alojar una aplicación PHP en un servidor IIS. IIS es un servidor web desarrollado por Microsoft que viene instalado con Windows y es usable tanto en Windows Server como en escritorios Windows 10/11 Pro y Enterprise. + +Si no tienes PHP instalado, puedes descargarlo desde [php.net](https://www.php.net/downloads) y seguir las instrucciones de instalación. También debes tener IIS activado como característica de Windows (en escritorio) o como rol de servidor (en Windows Server). + +Para este tutorial, suponemos que estamos usando lo siguiente: + +- Ruta de la aplicación: `C:\users\user\app\public` (usamos `public` al alojar una aplicación Symfony, pero debe ser donde estén los archivos PHP públicos) +- Dominio de la aplicación: `app.internal` (`.internal` está reservado para uso interno) +- PHP instalado en `C:\php` +- IIS habilitado y funcionando (en `localhost:80` deberías ver la página de inicio de IIS) +- [MKCert](https://mkcert.dev) instalado para generar certificados TLS autofirmados + +## Crear un certificado TLS autofirmado + +Para poder acceder a tu servidor de forma segura, necesitas un certificado TLS. Puedes usar un certificado autofirmado para propósitos de desarrollo. Para crear un certificado autofirmado, ejecuta los siguientes comandos en PowerShell: + +```powershell +mkcert -install +mkcert -p12 app.internal +``` + +Esto generará un certificado `app.internal.p12` en el directorio actual. Posteriormente, hay que ir a IIS e importar el certificado a nivel servidor (en Seguridad -> Certificados de servidor -> Importar y seleccionando "todos los archivos" para encontrar el archivo `.p12`). + +## Creación del site + +En la barra izquierda, en Sitios hacemos clic derecho y seleccionamos Agregar sitio. En el cuadro de diálogo, rellenamos los campos de la siguiente manera: + +- Nombre del sitio: `app` (o el nombre que prefieras) +- Ruta de acceso física: `C:\users\user\app\public` +- Enlace: + - Tipo: `https` + - Dirección IP: `Todas las direcciones no asignadas` + - Puerto: `443` + - Nombre del host: `app.internal` + - Requerir indicación del nombre del servidor: `Sí` + - Deshabilitar [...] `No` + - Certificado: `app.internal` +- Iniciar sitio web inmediatamente: `Sí` + +Hacemos clic en Aceptar y el sitio se creará. Pero aún hay que configurar PHP y la reescritura de URL (si el enrutamiento se hace por el propio framework, como en Symfony). + +Antes de eso, hay que pulsar en la parte derecha en "Configuración básica" y cerciorarse de que el grupo de aplicaciones es `DefaultAppPool`. Si no lo es, hay que cambiarlo para que el sitio funcione correctamente. + +## Configuración de PHP + +Dentro del Sitio, ir a "Componentes del servidor -> Asignaciones de controlador -> Agregar asignación de módulo" y rellenar los campos de la siguiente manera: +- Ruta de acceso de solicitudes: `*.php` +- Módulo: `FastCgiModule` +- Ejecutable: `C:\php\php-cgi.exe` +- Nombre: `PHP` (o el nombre que prefieras) + +Hacemos clic en Aceptar y el módulo se añadirá. Ahora, hay que configurar la reescritura de URL. + +## Configuración de la reescritura de URL + +Primero, hay que autorizar variables de servidor. Dentro del Sitio, ir a "Caracterísitcas de HTTP -> Reglas de reescritura" y hacer clic en la barra derecha en "Ver variables de servidor". Añadir las siguientes variables: + +- `HTTP_X_FORWARDED_SCHEMA` +- `HTTP_X_FORWARDED_PROTO` +- `HTTP_X_FORWARDED_HOST` +- `HTTP_X_FORWARDED_FOR` + +Hacer clic en Aceptar y volver a la pantalla de reglas de reescritura. Hacer clic en "Agregar reglas" y seleccionar "Regla de blanco" dentro de "Reglas de entrada". Rellenar los campos de la siguiente manera: + +- Nombre: `Symfony` +- Coincidir dirección URL: + - Dirección URL solicitada: `Coincide con el patrón` + - Usando: `Expresiones regulares` + - Patrón: `^(.*)$` + - Omitir mayúsculas y minúsculas: `Desmarcado` +- Condiciones: + - Agrupación lógica: `Coincide con todas` + - Añadir condición: + - Entrada: `{REQUEST_FILENAME}` + - Comprobar si la cadena de entrada: `No es un archivo` + - Seguir los grupos de captura a través de condiciones: `Desmarcado` +- Variables de servidor: + - Agregar...: + - Nombre: `HTTP_X_FORWARDED_PROTO` + - Valor: `https` + - Remplazar el valor existente: `Marcado` + - Agregar...: + - Nombre: `HTTP_X_FORWARDED_SCHEMA` + - Valor: `https` + - Remplazar el valor existente: `Marcado` + - Agregar...: + - Nombre: `HTTP_X_FORWARDED_HOST` + - Valor: `{HTTP_HOST}` + - Remplazar el valor existente: `Marcado` + - Agregar...: + - Nombre: `HTTP_X_FORWARDED_FOR` + - Valor: `{REMOTE_ADDR}` + - Remplazar el valor existente: `Marcado` +- Acción: + - Tipo de acción: `Reescribir` + - Reescribir dirección URL: `/index.php` + - Anexar cadena de consulta: `Marcado` + - Dirección URL reescrita de registro: `Desmarcado` +- Detener procesamiento de reglas: `Desmarcado` + +Hacer clic en Aceptar y la regla se añadirá. Ahora, la aplicación PHP debería estar alojada en el servidor IIS y accesible en `https://app.internal`. + +## Conclusión + +En este tutorial, aprendiste a alojar una aplicación PHP en un servidor IIS. Aprendiste a crear un certificado TLS autofirmado, a configurar PHP y a configurar la reescritura de URL para que la aplicación funcione correctamente. Ahora puedes alojar aplicaciones PHP en un servidor IIS y acceder a ellas de forma segura. diff --git a/src/data/blog/configurar-php-iis.mdx b/src/data/blog/configurar-php-iis.mdx deleted file mode 100644 index cce6051..0000000 --- a/src/data/blog/configurar-php-iis.mdx +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: "Alojar aplicación PHP en servidor IIS" -description: "Un breve tutorial de cómo alojar una aplicación PHP en un servidor IIS para desarrollo" -publishedAt: 2024-08-21 ---- - -En este tutorial, aprenderás a alojar una aplicación PHP en un servidor IIS. IIS es un servidor web desarrollado por Microsoft que viene instalado con Windows y es usable tanto en Windows Server como en escritorios Windows 10/11 Pro y Enterprise. - -Si no tienes PHP instalado, puedes descargarlo desde [php.net](https://www.php.net/downloads) y seguir las instrucciones de instalación. También debes tener IIS activado como característica de Windows (en escritorio) o como rol de servidor (en Windows Server). - -Para este tutorial, suponemos que estamos usando lo siguiente: - -- Ruta de la aplicación: `C:\users\user\app\public` (usamos `public` al alojar una aplicación Symfony, pero debe ser donde estén los archivos PHP públicos) -- Dominio de la aplicación: `app.internal` (`.internal` está reservado para uso interno) -- PHP instalado en `C:\php` -- IIS habilitado y funcionando (en `localhost:80` deberías ver la página de inicio de IIS) -- [MKCert](https://mkcert.dev) instalado para generar certificados TLS autofirmados - -## Crear un certificado TLS autofirmado - -Para poder acceder a tu servidor de forma segura, necesitas un certificado TLS. Puedes usar un certificado autofirmado para propósitos de desarrollo. Para crear un certificado autofirmado, ejecuta los siguientes comandos en PowerShell: - -```powershell -mkcert -install -mkcert -p12 app.internal -``` - -Esto generará un certificado `app.internal.p12` en el directorio actual. Posteriormente, hay que ir a IIS e importar el certificado a nivel servidor (en Seguridad -> Certificados de servidor -> Importar y seleccionando "todos los archivos" para encontrar el archivo `.p12`). - -## Creación del site - -En la barra izquierda, en Sitios hacemos clic derecho y seleccionamos Agregar sitio. En el cuadro de diálogo, rellenamos los campos de la siguiente manera: - -- Nombre del sitio: `app` (o el nombre que prefieras) -- Ruta de acceso física: `C:\users\user\app\public` -- Enlace: - - Tipo: `https` - - Dirección IP: `Todas las direcciones no asignadas` - - Puerto: `443` - - Nombre del host: `app.internal` - - Requerir indicación del nombre del servidor: `Sí` - - Deshabilitar [...] `No` - - Certificado: `app.internal` -- Iniciar sitio web inmediatamente: `Sí` - -Hacemos clic en Aceptar y el sitio se creará. Pero aún hay que configurar PHP y la reescritura de URL (si el enrutamiento se hace por el propio framework, como en Symfony). - -Antes de eso, hay que pulsar en la parte derecha en "Configuración básica" y cerciorarse de que el grupo de aplicaciones es `DefaultAppPool`. Si no lo es, hay que cambiarlo para que el sitio funcione correctamente. - -## Configuración de PHP - -Dentro del Sitio, ir a "Componentes del servidor -> Asignaciones de controlador -> Agregar asignación de módulo" y rellenar los campos de la siguiente manera: -- Ruta de acceso de solicitudes: `*.php` -- Módulo: `FastCgiModule` -- Ejecutable: `C:\php\php-cgi.exe` -- Nombre: `PHP` (o el nombre que prefieras) - -Hacemos clic en Aceptar y el módulo se añadirá. Ahora, hay que configurar la reescritura de URL. - -## Configuración de la reescritura de URL - -Primero, hay que autorizar variables de servidor. Dentro del Sitio, ir a "Caracterísitcas de HTTP -> Reglas de reescritura" y hacer clic en la barra derecha en "Ver variables de servidor". Añadir las siguientes variables: - -- `HTTP_X_FORWARDED_SCHEMA` -- `HTTP_X_FORWARDED_PROTO` -- `HTTP_X_FORWARDED_HOST` -- `HTTP_X_FORWARDED_FOR` - -Hacer clic en Aceptar y volver a la pantalla de reglas de reescritura. Hacer clic en "Agregar reglas" y seleccionar "Regla de blanco" dentro de "Reglas de entrada". Rellenar los campos de la siguiente manera: - -- Nombre: `Symfony` -- Coincidir dirección URL: - - Dirección URL solicitada: `Coincide con el patrón` - - Usando: `Expresiones regulares` - - Patrón: `^(.*)$` - - Omitir mayúsculas y minúsculas: `Desmarcado` -- Condiciones: - - Agrupación lógica: `Coincide con todas` - - Añadir condición: - - Entrada: `{REQUEST_FILENAME}` - - Comprobar si la cadena de entrada: `No es un archivo` - - Seguir los grupos de captura a través de condiciones: `Desmarcado` -- Variables de servidor: - - Agregar...: - - Nombre: `HTTP_X_FORWARDED_PROTO` - - Valor: `https` - - Remplazar el valor existente: `Marcado` - - Agregar...: - - Nombre: `HTTP_X_FORWARDED_SCHEMA` - - Valor: `https` - - Remplazar el valor existente: `Marcado` - - Agregar...: - - Nombre: `HTTP_X_FORWARDED_HOST` - - Valor: `{HTTP_HOST}` - - Remplazar el valor existente: `Marcado` - - Agregar...: - - Nombre: `HTTP_X_FORWARDED_FOR` - - Valor: `{REMOTE_ADDR}` - - Remplazar el valor existente: `Marcado` -- Acción: - - Tipo de acción: `Reescribir` - - Reescribir dirección URL: `/index.php` - - Anexar cadena de consulta: `Marcado` - - Dirección URL reescrita de registro: `Desmarcado` -- Detener procesamiento de reglas: `Desmarcado` - -Hacer clic en Aceptar y la regla se añadirá. Ahora, la aplicación PHP debería estar alojada en el servidor IIS y accesible en `https://app.internal`. - -## Conclusión - -En este tutorial, aprendiste a alojar una aplicación PHP en un servidor IIS. Aprendiste a crear un certificado TLS autofirmado, a configurar PHP y a configurar la reescritura de URL para que la aplicación funcione correctamente. Ahora puedes alojar aplicaciones PHP en un servidor IIS y acceder a ellas de forma segura. diff --git a/src/data/blog/gobierno-no-aprueba-leyes.md b/src/data/blog/gobierno-no-aprueba-leyes.md new file mode 100644 index 0000000..6a29387 --- /dev/null +++ b/src/data/blog/gobierno-no-aprueba-leyes.md @@ -0,0 +1,43 @@ +--- +title: "El gobierno no 'aprueba una ley' sobre el derecho a rectificación" +description: "Hablemos de la frase 'el gobierno aprueba una ley' y por qué no es correcta, poniendo como ejemplo la ley de derecho a rectificación en prensa" +publishedAt: 2024-12-17 +--- + +Hoy leemos la noticia en la prensa española que dice que "El Gobierno aprueba la ley del Derecho de Rectificación ante bulos e incluye a 'influencers'" (ABC), con los demás periódicos diciendo lo mismo. Pero, ¿es correcto decir que el Gobierno aprueba una ley? + +La respuesta es sencilla: **no**. El Gobierno no aprueba leyes, sino que **las propone**. La aprobación de una ley en España es competencia de las Cortes Generales, por aquello de la separación de poderes que habló Montesquieu, y que de una forma u otra acabó en la Constitución Española de 1978 (que es la que está en vigor). + +¿Cómo llega una propuesta a ser ley? Pues es un proceso largo y complejo, y más si se trata de una Ley Orgánica, como es el caso de la "Ley Orgánica Reguladora del Derecho de Rectificación" que se quiere aprobar. + +1. El Gobierno, el Congreso, el Senado o 500.000 ciudadanos (a través de la Iniciativa Legislativa Popular) proponen una ley. + +2. La ley llega al Congreso, donde se debate y se vota. En caso de que se apruebe (con mayoría simple para las leyes normales, o absoluta para las orgánicas), pasa al Senado. Si no se aprueba, la ley se archiva, y se va a la papelera. + +3. El Senado debate y vota la ley: si la aprueba, saltamos al paso 5. Si en cambio la enmienda o la veta, vuelve al Congreso. El Senado tiene dos meses para debatir la ley, con lo que quienes lo controlan (en este caso, el PP) pueden retrasar la aprobación de la ley; como hicieron con la amnistía. + +4. El Congreso recibe la ley enmendada o vetada por el Senado, y vuelve a votar. Si el Congreso aprueba la ley enmendada, se queda con las enmiendas. Si el congreso vota CONTRA las enmiendas o el veto, la ley se aprueba tal cual estaba en el Congreso originalmente. + +5. El Rey sanciona la ley (es decir, la firma, sin más) y se publica en el BOE; entrando en vigor cuando la propia ley dice (por ejemplo, el día siguiente, o un mes después), o en su defecto a los 20 días de su publicación. + +En resumen, el Gobierno no "aprueba" leyes, sino que las propone. Lo que se ha aprobado es el ANTEPROYECTO de ley, que una vez aprobado se envía al Congreso para su tramitación. Solo es el primer paso, y aún pueden pasar semanas o meses hasta que se apruebe la ley; si es que se aprueba. + +## La ley de derecho a rectificación + +Y algo específico a esta ley: no es, como han dicho algunos, que el Gobierno tenga control sobre la prensa y los _influencers_ decidiendo qué es verdad y qué no. La ley de derecho a rectificación es una ley que ya existe, y que se quiere modificar para adaptarla a la era digital. + +La ley de derecho a rectificación es una ley que permite a cualquier persona que se sienta agraviada por una noticia publicada en un medio de comunicación a solicitar la rectificación de la noticia. Esto, como digo, no es nuevo, ya hay una [Ley Orgánica de 1984](https://www.boe.es/buscar/act.php?id=BOE-A-1984-7248) que regula este derecho. + +> Toda persona, natural o jurídica, tiene derecho a rectificar la información difundida, por cualquier medio de comunicación social, de hechos que le aludan, que considere inexactos y cuya divulgación pueda causarle perjuicio. + +Es decir, si un medio de comunicación publica algo que no es cierto, la persona afectada puede solicitar la rectificación de la noticia. Por ejemplo, si elpanfleto.com dice "Pepito es un ladrón", Pepito puede solicitar que elpanfleto.com rectifique la noticia, si considera que no es información exacta, y eso le puede perjudicar. + +Ahora bien, si Pepito realmente es un ladrón, aún así, puede solicitar la rectificación y el medio de comunicación está obligado a hacerlo. La rectificación, por tanto **no implica que la noticia original sea falsa, ni que la rectificación sea cierta**, como mencionan en este auto del Tribunal Constitucional: + +> Es preciso aclarar desde el primer momento que el derecho de rectificación regulado por la Ley Orgánica 2/1984, de 26 de marzo, no subordina el derecho del rectificante a que éste acredite la veracidad de su versión de los hechos sino que, conforme al art. 1 de la citada Ley, basta que considere inexactos los hechos que le aluden y cuya divulgación pueda causarle perjuicios, para que se le permita ejercitar el derecho de rectificación. No está en juego, por tanto, la veracidad de unos hechos, sino la difusión de informaciones contrapuestas, como dice la STC 168/1986 (fundamento jurídico 5, último apartado) +> +> [Auto del Tribunal Constitucional 70/1992](https://vlex.es/vid/-58123318) + +O dicho de otro modo, el Gobierno no está decidiendo qué es verdad y qué no, y no se ha inventado este derecho; simplemente lo está adaptando a la era digital, donde los _influencers_ y las redes sociales tienen un papel importante en la difusión de información, y no solo los medios tradicionales con una redacción y un director. + +Y visto el panorama, de que los medios abusan del sensacionalismo, me parece de lo más normal del mundo que se quieran implementar medidas para evitar que se difundan bulos y mentiras. ¡Dejen de mentir, panda de mentirosos! diff --git a/src/data/blog/gobierno-no-aprueba-leyes.mdx b/src/data/blog/gobierno-no-aprueba-leyes.mdx deleted file mode 100644 index 6a29387..0000000 --- a/src/data/blog/gobierno-no-aprueba-leyes.mdx +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: "El gobierno no 'aprueba una ley' sobre el derecho a rectificación" -description: "Hablemos de la frase 'el gobierno aprueba una ley' y por qué no es correcta, poniendo como ejemplo la ley de derecho a rectificación en prensa" -publishedAt: 2024-12-17 ---- - -Hoy leemos la noticia en la prensa española que dice que "El Gobierno aprueba la ley del Derecho de Rectificación ante bulos e incluye a 'influencers'" (ABC), con los demás periódicos diciendo lo mismo. Pero, ¿es correcto decir que el Gobierno aprueba una ley? - -La respuesta es sencilla: **no**. El Gobierno no aprueba leyes, sino que **las propone**. La aprobación de una ley en España es competencia de las Cortes Generales, por aquello de la separación de poderes que habló Montesquieu, y que de una forma u otra acabó en la Constitución Española de 1978 (que es la que está en vigor). - -¿Cómo llega una propuesta a ser ley? Pues es un proceso largo y complejo, y más si se trata de una Ley Orgánica, como es el caso de la "Ley Orgánica Reguladora del Derecho de Rectificación" que se quiere aprobar. - -1. El Gobierno, el Congreso, el Senado o 500.000 ciudadanos (a través de la Iniciativa Legislativa Popular) proponen una ley. - -2. La ley llega al Congreso, donde se debate y se vota. En caso de que se apruebe (con mayoría simple para las leyes normales, o absoluta para las orgánicas), pasa al Senado. Si no se aprueba, la ley se archiva, y se va a la papelera. - -3. El Senado debate y vota la ley: si la aprueba, saltamos al paso 5. Si en cambio la enmienda o la veta, vuelve al Congreso. El Senado tiene dos meses para debatir la ley, con lo que quienes lo controlan (en este caso, el PP) pueden retrasar la aprobación de la ley; como hicieron con la amnistía. - -4. El Congreso recibe la ley enmendada o vetada por el Senado, y vuelve a votar. Si el Congreso aprueba la ley enmendada, se queda con las enmiendas. Si el congreso vota CONTRA las enmiendas o el veto, la ley se aprueba tal cual estaba en el Congreso originalmente. - -5. El Rey sanciona la ley (es decir, la firma, sin más) y se publica en el BOE; entrando en vigor cuando la propia ley dice (por ejemplo, el día siguiente, o un mes después), o en su defecto a los 20 días de su publicación. - -En resumen, el Gobierno no "aprueba" leyes, sino que las propone. Lo que se ha aprobado es el ANTEPROYECTO de ley, que una vez aprobado se envía al Congreso para su tramitación. Solo es el primer paso, y aún pueden pasar semanas o meses hasta que se apruebe la ley; si es que se aprueba. - -## La ley de derecho a rectificación - -Y algo específico a esta ley: no es, como han dicho algunos, que el Gobierno tenga control sobre la prensa y los _influencers_ decidiendo qué es verdad y qué no. La ley de derecho a rectificación es una ley que ya existe, y que se quiere modificar para adaptarla a la era digital. - -La ley de derecho a rectificación es una ley que permite a cualquier persona que se sienta agraviada por una noticia publicada en un medio de comunicación a solicitar la rectificación de la noticia. Esto, como digo, no es nuevo, ya hay una [Ley Orgánica de 1984](https://www.boe.es/buscar/act.php?id=BOE-A-1984-7248) que regula este derecho. - -> Toda persona, natural o jurídica, tiene derecho a rectificar la información difundida, por cualquier medio de comunicación social, de hechos que le aludan, que considere inexactos y cuya divulgación pueda causarle perjuicio. - -Es decir, si un medio de comunicación publica algo que no es cierto, la persona afectada puede solicitar la rectificación de la noticia. Por ejemplo, si elpanfleto.com dice "Pepito es un ladrón", Pepito puede solicitar que elpanfleto.com rectifique la noticia, si considera que no es información exacta, y eso le puede perjudicar. - -Ahora bien, si Pepito realmente es un ladrón, aún así, puede solicitar la rectificación y el medio de comunicación está obligado a hacerlo. La rectificación, por tanto **no implica que la noticia original sea falsa, ni que la rectificación sea cierta**, como mencionan en este auto del Tribunal Constitucional: - -> Es preciso aclarar desde el primer momento que el derecho de rectificación regulado por la Ley Orgánica 2/1984, de 26 de marzo, no subordina el derecho del rectificante a que éste acredite la veracidad de su versión de los hechos sino que, conforme al art. 1 de la citada Ley, basta que considere inexactos los hechos que le aluden y cuya divulgación pueda causarle perjuicios, para que se le permita ejercitar el derecho de rectificación. No está en juego, por tanto, la veracidad de unos hechos, sino la difusión de informaciones contrapuestas, como dice la STC 168/1986 (fundamento jurídico 5, último apartado) -> -> [Auto del Tribunal Constitucional 70/1992](https://vlex.es/vid/-58123318) - -O dicho de otro modo, el Gobierno no está decidiendo qué es verdad y qué no, y no se ha inventado este derecho; simplemente lo está adaptando a la era digital, donde los _influencers_ y las redes sociales tienen un papel importante en la difusión de información, y no solo los medios tradicionales con una redacción y un director. - -Y visto el panorama, de que los medios abusan del sensacionalismo, me parece de lo más normal del mundo que se quieran implementar medidas para evitar que se difundan bulos y mentiras. ¡Dejen de mentir, panda de mentirosos! diff --git a/src/data/blog/mapa-facil-protomaps.md b/src/data/blog/mapa-facil-protomaps.md new file mode 100644 index 0000000..371faf8 --- /dev/null +++ b/src/data/blog/mapa-facil-protomaps.md @@ -0,0 +1,91 @@ +--- +title: "Crear un mapa de manera fácil con Protomaps" +description: "Una guía rápida para crear un mapa de manera fácil con Protomaps, sin servidor ni historias complicadas" +publishedAt: 2025-01-03 +--- + +Durante las últimas semanas, he estado explorando tecnologías de mapas para integrar en proyectos que voy a llevar a cabo en el futuro. + +Inicialmente, pensé usar la CDN de OpenStreetMap con Leaflet, una opción sencilla que ya conocía. Sin embargo, al estar recomendada solo para cargas ligeras y con pocas opciones de personalización, decidí buscar alternativas. Consideré Google Maps, Mapbox y Maptiler, pero sus modelos de negocio requieren servidores y tarjetas bancarias, lo que implica un riesgo de costes inesperados. + +Exploré [OpenMapTiles](https://openmaptiles.org/), una solución de código abierto para mapas vectoriales basada en OpenStreetMap. Sin embargo, su documentación limitada y la necesidad de un servidor adicional complicaron el proceso, haciéndolo poco práctico. + +Hasta que descubrí [Protomaps](https://protomaps.com/), una solución que me ha sorprendido por su sencillez y facilidad de uso. Protomaps ofrece mapas vectoriales personalizables como OpenMapTiles, pero con una ventaja clave: en lugar de depender de un archivo `mbtiles` y un servidor específico, utiliza un archivo `pmtiles` binario que puedes alojar en cualquier servidor web estático. + +Es decir, con Protomaps tienes un binario de unos cuantos megabytes que sirves como un archivo estático desde tu NGINX, o desde cualquier servicio, como Azure Static Web Apps, Vercel, AWS Amplify, o mismo un bucket de S3. Con tal de que el servidor soporte servir rangos de bytes del archivo, puedes servir un mapa vectorial personalizado sin tener que preocuparte de configurar un servidor de mapas ni costes adicionales, ni los dolores de cabeza que conlleva. + +## Crear un mapa con Protomaps + +Para empezar, hay que instalar la CLI de Protomaps, descargable desde [sus releases de GitHub](https://github.com/protomaps/go-pmtiles/releases/latest). A diferencia de OMT, que había que clonar con Docker y generaba un montón de porquería, esto es solo un binario que puedes poner en tu PATH y usar desde cualquier terminal. + +En Windows, descargué la versión `Windows_x86_64.zip`, descomprimí el archivo y coloqué el binario `protomaps.exe` en una carpeta de mi PATH (`C:\Users\\bin`). Luego, verifiqué su funcionamiento desde PowerShell. + +```powershell +PS> pmtiles version +pmtiles 1.22.3, commit 6383732020c2cd938181acff24febc003b15639c, built at 2024-12-09T02:16:01Z +``` + +Con esto, ya tenemos la CLI de Protomaps instalada y lista para usar. Ahora, vamos a crear un mapa vectorial personalizado. Para ello, haremos un "extract" de su mapa base, que está generado desde OpenStreetMap y se actualiza a diario. No va a hacer falta que descarguemos un extracto de OSM por nuestra cuenta (por ejemplo de Geofabrik o BBBike), ya que nos basaremos directamente en el mapa base de Protomaps. + +En este caso, generaremos un mapa de Barcelona a partir de su bounding box, con la coordenada suroeste en `41.263970142291704, 2.0428702462744956` y la noreste en `41.48757944350839, 2.243836537167097`. Puedes sacar la bounding box con cualquier herramienta como [bboxfinder](https://bboxfinder.com/) o el mismo Google Maps sacando las coordenadas de las esquinas. + +Obtén la URL de la build correspondiente a la fecha actual (reemplaza 20250102 por YYYYMMDD) y usa el siguiente comando, recordando que las coordenadas deben ingresarse en formato longitud-latitud: + +```powershell +PS> pmtiles extract "https://build.protomaps.com/20250102.pmtiles" barcelona.pmtiles --bbox="2.0428702462744956,41.263970142291704,2.243836537167097,41.48757944350839" +``` + +Hecho esto, tendremos un archivo `barcelona.pmtiles` que podemos servir desde cualquier servidor web estático. + +## Servir el mapa con MapLibre GL JS + +Mi biblioteca de mapas preferida es [MapLibre GL JS](https://docs.mapbox.com/mapbox-gl-js/api/), que es un fork de Mapbox GL JS cuando todavía era de código abierto. Para servir el mapa, solo necesitamos un archivo HTML con un contenedor, y un script que inicialice MapLibre y la compatibilidad con Protomaps. + +Si estás usando tecnologías JavaScript (ya sea Vite con algún framework, o Astro, o similares) puedes instalar los paquetes `pmtiles-protocol` y `maplibre-gl` desde npm. Si no, puedes descargarlos mismamente desde jsDelivr en ZIP ([`pmtiles-protocol`](https://www.jsdelivr.com/package/npm/pmtiles-protocol) y [`maplibre-gl`](https://www.jsdelivr.com/package/npm/maplibre-gl)) y poner los archivos en tu servidor. + +```html + + + + + + + + + +
+ + + + + + + +Y luego el archivo `miestilo.json` puedes descargarlo de [maps.protomaps.com](https://maps.protomaps.com/#map=0.89/0/0&theme=light&lang=en&tiles=https://demo-bucket.protomaps.com/v4.pmtiles&local_sprites=true) clicando en "Get style JSON" y guardándolo en tu servidor. Cambias la ruta a tu pmtiles y ya. Y puedes usar cualquier otro estilo para MapLibre, como los de [OpenMapTiles](https://openmaptiles.org/styles/) mismamente, o hacer uno propio con algo como [Maputnik](https://maputnik.github.io/editor/). + +Y con esto, ya tienes un mapa vectorial personalizado de Barcelona, servido desde tu servidor estático, sin tener que preocuparte de configurar un servidor de mapas ni costes adicionales. Y puedes personalizarlo todo lo que quieras, desde los colores hasta los datos que se muestran. Sin cargar pesados SDKs desde CDNs, sin depender de terceros, y sin el riesgo de una factura deorbitada porque te pasaste de peticiones. diff --git a/src/data/blog/mapa-facil-protomaps.mdx b/src/data/blog/mapa-facil-protomaps.mdx deleted file mode 100644 index 371faf8..0000000 --- a/src/data/blog/mapa-facil-protomaps.mdx +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: "Crear un mapa de manera fácil con Protomaps" -description: "Una guía rápida para crear un mapa de manera fácil con Protomaps, sin servidor ni historias complicadas" -publishedAt: 2025-01-03 ---- - -Durante las últimas semanas, he estado explorando tecnologías de mapas para integrar en proyectos que voy a llevar a cabo en el futuro. - -Inicialmente, pensé usar la CDN de OpenStreetMap con Leaflet, una opción sencilla que ya conocía. Sin embargo, al estar recomendada solo para cargas ligeras y con pocas opciones de personalización, decidí buscar alternativas. Consideré Google Maps, Mapbox y Maptiler, pero sus modelos de negocio requieren servidores y tarjetas bancarias, lo que implica un riesgo de costes inesperados. - -Exploré [OpenMapTiles](https://openmaptiles.org/), una solución de código abierto para mapas vectoriales basada en OpenStreetMap. Sin embargo, su documentación limitada y la necesidad de un servidor adicional complicaron el proceso, haciéndolo poco práctico. - -Hasta que descubrí [Protomaps](https://protomaps.com/), una solución que me ha sorprendido por su sencillez y facilidad de uso. Protomaps ofrece mapas vectoriales personalizables como OpenMapTiles, pero con una ventaja clave: en lugar de depender de un archivo `mbtiles` y un servidor específico, utiliza un archivo `pmtiles` binario que puedes alojar en cualquier servidor web estático. - -Es decir, con Protomaps tienes un binario de unos cuantos megabytes que sirves como un archivo estático desde tu NGINX, o desde cualquier servicio, como Azure Static Web Apps, Vercel, AWS Amplify, o mismo un bucket de S3. Con tal de que el servidor soporte servir rangos de bytes del archivo, puedes servir un mapa vectorial personalizado sin tener que preocuparte de configurar un servidor de mapas ni costes adicionales, ni los dolores de cabeza que conlleva. - -## Crear un mapa con Protomaps - -Para empezar, hay que instalar la CLI de Protomaps, descargable desde [sus releases de GitHub](https://github.com/protomaps/go-pmtiles/releases/latest). A diferencia de OMT, que había que clonar con Docker y generaba un montón de porquería, esto es solo un binario que puedes poner en tu PATH y usar desde cualquier terminal. - -En Windows, descargué la versión `Windows_x86_64.zip`, descomprimí el archivo y coloqué el binario `protomaps.exe` en una carpeta de mi PATH (`C:\Users\\bin`). Luego, verifiqué su funcionamiento desde PowerShell. - -```powershell -PS> pmtiles version -pmtiles 1.22.3, commit 6383732020c2cd938181acff24febc003b15639c, built at 2024-12-09T02:16:01Z -``` - -Con esto, ya tenemos la CLI de Protomaps instalada y lista para usar. Ahora, vamos a crear un mapa vectorial personalizado. Para ello, haremos un "extract" de su mapa base, que está generado desde OpenStreetMap y se actualiza a diario. No va a hacer falta que descarguemos un extracto de OSM por nuestra cuenta (por ejemplo de Geofabrik o BBBike), ya que nos basaremos directamente en el mapa base de Protomaps. - -En este caso, generaremos un mapa de Barcelona a partir de su bounding box, con la coordenada suroeste en `41.263970142291704, 2.0428702462744956` y la noreste en `41.48757944350839, 2.243836537167097`. Puedes sacar la bounding box con cualquier herramienta como [bboxfinder](https://bboxfinder.com/) o el mismo Google Maps sacando las coordenadas de las esquinas. - -Obtén la URL de la build correspondiente a la fecha actual (reemplaza 20250102 por YYYYMMDD) y usa el siguiente comando, recordando que las coordenadas deben ingresarse en formato longitud-latitud: - -```powershell -PS> pmtiles extract "https://build.protomaps.com/20250102.pmtiles" barcelona.pmtiles --bbox="2.0428702462744956,41.263970142291704,2.243836537167097,41.48757944350839" -``` - -Hecho esto, tendremos un archivo `barcelona.pmtiles` que podemos servir desde cualquier servidor web estático. - -## Servir el mapa con MapLibre GL JS - -Mi biblioteca de mapas preferida es [MapLibre GL JS](https://docs.mapbox.com/mapbox-gl-js/api/), que es un fork de Mapbox GL JS cuando todavía era de código abierto. Para servir el mapa, solo necesitamos un archivo HTML con un contenedor, y un script que inicialice MapLibre y la compatibilidad con Protomaps. - -Si estás usando tecnologías JavaScript (ya sea Vite con algún framework, o Astro, o similares) puedes instalar los paquetes `pmtiles-protocol` y `maplibre-gl` desde npm. Si no, puedes descargarlos mismamente desde jsDelivr en ZIP ([`pmtiles-protocol`](https://www.jsdelivr.com/package/npm/pmtiles-protocol) y [`maplibre-gl`](https://www.jsdelivr.com/package/npm/maplibre-gl)) y poner los archivos en tu servidor. - -```html - - - - - - - - - -
- - - - - - - -Y luego el archivo `miestilo.json` puedes descargarlo de [maps.protomaps.com](https://maps.protomaps.com/#map=0.89/0/0&theme=light&lang=en&tiles=https://demo-bucket.protomaps.com/v4.pmtiles&local_sprites=true) clicando en "Get style JSON" y guardándolo en tu servidor. Cambias la ruta a tu pmtiles y ya. Y puedes usar cualquier otro estilo para MapLibre, como los de [OpenMapTiles](https://openmaptiles.org/styles/) mismamente, o hacer uno propio con algo como [Maputnik](https://maputnik.github.io/editor/). - -Y con esto, ya tienes un mapa vectorial personalizado de Barcelona, servido desde tu servidor estático, sin tener que preocuparte de configurar un servidor de mapas ni costes adicionales. Y puedes personalizarlo todo lo que quieras, desde los colores hasta los datos que se muestran. Sin cargar pesados SDKs desde CDNs, sin depender de terceros, y sin el riesgo de una factura deorbitada porque te pasaste de peticiones. diff --git a/src/data/blog/shitshow-wordpress.md b/src/data/blog/shitshow-wordpress.md new file mode 100644 index 0000000..e72ab53 --- /dev/null +++ b/src/data/blog/shitshow-wordpress.md @@ -0,0 +1,69 @@ +--- +title: "El espectáculo que está montando WordPress (o mejor dicho, Matt Mullenweg)" +description: "Hablemos de la polémica que ha surgido en torno a WordPress y su fundador, Matt Mullenweg, contra WPEngine y todo lo que ha desencadenado." +publishedAt: 2024-10-13 +--- + +Hace unas semanas que Matt Mullenweg comenzó una batalla contra WPEngine, uno de los mayores proveedores de hosting de WordPress. Pero para entender esta historia, primero hay que aclarar quien es quien: + +- **Matt Mullenweg**: Fundador del software WordPress, fundador y CEO de Automattic, y presidente de la WordPress Foundation. +- **WPEngine**: Proveedor de hosting especializado en WordPress, fundado en 2010, y que ha crecido hasta ser uno de los mayores proveedores de hosting de WordPress. Es propiedad de un grupo de inversión llamado Silver Lake. +- **WordPress.org (en adelante, WPO)**: Un sitio web propiedad de Mullenweg (y nadie más), donde se aloja el software WordPress, así como documentación, foros de soporte y EL directorio de plugins y temas de WordPress (no hay otro, y crearlo implicaría tener que cambiar el software WordPress para usar este otro directorio). +- **WordPress Foundation (en adelante, WPF)**: Una organización sin ánimo de lucro creada por Mullenweg para proteger la marca WordPress y promover el software WordPress, así como la comunidad que lo rodea. Es la propietaria de las marcas WordPress (que no WP), WooCommerce y Woo. +- **Automattic**: La empresa comercial de Mullenweg, que ofrece servicios como WordPress.com, Jetpack, WooCommerce y otros. Automattic es la propietaria de la marca Jetpack, y tiene un acuerdo exclusivo con WPF para usar la marca WordPress de forma comercial. +- **WordPress.com (en adelante, WPC)**: Un servicio de alojamiento de blogs y sitios web propiedad de Automattic, que ofrece alojamiento de WordPress de manera comercial. Es un competidor directo de WPEngine. + +Con esto en mente, vamos a la historia. + +## El origen de la polémica + +WPEngine lleva existiendo desde 2010, y ha crecido hasta ser uno de los mayores proveedores de hosting de WordPress. Sin embargo, en 2024, Mullenweg decidió comenzar una batalla contra WPEngine, porque según él, WPEngine estaba aprovechando el software libre WordPress para su beneficio comercial, sin dar nada a cambio a la comunidad de WordPress. + +Además, se supo que Mullenweg exigía una "compensación" a WPEngine por valor de varios millones de dólares (sobre el 8% de ingresos de WPE) para parar esta campaña de desprestigio. WPEngine, por supuesto, se negó a pagar esta cantidad, y Mullenweg decidió seguir adelante con su campaña de desprestigio, hablando mal de WPEngine en la edición de este año de WordCamp US. + +WPEngine decidió _contraatacar_ enviando a Mullenweg una carta de "cese y desista" (en inglés, _cease and desist_), en la que le pedían que dejara de difamar a WPEngine y que se retractara de sus declaraciones. Mullenweg, en lugar de retractarse, decidió seguir adelante con su campaña contra WPEngine y contra todo lo que representaba. + +Por ello, WPEngine decidió demandar a Automattic y Mullenweg por varios cargos: + +- Interferencia intencionada en relaciones comerciales. +- Interferencia intencionada en posibles relaciones económicas +- Fraude y abuso informático +- Intento de extorsión +- Competencia desleal +- Difamación (verbal y escrita) + +Pero la historia no acaba aquí. Mullenweg decidió contraatacar, primero prohibiendo a WPEngine el acceso a WordPress.org (que todo el mundo creía que era un sitio web de la WPF, pero que en realidad es propiedad de Mullenweg a título personal, aunque se aloja en infraestructura de Automattic), por lo que WPEngine no podía acceder a los servidores para descargar actualizaciones del software WordPress, ni tampoco podía acceder al directorio de plugins y temas de WordPress. Esto no solo afecta a la empresa, también a todos los clientes de WPEngine, que no pueden actualizar sus sitios web de WordPress. + +Además, hace unos días añadió una casilla en el login de WordPress.org que todo el mundo debe marcar para iniciar sesión, donde debes afirmar que no tienes ningún tipo de relación con WPEngine, impidiendo el acceso a WordPress.org si no marcas la casilla. + +Y para culminar, el día de ayer (sábado 12 de octubre), se supo que Mullenweg había modificado el plugin Advanced Custom Fields (ACF), mantenido por WPEngine cambiándole el nombre pero manteniendo el "listing" del plugin en WPO, cambiando también el código fuente. De tal forma, el señor Mullenweg estaba tomando "control" de un plugin de un tercero sin avisar a los usuarios ni al maintainer. + +Es decir, si utilizabas ACF, recibiste una actualización no genuina que cambia el nombre del plugin, y pasa a ser mantenida por no-se-sabe-quién, en lugar de ser la versión oficial mantenida por WPEngine. + +## Mi opinión + +Siempre he sido defensor del Open Source, siempre lo he usado y he contribuido más de una vez a estos proyectos, así como mantener los míos propios. Es por ello que me parece una vergüenza lo que está haciendo Mullenweg, y que está manchando el buen nombre de WordPress y de la comunidad que lo rodea. + +WPEngine está en su derecho de usar un software libre como WordPress para su beneficio comercial, siempre y cuando cumpla con la licencia GPL (y hasta donde yo sé, la cumple). Lo que no se puede hacer es sacar un software bajo una licencia y luego esperar que los usuarios comerciales contribuyan de vuelta "obligados" bajo amenaza de una campaña de acoso y derribo. + +Si lo que no se quiere es que empresas como WPEngine se beneficien de WordPress, entonces que se cambie la licencia del software, como hicieron en el pasado empresas como Redis (de Apache2 a SSPL), y acabó con la [Linux Foundation creando un fork llamado Valkey](https://valkey.io/), MongoDB (de AGPL a SSPL) o Elastic Search, que cambió su licencia porque querían ganar dinero ofreciendo hosting pero AWS les estaba comiendo el pastel. Esto acabó, por cierto, con la creación de [OpenSearch](https://opensearch.org/), un fork de Elastic Search. + +El problema que tiene Mullenweg es que no puede hacer este "tirón de alfombra" porque la licencia de WordPress es GPL y no tiene el control total del software, ya que hay mucha gente que ha contribuído a él a lo largo de los años sin cederle los derechos a WPF, con lo que no puede cambiar la licencia sin el consentimiento de todos los contribuyentes. Y aún si lo hiciera "por sus narices", siempre habría un fork que seguiría con la licencia GPL y ganaría en popularidad. + +En cuanto al sistema de plugins, es un sistema que ha funcionado bien durante años pero que se ha demostrado que no es seguro, ya que un tercero puede tomar control de un plugin sin avisar a los usuarios ni al maintainer, o puede cortar acceso a millones de personas "por sus narices". Sería buen momento ahora para crear un "registry" de plugins realmente abierto, o un sistema descentralizado donde cualquiera pueda montar su repositorio de plugins y los usuarios puedan añadirlo a su WordPress. + +## El caso de Linux + +Linux es un sistema operativo enormemente conocido, y que ha sido usado por millones de personas en todo el mundo. Sin embargo, Linux es un software libre, y cualquiera puede usarlo para su beneficio comercial. Si no, que le pregunten a las miles de empresas que ofrecen "hosting Linux" o "servidores Linux" y que ganan dinero con ello sin donar dinero o recursos a la Linux Foundation, o a distribuciones libres como Debian. + +Sin hablar de que existen grandes empresas como Canonical y Red Hat (de IBM) que ofrecen servicios de soporte sobre Linux, y que ganan dinero con ello. ¿Vería alguien bien que un día la Linux Foundation decida montar su propia distro comercial, y prohibir a Canonical y Red Hat acceder a kernel.org para descargar actualizaciones salvo que paguen un 8% **de los ingresos** a la Linux Foundation? + +O por poner otro ejemplo, ¿vería bien alguien que la Apache Software Foundation decidiera montar su propio servicio de hosting, y prohibir a sus competidores acceder a apache.org para descargar actualizaciones del HTTPD, o al repositorio de Maven, o a actualizaciones de Tomcat, Kafka, etc.? + +## Conclusión + +El tarado de Mullenweg decidió empezar una guerra "nuclear" contra WPEngine porque es el principal competidor de Automattic en el mercado de hosting de WordPress, y porque no le gusta que WPEngine gane dinero con WordPress sin dar nada a cambio a la comunidad de WordPress. Sin embargo, lo que ha hecho Mullenweg es manchar el buen nombre de WordPress y de la comunidad que lo rodea, y ha demostrado que no le importa nada más que su propio beneficio. + +Y desde luego, demuestra que es un peligro que exista tal absolutismo en un proyecto, donde tanto el brazo comercial como el de la comunidad están en manos de una sola persona, que puede hacer lo que le dé la gana, sin importarle las consecuencias. + +Si no fuera porque a mí WordPress generalmente ni me va ni me viene, lo uso únicamente cuando me lo piden, haría un fork de WordPress realmente libre, implementaría el sistema de plugins abierto o descentralizado, y garantizaría que no se repitieran estos abusos en el futuro. Pero como no es mi problema, solo voy a quedarme al margen, agarrar palomitas 🍿 y disfrutar del show. diff --git a/src/data/blog/shitshow-wordpress.mdx b/src/data/blog/shitshow-wordpress.mdx deleted file mode 100644 index e72ab53..0000000 --- a/src/data/blog/shitshow-wordpress.mdx +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "El espectáculo que está montando WordPress (o mejor dicho, Matt Mullenweg)" -description: "Hablemos de la polémica que ha surgido en torno a WordPress y su fundador, Matt Mullenweg, contra WPEngine y todo lo que ha desencadenado." -publishedAt: 2024-10-13 ---- - -Hace unas semanas que Matt Mullenweg comenzó una batalla contra WPEngine, uno de los mayores proveedores de hosting de WordPress. Pero para entender esta historia, primero hay que aclarar quien es quien: - -- **Matt Mullenweg**: Fundador del software WordPress, fundador y CEO de Automattic, y presidente de la WordPress Foundation. -- **WPEngine**: Proveedor de hosting especializado en WordPress, fundado en 2010, y que ha crecido hasta ser uno de los mayores proveedores de hosting de WordPress. Es propiedad de un grupo de inversión llamado Silver Lake. -- **WordPress.org (en adelante, WPO)**: Un sitio web propiedad de Mullenweg (y nadie más), donde se aloja el software WordPress, así como documentación, foros de soporte y EL directorio de plugins y temas de WordPress (no hay otro, y crearlo implicaría tener que cambiar el software WordPress para usar este otro directorio). -- **WordPress Foundation (en adelante, WPF)**: Una organización sin ánimo de lucro creada por Mullenweg para proteger la marca WordPress y promover el software WordPress, así como la comunidad que lo rodea. Es la propietaria de las marcas WordPress (que no WP), WooCommerce y Woo. -- **Automattic**: La empresa comercial de Mullenweg, que ofrece servicios como WordPress.com, Jetpack, WooCommerce y otros. Automattic es la propietaria de la marca Jetpack, y tiene un acuerdo exclusivo con WPF para usar la marca WordPress de forma comercial. -- **WordPress.com (en adelante, WPC)**: Un servicio de alojamiento de blogs y sitios web propiedad de Automattic, que ofrece alojamiento de WordPress de manera comercial. Es un competidor directo de WPEngine. - -Con esto en mente, vamos a la historia. - -## El origen de la polémica - -WPEngine lleva existiendo desde 2010, y ha crecido hasta ser uno de los mayores proveedores de hosting de WordPress. Sin embargo, en 2024, Mullenweg decidió comenzar una batalla contra WPEngine, porque según él, WPEngine estaba aprovechando el software libre WordPress para su beneficio comercial, sin dar nada a cambio a la comunidad de WordPress. - -Además, se supo que Mullenweg exigía una "compensación" a WPEngine por valor de varios millones de dólares (sobre el 8% de ingresos de WPE) para parar esta campaña de desprestigio. WPEngine, por supuesto, se negó a pagar esta cantidad, y Mullenweg decidió seguir adelante con su campaña de desprestigio, hablando mal de WPEngine en la edición de este año de WordCamp US. - -WPEngine decidió _contraatacar_ enviando a Mullenweg una carta de "cese y desista" (en inglés, _cease and desist_), en la que le pedían que dejara de difamar a WPEngine y que se retractara de sus declaraciones. Mullenweg, en lugar de retractarse, decidió seguir adelante con su campaña contra WPEngine y contra todo lo que representaba. - -Por ello, WPEngine decidió demandar a Automattic y Mullenweg por varios cargos: - -- Interferencia intencionada en relaciones comerciales. -- Interferencia intencionada en posibles relaciones económicas -- Fraude y abuso informático -- Intento de extorsión -- Competencia desleal -- Difamación (verbal y escrita) - -Pero la historia no acaba aquí. Mullenweg decidió contraatacar, primero prohibiendo a WPEngine el acceso a WordPress.org (que todo el mundo creía que era un sitio web de la WPF, pero que en realidad es propiedad de Mullenweg a título personal, aunque se aloja en infraestructura de Automattic), por lo que WPEngine no podía acceder a los servidores para descargar actualizaciones del software WordPress, ni tampoco podía acceder al directorio de plugins y temas de WordPress. Esto no solo afecta a la empresa, también a todos los clientes de WPEngine, que no pueden actualizar sus sitios web de WordPress. - -Además, hace unos días añadió una casilla en el login de WordPress.org que todo el mundo debe marcar para iniciar sesión, donde debes afirmar que no tienes ningún tipo de relación con WPEngine, impidiendo el acceso a WordPress.org si no marcas la casilla. - -Y para culminar, el día de ayer (sábado 12 de octubre), se supo que Mullenweg había modificado el plugin Advanced Custom Fields (ACF), mantenido por WPEngine cambiándole el nombre pero manteniendo el "listing" del plugin en WPO, cambiando también el código fuente. De tal forma, el señor Mullenweg estaba tomando "control" de un plugin de un tercero sin avisar a los usuarios ni al maintainer. - -Es decir, si utilizabas ACF, recibiste una actualización no genuina que cambia el nombre del plugin, y pasa a ser mantenida por no-se-sabe-quién, en lugar de ser la versión oficial mantenida por WPEngine. - -## Mi opinión - -Siempre he sido defensor del Open Source, siempre lo he usado y he contribuido más de una vez a estos proyectos, así como mantener los míos propios. Es por ello que me parece una vergüenza lo que está haciendo Mullenweg, y que está manchando el buen nombre de WordPress y de la comunidad que lo rodea. - -WPEngine está en su derecho de usar un software libre como WordPress para su beneficio comercial, siempre y cuando cumpla con la licencia GPL (y hasta donde yo sé, la cumple). Lo que no se puede hacer es sacar un software bajo una licencia y luego esperar que los usuarios comerciales contribuyan de vuelta "obligados" bajo amenaza de una campaña de acoso y derribo. - -Si lo que no se quiere es que empresas como WPEngine se beneficien de WordPress, entonces que se cambie la licencia del software, como hicieron en el pasado empresas como Redis (de Apache2 a SSPL), y acabó con la [Linux Foundation creando un fork llamado Valkey](https://valkey.io/), MongoDB (de AGPL a SSPL) o Elastic Search, que cambió su licencia porque querían ganar dinero ofreciendo hosting pero AWS les estaba comiendo el pastel. Esto acabó, por cierto, con la creación de [OpenSearch](https://opensearch.org/), un fork de Elastic Search. - -El problema que tiene Mullenweg es que no puede hacer este "tirón de alfombra" porque la licencia de WordPress es GPL y no tiene el control total del software, ya que hay mucha gente que ha contribuído a él a lo largo de los años sin cederle los derechos a WPF, con lo que no puede cambiar la licencia sin el consentimiento de todos los contribuyentes. Y aún si lo hiciera "por sus narices", siempre habría un fork que seguiría con la licencia GPL y ganaría en popularidad. - -En cuanto al sistema de plugins, es un sistema que ha funcionado bien durante años pero que se ha demostrado que no es seguro, ya que un tercero puede tomar control de un plugin sin avisar a los usuarios ni al maintainer, o puede cortar acceso a millones de personas "por sus narices". Sería buen momento ahora para crear un "registry" de plugins realmente abierto, o un sistema descentralizado donde cualquiera pueda montar su repositorio de plugins y los usuarios puedan añadirlo a su WordPress. - -## El caso de Linux - -Linux es un sistema operativo enormemente conocido, y que ha sido usado por millones de personas en todo el mundo. Sin embargo, Linux es un software libre, y cualquiera puede usarlo para su beneficio comercial. Si no, que le pregunten a las miles de empresas que ofrecen "hosting Linux" o "servidores Linux" y que ganan dinero con ello sin donar dinero o recursos a la Linux Foundation, o a distribuciones libres como Debian. - -Sin hablar de que existen grandes empresas como Canonical y Red Hat (de IBM) que ofrecen servicios de soporte sobre Linux, y que ganan dinero con ello. ¿Vería alguien bien que un día la Linux Foundation decida montar su propia distro comercial, y prohibir a Canonical y Red Hat acceder a kernel.org para descargar actualizaciones salvo que paguen un 8% **de los ingresos** a la Linux Foundation? - -O por poner otro ejemplo, ¿vería bien alguien que la Apache Software Foundation decidiera montar su propio servicio de hosting, y prohibir a sus competidores acceder a apache.org para descargar actualizaciones del HTTPD, o al repositorio de Maven, o a actualizaciones de Tomcat, Kafka, etc.? - -## Conclusión - -El tarado de Mullenweg decidió empezar una guerra "nuclear" contra WPEngine porque es el principal competidor de Automattic en el mercado de hosting de WordPress, y porque no le gusta que WPEngine gane dinero con WordPress sin dar nada a cambio a la comunidad de WordPress. Sin embargo, lo que ha hecho Mullenweg es manchar el buen nombre de WordPress y de la comunidad que lo rodea, y ha demostrado que no le importa nada más que su propio beneficio. - -Y desde luego, demuestra que es un peligro que exista tal absolutismo en un proyecto, donde tanto el brazo comercial como el de la comunidad están en manos de una sola persona, que puede hacer lo que le dé la gana, sin importarle las consecuencias. - -Si no fuera porque a mí WordPress generalmente ni me va ni me viene, lo uso únicamente cuando me lo piden, haría un fork de WordPress realmente libre, implementaría el sistema de plugins abierto o descentralizado, y garantizaría que no se repitieran estos abusos en el futuro. Pero como no es mi problema, solo voy a quedarme al margen, agarrar palomitas 🍿 y disfrutar del show. diff --git a/src/data/blog/vibe-coding-stop.md b/src/data/blog/vibe-coding-stop.md new file mode 100644 index 0000000..ffee1e3 --- /dev/null +++ b/src/data/blog/vibe-coding-stop.md @@ -0,0 +1,35 @@ +--- +title: "Vibe coding, la nueva moda estúpida" +description: "Reflexiones sobre el 'vibe coding' y su impacto en la industria del software." +publishedAt: 2025-04-13 +--- + + + +Hablemos del "vibe coding", ese término que últimamente está en boca de todos, en mi opinión, más por hype que por otra cosa. Para empezar, el nombre ya es... "curioso", y más aún cuando los traductores automáticos hacen de las suyas (hola, YouTube). Programar por "vibes" viene siendo "programar" despreocupadamente sin saber muy bien lo que haces, confiando en los sistemas de IA generativa y pidiendo que haga, deshaga o arregle sin mucha (o ninguna) supervisión. + +Queridos lectores que os habéis topado con este post, os pregunto: ¿Confiaríais en un empresario o ejecutivo que, en vez de recurrir a expertos en su sector, le pide a una IA que le diga qué estrategia seguir? ¿Os fiaríais de un arquitecto que delega en un chatbot el diseño estructural de un edificio? ¿Y de un avión que vuela sin pilotos porque la IA ya vuela sin supervisión (ni un humano que la sustituya si falla o hay alguna contingencia)? + +Ojo, no estoy diciendo que programar un software de gestión sea lo mismo que salvar vidas, defender a alguien de un delito o volar un tubo de metal de 67 toneladas. Pero la lógica es la misma: si la experiencia, el conocimiento y el criterio de los profesionales dejan de ser relevantes, ¿qué valor tiene lo que construimos? + +Por otra banda, me gustaría preguntar a esa gente que dice que monta startups valoradas en millones de euros: ¿Qué valor aporta tu producto si yo mismo puedo crear una copia sin tener ni idea? Hasta ahora, los productos tenían valor porque estaban hechos por gente que sabe lo que hace y conoce la forma correcta de hacerlo, además de la comodidad de no tener que reinventar la rueda. Pero si puedo activar el modo agente de Cursor o GitHub Copilot para que codifique y tener mi propio clon de tu aplicación en un par de tardes, ¿por qué te voy a pagar? + +Como decía el villano Síndrome en la película de Los Increíbles: "Cuando todos son especiales, nadie lo es". Cuando todo el mundo puede crear su propio software (por crear quiero decir pedir a una IA), el software no tiene ningún valor intrínseco. + +--- + +¿A quién beneficia esta moda? ¿Realmente hay gente "a pie" que se crea que es tan fácil remplazar a trabajadores que llevan años formándose y aprendiendo en un campo que cambia absurdamente rápido? En mi opinión, no. Esto es una moda que beneficia a varios: + +1. **Los gurús de la IA o _AI-bros_**: son los habituales "todólogos" que un día te hablaban de Big Data, Machine Learning, Blockchain, etc. y ahora te dicen que la IA es el futuro. Ellos son los que están vendiendo cursos, libros y conferencias sobre cómo "aprovechar" esta nueva moda. En realidad, lo que hacen es vender humo y aprovecharse de la ignorancia de la gente. + +2. **Las empresas de IA**: tanto empresas que entrenan y venden modelos de IA (ClosedAI, Anthropic, Google y otras), como los que crean hardware (NVIDIA, AMD) y herramientas para aprovechar estas (Cursor, GitHub Copilot, etc.). Ellos son los que venden "palas" mientras se habla de la "fiebre del oro", y a más _hype_ vendan, más dinero ganan. + +3. **Las empresas de software en general**: empresas que no tienen por qué dedicarse directamente a la IA, pero que se escudan en ella para reducir costes, sea despidiendo personal ("Como ahora la IA puede escribir la mitad del código de nuestro personal, la mitad del personal nos sobra") o justificando pagar peores salarios "porque ahora el trabajo es más fácil". Es decir, precarización de un sector que, al menos en España ya está precarizado en comparación con otros países (como todos los trabajos, dicho sea de paso). + +Todo esto sumado a los habituales vendedores de humo que te dicen que la IA es el futuro y que tú también puedes llegar a millonario haciendo su curso de "usar la IA para hacer dinero". Spoiler: si pudieras hacer tanto dinero con eso, no estarías vendiendo cursos, estarías haciendo una pasta gansa y retirándote en una playa del Caribe. + +Por cierto, por mucho que se empeñen en decir que la IA es fiable, si comete algún error (y los comete, muchos) el marrón te lo comes tú. Seas el usuario cuyos datos han sido filtrados por enésima vez, o el programador chapucero (o "vibe coder" que igual no sabe nada de programar) al que se le ha colado un error garrafal porque el modelo no "sabe" lo que hace. Y no vale decir "es que lo hizo la IA", porque el responsable eres tú. No puedes culpar a una máquina que no puede tomar decisiones por sí misma (aunque lo parezca) por un error humano. + +Por último, me gustaría recordar que la IA no es más que un algoritmo que ha sido entrenado con datos. Por mucho refuerzo que tenga en base a datos sintéticos (generados previamente y aprobados por humanos), no deja de ser un algoritmo muy grande y muy complejo. Pero no por ello ni por el nombre de "inteligencia artificial" es "inteligente". -- cgit v1.3