El valor del BlackBerry en Guatemala

Me he puesto a pensar que en estos tiempos en Guatemala, el valor de un BlackBerry es mayor que el de un iPhone, o un celular con Android. Para bien o para mal, estos se han posicionado bastante bien, me sorprende cómo cada vez es más la gente que tiene un BlackBerry, cuando hace unos cuantos años eran casi que exclusivos para “ejecutivos” , y ahora ha cambiado tanto, que hasta pareciera que ahora es más usado por gente joven, por patojos pues.

Hace poco el BlackBerry murio unos cuantos días, y al parecer para algunos era como el fin del mundo, y se notó bastante porque mucha gente los utiliza, no se sí hubiera pasado eso con los iPhone, si se hubiera notado tanto, por lo menos en Guatemala creo que no.

Ahora creo que por la comunicación fácil que se tiene entre dos BlackBerry es lo que los está haciendo valiosos, estar chateando con el BB Messenger y compartir fotos y todo ese rollo es lo que les ha gustado a las personas, entre más personas puedan comunicarse más valioso es el medio, la red de usuarios crece más, cosa que no pasa con los iPhone, porque la red de usuarios no es tan grande como la de los BlackBerry, lo accesible que son ahora estos aparatos es lo que ha ayudado por mucho, veremos hasta cuanto logra crecer esta red y esta moda por los BlackBerry.

Este es otro ejemplo de cómo, aunque el sistema operativo y sus aplicaciones no sean tan buenas, tiene más valor que otro SO de lujo

Anuncios

Como usar Scriptlets con iReport 3.5.3 y Netbeans

No estoy acostumbrado a escribír post como este, que tengan que ver con desarrollo y todo mi rollo de informática, pero esto me costo un poco ya que no hay mucha información sobre este rollo en internet, que explicaran paso a paso como hacerlo y por eso decidí dedicarle un post a esto, sé que a los que entran por aquí regularmente no les va a interesar, pido disculpas de una vez 🙂

Scriptlets

Se le llama así al uso de metodos, escritos en java, en un reporte hecho en iReport. Por ejemplo en lo que estoy haciendo era necesario jalar de una Base de Datos un valor entero, pero en el mismo reporte tenía que pasar a letras dicho número, esto es fácil hacerlo en código, pero no por medio de SQL, entonces lo más fácil (según yo) era usar una función en java, mandar como parametro mi número y que la función retornara el número en letras.

La Clase a ser usada como Scriptlet

Para que iReport reconozca como scriptlet una clase, esta clase debe de heredar (extend) de JRDefaultScriptlet, en manuales dice que se puede heredar de JRAbstractScriptlet para poder implementar otros métodos que se ejecutaran en distintos puntos del reporte. Pero a mi lo que me interesaba era ejecutar este método cada vez que se imprimia un registro.

Entonces mi clase quedaba definida así:

package presentacion.reportes.jasper;

import net.sf.jasperreports.engine.JRAbstractScriptlet;
import net.sf.jasperreports.engine.JRDefaultScriptlet;
import net.sf.jasperreports.engine.JRScriptletException;

public class NumerosALetrasScriptlet extends JRDefaultScriptlet {
//..... aqui va todo el código de pasar un número a letras
        //este sera el metodo que llamaré desde el reporte
   public String convertirLetras(int numero) throws JRScriptletException{
               num_letras = centena(numero);
              return num_letras;
    }
}

Entonces el paquete de mi clase es:  presentacion.reportes.jasper el archivo se llama NumerosALetrasScriptlet.java

HUBICACION DE LOS ARCHIVOS:

Como estamos trabajando en java, hay una carpeta destinada a los archivos .java y otra para los .class en mi proyecto están así:

Los .java

C:\….\Proyectos Netbeans\MiProyecto\src\presentacion\reportes\jasper

Los .class

C:\…..\Proyectos Netbeans\MiProyecto\build\classes\presentacion\reportes\jasper

El Archivo .jrxml

Este que es el archivo donde hacemos nuestro reporte,  los tengo hubicados donde están los .class (aunque sí funciona que este a la par de los .java) es decir en:

C:\…..\Proyectos Netbeans\MiProyecto\build\classes\presentacion\reportes\jasper

EL SCRIPTLET EN IREPORT

Propiedades del Reporte

Propiedades del Reporte

Clic derecho sobre el nombre del reporte ->propiedades, y ahi buscamos “Scriptlet Class” y escribimos el paquete junto con el nombre de la clase. En mi caso es presentacion.reportes.jasper.NumerosALetrasScriptlet

IMPORTS

En la parte de “imports” importe el paquete donde esta mi clase:

