Buscar
Social
Ofertas laborales ES
jueves
mar222007

javaHispano no está solo en el mundo Java hispano

javaHispano es la comunidad más grande de usuarios hispanos de Java. Pero no somos los únicos y nunca hemos pretendido serlo. Por ahí hay muchos otros portales hispanos interesantes relacionados con Java. Algunos tratan de ser generales como nosotros; otros se centran en un nicho más específico.



Nosotros no creemos que ellos sean un enemigo a vencer ni nada por el estilo; todo lo contrario, siempre que sea posible nos gustaría colaborar con ellos para fomentar el uso de las tecnologías Java dentro de la comunidad hispana y, cuando nos ha sido posible, hemos ayudado a alguna de estas comunidades. Ese es el motivo de esta noticia: hacer que la gente se dé cuenta de la existencia de éstos recursos y participe también en las comunidades de estos otros portales si lo consideran adecuado.



A continuación os dejo una lista con otros recursos Java hispanos que yo conozco. Indudablemente, la lista va a ser incompleta y por ello pido disculpas por adelantado a todos aquellos que deje fuera. No obstante, animo a todos los lectores a que completen esta noticia con enlaces en sus comentarios.



jueves
mar222007

Anti-patrones en aplicaciones Ajax

En Developerworks han publicado un artículo donde se recogen cinco anti-patrones comunes en aplicaciones Ajax: emplear timers para indicarle a la página que vuelva a invocar una cierta función al cabo de un periodo de tiempo; no inspeccionar los valores de retorno de las callback; pasar XML complejo donde HTML hubiese hecho el trabajo igualmente; pasar XML cuando lo que deberías enviar es JavaScript; y hacer cálculos en el servidor que se podrían hacer en el cliente.



¿Conocéis otros anti-patrones comunes en aplicaciones Ajax?
jueves
mar222007

Versión 1.0 de la especificación Service Component Architecture

La organización Osoa,formada por 18 vendedores de soluciones empresariales, ha liberado la primera versión de la especificación SCA (Service Component Architecture ). Osoa no es un cuerpo oficial de estándares, aunque pretende crear estándares de facto. La especificación SCA pretende definir una arquitectura orientada a servicios en la cual se integran componentes escritos en cualquier lenguaje de programación; un objetivo bastante ambicioso.


¿Alguno de vosotros está familiarizado con este especificación? ¿nos comentáis vuestra opinión?
miércoles
mar212007

Respondiendo dudas sobre la JavaCup y versión 1.2 beta del software

El concurso JavaCup está teniendo una excepcional acogida y estamos recibiendo una gran cantidad de realimentación e información sobre nuevas características a incorporar al software o recomendaciones de modificaciones del comportamiento actual del software para que los partidos sean más realistas y más interesantes. La mayor parte de esta realimentación llega a a través del foro de la JavaCup 2007, cuyos participantes sin duda están contribuyendo a mejorar este concurso.



Algunas de estas modificaciones no va a ser posible incorporarlas en este concurso. Sin embargo, otras hemos decidido que si es conveniente incorporarlas ya que dejaban agujeros abiertos para que algunos participantes creasen tácticas "poco ortodoxas" que podían ganar partidos mediante comportamientos no deseables o situaciones frontera del software de la JavaCup y no mediante el empleo de una táctica elaborada y bien diseñada. Para evitar que el concurso acabe en manos de aquéllos que en vez de crear tácticas sofisticadas decidan buscar agujeros en el software hemos decidido publicar una nueva versión del software, que por lo de ahora todavía está en "beta" en espera de realimentación de la comunidad para darle el visto bueno y convertirse en la versión definitiva.



Los cambios no son radicales ni mucho menos; todas las tácticas van a seguir funcionando sin ningún problema si bien es posible que sea necesario modificar la fuerza de los jugadores (ver punto tres más abajo). Pero el software es básicamente el mismo simplemente se ha cerrado algunos agujeros para evitar tácticas poco ortodoxas.



