diff --git a/README.md b/README.md index 7f8d147..ffda4ce 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,6 @@ Notas sobre **Periodismo de Datos** en *UC3M* - Visualización - Datos -## HTTP -Es una _API_ que tiene cuatro tareas posibles: -1. POST -2. GET -3. DELETE -4. PUT +## Por qué *Ponte Datos* + +Por Concepción Arenal Ponte diff --git a/img/cartelconcepcionarenal_4.jpg b/img/cartelconcepcionarenal_4.jpg new file mode 100644 index 0000000..3a85ec1 Binary files /dev/null and b/img/cartelconcepcionarenal_4.jpg differ diff --git a/img/data_driven_journalism_process.jpg b/img/data_driven_journalism_process.jpg new file mode 100644 index 0000000..80084af Binary files /dev/null and b/img/data_driven_journalism_process.jpg differ diff --git a/img/the-guardian-200.png b/img/the-guardian-200.png new file mode 100644 index 0000000..7c473e4 Binary files /dev/null and b/img/the-guardian-200.png differ diff --git a/img/theguardian-frontpage.jpeg b/img/theguardian-frontpage.jpeg new file mode 100644 index 0000000..b79ce5c Binary files /dev/null and b/img/theguardian-frontpage.jpeg differ diff --git a/sesiones/2021-09-14.md b/sesiones/2021-09-14.md new file mode 100644 index 0000000..eb355d0 --- /dev/null +++ b/sesiones/2021-09-14.md @@ -0,0 +1,197 @@ +# + +# DATOS +- ¡Para el Periodismo de Datos necesitamos datos! +- Muchas veces es complicado encontrarlos pero también hay muchos sitios donde buscar e investigar datos ya preparados. Los iremos viendo. +- Tened en cuenta que en Github también vamos a encontrar repositorios que tengan datos o repositorios con recopilatorios de datos. +- Un truco/consejo: cuando queráis buscar algo en Github añadid el adjetivo "awesome" (fantástico, chulo, maravilloso) a la palabra que buscáis. Por ejemplo, buscad "awesome data" para buscar datos. +- Otro sitio interesante es kaggle.com, ya lo veremos más adelante. + +# Cygwin +## Mirrors +(I'll be your mirror, reflect what you are, in case you +- Algunas personas os habéis quedado en el punto en el que dudáis porque os da a elegir entre varios *mirrors* la descarga del software. Esto es un guiño a la historia de Cygwin y de la cultura de Internet. +- Tened en cuenta que al principio las conexiones eran muy lentas. Algunas páginas con mucho contenido o contenido pesado, como puede ser el software, tenían *mirrors*, es decir, espejos, copias de ese contenido en otras para no saturar la original. +- El hecho de llamarse + +A propósito de una pregunta sobre "¿quiénes somos, de dónde venimos y a dónde vamos?", recordamos los tres saberes implicados en periodismo de datos: + +1. Periodismo +2. Visualización +3. Datos + +Los tres son importantes pero ojo que la visualización va más allá de la visualización como producto final. En la etapa de visualizar también realizamos análisis, aplicamos técnicas estadísticas, programas informáticos que hagan que de un gran volumen de datos seamos capaces de sacar hipótesis o conclusiones. + + +# Uso de herramientas o software libres + +Cuando se habla de herramientas libres, de software, se refiere al hecho de que tengan licencias de software libres y/o abiertas. + +- Sin abordar una vieja polémica entre software libre vs software de código abierto, hablamos aquí de todas ellas como un conjunto. +- Tened en cuenta que el software, en España/Europa, tiene consideración de obra inmaterial y tiene los mismos derechos que el Copyright de las obras escritas. +- Cuando escribimos no hace falta señalar el Copyright, lo tenemos por ley por defecto, de manera predeterminada. +- Se pueden resumir los usos sobre una obra inmaterial en cuatro: + 1. Uso. Lectura de un libro o lectura de un software. + 2. Distribución. Dejar prestado el libro, texto o software. + 3. Modificación. Poder adaptar el texto, libro o software. + 4. Redistribución. Poder distribuir esa adaptación +- El software libre y las licencias [Creative Commons](https://creativecommons.org/) (utilizadas en producción cultural) "juegan" con esos derechos del Copyright para cederlos. +- Por ejemplo, [eldiario.es](https://www.eldiario.es/) tiene una licencia [Creative Commons](https://creativecommons.org/licenses/by-nc/4.0/deed.es) BY-NC, es decir, se puede usar su contenido pero hay que citar su proveniencia y autoría (BY) pero no se puede hacer esto de forma comercial (NC, Non Commercial). +- Hay otras licencias como las consideradas "AntiCopyright" de BSD ya que solo con mencionar la proveniencia permitían la adaptación y redistribución total de las obras derivadas. Esto es lo que ocurrió con parte del sistema operativo MacOSX que está basado en OpenBSD (como siempre, en los resúmenes se pierden detalles importantes, en [StackExchange](https://unix.stackexchange.com/questions/695/where-does-mac-os-x-come-from) hay un hilo sobre esto). +- Con el software libre no solo se pueden hacer las cosas que el software permita sino que, si avanzamos en el conocimiento del propio software, podemos participar de su creación. + + +# Git + +- [Git](https://git-scm.com/) se utiliza en proyectos de software. Es un programa para el trabajo colaborativo y distribuido. +- También se utiliza en proyectos de periodismo y visualización de datos. +- Hay una visión del periodismo de datos denominada "Content as Code" que encaja con este uso. +- En cualquier caso, tiene muchas ventajas. Los únicos inconvenientes pueden venir de no conocer bien cómo funciona. +- Permite ramas de los proyectos que luego pueden integrarse. +- Permite volver a momentos concretos de los proyectos. +- Nos acostumbra a trabajar comentando lo que hacemos. +- Nos habituamos a un software cliente/servidor. +- Permite más de un servidor. +- Lo crea Linus Torvalds, el mismo creador del kernel Linux (de los sistemas operativos GNU/Linux) precisamente para el desarrollo del kernel, de esta parte fundamental del software de un sistema operativo. + + +# Github + +- Dado que git nace de los proyectos de software conviene saber qué tres piezas suelen tener estos proyectos, aunque a veces esté todo resumido en el propio archivo del software: + 1. El archivo Readme, en texto plano, donde se explica de qué va el software, cómo surgió, quién/es están detrás de él, cómo se usa, etc. + 2. La licencia del software. + 3. El propio software +- Mis notas de Github las podéis encontrar [aquí](https://github.com/flowsta/github). + + +# Datos + +- Volviendo la mirada sobre los datos, recordad que cuando hablamos de datos no nos referimos solo a unos datos estructurados o a un conjunto de datos. +- Veremos datos de todo tipo y también tipos de datos. +- Pero pensad que se tratan de registros electrónicos, donde puede haber datos estructurados pero también no estructurados, el texto y/o la web como datos, la música, las imágenes, los vídeos… +- E incluso nuestro comportamiento, tanto con las aplicaciones como con los dispositivos electrónicos. +- Se pregunta si en una página se puede seguir cuando pinchas en un enlace y cuando no… se puede seguir todo, es decir, se registra todo nuestro comportamiento, se puede reproducir, se hacen pruebas constantes con lo que hacemos, con nuestras decisiones, nuestros estímulos… técnicas A/B, etc. + + +# Markdown + +- En el mundo de los datos, el tamaño importa. +- La Web funciona con HTML, actualmente la versión 5: HTML5 +- HTML está muy bien pero Dan Gruber pensó que tenía un inconveniente: era difícil de leer el texto de un código HTML. +- Por eso inventó Markdown. Markdown es dos cosas a la vez: + 1. Una sintaxis simple. Veréis que es muy, muy simple. + 2. Un "parseador" o conversor de esa sintaxis en HTML +- Así, en Github escribimos Markdown y Github lo muestra como HTML, pero si vemos el archivo fuente sigue siendo Markdown. Tiene truco, claro. Si le das a "ver código fuente" lo ves en HTML pero ese HTML no es el que modificas para que se vea un HTML u otro sino que lo que modificas es Markdown y luego se hace la conversión de nuevo. +- Markdown es tan simple que hay sitios donde no llega. Por eso desde el inicio se permite en Markdown usar también lenguaje HTML si lo necesitamos. +- También hay versiones de Markdown como Markdown BlackFriday o RMarkdown en R. +- Hay muchas guías de Markdown. Lo mejor es probar y aprender. +- Mi guía la podéis encontrar en [github](https://github.com/flowsta/markdown). + + +# Pero, ¿por qué tantas tecnologías y términos? + +- Veamos, volvamos al principio. Estamos en Periodismo de Datos. Sí, podríamos tener una pequeña tabla, ir a un servicio de terceros y hacer un gráfico. Fácil. De hecho, lo haremos. +- Parémonos un momento en eso que dijimos del *Computer Assisted Reporting*, periodismo asistido por ordenador. Sí, esto es fundamental, debemos saber manejar un ordenador. + + +## Programación literaria e investigación reproducible + +- Ya en programación Donald Knuth, inventor del fundamental \LaTeX, pieza clave en la investigación reproducible, lo hizo pensando en el paradigma de la "programación literaria". +- Es decir, como vimos con HTML, todo lenguaje informático tiene "comentarios" sobre el código. +- Estos comentarios son útiles para recordarme por dónde voy, por qué he hecho tal cosa si tal otra falló, lo que quiero hacer, etc. +- La programación literaria propone hacerlo "al revés". Es decir, escribir lo que quiero hacer y los trozos que sean código identificarlos como tal. + + +## Content as Code + +- Tanto Github como Markdown como otras tecnologías están alineadas con algo que se ha denominado "el contenido como código". +- En el mundo del periodismo de datos se utiliza mucho Python con Jupyter; R con RStudio; Javascript con ObservableHQ; etc. Los veremos en otro momento. +- El uso de sintaxis simple nos permite reutilizar el texto, nuestro código, y también insertar código. + + +## COPE + +- En la radio pública de EE.UU. desarrollaron la estrategia *COPE*: *Create Once, Publish Everywhere* para reutilizar contenidos de las distintas emisoras. + + +# Manos a la obra: Github + +- Entramos en Github +- Creamos un repositorio nuevo +- Lo llamamos, por ejemplo, "uc3m-periodismo-datos". Es importante en este momento que, si no lo hacíais hasta ahora, empecéis a no usar espacios en blanco para los nombres de archivo y directorios/carpetas :boom: +- Sí que inicializamos el repositorio con un archivo que se llamará "README.md". El ".md" significa que tiene sintaxis Markdown. +- Finalizamos el proceso. +- Ahora tenemos un archivo `README.md` que contiene una sola línea "# uc3m-periodismo-datos". Esto es porque Github ha tomado el nombre del repositorio y lo ha convertido en el título o H1 de HTML en este documento. + + +## Editar + +Vamos al lápiz, pinchamos y editamos. Escribimos: + + # Periodismo de Datos en UC3M + + Notas sobre **Periodismo de Datos** en *UC3M* + + ## Qué es el periodismo de datos + - Periodismo + - Visualización + - Datos + + ## HTTP + Es una _API_ que tiene cuatro tareas posibles: + 1. POST + 2. GET + 3. DELETE + 4. PUT + +- Veis que en el editor hay una pestaña a la derecha para previsualizar el texto en HTML. +- Si estamos de acuerdo, "guardamos". +- En Github, como es software git lo que hay detrás, no se "guarda" el documento sino que se hace un "commit", una explicación simple o extensa de lo que hemos hecho, por si tuviéramos que volver a este punto. Ahora sí, "comiteamos". +- Si queremos volver a editar para cambiar algo, repetimos la operación. + + +## Crear archivo + +- Pinchamos en crear archivo y lo nombramos. +- Importante: + - No usar tildes ni espacios en blanco ni caracteres que no sean ASCII, es decir, tampoco las eñes. + - Si se trata de un archivo markdown tendrá una extensión "md", como el README, es decir, por ejemplo, "nuevo-archivo.md" + + +# Para el próximo día + +Ahora que ya tenemos un primer repositorio en Github y que sabéis crear archivos, os propongo que escribáis un comentario crítico sobre una o varias visualizaciones de datos y/o infografías. + +- No se exige un número mínimo de palabras ni máximo. +- Puede ser de una o de varias. +- Lo interesante no es que me enseñéis la que pensáis que puede ser para mí la mejor visualización o infografía sino que escribáis libremente, sin prejuicios. +- Importante, repito: este texto tiene que estar en formato Markdown en un documento creado en el mismo repositorio de Github que habéis creado. +- Si la/s visualizaciones o infografía/s tienen URL, podéis añadirlas. +- Cualquier duda la podemos resolver también por el foro. + + +# Para la próxima sesión… + + +## Tener instalada el emulador de terminal + +- En Windows hay que descargarse [Cygwin](https://cygwin.com) +- En MacOSX hay que descargarse y activar XCode. En MacPorts hay una [guía](https://guide.macports.org/#installing.xcode) pero seguro que hay otras. + + +## Cosas que nunca te dije + +- [ ] Arquitectura cliente/servidor +- [ ] Periodismo de bases de datos +- [ ] Mostrar D3js. +- [ ] Crear una cuenta en Datawrapper. +- [ ] Explicar JSON como formato de datos. +- [ ] Explicar formatos de datos. +- [ ] Licencias de datos +- [ ] Bibliografía +- [ ] Comunidades +- [ ] Ejemplos +- [ ] Taxonomías de visualización +- [ ] Periodismo de datos como ciencia de datos. +- [ ] La pirámide invertida del periodismo de datos. + diff --git a/sesiones/2021-09-15.md b/sesiones/2021-09-15.md new file mode 100644 index 0000000..351ba1f --- /dev/null +++ b/sesiones/2021-09-15.md @@ -0,0 +1,42 @@ + +# Repaso + +- De la clase anterior. +- Dudas sobre Github. +- Problemas con XCode todavía sin resolver. +- Preguntas: ¿qué es el periodismo de datos? ¿una introducción? + + +# Introducción al Periodismo de Datos + +Seguimos esta [presentación](https://flowsta.github.io/periodismodatos/) que está en este repositorio de [Github](https://github.com/flowsta/periodismodatos/) +No la terminamos, la veremos en sesiones siguientes… 2021-09-28 Tue + + +# Enlaces + +- Philip Meyer, ![img](https://i.ytimg.com/vi/FbYR78vyhw0/maxresdefault.jpg) +- Ben Welsh: +- NiemenLab +- MC5, +- +- UNIVAC CBS 1952 Elections: +- UNIVAC I: + + +## CBS News Election Coverage + +November 4, 1952 +A portion of the network coverage of the 1952 elections, anchored by Walter Cronkite, and featuring CBS News pioneers like Edward R. Murrow, Charles Collingwood, and Eric Sevareid. + +Posted for educational and historical purposes only. All material is under the copyright of their original holders. No copyright infringement is intended. + + +# Buscadores + +Que respeten la privacidad: + +- Duckduckgo.com +- Startpage.com +- ecosia.org + diff --git a/sesiones/2021-09-21.md b/sesiones/2021-09-21.md new file mode 100644 index 0000000..7a63f10 --- /dev/null +++ b/sesiones/2021-09-21.md @@ -0,0 +1,161 @@ + +# Datos + +Hemos repasado los términos de periodismo de datos a propósito de lo que haremos después. + +- Periodismo de datos alude al uso de datos pero no hay que olvidar que estos datos son registros electrónicos +- El hecho de llamarlo "periodismo guiado por datos" o *data driven journalism* no debe menospreciar que lo importante es el periodismo. +- Pero hay que saber trabajar con datos como una parte más del trabajo periodístico. +- El *Computer Assisted Reporting* o periodismo asistido por ordenadores lleva funcionando en EE.UU. desde los 1950. + + +# Tipos de formatos de datos + +Aunque no hemos empezado por aquí, lo hago así para que se entienda mejor por parte de quien lo lea. + +En este caso no hablamos de las bases de datos y de SQL sino de los tres tipos de formatos de datos de ficheros que nos vamos a encontrar habitualmente: + +1. *\*SV* o valores separados por cualquier valor. +2. *JSON* o *JavaScript Object Notation*, notación de objetos *JS*. +3. *XML* o *eXtensible Markup Language*, lenguaje de marcas extensible. + + +## XML + +Los ficheros XML no los vamos a ver porque: + +- Son más complicados de leer. +- Por tanto, es más complicado trabajar con ellos + + +## JSON + +- Son los ficheros que mejor funcionan con aplicaciones web. +- Utilizan la sintaxis de *JS*. +- Permiten más complejidad que los *\*SV*, por eso son más complejos de leer. + + +## *\*SV* + +- Normalmente serán llamados con terminación *csv* incluso aunque no utilicen comas para separar los valores. +- Son los más sencillos. +- Pero también los menos estandarizados. +- Los valores separados por comas se visualizan como una tabla simple con filas y columnas. +- La mayoría de los recursos disponibles en los catálogos de Datos Abiertos se encuentran en formato CSV. +- Elportaldedatoseuropeodisponedemásde120milconjuntosdedatosenformatoCSV,siendoelformatoquemásabundaenestecatálogodeDatosAbiertos.•Porsuparte,elcatálogonacionaldatos.gob.escuentaconcasi14mildatasetsenformatoCSV,siendoigualmente,elformatomayoritario. + + +# Aprender a partir de una tabla de datos + +- A partir del listado de la clase aprendemos algunas cosas de las tablas. +- La tabla es una representación visual de un *\*SV*, un archivo de valores separados por comas. +- La tabla la leemos de izquierda a derecha y de arriba a abajo. +- La lectura horizontal se corresponde a las filas y la vertical a las columnas. +- Las filas son las "líneas" del archivo. +- A veces, aunque no siempre, la primera línea es la **cabecera** de la tabla e indica qué información tiene cada columna. +- La información de la columna está relacionada con el **tipo de datos** que tiene la tabla. +- Cada intersección de fila y columna es una celda. +- Cada variable es una columna +- datos.gob.es ha [[ + +][publicado]] una guía muy completa, también en formato [chuleta](https://datos.gob.es/sites/default/files/doc/file/cheat_sheet_csv_vf.pdf). + + +# Tipos de datos + + +## Numéricos + +- Cuando una celda tiene números es probable que esos datos sean **numéricos**. +- Pero no siempre ocurre ya que solo son considerados *numéricos* si queremos realizar operaciones matemáticas con ellos. +- En nuestro caso, estos números corresponden a un identificador, que en este caso está compuesto por números. +- Por tanto, en este caso estos números no son datos *numéricos* sino *string*, "cadena de caracteres" o *literales*. +- Algunas aplicaciones reconocen automáticamente o pueden hacerlo los tipos de datos para realizar operaciones específicas con ellos. +- Esto suele mostrarse visualmente de alguna manera destacada, por ejemplo, poniendo esos datos en color verde. + + +### Tipos de datos numéricos + +- **integer:** números enteros, sin decimales. Atención si tienen el separador de millar porque es distinto en español (punto) que en inglés (coma). Algunos programas lo entienden según tu codificación del programa pero otras veces hay que indicarlo. +- **decimal:** números con decimales pero –explicación corta– pocos decimales y siempre el mismo número de decimales. Por cómo son tratados, son más lentos de procesar que los `float`. +- **float or double:** números con decimales pero que pueden tener muchos decimales y/o variable en su longitud. Por cómo son tratados son más rápidos de procesar que los `decimal` +- **date or datetime:** la forma más estándar suele ser la que sigue el esquema `YYYY-MM-DD`, donde `Y` significa `Year`, y al ser cuatro tienen que ponerse cuatro cifras; `M` significa `Month`, y al ser dos tienen que ponerse dos cifras; y `D` significa `Day` y al ser dos tienen que ponerse dos cifras. Fíjese que en este tipo de datos numérico se utiliza un guión para separar las unidades temporales, aunque hay veces que se separan con `/`, no es lo más habitual. Hay veces que se incluye también la hora `time`, a continuación de la fecha, o bien separada con una `T` de `Time` o, simplemente, con otro guión, en la forma `HH:MM:SS`: `2021-09-21-14:30` o `2021-09-21+14:30`. Se suelen poner horas y minutos si no se necesitan los segundos, pero puede haber segundos e incluso décimas de segundos: `2021-09-21T14:30:00.5`. También se puede indicar la zona temporal añadiendo una `Z` al final que indica que se está en horario `UTC` (*Universal Time Coordinated*… en realidad no está en inglés [exactamente](https://es.wikipedia.org/wiki/Tiempo_universal_coordinado)). Madrid está en UTC+2 en horario de verano y UTC+1 en horario de invierno por lo que, la fecha anterior se escribiría en Canarias así: `2021-09-21T14:30:00.5Z` pero en Madrid sería `=2021-09-21T14:30:00.5+2=`. El mapa con los husos horarios lo tenéis en la [Wikipedia](https://es.wikipedia.org/wiki/Tiempo_universal_coordinado#/media/Archivo:World_Time_Zones_Map.png). El tema de las fechas se ha especificado tanto quizás porque ha generado unos cuantos problemas informáticos. Véase, por ejemplo, el [problema del año 2000](https://en.wikipedia.org/wiki/Year_2000_problem) que fue bastante comentado: [CCFN TV](https://www.youtube.com/watch?v=Mw_2P-FKEr8), [NatGeo](https://www.youtube.com/watch?v=ddzbxJasID4), [The Science Elf](https://www.youtube.com/watch?v=PvXVWCckDMY). Pero, ¿puede volver a pasar? ¡Sí! Ya tenemos el [Year 2038 Problem](https://en.wikipedia.org/wiki/Year_2038_problem) por el registro de hora en 32 bits. La solución pasa por hacerla en [64 bits](https://opensource.com/article/19/1/year2038-problem-linux-kernel). +- **period:** Algunas veces ([duration data type de XML Schema](https://www.w3schools.com/XML/schema_dtypes_date.asp)) se utiliza también el tipo de dato de tiempo periódico que obedece al periodo de la muestra del dato, por ejemplo: + - `P` al inicio indica que se trata de un dato periódico. + - `nY` indica el número de años. + - `nM` indica el número de meses. + - `nD` indica el número de días. + - `T` indica el comienzo de horas, minutos o segundos, según vaya `nH`, `nM` o `nS` + - En este tipo de dato se pueden dar valores negativos para indicar mediciones aproximadas. Por ejemplo, si es `-P10D` indica un periodo menor a diez días. + + +## *Strings* + +- Se denomina *strings*, cadena de caracteres o literales al texto normal. + + +## Booleanos + +- Representan dos valores de una lógica binaria. +- "Verdadero o Falso", "True or False", "Sí o No", "0 o 1", etc. +- El nombre se debe a [George Boole](https://es.wikipedia.org/wiki/George_Boole), "desarrolló un sistema de reglas que le permitían expresar, manipular y simplificar problemas lógicos y filosóficos cuyos argumentos admiten dos estados (verdadero o falso) por procedimientos matemáticos." + + +# Repaso de infraestructura + +- Hay que instalarse [OpenRefine](https://openrefine.org), la navaja suiza de la limpieza de datos. Si no podéis lo hacemos el próximo día. +- Instalación de la terminal… + + +## XCode + +- Hay gente con MacOSX que no ha podido instalar XCode porque le sale un aviso de que no tiene espacio en disco. +- Este tipo de mensajes están bien, son normales, las aplicaciones ponen mensajes… pero eso no tiene que frenarnos para nuestros propósitos. Hemos de preguntarnos qué podemos hacer. +- Una opción es mirar el tamaño de nuestro disco duro. Se puede hacer por aplicaciones gráficas o bien con el comando `df`: + + df -h + +Si no tenemos espacio, debemos buscar la forma de tenerlo. +Si tenemos, podemos buscar ayuda: + +- A alguien que sepa. +- A otras personas, en el foro de la clase. +- A mí. +- A tu buscador favorito. + +Si usamos [duckduckgo](https://duckduckgo.com/) para eso con una búsqueda tipo [xcode fail install disk space](https://duckduckgo.com/?t=ffab&q=xcode+fail+install+disk+space&atb=v224-1&ia=web) y hemos hecho una pregunta [inteligente](https://sindominio.net/ayuda/preguntas-inteligentes.html): + +- +- + +Si eso no nos ayuda, seguir buscándolo. + + +## Cygwin + +Lo vemos el próximo día + + +## Tablet Windows 10 + +No parece tener ningún problema para instalar programas Windows. + + +# Periodismo y Visualización de datos + +- Se habla de periodismo y visualización de datos porque entendemos que hay una línea argumental entre ambos conceptos. +- El periodismo de datos usa la visualización de datos tanto en la etapa de análisis como en la de presentación de resultados. +- A la vez son términos que no se han definido por completo. ¿Se puede hablar de periodismo y visualización sin análisis? No, pero, la visualización remite también al análisis de datos. +- Veamos estos términos por separado para conocerlos mejor, primero el de periodismo de datos y en el siguiente módulo el de visualización de datos. + + +# Ejemplos + + +# Enlaces + + + +- Entrevista con Philip Meyer, +- - Philip Meyer con Harvard Data Text + diff --git a/sesiones/2021-09-22.md b/sesiones/2021-09-22.md new file mode 100644 index 0000000..239916c --- /dev/null +++ b/sesiones/2021-09-22.md @@ -0,0 +1,104 @@ + +# Nombres de archivos y carpetas + +- Recordamos que en Github si creamos un archivo hemos de incluir la extensión `md` para que lo trate como un texto `markdown` y por tanto lo procese correctamente. +- En Github los nombres del primer archivo se llaman `README.md` para que lo leas (¡léeme!) y de alguna forma como homenaje a los archivos del software que se leía en pantallas en blanco y negro donde se prefería las mayúsculas para la mejor lectura. +- En vuestro caso yo optaría por nombrar tanto los archivos como las carpetas en minúsculas y separando las palabras con guiones medios, es decir: `esta-es-una-carpeta` y `esto-es-un-archivo.md`. +- Hay otras formas posibles pero es importante que seáis metódicos para que siempre lo hagamos así y sepamos por tanto acceder y recuperar nuestros archivos y carpetas. + + +# Repaso del día anterior + +- Después de repasar todo llegamos a que algunas personas con Mac no habían conseguido instalar XCode. A partir de ahí hemos empezado con la instalación o puesta a punto de la terminal. + + +# Windows + + +## Cygwin + +- Se puede descargar en +- Emulador de la terminal POSIX en Windows +- Ofrece un cojunto de herramientas y programas que emulan una distribución Linux en Windows. +- Tiene desventajas conocidas: instalación, actualización, usabilidad de la instalación… +- ¡Atención! Una vez que lo descargáis y lo instaláis, no tiréis el instalador ya que es necesario para su actualización. +- La primera vez que lo usamos descargamos `lynx`, un navegador en línea de comandos. +- Para no tener que correr manualmente el instalador cada vez que queremos actualizar Cygwin con algún paquete/programa, usaremos `apt-cyg` + + +## apt-cyg + +- Cygwin es una herramienta muy potente para Windows pero muy tediosa de utilizar. +- [apt-cyg](https://github.com/transcode-open/apt-cyg) es un gestor de paquetes de Cygwin que funciona en línea de comandos. +- El nombre proviene de ser como un [apt](https://wiki.debian.org/Apt) para Cygwin. +- Un APT (*Advanced Package Tool*) es un conjunto de herramientas para manejar los paquetes –programas– de los sistemas [Debian](https://www.debian.org) [GNU](https://gnu.org)/[Linux](https://linux.org). Se ha hecho muy popular su funcionamiento y otros sistemas + +operativos lo han imitado porque permite: + +- Instalar programas. +- Desinstalar programas. +- Actualizar programas. +- Resolver dependencias de los programas de forma automática. + +- Sin apt-cyg, cada vez que queremos instalar algo hay que abrir el programa de instalación de Cygwin. +- Con apt-cyg conseguimos instalar o actualizar programas que usamos en Cygwin desde la propia consola de Cygwin. + + +## Instalación de apt-cyg + +Para instalarlo, tal como cuentan en su página web, usamos dos líneas de comandos: + + lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg + install apt-cyg /bin + +La primera línea dice que ejecutará `lynx` con la opción `-source` para descargar el código fuente de la página `rawgit.com/transcode-open/apt-cyg/master/apt-cyg` y ese texto lo envía con `>` al archivo `apt-cyg`. +`Lynx` es un navegador en línea de comandos que se puede utilizar para esto. El próximo día probaremos con otras páginas. + +En este momento y en el directorio/carpeta/ruta donde estemos, creamos un archivo con nombre `apt-cyg` que contiene el texto del código fuente de esa URL, que es un script para usar Cygwin e instalar programas sin correr manualmente el instalador. + +Para comprobar que está hacemos un `ls`, un comando para listar los contenidos de la carpeta/directorio. + +Si está, pasamos a la siguiente línea. Con `install` instalamos el archivo `apt-cyg`, que es un programa, en la carpeta *bin*, que son los programas o binarios. + +Si no ha dado error será que lo tenemos. Para probarlo escribimos `apt-cyg install wget`, que es la instrucción para instalar el programa `wget`, una herramienta para descargar archivos que usa precisamente `apt-cyg` + + +# MacOSX + + +## Terminal + +- La terminal es una aplicación que encontramos disponible en "Utilidades -> Terminal" pero, de un tiempo a esta parte, está capada y no se puede utilizar con todo su potencial. +- Para ello requiere [activar Xcode](https://guide.macports.org/#installing.xcode). Esto lo conseguimos por dos vías posibles. En ambos casos debemos tener cuenta de Apple. +- O bien descargamos [xcode](https://apps.apple.com/us/app/xcode/id497799835), que son muchos Gb. +- O bien en la página de [developer](https://developer.apple.com/downloads/index.action) de MacOSx buscamos "Command line tools for Xcode", que es menos de medio Gb. +- En cualquier caso, leed bien las instrucciones para la instalación de estos enlaces y no tengáis miedo a las advertencias de Mac sobre lo que vas a hacer pues lo único que vas a hacer es usar algo que tu ordenador es capaz de tener. +- Una vez tenemos Xcode, instalamos `brew` que es un gestor de programas para la terminal de Mac, algo así como el `apt-cyg` de Cygwin. + + +## Brew + +- Puedes ver el proyecto en +- Se trata de un gestor de programas en MacOSX. +- Hay una alternativa llamada [macports.org](https://www.macports.org/), no son incompatibles, por si alguien se anima a experimentar. +- Sirven para instalar programas que se usan en la Terminal. +- La instalación fácil hasta hace poco está en la página de brew.sh +- Copiamos esta línea `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` y la pegamos en la terminal. +- Sin embargo esto ha cambiado sensiblemente porque MacOSX ha dejado de utilizar `BASH` como el dialecto que entiende la terminal y ahora utiliza `ZSH`. Aunque son dialectos varían en algunas cosas. En el curso usaremos `Bash` por lo que recomiendo hacer lo siguiente: + - [spirosfromlondon](https://discussions.apple.com/thread/252176464) nos cuenta que tendremos que lanzar `brew update` y luego `brew install bash`. Comprobamos con `bash --version` y para que MacOSX no olvide esto, editamos el archivo `~/.bash_profile` con `nano`, por ejemplo y añadimos esta línea: `export BASH_SILENCE_DEPRECATION_WARNING=1`. + - `nano` es un editor en línea de comandos, lo veremos el próximo día. + - Luego ya podemos instalar programas. Por ejemplo, `wget` con `brew install wget`. + - Quizás surjan otros problemas, como [este](https://apple.stackexchange.com/questions/224511/how-to-use-bash-as-default-shell)… no dudéis en comentarlos. +- Si quisierais seguir con `zsh` y no os da problemas, genial. [Aquí](https://stackoverflow.com/questions/65619529/fixing-zsh-command-not-found-brew-installing-homebrew) hablan de algunos problemas que se han encontrado. + + +# Repaso + +- [ ] Control ordenador. +- [ ] Emulador de terminal con Cygwin (W$) o activando XCode (MacOSX) para aplicaciones CLI +- [ ] Editor de textos con `nano` +- [ ] Sintaxis `Markdown` +- [ ] Control de versiones `git`. +- [ ] Github para repositorios de documentación y servidor web. +- [ ] Python para algunas funcionalidades. + diff --git a/sesiones/2021-09-28.md b/sesiones/2021-09-28.md new file mode 100644 index 0000000..a84364a --- /dev/null +++ b/sesiones/2021-09-28.md @@ -0,0 +1,117 @@ + +# Ley de Murphy + +Disculpad el retraso, os quería hablar de la ley de Moore pero debería empezar por la Ley de Murphy. + + +# Terminal + +Tres comandos vamos a usar: + +- `pwd` o *print working directory*, es decir, imprime el directorio de trabajo. +- `ls`, sirve para listar los archivos y directorios del directorio donde estás. +- `cd`, para cambiar de directorio. + + +# Jerarquía del sistema de directorios + +- Metáfora arriba/abajo en un eje de Y donde el punto 0 es la raíz del sistema operativo, representado en Unix con una `/` y en +- Metáfora adelante/atrás en el eje de las X donde el punto 0 es la raíz del sistema operativo. +- Metáfora entrar al directorio/salir del directorio. +- En el mundo web además del punto 0 de la web está la URI o dirección del recurso en la red. Veámoslo con un ejemplo: `https://workforus.theguardian.com/careers/product-engineering/` + - En esta URL el dominio es la raíz, en este caso `workforus.theguardian.com` + - El directorio de primer nivel sería `careers`. + - Que tendría dentro el directorio `product-engineering` + - Y dentro estará el archivo `index.html` + + workforus.theguardian.com + └── careers + └── product-engineering + └── index.html + +Voy a añadir además los directorios `img` y `js` que cuelguen de la raíz del árbol y les voy a crear un archivo dentro de cada uno: + + workforus.theguardian.com + ├── careers + │   └── product-engineering + │   └── index.html + ├── img + │   └── icon.png + └── js + └── lib.js + +Si estoy en `index.html` y quiero referirme a la imagen `icon.png` que está en el directorio de las imágenes, puedo hacerlo con la ruta relativa o la ruta absoluta: + +- Ruta relativa: según en el sitio en el que me encuentro, es decir, en `index.html`, luego tengo que subir un directorio hasta `careers`, otro hasta la raíz `workforus.theguardian.com`, y luego bajar al directorio `img`. Eso se representa así: `../../img/icon.png`. Es decir, con `../` se sube un directorio. +- Ruta absoluta: desde la raíz. Dado que la raíz está representada por una `/`, hacemos: `/img/icon.png` +- Ruta URI: dado que es un recurso disponible en la red de Internet, también podría tener la ruta `https://workfocus.theguardian.com/img/icon.png`. Cuando se ponen rutas URI se puede quitar la parte del protocolo, lo cual se hace por si en algún caso tiene problemas con uno u otro, quedando así: `//workfocus.theguardian.com/img/icon.png` + +El porqué poner uno u otro depende de cómo esté montada la web. Suele ser mejor poner rutas absolutas si crees que las relativas pueden variar, pero también podrían cambiar potencialmente las absolutas. + + +# Git + + +## Instalación + +Instalamos git en el ordenador. + +- En cygwin, `apt-cyg install git` +- En linux, `sudo apt install git` +- En mac, `brew install git` + + +## Problemas en Windows: el Antivirus + +- Se han detectado problemas o bien al instalar git o bien al clonar el repositorio luego. +- Cuando estéis con estas cosas desactivar el antivirus o permitidle una excepción de cygwin porque si no no funciona bien. + + +# Mundo web + +- Por cierto, antes de hacer lo de Github… ¿habéis visto su página? ¿Os recuerda a algo? ¿No? +- Ahora veamos la de Twitter… ¿se parecen? +- Resulta que la web de Github está diseñada con el framework Bootstrap +- Bootstrap es un framework de desarrollo web que liberó Twitter cuando rediseñó su página +- Muchas de las páginas del mundo están basadas en Bootstrap. En algunas se nota más que en otras. +- Aunque Bootstrap tiene iconos, hay otro proyecto que también se usa, [Fontawesome](https://fontawesome.com/v5.15/icons?d=gallery&p=2&m=free) + + +# The Guardian + +Vaya sorpresa me he llevado cuando el clásico "We Are Hiring!" del código fuente de [The Guardian](https://www.theguardian.com/international): + +![img](img/theguardian-frontpage.png "We Are Hiring!") + +Ha sido sustituida por: + +![img](img/the-guardian-200.png "200 Anniversary The Guardian") + + +# Github + +- Vamos a github y copiamos la dirección del repositorio, por ejemplo: `https://github.com/Pontedatos/uc3m-periodismo-datos.git` +- Lo clonamos en el directorio donde estamos con `git clone https://github.com/Pontedatos/uc3m-periodismo-datos.git`. +- Esto significa que creara una carpeta/directorio en nuestro espacio con el nombre `uc3m-periodismo-datos` con el contenido de ese repositorio remoto. +- Si añadimos al final, separado con un espacio, un nombre, llamará a la carpeta como queramos. Por ejemplo, `git clone https://github.com/Pontedatos/uc3m-periodismo-datos.git periodismodatos`, la carpeta con el contenido será `periodismodatos`. +- Para comprobar que lo hemos descargado/clonado, lanzamos `ls`, se tendrá que ver el nombre del directorio tal como lo hemos llamado. +- Ahora vamos a entrar/cambiar a ese directorio con el comando `cd`, de *change directory*, que lo podemos recordar por "Cambiar de Directorio". Así, `cd uc3m-periodismo-datos` nos lleva a ese directorio. +- Lo listamos con `ls` para comprobar su contenido. +- Si en vez de `ls` lanzamos las opciones `ls -la` vemos que tiene un directorio de nombre `.git` que es donde está toda la configuración de este repositorio git. +- Es decir, esta carpeta también es un repositorio git local. +- Si queremos saber a dónde apunta hacemos `git remote -v` y nos dice la URL de donde hacer "fetch", de donde descargar datos, y a donde hacer "push", donde subir datos. +- Mañana practicaremos con esto. +- Para volver al directorio anterior tenemos que subir o retroceder un directorio, lo hacemos con `cd ../` + + +# Pendientes + +- [ ] Ley de Moore +- [ ] Entidades HTML +- [ ] Caracteres reservados +- [ ] `ls -la` +- [ ] xcode +- [ ] Datos abiertos: 5 estrellas +- [ ] Journalism in the Age of Data: +- +