presentacion.reportes.jasper.*

propiedades->import|

propiedades->import

CLASSPATH

Para agregar carpetas al classpath de iReport lo podemos hacer en “Herramientas -> Opciones” y buscamos la pestaña “classpath”

Aquí yo agregué 3,  no estoy seguro de si son necesarios esas tres direcciones que puse, pero así me funcionó y así lo voy a dejar por el momento 😛

1era:

el path donde estan las clases (todas, no solo las de presentacion.reportes.jasper)

C:\…..\Proyectos Netbeans\MiProyecto\build\classes

2da:

El Path donde estan los archivos .java (donde esta el scriptlet)

C:\….\Proyectos Netbeans\MiProyecto\src\presentacion\reportes\jasper

3era:

El Path donde esetan los archivos .class

C:\…..\Proyectos Netbeans\MiProyecto\build\classes\presentacion\reportes\jasper

Estas direcciones son las mismas que había puesto más arriba, pero igual las vuelvo a poner.

USANDO LA FUNCION EN EL REPORTE

Luego de ya tener configurado todo lo anterior, hay que usar el método que querramos de la clase. En mi caso como dije mi metodo se llama

convertirLetras(int numero)

Recibe como parametro un entero.

En la paleta de componentes jalamos un “Text Field” y ya que este en el reporte le damos clic derecho -> Edit Expresion

y ahí para usar el método escribimos

$P{REPORT_SCRIPTLET}.convertirLetras($F{nota}.intValue())

uso del scriptlet

uso del scriptlet

En esta expresion

el parametro REPORT_SCRIPLET es un parametro que por default ya tiene iReport para manejar los scriplets, incluso lo podemos buscar en la ventana de “Report Inspector” y ver que su valor cambia dependiendo de lo que ingresemos en la parte de “Scriplet class” en las opciones del reporte.

A esto

$P{REPORT_SCRIPTLET}

le agregamos el nombre del método “convertirLetras” y le mandamos como parametro nuestro entero para que retorne el valor en letras. En mi caso mi campo traido de la BD se llama “nota” pero es un BigInt … entonces como en mi metodo recibo un “int”  por cualquier cosa jale su valor entero. por eso esta como $F{nota}.intValue()

$P{REPORT_SCRIPTLET}.convertirLetras($F{nota}.intValue())

Esto fue lo que hice para que me funcionara el scriplet, tuve muchos problemas al principio porque en ningún lugar encontraba como hacer referencia a mi clase y en donde tenían que estar hubicados los archivos tanto los .class como mi .jrxml  En un principio tenia mis .jrxml junto a los archivos .java y no a los .class

Otra cosa, por el momento solo he probado correr esto desde el iReports y no desde una aplicación, por lo que podría darme otros problemas, pero al menos ya estoy seguro de varias cosas que en un principio tuve que estar “adivinando” y probando sin saber si lo que estaba haciendo estaba bien, y al final no se mira tan complicado, lo que me frego fue la hubicación de los archivos creo yo.  Gracias a Dios me salio.

Que tan difícil es Ingenieria en Sistemas en la USAC

Esta entrada viene de haber visto en las estadísticas de este blog una frase por la que llegarón a este blog, en realidad en lugar de “difícil” decía “pisado” si no estoy mal.

En un principio siempre todas las personas que habían escuchado algo de “ingeniería” me decían, “las matemáticas son bien difíciles ahí en ingeniería”, algo así como que todo lo demás que no fueran “matemáticas” era algo por lo que no había que preocuparse, pero por lo menos en el caso de Ingenieria en Sistemas, no es así, para nada, las matemáticas claro que son difíciles, tanto que por eso es que hay personas que se salen de Ingeniería solo al probar la “Matemática Básica 1”, y bueno que decir de la 2, que para mí fue la más difícil, y eso no quiere decir que las que siguen no lo són, también puedo mencionar la Física 2, son horribles todos esos cursos.

Pero bueno, según mi experiencia puedo decir que solo con toparnos con la “Introducción a la Programación y Computación 1” que es el primer curso de programación en la carrera, podemos decir con toda seguridad que las mátes no  son lo más dificil de la carrera, y eso que ahora ya se programa en java y se puede utilizar cualquier IDE (por ejemplo netbeans), cuando yo la llevé a teníamos que programar a puro Borland C++ (maldita pantalla azul), pero igual sigue siendo bien difícil, y eso más que todo por la pésima base que se trae del bachillerato, donde mi programa más dificil si no estoy mal fue una onda de pasar números a letras, ahora en la U eso es una simple práctica; me acuerdo exactamente cuanto saque en mi primer proyecto de ipc1, fue un 36, yo había programado y programado por muchos días, y al final no había valido la pena, es una desilución bien grande que uno se lleva.

