DETENGAN LA LEY SOPA!!! NO A LA LEY SOPA Y PIPA!!!
Bienvenido al blog del noroeste de Mesopotamia! Aquí hablamos de todo:
Política, Dios, ciencia y tecnología, fe, Linux, Latex, Fails,etc.
miércoles, 18 de enero de 2012
miércoles, 11 de enero de 2012
[Tip] Acceso a datos de un vector unidimensional en TI-BASIC
Por estos días me encuentro desarrollando un proyecto para la TI-89 escrito en TI-BASIC. Afortunadamente, ya llevo gran parte de él bastante avanzado, e incluso puedo decir que algunos módulos ya están casi listos.Como seguramente saben el software que trae la TI-89, ese que viene en el disco incluido en la caja de la calculadora, no posee muchas herramientas de programación, ni tampoco la calculadora posee un buen editor para programar. El que trae es muy limitado.
Bueno, realmente no quiero hablar de editores u otras cosas, sino más bien de una cosa que descubrí y me pareció interesante comentarla aquí, puesto que puede inducir a errores en la programación. Mi intención es poder evitarles, de ser posible, potenciales errores asociados al acceso de datos a vectores unidimensionales. Manos a la obra.
Supongamos que tenemos un vector columna como por ejemplo [1;3;4;6], y tiene 4 componentes. Si se desea extraer datos de dicho vector hay que tener cuidado, porque si se hace de mala manera se pueden cometer errores, tanto de cálculo (durante una prueba) como durante la programación de algún software. Entonces, para extraer información de dicho vector tenemos 2 maneras.
- Usar la notación reducida, que significa lo siguiente: Por ejemplo
[1;3;4;6][2]
Si usamos esta notación, el resultado obtenido sigue siendo un vector, con la diferencia de que es un vector de una fila y una columna, y estará encerrado por [ ]. Esto NO es un escalar, sino que es el vector [3]. - Usar la notación completa, que quiere decir lo siguiente:
[1;3;4;6][2,1]
Esta notación lleva a un resultado que corresponde a un número o escalar, no a un vector de 1x1.Es decir, lo que entrega es el número 3.
Hay que tener cuidado con lo que andamos buscando, si es un vector de 1x1 que contenga el valor de cierto elemento en el vector, se debe usar la primera notación. Si por el contrario, se busca un escalar se debe emplear la segunda notación.
Abrazo!
Abrazo!
lunes, 9 de enero de 2012
[FAIL] Demasiada fuerza parece.
[FAIL] FAIL de seguridad
Un profesor poniendo en riesgo a sus alumnos en caso de una emergencia ¿Qué sucede si hay un temblor fuerte o un incendio?. Muy buena técnica...
sábado, 7 de enero de 2012
[TIP] Lanzar Matlab en la línea de comandos.
Es sabido que Matlab es un poderoso software para simular sistemas y cálculos matemáticos. Gracias a su herramienta Simulink, se puede simular casi cualquier sistema a partir de una sencilla interfaz gráfica y con sus herramientas matemáticas se puede calcular básicamente cualquier cosa.Sin embargo, una de las grandes desventajas de Matlab, en mi opinión, es el consumo de recursos. Puedo decir con propiedad que cada vez que lanzo este software desde mi pequeño portátil, la temperatura se dispara unos 5, 6 o incluso hasta 10 grados extra. En definitiva, es un software bastante "PESADO".
Hoy quiero mostrar un truco muy sencillo que hará que la consola de Matlab (donde se ingresan los comandos) se cargue en menos tiempo, y la cantidad de recursos consumidos sea menor. Lamentablemente para algunos, afortunadamente para otros, hay que sacrificar la interfaz gráfica de Matlab, lo que se hace de la siguiente manera:
./matlab -nodesktopSi se está en Linux. Para el caso de Windows, debería ser igual, pero siendo sincero no lo he probado. Quien lo haya hecho lo puede comentar.
De esta manera, la consola de Matlab se abrirá en la línea de comandos de Windows o bien en el terminal de Linux. Quizás van se extrañarán algunas cosas como el workspace, pero pienso que vale la pena, sobre todo si se trata de equipos limitados en características.
Abrazo!
martes, 3 de enero de 2012
[Tip + How to] Extraer filas y columnas de matrices
A veces se hace sumamente necesario extraer filas o columnas completas de matrices, sobre todo si el objetivo es escribir alguna pieza de software que desarrolle alguna tarea iterativa, pero de tal modo que no dependa de ciclos. Matlab, por ejemplo, dispone de operadores especiales (":") que permiten extraer filas y columnas completas de vectores bidimensionales.
Lamentablemente, en la TI-89/V200 no existen tales operadores... Sin embargo, de todas maneras existe una manera de extraer filas o columnas de una matriz sin la necesidad de utilizar el comando submat. Manos a la obra: Supongamos que la siguiente matriz es la matriz a la que le extraeremos las filas o columnas y está almacenada en la variable "a" de acuerdo al código:
[1,2,3;5,6,1;0,1;0]->aEntonces, si queremos extraer la fila central, que corresponde al vector [5,6,1] se debe hacer lo siguiente:
[1,2,3;5,6,1;0,1;0][2]->aEso extrae la segunda o fila central. Ahora, para el caso de las columnas, lamentablemente se requiere de un paso adicional. Transposición. Manos a la obra: Supongamos de que de la misma matriz se desea extraer la columna 3, entonces:
(([1,2,3;5,6,1;0,1;0])T[3])T->aNotar que T es el operador de transposición. Entonces, variando el coeficiente que acompaña a la matriz se pueden obtener filas y columnas completas.
De esta manera se pueden construir programas vectorizados mucho más rápidos y eficientes que no dependen de ciclos for o while.
Abrazo!
domingo, 1 de enero de 2012
No más Gtk-WARNING **: cannot open display: :0 !!!
Por años he tenido el mismo problema... Muchas veces intenté lanzar un programa con interfaz gráfica por medio de un usuario diferente, y sin embargo, el sistema devolvía un error que dice más o menos así:
Gtk-WARNING **: cannot open display: :0.0
Para solucionar el problema hay que hacer algo bien sencillo. Simplemente basta ejecutar la siguiente instrucción:
Como usuario normal y listo. El sistema devolverá el siguiente mensaje: access control disabled, clients can connect from any host
Para solucionar el problema hay que hacer algo bien sencillo. Simplemente basta ejecutar la siguiente instrucción:
xhost +
Como usuario normal y listo. El sistema devolverá el siguiente mensaje: access control disabled, clients can connect from any host
Con eso ya estamos... Nunca más el problema de no poder lanzar un programa gráfico a través de otro usuario.
Un abrazo
Links:
sábado, 31 de diciembre de 2011
Feliz Año nuevo y... GRACIAS TOTALES!!
Éste sin duda ha sido un año difícil, raro, complejo, duro, etc. Han sucedido muchas cosas como por ejemplo, el movimiento estudiantil, la tragedia de Juan Fernandez, la muerte de Nestor Kirchner, la caída de Gadafi y un LARGUÍSIMO etc. Cada una de estas cosas nos recuerda que en cualquier momento cualquier cosa puede suceder y quizás también hable sobre lo frágiles que somos, sobre todo cuando nos creemos muy fuertes o grandes.
A través de este artículo quiero agradecer a todos ustedes, a ustedes que periódicamente han visitado este espacio, que quién les habla lo intenta actualizar lo más seguido posible. Seguramente, no lo han visitado día a día, pero de todas maneras quiero agradecerles porque de otro modo no seguiría actualizando con la misma motivación de siempre. Espero que hayan disfrutado de cada entrada y artículo sin importar las posibles diferencias de opinión. A todos ustedes simplemente... GRACIAS... TOTALES!!
A pesar de todo lo que a cada uno de ustedes les haya pasado en este año, quiero decirles que aún hay esperanza, aún está Dios para que le puedan contar sus problemas, creer en el y tener una vida realmente abundante y plena. Gracias a Dios que todavía él está disponible para nosotros.
Mis estimados Lectores: Tengan un 2012 sobrecargado, lleno de energía y bendiciones, positivo, plenísimo. Espero que pasen éstas fiestas en compañía de sus seres queridos, y por qué no decirlo, de Dios también. Espero que nos sigamos encontrando el año que viene comentando las entradas de este blog, riéndonos con fails que a diario suceden, aprendiendo de Linux, Latex y de la biblia y Dios.
Un abrazo fraterno, cordial y sincero.
viernes, 16 de diciembre de 2011
[FAIL] Hamburguesas a las brasas... Digo, a las llamas (!)
La verdad me sorprende el descaro con que siguieron trabajando los trabajadores de esta famosa cadena de comida chatarra. Mejor vean el video.
Disfrutad!
[How to] Scripts ejectuables de Octave para Linux
He buscado algo de información relacionada con compiladores para MatLab y para Octave, con el objetivo de poder crear un archivo ejecutable que no dependa de ellos, sin embargo, la búsqueda no ha sido fructífera respecto de Octave. Por ahí encontré un intento de compiladorLinks: para Octave, pero las últimas actualizaciones datan de 2005, por lo que pienso sinceramente que no merece la pena siquiera probarlo porque parece un proyecto abandonado.A pesar de todo lo anterior, encontré una manera de producir scripts de Octave que sean ejecutables en Linux; hacerlo es muy sencillo.
- Añadir #! /usr/bin/octave --silent a la primera línea del código del script.
- Proporcionar permisos de ejecución al script a través de chmod +x script.m.
Con eso lograrán hacer que el script pueda ser invocado directamente desde la consola a través de ./script.m, dando la impresión de que el código estuviera compilado. Lo que realmente es que el sistema llama a Octave primero y luego comienza el script.
Sencillo pero útil.
Abrazo
Sencillo pero útil.
Abrazo
Suscribirse a:
Entradas (Atom)

