Entradas

El proyecto Postdata en la Conferencia Anual de CLARIN

La Conferencia Anual de CLARIN fue organizada CLARIN ERIC, en colaboración con el Instituto de Lingüística Computacional (ILC) que forma parte del Departamento de Ciencias Sociales y Humanidades, Patrimonio Cultural (DSU) del Consejo Nacional de Investigación de Italia (CNR)

CLARIN2018 tuvo como objetivo intercambiar ideas y experiencias acerca del funcionamiento y servicios de CLARIN, así como su utilidad por parte de la comunidad de investigadores y su relación con otras infraestructuras y proyectos.

Del encuentro han participado Elena González-Blanco, directora general de CoverWallet en Europa e Investigadora principal de POSTDATA y Salvador Ros, Coordinador del proyecto DESIR y coordinador técnico de POSTADATA. Los principales resultados y herramientas del proyecto se han presentado durante el evento https://zenodo.org/record/1465501#.W8m8a0szbIU .

Las herramientas de poesía están destinadas a ser un mercado de código abierto donde se encuentran diferentes herramientas para procesar poesía desde la detección del modelo de poesía hasta procesos semánticos más complejos. Pero no solo está dedicado a los procesos de poesía, sino a cualquier proceso que mejore y permita una comprensión más profunda de la misma.

Las herramientas de POSTDATA que fueron presentadas son ANJA y HISMETAG. Una está relacionada con el concepto de enjambment y la segunda está relacionada con el reconocimiento de las entidades nombradas en los textos medievales.

Para más información del proyecto POSTDATA podéis visitar:

http://postdata.linhd.es

 

 

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 7)

¿Qué necesito para tener trabajo en Suecia para crear apps iOS? Nivel de inglés, Comunidad Europea o tener visado, contrato, período de prueba, ayudas.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el sexto post Ginés nos dio buenos consejos para aprovechar nuestro tiempo, dinero y energía para aprender de una forma eficaz el lenguaje de programación Swift para crear aplicaciones iOS.

Os dejamos el séptimo post.

¿Qué necesito para tener éxito en Suecia?

Ir a Suecia y conseguir un trabajo en Suecia no es una cosa fácil. Primero, tienes que tener un buen nivel de inglés. Yo creo que en España, el que se considera B2, se quede, quizás, un poquito corto. Es decir, tendrías que ir con C1, para estar suelto porque los españoles saben mucha gramática. Pero la pronunciación, el oído, el listening, se nota que el nivel no es tan alto. Eso fundamental, porque allí mínimo te van a pedir inglés, sobre todo las empresas de desarrollo de software. Casi todas trabajan en inglés. Es raro que te pidan Sueco. Podría darse algún caso. Pero, incluso si es alguna empresa es muy potente o alguna empresa nacional, como un banco, si desarrollas software, te permiten trabajar en inglés.

Luego dentro de la Comunidad Europea, al ser español lo tienes un poquito más fácil, porque si consigues un contrato, automáticamente vas a la oficina de impuestos, te registras con el contrato, te dan el número de la Seguridad Social. Eres sueco, para todo. Para lo bueno y para lo malo. Para pagar impuestos y para todo lo que son servicios sociales. Por ejemplo, si decides a los dos años, que quieres estudiar en la Universidad, te van a pagar la Universidad. La universidad es gratis si eres ciudadano europeo, pero posiblemente tengas más ayudas o te puedas permitir ciertas cosas.

Si no eres de la Comunidad Europea, la empresa te tiene que esponsorizar el visado. Eso implica que tienes que estar en la empresa, mínimo dos años, porque ellos son los que pagan por tu visado, para que vayas a trabajar a Suecia. Entonces, es un poco más complicado. Yo conozco gente de fuera, de la India, de Venezuela, Irán, Marruecos… que sí lo han conseguido. Al principio, tienes un permiso de residencia temporal, que tienes que renovar. A veces se les cruzan los cables, y no te lo renuevan. Como le pasó aún chaval, que era de Afganistán y tuvo que irse, cuando había trabajado 4 ó 5 años. Son este tipo de cosas. Es un poco más difícil, pero normalmente si tienes el visado y estás trabajando, y estás contratado, no debes de tener problemas.

Qué más. Te van hacer muchas entrevistas. El nivel de inglés te lo van a comprobar en la entrevista. No te piden ningún título. Luego te van hacer, entrevistas técnicas, personales, por qué quieres ir a Suecia. Qué hace mucho frío. Tenéis que ir bastante bien preparados. También si la empresa es muy importante, te va a hacer una entrevista en la ciudad. Te van a invitar y te van a pagar el vuelo. Van a conocer a gente porque ellos lo valoran mucho, tanto el conocimiento que puedas aportar a la empresa, como cómo seas una persona. Que se pueda integrar. Ellos quieren que seas una persona que no solo aporte a nivel de desarrollo, que hagas tu trabajo, que no des problemas… Lo típico. Ellos quieren que te integres bien en el equipo. Ellos valoran mucho que una persona esté bien integrada. Bien con el resto de compañeros y tal. Eso lo valoran bastante.

