jueves, 13 de diciembre de 2007

La imperiosa necesidad de la confidencialidad

Hace varias semanas atrás terminé de leer el libro "Criptonomicón", de Stephenson. Uno de los grandes temas abordados en él fue sin duda el de la confidencialidad. La necesidad que tienen no sólo los individuos sino también las organizaciones de mantener en secreto su información crucial es lo que ha permitido la evolución de los criptosistemas y otros mecanismos que garanticen -si es que puede existir alguna garantía- que esa información no será conocida por ningún otro que no sea aquél a quien va dirigida.

Sin embargo el derecho a la confidencialidad se ha encontrado en controversia al ser confrontado con la obligación de los gobiernos de garantizar la seguridad. Mucho se ha dicho acerca de las diferentes maneras que tienen los gobiernos de conocer y controlar el flujo de la información. Por ejemplo, pocos han oído acerca de Carnivore*, la herramienta de software usada hasta hace algunos años por el FBI de los Estados Unidos para analizar (con la orden judicial correspondiente) el tráfico de correo electrónico que pasa por un proveedor de servicios de Internet (ISP) y que permite leer los encabezados de los mensajes de correo electrónico en busca de indicios de alguna conspiración o hecho ilegal (cuando digo "hasta hace algunos años" no quiero decir que ya no lo hace, sino que ha optado por otras alternativas de software que logran el mismo fin). Por otra parte, también muy pocos han escuchado acerca de las posibilidades de codificación de mensajes usando, por ejemplo, PGP (Pretty Good Privacy, Privacidad Bastante Buena), que es un programa utilizado para autentificar (estar seguros de que una persona que envía un mensaje es realmente quien dice ser) y, especialmente, dar privacidad por medio de la criptografía ("esconder" un mensaje para que, en caso de ser interceptado o leído por un tercero, no pueda ser entendido) no sólo en transmisiones en vivo (como lo haría un protocolo como SSL, por ejemplo) sino aún en datos almacenados en algún medio. Sin duda, un juego de gato y ratón en el que prevalece el más astuto o, en ocasiones, el más persistente.

La pregunta es, ¿hasta dónde es importante la confidencialidad? Por supuesto que a ninguno le agrada la idea de que alguien más conozca la información que uno considera privada. ¿Cuántos casos no sabemos de gente que ha leído el correo electrónico de otra persona sin su consentimiento, o ha averiguado cuánto dinero gana consiguiendo acceso a algún reporte de estado de cuenta bancario del afectado? Los gobiernos de algunos países consienten la idea de intervenir en las conversaciones (telefónicas o de correo electrónico, por ejemplo) con la justificante de prevenir algún delito. La respuesta, por supuesto, no es trivial. Sin embargo, es innegable el hecho de que todos tenemos derecho a conservar en secreto aquello que consideramos que no deba ser conocido por los demás pues nos haría vulnerables, a menos que ese secreto ponga en riesgo la vida o la integridad de los demás, en cuyo caso deberíamos ser capaces de descifrar dichos mensajes a tiempo y tomar acciones en consecuencia.

La frontera entre ocultar y conocer es muy sutil, y la legislación muy pobre, pero en mi humilde opinión (IMHO) todo este asunto de conocer o no conocer la información ajena, o de ocultar o no nuestra información se debe resumir en una palabra: respeto.

:wq!

* El enlace original a Carnivore ya no existe en el sitio del FBI, por eso incluí la referencia de archive.org, donde es posible encontrar versiones antiguas de páginas web.

jueves, 22 de noviembre de 2007

¡Felices 100000 años!

Pues llegó el día.

Hoy es mi cumpleaños número 100000 en binario (oigan, en hexadecimal es mucho más atractivo: 0x20). Generalmente no soy muy dado a considerar mi cumpleaños como una fecha muy importante (aunque definitivamente lo es), pero en esta ocasión y por tratarse de un número significativo, estoy haciendo una excepción (¿o debo decir "lanzando una excepción"?, throw new java.lang.Exception();... no, porque una excepción es una condición inesperada en un programa, y en mi caso este cumpleaños sí lo estaba esperando).