Pasar a IPC2 en paralelo con Lenguajes Formales y de Programación ya se pone incluso un poco más dificil porque ya son dos clases de igual nivel de ipc1, pero realmente donde la mayoría ya esta asqueada de tanto programar y sufrír es cuando se está llevando “Compiladores 2” junto con “Archivos” y “Arquitectura de Computadoras 1”, esa combinación junto con mates y otras clases es suficiente para empezar a tronar tanto en los cursos de sistemas como en los del área común. En “compi2” (como cariñosamente se le llama a esa clase) son mares y mares de código, y más los clavos que se tengan para entender las herramientas que se usan (JLEX Y CUP, goldparse, FLEX Y VISON, etc, etc) no son tan casaca, y eso que ha veces no se programa en netbeans, ni .net, sino que en QT en Linux donde por lo menos a mi me costaba porque nunca había utilizado Linux, recuerdo que en esos tiempos use Red Hat. No sé, creo que ese semestre con Compi es de los más desgraciados de la U, y algo así se tiene que seguír en los próximos semestres, desveladas tras desveladas, que se le juntan a uno un montón de trabajos para una semana, con exámenes, teniendo tres proyectos encima, sabiendole entrar a uno, y los otros dos en las nubes, hay días que uno en lo que menos piensa perder el tiempo es en bañarse (por muy coche que se oiga), recuerdo que para los días de entregas de proyecto me pasaba todo el día frente a la compu, ahí amanecía, empezando a hacer manuales como a las 3:30 am (en la aplicación ya uno no seguía, llega un momento en el que uno se da cuenta que por más que uno siga programando no va a dar tiempo hacer algo que a uno le dé más puntos) y luego como a las 5:00 am lo único que hacía era ponerme otro sueter y empezar a alistarme para salir a la U cuando los proyectos se entregaban a las 7:00 am, lo único que me daba miedo en esos momentos era quedarme dormido en la camioneta y pasarme de largo de mi parada para tomar un bus para la U, gracias a Dios nunca me pasó.

Recuerdo que un día si troné de plano, me recoste solo a descansar un poco en la cama de un mi hermano, como a las 5:00pm, luego que me desperté como a las 11:00 (sí, me quede dormido) en mi cama, luego me dijeron que me había levantado, hable con mi mamá algo, y luego me acosté en mi cama, hasta el momento sigo sin acordarme de ese lapso de tiempo. Y este es uno de los puntos malos de la carrera, la salud, ser tan sedentario, desvelarse, todo junto no es nada bueno, ahora me he dado cuenta, y he sentido también sus consecuencias y es algo de lo que hablaré en otro post, por eso aunque sea media hora a la semana, o los fines de semana sería bueno hacer ejercicio, no nos tiene que dar hueva hacer ejercicio, es muy importante esto, porque si no se esta totalmente equilibrado por lo menos que más tarde no nos sea tan difícil recuperar la condición física.

Creo que pudiera seguir hablando de todas las trabadas que tuve en la U, nunca tuve un semestre tranquilo, las semanas que se sienten tranquilas solo son un preludio para días díficiles.

PERO, puedo decir que siempre hay una luz en el camino, SIEMPRE hay una forma de salir adelante, y como siempre he dicho, uno solito no lo puede lograr, eso no quiere decir que uno se copie el proyecto de un su cuate, pero por lo menos se tienen amigos que a uno lo pueden ayudar a resolver un problema, a que si tu cuate no está tan trabado con tantos trabajos incluso puede hacer un trabajo de investigación que era en grupo o algo parecido, a decirte como hacer de una formá más facil algo, que se yo, pero uno si TIENE que pedir ayuda, si uno no tiene internet en su casa pues ir a diario a un café internet, y pues al final de cuentas SACRIFICARSE para ganar los cursos, sacrificar esas salidas a chingar, sacrificar ir al cine, sacrificar los viajes para ir a pasear, APROVECHAR las prorrogas que se dan de los proyectos (Gracias a Dios por las prorrogas), tantas cosas que uno tiene que hacer para poder ganar los cursos.