Lo normal allí en estas empresas es un período de prueba de seis meses. Y una vez que lo pasas, normalmente, tienes contrato indefinido. Aunque también puedes ir como freelancer, contratos de duración estipulada, seis meses, un año lo que sea. Pero es lo normal allí. Y una vez que estas seis meses, si es una empresa grande, es muy difícil que te echen porque las leyes para despedir a gente son bastante duras para las empresas en Suecia. Aunque puede pasar que no pases el periodo de prueba. Por eso tienes que tener cuidado. No te vayas a confiar. Pero bueno. En el momento que vean que si vienes de un país que trabajas bastante, haces tu trabajo, llegas a las horas que tienes que llegar y tal, desarrollas tus tareas y te llevas bien con los compañeros, es bastante fácil pasar el periodo de prueba.

 

 

En el octavo post Ginés nos explica como están las casas adaptadas para el tiempo y las horas de luz que podrás disfrutar en Estocolmo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 5)

Programador vs Ingeniero de software. La única cosa en común las tareas de programación. El ingeniero tiene diseño de arquitectura iOS con MVVM y frameworks.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el cuarto post Ginés analizó en detalle las ventajas que tiene el lenguaje de programación Swift en comparación con Objective-C para el desarrollo de aplicaciones en dispositivos Apple.

Os dejamos el quinto post.

¿Hay diferencia entre un programador y un ingeniero iOS?

Yo diría que solo hay una cosa en común entre un desarrollador y un ingeniero de software. Ambos realizan tareas de programación. Esa es la única cosa en común entre ambos.

El ingeniero tiene que decidir y desarrollar también tareas sobre el diseño de arquitectura, y ayudar también en el diseño de la interfaz de usuario. Por ejemplo, en diseño de arquitectura, un patrón bastante común de diseño de software, que utilizan mucho en Apple y que para empezar está bastante bien, porque te permite desarrollar, coger los conceptos de lo que es una vista, que es un controlador, etc… Es el modelo vista controlador.

Nosotros estamos aplicando ahora mismo el modelo vista MVVM. Tenemos un modelo vista o un view model que se dice en inglés. No sólo es aplicar ese modelo, sino decidir si la vista, el controlador, vista modelo, va a utilizar o realizar una tarea. Porque tenemos que distribuir unas tareas, por ejemplo. Eso es a nivel de diseño de arquitectura. Pero es que la arquitectura no para ahí. Nosotros también tenemos que decidir, qué vamos a implementar en la aplicación o en nuestros frameworks que también desarrollamos. También ahí donde debemos tomar decisiones a nivel de diseño de arquitectura. A parte, cada framework tiene su propia arquitectura que tenemos que decir cómo es. Nuestra única tarea no es programar.

Después de realizar todas estas tareas, también tenemos reuniones. Decidimos cómo desarrollar este tipo de cosas. Pero no solo entran los ingenieros de software de nuestro equipo, sino también con los diseñadores. Es importante dar nuestro punto de vista a nivel de cómo se puede implementar una solución. Ellos quieren implementar una interfaz de usuario, pero nosotros tenemos que decirles las limitaciones que podemos tener o no, a la hora de hacerlas. O si es posible o no. A lo mejor no tiene en cuenta el teclado y cuando aparece el teclado, nos tapa algo. Es importante trabajar codo con codo con los diseñadores y eso, también es parte de nuestras tareas. La diferencia de tareas que hay entre ambos, que son muchas.

En el sexto post Ginés ofrece unos consejos para que aprendas Swift de una forma que te sea útil para trabajar y que aproveches al máximo tu tiempo, dinero y energía.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 4)

¿Que es Swift? Es muy potente: enum, programación funcional, map, filter, estructuras, protocolos y extensiones. Te cambia la manera de desarrollar aplicaciones móviles.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el tercer post Ginés nos contó todas las actividades divertidas que puedes hacer en Estocolmo.

Os dejamos el cuarto post.
¿Qué es Swift al programar una app?
La verdad es que ha sido un cambio para desarrollar aplicaciones de iOS. Un cambio abismal.

Yo venía de desarrollar aplicaciones para Objective-C. Estaba acostumbrado al lenguaje y me resultaba un lenguaje cómodo de usar. Al principio, un poco complicado, pero era cómodo porque tenías todas las estructuras. Digamos que Apple, los ingenieros de Apple, proporciona todas las estructuras de los eventos, como el viewDidLoad. Cuando creabas un UIViewController, tenías un pequeño esqueleto a la hora de desarrollar una aplicación que te permitía hacer cosas.

