Geek
My academic performance
Mar 7
Yo no soy una persona muy estudiosa, ni tampoco soy muy inteligente; las cosas que hecho las he conseguido sacándome la mugre en lo que hacia, pero eso si, soy una persona completamente obsesiva, tanto es asi que si se mete en la cabeza hacer un robot que pueda pensar por si solo, no pararía hasta lograrlo, quizás este exagerando un poco pero es que las únicas veces que he sacado buenas notas en la universidad fueron cuando en realidad quise sacar buenas notas, las demás veces, pues simplemente soy un dejado, ya que si tengo –por ejemplo- tarea de matemáticas y se me antojo programar, pues simplemente programo y dejo la tarea para después.
Mi comportamiento obsesivo, a veces, como que no ayuda mucho, ya que mi otra obsesión es el ejercicio y mas específicamente las maquinas de gimnasio. Esto ultimo merma algunas veces mi rendimiento académico, y en especial en las noches que necesito energías extras para seguir estudiando. Generalmente en esas noches lo único que hago es dar una repasada rápida e irme a dormir, ya que mi cuerpo no da mas.
Otro factor que modifica mi normal desempeño académico es mi obsesión con las chicas y que parafraseando a mi primo se resumen en: “estas mas salado que calzoncillo de pescador”, lo cual estoy empezando a creer. Y es que me da tanta cólera fracasar cada que intento algo con alguna chica, que mis ganas de programar simplemente se van al carajo y pues solo salgo a caminar por ahí con Rex (mi perro), y ni que decir de las ganas de estudiar.
En resumen, soy una persona muy obsesiva, lo cual a veces juega a favor y/o en contra de mi rendimiento académico. Esto a veces llega a hacerme creer que soy la persona mas inteligente del mundo, o hasta llega a hacerme creer que soy la persona mas estúpida del mundo y con menos neuronas que otras. Parecerían estupideces, no?, pero para mi, mi comportamiento es un arma de doble filo.
Noches de programación…
Mar 7
La programación ha estado en mi vida desde que tengo 12 años. En esos tiempos recuerdo que programaba por placer, incluso no entendía mucho lo que hacía, pero no se como me ponía a modificar partes de programas pequeños ya hechos para acomodarlos a mi gusto.
Hoy en día, programar sigue siendo mi pasión, pero a diferencia de mi primera etapa como programador, se sumaron algoritmos mas complejos que programar, y los cuales debía terminar en poco tiempo. Presión!, es la palabra que odio, y que en estas dos ultimas semanas estuvieron en mi vocabulario diario. Generalmente cuando estoy presionado, me bloqueo completamente y creo que hasta me es difícil programar una suma de dos números; lo contrario sucede cuando programo por placer, ya que puedo apuntar, en un pequeño cuaderno que tengo, los errores que tengo para corregirlos mas adelante.
Finalmente, creo que debo aprender a lidiar con ello, ya que mi entorno estudiantil esta conformado por gente muy académica y competitiva, los cuales al mismo tiempo me incentivan a superarme mas, ya que cada vez que creo que he tocado techo con algún proyecto, las ganas de superarse de ellos mismos, me hacen ver que aun me falta mucho por aprender, muchos libros mas que leer, y –claro- muchas otras trasnochadas que pasar; y con respecto a la presión pues creo que hoobastank tiene la respuesta en una parte de la canción de The Reason: “It’s something I must live with everyday”
Apuntes de Java: Manejo de Excepciones
Feb 27
El manejo de excepciones es una de la características que mas robusto hace al lenguaje de programación java. Claro, que esto viene de su papá C++ y creo que actualmente también lo implementan lenguajes como Visual Basic.
Bueno, últimamente ando programando en java, c y c++, simultáneamente. Así que a veces se me cruzan los cables con ambos lenguajes. Lo que voy a postear ahora son errores que -creo yo- son comunes a la hora del manejo de excepciones, ya que cuando andaba programando, se me fueron esas nociones de las excepciones.
En realidad, tengo solo dos apuntes que hacer.
La primera: Tener cuidado con el NullPointerException y de como estas están programadas en la API del J2SE.
- Como sabemos, la excepción NullPointerException es “tirada” cuando un objeto apunta a nulo (si queremos verlo desde el punto de vista de punteros de C).
- Ahora, veamos un ejemplo de como funciona esto en el siguiente método.
Windows 3.1 en Online
Feb 14
Ya hace un tiempo estuvo rondando por la blogosfera el que Michael Vincent creara una aplicación web online que emula casi en un 100% al mítico Windows 3.1, una de las primeras versiones del sistema operativo que vemos la versión 7 a día de hoy, y pues quise publicarla para quien aún no la vio.
La aplicación es muy interesante, cuenta con un navegador, aplicaciones clásicas como el buscaminas, la calculadora, el notepad, entre otros, obviamente en la versión de ese tiempo; los menús son bien logrados (tampoco es que Windows 3.1 tuviera una interfaz buenísima) y la experiencia -según el autor- se siente mejor desde Firefox 3 a más.