Y no es sólo porque 32 sea la cantidad de bits que forman una dirección IPv4, o porque 32 es el código ASCII del carácter espacio, o el tamaño que generalmente reservan en memoria las variables de tipo entero en un programa, o la quinta potencia de dos (2^5), o el punto de congelación del agua (en grados Fahrenheit) al nivel del mar, o porque 32 son las piezas que hay al iniciar un juego de ajedrez, o mejor aún, porque en matemáticas el 32 es el noveno número feliz o el tercer número de Leyland... no, no sólo es por eso, también es porque he dado 32 vueltas alrededor del sol.

Realmente no tengo un comentario tan profundo el día de hoy, sólo quería compartir con ustedes este momento; disculpen tanta simpleza, pero no todos los días se cumplen 100000 años. ;-)

:wq!

viernes, 12 de octubre de 2007

define:googlear

Es increíble como pasa el tiempo. Aún recuerdo cuando era "más joven" y asistía regularmente a las bibliotecas. Cuando era niño me gustaba pasar a la biblioteca cuando salía de la escuela, aunque llegara tarde a la casa. La gente que me conoce sabe que me gusta mucho leer, y leo prácticamente cualquier cosa, siempre y cuando valga la pena. Mi gusto por la lectura es algo así como una necesidad primaria para mi espíritu curioso, y vaya que si algo me disgusta es no saber algo o quedarme con la duda.

Pero muchas cosas han cambiado. Con la entrada de Internet a nuestras vidas, cada vez menos gente acude a las bibliotecas, especialmente desde que se inventaron los motores de búsqueda de WWW (hay otros tipos de buscadores, como Gopher, Archie o Veronica, pero sin duda los más conocidos son los de WWW).

Les puedo asegurar que en la actualidad la gran mayoría de la gente que frecuenta Internet depende de algún buscador. Tengo una hermana que se sorprende de cómo encuentro tan rápido prácticamente cualquier cosa en Internet (esta va para ti, Juli). En particular, yo utilizo Google (por cierto, dicen que es uno de los mejores lugares para trabajar, y no lo dudo), y en esta ocasión quiero compartirles algunos trucos o hacks de Google para que sus búsquedas en WWW sean más provechosas. Por cierto, ¿alguien llegó aquí por una búsqueda en Google? Sería interesante saberlo.

Lo más sencillo de esto es la clásica búsqueda que todo mundo hace, por ejemplo, buscar la palabra Knaverit (que es el seudónimo que uso, por si no lo han notado) encontrará algunas de mis entradas en mis blogs, o la palabra héroes nos traerá, sin duda, enlaces a sitios dedicados a la ya popular serie de televisión (que, por cierto, es de mis favoritas). ¿Pero qué tal si lo que estás buscando algo sobre los héroes en la historia y no quieres ver las páginas de la serie? Bastaría con usar héroes -serie para que, gracias al signo "menos" (-) se excluyan las páginas que contengan la palabra "serie". Claro que es mucho más fácil especificar a qué héroes estás buscando, como héroes grecia o héroes desconocidos, pero ¿y si lo que quieres es realmente comprar el DVD, pero que cueste entre $45 y $50 dólares? (porque con eso de que algunos dicen que si no es caro, no vale la pena) pues muy fácil: usa DVD héroes $45..$50 (los ".." indican un rango de valores), o haz la prueba con algún precio más barato, qué tal entre 10 y 20 dólares... por ahí hubiéramos comenzado, ¿no?.

Para aquellos que desean refinar sus métodos de búsqueda un poco más, les tengo otras sugerencias: ¿necesitas saber qué es un "encabezado"? Puedes usar define:encabezado, y te mostrará las páginas que definen esa palabra; o define:buscador para saber que un buscador es un sitio Web que te ayuda a encontrar otros sitios (o define:googlear, para saber qué quise decir con el título de esta entrada). Por cierto, ¿y si lo que quiero es buscar algo en un solo sitio? (es decir, limitar la búsqueda) Ya ven que a veces esto de buscar se vuelve una tarea titánica, pero es muy fácil con la etiqueta site:, por ejemplo: redes site:romeosanchez-0xCAFE.blogspot.com te mostrará lo que he escrito sobre redes en este weblog, o criptonomicon site:www.gandhi.com.mx te llevará a las opciones de compra del libro que recomendé hace poco, en una conocida librería de México, o incluso algo como blog site:www.eluniversal.com.mx te mostraría las noticias de un periódico referentes al tema "blog", o cualquier otro que se te ocurra.