Cuando llegó Swift fue como una explosión. Es un lenguaje que se escribe diferente. Es un poco parecido a Java a la hora de escribir. Pero utiliza programación funcional, que yo había utilizado muy poquito. Que ahonda mucho más en los protocolos, luego hablaré un poco más sobre ellos. Ahora se pueden crear estructuras que no estabas acostumbrado a utilizar. Éstas te proporcionan una versatilidad y potencia abismal. Hasta llegar al punto que no solo se utiliza para el desarrollo de aplicaciones para iOS. También se utiliza para el desarrollo de backend en empresas como Facebook.

Es un lenguaje de programación muy potente. Es muy potente, por ejemplo, porque tenemos los enum puedes hacer cualquier cosa con ellos. Es una herramienta súper potente, es que puedes crear no solo el enum, te permite llamar funciones, te da mucha versatilidad si quieres crear como varios tipos, o un tipo que tiene varios tipos, por decirlo de alguna manera. Pero luego, también tenemos, como he comentado antes, la programación funcional que te permite manejar estructuras como los arrays. Con todo ese tipo de cosas, ya te vienen las funciones. Entonces ya no tienes que estar creando los for o bucles, como todo lo que dicen españolizando costumizado. Ya no hay que customizar tanto. Sabes que tienes map si sabes que vas a recorrer todo el array, o vas hacer un filter, vamos a filtrar. Se indica condición booleana y ya está. Entonces, al final, implica que estás escribiendo menos código.

También tenemos las estructuras, que es un poco un pequeño sustituto de las clases. Parece que a los ingenieros de Apple no les gusta que utilicemos las clases. Nosotros usamos mucho las estructuras y, la verdad, es que funcionan prácticamente igual y se supone que no estás trabajando con un objeto por referencia.

Al final también han potenciado, y es otra herramienta que te permite no usar clases aunque parezca raro, es la programación orientada a protocolos. Y lo que han potenciado muchísimo. Un protocolo te permite hacer cualquier cosa. Tú con un protocolo defines las propiedades que quieras utilizar, las funciones. La instancia que las quiere utilizar, adopta el protocolo y, automáticamente, tienes esas esa instancia tiene esas propiedades y esas funciones. Y luego puedes tener una implementación por defecto que es una extensión del protocolo. Eso da muchísima versatilidad y está funcionando bastante bien.

La transición de una manera de pensar para la programación orientada a objetos a una programación orientada a protocolos, más programación funcional, más enum que hace mil cosas, no es sencilla. La verdad es que es un lenguaje de programación muy potente y, cuando lo dominas, es muy práctico y muy cómodo. Escribes muchas menos líneas de código. Creo que la gente debe aprenderlo o intentar aprender un lenguaje de programación como este. Pensado en esta manera, porque te cambia totalmente la manera de pensar a la hora de desarrollar aplicaciones móviles.

En el quinto post Ginés desglosa las principales diferencias entre un programador y un ingeniero iOS, y como es la interrelación con el equipo de trabajo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 2)

Vivir en Suecia es tener una calidad de vida muy alta. Trabajar en Suecia como desarrollador iOS con Scrum. Tiempo libre para hacer muchas actividades para jugar.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el primer post Ginés nos explicó las razones que han hecho que Suecia sea tan importante para el desarrollo de aplicaciones.

Os dejamos el segundo post.
¿Cómo es vivir y trabajar en Suecia para un Senior iOS Engineer?
No todo es perfecto. Tiene sus pros y contras. Si empiezo por los contras, es un país un poco frío. Los inviernos son largos, fríos, aunque todo está bien preparado. A la gente al principio le cuesta socializar. Una vez que pasas cierto grado, necesitan un cierto grado de interacciones para confiar en ti, entonces es cuando te consideran verdaderos amigos.

La calidad de vida es muy alta. Tienes mucho tiempo libre, lo que facilita congeniar la vida personal con la laboral. Es muy raro echar horas extras o trabajar los fines de semana. Tiene mucha flexibilidad para trabajar desde casa. Por ejemplo si te traen muebles, etc. Si vienes de fuera como yo, la mayoría de las empresas te dan flexibilidad para poder trabajar una o dos semanas desde tu país de origen.

El ritmo de trabajo es mucho más relajado, no les gusta presionar a los desarrolladores tanto como en España. En España lo normal es que si tienes una entrega, un proyecto de 6 meses, se hace en 3 meses y tienes que trabajar 60 ó 70 horas a la semana. Allí se negocia mucho con el desarrollador la fecha de entrega y a veces se puede posponer.

Aparte intentan hacer muchas actividades lúdicas. Alguna fiesta. Por ejemplo, en mi empresa tenemos cerveza gratis todos los viernes para que la gente socialice, vídeo consolas, juegos de mesa, jugar a rol… Cosas así.


¿Cómo es el día a día?

Suelo llegar temprano. La gente suele llegar un poco más tarde, porque hay flexibilidad a la hora de entrar. Llego a las 8:30 y trabajo como una hora y media o dos, centrándome en tareas que ya tenía planificadas. Después, normalmente nosotros utilizamos Scrum, tenemos la daily meeting sobre las 10:00 ó 10:15. Ya que, a esa hora, casi todo el mundo está en la oficina. Si no, se puede hacer una llamada online y así la gente también puede participar en la reunión.