Pueden acceder a esta aplicación web en esta dirección: http://209.213.121.56.nyud.net/.
Saludos!!!
Prendiendo un led con un sonido
Ene 29
Esto que hice fue un pequeño experimento que hice para ver si podía convertir la entrada analógica de un sonido a una salida digital con el adc0804. La primera parte consiste en polarizar el micrófono electret, lo cual se puede conseguir con el siguiente circuito que encontré en Electronica Facil.
En donde la salida output va a ser la entrada analógica Vin+ al adc0804. Si ponemos el terminal positivo de un voltímetro al output del micrófono electret, podremos ver como mientras vamos haciendo ruidos mas fuertes, va aumentando el voltaje en el multitester, esto varia en mili voltios para lo cual tenemos que regular el voltaje de referencia del adc. Yo lo regulé a un tamaño de paso igual a 20 mV, lo que me daba un voltaje de referencia de 5.1 voltios y por lo tanto un Vref/2 de 2.55 voltios.
Ahora, el resto del circuito es el mismo para sensar cualquier magnitud física que pueda variar en su tensión, tal como ya lo había hecho en otro post con el lm35, ahora pondré el diagrama circuital para que vean como armarlo:
Por ahora solo estoy poniendo leds en las salidas del adc, pero si lo que quieren es mantener prendido un led, solo agréguenle un flip-flop D (74ls74) a alguno de los bits de las salidas del adc, lo cual podrían hacerlo de dos formas, la que hice yo fue la de conectar la entrada D y la entrada CLK del FF D al un mismo bit del adc, esto hará que cuando pase de 1 a 0 por el ruido pase lo mismo en el CLK y el Q’ pueda encenderse. La parte del circuito encerrado con rojo puede ser reemplazado por cualquier tipo de sensor, así como había hecho con el lm35.
Ahora pondré un video de como funciona el circuito de la segunda figura
Y este que es ya usando el flip-flop.
Tabla de multiplicar del 9 [Post Borrado por no sacar backups]
Ene 17
En el transcurrir del blog se han borrado varios posts. Uno de ellos es este, en el cual como que juego un poco con la tabla de multiplicar del 9. Esto lo hice originalmente cuando estaba en la academia y bueno, hasta ahora no le encontré ninguna utilidad, en realidad se me cruzo por la cabeza mezclarlo con el algoritmo de booth que sirve para multiplicar a nivel de bits, pero por ahora lo pondré tal cual lo escribí en mi adolescencia =D.
Si se fijan bien, la tabla de multiplicar del 9 tiene algunas particularidades, si es que la dividimos en subtablas que irían del 1 al 10, del 11 al 20, del 21 al 30 and so on =P. Gráficamente me refiero a esto:
|
Tabla 1 |
Tabla 2 |
Tabla 3 |
Tabla 4 |
Tabla 5 |
|||||||||||||||||||||
|
1° |
x |
1 |
= |
9 |
x |
11 |
= |
99 |
x |
21 |
= |
189 |
x |
31 |
= |
279 |
x |
41 |
= |
369 |
… |
||||
|
2° |
x |
2 |
= |
18 |
x |
12 |
= |
108 |
x |
22 |
= |
198 |
x |
32 |
= |
288 |
x |
42 |
= |
378 |
… |
||||
|
3° |
x |
3 |
= |
27 |
x |
13 |
= |
117 |
x |
23 |
= |
207 |
x |
33 |
= |
297 |
x |
43 |
= |
387 |
… |
||||
|
4° |
x |
4 |
= |
36 |
x |
14 |
= |
126 |
x |
24 |
= |
216 |
x |
34 |
= |
306 |
x |
44 |
= |
396 |
… |
||||
|
5° |
x |
5 |
= |
45 |
x |
15 |
= |
135 |
x |
25 |
= |
225 |
x |
35 |
= |
315 |
x |
45 |
= |
405 |
… |
||||
|
6° |
x |
6 |
= |
54 |
x |
16 |
= |
144 |
x |
26 |
= |
234 |
x |
36 |
= |
324 |
x |
46 |
= |
414 |
… |
||||
|
7° |
x |
7 |
= |
63 |
x |
17 |
= |
153 |
x |
27 |
= |
243 |
x |
37 |
= |
333 |
x |
47 |
= |
423 |
… |
||||
|
8° |
x |
8 |
= |
72 |
x |
18 |
= |
162 |
x |
28 |
= |
252 |
x |
38 |
= |
342 |
x |
48 |
= |
432 |
… |
||||
|
9° |
x |
9 |
= |
81 |
x |
19 |
= |
171 |
x |
29 |
= |
261 |
x |
39 |
= |
351 |
x |
49 |
= |
441 |
… |
||||
|
10° |
x |
10 |
= |
90 |
x |
20 |
= |
180 |
x |
30 |
= |
270 |
x |
40 |
= |
360 |
x |
50 |
= |
450 |
… |
||||
Si la tabla 1 la partimos por la mitad, cada producto va a tener su “reflejo”, el cual se va a formar de la inversión de los dos últimos digitos (por ahora) de la primera mitad de la tabla; asi pues el reflejo de 45 seria 54, el de 36, 63 y así sucesivamente.
Ahora, en la tabla 2 hay un problema, la posición 1 y 6 no cumple con nuestra regla; si obviamos estos elementos, la regla anterior se cumplirá de forma normal (excepción).
En la tabla 3 hay simetría, pero no de la misma forma de que en la tabla 1 pues el producto 1 y 2 forman su propio reflejo, teniendo que partir la tabla 2 veces.
En la tabla 4 las “excepciones” ahora están en la posición 2 y 7; es decir, 1 mas que en las excepciones de la tabla 2.
En la tabla 5 no hay excepciones, aun hay simetría, pero el “espejo” se sigue haciendo más grande.
Esas son mis observaciones y según yo, la tabla del 9 tiene una “regla de formación”.
1° Todos los productos de la tabla de multiplicar del 9 subdividiendolo como lo hice, depende de un producto anterior (eso sonó a lógica secuencial xD)
2° Las tablas se forman gráficamente de la siguiente manera:
####
#####
#####
#### 
Fig. 1 Fig. 2 Fig. 3 Fig. 4 Fig. 5
La figura 1, corresponde a la tabla 1 y 2, la figura 2 a la tabla 3 y 4, la figura 3 a la tabla 5 y 6, y así hasta llegar a la tabla 10, la cual iría del x 91 al x 100 (hay que tener en cuenta que las tablas pares tienen lo que yo llamo “excepciones”, las cuales no se deben tomar en cuenta para formar las relaciones simétricas). Además, las variaciones de las figuras de las relaciones se van formando cuando cambia el digito mas pegado a la izquierda del producto –MSB en electrónica digital xD, en este caso las centenas.
3° Las excepciones se forman en las tablas impares en las posiciones 1 y 6, las cuales van con progresión aritmética de 1 mientras avanza la tabla. Es decir tabla 2: 1 y 6; tabla 4: 3 y 7, etc. Otra forma de ver las excepciones –pero ya en el resultado- es que tienen dos dígitos contiguos iguales.
4° Estas relaciones van de la tabla 1 a la tabla 10, ósea del 9 x 1 hasta el 9 x 100. Desde el 9 x 101 hasta el 9 x200, podemos formar otras 10 tablas, en las cuales las reglas anteriores se repetirán nuevamente; y así podemos coger tablas de 10 en 10.
Como les dije al principio, aun no le encuentro utilidad a esto que se me ocurrió mientras mi mente divagaba en épocas de colegio xD. Lo más cercano que se me ocurre es plasmarlo en un lenguaje de programación y representar las tablas como arreglos y así poder obtener algunos de los resultados de los números que se multipliquen por 9 sin recurrir a la multiplicación convencional. Y como dije antes, esto me hizo recordar a la definición de lógica secuencial o quizás ecuaciones recurrentes (de las cuales solo se su nombre, por lo que –supongo- que tendré que leer mas si es quiero reafirmar lo que estoy diciendo).
Jugando con mi auto R/C
Ene 11
Desde chibolo siempre me han gustado los autos a control remoto, sin embargo, nunca tuve uno. En la navidad pasada, se me dio por comprarme uno simple en radioshack y me salió un poco mas de 50 soles con baterías y todo.
Estuvimos jugando con el carrito toda la noche buena yo y mi primo de 12 años xD. Al día siguiente, ya me había aburrido un poco, así que se me dio por desarmar el control remoto para ver el circuito =P. Y pues –como no se mucho de electrónica- entendí solo el 10% del circuito, lo cual fue suficiente para poder darme cuenta que el auto se movía con la presión de 2 pares de interruptores.
Regresando en el tiempo…
Dic 4
Un tema off topic, pero creo que es necesario recordar el tiempo en que comenzamos nuestra vida informática pues he ahí donde radica las ganas de comenzar a desarrollar todo un mundo paralelo, formando parte de ello. En este post veremos la evolución de la web, un poco de historia, un parte de mi vida, y el inicio de mi adicción a la tecnología.
En aquel entonces estaba en su apogeo el gran Windows 95, un avance tremendo con el entornos gráficos, la pantallita negra quedó atrás… Difíciles comandos fueron reemplazados por pictogramas y dibujitos interesantes, nuevas formas de ver la computadora aparecieron y con ella la red, la cual sin pensarlo llegaría a formar parte de la vida de cada uno de nosotros… Tiempo después, llegó Windows 98, todo mundo fascinado por el avance del sistema operativo por parte de Microsoft, con esta plataforma comenzó a volverse relativamente común el uso de internet, trajo consigo el correo electrónico! aunque muy raras personas se aventuraban a crearse uno por las dudas enormes que tenían sobre aquella tecnología… Quienes encabezaban la lista de servidores de e-mail gratuito? Yahoo! y Hotmail [empresa que sería adquirida por Microsoft más adelante], búsquedas con Altavista [antes de Google] eran comunes en esos días; los canales de chat, el mIRC, lo máximo!!! me parece que aquí es donde comienza el reconocimiento de un “nick” para cada usuario o por lo menos una identificación “original” cuestiones fuera de lo común como peperanger99.
La “moda” estaba determinada por el envío de las populares cadenas… nació el spam, todo estaba bien con los virus en el ordenador y ahora soportar cadenas que si no las enviás, morirás en 7 días… Por estar molestando a mis amigos, send! jajajaja! en fin, todo tiene un límite, el aburrimiento llegó y los usuarios poco a poco dejaron de enviar cadenas [aunque continúan enviándose, no es lo mismo que hace buen tiempo atrás] .
Que tiempos aquellos, utilizando el Winamp 2 una revolución total de los Players, utilizando un messenger sin emoticones personalizables, con el español CORRECTAMENTE escrito sin atropellos de lenguaje, con tantas contracciones ni leer bien se puede actualmente; jugando Doom2, Star Craft, el counter strike 1.3!, que buenos tiempos! excelentes gráficas[Pensando que es un viaje al pasado].
Aqui viene la mejor parte, los foros!!! en lo personal, me encantaba leer la opinión del resto sobre algún tema y responder, simplemente genial, también los websites eran detallados, con tantas tablas y muñequitos moviendose curiosamente [Gifs]… el Html en todo su esplendor, aquí podemos notar como en unos años la web ha evolucionado de una manera increíble, una de las webs que más visité para juegos de game boy color y super nintendo fue CuidadFutura.com/gamesworld la cual dejó de actualizarse hace mucho tiempo… que recuerdos aquellos.
La web es un mar inmenso, el cual debemos navegar constantemente explorando nuevos foros, webs, blogs, etc, etc, etc… para aumentar el tesoro más grande que puede tener el ser humano: el conocimiento, y algo aún más power: saber compartirlo con otros.
Atte. ZeroXprt
Saludos!
PD: La imágen va como referencia de un regreso en el tiempo.
Encontrar la ruta del JDK
Nov 29
Encontrar la ruta del JDK es bastante simple. Solo tienen que ir al explorador de windows, archivos de programa, java, … mentira! es una broma xD. Bueno en el código también es bastante simple, solo que cuando lo empaquetas en un jar, en lugar de mostrarte la ruta del JDK te muestra la del JRE, lo cual yo no quería en el tiempo que hice esto, ya que necesita algunas herramientas del kit de desarrollo, como el compilador (javac).
Para solucionar este problema hice un pequeño método para que busque la ruta del jdk. Claro que no lo voy a hacer una búsqueda por todo el disco duro, sino que me basaré en el System.getProperty(“java.home”) y luego buscaré las diferentes versiones y actualizaciones, ya que por decir en mi pc tengo la siguiente version: jdk1.6.0_16 y bueno no es algo muy complicado, pero para mi me fue muy útil
.
Aquí esta el código:
SuperTux, un juego open-source…
Nov 15
Mucha gente cree que el Software libre es cosa para andar programando, programando y más programando, y aburriéndose con aplicaciones donde sólo hay letras y numeritos; pues bien, esto que les voy a enseñar se llama Software Libre nada aburrido como lo pintan y del Bueno…
Pues, se trata de un juego del que, hasta este momento, no había escuchado ni por referencias ni nada por el estilo, se llama "SuperTux", y es un juego basado en el legendario Super Mario Bross (y los creadores mismos lo dicen), usa OpenGL, buenos gráficos, una muy buena música, y hasta puedes jugarlo con un joystick si lo tuvieras… sino simplemente con tu teclado…
El código fuente en C++ está disponible por si lo quieres modificar (hubiera sido irónico que algo relacionado a Tux fuera privativo) , está con licencia GPL y lo puedes usar en Windows, Linux y MAC OS inclusive…
Con respecto al juego en sí… es bastante adictivo, tiene 29 niveles que recuerdan mucho a esas épocas del Super-Nintendo, una química perfecta entre dificultad y diversión, y en sí es algo simple, pero complejo a la vez, es decir no es muy complicado jugarlo (son pocos comandos), pero si es complejo pasarlo (tarde o temprano caerás XD)…
Ahí les dejo un video de los pocos que encontré para que lo puedan ver antes de instalarlo:
Y Los links respectivos:
Página principal | Super Tux
Descarga del Juego y código fuente | Descarga Super Tux
PD: Lo sé, lo sé, estuve algo flojo con la redacción… échenle la culpa al sueño de esta hora… y disculpen
Saludos!!!
Hay agua en la Luna, Google lo celebra
Nov 14
O al menos, así lo demuestran los restos de la Luna del programa lunar “Crater Observation and Sensing Satellite” (L-Cross) de la NASA.
Al parecer, este programa consiste en bombardear la superficie lunar en busca de estallidos y que partes de dicha superficie reboten a considerables Km para ser capturados por sondas especializadas y traídas de vuelta a la Tierra para su posterior análisis. Precisamente, en una de esas incursiones, cerca al polo sur lunar, se han descubierto restos de Agua en nuestro satélite (obviamente no en estado líquido), y con esto, se vienen abajo todas las teorías acerca de la formación de la Luna (que refiere que, se formó a partir de un choque con la tierra, de otro objeto planetario del tamaño de Marte) ya que en dicha formación, es indispensable decir que el Agua que haya habido en tal teoría se haya evaporado instantáneamente por las altas temperaturas de ese entonces.
Ahora bien, la teoría puede tomar un matiz real, siempre y cuando quepa la posibilidad de que el Agua encontrada en la luna, haya sido llevada hasta ahí por algún ente externo (digamos, un cometa por ejemplo) en los consiguientes 100 millones de años a la colisión que la formo, pero hasta el momento, el foco está en el descubrimiento…
Por otro lado, Google, en la tierra, sorprende al momento de escribir este post, con un Doodle acerca de este hecho, como el que vemos abajo:

Linkeando las búsquedas relacionadas al Agua encontrada en la Luna…
Personalmente, es un hecho que a mi me ha dejado medio confuso, yo si he creído por años la teoría del choque entre la tierra primitiva y un objeto externo que dio origen a nuestra tan querida Luna, pero… y ahora que nuevas teorías se formularán?… o como modificarán la ya existente?… bueno, esperemos la NASA se pronuncie al respecto… a mi de antemano, ya me intrigó el tema este del Agua…
Apache cumplió 10 años
Nov 8
Hace pocos días, celebrábamos aquí en IFX el que Ubuntu cumpliera años a lo grande, y pues, siguiendo con las celebraciones, hoy le tocó el turno a la Apache Software Foundation (ASF), o bueno, en realidad fue el día 05 de este mes.. y pues haciendo como que una reseña, recordaremos algunas estadísticas al respecto (ya que como me imagino, más de uno sólo lo conoce por el Tomcat o por el temita este de aprender a programar PHP XD)…

Indagando por la internet mientras buscaba… bueno ya no recuerdo que buscaba… pero derivándome entre uno y otro blog y/o web me encontré una lista que me hizo reír, que no se cuando la postearon, pero que sigue igual de buena ahora que antes…







Comentarios recientes