Muy poca gente sabe que en Google se pueden hacer cosas como las que voy a contar a continuación; por ejemplo, que se puede usar como una calculadora: así, una expresión como 12 * 22 o 15% of 67 pondría el resultado de esa operación aritmética; o si alguien tiene la duda de qué valor en decimal es mi famoso 0xCAFE hexadecimal, puede buscar 0xCAFE to decimal y verá el resultado. Incluso pueden convertir entre unidades, como 100 USD in pesos. Todo eso es chido.

Hay muchos ejemplos más, pero para no cansarlos me limitaré a unos pocos, por ejemplo: related:www.hispasec.com mostraría sitios relacionados con seguridad, o related:www.google.com daría la lista de otros buscadores relacionados (en el sentido funcional) con Google.

Ya por último, debo recordarles que algo como ~poesia buscaría sitios no sólo con la palabra poesía, sino también con sus sinónimos (por ejemplo, literatura), o "Romeo y Julieta" (así, entre comillas) haría una búsqueda exacta del contenido entre comillas, pero... esperen.... esta última búsqueda trae resultados que no me interesan, así que la refinaré un poco: "Romeo y Julieta" -cigars ; sí, así es mucho mejor, porque yo no fumo :-D. También una búsqueda de tipo el * camino (con un asterisco, *) me encontraría sitios con contenidos como el mismo camino, el único camino, el buen camino, el largo camino, etc., porque el asterisco (*) representa cualquier cantidad de palabras, en este caso, entre la preposición "el" y el sustantivo "camino". En fin, es cuestión de experimentar. Se queda de tarea.

Así que ya lo saben. No es ningún secreto. Los motores de búsqueda en Internet son una herramienta indispensable en la actualidad, pero no hay que creerse todo lo que está en Internet, pues no todo es cierto. Pienso que ningún buscador reemplaza la escencia de la consulta bibliográfica y el olor a hojas de libro, pero sí hace mucho más fácil el suplir una necesidad básica del hombre: salir de la duda.

:wq!

miércoles, 10 de octubre de 2007

Entre Objetos, Java, C# y... ¿Sinclair BASIC?

Hace algunos días fui requerido para ir a dar un seminario acerca de cómo desarrollar aplicaciones para Windows en .NET, usando C#. No había tenido oportunidad de usar VisualStudio 2005, pues el último que había usado era el 2003, y me llevé la grata sorpresa de que tiene algunas ventajas con respecto a la versión anterior (ya sé, ya está la nueva versión 2008 en Beta, pero no la he visto, lo siento). Me dediqué unos días a revisar la versión 2005 y debo decir que sí me quedé con buena impresión del IDE.

Durante la presentación les expliqué a los asistentes, a través de una demostración, la manera de desarrollar rápidamente una aplicación sencilla con acceso a datos, con muy poco código qué programar. Es increíble cómo muchas de las cosas que anteriormente nos llevaba horas desarrollar, ahora con las herramientas adecuadas se pueden hacer en cuestión de minutos (ya lo dije anteriormente cuando hablé acerca de NetBeans 5.5). Claro está que nada reemplaza la satisfacción de hacer un programa "desde cero", pero hay proyectos en los que el tiempo apremia (pensándolo bien, en todos los proyectos el tiempo apremia). Todos los asistentes (al menos la mayoría, creo yo) quedaron asombrados de la facilidad de uso del IDE y de cómo en pocos minutos ya teníamos la aplicación terminada (me extendí un poco porque, como ustedes imaginarán, me gusta hablar demasiado).

Días después me llamaron para que diera una clase sobre Programación Orientada a Objetos (OOP) para un grupo de estudiantes de un curso de Java. En la lección expliqué acerca de la relevancia de los lenguajes orientados a objetos (como Java, C++ y C#) y cómo es que el paradigma de orientación a objetos nos ayuda a escribir código mucho más legible, reutilizable y relativamente rápido. Hice un recuento breve acerca de la evolución de los paradigmas de programación y cómo en la actualidad los sistemas emplean el máximo poder de cómputo para lograr cosas cada vez más poderosas. Todos se mostraron interesados, en particular porque algunos nunca habían escuchado (o entendido) acerca de términos como encapsulamiento, herencia y polimorfismo. Fue una mañana muy interesante.

En ambas charlas concluimos lo siguiente: los sistemas actuales cada vez demandan desarrollos de software más robustos en el menor tiempo posible. Tanto Sun Microsystems como Microsoft Microsoft están dando batalla para lograr que los desarrolladores tengan cada vez mejores herramientas que les permitan tener más tiempo libre ;-) (¿por qué no tenía algo así antes?). Lo importante ahora es no depender tanto del uso de las herramientas, y seguir cultivando las mejores prácticas de programación, que corren el riesgo de ser olvidadas por quienes abusan del uso de IDEs o de ser completamente ignoradas o desconocidas.