Luego, se sigue desarrollando aunque también tenemos reuniones específicas de lo que es arquitectura. Hablamos de la arquitectura a nivel de desarrollo, de nuestros frameworks, de nuestras aplicaciones, también sobre cómo integrar y desarrollar los diseños, con los diseñadores y gente de productos, sobre la necesidad de nuevos productos. No solo es desarrollar, sino también es todo lo que implica el diseño, la arquitectura y la toma de decisiones de frameworks que se van a necesitar, o que no se van a necesitar.

También tienes mucha flexibilidad, bueno esto es un poco a nivel más personal. Por ejemplo, irte al gimnasio a la hora de comer desconectas un poquito. Yo a veces lo hago. De vez en cuando hacemos descansos para jugar al futbolín. No es tan estresante como en España de 8:30 a 5 ó 5:30 sin parar. Si algún día me tengo que quedar un poco más, me quedo, pero luego siempre se compensa. Porque aquí lo que les interesa verdaderamente es que desarrolles, que hagas tu trabajo, que cumplas las fechas. Ellos piensan que tú eres una persona responsable y te dan totalmente libertad. Puedes ir a la oficina, no ir a la oficina, irte al gimnasio, no ir al gimnasio, jugar al futbolín… Mientras que ellos vean que estás llegando a tus tareas y cumpliendo los plazos que ellos te están diciendo, lo demás les da igual.


En el tercer post descubrirás todas las posibilidades que ofrece Estocolmo una vez que has terminado el trabajo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

Thyssen

LINHD imparte en el Museo Thyssen el curso: “Introducción a la Web semántica, datos abiertos enlazados”

 

LINHD imparte un curso al personal del Museo Thyssen, esta acción formativa se desarrollará en seis sesiones durante el mes de octubre. Hoy se ha realizado la apertura del curso a la que han asistido Elena González-Blanco, directora general de CoverWallet en Europa y Salvador Ros, IP del Proyecto DESIR.

El curso estará dirigido por las profesoras:
Dra. Mª Luisa Díez Platas
LINHD-UNED
Helena Bermúdez Sabel
LINHD-UNED

El objetivo del curso es ofrecer una visión general de conceptos y recursos necesarios para la comprensión de modelos de datos, que permiten estructurar y manejar la información en proyectos de humanidades digitales, hacerla accesible para que pueda ser compartida y enlazada.
Con este objeto, es necesario hacer una revisión de conceptos básicos sobre los datos y los metadatos, sus formas de almacenamiento y mantenimiento mediante el uso de bases de datos relacionales tradicionales, y otros tipos de bases de datos orientadas a documentos y datos abiertos enlazados. Esta revisión implica un acercamiento al diseño e interpretación de los modelos conceptuales de datos y a las formas de almacenamiento, estructuración, la extracción y manipulación, orientadas al trabajo y visualización.
Por otro lado, y dado el impacto de la web semántica y los datos abiertos enlazados, se hace necesario acometer el estudio del estado de la web de los datos, conocer los conceptos y aplicaciones de la web semántica, orientado al almacenamiento, manipulación, compartición, visualización de los datos y conocer los estándares de datos que se usan en la actualidad para facilitar la interoperabilidad de los datos.
Con esto se pretende dotar a los asistentes al curso de la capacidad de diseñar un modelo de conocimiento asociado al campo de interés con el objeto de construir un modelo propio, a partir de los conceptos necesarios para representar los datos y publicarlos de forma que puedan ser enlazados y consultados.

 

Thyssen

 

Metodogía
• El curso se imparte de forma presencial con apoyo de plataforma educativa
• Se aportará la documentación teórica necesaria para la asimilación de conceptos.
• Se realizarán ejemplos prácticos sencillos que permitan probar los conceptos asimilados y acometer el diseño del modelo de datos para el campo de conocimiento concreto, museos y obras de arte, dotándolos de las características necesarias para que pueden ser manipulados como datos abiertos enlazados.

Temario

Tema 1. Datos y metadatos

1. De la información a los datos estructurados
2. Modelos de datos
3. Bases de datos para humanidades.
a. Bases de datos relacionales. Conceptos básicos
b. Bases de datos documentales. Modelos de agregación
4. Los metadatos.
Tema 2. Web de los datos y web semántica
1. Estado actual
2. Los datos abiertos enlazados. Puntos de debate
3. Reutilización e interoperabilidad
Tema 3. Modelo semántico y ontologías. RDFS
1. Definición y conceptos
2. Ventajas e inconvenientes del uso de ontologías
3. Clasificación de ontologías
4. Introducción al modelado de ontologías
5. Lenguajes de modelado de ontologías : OWL
Tema 4. RDF como marco de descripción de recursos

