From d0ab9db2a8a180cd2a190fdfd5a21151c6672385 Mon Sep 17 00:00:00 2001 From: juancmandev Date: Thu, 25 Jul 2024 16:03:52 -0600 Subject: [PATCH] add videos page, new video --- src/components/post-item.tsx | 2 +- src/content/config.ts | 6 + .../videos/nadie-entiende-la-privacidad.mdx | 187 ++++++++++++++++-- src/pages/blog/index.astro | 43 ++-- src/pages/portfolio/index.astro | 47 +++-- src/pages/videos/[...slug].astro | 42 ++++ src/pages/videos/index.astro | 38 ++++ src/utils/nav-links.ts | 8 +- tsconfig.json | 2 +- 9 files changed, 313 insertions(+), 62 deletions(-) create mode 100644 src/pages/videos/[...slug].astro create mode 100644 src/pages/videos/index.astro diff --git a/src/components/post-item.tsx b/src/components/post-item.tsx index d5934c7..588b597 100644 --- a/src/components/post-item.tsx +++ b/src/components/post-item.tsx @@ -5,7 +5,7 @@ type Props = { slug: string; date: Date | string; title: string; - type: "blog" | "portfolio"; + type: "blog" | "portfolio" | "videos"; }; export default function PostItem(props: Props) { diff --git a/src/content/config.ts b/src/content/config.ts index d100e44..b5f9475 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -30,8 +30,14 @@ const pages = defineCollection({ }), }); +const videos = defineCollection({ + type: "content", + schema: contentSchema +}) + export const collections = { blog, portfolio, pages, + videos }; diff --git a/src/content/videos/nadie-entiende-la-privacidad.mdx b/src/content/videos/nadie-entiende-la-privacidad.mdx index 338c396..baf8082 100644 --- a/src/content/videos/nadie-entiende-la-privacidad.mdx +++ b/src/content/videos/nadie-entiende-la-privacidad.mdx @@ -1,29 +1,184 @@ --- title: Nadie Entiende la Privacidad -description: - Hablar de privacidad es complicado, ya que no todo el mundo la entiende de - verdad. +description: Hablar de privacidad es complicado, ya que muy pocos la entienden. tags: - Tech - Freedom - Libre -image: https://img.youtube.com/vi/Wlw6rscU4gI/maxresdefault.jpg +image: /blog/how-computers-works/banner.jpg imageCaption: Video thumbnail. -date: 6/3/2024 +date: 7/25/2024 author: Juan Manzanero rss: true --- - +![Open laptop](@/assets/blog/how-computers-works/banner.jpg) _An open laptop. +Photo by +[Philipp Katzenberger](https://unsplash.com/@fantasyflip?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText') +on +[Unsplash](https://unsplash.com/photos/iIJrUoeRoCQ?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)_ -Cuando respecto a la privacidad, por lo general la respuesta de la gente es "como si tuviese algo que ocultar" o "es imposible ocultar todo lo que hacemos", y es justo a esas frases cuando digo que nadie entiende la privacidad. +## Lo que los normies dicen al escuchar "privacidad" -La privacidad es una necesidad humana, un derecho, está en nuestra naturaleza. Prueba de ello, cuando vas a un baño público, generalmente cierras la puerta, o intentas usar un espacio donde no haya gente cerca. Y es que todos sabemos qué se hace cuando se va al baño, pero todos queremos tener un momento de privacidad para hacer nuestras necesidades, ya que es algo que no queremos compartir con extraños. +"¿Por qué te interesa la privacidad?, ¿acaso haces algo ilegal?" + +"A mi no me interesa la privacidad, ni que tuviese algo que esconder." + +"De todas formas somos espiados, no vale la pena preocuparse por la privacidad." + +Estas son solo algunas de las respuestas más comunes cuando se menciona la +palabra "privacidad", pero esto solo aplica en el ecosistema digital. + +## No es que tengas algo que ocultar, la privacidad es un derecho humano + +Curioso, porque la mayoria de las personas cuando vamos al baño, cerramos la +puerta; son muy contadas las personas a las que permitiríamos entrar. + +¿Por qué?, digo, todos sabemos lo que se hace en un baño, pero aún así, es un +espacio personal donde queremos estar a solas. + +Y es que de eso se trata la privacidad, es una necesidad humana, un derecho. + +La gente confunde privacidad con secretismo, creen que por querer ocultar algo, +es porque sabemos que es malo. + +Pero ir al baño a satisfacer nuestras necesidas fisiológicas no es algo ilegal. + +Entonces, ¿por qué la gente en general es tan cínica con respecto a la +privacidad? + +## La conveniencia de los servicios de las Big Tech a cambio de tus datos + +Bueno, no es sorpresa que la mayoría de estas personas son normies, gente que +usa Windows/macOS en sus PCs, quienes usan todos los servicios "gratuitos" de +Google, Facebook, Microsoft y Apple. + +Estas empresas, las conocidas como "Big Tech" no son organizaciones sin ánimos +de lucro que crean servicios gratuitos, para nada.\_createMdxContent + +Al contrario, son de las empresas más poderosas que han existido en la historia +de la humanidad, y su valor en la bolsa no deja de crecer. + +Y es simple, aunque puedas pagar por algunas funcionalidades premium en sus +servicios, la realidad es que su verdadero producto eres **TÚ**, para ser más +específico, tus datos. + +Google Chrome y Microsoft Edge no son gratuitos, recolectan tus datos para +venderte anuncios personalizados. + +Tus fotos que guardas en Google Photos son analizadas por Google, pero dirás que +no te tomas fotos sin ropa... + +## No hizo algo ilegal, pero fue castigado + +No necesariamente debes evitar subir ese tipo de fotos (sin prejuicios), prueba +de ello está este caso de un padre de un bebé en San Francisco, California. + +En resumidas cuentas, un padre tomó fotos de los genitales de su hijo debido a +un problema, se las envió a su doctor de confianza para que realizara un +diagnóstico (esto fue durante la pandemia, en 2021). + +El problema fue que el padre tenía su celular con Android con el backup de fotos +con Google Photos, y dicha foto fue subida a los servers de Google. + +Google desde luego tiene bots que analizan las fotos que son subidas para evitar +almacenar cosas ilegales, como pornografía infantil, y es debido a esto que el +padre fue flaggeado por el algoritmo de Google como un criminal. + +Su cuenta de Google fue deshabilitada, perdió acceso a su celular y a todos sus +datos que tenía almacenados en los servicios de Google, y desde luego, Google +notificó a la policía. + +Después del juicio, el jurado declaró que no se había cometido crimen alguno, +pero Google se negó a restaurar el acceso a la cuenta del padre. + +Esta persona no tenía algo que esconder, y aún así fue castigado por una Big +Tech, no solo prohibiendo acceso a su cuenta, sino incluso notificando a la +policía. + +Y este es el problema cuando delegas tus fotos a una empresa que analiza cada +imagen que subes, estás a la merced de los "Términos y Condiciones", o en este +caso, a la interpretación de un bot de los Términos y Condiciones. + +Desde luego, nadie quiere que usen los servers de Google para guardar contenido +ilegal, pero estas medidas terminan afectando a personas que no cometieron un +crimen. + +## Preocuparse por la privacidad es como preocuparse por tu salud, poco a poco antes que sea demasiado tarde + +Lo sé, comenzar a preocuparse por la privacidad es intimidante, ya que es un +tema en el que hay que indagar bastante, ya que la mayoría de las personas son +muy ignorantes al respecto, pero no es necesario formatear todos tus drivers y +comenzar a usar alguna distro de Linux enfocada en privacidad desde el día cero. +Puedes comenzar dando pequeños pasos. + +Este tema no es uno de blanco y negro, de ignorancia total o absoluta paranoia, +es más bien un espectro, en donde puedes situarte poco a poco más del lado de la +privacidad, pero sin llegar a ser extremista. + +## Primeros pasos y alternativas + +Por ejemplo, comienza cambiando tu navegador de Internet, en lugar de Chrome o +Edge, podrías usar Brave, o mejor aún, Firefox con un User.js como BetterFox, +otra alternativa es LibreWolf, un fork de Firefox con mejoras en seguridad y +privacidad. + +Igual lo ideal es que no uses el gestor de contraseñas que viene por defecto en +tu navegador, lo ideal es que uses uno independiente como Bitwarden o Proton +Pass, estos cuentan con add-ons para navegadores basados en Chrome y Firefox. + +De igual manera un gran paso que puedes tomar es cambiando tu email en lugar de +utilizar Outlook o Gmail, una buena alternativa es Proton Mail. + +A su vez, intenta usar menos redes sociales, o como mínimo no compartas lo que +estás haciendo en ese momento, ya que puedes revelar información que no te +gustaría que sea usada en tu contra. + +## Sigue así + +Una vez que hayas tomados estos primeros pasos, lo ideal es que liberes por +completo tus dispositivos. + +En tu computadora para empezar, instalando alguna distro de Linux, una muy buena +para gente novata en Linux es Linux Mint, basada en una de las distros más +populares (Ubuntu) pero sin las malas decisiones que ha implementado Canonical +(la empresa detrás de Ubuntu). + +De igual manera tu celular es un dispositivo muy delicado, y desafortunadamente +difícil de liberar. + +Para empezar, si usas un iPhone, lo mejor que podrías hacer es jailbreakearlo, +pero no es muy viable usar un iPhone si lo que te preocupa es la privacidad. + +Y sí, Apple profesa mucho que los iPhones son seguros, pero eso es mentira +(hablaré más de esto en el futuro). + +El dispositivo ideal sería un Android, en específico un Google Pixel reciente, +ya que estos se pueden instalar un Custom ROM de Android, una buena opción es +GrapheneOS. + +Repito, no hace falta que tomes todos estos pasos de una, puedes ir poco a poco. + +## No caigas en la trampa del cinismo o el pesimismo + +Pero dirás: "las empresas ya tienen mis datos, de nada me sirve preocuparme +ahora". + +Eso es una estupidez, es como que alguien venga a golpearte y tu no te defiendas +ya que ya te golpearon; no, lo primero que haces es defenderte. + +De eso se trata la privacidad hoy en día, es un tema de defensa de los derechos, +no querer ocultar actividades ilegales. + +Curiosamente, los políticos se preocupan más por su privacidad, y no +necesariamente para ocultar sus obras de caridad, pero el gobierno es quien más +va a querer restar bloqueos para poder espiar a sus ciudadanos, tal es el caso +de Estados Unidos, o en casos más extremos; China y Corea del Norte. + +En fin, espero que con este video pienses dos veces cuando escuches a un normie +que no tiene nada que esconder, con lo cual puedes responder "si bien no tengo +algo que esconder, tampoco tengo algo en particular que quiera compartir +contigo". + +No permitas que 1984 de George Orwell pase de ser ciencia ficción a una +predicción del futuro. diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro index 82210dc..4edb269 100644 --- a/src/pages/blog/index.astro +++ b/src/pages/blog/index.astro @@ -4,27 +4,32 @@ import Layout from "@/layouts/Layout.astro"; import { sortContentByDate } from "@/utils/sorts"; import { getCollection } from "astro:content"; +const pageData = { + title: "Blog", + description: "Long format about thoughts and other topics.", +}; + const allPosts = await getCollection("blog", ({ data }) => data.draft !== true); sortContentByDate(allPosts); --- - -
-

