Archivo para September, 2007

Sat
Sep
29

Comentario sexta conferencia RTE


Java Duke With HelmetHoy asistimos a la sexta conferencia de la RTE.

Opino que fue una de las mejores charlas que se han hecho hasta el momento. Se dieron los conceptos de forma bien clara y entendible y luego ejemplos super prácticos. El primero en hablar fue Francisco Villegas, que habló sobre J2ME, que según la web de Sun se define así:

Java Platform, Micro Edition (Java ME) provee un ambiente robusto y flexible para aplicaciones ejecutadas en dispositivos móviles y otros dispositivos embebidos, teléfonos móviles, PDAs, Televisores e impresoras. Java ME incluye interfases de usuario flexibles, seguridad robusta, protocolos de red incluidos, y soporte para aplicaciones en red y offline que pueden ser descargadas dinámicamente. Las aplicaciones basadas en Java ME son portables a través de muchos dispositivos, y a la vez saca provecho de las capacidades nativas de cada dispositivo.

(http://java.sun.com/javame/index.jsp)

En resúmen, es una de las plataformas más populares para programas en celular y demás dispositivos móviles. La mayoría de los celulares nuevos traen Java, y la mayoría de los juegos para celular están hechos en ésta plataforma.
Obviamente es una plataforma bastante reducida respecto a JSE o JEE, según mencionó Francisco, hay que manejarse con unas 37 clases.

Mostró un ejemplo usando NetBeans Mobility Pack, y la verdad que resultó bastante sencillo. No sé si es que uno le va agarrando la mano a esto de la programación, o qué, pero realmente me dieron ganas de probar programar para celular porque es bastante fácil y rápido.

Entraría más en detalle sobretodo en cuanto a conceptos, pero probablemente en unos días se suba el material de la charla a internet, así que de ahí se va a poder ver más. Y capaz que Francisco publica algo en su blog: http://cronos.homelinux.net/
Más info sobre J2ME:
http://en.wikipedia.org/wiki/Java_ME
http://www.onjava.com/pub/a/onjava/2001/03/08/J2ME.html

El segundo tema, también orientado a Java, fue JPA - Java Persistance Api, dictado por Leandro Scasso Díaz. Es un framework de persistencia para Java, para persistir datos en bases relacionales mapeando directamente los objetos. Es una tecnología bastante joven, pero que viene bastante bien, y según el orador “Para donde tiran las balas” ahora.

Introdujo un concepto que los programadores sufren mucho, pero no sabía que tenía su propio nombre: el “Impedance Mismatch“. El paradigma de orientación a objetos está basado en principios de ingeniería de software probados. Y el paradigma relacional en principios matemáticos. En un sistema donde ambos paradigmas deben trabajar juntos, salta el problema. Personalmente me pasa a veces en el diseño, que tengo más facilidad de diseñar un sistema en diagrama de clases con objetos, pero cuando paso al diseño de la base, me resulta más complicado. Así y todo, creo que ya le agarré la mano.
El Impendance Mismatch está bastante estudiado en la red, pueden visitar éstos enlaces para saber más:
http://en.wikipedia.org/wiki/Object-Relational_impedance_mismatch
http://www.agiledata.org/essays/impedanceMismatch.html

Siguiendo con el API de persistencia de Java, consiste en las especificaciones, y después varias empresas crearon sus propias implementaciones como Eclipse y Apache, por nombrar las que me acuerdo.
La verdad que es bastante sencillo y también portable. En el ejemplo práctico que se mostró, pasar de un motor de base de datos a otro tomó segundos, cambiando el código de un archivo XML con los datos de la persistencia.
Obviamente debe traer nuevos dolores de cabeza, pero facilita bastante el trabajo, ya que hace transparente la persistencia de datos.
Como dije respecto al tema de Francisco, cuando esté el material disponible se podrá extender el tema, pero por más información:
http://java.sun.com/javaee/overview/faq/persistence.jsp
http://en.wikipedia.org/wiki/Java_Persistence_API

Leandro también comentó sobre el JAVAUY 2007 que se va a llevar a cabo el próximo 10 y 11 de octubre, y va a ser presentado un proyecto en el que estuvo trabajando.
Entre esto, el JAVAUY 07 y la próxima charla de la RTE (con invitados del JUGUY), octubre es de Java


Java Powered

Enviar a Teknear! Agregar esta página a Mister Wong
Fri
Sep
28

Frase del día


Viernes, se acerca el fin de semana y dejo una frase filosófica que estuve preparando por meses:

“Programar es divertido”

-Fernando Briano

Enviar a Teknear! Agregar esta página a Mister Wong
Fri
Sep
28

Inscripciones abiertas para Javauy07


JAVAUY 07

Están abiertas las inscripciones para el Javauy07 Te podés inscribir ahora aquí o en el propio lugar del evento.

En éste link pueden ver algunos de los laboratorios guiados (hands on lab) y conferencias que se van a dar.
Entre los hands on lab están JSF & Rich Faces, y una introducción a JPA. Ambos con una presentación general y una implementación guiada de un ejemplo sencillo que utilice todo lo visto (EXCELENTE…).

Entre las conferencias hay temas muy interesantes por ejemplo ZFS y Solaris Virtualization, Historias de Desarrollos, Métodos ágiles, varias orientadas a tecnologías JEE, Introducción a Groovy, Licenciamiento de Software y otras obras con Derechos de Autor y unas cuantas más. Visiten el link más arriba para verlas. Espero poder ir, porque la verdad que mirando las sesiones, seguro que va a estar increíble!

El evento cuenta con el apoyo de IBM Uruguay, Sun MicroSystems, Tata Consultancy Services y el UYLUG, entre otros.

Están todos invitados:

JavaUY ‘07: miércoles 10 y jueves 11 de octubre de 2007

Ubicación
Knowledge Development Center
Avda Italia 6201 (LATU)
Montevideo, Uruguay

Líneas de ómnibus: 10, 21. 64, 221, 468, … Todos los interdepartamentales por avenida Italia.

Enviar a Teknear! Agregar esta página a Mister Wong
Thu
Sep
27

Cómo hacer tu currículum de programador para conseguir trabajo con código abierto


Leí hoy en el blog de Tristan Rhodes, The Open Source Advocate un post bastante interesante para quienes empiezan su carrera como programadores o desarrolladores: “So you want to be a software developer”.
Es un muy buen consejo para estudiantes que ya deben pensar en cómo van a seguir comenzar su carrera.

Empieza planteando la siguiente pregunta: ¿cómo planeas ser contratado por una empresa de software a pesar del hecho de no tener experiencia en el mundo real?
Porque si bien estudiando se aprende mucho, una vez que se entra a trabajar, la cosa cambia, y mucho.

En mi caso, tuve la suerte de conseguir un trabajo en una empresa local como desarrollador, mientras estudio. Pero generalmente esto se hace muy difícil debido a la falta de experiencia. A pesar de esto, las empresas locales son bastante conscientes de la situación, ya que ellos mismo estuvieron ahí. De todas formas, cuanto mejor preparados estemos, mejor.

Él cuenta la estrategia tradicional: conseguir una pasantía, que te da un trabajo de medio tiempo y experiencia en el mundo real, lo que te hará “empleable” cuando te recibas.
Pero suponiendo que no hay pasantías, o no hay trabajos, propone que te involucres en el desarrollo de un proyecto de código abierto. Un proyecto que te interese, y use el lenguaje de programación con el cual te gustaría trabajar.
Como describe él:

“No hay entrevista o aplicación de trabajo, simplemente comienzas a mirar el código y ver dónde puedes ayudar. El equipo de desarrollo te proveerá direcciones y animará tus esfuerzos. Qué buena forma de mejorar tu habilidades de programación!”.

Ésta es una ventaja muy grande. Podemos empezar a trabajar directamente en algo que ya ha sido creado, o incluso crear algo nuevo con ayuda de otros programadores.

Si eres bueno programando, existe la posibilidad de que un proyecto en el que te involucres u otro que vea tu trabajo, te contraten para trabajar a tiempo completo con ellos.

El post nombra dos casos reales de miembros de la comunidad que fueron contratados por el proyecto en el que trabajaban. El primero es Terry Wilson contratado para el equipo de Asterisk, por estar involucrado y aportar a su desarrollo en partes importantes del proyecto. Y el segundo es Søren Hansen, un danés de 26 años contratado por Canonical para el equipo de desarrollo del servidor Ubuntu tras haber estado involucrado en varios proyectos de software libre como Linux, GAIM (ahora Pidgin) y Apache.
Como ventaja adicional agrega que trabajar en software de código abierto implica que estás mejorando software que puede ser usado por cualquiera.

Agregaría que estar involucrado realmente en un proyecto de código abierto, también nos puede servir para tener algo de experiencia en nuestro currículo. Supongamos que recién nos recibimos de analista. Los únicos trabajos que hemos hecho son aquellos que tuvimos pautados en la carrera. Va a ser más difícil conseguir trabajo que si además del título, tenemos uno o dos trabajos terminados, que nos dieron la experiencia de trabajar, buscar soluciones que no conocíamos, y otras tantas más que se viven cuando uno empieza a trabajar de ésto.

También agregaría la posibilidad de que inicies un proyecto y te hagas millonario de un día para el otro. Puede pasar! Y generalmente, es así

En lo personal, además del curso y el trabajo, estoy haciendo un par de páginas web para clientes, un proyecto en SourceForge y unas cuantas ideas de desarrollos a futuro que pienso realizar a largo plazo.

Además, hay que tratar de asistir a convenciones, tech days, conferencias y demás, que de una forma u otra nos dan conocimientos, perspectivas, opiniones y demás información que siempre viene bien.

¿Qué otra forma se te ocurre para preparar tu currículo de programador para el mercado laboral? ¿Estás involucrado en algún proyecto de software? Comentarios…

empleo empleo.org

Enviar a Teknear! Agregar esta página a Mister Wong
Wed
Sep
26

En clase de base de datos…


DM dice que no vale la pena ni postear hoy.

La clase es tan deprimente... Las computadoras del CEI se caen a pedazos. Es como programar con una máquina de escribir conectada a un televisor en blanco y negro. Escribo un renglón de letras, y a los tres segundos que terminé de escribir, aparecen las letras en la pantalla. Ni hablar cuando cambio de pestañas en el Firefox...

Mañana algo más divertido o útil en clase de Flash. Capaz que hasta subo algún dibujito / animación.

En cuanto a base de datos, estamos viendo procedimientos almacenados, y ahora empezamos con Triggers (desencadenadores).

SQL:
  1. CREATE TRIGGER nombre_del_trigger
  2. ON nombre_de_tabla [ó vista] FOR operacion1, operacion2
  3. [INSERT, UPDATE, DELETE] AS
  4.  
  5. Sentencias que queremos que se ejecuten

Hoy a trabajar en las páginas web e instalar programas en VirtualBox.

DM va a estar toda la noche metiéndole cosas a su nuevo servidor NAS 200 de linksys:
NAS 200
Me prometió un review para antes del viernes, así que queda acá posteado como evidencia, antes del viernes posteo un review del nuevo servidor de Network-Attached Storage.

DM: "Esto fue el post de hoy para Picando Código, espero que les haya gustado... chau."

Enviar a Teknear! Agregar esta página a Mister Wong
Tue
Sep
25

20 cosas que aprendí de jugar al NES


NintendoLa poderosa colaboración entre dos geeks que no tenían nada mejor que hacer!

  • No te olvides de estirar. Un pulgar acalambrado y estás terminado.
  • Trae tu propio control.
  • Los controles en el sillón llevan a tropezarse con cables, que lleva a equipos volando por el cuarto. Esto sólo apesta cuando vas ganando.
  • Nada de líquidos cerca del NES. Ésto también incluye alimentos pegajosos, que salpiquen o hagan migas.
  • Mover frenéticamente el control del NES. El Wii original.
  • La Pizza es importante, pero siempre limpia tus manos. Tu juego puede sufrir de pulgares resbaladizos.
  • Cuanto peor juegas, menos juegas. Los mejores jugadores dan un mejor espectáculo para los demás.
  • Si perdés, no llores. Con lastima no vas a lograr que los demás te dejen ganar. Además a nadie le gusta un mal perdedor.
  • Si ganas, tienes que dar revancha. Éstas son las reglas, y permite más humillación más adelante.
  • Ante la duda, saltea un nivel.
  • Todo se vale en la guerra. No te equivoques, estás en guerra.
  • Los trucos están fuera de las reglas. Si haces trampa, apestas.
  • "arriba, arriba, abajo, abajo, izquierda, derecha, izquierda, derecha, b, a, select, start." No pretendas que no lo entiendes.
  • Nadie le gana a Tyson, pero aún así es divertido verte caer.
  • Midi rocks!
  • El juego no ha terminado mientras hayan al menos 2 jugadores despiertos.
  • Si sos el último jugador despierto, siempre va a haber un Super Mario cerca.
  • Es peligroso ir solo. Trae Mt Dew!
  • Los callos son los únicos y verdaderos Power Glove
  • 8 bits son todo lo que necesitas.

Escrito en colaboración con Kludge de Kludge Spot.
En inglés: 20 Things I Learned From NES Gaming
Publicado bajo licencia Creative Commons.

Enviar a Teknear! Agregar esta página a Mister Wong
Tue
Sep
25

La invasión de los geeks…


Con el post de "20 síntomas de que podrías ser un Geek" llegó mucha gente nueva al blog. Sobretodo, de esos que se denominan "geek". Según la wikipedia, el término significa:

Un geek (del inglés geek, pronunciado /gi-k/) es una persona con una gran fascinación por la tecnología e informática, abarcando los diferentes tipos de geek desde un nivel de fascinación normal hasta niveles obsesivos. Se describe más como un estilo de vida y una forma de ser que como una afición concreta por algo poco habitual.

Su objetivo es hacer o utilizar tecnología por diversión y/o por el reconocimiento, casi siempre por el simple placer de hacerlo.

La verdad que me sobrepasó la cantidad de sitios que linkearon al artículo, así que escribo este post para agradecerles a todos por igual, y darles la bienvenida al blog. Espero que disfruten de los demás contenidos y comenten donde les parezca.

El sitio que más visitas ha mandado para acá es Microsiervos, en el post: 20 síntomas geek
Donde también lo relacionaron con "Los geeks dominarán al mundo" de Enrique Dans, un blog bastante conocido.

Enviar a Teknear! Agregar esta página a Mister Wong

My Amazon.com Wish List

Debian Counter

Mi cuenta en Twitter
Feed RSS (completo)
Mis videos en YouTube
Technorati
Mi contenido en KDE-Look


LinkLift