1. El modelo de datos RDF. Estructuración de los datos
2. Identificadores únicos (URIs)
3. Estructura de un documento RDF
4. Bases de datos para RDF. Consultas
Tema 5. Vocabularios y estándares de metadatos
1. Características y reutilización
2. Taxonomías, tesauros y vocabularios controlados
3. Vocabularios y esquemas para modelar la información de proyectos de patrimonio cultural
a. Modelo de referencia conceptual CIDOC .
b. Vocabularios y ontologías de Getty. Tesauro de arte y arquitectura.

c. El sistema de clasificación para arte e iconografía Iconclass.
d. Modelo de datos de Europeana
e. Revisión de vocabularios para museos registrados en BARTOC .
1. Modelo de datos del Museo del Prado y del British Museum

Tema 6. Publicación de datos

1. Reglas para la publicación y registro
2. Conjuntos de datos (datasets) y enlazado

 

METODOLOGÍA
El curso se impartirá de forma presencial los martes y jue ves de 10-13 horas.
Cada una de las clases constará de una parte teórica mediante una presentación sobre los conceptos del tema correspondiente y una práctica en la que se propondrá la realización de ejercicios haciendo uso de las herramientas oportunas, con el objeto de probar los conceptos asimilados y acometer el diseño del modelo de datos para el campo de conocimiento concreto, museos y obras de arte, dotándolos de las características necesarias para que pueden ser manipulados como datos abiertos enlazados.

Seguimos con nuestra apuesta por las Humanidades Digitales, a través de la formación y la puesta en práctica, con proyectos reales y consolidados. Si quieres formarte en Humanidades Digitales y, en Diseño y desarrollo de aplicaciones y entornos Web. No dudes en visitar nuestras páginas de formación.

¿Metadatos? Una explicación muy breve

Comenzaremos por el principio, es decir por el prefijo “meta”. La Wikipedia lo define así:

Meta (proveniente de la preposición griega y el prefijo meta- (μετά-) significa “después” o “más allá”) es un prefijo usado en Español para indicar una idea de una abstracción detrás de otro concepto, usando para completar o agregar algo en el final.(«Meta (prefijo)», 2018)

 

Así, los metadatos serían los datos más allá de los datos, o, lo que es más acertado, los datos sobre los datos.

 

Los metadatos es un nombre nuevo para un concepto que no lo es en absoluto,  la catalogación con datos sobre recursos en las bibliotecas, para poder con ello gestionar sus archivos. Sin embargo,  con el nacimiento de la informática Jack Myers acuña a finales de la década de los 60 el término de metadatos para describir conjuntos de datos (Senso & de la Rosa Piñero, 2003). Así, se daba el nombre de metadatos a  toda aquella información que se incluía para identificar un recurso. Los metadatos podían también añadir información descriptiva sobre el contexto, calidad y condición o características del dato o recurso.

El término metadato surge, entonces, ya ligado a los objetos digitales. Hemos de pensar que cualquier recurso digital presenta dos tipos de datos:

  • Datos que conforman el contenido de ese recurso. Esto es, lo que se quiere comunicar, por ejemplo, el código del texto, si se trata de un documento textual, pero también el mapa de bits que representa una imagen digital, o los datos del sonido codificado digitalmente de un documento sonoro.
  • Datos que aportan diversas informaciones de gran utilidad para procesar correctamente, entender y gestionar esos contenidos: son los metadatos. Son, como ya decíamos “datos después de los datos” o “datos que describen a otros datos”.

iOS 12 nueva actualización: instalación y dispositivos compatibles

¿Cuándo está disponible iOS 12?

¡Ya está aquí la primera versión de iOS 12! El pasado miércoles 12, entre otras presentaciones, se enseñó a todos los públicos el mejor sistema operativo para iPhone, iPad y iPod Touch, jamás creado por Apple. Desde luego, que no dirás que no han sabido escoger bien el día del mes, jaja.

En este acto se anunció que la fecha de lanzamiento es el lunes 17 de septiembre de 2018. Aquí todos tendremos disponible la nueva actualización de iOS. ¡Por fin se acabaron las versiones beta!

 

Hacer una copia de seguridad para más tranquilidad

Para evitar un mal rato o disgustos siempre haz una copia de seguridad de tu iPhone o iPad antes de la instalación.

Tienes dos opciones. Una usando iTunes conectando tu dispositivo a tu Mac u otra directamente desde el dispositivo para hacerla en iCloud.

En este vídeo puedes ver cómo se puede hacer la copia usando iTunes. En tu Mac puedes elegir entre guardarlo en iCloud o en el disco duro.

La mejor Copia de Seguridad en iTunes con Mac

 

O aquí tienes la segunda forma de hacerlo, por ejemplo, en un iPhone utilizando iCloud y habilitando esta opción:

La mejor Copia de Seguridad en iCloud para iPhone iPad

 

¿Cómo instalar iOS 12?

