Desmontar un Disco Duro (HD)

Para un proyecto necesitaba uno de los componentes que tiene un disco duro (HD del inglés, Hard Disk). Aprovechando que tenía uno en casa que ya no funcionaba, me he dedicado a destriparlo.

El disco duro no es más que un disco de óxido en el que se almacena información como en las bandas magnéticas, pero con mucha mayor densidad de información. Por ello, podemos distinguir diversas partes:

  • Un rotor, que hace girar los discos.
  • Uno o más discos recubiertos con material magnetizable, generalmente algún tipo de óxido.
  • Un cabezal para guardar o recuperar la información.
  • Un sistema de para mover el rotor por la superficie del disco. En general este sistema utiliza dos imanes de neodimio muy potentes.
  • Una placa de control electrónico.

Sin más preámbulos, el proceso ha sido el siguiente:

Disco duro montado
Disco duro montado

El disco duro, un modelo externo y portátil de 120 Gb, se ha desmontado con un destornillador de estrella, un destornillador tipo T5 y una «uña» de plástico para sacar las pestañas y hacer palanca con facilidad.

Sin la carcasa, observamos el plato superior (en este caso, tenemos 2 platos, uno encima del otro), el cabezal justo arriba, y el soporte de los imanes de neodimio arriba a la derecha.

Disco duro sin la carcasa
Disco duro sin la carcasa

Los discos de óxido, una de las partes más espectaculares, son láminas perfectamente pulidas. La foto está hecha desde arriba para que se aprecie lo bien que reflejan la luz.

Discos de óxido
Discos de óxido

El soporte para los imanes de neodimio son dos placas de hierro. En la foto se pueden apreciar los imanes: dos finas láminas también de color metalizado, pegadas en el interior de cada una de las placas de hierro. Destacan por la fuerza magnética que tienen: en la foto, las placas de hierro están pegadas únicamente por la fuerza del imán, y cuesta separarlas solo con las manos.

Detalle de los imanes de neodimio
Soporte de los imanes de neodimio

Finalmente, el cabezal lector. Este es el componente que quería reutilizar para otro proyecto. En la foto se muestra en detalle cómo es y que partes tiene. Por una parte, están los cabezales propiamente dichos (en este caso cuatro cabezales, dos por cada plato). Por la otra, hay una bobina que se introduce entre los imanes de neodimio. Mediante la bobina y los imanes se consigue rotar el cabezal para leer o escribir en el sector del disco requerido.

Detalle del cabezal
Detalle del cabezal

Apuntes programación concurrente [CAT]

Ya están colgados en la sección de descargas unos apuntes de programación concurrente con el lenguaje Java (en catalán). Están basados en la asignatura del mismo nombre del plan de estudios de Ingeniería de Telecomunicaciones (plan ’92) de la UPC. Básciamente cubren los aspectos de semáforos, monitores y paso de mensajes (aplicado a la computación distribuida).

¡Que aprovechen!

Universidad online

Desde hace un tiempo están proliferando las plataformas que se dedican a ofrecer cursos de nivel universitario gratuitamente y de forma completamente online. Aprovechando el potencial de internet, un pequeño grupo de profesores es capaz de llegara enseñar a más de 30.000 alumnos simultáneamente. Los cursos suelen estar planificados para entre 4 y 12 semanas, y habitualmente cuentan con vídeos explicativos y cuestiones semanales.

Las plataformas más importantes en este campo son:

  • Coursera.org: fundadada por la universidad de Stanford, actualmente cuenta con más de 2 millones y medio de usuarios. Aquí se pueden encontrar los más de 200 cursos ofrecidos por diferentes universidades a nivel mundial. En inglés.
  • Edx.org: portal fundado por el Massachusetts Institute of Technology y la universidad de Harvard. Se ofrecen 20 cursos de calidad de, actualmente, 6 universidades de prestigio internacional. En inglés.
  • Udacity.com: portal con alrededor de 20 cursos, centrándose sobretodo en temás tecnológicos. También en inglés.
  • UnedComa.es: con alrededor de 15 cursos, la plataforma creada por la UNED es la más extensa en castellano.
  • idesweb.es: se ofrece un curso titulado «Introducción al Desarrollo Web». En castellano.
  • Y muchos más: canvas.net, alison.com, openlearning.com, ck12.org, saylor.org, …

