lunes, 8 de octubre de 2012

Sigue la pista del dinero

Hace años vi con mucho interés un programa de televisión sobre el Triángulo de las Bermudas. Discutían muchas teorías sobre fenómenos físicos que pudieran causar la desaparición de barcos y aviones en esa zona. Al final del programa entrevistaron a directivos de la compañia Lloyds, que se dedica a aegurar barcos (las empresas enormes como PEMEX compran seguros multimillonarios para sus barcos, de la misma forma que nosotros compramos seguros para nuestros coches, de tal manera que No pierdan todo si tienen un accidente). Los directivos de esta multimillonaria empresa de seguros declaraon que ellos cobran igual sus seguros a los barcos que viajan por el Triángulo de las Bermudas que a los barcos que viajan por otros lados, porque en su experiencia (esta compañia existe desde hace más de trescientos años) la cantidad de accidentes y desparaciones de barcos en el Triángulo de las Bermudas es la misma que en cualquier otra parte de los Oceanos. Para mí, eso es suficiente evidencia de que el Triángulo de las Bermudas es una zona común y corriente del Oceano, ¿qué mejor evidencia que donde ponen los ricachones su dinero?. Desde mi punto de vista, las propuestas sobre lo que pasa en el Triangulo de las Bermudas son divertidas e interesantes, como es divertida e interesante la película de la Guerra de las Galaxias. Aunque me encanta esa película, yo nunca me pondré a entrenar como Yoda para mover objetos con la mente. En esa misma categoría tengo para mí la información sobre la telepatía y el supuesto papel de la resonancia Schumann: divertida e interesante, pero si quiero comunicarme con mi esposa cuando se va de viaje, yo no voy a intentar poner mis ondas alfa en resonancia con la oscilacion del campo magnético terrestre. Para comunicarme con mis familiares yo uso un teléfono, o el facebook. Cuando yo vea a TELMEX y a Televisa pelearse por el control de la resonancia Schumann (como ahora se pelean por el control de las señales de radio), entonces creeré que hay evidencia de su papel en la telepatía. Como dicen en las buenas novelas policiacas, sigue la pista del dinero.

viernes, 25 de abril de 2008

Alumnos nuestros logran publicar en el sitio de Demostraciones de Wolfram Research

¡¡¡ÉXITO ÉXITO ÉXITO ÉXITO!!!!

Felicidades a los MaTECmáticos Roberto Castilla y Roxana Ramírez

Su demostración sobre tiro parabólico fue aceptada y ya está publicada en el sitio de Demostraciones de Wolfram Research, los creadores de Mathematica.

El sitio de Demostraciones es arbitrado, y los referees aceptaron sin cambios esta demostración. Para poder usar la demostración, No es necesario tener Mathematica, basta con tener la versión gratis de MathPlayer, que también se puede descargar gratis al descargar la demostración.

Aquí está la demostración de Roberto y Roxana:

http://demonstrations.wolfram.com/ParabolicProjectileMotionShootingAHarmlessTranquilizerDartAt/

¡Felicidades mis MaTECmáticos!

José Luis

jueves, 24 de abril de 2008

flecha 3d con opciones

