
11/05/2004NOS MUDAMOSPues sí, Ceklog se muda a Bitacoras.com. Os agradecería enormemente que cambiéis vuestros enlaces a la nueva dirección ---> http://cek.bitacoras.com Salu2 y perdón por las molestias. Cek 07/05/2004Curiosidades sobre PiTodos conocemos la historia de PI y los quebraderos de cabeza que este número irracional y trascendental ha dado y sigue dando a los matemáticos. ¿Qué es un número irracional? Un número racional es uno que se puede expresar como la fracción de dos números enteros. Los números racionales convertidos en la notación decimal se repiten siempre en alguna parte en sus dígitos. Por ejemplo, 3 es un número racional pues puede ser escrito como 3/1 y en la notación decimal se expresa con una cantidad infinita de ceros a la derecha del punto decimal. 1/7 es también un número racional. Su notación decimal es 0,142857142857..., con una repetición de seis dígitos. Sin embargo, la raíz cuadrada de 2 no se puede escribir como la fracción de dos números enteros y es por lo tanto irracional. Muchos siglos antes los matemáticos habían pensado que PI era un número irracional, pero no sabían demostrarlo. La primera tentativa de una prueba la realizó Johaan Heinrich Lambert en 1761. Con un método complejo él probó que si x es racional, tan(x) debe ser irracional, y que si tan(x) es racional, x debe ser irracional. Como tan(PI/4)=1, PI/4 debe ser irracional; por lo tanto, pi es irracional. Mucha gente vio la prueba de Lambert como demasiado simple para un problema tan complejo y duradero. En 1794, sin embargo, A. M. Legendre encontró otra prueba que aupó la tesis Lambert. Esta prueba nueva probaba que PI^2 era también irracional. ¿Qué es un número trascendental? Un número trascendental es uno que no se puede expresar como solución de ax^n+bx^(n-1)+... +cx^0=0 donde todos los coeficientes son números enteros y n es finito. Por ejemplo, x=sqrt(2), que es irracional, se puede expresar como x^2-2=0. Esto demuestra que la raíz cuadrada de 2 no es trascendental, o algebraica. Es muy fácil probar que un número no es trascendental, lo que es extremadamente difícil es probar que es trascendental. Esta hazaña finalmente fue lograda para PI por Ferdinand von Lindemann en 1882. Él basó su prueba en los trabajos de otros dos matemáticos: Charles Hermite y Euler. En 1873, Hermite probó que la constante e era trascendental. Combinando esto con la ecuación famosa e^(i*PI)+1=0 de Euler, Lindemann probó que el hecho de que e^x+1=0 requiere que x sea trascendental. Por lo que PI tiene que ser trascendental para hacer i*PI trascendental. Internet no es ajena a este número y existen muchas curiosidades en la red como las siguientes: Hoy leo en Microsiervos que en esta web se puede ver el primer millón de cifras decimales de PI. Otra página curiosa es esta, que te permite buscar un número de hasta 120 dígitos en los primeros 100 millones decimales de PI. Como curiosidad: la fecha de mi nacimiento está en la posición 243630. Algunos celebérrimos personajes también han hablado sobre PI: "Si consideramos el mundo de relaciones geométricas, allí duerme el milésimo decimal de Pi, aunque jamás nadie trate de calcularlo." William James, The Meaning of Truth "El rostro de Pi estaba enmascarado; se sobreentendía que nadie podía contemplarlo y continuar con vida. Pero unos ojos de penetrante mirada acechaban tras la máscara, inexorables, fríos y enigmáticos." Bertrand Russell, Nightmares of Eminent Persons "Los decimales no calculados de pi, duermen en un misterioso reino abstracto, donde gozan de una débil realidad, hasta que no son calculados, no se convierten en algo plenamente real, e incluso entonces su realidad es mera cuestión de grado" William James, The Meaning of Truth "En la circunferencia, el comienzo y el fin coinciden." Heráclito (c.544-480 a. C.); filósofo griego Cita: TelevisiónEncuentro la televisión muy educativa. Cada vez que alguien la enciende, me retiro a otra habitación y leo un libro. Marx, Groucho. 06/05/2004Comparando strings con XSL¿Alguna forma más elegante de comparar cadenas con XSL que esta chapuza? La chapuza en cuestión: xsl:if test="contains(@Strict,$verdadero)" Se aceptan críticas ;) Actualización: Ya que estamos, si alguien conoce algún programa del estilo de XMLSPY que corra sobre GNU/Linux que haga el favor de escribir un comentario. Gracias mil :) Actualización:Ya he descubierto como resolver el problema, es tan sencillo que casi me autolesiono de lo tonto que soy. xsl:if test="@Strict = 'true'" En mi defensa he de decir que lo había intentado de esta manera, pero me lié con las comillas "" y '', y claro, no funcionaba por una cuestión de co...millas. ¿Qué es y qué no es Internet?El siguiente texto contiene una descripción clara y concisa de qué es Internet y, lo que es mas importante, de lo que no es. Comenta los errores que cometemos al referirnos o pensar en la red de ordenadores mas popular. Sin duda una lectura imprescindible. - Original (inglés) - Traducción al español de Javier Smaldone Feliz lectura 05/05/2004Regalito de Torek Quiero agradecer a mi colega de Kirai.net que nos haya regalado esta joya.Desde esta humilde bitácora desearte que tengas mucha suerte en tu periplo japonés. Salu2 Torek A las personas que nacieron antes de 1985Curioso el correo que me han mandado: Este correo está dedicado a las personas que nacieron antes de 1985. La verdad es que no sé como hemos podido sobrevivir. Fuimos la generación de la "espera"; nos pasamos nuestra infancia y juventud esperando. Teníamos que hacer "dos horas de digestión" para no morirnos en el agua, dos horas de siesta para poder descansar, nos dejaban en ayunas toda la mañana del domingo hasta la hora de la comunión, los dolores se curaban esperando. Mirando atrás, es difícil creer que estemos vivos: Nosotros viajábamos en coches sin cinturones de seguridad y sin airbag, hacíamos viajes de 10-12 h. con cinco personas en un 600 y no sufríamos el síndrome de la clase turista. No tuvimos puertas, armarios o frascos de medicinas con tapa a prueba de niños. Andábamos en bicicleta sin casco, hacíamos auto-stop, más tarde en moto, sin papeles. Los columpios eran de metal y con esquinas en pico. Jugábamos a ver quien era el más bestia. Pasábamos horas construyendo carros para bajar por las cuestas y sólo entonces descubríamos que habíamos olvidado los frenos. Jugábamos a "churro va" y nadie sufrió hernias ni dislocaciones vertebrales. Salíamos de casa por la mañana, jugábamos todo el día, y sólo volvíamos cuando se encendían las luces de la calle. Nadie podía localizarnos. No había móviles. Nos rompíamos los huesos y los dientes y no había ninguna ley para castigar a los culpables. Nos abríamos la cabeza jugando a guerra de piedras y no pasaba nada, eran cosa de niños y se curaban con mercromina y unos puntos. Nadie a quién culpar, sólo a nosotros mismos. Tuvimos peleas y nos "esmorramos" unos a otros y aprendimos a superarlo. Comíamos dulces y bebíamos refrescos, pero no éramos obesos. Si acaso alguno era gordo y punto. Compartimos botellas de refrescos o lo que se pudiera beber y nadie se contagió de nada. Nos contagiábamos los piojos en el cole y nuestras madres lo arreglaban lavándonos la cabeza con vinagre caliente. Quedábamos con los amigos y salíamos. O ni siquiera quedábamos, salíamos a la calle y allí nos encontrábamos y jugábamos a las chapas, a coger, al rescate, a la taba..., en fin, tecnología punta. Íbamos en bici o andando hasta casa de los amigos y llamábamos a la puerta. ¡Imagínense!, sin pedir permiso a los padres, y nosotros solos, allá afuera, en el mundo cruel ¡Sin ningún responsable! ¿Cómo lo conseguimos? Hicimos juegos con palos, perdimos mil balones de fútbol. Bebíamos agua directamente del grifo, sin embotellar, y algunos incluso chupaban el grifo. Íbamos a cazar lagartijas y pájaros con la "escopeta de perdigones", antes de ser mayores de edad y sin adultos, ¡¡DIOS MÍO!! En los juegos de la escuela, no todos participaban en los equipos y los que no lo hacían, tuvieron que aprender a lidiar con la decepción. Algunos estudiantes no eran tan inteligentes como otros y repetían curso... ¡Qué horror, no inventaban exámenes extra! Veraneábamos durante 3 meses seguidos, y pasábamos horas en la playa sin crema de protección solar ISDIN 15, sin clases de vela, de paddle o de golf, pero sabíamos construir fantásticos castillos de arena con foso y pescar con arpón. Ligábamos con las chicas persiguiéndolas para tocarles el culo, no en un chat diciendo ": )" ": D" ": P". Tuvimos libertad, fracaso, éxito y responsabilidad, y aprendimos a crecer con todo ello. No te extrañe que ahora los niños salgan gilipollas. Si tú eres de los de antes... ¡Enhorabuena! ¿ Solaris GPL ?Leo en infoworld como a Sun le ha entrado el gusanillo del GPL. Dicen que están considerando cambiar la licencia de su sistema operativo Solaris a GPL. Y yo me pregunto, ¿que harán con el núcleo de UNIX propiedad de SCO?, ¿Lo cambiarán por el de Linux?, ¿Harán uno nuevo? y ¿Por qué ese cambio de política?. Espero vuestros comentarios. 04/05/2004Definiendo 'CMS' (Content Management System)En bitacoras.com definen cada semana un término relacionado con el mundo de los Weblogs. Esta semana le ha tocado el turno a CMS. La definición que mejor se ajusta a CMS es en mi opinión la siguiente: Un Sistema Gestor de Contenido (CMS) es un sistema usado para gestionar el contenido de un sitio Web. Normalmente, un CMS está formado por 2 elementos: la aplicación gestora de contenidos (CMA) y la aplicación dispensadora de contenidos (CDA). El elemento CMA permite al gestor de contenidos o autor, que puede no saber HTML, realizar la creación, modificación y eliminación de contenido en un sitio Web sin necesidad de disponer de la experiencia de un Webmaster. El CDA usa y compila la información para actualizar el sitio Web. Las características de un CMS pueden variar, pero la mayoría incluye publicacion basada en Web, indexación, revisión, búsqueda y recuperación de la información. 03/05/2004Comparación entre J2EE y .NETTras debatir en este post de mi amigo Juanjo Navarro, he decidido postear parte de un trabajo que realicé para la asignatura Progración Paralela y Distribuida. El propósito tanto de J2EE como de la plataforma .NET es facilitar y simplificar el desarrollo de aplicaciones empresariales o corporativas. De cara al comercio electrónico, las JSP (Java Server Pages) son muy similares a ASP (Active Server Pages) o a su descendiente ASP .Net, y los EJB (Enterprise JavaBeans) son muy similares a los COM/COM+ de Microsoft. Los servidores de aplicaciones J2EE y .Net proporcionan un modelo de acceso de componentes a datos y de lógica del negocio, separados por una capa intermedia de presentación implementada mediante ASP .Net (.Net) ó Servlets (J2EE). Visual Basic .Net y C# son lenguajes orientados a objetos, al igual que Java, y en su diseño ha tenido mucha importancia la existencia de Internet. Desde la perspectiva de los desarrolladores, J2EE y .Net proporcionan las herramientas para crear Servicios Web. J2EE y .Net son multiplataforma. Al usar .Net una compilación en dos pasos, le permitiría teóricamente proporcionar en el futuro entornos de ejecución para diferentes plataformas de forma similar a Java y sus JREs y SDKs. - Ventajas de .Net frente a J2EE : Una ventaja muy importante del entorno .Net frente a J2EE es la posibilidad de emplear múltiples lenguajes de programación, mientras que J2EE sólo trabaja con uno: Java. Aunque sin duda algún teórico pensara que lo ideal sería que solo hubiera un lenguaje de programación (a ser posible estandarizado), esta idea es tan utópica como pensar que el esperanto acabará substituyendo a otros idiomas humanos. La realidad es que esta alta diversidad de lenguajes es obligatoria por la misma variedad de las necesidades de los programadores. Todavía hoy existen más líneas de código escritas en Cobol que en C++ ó Java. Un lenguaje moderno y orientado a objetos como Java puede resultar totalmente ineficaz (y hasta inadecuado) a la hora de abordar problemas que involucren cálculos matemáticos masivos y complejos, mientras que esos mismos cálculos pueden ser abordados mucho más adecuadamente con un lenguaje tan primitivo como Fortran 77. Por otro lado, .Net posibilita así que programadores de terceros lenguajes pasen a esta plataforma reduciendo el tiempo de aprendizaje y entrenamiento. Las herramientas de desarrollo incluidas por Microsoft en su Visual Studio .Net son mucho más simples, intuitivas y sencillas de manejar que las herramientas de desarrollo equivalentes en J2EE suministradas por otras empresas (entre ellas la propia Sun). Cualquier programador medio/avanzado se manejará rápidamente con la programación del interface de usuario en Visual Studio .Net, al igual que sucedía con versiones anteriores de Visual Studio. C# es un lenguaje interesante, fácil de aprender por los programadores de Java (de hecho, Microsoft ofrece un conversor de Java a C#), que en caso de estandarizarse podría resultar un lenguaje muy conveniente para ciertas tareas de programación en diferentes plataformas. No está escrito en ninguna parte que los lenguajes no puedan evolucionar (de hecho, tanto los lenguajes de programación como los lenguajes humanos lo hacen) y, en ese sentido, C# es una rama evolutiva más del árbol de los lenguajes orientados a objetos. Microsoft ha impulsado con gran energía los servicios Web y ha resaltado su importancia entre toda la comunidad de desarrolladores (utilicen o no los productos de esta compañía). La plataforma .Net se ha diseñado considerando los servicios Web (mientras que J2EE no) siendo estos servicios propios de la plataforma y ofrece una nueva versión de ASP, ASP .Net, que puede considerarse un entorno de programación "de verdad" en lugar de un entorno basado en scripts. En términos de la propia Microsoft ".Net fue construido para la integración a través de los servicios Web XML usando protocolos y formatos de ficheros como SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), y UDDI (Universal Description, Discovery, and Integration)". Comparativamente, .Net va por delante con respecto a J2EE con respecto a servicios Web y estos servicios son propios de la plataforma, aunque J2EE respondió ya con el lanzamiento del Java Web Services Developer Pack. De todos modos, la facilidad, rapidez y sencillez con la que se pueden construir servicios Web con el Asistente de servicios Web de Visual Studio .Net son muy superiores a las de las herramientas para construir servicios Web dentro del entorno de J2EE. - Ventajas de J2EE frente a .Net: Las implementaciones de J2EE pueden adquirirse a distintas compañías, mientras que .Net solo puede comprarse a Microsoft. El hecho de que haya distintas organizaciones implementando J2EE ofrece mayor variedad para los usuarios finales y permite la existencia de una cierta competencia entre ellas para obtener mejores productos que no existe en el caso de Microsoft y su .Net. Debido al proceso evolutivo de los productos de Microsoft, y en muchos casos, por motivos de compatibilidad la seguridad frente a virus informáticos de los productos de Microsoft es menor que los basados en Java, pues desde un comienzo Java se fundamentó en un estricto modelo de seguridad. Como se ha escrito ya, las aplicaciones Java pueden correr en una amplia gama de sistemas operativos (desde sistemas empresariales como Windows 2000, OS/390, Solaris, HP-UX, IRIX u otras versiones de Unix hasta en sistemas orientados más a ordenadores personales como Mac OS, Windows 9x ó Linux, y en sistemas operativos para dispositivos móviles) y de arquitecturas hardware. Hasta la fecha, .Net corre solamente sobre sistemas operativos de Microsoft (aunque esta situación podría cambiar en el futuro), siendo J2EE el único entorno de desarrollo que ofrece una independencia real de la plataforma. La tecnología Java es una tecnología abierta (en el sentido de que el código de la plataforma completa puede ser obtenido, revisado y estudiado por cualquiera que esté interesado) y se basa en gran parte en estándares de organizaciones de normalización y estándares empresariales "de facto". Esto posibilita que los desarrolladores puedan conocer y entender completamente cómo hace las cosas Java y aprovecharlo para sus aplicaciones y, por otro lado, al basarse en estándares empresariales, simplifica la integración con productos de múltiples compañías. En contraposición, solo el código fuente del nuevo lenguaje C# de la plataforma .Net ha sido abierto al público general (aunque Microsoft permite a compañías con las que le unen intereses comunes el acceso al código fuente de ciertas partes de .Net). Aunque Java fue creado originalmente por una compañía: Sun MicroSystems, lo cierto es que J2EE es ahora el producto de la colaboración de más de 400 empresas y organizaciones de todo tipo (públicas, privadas sin ánimo de lucro, privadas con ánimo de lucro, y de normalización en ámbitos nacionales e internaciones). La plataforma .Net es (y será) el producto de una sola compañía, que aunque haya implementado algunos estándares en .Net y esté intentando conseguir que ciertas tecnologías se conviertan en estándares "oficiales", no puede tener el mismo consenso que J2EE (sobre todo teniendo en cuenta que la mayor parte de su código no es público). La tecnología Java goza ya de una cierta veteranía (9 años en el mercado). J2EE ha probado su eficacia en muchos entornos y situaciones empresariales distintas, mientras que .Net ha visto oficialmente la luz hace poco. |
Ceklog¡Bienvenido a Ceklog!. En esta bitácora iré exponiendo temas que me preocupen o interesen, casi siempre relacionados con internet y las nuevas tecnologías. ¡Espero que os guste! :) http://cek.blogia.com
TemasArchivosEnlacesInformáticaCienciaInternetProgramaciónVariosOtros |