Recursos online para compartir

Cada vez aparecen más herramientas en la red que se pueden utilizar de manera simultánea entre un grupo más o menos grande de gente. Además, todas estas herramientas están, lógicamente, guardadas en la nube, así que son accesibles desde cualquier dispositivo con un navegador. Es curioso pero siempre que piensas que sería genial que exisitiera algo, suele existir.

Aquí hay una recopilación de diferentes recursos que pueden ayudar:

  • Google Drive (antes Google Docs): el precursor por antonomasia. Creación de documentos, presentaciones y hojas de cálculo vía navegador web.
  • Diagrams Online: herramienta online para crear diagramas de bloques con un par de clicks. Se pueden exportar gratuitamente en diversos formatos, entre ellos PNG.
  • ShareLatex: editor online de Latex (editor avanzado de texto WYSIWYM, What You See Is What You Mean). Edición y compilación vía web.
  • Editor de ecuaciones Latex: editor online de ecuaciones de Latex para descargarlas como imágenes, formato PNG.
  • OCR Online: herramienta OCR (Reconocimiento Óptico de Carácteres), utilizada para extraer el texto de una imagen o un documento escaneado. Gratuita y online, pero con resultados no excesivamente buenos.
  • CircuitLab: editor y simulador de circuitos electrónicos.

Y la lista podría continuar con relativa facilidad. ¡Aprovechadlos!

La información

Sin ninguna duda, uno de los grandes beneficios que ha proporcionado internet ha sido la cantidad de información disponible. Hoy en día se puede acceder a una gran cantidad de fuentes de información, y es por eso por lo que triunfan los buscadores (como google) y los grandes catálogos (como wikipedia).

La capacidad de transmitir información ha promovido los movimientos dedicados a crear documentos libres de derechos de autor: el software libre, las licencias que evitan los derechos de autor (como por ejemplo GPL), los documentos copyleft, etc.

Es por eso que en esta marea de textos y datos se hace necesario (y difícil) ser capaz de encontrar lo que se está buscando. Creo que aún hay que avanzar mucho en este sentido, teniendo en cuenta que la cantidad de información que hace falta procesar crece día a día. A la hora de la verdad, el gran problema es saber buscar, y en general no es un problema fácil.

Me he dedicado a buscar un poco cuáles son las fuentes de información más importantes, y aquí hay una pequeña lista:

  • Wikipedia, Wikilibros (libros gratuitos), Wikisource (artículos de libre acceso), …
  • Proyecto Gutenberg (digitalización de libros que estén en el dominio público estadounidense).
  • Sourceforge.net (servidor de programas de código abierto).
  • Picdrome.com, Pixabay.com, Photos8.org, … (colecciones de imágenes libres de derechos de autor).
  • Taringa.net (foro dedicado al intercambio de información y programas)
  • Y, por supuesto, Google, Twitter, webs de periódicos, etc.

De todas ellas, la que me parece más interesante es Twitter, ya que es en la que es más difícil extraer información (sobretodo de manera automática), pero es la más rápida y flexible con mucha diferencia.

Pequeños grandes retos

Hoy, como en los últimos 20 días, me toca postear. Y digo que me toca porque me propuse estar 30 días seguidos posteando.

Hoy me ha llamado la atención la historia de alguien que ha llevado esto de los retos un poquito al extremo: ha decidido grabar un segundo al día durante el resto de su vida. Calcula que a los 80 años (ahora mismo tiene unos 30) habrá grabado más de 5 horas de vídeo.

De momento ya tiene 6 minutos y 11 segundos grabados:

(Vía Microsiervos, con charla TED explicando el reto incluida)

Esto me ha hecho acordarme de otros retos como el de «Un día, una foto» de los cuales hay varios en youtube:

Son retos curiosos que asombran por la fuerza de voluntad que se demuestran. La verdad es que a su lado parece que postear una vez al día sea cosa de niños… ¡aunque para mi no está siendo nada fácil!

Computación distribuida

Hay problemas muy, muy difíciles de resolver. Repito, muy difíciles. Evidentemente, son problemas que no se resuelven a mano, sino con la ayuda de computadores. El gran inconveniente es la cantidad de recursos ingente necesarios para resolverlos (que se traduce en una inversión económica enorme). La solución es muy simple: la computación distribuida.

La computación distribuida consiste en dividir un problema en subproblemas mucho más pequeños y resolverlos por partes. Esto tiene la ventaja de que puedes utilizar ordenadores distintos para cada subproblema, y (aqui viene la idea original) es posible utilizar ordenadores de usuarios voluntarios en el tiempo en el que no se están usando. Es algo así como dejar prestado tu procesador mientras no se utilice.

Cualquiera puede hacerlo descargándose un programa (como BOINC Manager, entre otros) para decidir a que proyectos ayudar. Además, el programa sólo actúa cuando tu ordenador está en reposo (es decir, sin uso). Por tanto, no te quita nada, pero aporta capacidad de cálculo. Existen una gran variedad de proyectos de este tipo:

En definitiva, me parece una gran idea ya que no cuesta nada y puede ayudar a resolver problemas abiertos. Ahí lo dejo ;).

Reconocimiento Óptico de Carácteres (OCR)

Un sistema OCR (de las siglas en inglés de Reconocimiento Óptico de Carácteres) es un software que se encarga de leer el texto de una imagen, tanto escrito a mano como mecanografiado.

Son unas aplicaciones útiles y más utilizadas de lo que parece: en los aparcamientos que leen la matrícula del coche, en el software de descarga automática de archivos (que tienen que resolver los captchas), en el escaneo de documentos, etc.

Hoy en día hay una gran variedad de software (tanto libre como comercial) que se ocupa de esta tarea, a pesar de que hasta la fecha no se ha conseguido crear ningún programa realmente eficaz. De entre las distintas opciones están:

  • GOCR: uno de los más potentes, desarrollado (y posteriormente liberado) por HP.
  • JavaOCR: el único decente escrito en Java.
  • Tesseract-OCR: desarrollado con el apoyo de Google.
  • Online OCR y Free OCR: ambos completamente online.

Un software OCR se basa en una serie de procesos:

  • El primer paso es aplicar un preprocesamiento sobre la imagen a convertir:
    • Se convierte la imagen a blanco y negro para evitar información no necesaria.
    • Se detectan las palabras y las letras, y éstas últimas se separan unas de otras.
    • A cada letra se le aplica un proceso de adelgazamiento: se van haciendo los trazos finos hasta que solo tienen un pixel de anchura.
  • Una vez que la imagen se ha preprocesado, se utiliza algún método de comparación de patrones para reconocer la letra.
  • Una vez detectadas todas las letras se puede ir un paso más allá y comprobar si la palabra obtenida tiene significado (si existe en un diccionario) para comprobar (o no) la eficacia de la detección.

Algunos de los métodos de comparación con patrones son: la comparación bit a bit de la imagen con cada uno de los patrones a reconocer, la minimización de alguna función (como una métrica definida sobre las imágenes a reconocer), o algunas técnicas más complicadas como aplicar transformaciones a la imagen: la transformada de Fourier discreta, la transformada de Hough, …

Para acabar, una excelente charla TED sobre para que se pueden utilizar los captchas:

La eversión de la esfera tridimensional

Evertir una esferal consiste en darle la vuelta. Es decir, modificarla  para conseguir que superficie exterior y la interior se intercambien.