Sabemos que puede resultar confuso el hecho de que estemos sacando nuevas versiones continuamente. Por eso mismo hemos sacado esta por lo de ahora como beta para evitar que aquellos que no lo deseen hagan más cambios de lo estrictamente necesario. En cualquier caso, hacemos énfasis en que los cambios se orientan a evitar tácticas no ortodoxas y, por tanto, las tácticas que hayáis desarrollado hasta ahora y que se comporten de modo adecuado en la gran mayoría de los casos se comportarán exactamente del mismo modo sin ningún cambio en la nueva versión del software. Por otro lado, siempre hemos considerado que javaHispano es un sitio de y para la comunidad, y la comunidad de un modo claro a través del foro de la JavaCup 2007 nos pedía estas modificaciones en el software.



A lo largo de esta semana publicaremos una versión definitiva que (salvo necesidad mayor) no se modificará más. Cuando publiquemos esa versión también abriremos el plazo para el envío de tácticas (que en teoría debía haber comenzado el día 15 pero que hemos retrasado por causa de estas nuevas versiones).




Descargar aquí la versión 1.2 beta del sofware de la JavaCup 2007


Descargar aquí los vídeos de la JavaCup 2007





Por último, os dejamos unas líneas escritas por Jorge Rubira explicando qué cambios contiene la versión 1.2 beta del software y aclarando algunas dudas que han surgido con frecuencia en el foro. Si alguien considera que se debería solucionar un problema más en el software que lo proponga en el foro de la JavaCup 2007.





Consideraciones al realizar tu estrategia



Durante el periodo de testeo del framework en el foro de javacup se han valorado diferentes cuestiones sobre el framework que se explican a continuación y se comentan algunas más:



  1. La pelota traspasa a los jugadores si va muy fuerte.

    Es necesario que en las reglas no se diseñen tácticas que sean inmunes. Crear jugadores que siempre golpean la pelota puede permitir crear ?muros humanos? y comportamientos como tapar completamente la portería o rodear la bola entre varios jugadores.



  2. El portero tampoco puede parar la pelota si va muy fuerte.

    Permitir esta posibilidad es permitir que si un equipo va ganando, en la estrategia se ponga el portero encima de la bola y que está no pueda salir lo que produciría un equipo inmune.



  3. Se ha reducido la fuerza de los jugadores a rango [4-7].

    Si estabas realizando una estrategia que utilizaba valores fuera de ese rango sería necesario que la revisases tu estrategia ya que esos valores permitían equipos invencibles.



  4. Se ha reducido la velocidad de lanzamiento de la bola.

    Este ajuste ha sido necesario para evitar estrategias que deseen usar un factor aleatorio tan alto. En el juego existen factores de aleatoriedad o probabilidad pero que simplemente deben de servir para resolver una situación de neutralidad o de crear pequeñas imprecisiones para que no se repita la misma jugada una y otra vez y así comprobar el grado de adaptación de las estrategias a diferentes situaciones.



  5. El sistema antibloqueo solo se lanzará si en los últimos cinco golpes lo tocan jugadores de ambos equipos.

    Se ha mejorado el sistema antibloqueo para que no lance tanto la pelota. Si compruebas que tu táctica se queda bloqueada revisala ya que estás haciendo algo mal. Si tus jugadores quedan bloqueados, la única forma de salir del desbloqueo es que un jugador contrario le dé un golpe a la pelota.



  6. Se ha modificado el factor de aleatoriedad en los tiros o pases.

    En la versión 1.1 el factor aleatorio se media en pixeles [-20,20]. Sin embargo, en la versión 1.2 se ha sustituido en angulo de la trayectorio [-Math.PI/10, Math.PI/10]. Utilizar los pixeles como valor de imprecision podía dar la oportudidad de calcular un punto más lejano pero en el mismo angulo lo que producirían pases 100% perfectos. Este cambio puede afectar a las estrategias ya que los tiros más largos tendrán más imprecisión.



  7. Los pases se hacen solo con la misma fuerza del jugador.

    El jugador tiene una fuerza N que se utiliza esta para realizar todos sus tiros y pases. Así que si realizas un pase comprueba que esté a la distancia oportuna.



  8. Que pasará en caso de empate.

    En la versión 1.1 se obtenia al azar. Para que fuese más un resultado más justo se ha modificado para que gane el equipo que más alejada ha tenido la pelota de su portería. En la parte inferior de la imagen podeis ver una barra con este valor.



  9. Prioridad para golpear la bola en el caso que dos jugadores estén en la misma posición.

    En la versión 1.1 iban alternando entre los equipos. En la version 1.2 el orden es aleatorio. De esta forma si un equipo tiene dos jugadores en un punto y el otro equipo tiene solo un jugador, el primer equipo tiene más probabilidad de golpear la bola. Esto resulta ideal para cubrir a delanteros peligrosos. Si crees que un delantero te está marcando muchos goles cubrelo con más jugadores para que tenga menos probabilidad de meter gol.



  10. Si sabes, guarda estadisticas.

    Constantemente se envian posiciones de los jugadores y la bola. Para hacer una buena estrategia puedes guardar información estadistica del comportamiento del juego para cambiar el comportamiento en tu táctica. Por ejemplo, que jugador del contrario es el más utilizado, por donde pasa más la pelota, cuanto tiempo falta (realizando una variable que incremente), obtener el marcador utilizando variables y evaluando cuando la bola cambia bruscamente de un lado del campo al centro, etc



  11. Se puede modificar el método getXInicial, getYInicial.

    Estos métodos sirven para poner la posición inicial al sacar del centro. Si haces esto, hay que considerar que para no complicar las tácticas sencillas, getXInicial utiliza los rangos [-160, 160]. -160 sería el punto X de tu porteria y 160 sería el punto X del centro del campo.



  12. ¿Quien saca del centro del campo?.

    Saca del centro del campo el jugador 11 del equipo que ha recibido el gol y ningún otro jugador puede permanecer en el circulo central.



  13. Utilización de APIs externas.

    Según algunos comentarios en los foros, nos ha parecido muy interesante la idea de utilizar APIs externas. Sin embargo, por medidas de seguridad y de trabajo, no podemos recibir cualquier tipo de API. En el caso de usar APIs externas, no aceptamos código que no sea visible ni escrito en otro lenguaje que no sea Java. Se deberá enviar comprimido en un fichero tanto los fuentes de tu estrategia, como los fuentes del API externa para que nosotros lo podamos compilar y ejecutar. Estas APIs no deben tener ni utilizar clases que permitan acceder al disco duro como por ejemplo usar File. Antes de enviarlo comprueba que no aparece el texto File o textos de clases que sirvan para acceder al disco duro tanto en código que se pueda ejecutar como en los comentarios. En caso contrario el tester marcará la táctica como no valida. Además, el APIs debe ser de licencia compatible con GPL para poder publicarlo.



  14. Se rechazarán tácticas que impidan el curso normal del torneo.

    Todas las tácticas que puedan generar bucles infinitos, que los calculos sean tan lentos que retrasen el torneo, que accedan al disco duro o que intenten gastar todos los recursos del ordenador como por ejemplo la memoria, serán rechazadas en la fase de test. En ese caso el participante, podrá rehacer su táctica y volverla a enviar.





