Ir al contenido principal

Entradas

Mostrando las entradas de junio, 2018

Epiciclos

Claudio Ptolomeo - ciudadano romano, nacido en Egipto - creó un modelo para las trayectorias de los planetas como un sistema de epiciclos, los cuales demostraron ser útiles para predecir su posición. Ptolomeo utilizó un astrolabio para sus observaciones.La idea básica de este modelo es la de las esferas de Eudoxo y Aristóteles. El modelo de Ptolomeo era geocéntrico, a pesar que el modelo de Aristóteles era heliocéntrico. El modelo de Ptolomeo carece de los problemas de predicción de Equinoccios y Solsticios, de los que no se tenían mediadas precisas antes de DicearcoHiparco, predice correctamente los movimientos retrogrados, y además tiene en cuenta los apogeos y perigeos de la luna, medidos con su tamaño aparente.La descripción de Ptolomeo es la mejor hasta que lleguemos a Kepler. Todo esto es descrito en el libro Mathēmatikē Syntaxis (Síntesis Matemática) de Ptolomeo, del cual tendremos que volver a hablar...Nota: Es posible aproximar cualquier curva cerrada con epiciclos (ejemplo). …

De las bases de datos distribuidas

Veamos como hacer memoria transaccional: si queremos realizar una operación, iniciamos una transacción, dentro de la transacción no modificamos datos, en su lugar se escriben un log de lectura y un log de escritura de datos... una vez termina la operación, terminamos la transacción, y se puede verificar si alguno de los datos datos del log de lectura cambió. Si hubo cambios, la transacción falla, en caso contrario se pueden escribir los datos del log de escritura (lo que puede significar que otras transacciones fallen). Mucho más interesante, podemos asignar un instante a la transacción, luego utilizando el log de escritura y este momento asignado a la transacción decidimos cual transacción interactua primero... lo que permite saber de forma temprana si una transacción va a fallar. Este modelo permite realizar transacciones en sistemas que no permiten realizar bloqueos en datos específicos.Nota: No podemos utilizar el momento asignado a la transacción para serializarlas y ejecutarlas …

Paralelismo en el Marco de Trabajo

La razón por la que escogí el nombre Lanzador en el articulo anterior, es porque idealmente este componente es ejecutable, y sirve para lanzar instancias del servidor.Idealmente podemos tener varias instancias, y hacer balance de carga sobre ellas, y mediante el lanzamiento de nuevas instancias podemos escalar el servidor. Idealmente estas instancias no están en la misma maquina.Tradicionalmente lo que haríamos es crear copias de todo el espacio de trabajo, una en cada instancia. Sin embargo, es posible encontrar particiones (como se entiende en base de datos), y dividir el espacio de trabajo. No es necesario hacer esto. De hecho, incluso si no lo hacemos, podemos dividir el resto del marco de trabajo para conseguir paralelismo. Otra cosa que debemos considerar, es la posibilidad de utilizar una base de datos distribuida, de forma que podamos agregar nodos instancias a la base de datos. La selección de base de datos no debe tomarse a la ligera, puesto que sabemos que tendremos múltip…

Reintegrando el Marco de Trabajo

La migración siempre es difícil. Cuando queremos pasar de un sistema a otro nos encontramos con dificultades porque nuestro sistema depende de características especificas de un sistema subyacente...Sería más fácil, si pudiéramos escribir un sistema que funcione sobre otro sistema... pero no depende este.Considerando que hay sistemas externos - sea la base de datos, correo electrónico, etc... - y no queremos depender de ninguno de ellos. Tiene sentido crear capas que nos aíslen de estos sistemas.Lo que nos queda, después de quitar el código que interactua con otros sistemas es "la lógica del negocio" (nombre con el que no estoy de acuerdo, porque ¿quién ha dicho que el software es para un negocio? y incluso si lo es, ¿quién dice que la lógica del software coincide con la del negocio? de hecho ¿quién dice que el software tiene lógica? - considere, por ejemplo, que el software es un vídeo juego). Así que le voy a dar otro nombre: Espacio de Dominio.Nota: El espacio de dominio c…

Descomponiendo Modelo-Vista-Controlador