Creo que independientemente de las tecnologías que pueda llegar a conocer, en el fondo siempre seré un desarrollador de software. Me gusta programar y creo que no lo hago tan mal ;-). Habrá que ver qué es lo que sigue para las siguientes generaciones de herramientas de desarrollo de software.

Como punto final, en la clase de OOP uno de los alumnos confesó haber comenzado a programar con una Timex Sinclair 1000, igual que con la que comencé a programar (esto es demasiado curioso, puesto que no mucha gente que yo conozca usó ese modelo en particular). Es que haciendo un poco más de memoria (cosa difícil para mi), realmente antes de GWBASIC usé el Sinclair BASIC. Para los que estén un poco interesados en la "prehistoria" y quieran saber qué usaba (yo) para programar hace 20 años, en este enlace encontrarán un emulador de Timex Sinclair 1000 hecho en Java.

:wq!

lunes, 24 de septiembre de 2007

Criptoanálisis de sobremesa

Esta tarde me ocurrió algo extraño durante mi tiempo de comida. Últimamente he estado leyendo el libro de Neal Stephenson, "Criptonomicón" (en español se publicó en tres tomos, y estoy por terminar el tercero). Debido a que no dispongo por lo general de mucho tiempo libre, aprovecho mi tiempo de comida para leer un poco (después de comer, por supuesto). Como decía, hoy estaba en un conocido restaurante de hamburguesas y me puse a leer mi libro, justamente en la parte cuando Lawrence Waterhouse estaba rompiendo un código nipón con ayuda del computador que él había inventado, cuando una persona que estaba sentada como a cuatro mesas de mi (perdón, no es que esté inventando una nueva unidad de medida, quise decir a algo así como a 10 metros) me gritó desde su lugar (gritó, porque a esa distancia no podía haberle escuchado de otra manera) y me dijo: "¡oye, te felicito!, ¡ya casi no hay gente que traiga consigo libros y los lea!"; a lo que yo respondí (también gritando): "¡gracias!, ¡siempre procuro hacerlo!". Imagino que en este momento alguien podría estar diciendo que qué tiene que ver este comentario con el weblog. Lo que sucede es que esta persona me preguntó que qué leía. Yo sólo le mostré la portada del libro y dijo: "ah, es sobre criptografía, de los rompedores de código de la Segunda Guerra Mundial". Me sorprendió justamente que una persona x (en el sentido algebraico de identidad desconocida, no peyorativo) conozca sobre el contenido de ese libro, particularmente porque su lectura no es algo tan trivial, pues Stephenson asume cierto conocimiento sobre el tema, aunque en el desarrollo de la historia se ocupa de aclarar muchos puntos e incluso en algunas partes dedica varios párrafos a explicar con detalle algún tema matemático, físico o de cualquier otra índole que requiera una explicación por parte de él (eso es lo que creo que piensa, porque en ocasiones me parece que entra demasiado en ciertos detalles). Volviendo al punto, esta persona y yo "conversamos", él desde su mesa y yo desde la mía, por espacio de unos 5 minutos, acerca de cómo la tecnología que nosotros vemos en la actualidad, en realidad hace tiempo que se ha comenzado a usar (antes de que se "abra al público"). Hablamos de la Guerra Fría, de la Segunda Guerra Mundial, un poco de Internet y hasta de los avances en materia de genética. En fin, una charla interesante y poco ortodoxa, que lamentablemente tuve que interrumpir pues debía volver (yo) a la oficina.

Soy un aficionado al criptoanálisis (y digo aficionado, porque no me dedico a ello de manera profesional, aunque mi trabajo pudiera llegar a requerirlo). En general soy lector asiduo de todo lo que tenga que ver con seguridad de cómputo, cualquiera que sea su faceta: desde el desarrollo de software hasta transmisiones seguras de datos, y no es paranoia. Estoy convencido que la seguridad es lo que regirá el futuro de todo lo que hagamos con los sistemas de cómputo (en realidad no hay que esperar mucho, ya hay bastantes cosas qué ver).

