La Fuente Q y el problema sinóptico

Hoy vamos a hablar sobre el problema sinóptico. Quizá a muchos no os suene pero es un tema importante en la teología (habéis leído bien, la ciencia de las religiones).

¿Qué es el Problema Sinóptico?

Como muchos sabéis en la religión católica hay 4 evangelios oficiales (correctamente llamados canónicos). Además existen los evangelios apócrifos que son aquellos que por su contenido no están en la Biblia. El problema sinóptico ocurre cuando 3 de los 4 evangelios son muy parecidos en algunas partes (usando los mismos párrafos algunas veces). Estos evangelios son los de Marcos, Mateo y Lucas. Esto tiene una explicación lógica pues el de Marcos fue primero y los de Mateo y Lucas se inspiraron en él. Se le llama la Fuente M. Sin embargo hay partes coincidentes entre Mateo y Lucas que no aparecen en Marcos (y son bastante abundantes). Se sabe que ni Mateo conoció a Lucas ni Lucas a Mateo. Este es el problema sinóptico que ocurre además con algunos evangelios apócrifos.

La Teoría de las dos fuentes

Hay una teoría muy aceptada que dice que tanto Marcos, como Lucas tuvieron acceso a una fuente hoy en día desconocida, esta fuente se la llama la Fuente Q (del alemán “queller”, fuente). La Fuente Q explicaría las similitudes entre los diversos evangelios

La Fuente Q

Mientras la Fuente M se la conoce como la una lista de hechos y milagros de Jesús, la Fuente Q sería una recopilación de dichos de Jesús. Las bienaventuranzas y el Padre Nuestro solo aparecen por ejemplo en los evangelios con Fuente Q. Actualmente no se conoce ninguna referencia a la Fuente Q en la antigüedad por lo que ha sido criticada por expertos que simplemente dicen que no existe. Sin embargo, la teoría de las dos fuentes que explica la existencia de la Fuente Q es la más sencilla y como nos dice la navaja de Ocam (ya explicaré), lo más probable es que esta teoría sea cierta.

loading...

Intercambio con Francia

Recientemente he tenido un intercambio con Francia entre alumnos que estudian español en Francia y alumnos que estudian francés en España. He de decir que es una muy buena experiencia en la que se aprende mucho del idioma y de las costumbres de un país. Lo primero decir que es una experiencia cansada pero a la vez divertida y os la recomiendo a todos. Mi intercambio se realizaba con el pueblo de St. Brevin Les Pins, un pueblo cerca de Nantes.

OpenGL y su gran futuro

OpenGL es para quien no lo sabe o no está bien informado del todo una API gráfica de bajo nivel que representa el estándar para gráficos 3D. Esta API fue diseñada originalmente por Silicon Graphics Inc. (SGI en adelante) que se dedicaba a fabricar workstations. La idea surgió para tener un método más sencillo para representar gráficos 3D y a SGI le interesaba que fuera abierto porque así más programas habría y más hardware vendería. Fue presentado para Windows NT y en un principio Microsoft quería participar en OpenGL. OpenGL estaría disponible a partir de Windows 95 permitiendo las aplicaciones con OpenGL si la tarjeta gráfica lo soportaba. Entonces Microsoft presentó DirectX, un conjunto de tecnologías para desarrollar juegos en Windows y entre ellas los gráficos 3D. Microsoft defendió OpenGL para programas tipo CAD y DirectX para videojuegos. En un intento de unificar las APIs se creo Fahrenheit; sin embargo esta API nunca vio la luz. Empezó la separación de las APIs

GPU, Windows XP y Khronos

Por el año 2000 salieron las primeras GPU y por entonces también salió Windows XP. También se formó el Khronos Group. Empecemos por Windows XP donde el soporte claro de Microsoft era DirectX. Con el gran lanzamiento de DirectX 9 una API que ya era superior a OpenGL se desarrollaron muchos juegos. OpenGL no evolucionaba y además solía ser más lento ya que si el fabricante no proporcionaba drivers de OpenGL (algo no obligatorio) este funcionaba por software en vez de por hardware. Entonces SGI y otras empresas fundan el Khronos Group que incorpora entre sus objetivos velar por mejorar OpenGL y otras tecnologías.

Windows Vista, DirectX 10 y el iPhone

La siguiente versión de DirectX 10 avanzaba y solo sería compatible con Windows Vista. Todo el mundo sabe que Windows Vista fracasó y por tanto DirectX 10 perdía fuelle y que hicieron los de OpenGL… Reescribir partes de la API para que fuese igual. Así pues OpenGL no lo aprovechó. Sin embargo las cosas cambian y ese día llegó cuando se lanzó el iPhone. No soy partidario de Apple pero el iPhone y todos sus gráficos funcionaban con OpenGL, concretamente con OpenGL ES(ES significa sistemas empotrados). OpenGL volvía a resurgir. Android también nació y también usó OpenGL ES. OpenGL volvía a ser importante.

OpenGL ES 2, la revolución

