Another, Other, Others

Monday, January 23rd, 2012

Una página que hice para unos puntos extras en mi clase de inglés

😛

http://sejomagno.org/english/anothers/

Javascript + CSS, nada del otro mundo pero lo publico para documentar su existencia.

Simulador de Carta de Smith

Thursday, December 29th, 2011

En este semestre que pasó tomé la materia de Medios de Transmisión (TE3007), donde me interesó mucho la Carta de Smith por ser una solución gráfica ingeniosa.

Me entró la curiosidad de programarla usando Processing.js, del cual había leído y quería usar pero no había tenido la oportunidad. Durante el semestre en un rato libre que tuve programé en sí la plantilla de la Carta, con ciertos problemas para dibujar correctamente las curvas de reactancia (si bien la ecuación que las genera es sencilla, el problema era enmarcarlas en el círculo unitario dado que no hay alguna función para enmascarar: hay que graficar solo los arcos visibles)

En estos días a ratos limpié e hice funciones para graficar las diferentes variables, y ya hoy implementé el uso del mouse. La idea original era hacer un simulador más completo que el del material multimedia del Ulaby (Fundamentals of Applied Electromagnetics) haciendo una interfaz con HTML/Javascript pero a la mera hora se me hizo mucha talacha. Podemos dejar eso como “trabajo a futuro”, al fin estoy liberando el código con GNU GPL.

Ahorita que publico esto, el simulador grafica las curvas de la impedancia normalizada, el vector y círculo de magnitud constante del coeficiente de transmisión, y el círculo del componente resistivo que corresponde al VSWR, además de imprimir sus respectivos valores.

El sitio del simulador es el siguiente: http://sejomagno.org/SmithChart

Corrigiendo código en Javascript con Safari (Parte 1: Sintaxis)

Saturday, March 5th, 2011

(Este post tiene el propósito de servir de ayuda a los alumnos de TC1002 Fundamentos de Programación de la carrera LCD10)

La programación puede ser una actividad bastante gratificante por todo lo que permite hacer, pero a la vez puede ser muy frustrante cuando no sabemos cómo resolver un problema o cuando no sabemos por qué está mal el código que acabamos de escribir.

En otros lenguajes de programación, un programa no corre hasta que no está escrito correctamente, de lo cual se asegura un programa llamado compilaador. En Javascript, cuando algo está mal escrito, simplemente no pasa nada en el navegador, no sabemos por qué, y nos frustramos bastante… Surge entonces la pregunta

¿Cómo saber qué escribimos mal en Javascript?

La respuesta es bastante sencilla y, en el caso de Safari, está al alcance del navegador. Escribiré sobre Safari porque 1) es el navegador que utilizan las dos personas que hasta ahora me han pedido ayuda, 2) es el navegador qué más probablemente utilizan los estudiantes de LCD 😛

Cómo usar Safari para corregir código en Javascript:

  • Paso 1: Activar el menú de Developer / Desarrollador. Entra a Safari -> Preferences (o Cmd+,) y arriba entra en Advanced. Hasta abajo hay una casilla que hay que activar, dice “Show Develop in menu bar”. La puedes dejar activada siempre para facilitarte la vida. Nota que ahora en la barra de arriba hay una nueva opción
  • Paso 2: Usar la consola de errores cuando algún código no funciona. De ahora en adelante, cuando escribas tu código en un archivo html, abras ese archivo con Safari, y solo veas una pantalla blanca, lo primero que tienes que hacer es abrir la consola de errores. Puedes hacerlo con el nuevo menú Develop -> Show error console, o con “click derecho” -> Inspect Element, y en la ventana que sale apretar el botón que diceConsole. Ahí saldrán enlistados los errores y el número de línea en el que se encuentran

Tipos de errores

La consola nos mostrará principalmente los errores que tienen que ver con sintaxis, es decir los que tienen que ver con la escritura del lenguaje (falta de comillas o paréntesis, llaves de más o de menos, etc.). También dirá si escribimos mal alguna función como alert o prompt.

Como sea, dada la naturaleza de Javascript, no nos dirá si escribimos mal el nombre de las variables. Tampoco nos dirá por qué por ejemplo al final el resultado fue 10 en vez de 11, pues esos son errores semánticos (lo que está mal es la lógica del programa). Próximamente escribiré un post que servirá para corregir ese tipo de errores, pero mientras espero que esto sea útil 🙂

¡No dudes en comentar / preguntar!