En términos más matemáticos, este es un problema topológico, que consiste en encontrar la manera de hacer este cambio sin romper la esfera en ningún momento. Intuitivamente parece imposible, pero existe un resultado positivo: la paradoja de Smale.

Ésta dice que aplicando transformaciones topológicas permitidas (esto es, traslaciones, homotecias, deformaciones y autointersecciones, pero no cortes) sí es posible evertir la esfera… aunque no es nada sencillo:

La eversión de la esfera empieza en el minuto 13. Aunque físicamente parezca imposible, la única trampa que se hace es permitir las autointersecciones. El vídeo es bastante curioso.

(Vía Gaussianos)

http://gaussianos.com/la-paradoja-de-smale-o-como-evertir-una-esfera/

Desafíos de 30 días

Últimamente he estado actualizando mucho el blog… y no es por casualidad. Hace poco vi un vídeo muy recomendable del TED: una conferencia en la Matt Cutts expone qué son los desafíos de 30 días, y por qué pueden ayudarte a hacer cosas que nunca antes has hecho.

El vídeo es:

(Enlace directo)

Espero que lo disfrutéis y que os sea útil!

La Escala del Universo

Utiliza la barra de desplazamiento para moverte por un recorrido a lo largo de todos los tamaños posibles: desde la partícula subatómica hasta el universo conocido.

Éste es un interesante juego de imágenes y comparaciones para darse una idea de cómo son las cosas…

Escala del universo(Link externo)

Vía microsiervos.

 

El juego de la vida

El juego de la vida no es un juego. Propiamente dicho, es una secuencia de patrones en un tablero bidimensional cuadriculado, así que a primera vista tampoco se diría que tiene algo que ver con la vida.

El juego de la vida consiste en lo siguiente: para empezar, seleccionas un conjunto de cuadraditos de tu tablero, a los que llamaremos células vivas (y los colorearemos de negro); el resto serán células muertas. A partir de ahora, en el siguiente turno una célula se mantendrá viva si tiene 2 ó 3 vecinos; en caso contrario morirá. Además, si una célula muerta tiene 3 vecinos nacerá, convirtiéndose así en una célula viva.

Un ejemplo de juego de la vida en el que se puede comprobar el funcionamiento de las reglas es el siguiente:

En el juego de la vida se han encontrado muchos patrones con curiosas propiedades. El ejemplo de arriba se llama oscilador, ya que cada dos turnos vuelve a la misma posición. Existen osciladores con un período más grande.

Otro ejemplo de patrones interesantes son los planeadores: figuras que se desplazan en el espacio manteniendo su forma.

Éste es el ejemplo más sencillo pero hay otros. Y así como se pueden crear planeadores, también se pueden crear pistolas de planeadores, como el siguiente patrón:

Estos son algunos ejemplos manejables y representativos de lo que se puede hacer con el juego de la vida. El parecido que tiene (o puede tener) con la vida es que a partir de unas reglas muy sencillas, se pueden organizar grandes estructuras que sean poco previsibles. Pero todo esto va más allá: se ha demostrado que se pueden «programar» puertas lógicas (AND, OR, etc.) y contadores. Con esto, se puede construir una máquina de turing (más o menos, el modelo matemático de un ordenador normal y corriente). Esto implica que se podría programar el juego de la vida dentro del juego de la vida… y suma y sigue.

Uno mismo puede probar en este applet, o bien descargarse software optimizado y con multitud de patrones y variantes desde aqui.

Todas las imágenes han sido tomadas de la wikipedia.

 

Apuntes varios

Ya he colgado en la página web la mayoría de apuntes decentes que he hecho. Son apuntes de telecomunicaciones (ETSETB) y de matemáticas (FME). Por supuesto, todos gratis (con licencia GPL), así que están a vuestra disposición. Hay algunos en castellano y otros en catalán.

La mayoría los he hecho en colaboración con Kiko Rul·lan y con Adrià Recasens, sin cuyo trabajo no habría sido posible realizarlos.

Espero que sean útiles!