El proceso es sencillo. Ve a Ajustes, luego a General, a continuación, pulsa en Actualización de software y finalmente te aparecerá para instalarlo. En el siguiente vídeo puedes ver el proceso súper rápido.

Tutorial completo para instalar iOS 12 paso a paso desde cero

 

¡Cuidado! Cuando vayas a actualizarlo, recuerda estas dos cosas muy importantes:

◎ Ten a mano el cargador por si te dice que no tienes suficiente nivel de batería.
◎ Si esperas una llamada o mensaje urgente, puedes descargar la actualización, pero no la instales, ya que durante unos minutos estará apagado el dispositivo. Serán pocos o muchos minutos, según el modelo.

¿Merece la pena invertir tiempo en instalarlo?

Un ¡Sí! rotundo. Sobre todo, vas a tener una mejor usabilidad, y una mayor seguridad en tu dispositivo y aplicaciones. Por ejemplo, entre otras novedades, cuando tu app favorita accede a un servidor que está en internet ahora con iOS 12, gracias a un nuevo framework para networking, la capa de seguridad se ha incrementado de forma significativa en comparación con iOS 11. Por esa razón, te animo a que actualices ahora, y sino en cuanto llegues a casa.

iPhone, iPad y iPod touch compatibles

Este es el listado de dispositivos que soportan la nueva versión de iOS 12:

iPhone
• iPhone X
• iPhone 8
• iPhone 8 Plus
• iPhone 7
• iPhone 7 Plus
• iPhone 6s
• iPhone 6s Plus
• iPhone 6
• iPhone 6 Plus
• iPhone SE
• iPhone 5s

iPad
• iPad Pro de 12,9 pulgadas (2.ª generación)
• iPad Pro de 12,9 pulgadas (1.ª generación)
• iPad Pro (10,5 pulgadas)
• iPad Pro (9,7 pulgadas)
• iPad Air 2
• iPad Air
• iPad (6.ª generación)
• iPad (5.ª generación)
• iPad mini 4
• iPad mini 3
• iPad mini 2

iPod Touch
• iPod touch (6.ª generación)

¿Cuáles son los porcentajes de actualización?

Las estadísticas nos muestran que el año pasado el 85% actualizó sus móviles y tabletas a iOS 11. Además, cada año son más las personas que disfrutan de las increíbles mejoras en el uso de sus dispositivos actualizados. Como resultado, a fecha 3 de septiembre de 2018 mira las cifras: 85% con iOS 11, 10% con iOS 10 y el 5% restante con versiones anteriores.

 

¿Te gustaría ser un desarrollador o desarrolladora de iOS 12?

¿Quieres aprender más?

 

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

Autor: Pedro Hernández

Bibliografía:
◦ Soporte Apple: iOS 12 es compatible con estos dispositivos
◦ Support Apple Developer: Devices are using iOS 11. As measured by the App Store.
◦ Soporte Apple: Cómo hacer una copia de seguridad del iPhone, iPad y iPod touch

Los Gestos iOS en iPhone e iPad (Parte 2)

En Los Gestos iOS en iPhone e iPad (Parte 1) se profundizó en los gestos disponibles en iOS, desde un punto de vista como usuario y se creó el contexto para programar estos gestos. Así que, una vez escrita la base para un developer, o como en castellano nos gusta llamar un programador o programadora, aquí empieza la segunda parte que se centrará en el código a escribir. Comprenderás qué código Swift necesitas para habilitar en una bola naranja los gestos de tocar y arrastrar. Para ello, se utilizará Xcode 10 con Swift 4.2 en un Playground, que es la forma más eficaz para aprender el lenguaje de programación Swift.

 

El objetivo por alcanzar es crear una Live View con una bola, como lo que puedes ver en este vídeo:

 

Como has visto, si solo pulsas la bola naranja se vuelve de color verde y aumenta de tamaño, mientras que si la arrastras, aumenta el diámetro de la bola y al soltarla vuelve a tu tamaño original.

 

Paso a paso

 

En este artículo te explicaré línea a línea el código que necesitarás escribir en el Playground.

 

Antes de empezar a escribir, siempre debes tener claro que es lo que vas a hacer y con qué objetivo. En el vídeo anterior has visto la finalidad, y con el siguiente vídeo deseo que visualices la estructura que tendrá el Playground para que así sepas qué clases necesitarás para conseguirlo. Dentro del Playground Gestos habrá dos clases en la carpeta Sources: FondoView y BolaGestosView. Estas dos clases serán utilizadas por el Playground. FondoView es una clase auxiliar que he creado para la visualización de la Live View.

 

En el siguiente enlace puedes descargarte de GitHub el Playground para poder iniciar el ejemplo: gestos-playground-blog-inicio

¡Empieza la acción!

En primer lugar, crea el playground Gestos en Xcode 10, importando los frameworks UIKit y PlaygroundSupport. A continuación, escribe el código para crear un rectángulo blanco para mostrarlo en la Live View del playground, como si fuese el fondo de una pantalla del iPhone.

 