Entonces se vió que OpenGL ES 1 era un poco malo y lento y para ello el Khronos Group definió una nueva API completamente diferente, sin retrocompatibilidad y centrada en la potencia y simpleza. Nació OpenGL ES 2, la versión de OpenGL más innovadora del momento. Eliminaba partes típicas de la API y las reemplazaba por otros sistemas. Destacan los shaders tanto de vértices como de fragmento. OpenGL ES 2 además tiene muy pocas funciones por tanto la simpleza manda sin dejar de ser potente y profesional. OpenGL ES 2 se diseña como un subconjunto de OpenGL por tanto OpenGL también necesita una renovación. Será OpenGL 3 y 4 las grandes precursoras del cambio que dejan atrás rotaciones de matrices por vertex shaders. La ventaja de los shaders es que se compilan para la GPU y dejan más rendimiento para la CPU.

WebGL y OpenGL ES 3

Las especificaciones de HTML5 ya comtemplaban la etiqueta canvas que permite dibujar gráficos. Primero se introdujo el 2D, más tarde se pensó en el 3D y así surgió WebGL, una API gráfica para HTML/JavaScript. Se basa en OpenGL ES 2 y por ello hace uso extensivo de matrices de vértices y shaders. También surge OpenGL ES 3 que añade mejoras a OpenGL ES 2, sin embargo actualmente no ha sido muy adoptado debido a que es bastante reciente. Actualmente OpenGL es una gran API gráfica libre y multiplataforma que funciona sobre Linux, Mac, Windows (un poco mal, observad el proyecto ANGLE), Haiku, Android, iOS, Firefox OS, BlackBerry OS, Ubuntu Phone, PlayStation 3 y más. OpenGL tiene un gran futuro sobre todo cuando se implementen las otras especificaciones del Khronos Group como OpenCL, WebCL, OpenMAX, OpenWF, OpenML, OpenVG, COLLADA y más APIs que no son tan comunes pero que se integran muy bien con OpenGL.

Los números aleatorios

La gente a veces te pregunta un número aleatorio para así elegir algo de entre un conjunto. Si piensas un número en ese momento pensarás que es aleatorio y lo dejarás pasar. Sin embargo vamos a entrar en una reflexión acerca de los números aleatorios y si de verdad existen. Primero vamos a hablar sobre el efecto de la aleatoriedad en el cerebro humano.

Aleatoriedad en el cerebro humano

Este punto es interesante y es importante aclarar primero para evitar futuros errores. El cerebro no piensa bien aleatoriamente. Si tuviésemos una máquina de números aleatorios y los oyesemos veríamos que algunos se repetirían o creeríamos ver patrones. Esto es una falsa sensación de no-aleatoriedad. Esto ocurrió con el iPod, cuando la gente seleccionaba Reproducción aleatoria veían que algunas canciones se repetían y la gente se quejó de falta de aleatoriedad. Al final se modificó el algoritmo para que fuese menos aleatorio pero no los repitiese y la gente pensó que era más aleatorio

Generar números aleatorios

Estará pensando como generar números aleatorios con una máquina. Si usted ha pensado poco dirá que un algoritmo, si ha pensado más verá que necesitaremos valores de entrada diferentes para ese algoritmo y no se puede hacer aleatoriedad. Realmente hay 2 métodos pseudo-aleatorios. El primero se basa en mediciones de radiación, es normal que varíe bastante pero es muy lento, el segundo ampliamente usado en la computación es el tiempo. Cada milisegundo es un número que con unas cuentas puede ser muy diferente al del milisegundo anterior. Así se hace aleatoriedad en los ordenadores actualmente. Esto tiene un inconveniente y es que si viésemos todo eso algún día se repetiría y se verían patrones por tanto es imposible generar números realmente aleatorios. Existe investigación en el campo de la física cuántica y los ordenadores cuánticos pero todavía no ha dado sus frutos

¿Es el universo aleatorio?

Podríamos pensar que sí, pero hemos dicho que nos ha resultado imposible hacerlo con ordenadores (ordenadores que son capaces de simular ciertas tareas del universo). Así pues, ¿existen los números aleatorios? Cuando nosotros pensamos un número ¿estamos obedeciendo un patrón?. Es posible pero también hay que pensar en el rango de ese patrón ya que no hay un límite de números en el universo porque los números son infinitos. Si los números son infinitos ¿como serían los números aleatorios reales? ¿Habría algún tope?

Conclusión

Los números aleatorios no existen en los ordenadores y es posible que tampoco en el universo. Pero esto plantea grandes dudas sobre nuestro futuro y si lo podremos predecir usando patrones. El tiempo dirá

Hablando sobre Google Code-in 2012 y proyectos

Ya han anunciado ganadores del concurso Google Code-in 2012. No estoy elegido aunque tiene lógica porque los ganadores los eligen las organizaciones y yo no he trabajado 2 tasks con la misma organización. Visto esto he de decir que he aprendido mucho en diversos temas y me servirá mucho en el futuro. Actualmente quiero mejorar mis juegos actuales (Monopoly, Azpazeta, DivCity, El Juego de las Galaxias, Bloco), colaborar en algún concurso (Olimpiada Informática) y colaborar con algún proyecto de software libre (Simutrans, OpenTTD, Hedgewars). Además tengo que poner en funcionamiento las DivAccounts y Divel Updater y si queda algo de tiempo mejorar otros programas como Narciso, Divel Calendar, Templvs, Tú eres el protagonista, Divel Quiz, Agenda de Correos, etc. No sé si me dará tiempo pero al menos podré decir que lo intenté. Os animo a colaborar si quereis ayudarme en los proyectos de mayor envergadura.