Finalmente, me despido agradeciendo a todas las personas que habeis participado en el foro javacup y testeado la aplicación. Que gane el mejor ;)



Cordiales saludos a todos:

Jorge Rubira



-------------------

Os recordamos que el concurso está organizado por la revista Sólo Programadores y la organización sin ánimo de lucro javaHispano. El concurso está abierto a la participación de todos los hispanos, bien residan en México, Centroamérica, Sudamérica o en España y está patrocinado por Sun Microsystems y por Andago. El ganador del concurso recibirá una workstation Ultra 20 valorada en unos 1000 euros y una suscripción anual a la revista Sólo Programadores. El concursante que quede en segundo lugar recibirá un ipod y una suscripción anual a la revista Sólo Programadores. El primer premio del concurso está patrocinado por Sun Microsystems y el segundo por Andago.
martes
mar202007

Tellme comprado por Microsoft

A través del blog de Enrique Ortiz me he enterado de la operación de compra por parte de Microsoft de la empresa Tellme, de la que ya hablamos aquí en enero como posible killer app para los móviles en el año 2007.


Parece ser que la guerra entre buscadores se desplaza hacia el mercado móvil. ¿Llegaremos alguna vez en España a tener una conexión a Internet lo suficientemente barata como para que se pueda innovar en el desarrollo de aplicaciones móviles?