En la carpeta Sources crea el archivo Swift llamado BolaGestosView. Importa el framework UIKit y escribe la clase BolaGestosView que heredará de la clase UIView. Tendrá un nivel de acceso open para que el Playground pueda usarla.

 

En esta clase escribe el código para crear las funciones para escalar y mover. La función escalar se activará cuando pulses sobre la bola o inicies el arrastre. La función mover se iniciará al arrastrar la bola.

 

Escalar recibirá un número para saber el factor de escala. Recuerda que 1.0 deja a la bola en su mismo tamaño, mientras que un número mayor a 1 aumentará el tamaño de la bola. La animación tiene una duración de 0.1 segundos, con un movimiento en la animación de inicio lento y finalización lenta, tal y como especifica curveEaseInOut. En la animación se le asignará a la bola una transformación de escala.

 

Mover recibe el punto de translación en el que se está arrastrando la bola. Ese punto se lo asigna al centro de la bola. De esta forma, hace que se mueva la bola acorde al movimiento de arrastre. Una vez terminado dicho movimiento se reinicia a cero la translación. Esto evitará un valor incremental en los movimientos de arrastre.

 

Ahora llega el momento de crear las funciones que se activarán cuando se inicien los gestos de pulsar y el de arrastrar.

 

Lo primero es añadirle la palabra clave @objc, debido a que será llamada desde una variable que utiliza un selector, que internamente todavía utiliza elementos creados con el lenguaje de programación Objective-C.

 

La función manejarPulsar recibirá el gesto de pulsar para que así se pueda imprimir el punto exacto que se ha pulsado. Como puedes observar, están comentadas las dos primeras líneas para que decidas si quieres que se imprima por consola el punto pulsado. Entonces, las puedes descomentar eliminando las dos barras. Dentro de esta función hay otra animación con una duración de 0.1 segundos y dicha animación será más lenta al terminar. Esta animación cambiará el color de la bola a verde y aumentará su escala al doble de su tamaño. Una vez terminada esta primera acción, empezará la segunda. Le he añadido un pequeño retraso de otro 0.1 para que permanezca el color verde un poco más, y luego volverá la bola a su color naranja y a su tamaño original mediante la escala con valor 1.

 

La función manejarArrastrar recibe el gesto de arrastrar. De esta forma se puede obtener los diferentes estados del gesto mediante los casos del switch. El primero se produce cuando se inicia el arrastre, aumentando un poco la bola. A continuación, cuando el estado cambia, inicia el movimiento de la bola. Finalmente, cuando termina, se le asigna la escala a 1 para que vuelva la bola a su tamaño inicial.

 

En la parte superior de esta clase se crearán las propiedades que le asignan la función a ejecutar cuando se activa el gesto de pulsar o Tap Gesture, así como el gesto de arrastrar o Pan Gesture. Puedes observar como cada variable, usando los selectores, llama a las funciones que has escrito anteriormente. Estas variables vienen precedidas por lazy, debido a que no se inicializarán hasta que no sean llamadas por el código en tiempo de ejecución.

 

El siguiente diagrama muestra la estructura de estas variables:

 

La variable gesto pulsar mediante el selector activará las acciones que se producirán en la función manejarPulsar(sender:), que a su vez iniciará la función de escalar la bola.

 

Por otra parte, la variable gesto arrastrar iniciará la acción del selector llamando la función manejarArrastrar(sender:). Y como recordarás, los casos del switch llamarán las funciones escalar o mover, según corresponda.

 

Ha llegado la hora de escribir los inicializadores de la clase.

 

El primer init será público para poder usarlo en el Playground. Dentro de él se creará un array constante con las variables de los gestos que creaste antes. A continuación, se realizarán iteraciones sobre el array gestos para añadirlos a la vista, o sea, a la bola.

 

Luego viene un init de conveniencia para poder crear la bola con las dimensiones de un rectángulo. La primera línea establecerá el tamaño recibido para asignárselo a la vista de la bola. En la segunda línea crea un radio del rectángulo, o en este playground un cuadrado. El radio será la mitad del ancho del cuadrado, de esta forma se convertirá en un círculo. La tercera línea activa el radio en la vista.

 

Finalmente se declarará el init requerido para que así se cumpla con los requisitos de los inicializadores de esta clase.

 

A continuación, escribe el código en el Playground para crear la instancia de la bola. Crearás una constante conforme a la clase BolaGestosView.

 

Al ir entre llaves, la inicialización de la bola puede personalizar la creación de la vista. En la primera línea estableces que será un cuadrado de 100 puntos, en la segunda línea defines que el punto sobre el que se aplicarán las transformaciones está en el centro geométrico de la bola. Luego le asignas el color naranja. Finalmente, mediante el return asignas la vista creada a la bola.

 

Seguidamente en la inicialización de la bola, para simplificar, se mostrará el centro de la bola en el centro de la vista blanca del fondo. Por esa razón, la última línea añade la bola al fondo para que sea visible en la Live View.

 