La descripción básica de Modelo-Vista-Controlador es que es una arquitectura de tres capas epónimas, la cual fue inventada en SmallTalk y que se volvió obsoleta al ser reemplazada por el paradigma de componentes (controles) en formularios.O al menos eso sería, si a los señores de Ruby on Rails no se les hubiera ocurrido que era una buena idea para organizar un marco de trabajo para aplicaciones web.Primero que todo, un marco de trabajo para aplicaciones web tiene Internet en el medio. El código de la vista se ejecuta en el lado del cliente, pero la vista es construida en el lado del servidor. Así que en realidad tenemos que dividir la vista en dos (porque tiene Internet en la mitad): vista y presentador. El presentador es, por supuesto, la capa responsable de crear la vista.Nota: Dependiendo el lado que tomen en la guerra, algo similar puede ocurrir en el otro extremo de la arquitectura. Utilizando un ORM para construir las sentencias y consultas que se ejecutan contra la base de dato…

Historia de la ciencia: Architectus

Aristóteles dividía el conocimiento en "epistēmē" (raíz de la Epistemología) y "tekhnē" (raíz de la Tecnología), y estos lineamientos se siguen viendo en la historia de la filosofía griega, por ejemplo en la distinción del mundo de las ideas de Platón, o la idealización de los números de Pitágoras.Sin embargo, a Roma no le interesaba tanto la epistemología. Lo importante del conocimiento era que lo pudieras poner el practica. Si no se puede aplicar, no es útil.Por supuesto que las enseñanzas griegas (ahora greco-romanas) perduraron... y a Roma le interesaba aplicar estos conocimientos. Para esto, el estado con el fin de realizar proyectos, contrataba a individuos a quienes se les llamó "Architectus".La palabra latina "Architectus" viene del griego "arkhitekton", compuesta de "arkhi-" que significa "jefe" y "Tektōn"※ que significa "constructor".※: "Tektōn" y "tekhnē" comparten …

Historia de la ciencia: Puentes y Arcos

¿Qué hacer para cruzar un río? - se puede nadar, o se puede utilizar una canoa... ¿Qué pasa si queremos una solución permanente?El puente más simple es - tal vez - un puente de cuerda, que puede ser sencillo como una sola cuerda o tan complejo como los puentes de cuerda del imperio inca: Un puente de esta clase requerirá otro método para cruzar de un extremo a otro y atar la primera cuerda.Una alternativa que no tiene este problema es colocar una - o varias - vigas de madera: Sin embargo, el tamaño de los puentes que se pueden crear de esta forma está limitado por el tamaño de las vigas de madera.Nota: Esta tecnología es prehistórica.También es posible cambiar la madera por la piedra. Al cortar una piedra monolítica se puede conseguir una viga del tamaño adecuado sin estar limitado por el crecimiento de los arboles. Utilizando pilares que permitan repetir esta estructura sería posible aumentar la longitud del puente... O bueno, porque no un "arco", como los que vemos en Stonehen…

Historia de la ciencia: Concreto

La humanidad sabe hacer cerámicos desde tiempos prehistóricos. Esta tecnología fue útil para crear vasijas de barro para guardar bebidas y otros alimentos, para crear ladrillos, tuberías, estatuas... y por supuesto fue útil para crear las tablillas de arcilla donde se desarrolló la escritura cuneiforme.Los antiguos egipcios - desde aproximadamente el 3000AC - utilizaban una mezcla de cal (oxído de calcio) y yeso como aglutinante para ladrillos.Por otro lado, en mesopotamia se utilizaba el betúnel alquitrán la brea, la cual tenia la ventaja de resistir mucho mejor la humedad... esta tecnología le permitió permitió a la cultura del valle del Indo un desarrollo temprano de sistemas de acueducto.En Italia - desde aproximadamente el 300AC - se utilizaba algo que hoy llamaríamos "estuco". Es una mezcla de cal, mármol, yeso, y grasa animal. Y no por casualidad. El estuco permite recubrir superficies y conseguir acabados, que en italiano se llaman "stucco", que una palabra…

Paréntesis, comillas y afines

Hay una gran cantidad de signos de agrupación, a conocer (me estoy limitando a las que he visto en uso): (): Paréntesis o corchetes redondos ⦅⦆: Paréntesis dobles {}: Llaves, corchetes cursivos, corchetes de ola ⟨ ⟩: Chevrones, paréntesis angulares, corchetes angulares, corchetes de montaña※2 《》: Chrevrones dobles 〔〕: Corchetes de caparazón de tortuga, paréntesis aplanados 【】: Corchetes lenticulares, paréntesis lenticulares []: Corchetes o paréntesis cuadrados ⟦ ⟧: Corchetes dobles※1 ⌊⌋: Función suelo (redondear por abajo) ⌈⌉: Función techo (redondear por arriba) 「」: Corchetes garfio, comillas simples (chinas / japonesas) 『』: Corchetes garfio dobles, comillas dobles (chinas / japonesas) ‘’: Comillas simples (inglesas) “”: Comillas dobles (inglesas) ’’: Comillas simples (suecas / finlandesas) ””: Comillas dobles (suecas / finlandesas) ‚‘: Comillas simples (alemanas / polacas) „“: Comillas dobles (alemanas / polacas) ‹ ›: Comillas simples (francesas / españolas)※2 «»…