Si les gusta todo el asunto del criptoanálisis, la historia, no tienen problema en leer un libro de 1,500 páginas y tienen un amplio criterio (yo sé por qué se los digo, no se vayan a escandalizar por cierto contenido del libro), les recomiendo leer el "Criptonomicón". Hay muy buenas reseñas acerca del libro, así que no pienso hacer el ridículo dando la mía, tan sólo sepan que estoy enfrascado en su lectura y que espero terminar de leerlo pronto.
Hoy coloqué mi separador en la página donde me quedé, cerré mi libro, me levanté de la mesa, me despedí de mi interlocutor desconocido (x), y me fui pensando en que las cosas que en otro tiempo fueron un misterio, están cada vez más al alcance de las manos de cualquier persona que tenga el valor y el tiempo suficiente para explotarlas.
:wq!

lunes, 4 de junio de 2007

La seguridad en tiempos de Internet

El sábado pasado ofrecí una plática en una Universidad acerca de algunos temas relacionados con la seguridad en Internet. Debo decir que, para satisfacción mía, fue un grupo muy participativo y bastante interesado en los temas tratados. Me llamó mucho la atención una pregunta que alguien me hizo durante la exposición (voy a parafrasearla): "¿quiénes son los responsables de educar a los usuarios de Internet acerca de los temas de seguridad?". La realidad es que en gran parte la responsabilidad es de quienes están involucrados directamente con la información. El problema es que muchas veces, si no es que siempre, damos por hecho que los demás saben exactamente lo que se tiene qué hacer y lo que no; y en temas que se han vuelto tan cotidianos, como es el caso de Internet, esto no es la excepción. La inquietud que revela esta pregunta es muy interesante, pero al mismo tiempo preocupante: no hay mucha divulgación acerca de cómo estar protegidos en Internet, y los peligros aumentan cada vez más.

Pero también la responsabilidad es de quienes tienen conocimiento del tema. Es una cuestión de responsabilidad social. Por ejemplo, si yo sé que alguien está en algún riesgo de cualquier tipo (no necesariamente informático), mi deber es advertirle. En resumen, si alguien sabe acerca de cómo tomar medidas de seguridad al estar en Internet, debería compartirlo con los demás.

Para la plática del sábado preparé una presentación con algunos consejos de seguridad personal que debemos tomar en cuenta cuando se navega o trabaja en Internet. Me pareció que la plática del sábado resultó muy productiva, tanto que decidí comentarlo aquí. Me gustaría compartir algunos puntos sobresalientes de la charla:
  1. Es importante conocer las amenazas a las que estamos expuestos cuando realizamos actividades en Internet.
  2. Tomar acciones preventivas para protegernos de ataques tales como robo de información, suplantación de identidad y manipulación de datos. Para esto, conocer acerca de cómo prevenir el spam, el phishing, virus, worms y spyware, entre otros ataques.
  3. Ser precavido, incluso desconfiado, cuando se trata de proporcionar información personal a través de Internet.
  4. Si es posible, comparta los consejos de seguridad con más gente que lo necesite. Mientras mejor informados estemos, seremos menos vulnerables.
  5. Cuidar a los niños y enseñarles cómo usar de manera segura las herramientas que Internet ofrece.

Si gusta puede bajar la presentación sobre Seguridad en Internet. No hay problema si alguien quiere compartirla; es más, ojalá puedan compartirla para que otras personas tomen nota de los consejos. La verdad es que no es lo mismo leer la presentación que escuchar la exposición y ver las demostraciones en vivo, pero de cualquier forma espero que sea de utilidad la información que contiene.

Espero que estos consejos sean útiles y que hagamos que nuestras experiencias en Internet sean mucho más provechosas. Obviamente no se trata de volvernos paranoicos, pero en la medida en que protejamos la privacidad de nuestra información, viviremos más tranquilos.

Ah, una cosa más: me gustaría leer aquí sus comentarios, especialmente si asistió a la plática del sábado. Por favor, hágame saber su opinión.

:wq!

jueves, 24 de mayo de 2007

Sun Tech Days 2007 y NetBeans