Blog

-

Long format about thoughts and other topics.

-
- + +
+

{pageData.title}

+

{pageData.description}

+
+
    + { + allPosts.map((blogpost: any) => ( +
  • + +
  • + )) + } +
diff --git a/src/pages/portfolio/index.astro b/src/pages/portfolio/index.astro index 6a7cd77..5ce723e 100644 --- a/src/pages/portfolio/index.astro +++ b/src/pages/portfolio/index.astro @@ -4,30 +4,35 @@ import Layout from "@/layouts/Layout.astro"; import { sortContentByDate } from "@/utils/sorts"; import { getCollection } from "astro:content"; +const pageData = { + title: "Portfolio", + description: "Check my projects.", +}; + const allProjects = await getCollection( - "portfolio", - ({ data }) => data.draft !== true, + "portfolio", + ({ data }) => data.draft !== true ); sortContentByDate(allProjects); --- - -
-

Portfolio

-

Check my projects.

-
-
    - { - allProjects.map((project: any) => ( -
  • - -
  • - )) - } -
+ +
+

{pageData.title}

+

{pageData.description}

+
+
    + { + allProjects.map((project: any) => ( +
  • + +
  • + )) + } +
diff --git a/src/pages/videos/[...slug].astro b/src/pages/videos/[...slug].astro new file mode 100644 index 0000000..63f00a2 --- /dev/null +++ b/src/pages/videos/[...slug].astro @@ -0,0 +1,42 @@ +--- +import Layout from "@/layouts/Layout.astro"; +import { getCollection } from "astro:content"; +import type { CollectionEntry } from "astro:content"; +import components from "@/components/mdx/wrapper"; +import formatDate from "@/utils/format-date"; + +interface Props { + project: CollectionEntry<"videos">; +} + +export async function getStaticPaths() { + const allProjects = await getCollection( + "videos", + ({ data }) => data.draft !== true + ); + + return allProjects.map((project) => ({ + params: { slug: project.slug }, + props: { project }, + })); +} + +const { project } = Astro.props; +const { Content } = await project.render(); +--- + + +
+