~

Cuando hablamos del símbolo "~" (que no se llama "rabito"), conocido popularmente como "la tilde de la eñe", no faltará el que nos diga que se llama "virgulilla" (y después se nos olvida como fue que nos dijo que se llamaba).Tengo cinco cosas que decir al respecto: Esta no es la única virgulilla, la cedilla "¸" que se le pone a la C para formar la Ç, y el símbolo apostrofo "'" son virgulillas. Así que llamarlo virgulilla no es suficientemente especifico. Deberíamos decir que es la virgulilla de la eñe. Todas las virgulillas son contracciones. Antiguamente, en espannol, los escribas empezaron es escribir letras encima de otras para ahorrar espacio, de esta practica - en español - solo sobrevive la de colocar una letra N encima de otra: Ñ. La cedilla es una zeta debajo de la C, y el símbolo apostrofo marca contracciones en inglés y en italiano. Es correcto que ˜ es una tilde, solo que no en español. Por ejemplo en portugu…

De la Salud gratuita

Ofrecer servicios de salud de forma gratuita tiene varios beneficios para la población:Aumento en la expectativa de vida. Detección temprana del cáncer. Etcétera... Por supuesto que el pueblo quiere salud gratuita. Ahora, no hay nada verdaderamente gratis. Los profesionales de la salud (medicina, enfermería, y similares) también tiene derecho ganarse la vida, y a ser remunerados por su trabajo...Para ofrecer servicios de salud gratuitos, el gobierno debe aumentar el presupuesto de la salud, y esto suele traducirse en aumentos a impuestos. Si es que no se traduce en disminuciones en otros presupuestos.¿Cómo sabemos estos? - Estados Unidos ofrece servicios de salud gratuitos a personas sobre los 65 años, discapacitados o con (ciertas) enfermedades crónicas. Pero Estados Unidos no siempre tiene presupuesto para suplir las necesidades de todos los pacientes... y decidir que pacientes reciben atención está a discreción de cada estado.En 2008, el estado de Oregon decidió que no tenia presup…

¿Donde está la historia de la ciencia?

En la actualidad, tengo un problema abierto en github, en mi retrotranferencia (a falta de un mejor termino) de .NET. Este: https://github.com/theraot/Theraot/issues/21.Es un problema de sincronización de hilos de ejecución. Esto es difícil de depurar. Toma tiempo.Estoy en un punto delicado en la historia de la ciencia. Roma a tomado el poder toda Italia, ya no es la historia de los filósofos naturales de Grecia. Y Roma tiene un enfoque diferente al conocimiento... esta es la cuna de la ingeniería civil. Pero los registros históricos se enfocan más en política y guerras. No hay mucho en porqué los romanos creían lo que creían.Por ejemplo, los romanos desarrollaron una arquitectura basada en columnas arcos y cúpulas. Evidentemente mente existía conocimiento de geometría, y de materiales... pero ¿Cómo llegaron los romanos a ese diseño? ¿Cual fue el método? hasta donde sé es un método ingenieril, y no científico.Por otro lado, tengo que investigar más del medio oriente. Por algo tenemos …

Del gobierno, la libertad y el medio ambiente

La idea de maximizar las libertades para maximizar la prosperidad es parte de la teoría capitalista.Libertad y felicidadQuiero notar que existe la idea que maximizar la libertad maximiza la felicidad. Lo cual parece tener sentido, si dejamos que todas las personas decidan y hagan lo que prefieran, deberían ser más felices. Lamentablemente está idea nos lleva a una mayor cantidad de diversificación, pero no a diversificación significativa.En el mundo moderno "maximizar la libertad" se ha convertido en decenas de sabores de gaseosa (por tomar un ejemplo), todos hechos por la misma empresa y con el mismo impacto en la salud. Lo cual no solo significa que tenemos solo una ilusión de selección, sino que ocupamos nuestra mente pensando en que opción es mejor... cuando no vale la pena.Ciertamente, con decenas de sabores, alguno debe ser perfecto para mi, y esto nos hace aumentar nuestras expectativas de los que esperamos, y luego terminamos insatisfechos con lo que elegimos compara…