La semana pasada (del 16 al 18 de mayo) estuve en la Ciudad de México en los "Sun Tech Days 2006-2007 - A World Wide Developer Conference", que es el ciclo de conferencias que organiza Sun Microsystems durante el año en todo el mundo para dar a conocer las últimas novedades y evangelizar a todos aquellos que no han tenido la oportunidad de experimentar la tecnología de Sun, y que en México es la quinta vez que se realiza (sólo me he perdido dos). Debo admitir que me hubiera gustado más haber estado en el JavaOne 2007 en San Francisco, CA, pero no se pudo. Aún no pierdo la esperanza, tal vez el 2008 se pueda (cualquier patrocinador es bienvenido).

Seguramente algunos de ustedes saben que soy un fiel seguidor y promotor de la tecnologías de Sun Microsystems, sin embargo quiero ser lo más objetivo posible en esta narración. Todas las conferencias en general cumplieron mis expectativas, aunque obviamente hay cosas que pueden mejorar en la organización. No quiero extenderme mucho, así que sólo hablaré de un tema en particular: el nuevo NetBeans 5.5.

Como ya habrán leído anteriormente en mi entrada "¿IDE o no IDE?", en mi experiencia profesional casi no he utilizado herramientas para desarrollo de aplicaciones y prácticamente todo el tiempo programo tecleando todas las líneas, sin ayuda de cosas como el autocompletar o las sugerencias de código. Sin embargo, después de atender a las demostraciones del nuevo NetBeans 5.5 he cambiado mi opinión respecto al uso de los IDEs. Me impresionó la facilidad y rapidez con la que las aplicaciones Java para web y para dispositivos móviles se pueden desarrollar usando NetBeans. Mi sugerencia sigue siendo la misma: usa algún IDE con el que te sientas bien, pero definitivamente después de todo lo que vi de NetBeans me he decidido a instalarlo (ya lo hice) y a usarlo regularmente. Tengo especial interés en retomar el desarrollo de aplicaciones para móviles, que dejé hace ya algún tiempo, justo después de haber obtenido la certificación como SCMAD (Sun Certified MAD... :D, o sea Sun Certified Mobile Application Developer). También el desarrollo de Web Services y aplicaciones usando Java Server Faces (JSF) y AJAX es extremadamente fácil con NetBeans, se los recomiendo.

Otra de las características que se agradecen del nuevo NetBeans son los Add-ons (Mobility Pack y Visual Web Pack son sólo unos ejemplos). Hay uno en particular que consideron muy útil: el Profiler, que se puede usar para monitorear en tiempo real el uso de memoria de una aplicación, los objetos que crea, el tiempo que permanecen en memoria, etc. Sin duda algo muy útil para gente interesada en mejorar el desempeño de sus aplicaciones (como yo). En este particular, hubo una sesión muy padre referente a desempeño, dada por Jorge Vargas que me pareció bastante interesante, especialmente porque los chavos que lo dieron son mexicanos y sin duda conocen muy bien de lo que están hablando. Las conferencias que no podía perderme eran las de Sang Shin acerca de Web Services (que tiene una serie de cursos en linea sobre Java EE y ¡gratis!, en su sitio javapassion) y las de Carol McDonald sobre Java EE. Este año faltó Ángela Caicedo, pero Fabiola Gallegos (de Sun, Czech Republic) hizo una excelente demostración en vivo de Java ME y a todos nos apantalló (incluyéndome, ¿cómo ven?).

Por lo demás todo transcurrió muy bien, salvo los linuxeros que nunca faltan y que casi siempre van a este tipo de eventos a cuestionar los términos de licenciamiento y otras cosas por el estilo. También sufrí mucho (y no fui el único) cuando le tocó hablar al chino... en definitiva el inglés y el chino no combinan. Me llamó la atención que una gran mayoría de los asistentes eran muchachos universitarios, y eso es buena señal, pues las universidades ahora están tomando más en serio el papel de involucrar a los estudiantes con el mundo real, y este tipo de eventos en realidad son invaluables desde el punto de vista académico. Por cierto, si alguien requiere alguna conferencia sobre Java en su Universidad o en algún otro lugar, pueden ponerse en contacto conmigo.

Hay mucho qué contar, pero por lo pronto lo dejaré hasta aquí. Si pueden bajen el NetBeans y comprueben lo que les he dicho. Posiblemente en alguna entrada futura agregue algún tutorial o aplicación demo, para quienes estén interesados en desarrollar aplicaciones Java, e incluso tal vez inicie un blog sólo para eso... no sé, luego les aviso.

:wq!