{project.data.title}

+ +
+

+ Posted: + {project.data.date && formatDate(new Date(project.data.date))} +

+
+
diff --git a/src/pages/videos/index.astro b/src/pages/videos/index.astro new file mode 100644 index 0000000..f5cd636 --- /dev/null +++ b/src/pages/videos/index.astro @@ -0,0 +1,38 @@ +--- +import PostItem from "@/components/post-item"; +import Layout from "@/layouts/Layout.astro"; +import { sortContentByDate } from "@/utils/sorts"; +import { getCollection } from "astro:content"; + +const pageData = { + title: "Videos", + description: "Guiones de los videos de mi canal de YouTube.", +}; + +const allVideos = await getCollection( + "videos", + ({ data }) => data.draft !== true +); +sortContentByDate(allVideos); +--- + + +
+

{pageData.title}

+

{pageData.description}

+
+
    + { + allVideos.map((video: any) => ( +
  • + +
  • + )) + } +
+
diff --git a/src/utils/nav-links.ts b/src/utils/nav-links.ts index 31b583c..68b3925 100644 --- a/src/utils/nav-links.ts +++ b/src/utils/nav-links.ts @@ -12,6 +12,10 @@ export const navItems: TNavItem[] = [ label: "Portfolio", to: "/portfolio", }, + { + label: "Videos", + to: "/videos", + }, { label: "Microblog", to: "/microblog", @@ -20,10 +24,6 @@ export const navItems: TNavItem[] = [ label: "Resources", to: "/resources", }, - // { - // label: "Videos", - // to: "/videos", - // }, { label: "About", to: "/about", diff --git a/tsconfig.json b/tsconfig.json index 5fa2cdf..2ce6714 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,6 @@ "@/*": ["./src/*"] }, "jsx": "react-jsx", - "jsxImportSource": "react" + "jsxImportSource": "react", } }