En el siguiente enlace puedes descargarte el Playground terminado desde GitHub, por si deseas compararlo con el tuyo: gestos-playground-blog-terminado

Tutorial completo en: https://theemotionapps.com/tutorial-gesture-recognizer-en-ios-swift-4-2/

 

¿Quieres aprender más?

 

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿DESDE CUÁNDO HAY METADATOS?

El término metadato nace con el advenimiento de la tecnología informática. Algunos atribuyen el primer uso de este término a Jack Myers (finales de los 60) para describir conjuntos de datos (Senso & de la Rosa Piñero, 2003: 97). Sin embargo, otros autores atribuyen este primer uso a Stuart McIntosh y David Griffel en 1967 (Steiner, 2017: 52), y otros (Solntseff & Yezerski, 1974) defienden que el término fue acuñado por Bagley en 1968 su libro Extension of Programming Language Concepts (Bagley et al., 1968). Como vemos, diferentes autores, pero fechas muy similares. En cualquier caso, lo que queda claro es que el término surge ligado a los sistemas informáticos y a los nuevos retos en la identificación de la información.

escriba-medieval

Sin embargo, lo que hoy consideramos metadatos es extensible a cualquier catálogo bibliotecario, por lo que podríamos remontarnos a varios siglos antes de Cristo. La mayoría de textos señalan el catálogo de la Gran Biblioteca de Alejandría llamado Pinakes, del siglo III a.C., como el primer ejemplo de uso de metadatos. El sistema de la biblioteca consistía, principalmente, en una etiqueta colgando al final de cada rollo. Esta etiqueta contenía información sobre el autor, título y tema de cada obra, para que los materiales puedan devolverse fácilmente a la zona de la cual habían sido sacados, pero también para que los usuarios no tuvieran que desenrollar cada rollo para ver qué contenía. El nombre original del catálogo era Tablas de personas eminentes en cada una de las ramas del aprendizaje, junto con una lista de sus escritos. El catálogo era un conjunto de índices utilizados en la Biblioteca de Alejandría en Egipto, de la que parece que no sobrevivió ninguna parte del catálogo, pero podemos saber de él gracias a citas que nos dan una aproximación a la organización del conjunto de las tablas (Casson, 2002). Por su parte Voutssás Márquez (2006:154) señala que en 1975 se descubrieron cerca de Aleppo, en Siria, los restos de la biblioteca de Ebla, dentro del palacio del rey Aghrish, y dice:

Transmissions-bandeau

Ebla, la Ciudad de las Piedras Blancas, llegó a tener 260,000 habitantes, floreció en la Edad de Bronce temprana y fue destruida alrededor del año 2,300 a.C. Su biblioteca contenía más de 17,000 documentos sobre tabletas de arcilla que fueron datados a la mitad del tercer milenio a.C., por lo que muchos la consideran la biblioteca más antigua del mundo.64 Algunas de las tablillas contenían un “listado” de las obras que se encontraban en la colección y por tanto se consideran, hasta ahora, como el metadato más antiguo que haya sido descubierto y datado; las tabletas habían sido originalmente ordenadas en sus anaqueles por temas; todo ello veinte siglos antes de la Biblioteca de Alejandría. (Voutssás Márquez, 2006: 154-155).

Durante la Edad Media (catálogos medievales de autores cristianos) y, sobre todo en el Renacimiento, podemos encontrar muchos ejemplos de metadatos, como la Bibliotheca Universalis de Konrad de 1545, que se considera la primera lista universal y verdaderamente exhaustiva de todos los libros del primer siglo de la imprenta. Era una bibliografía alfabética que enumeraba todos los libros conocidos impresos en latín, griego o hebreo (Eisenstein, 1980: 97).

REFERENCIAS BIBLIOGRÁFICAS

Bagley, P. R., United States, Air Force, Office of Scientific Research, United States, Air Force, & Office of Aerospace Research. (1968). Extension of programming language concepts. Philadelphia: University City Science Center.

Casson, L. (2002). Libraries in the Ancient World. Yale University Press.

Eisenstein, E. L. (1980). The Printing Press as an Agent of Change. Cambridge University Press.

Senso, J. A., & de la Rosa Piñero, A. (2003). El concepto de metadato. Algo más que descripción de recursos electrónicos. Ciência da Informação32(2), 95-106.

Solntseff, N., & Yezerski, A. (1974). A survey of extensible programming languages. Annual Review in Automatic Programming7, 267-307. https://doi.org/10.1016/0066-4138(74)90001-9

Steiner, T. (2017). Metadaten und OER: Geschichte einer Beziehung. Synergie. Fachmagazin für Digitalisierung in der Lehre4, 51–55.

Voutssás Márquez, J. (2006). Bibliotecas y publicaciones digitales. México: UNAM.

Autor:

Clara I. Martínez Cantón

Items de portfolio