Al final puedo asegurar en un 100% que VALE LA PENA, sentir eso que se siente cuando le aparece ganada una clase a uno es un sentimiento indescriptible (más indescriptible entre más dificil el curso), y sobre todo, NUNCA RENDIRSE, aunque uno pierda los cursos seguir adelante, yo perdí cursos muchas veces, realmente no sé ni cuantos, pero sí perdía y aunque se siente uno tan desdichado, desepcionado, no queda otra que volverlo a intentar, no se pierde nada y se gana mucho, a veces uno piensa que no se es lo suficientemente inteligente para atinarle a hacer las cosas, pero me dí cuenta que eso no es así, por lo menos yo en mi colegio nunca fuí el abanderado del grado, o que estuviera en el cuadro de honor, yo era uno más del montón, del promedio, pero ya en la universidad entre a la misma carrera con cuates míos, que ellos si eran los abanderados en el colegio, iban a las olimpiadas de mates, de físicas, y al final por rendirse se pararon cambiando de carrera, y actualmente estamos en las mismas haciendo EPS para graduarnos, solo que ellos en su carrera y yo en la mía, en mi sufrida pero querida Ingeniería en Ciencias y Sistemas.

Cerré Ingenieria en Ciencias y Sistemas!

Estoy tan agradecido con Dios, con mis padres porque fue también gracias a ellos que pude cerrar mi carrera, esa que tantos desvelos me dió, tantas emociones, muchas veces  enojo, descepción, tristesa, impotencia, pero también me dió muchas alegrías, satisfacciónes, logros, felicidad, me dió de todo y ahora luego de ya varios días de saber que oficialmente he cerrado la carrera me da una gran felicidad que quiero compartír en este humilde blog porque también les debo las grácias a muchos de ustedes lectores por esos ánimos que me dieron desde un inicio cuando contaba que podía cerrar, en esos momentos no estaba seguro de poder lograrlo, pero tenía fe en que si fuera posible, en esos momentos sentía que el semestre iba de lo más tranquilo, sin saber que llegarían un par de semanas en las que me sentí perdido, sentía que era demasiado lo que tenía que hacer, y más ese fín de semana en el que se me acumularon para un sábado dos exámenes parciales, dos exámenes finales y dos proyectos, nunca en la carrera había tenido tanta carga para un sólo día de vários cursos, creo firmemente que ese día solo pude salir adelante con ayuda de Dios, yo creo que él me dio el coraje y determinación para no habandonar la lucha ese día.

Ahora que leo esos post me da nostalgia, los leo y me recuerda todas esas sensaciones que sentía, esa inseguridad pero también emoción saber que lo que había querido por tanto tiempo estaba tan cerca, y ahora que lo he logrado todavía me es raro cuando alguien me pregunta si estoy estudiando les digo “no, ya no estoy estudiando, porque ya cerré”, yo sé que es algo que muchos han logrado, pero fue un éxito que tuve que realmente me da mucha satisfacción y orgullo, realmente amo éste éxito, siento que es el más grande que hé tenido y le doy gracias a Dios por eso, talvez se note que muchas veces digo que estoy agradecido con Dios, pero esque realmente habían momentos cuando se siente que no van a salir bien las cosas y luego se arreglaban sin si quiera yo pensarlo, tuve más de una vez el pensamiento “alagran! y yo que sentí tan cerca el cierre” . Como luego de un examen final que tuve en escuela de vacaciones de un curso que ya había llevado en semestre, pero no tenía notas finales, entonces me metí para dis que asegurar el curso, pero en el examen final al terminar yo sabía con total seguridad que había perdido, fue un 30 de Diciembre ese examen, pasé mal el año nuevo, sin ganas de hacer nada, triste porque pensaba que en semestre también había perdido aunque no tenía notas de nada, pero luego en  enero me daban la noticia que había ganado con 61 en semestre, despues de unos cuantos días me daban la otra nota de vacaciones y en efecto había perdido pero ya no importaba, con esa nota yo ya sabía que había cerrado, aunque me faltara que me confirmaran notas finales de otros cursos.

Fue un 12 de febrero (sí ya casi un mes, este post se atrazó más de lo que hubiera querido) que me entregaron la nota final de mi último curso, ya pude gritar a los 4 vientos que había cerrado mi carrera, fue un día muy emotivo y grandioso para mí, sentía que me quitaba un gran peso de encima pero por otro lado también había alcanzado mi meta, se había acabado ya los cursos de la U, ya no más, eso era todo.

Actualmente ya estoy con lo del EPS (ejercicio profesional supervisado) el cual es de 6 meses, luego de cumplirlo y terminar con todos los trámites y toda la cosa me podría graduar, si Dios así lo quiere sería en Noviembre de este año, ni yo me lo creo todavía, pero esperemos que así sea.

Por último dejo este vídeo que fue grabado el día del piletazo donde celebrabamos que ibamos a cerrar, de todos los que estamos ahí no se cuantos en realidad lo lograron porque como mencioné esa vez muchos (talvez todos) estabamos ahí sin saber sí ibamos a cerrar o no, ahí si que a pura fé fue que estuvimos ahí ese día celebrando algo todavía inexistente.

