add videos page, new video

This commit is contained in:
juancmandev 2024-07-25 16:03:52 -06:00
parent 2051c76f48
commit d0ab9db2a8
9 changed files with 313 additions and 62 deletions

View File

@ -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) {

View File

@ -30,8 +30,14 @@ const pages = defineCollection({
}),
});
const videos = defineCollection({
type: "content",
schema: contentSchema
})
export const collections = {
blog,
portfolio,
pages,
videos
};

View File

@ -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
---
<iframe
width='100%'
height='320'
className='rounded-md'
src='https://www.youtube-nocookie.com/embed/_x6SCSz7g5I'
title='YouTube video player'
allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'
allowFullScreen
></iframe>
![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.

View File

@ -4,14 +4,19 @@ 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);
---
<Layout title="Blog" description="Check my projects.">
<Layout {...pageData}>
<section class="prose prose-invert">
<h1>Blog</h1>
<p>Long format about thoughts and other topics.</p>
<h1>{pageData.title}</h1>
<p>{pageData.description}</p>
</section>
<ul class="mt-4 flex flex-col gap-4">
{

View File

@ -4,17 +4,22 @@ 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,
({ data }) => data.draft !== true
);
sortContentByDate(allProjects);
---
<Layout title="Blog" description="Long format about thoughts and other topics.">
<Layout {...pageData}>
<section class="prose prose-invert">
<h1>Portfolio</h1>
<p>Check my projects.</p>
<h1>{pageData.title}</h1>
<p>{pageData.description}</p>
</section>
<ul class="mt-4 flex flex-col gap-4">
{

View File

@ -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();
---
<Layout
lang="es"
title={project.data.title}
description={project.data.description}
>
<article class="prose prose-invert">
<h1>{project.data.title}</h1>
<Content components={{ ...components }} />
<hr />
<p>
<strong>Posted: </strong>
{project.data.date && formatDate(new Date(project.data.date))}
</p>
</article>
</Layout>

View File

@ -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);
---
<Layout {...pageData} lang="es">
<section class="prose prose-invert">
<h1>{pageData.title}</h1>
<p>{pageData.description}</p>
</section>
<ul class="mt-4 flex flex-col gap-4">
{
allVideos.map((video: any) => (
<li>
<PostItem
type="videos"
slug={video.slug}
date={video.data.date!}
title={video.data.title!}
/>
</li>
))
}
</ul>
</Layout>

View File

@ -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",

View File

@ -6,6 +6,6 @@
"@/*": ["./src/*"]
},
"jsx": "react-jsx",
"jsxImportSource": "react"
"jsxImportSource": "react",
}
}