(* Estimados integrantes de MaTECmática http://matecmatica.blogspot.com/ *)

(* En la reunión de este jueves 24 de abril, les mostré a los que asistieron como ponerle “opciones” a programas hechos en Mathematica *)
(* como ejemplo modificamos el programa de la flecha3d para que, opcionalmente, el usuario pueda especificar que tan grande debe ser
la cabeza de la flecha y que tan gorda debe ser la flecha *)
(* A continuación el nuevo código que permite esas dos opciones: *)

(* Primero: Estas definiciones sólo son para que flecha3d tenga la misma sintaxis que el comando Arrow de Mathematica.
Observen el uso de los tres guiones bajos después de opciones, esos tres guiones indican que ese argumento es opcional *)

flecha3d[{x1_, y1_, z1_}, {dx_, dy_, dz_},opciones___] :=
flecha3d[{{x1, y1, z1}, {x1 + dx, y1 + dy, z1 + dz}},opciones];

flecha3d[{x1_, y1_, z1_}, d_,opciones___] :=
flecha3d[{{x1, y1, z1}, {x1 + d, y1 + d, z1 + d}},opciones];

(* Segundo: Proteger los nombres “cabeza” y “grosor” para que el usuario final No pueda modificarlos por accidente *)

Protect[cabeza, grosor];

(*Tercero: Especificar los valores “default” de cabeza y grosor *)

Options[flecha3d] = {cabeza -> 0.2, grosor -> 0.01};

(*Cuarto: El programa, modificado para usar las opciones que de el usuario, y si el usuario No especifica alguna de las opciones,
entonces se utiliza su valor “default”, que está guardado en Options[flecha3d]*)

flecha3d[{{x1_, y1_, z1_}, {x2_, y2_, z2_}}, opciones___] :=
Module[{vector, magnitud, normal, vectornormal, cruz, vectorbinormal, micabeza, migrosor},
micabeza = cabeza /. {opciones} /. Options[flecha3d];
migrosor = grosor /. {opciones} /. Options[flecha3d];
vector = {x2 - x1, y2 - y1, z2 - z1};
magnitud = Norm[vector];
normal = {0, z1 - z2, y2 - y1};
vectornormal = magnitud*normal/Norm[normal];
cruz = Cross[vector, vectornormal];
vectorbinormal = magnitud*cruz/Norm[cruz];
{Cylinder[{{x1, y1, z1}, {x1, y1, z1} + (1 - micabeza)*vector}, migrosor* magnitud],
Polygon[{{x1, y1, z1} + (1 - micabeza)* vector +
0.1 vectornormal, {x1, y1, z1} +
(1 - micabeza)* vector - 0.1 vectornormal, {x2, y2, z2}}],
Polygon[{{x1, y1, z1} + (1 - micabeza)*vector +
0.1 vectorbinormal, {x1, y1, z1} +
(1 - micabeza)* vector - 0.1 vectorbinormal, {x2, y2, z2}}]}];

(* Quinto: Ejemplos*)
(* Primero una flecha donde el usuario No especifica grosor Ni tamaño de cabeza.
Recuerden No ponerle punto y coma al siguiente comando para poder ver la gráfica*)

Graphics3D[
flecha3d[{{1.5, 0, 1}, {-2, -2, 2}}]
]

(*Ahora un ejemplo donde el usuario especifica el tamaño de la cabeza*)

Graphics3D[
flecha3d[{{1.5, 0, 1}, {-2, -2, 2}}, cabeza -> 0.5]
]

(*Ahora un ejemplo donde el usuario especifica el tamaño de la cabeza y el grosor*)

Graphics3D[
flecha3d[{{1.5, 0, 1}, {-2, -2, 2}}, grosor -> 0.05, cabeza -> 0.5]
]

(*Nos podemos divertir con un Manipulate: *)

Manipulate[
Graphics3D[
flecha3d[{{1.5, 0, 1}, {-2, -2, 2}}, grosor -> g, cabeza -> c]
],
{g,0.01,0.05},{c,0.1,0.5}]

(*¡Saludos!*)

Flecha 3D

(* Integrantes de MaTECmática http://matecmatica.blogspot.com/ *)

(* No me gusto la flecha 3D de mi correo anterior *)

(* Así que hice mi propio comando para hacer flechas en 3D. Quedan más bonitas. Más abajo está el código y ejemplos *)

(* flecha3d tiene la misma sintaxis que el comando Arrow,
donde el significado de los dos puntos es diferente si están o No
están agrupado entre llaves: flecha3d[{{x1,y1,z1},{x2,y2,z2}}] es una
flecha desde un punto {x1,y1,z1} al punto {x2,y2,z2}, pero si los
puntos No están agrupados con llaves, es decir de esta otra forma:
flecha3d[{x1,y1,z1},{x2,y2,z2}] entonces es una flecha que va del
punto {x1,y1,z1} al punto {x1+x2,y1+y2,z1+z2}, como en suma de
vectores
*)
(* Esta es la creación del nuevo comando flecha3d *)
flecha3d[{x1_, y1_, z1_}, {dx_, dy_, dz_}] :=
flecha3d[{{x1, y1, z1}, {x1 + dx, y1 + dy, z1 + dz}}];
flecha3d[{x1_, y1_, z1_}, d_] :=
flecha3d[{{x1, y1, z1}, {x1 + d, y1 + d, z1 + d}}];
flecha3d[{{x1_, y1_, z1_}, {x2_, y2_, z2_}}] :=
Module[{vector, magnitud, normal, vectornormal, cruz,
vectorbinormal},
vector = {x2 - x1, y2 - y1, z2 - z1};
magnitud = Norm[vector];
normal = {0, z1 - z2, y2 - y1};
vectornormal = magnitud*normal/Norm[normal];
cruz = Cross[vector, vectornormal];
vectorbinormal = magnitud*cruz/Norm[cruz];
{Cylinder[{{x1, y1, z1}, {x1, y1, z1} + 0.8 vector},
0.01 magnitud],
Polygon[{{x1, y1, z1} + 0.8 vector +
0.1 vectornormal, {x1, y1, z1} + 0.8 vector -
0.1 vectornormal, {x2, y2, z2}}],
Polygon[{{x1, y1, z1} + 0.8 vector +
0.1 vectorbinormal, {x1, y1, z1} + 0.8 vector -
0.1 vectorbinormal, {x2, y2, z2}}]}
];

(* Después de haber evaluado (Shift-Enter) los comandos anteriores,
flecha3d ya puede usarse. Aquí está un ejemplo sencillo. Observa el
uso de PlotRange->All para asegurar que se dibuja toda la flecha
completa *)
Graphics3D[{flecha3d[{{1, 2, 3}, {4, 5, 6}}]}, PlotRange -> All]

(* otro ejemplo, combinando la flecha con una esfera *)
Graphics3D[{Sphere[{1, 1, 1}, 0.2],
flecha3d[{{1.5, 1, 1}, {2, 2, 2}}]}, PlotRange -> All]

(* otro ejemplo *)
Graphics3D[{Sphere[{1, 1, 1}, 0.2],
flecha3d[{{1.5, 1, 1}, {2, 2, 2}}],
flecha3d[{{1.5, 0, 1}, {-2, -2, 2}}]}, PlotRange -> All]

(* Saludos *)

domingo, 13 de abril de 2008

Sobre escuela de verano de Mathematica en Wolfram Research

MaTECmatica sobre escuela de verano de Mathematica en Wolfram Research:

(Quizás convenga que lean los siguientes tres correos de abajo para arriba, para que entiendan como está la historia)

Dear Jose,

We consider the $2500 tuition to be a nominal fee for two weeks of one-on-one time with Wolfram Research's top Mathematica developers. The first week of the summer school we plan to offer workshops and trainings that would normally cost approximately $1000 per day. For the time and content alone the tuition that we are asking is well below the actual cost of what attendees will take with them. Also, as mentioned on the website, we have a limited number of scholarships available. I would also like to mention that there are several Wolfram Education Group courses that you or your students can take that might benefit the project.
http://www.wolfram.com/services/education/courses/index.html

I hope that you will reconsider and apply for what we believe is an phenomenal opportunity.

Best wishes,

Onkar Singh
Advanced Mathematica Summer School Program Committee www.wolfram.com/summerschool

Jose Luis Gomez wrote:
> I do agree with Savvas (message included below).
>
> I am Mexican, I am the adviser of a new student-group of Mexican
> Mathematica fans ( http://www.matecmatica.blogspot.com/ ) and I would
> love to send at least one of my brilliant students to this school.
> They do have great projects.
>
> However our student-group is totally new, we are just finishing the
> administrative procedure in our university (http://www.cem.itesm.mx )
> for registering as an official group, therefore we do not have any
> money yet, and we cannot send a student this summer.
>
> Jose
> Mexico
>
>
> -----Mensaje original-----
> De: psycho_dad [mailto:s.nesseris@gmail.com] Enviado el: Jueves, 10 de
> Abril de 2008 01:10 a.m.
> Para: mathgroup@smc.vnet.net
> Asunto: [mg87409] Re: REMINDER--Advanced Mathematica Summer School
>
> Hi,
> this idea about a summer school seems great! However, I have a couple
> of questions:
>
> 1) Why does the school cost $2500?
> 2) There seem to be some scholarships available, but sending an email
> to Wolfram Research I was told that they are offering a student rate
> of (only) $1000, thus barely covering the expenses and that does not
> cover the plane tickets I guess.
>
> This amount is prohibitive for international participants, even for EU
> citizens (due to the "strong" euro), therefore I don't think I will
> even consider applying, despite the fact I would really love to
> participate ... :-(
>
> Any comments on this (especially from Wolfram Research) are welcome.
>
> Cheers,
> Savvas
>
>
> On 8 =C1=F0=F1, 12:40, Wolfram Research <newsd...@wolfram.com> wrote:
>
>> This is a reminder that you can still apply for our first Advanced
>> Mathematica Summer School.
>>
>> Taking place July 6-18, 2008, in Champaign, Illinois, the Summer
>> School is intended for students and professionals with significant
>> Mathematica projects. Attendees will work directly with senior
>> developers and managers at Wolfram Research to advance those
>> projects.
>>
>> Applications are being accepted now; a limited number of slots are
>> available.
>>
>> For more details and to apply,
>> see:http://www.wolfram.com/summerschool
>>
>
>
>

miércoles, 2 de abril de 2008

El libro que pude haber publicado cuando yo tenia 18 de edad

Así como Silvia Pinal tenía (¿tiene?) su programa “Mujer, Casos de la Vida Real”, yo tengo una historia que podría entrar en un programa que se llamaría “Ingeniero, Descalabros de la Vida Real”.
Yo, José Luis Gómez Muñoz, pude haber publicado un libro sobre como curar virus computacionales cuando yo tenía 18 años (no se rían, es en serio, si me pasó).
Y como yo No lo hice, alguien más sí lo hizo, y durante muchos años ese libro, con otro autor, se vendió en todas las tiendas Sanborns de México.
En aquellos tiempos, cuando las PCs tenían 512 Kilobytes de memoria RAM, algunas PCs No tenían disco duro (sí, las computadoras podían funcionar sin disco duro, aunque usted, no lo crea), no existía nada parecido al internet (al menos para el ser humano común y corriente) y los dinosaurios aún reinaban en esta Tierra (me refiero a los del PRI), en aquellos lejanos tiempos el disco duro de mi computadora personal se infectó con un virus.
Yo tenía 18 años. Sabía que el virus estaba en el disco duro y que se transmitía a través de los discos, así que era imposible “enfermar” a una computadora que No tuviera disco duro. En cuanto apagaras una computadora de las que No tenían disco duro, y la volvieras a prender con un disco “flexible” (extraíble) sano, el virus desaparecía. Las computadoras de mi escuela, el Tec Campus Estado de México, No tenían disco duro. Por eso yo tenía la seguridad de que, si apaga completamente las computadoras después de trabajar con ellas, entonces yo No iba a propagar el virus y por lo tanto yo No perjudicaría a nadie. Con esa seguridad, utilice como “laboratorio” las computadoras del Tec, específicamente las del CCI. Compré muchos discos, y trayendo un disco infectado por la computadora de mi casa, me dediqué a infectarlos a propósito. Utilicé todas las herramientas a mi alcance para detectar donde se alojaba el virus, que cambios producía en el disco, que le pasaba la RAM mientras la computadora estaba prendida y propagando el virus, etcétera. Varios días de trabajo (yo creo que por eso reprobé Dibujo Técnico, por estar jugando al “Luis Pasteur Computacional” en lugar de hacer mis tareas) y logré todo un procedimiento para averiguar si un disco estaba infectado, si la memoria Ram estaba infectada y propagando el virus, así como un procedimiento para curar la infección, todo “a mano”, sin tener que usar las vacunas antivirus, que apenas comenzaban a aparecer en el mercado.
Algunos días después, un maestro (o quizás alumno de maestría, realmente no lo sé) cuyo nombre nunca le pregunté, estaba trabajando en el CCI junto a mí, y quería saber si la computadora en la que estaba trabajando tenía virus, si su trabajo estaba en peligro (las “vacunas computacionales” todavía eran muy raras, acuérdense, mis alumnitos, que estoy hablando de la época de las cavernas). En ese momento sufrí de un ataque de la enfermedad que siempre me ha aquejado, la “explicativitis compulsiva”, la cual consiste en la necesidad obsesiva de explicarle lo que he aprendido a todo el que se deje. Así que inmediatamente me le fui encima, y antes de que supiera que le estaba pasando, este profesor (¿alumno de maestría?) ya estaba recibiendo una clase completa sobre cómo evitar, detectar y curar virus computacionales en las PCs. Mi método, ya perfeccionado en ese momento, hacía uso de un paquete computacional muy común en aquellos días, llamado “PCTools” (¿O era el “PCTools Deluxe”?)
Pasó el tiempo, y algunos años después, ojeando los libros y revistas de Sanborns, me encontré con un pequeño libro de unas 80 páginas, a la venta entre la entonces creciente sección de libros y revistas de cómputo. En ese libro estaba descrito un procedimiento muy similar al mío para evitar, detectar y curar virus de “Boot Sector” (como esos virus computacionales prehistóricos “de la pelotita” y el de Brian, “Welcome to the Dungeon…”) y utilizaba como herramienta principal el “PCTools” (¿O era el “PCTools Deluxe”?).
El autor del libro agradecía en las primeras páginas el curso sobre seguridad computacional que a su vez le impartió un profesor de la UNAM, del cual había tomado muchos elementos para realizar el libro.
Honestamente nunca supe si ese “profesor de la UNAM” descubrió en forma independiente este procedimiento (lo cual es posible y muy probable, porque “PCTools Deluxe” era un software muy conocido y muy usado entre los geeks de las computadoras, bueno, de los ábacos de aquellos días), o si por el contrario, fue ese “profesor de la UNAM” el mismo quien recibió, en contra de su voluntad, toda una explicación sobre virus dictada por un alocado, despeinado y desfajado estudiante de ingeniería; o quizás mi explicación fue de boca en boca hasta que alguien tuvo la buena idea de convertirla en un libro. Realmente No sé cómo fue, pero ese no es el punto, ni tampoco es la moraleja.
El punto es que YO PUDE HABER ESCRITO ESE LIBRO CUANDO YO TENÍA 18 AÑOS, UN LIBRO QUE SE VENDÍA EN LOS SANBORNS (lo vi al menos en varios Sanborns del DF y de Monterrey en diferentes ocasiones. Ya no está, las computadoras y los virus de la actualidad ya No tienen nada que ver con los de aquellos primitivos días).
Pasó el tiempo, mi enfermedad “explicativitis” triunfo sobre mí, y el alocado, despeinado y desfajado estudiante de ingeniería se convirtió en un alocado, despeinado y desfajado maestro de Matemáticas. Algo he aprendido, ya que soy coautor de algunos libros, tengo certificaciones internacionales y me pagan, tanto en el Tec como en Global Computing, por hacer lo que más amo en la vida “explicar explicar explicar explicar explicar…”, permítanme contar hasta diez en lo que se me baja el ataque.
Ya recuperado, déjenme decirles que ahora me encuentro rodeado de brillantes estudiantes de ingeniería de 18 a 25 años (no todos son alocados, y varios se peinan y se visten muy bien), veo sus proyectos, sus ideas, y me doy cuenta del gran valor que tienen muchos de esas ideas y realizaciones. Valor en varios sentidos de la palabra: valor económico, valor académico, valor moral, etc.
Y me doy cuenta de que podría ser muy interesante que esos brillantes alumnos sí lograran escribir un libro (cosa que no hice porque a los 18 años ni siquiera se me ocurrió que mis conocimientos fueran suficientes para hacer un libro, mucho menos que alguien estuviera dispuesto a pagar por ellos), que sí escriban un libro a los 18 años, o que sí pongan una empresa basada en el conocimiento a los 18 años, o que sí logren irse a CalTech o al MIT o a Cornell o la NASA. O a donde quieran.
Y por eso es que intento salir de mi hermetismo, abandonar mis ropas de monje ermitaño, e interactuar con las personas en otro lugar además del salón de clase. Es por eso que apoyo la formación del grupo MaTECmática, a pesar de tengo pánico de ser un líder. Yo sigo siendo el mismo chico tímido que siempre fui, sólo que ya me puse panzón y canoso.
Y por eso les pido, mis alumnitos de 18 a 25 años, que inviertan una parte importante de su tiempo en MaTECmática, incluidas las labores que se que a muchos de ustedes No les gustan. No es sorprendente que en una asociación de interesados en la computadoras y la ciencia, lo último que les interese sea la “política” y la “administración”, algunos de ustedes (como yo) incluso le tienen fobia. Créanme, el esfuerzo vale la pena, tenemos contactos increíbles: el Dr. Ulises Cervantes en Wolfram Research, el Ing. Amadeo Betancourt en Bett Construcciones, el Ing. Hector Vadillo en Global Research. Hay eventos importantísimos en puerta, como el evento “CienciaJoven” que esta vez se celebrará en nuestro Campus. Y con mis canas y mi panza, yo veo claramente que muchos de sus trabajos se pueden llegar a convertir en becas para doctorado en el extranjero, en microempresas creadas por ustedes, en libros, etc.
¡Así que no vayan a faltar este viernes a las tres de la tarde en Ciencias Básicas a las elecciones de MaTECmática!
José Luis

viernes, 7 de marzo de 2008

Pattern Language en Mathematica

Hola MaTECmáticos ( http://www.matecmatica.blogspot.com/ )

El jueves 6 de marzo estudiamos la introducción al Pattern Language de Mathematica, que es una poderosa técnica de programación en Mathematica. En esta liga pueden descargar un documento de Mathematica con los ejemplos que usamos en esa sesión:
http://homepage.cem.itesm.mx/jose.luis.gomez/MaTECmatica/20080306MaTECmatica.nb

¡Saludos!

José Luis