Ignorancia Tecnológica

No es que uno lo sepa todo sobre la tecnología, eso es lo que uno menos pretenda creer, por mucho que uno este constantemente metido en internet, o estudiando carreras que tengan que ver con informática, aunque se piense que por estudiar una carrera así, o dedicarse a eso, alguien piense que uno lo puede hacer absolutamente todo y de eso creo que hay muchas anecdotas y chistes, como aquella vez que pensaron que podía arreglar una impresora solo porque estudiaba ingenieria :S .

Actualmente que casi todo uno lo hace con internet pues uno no se da cuenta que hay gran parte de la población que todavía no sabe sobre la existencia de tecnologías, o herramientas que pueden optimizar muchas cosas que ellos hacen, y que son muy fáciles de usar. Pero incluso no hablemos de cosas que ayuden a optimizar un trabajo, sino incluso de herramientas que simplemente nos pueden servir como ocio, como por ejemplo ver “tele”, ahora casi no miro tele, porque no pasan nada que yo quisiera ver cuando YO tengo tiempo, no cuando a ellos se les ocurra pasarlo, cuando he tratado de ver tele me paso por lo menos un par de minutos cambiando de canales a ver si hay algo bueno, y si no hay nada (despues de darle como 3 vueltas a los canales) pues mejor apago la tele y me voy a ver videos a youtube o algo así. Bueno, pues hay mucha gente que no lo mira así, si ya se perdieron un capitulo de algun programa, lo van a ver solo hasta que vuelvan a dar esa serie, o sabe ni cuando, porque no buscarlo en internet, talvez el capitulo lo puedan bajar de algun lado y ya.

Un chavo que estudia ahi donde yo, contaba que donde estudiaba su hermana para compartir un documento entre el salon de clases para estudiarlo, lo que hacen es abrir un correo electrónico, mandaban ahi el documento, y toda la clase podía entrar al correo y de ahi bajarse el documento, porque no mejor habrir un grupo de google o yahoo, o subirlo a algun sítio y de ahi bajarselo. También este chavo comentaba si las personas que hacen muebles sabían de la existencia de autocad, que probablemente les facilitaría un montón el diseño de cosas. Otro ejemplo es el de mi mamá, que a ella le gusta hacer arreglos florales, y también los vende, para tomar ideas de nuevos arreglos, lo que hace ahora es que en internet googlea imagenes de arreglos florales y de ahí puede tomar esas ideas que aunque no le digan como se hacen como en un libro que tiene (gracias ;D ) pues si le han ayudado, le ha facilitado mucho el uso de tecnologías.

Ahora el porque de que muchas personas no saben del uso de estas herramientas pues puede ser por pura cultura, no hablo de personas que no tienen acceso a ellas porque sería injusto, porque el que no tengan acceso a tecnologías es un problema de infraestructuras y otras cosas, en cambio hablo de las personas que teniendo los recursos no los utilizan; Porque para compartir un documento en internet se envian muchas versiones, talvez sería mejor tener un documento en google docs; porque para llevar cuentas no usa excel o incluso mejor para tener un backup y tenerlo en todos lados usar un google spreadsheet . Porque para hacer una busqueda en internet no usan google?, me sorprendio llegar a saber que muchas personas no usan yahoo o google, o que se yo, pero al fin y al cabo no usan buscadores.

Creo que hay muchas cosas que se mejorarían si las personas tan solo supieran que ya existen las herramientas, o se atrevieran a usarlas.

La ropa geek

Me encontre una pagina donde venden playeras meras geek, y hay algunas que están buenas, pero mejor mirenlas ustedes.

playera body

para los engazados con HTML

playera BSoD

jajaja, una de mis favoritas, el Pantallazo azul de la Muerte.

playera 8 bits

Cuando el NES era lo mejor, por lo menos ese fue el único sistema de 8 bits que jugué (no se si hay otros), y era cuando en los juegos se trataba de tener una gran destreza, ahora ya son más faciles.

playera en binario

A ver quien la entiende jajaja, otra de mis favoritas.

lemmings

Vivan los Lemmings!!!, jajaja que cínico, …. digo Viva Linux!!!

amor geek

Bueno ya que se viene el 14 de febrero,… hay que aprovechar…., creo que hay otra que dice “Tu eres mi Kernel”, o algo así.

tanga geek

mmmmm pues yo digo que hay que intentar Hackearlo, aunque sea hay que intentar por medio de “Fuerza Bruta” jajajaja.