« julio 2009
lunmarmiéjueviesábdom
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Hoy

Publicidad

Creative Commons License 2.0

Technorati Profile

Links

RSS

Blog::Menu

Main | Next page »
miércoles may 13, 2009

Pobre Rendimiento de AXIS

La mayoria utilizamos bien a traves de Sun o directamente el API AXIS, no obstante el rendimiento del mismo es bastante mejorable.

Encontramos proyectos como http://vijava.sourceforge.net/ que nos prometen mejoras impresionates.

4 veces en serializacion/deserializacion.
15 veces en carga de clases.

Creo que una libreria tan utilizada deberia cuidarse un poco mas, pero hemos visto casos similares con Hash ..

Internamente utiliza dom4j que es mas rapido que el api de DOM.

Si necesitais un poco mas de velocidad no dudeis en probarlo, igual merece la pena mejorar la arquitectura en vez de limar en la parte de negocio.

Ajax Swing : conversion automatica de aplicaciones Swing a Ajax

Cuando vi este producto me parecio muy interesante, ya que permitia poner en AJAX aplicaciones, desarrolladas y depuradas en Swing, en vez de reescribirlas. El time-to-market podia ser pequeño y se ahorraria mucho en pruebas.

Una vez lo instale y probe, me di cuenta que no estaba conseguido del todo, que era muy lenta y que la idea era buena pero la implementacion mala.

No conozco ningun producto que haga algo igual, por tanto espero que las nuevas versiones sean mas eficientes e implementen el 100 % de la funcionalidad.

http://www.creamtec.com/products/ajaxswing/
http://www.theserverside.com/news/thread.tss?thread_id=48017

domingo ene 18, 2009

Plug and Play, el futuro

Hace algunos años cuando apple, utilizaba dispositivos plug and play, desde el mundo PC veniamos con envidia esa facilidad.

Actualmente, mas que el concepto plug and play, que se puede dar con diferentes conectores, pmcia, fireware ... Lo que realmente es impactante es el uso de USB.

Posiblemente en el futuro la conexion de estos dispositivos sera Wifi o bluetooth, pero poruqe utilizar el concepto plug and play solo para dispositivos lentos o de almacenamiento secundario.

Pero la industria no ha planteado la utilizacion de un sistema similar al usb para CPUS, GPUS, memoria RAM, ...

Los sistemas operativos estan preparados para trabajar con mas CPUS y memoria, solo hay que buscar la manera en que podamos añadir en caliente las CPUs y memoria y que el sistema se de cuenta.

Desde el punto de vista del sistema operativo y del software, seria posible trabajar con mas cpus y memoria pero hay problemas desde el punto de vista del ancho de banda necesario para enlazar los dispositivos rapidos, sobre todo si tenemos en cuenta que los Ghz crecen y el ancho de banda de las mismas se duplica año a año.

El dia que esto sea posible, iremos todos con un usb o como se llame lleno de teras de ram y con cpus a Ghz de velocidad. Cuando necesitemos mas potencia haremos plug en nuestro sistema y obtendremos mas procesamiento y cpu.

Ahora lo que hacemos algo parecido cuando necesitamos disco duro, una impresora, un escaner, un lector de tarjetas una tdt.

El futuro del plug and play esta en que podamos hacerlo con los dispositivos de almacenamiento primario.

viernes ene 02, 2009

Carga de clases, classloader y un error raro

Solemos pensar que una vez el classloader carga una clase esta nunca se descarga pero,

hay dos casos en los que si el GC necesita memoria, no descarga una clase que ya esta en memoria:

Si hay una clase instanciada el GC nunca la recoleta.
Si tienes una referencia a un objeto clase dentro de un ClassLoader tampoco.

Desde verano llevo buscando un raro error que se produce cuando una propiedad que esta siempre como true aunque por defecto es false, esta con valor false.

Se producia aleatoriamente sobre todo cuando llevaba bastante tiempo trabajando y con un proceso que generaba 200 000 objetos nuevos.

Imaginarse una clase static ejem que tiene un metodo load que carga un properties, se pone la llamada al load en un init de un servlet, luego en un jsp utiliza clase sejem static que contiene un atributo static que se inicializa accediendo al properties cargado en el servlet.

Esto funciona, pero imaginarse que hace falta memoria y al ser clases con todos los metodos y atributos static, son candidatas a descargarlas. En este caso la clase sejem cojera el valor false, con lo que se producira el error que buscaba.

En este caso la clase ejem, no la podia tocar al ser de otros desarrolladores, una solucion ha sido en la clase sejem creame un objeto static asejem y añadir un constructor que hace lo mismo que el init.

De esta forma me aseguro que la clase sejem nunca se va descargar, y que la propiedad siempre la va a coger con la clase ejem cargada.

Como veis un error raro pero que se puede dar en nuestro uso de servlet y clases static.

miércoles dic 17, 2008

Comprimiendo WebServices con AXIS

Uno de los puntos que veia flojos a los WebServices era que el ancho de banda necesario para los mismos era bastante elevado y que aunque los navegadores eran capaces de recibir contenido comprimido los webservices no.

Buscando un poco he encontrado documentacion en AXIS que demuestra lo contrario, es posible enviar y recibir comprimida a un webservice utilizando AXIS, tendre que probarlo.

viernes dic 12, 2008

JASMIN Ensamblador de Java

Revisando una pagina sobre lenguajes en la plataforma java he encontrado un assambler para java y me ha gustado el concepto y lo limpio que queda, sobre todo si vengo desde otro lenguaje, pero no le veo utilidad.

Si tengo que compilar codigo, entiendo que es mejor generar java y compilarlo con javac que generar assambler y si quiero ejecutar directamente bytecodes debo ir a AOP como la de jboss.

De todas formas el concepto me ha gustado y la pagina me ha servido para ver como anda la plataforma java a nivel de otros lenguajes.

Solo hay algunos proyectos que no parecen experimentos universitarios, como los conocidos jruby etc, otros son totalmente comerciales.

Dado el interes que tengo por cobol, he ido a ver como anda percobol y cuando lo pongo a trabajar con un programa medianamente complejo se cuelga, ademas el plugin de eclipse deja que desear.

Es una pena que este lenguaje no tenga ni una implementacion OpenSource decente si siquiera en C.

C parece que nadie se lo ha planteado a pesar de existir librerias como javalution que pueden ayudarte a hacer un porte.

lunes dic 08, 2008

Servidores aplicaciones y GRID

Actualmente, tengo un problema con un trozo de codigo que cuyo consumo se acerca a los 2 segundos de cpu, como tengo un sistema con 2 cpus de 2 cores y estoy pensando en pasar a uno de 4 cpus con 6 cores, habia pensado que una de las maneras de bajar el tiempo de respuesta era trabajando en GRID esa parte del codigo.

Me encuentro algunos problemas, por un lado necesito que ese cogio acceda a base de datos por lo que deberia abrir una conexion diferente, si necesitaria que todas las conexiones pudieran hacer commit, por lo que las meteria todas en la misma local transaction, no parece problematico.

El problema fundamental estriba en como hacer multithreading dentro del servior de aplicaciones sin que de problemas.

EJB supongo que no se podran utilizar y si hay que recurrir a la tradicional programacion multithread, para que quiero un servidor J2EE pudiendo conformarme con un servidor normal sin ejbs ni nada, pues JTA anda por ahi.

Vamos que si queremos multithread va a ser dificil implementarlo sin que de problemas.

Si nos vamos a utilizar una libreria grid, estilo hadoop, igual nos ahorramos quebraderos de cabeza.

sábado dic 06, 2008

Generadores de parsers en Java

Soy un fun de los "parser generator" como yacc, o dicho de otro modo, me gusta hacer lenguajes que me ahorren trabajo y que sean utilizados por mis colaboradores.

Al principio los desarrollaba en C, luego cuando llegue a Java algunas versiones nuevas ya venian con soporte para generar parser en Java.

Al poco de entrar en este mundo conoci a Jack, que fue renombrado a javacc. Realmente era dificil de entender como trabajaba y no lo hacia como los LALR que solia utilizar. Hace 11 años no tenia el tiempo necesarioy no existia documentacion suficiente.

Encontre a cup que si trabaja en modo LALR y consegui documentacion para trabajar con el, pero empezo el boom de los XMLs, y para el tipo de lenguajes que necesitaba era mas adecuado hacer minilenguajes en XML que hacerse lo mismo en cup.

Han pasado bastantes años, y ya no suelo hacer minilenguajes porque o bien ya lo traen los framework o bien ya existe uno similar a lo que busco.

Ahora ha surgido la oportunidad de leer algun fichero en formato antiguo y pasarlo a otro mas moderno, me encuentro con varios parser 100 % java, hay otros que no son java pero te dan el parser Java:
cup, javacc, antlr y jikes.

Jikes no encuentro documentacion adecuada, ademas prefiero leer libros que pdfs, es de ibm.
ANTLR actualmente no tengo ningun libro, es el que parece mas potente, tambien es LL como javacc, pero necesita un runtime, tiene muchismas utilidades alrededor.
cup he encontrado un libro pero me parece que deberia intentar aprender algo esta vez. Sin runtime.
javacc es de Sun, he encontrado un libro y hace 11 años no pude con el, es un buen reto. Sin runtime.

Yo tambien hice un Web Framework

A menudo encuentro en javahispano articulos y noticias en las que se termina en una lucha encarnizada entre amantes de un web framework y los de otro.

Si ampliamos ademas de los de java, añadimos los de otros lenguajes rubi, pyton, php, c# etc nos encontramos con que el principal problema no es que los framework sean malos, sino que el desarrollo para web que no esta bien enfocado.

Los navegadores no son compatibles, si añadimos los diferentes dispositivos, no solo navegadores puede ser una locura, (incluyo como dispositivo a Flex).

La solucion puede estar en el navegador neutro, pero impide que nuestro sistema sea minimamente atractivo.

Hace mas de 10 años los desarrolladores de C y otros lenguajes nos encontramos con este problema al desarrollar para diferentes sistemas operativos Windows, Solaris, Linux, Mac OS, ... y alguien de Sun nos saco del problema, por suerte para todos.

Actualmente, intentamos con diferentes framework, lenguajes atacar un problema que es de base. Casi todos hemos tenido que apañar un framework o hacerlo desde cero.

El navegador es un renderizador de tags imprevisibles y a los programadores no nos gustan los tags sino que preferimos lenguajes previsibles, por otro lado los programadores no somos especialistas del buen gusto con lo que los diseñadores son los que se encargan de marcar esa linea de trabajo, pero esa delgada linea esta muy difuminada y nos encotramos con los diseñadores programadores o los programadores diseñadores, para colmo añadimos a la equacion que haya base de datos y complejos procesos bajo las sencillas paginas, lo que tiende a complicar mas el sistema.

Que debe hacer un framework, partir el sistema en dos, por un lado el cliente, por otro los procesos de negocio, pero permitir que esten acoplados en base a eventos, actualmente conocemos algunos que realizan esto a la perfeccion. La opcion de enviar los datos en SOAP, REST XML o en bytes debe ser a nivel de framework, desconocida para el desarrollador. Vamos un framework debe ser MDA, yo puedo desarrollar lo mismo independiente de si luego va a C#, java ...

En el lado del servidor el acceso a los datos, debe estar encapsulado, permitiendo que los expertos en Base de Datos optimizen ese acceso si fuera necesario, los mecanismos de cache deben ser administrados sin afectar a los desarrollos.

Ademas, el sistema debe ser prefectamente monitorizable, debo saber que es lo que se esta ejecutando en cado momento, en algunos sistemas esto es imposible.

Por supuesto, debe ser optimo y facilmente escalable, con lo cual el tema de sesion tiene que ser facilmente customizable.

En el lado del cliente, debe haber custom tags para todo, permitiendo al diseñador manejar las mismas desde sus herramientas favoritas.

El punto conflictivo esta en el manejo de los eventos, cuando algo se ejecuta en local y en remoto y sobre todo porque para hacer algo hay que manejar 3 lenguajes o mas.

XML para configuracion, SQL para base de datos, en algunos casos Cobol heradado, Java para el servidor, XML-SOAP para el interfaz, JavaScript para el control de eventos y la programacion en el lado del cliente, HTML para el interfaz ...

Como vereis expertos de todo suelen ser expertos solo en algo, y quien mucho abarca poco aprieta por lo que si el desarrollador del framework tiene mas experiencia en alguna de estas capas, o por el contrario menos en otras, suele ser su punto mas debil.

El dia que microsoft y firefox saquen librerias de tags suficientemente expresivas y previsibles, con un sistema de eventos facil y programable en un lenguaje del lado del servidor, con llamadas transparentes al servidor, dejaremos de hacer framework y haremos aplicaciones.

Yo tambien hice un framework y lo que en su dia parecia una buena idea, ahora no lo haria, pero lo mas importante es aprender de los errores y sacar adelante los proyectos.

viernes nov 14, 2008

Work-Around Default package en Java 1.4 y superior

El otro dia queria acceder a una clase que por razones que no vienen al caso se encuentra en el paquete por defecto. Como intento siempre ser organizado y seguir las recomendaciones, hacia muchos años que no creaba una clase en el paquete por defecto, y claro desde el JDK 1.4 ya no se puede. Al principio con los applet etc si.

Una opcion es utilizar instanciacion dinamica utilizando Class.forname().newInstance, es la que prefiero, pero navegando en google encontre otra opcion peligrosa, pero eficaz. Consiste en crearse un wrapper con otra version de Java y llamarla.

¿ Sabeis de otra manera utilizando palabras reservadas o algo parecido ?.

Ya no somos compatibles ni con el codigo. Viva la portabilidad

jueves oct 30, 2008

Universidad eIndustria

Cuando leo el articulo de opinion en "solo programadores" sobre "Multicore: Profesionales e Industrias", no hago sino darme cuenta de lo lejos que esta la Universidad española con sus profesores a la cabeza de la industria del software.

Por un lado, se pone el titulado en informatica enfrente del titulado de FP, cuando no se pueden comparar, como no se puede comparar un ingeniero con un mecanico, por el otro deja sin centrar el gran problema que tienen los titulados informaticos y es que en los campos donde mas trabajo hay , estan poco formados funcionalmente por lo que un buen funcional con conocimientos informaticos suele ser tan bueno como un informatico, a excepcion hecha de ciertos aspectos muy tecnicos y que en las empresas ponen en manos de las grandes consultoras del sector.

Ademas, partiendo del hardware, no se da cuenta de que el software hace muchos años que es mutiprocesador y por lo tanto los lenguajes y los profesionales estan acostumbrados a tratar con el, no se necesita un superexperto para hacer una aplicacion multihilos en java, y tampoco hace falta un superexperto para que una aplicacion trabaje con usuarios concurrentes, por desgracia para los informaticos JEE por ejemplo lo hace todo por ti, y java ya nacio como multithread por lo que trae consigo instrucciones del lenguaje.

Por otra parte, si lo que quiere es hablar de GRID, el hardware esta muy lejos de GRID porque el GRID por ahora es software, si es dificil de programar bien, pero acaso el 80 % de los titulados ha visto GRID en su dia no lo vi y no creo que actualmente se este enseñado a programar GRID.

La Universidad esta alejada de la industria porque sus ingresos vienen del Estado, un profesor de la Universidad española esta mas preocupado por sus publicaciones que por la viabilidad de sus proyectos.

Excepciones las hay y no nombro ninguna porque no tengo su autorizacion.

GRACIAS CARLOS tu sabes que me dirijo a ti.

martes oct 28, 2008

public final class

En la wikipedia se explica que es una final class en Java.

Siempre habia creido que se hacia por razones de eficiencia sobre todo aplicado a la clase String, pero no, es para que al no ya que el compilador no tiene ningun problema en optimizar en tiempo de ejecucion las clases que estan cargadas, entonces para que se hace.

En el caso de las variables esta bastante claro que el compilador puede optimizar, pero en el caso de metodos es para que no se cambie el comportamiento.

Discutiendo con un compañero me plantea que se utiliza para cerrar APIs para que nadie sea capaz de mejorar o empeorar la implementacion de algo, y para que sea la empresa encargada de ese API la unica que tenga acceso al mismo.

Ahora tengo un grave dilema, modifico una clase para que deje de ser final y pueda implementar una clase que trabaja diferente con esos metodos, utilizando algunos metodos poco ortodoxos o por el contrario dejo que esa clase imprescindible, siga estando tal y como la encontre.

Voy a ver si con AOP, Bootstrapping y sin recurrir a un decompilador puedo modificarlo, esta es una de las razones por las que me gusta el Open Source y no el codigo cerrado de terceros.

lunes oct 27, 2008

CodeBook : Seria viable

Llego algunos dias pensando en si seria viable, o no, la creacion de un sitio web al estilo de picassa, facebook o flirck pero para codigo fuente.

Actualmente, disponemos de grandes web para programadores donde se van sontando proyectos completos o parches sobre proyectos, pero no hay un sitio web donde los programadores podamos exhibir nuestros codlet o trocitos de codigo que nos han solucionado algun problema.

Supongo que la vanidad del programador estaria a favor de un sitio web parecido, pero por otra parte la cultura del pirateo, falta de apoyo a la creacion intelectual de programador, ... irian totalmente en contra.

¿ Quien pondria un trozo de codigo ?

Normalmente a todos nos gusta el poner el megaproyecto, pero no todo el mundo escribe libros de cocina, pero bastantes son capaces de escribir recetas.

Este tipo de sitios podrian servir para "startup" en nuevos framework o apis y si actuamos con un ranking, deberian salir las mas valoradas.

Lo malo de las ideas es que si son interesantes, deberiamos ponernos manos a la obra, lo bueno es que al ser solo ideas se pueden mejorar sin coste.

domingo oct 26, 2008

Escalabilidad en Solo Programadores

En julio me propusieron realizar un articulo de opinion para la revista "Solo Programadores", para mi ha sido un honor el solo recibir esa propuesta.

El articulo habla un poco sobre escalabilidad pero cuando empezaba a centrarme en Java, se terminaron las pocas lineas de que disponia, bueno sera un aperitivo para que empezeis a opinar sobre la noticia.

No soy subcritor de esta revista, por lo que he tenido que buscarla, en el año 91 cuando la vi por primera vez era dificil encontrarla, luego poco a poco se fue popularizando y se podia encontrar en casi cualquier parte, de hecho se encontraban revistas en ingles sin ningun tipo de problema, otras revistas como RPP o Java Magazine crecieron a su sombra pero desaparecieron. Ahora la unica que encuentro es solo linux, pc-actual, pc-today, pc-byte y las revistas de PSP, XBOX, PS3, Wii ...

Al igual que con el SIMO algo ha pasado para que para encontrar revistas de programadores haya tenido que encargarla, supongo que la documentacion web, el pirateo y los blogs hacen que este tipo de revistas sea minoritaria, su precio tampoco, aunque llevan bastantes años sin subir.

Supongo que el enfoque del negocio debe cambiar y ofrecer algo mas, una solucion seria montar una asociacion de programadores con una cuota y enviarles la revista de caracter mensual, pero para que pagar cuando hay gratis.

domingo oct 19, 2008

SIMO primera victima de la crisis

Que el SIMO no se celebre es una mala noticia para todos, los que nos dedicamos profesionalmente a esto, hemos visto algunas etapas del SIMO, la ultima es la peor.

SIMO paso de ser una feria profesional de informatica a una feria de usuarios donde se enseñaba a los mismos los ultimos juguetes. Paso de ser una referencia en el sector a ... no tengo palabras para definirlo.

No me gustaba ver como el SIMO se arrastraba y prefiero que despues de este batacazo se replantee su existencia, me gustan mas otras ferias mas profesionales como Cebit o mas freakies como Valencia, lo malo es que SIMO es un simbolo y un termometro del mercado.

Hemos pasado de ser unos profesionales especializados a unos profesionales de los que dabas tres patadas y salia uno, y ahora que seremos una especie a extingir o debemos reinvertarnos: bueno como casi siempre se me va la olla, da mucho que pensar que ya no haya SIMO.

viernes ago 15, 2008

Malos y buenos programadores

A raiz de una opinion en JavaHispano, sobre si las mujeres tenian peor o mejor capacidad de programacion, conozco muchisimos malos programadores, pero es que casi solo conozco a programadores.
El programar bien o mal no esta suficientemente definido

Quien programa mejor quien cumple los estandares, utiliza los framework que le dicen o el que cumple en plazos, haciendo lo que el cliente quiere con un buen rendimiento.

Quien programa mejor quien cumple los estandares, o el que tiene todo documentado saliendose de los estandares

Quien programa mejor quien se queda 10 horas en el trabajo y no cumple plazos, o el que se queda su jornada y no cumple plazos

La verdad prefiero un mal codigo, bien documentado que un buen codigo sin documentar, pero al final todos leemos Java por lo que la documentacion esta en el codigo.

Por favor expresar vuestra opinion sobre lo que es un buen o mal programador.

sábado jun 14, 2008

Jornadas del siglo XIX : 65 horas

Despues de oir esta noticia por la radio, y ayudado por la calculadora del sistema voy a ver cuanto nos queda para nosotros, no obstante ya sabeis que las horas extra brillan por su ausencia los proyectos siempre necesitan un esfuerzo y que la formacion debe ser fuera del horario laboral, pero dejando de lado estas peculiaridades de nuestro trabajo, voy a intentar ver como afecta a la tipica jornada de 5 dias, 1 hora para comida (algunos tienen dos y no saben que hacer, bueno internet :) ) y otra hora de transporte, seguro que alguno tarda 10 minutos y otros 2 horas, pero bueno suponiendo que hay que llevar antes a los niños al colegio, media hora ida y media vuelta.
Suponemos tambien que los niños continuan con su jornada actual por lo que hay que pagar a alguien para que se haga cargo, pero vamos obviamos tambien este detalle.
65 horas entre cinco son 13 horas con lo que 14 con la hora de la comida. Si la hora de entrada es a las 8:30, media hora antes salimos para llevar a los niños o para coger el metro, autobus o tren, la hora de salida del trabajo seria a las 22:30 por lo que llegariamos a casa a las 23:00.

Vaya pasada, no veriamos a los hijos, no tendriamos tiempo para ir de tiendas, al cine, ni siquiera llegariamos al prime time, una cena rapida y a la cama.

No se exactamente los terminos de la jornada de 65 horas, pero la persona que las haga solo va a vivir para el trabajo, por lo que va ser un esclavo del mismo. Como la negociacion es entre empleado y empresa, la empresa abusara del empleado individual ya que como uno solo por algun motivo, falta de trabajo o de dinero, lo haga el resto se vera obligado a hacerlo.

Nuestros gobernantes, politicos, fiscales y jueces son unos inutiles si en esta ley no han encontrado un abuso y un atentado a la vida familiar.

viernes jun 13, 2008

Huelga de Transportistas e Informaticos

Todos nos hemos visto impactados por la huelga de transportistas. No voy a comentar sus razones, sus medios, la permisividad con los piquetes, etc ... para eso hay otros foros.
Tampoco voy a comentar el porque los informaticos no podemos ser como los transportistas para exigir nuestros derechos, la falta de compañerismo etc, todavia no estamos en una situacion limite como para ponernos a prueba.
Me gustaria saber porque no se plantea el Gobierno, promocionar el teletrabajo como medio de conciliacion de vida laboral, medio de evitar trafico, colapso en transportes, contaminacion y otros beneficios.
Cuanto fastidia que trabajando en el centro de Madrid, te manden unos dias a un curso a las Rozas o a un proyecto a San Sebastian de los Reyes, solo tres meses.
Una vez una maquina tiene red, hay medios para hacerla visible desde fuera, bien con vpn, bien a traves de firewall, porque no exigimos de una vez que se de solucion al transporte de personas, es logico que un pescado se lleve de Galicia a MercaMadrid, pero no es logico que las personas tengan que moverse, las ideas, el software, los bits, pueden viajar por la red, porque los informaticos tienen que trasladarse a los parques tecnologicos o "poligonos industriales de inteligencia" para hacer su trabajo.
Como veis la huelga de transportistas ha impactado en que estos dias no haya podido conciliar mi vida familiar.

viernes may 30, 2008

SGAE y financiacion partidos politicos

Enrique Dans nos comenta una de la razones de dar el canon a la SGAE.

Todos creiamos que era un pago a su apoyo, pero presuntamente hay financiacion ilegal, al final el "Ramoncito" es mas delicuente que quienes lo copian.

De todas formas como esto quedara en agua de borrajas, ya que al final no habra pruebas suficientes, metamosle en la carcel por si es un delincuente, ya que el nos cobra el canon por si delinquimos.

domingo may 25, 2008

No creas que todo el mercado es como tu

A raiz de esta entrada deEnrique Dans me hace reflexionar sobre las razones en las que un proycto, idea o framework, pueden fracasar o no.

Es posible que por motivos de trabajo, siempre estes utilizando las nuevas tecnologias, los ultimos estandares y tendencias. Se te ocurre una idea facil de poner en marcha y la lanzas.

Si el mercado al que va dirigido y en castellano vamos muy atrasados respecto al mercado angloparlante, sera un fracaso.

Fracasos por innovacion hemos tenido en el mundo de la informatica desde hace muchos años, casi todos en guerras con Micosoft, dos casos particulares son Netscape y Apple, pero no vamos a comentar este tipo de fracasos que mas se deben al abuso de microsoft que a la falta de madurez del mercado.

Cuando lancemos algo, debe ser para la gran mayoria, encuentas como las que se hacen en javahispano acerca de framework, jdks, servidores de aplicaciones, tendencias, nos pueden indicar como esta el mercado hay fuera, pero no hay que olvidar que casi todos los que estamos en javahispano dados de alta como usuarios entramos en una categoria de usuarios bastante adelantados por lo que a estas encuestas habria que rebajarle algun punto para encontrar la campana de gauss.

sábado may 17, 2008

S G A E : 180 millones cobrados y sin repartir

Despues de ver en tv que los herederos de Paquito El Chocolatero cobran una miseria por la obra mas interpretada y dado que nos cobran un paston a todos me preguntaba donde esta el dinero de la SGAE en escolar veo que la mayoria del dinero que recauda la SGAE, no la reparte poque nadie se encarga de pedirselo, este dinero se podria utilizar para miles de cosas antes que para Ramoncin, por favor asociarse todos los que tengais derechos y pedirselos a la SGAE aunque sea para mantener a un grupo de abogados encargados de recaudar estos fondos y de evitar que tanto sinverguenza viva del cuento.

Bueno ya sabemos a donde va el dinero.

SOAPAction Header

Hace algun tiempo descubir que para llamar a servicios web, por ejemplo con Axis se manda informacion en esta cabecera. En un sistema en el que una sola URL procesa todas las peticiones de webservices es posible conocer que se esta ejecutando si se coge el valor de esta cabecera.

viernes may 16, 2008

Programador que no le gusta programar

Tenia pendiente hacer un post sobre esta noticia aparecida en javahispano y el post original. La informatica no es solo programar. Cualquiera puede ser programador, pero no todo el mundo es titulado en informatica. Creo que hay que buscar un equilibrio, no me gustaria un programador parasito en mi equipo que no ayudase a la comunidad pero tampoco uno que utilize el sueldo que le pago para hacer los proyectos a otros. Si utilizamos un simil de la NBA, mejor que del futbol, porque todo el mundo opinaria. No todo el mundo puede ser Jordan, pero no solo Jordan gana los partidos, en la informatica para que un proyecto funcione desde el comercial hasta la señora de la limpieza deben hacer su trabajo. El problema viene cuando no todo el mundo tiene asumido su papel, el programador se cree mejor que el analista o el jefe del proyecto y el analista se cree comercial. Asume tu papel dentro del proyecto y si no eres capaz, no sirves para el equipo.

jueves may 15, 2008

Javalution y la HYPE O O

Javolution es un API que sustituye las clases del JDK (especificamente aquellas en los paquetes util, lang, text, io y xml ) por versiones más optimizadas en recursos usados y tiempos de respuesta. Este API puede compilarse para trabajar en J2ME y cualquier versión del JDK. Entre las clases de Javolution están estructuras de datos como FastMap, FastList y FastSet y un lector/escritor de XML que presume de ser el más rápido en el mercado Java. Y de eso se trata Javolution, un API enfocado a tareas críticas donde se tenga que optimizar al máximo la memoria usada y los tiempos de respuesta. Me ha parecido interesante, leer el codigo de javalution, porque la implementacion de estas clases se hace al estilo C alejandose un poco de la HYPE Orientacion a Objetos. Si creamos menos objetos los tiempos seran mas rapidos. Realmente creamos solo los objetos que necesitamos o por una mala formacion en OOP abusamos en nuestras aplicaciones, el otro dia lei en un foro una pregunta sobre si era una mala practica crear tantos objetos como lo hacia una herramienta, para salir del paso y hacer una aplicacion con 4 clases si parece adecuada, pero no para una aplicacion con 100 o mas tablas que era lo que planteaba, el numero de clases creia en 4 o 5 x donde x es el numero de tablas. Como sabeis soy un convencido de la tecnica de Objetos Relevantes frente a la HYPE OO.

miércoles may 14, 2008

Java en el mundo real

El otro dia lei en un link que apuntaba mi blog, Java en el Mundo Real. A pesar de que es un halago para mi, no es del todo cierto. Actualmente, mis responsabilidades se encuentran dentro del area de produccion, lo que esta suficientemente lejos del desarrollo como para verlo con otros ojos. Estoy, en el lugar del otro, veo desde produccion los problemas de desarrollo, al igual que antes veia desde desarrollo los problemas de produccion. Actualmente, tengo un mayor angulo de vision, incluso superior al de otros compañeros. Java, para mi, no es mas que otro lenguaje, pero como llevo muchos años con el, es mi favorito. Debido al exito de Java en mi empresa, un proyecto funciono muy bien, el siguiente tambien ... ahora nos llegan a produccion bastantes proyectos en Java, alguno en Net, ninguno todavia en PHP. Groovy ni se utiliza ni creo que se conozca y rubi tampoco. En produccion tambien desarrollamos soluciones para produccion y es en este punto donde utilizamos Java, pero siempre desde un punto de vista practico. Intentamos hacerlo simple y normalmente con menos recursos que el area de desarrollo. Es en este punto, donde entra nuestra estrategia de software libre, pero siempre teniendo en cuenta que un error en produccion origina una situacion desastrosa. Ademas, probamos todo tipo de herramientas, bien para bajar costes, bien para ofrecerlas a desarrollo. Quiza me falte un poco la vision del desarrollo y mantenimiento de grandes proyectos, pero los problemas, me los cuentan mis antiguos compañeros. Ahora, he decidido participar un poco mas en la comunidad Java, antes era un poco parasito, me dedicaba a leer manuales, noticias y a no aportar nada. Dicho todo esto, espero que mis entradas se vean teniendo en cuenta mi actual situacion.

lunes may 12, 2008

Mantenimiento Cero

A raiz de una post de al me ha hecho recordar la estrategia que utilizo para evitar que la rutina me impida continuar con nuevos proyectos.

El manteniemiento se lleva el 80 % del tiempo de un proyecto. Por lo que una vez terminado, si has finalizado uno o dos proyectos es posible que estes todo el tiempo manteniendolos.

Para intentar trabajar en temas excitantes intento seguir una filosofia de desarrollo, pero es muy dificil de conseguir y es el “mantenimiento cero”.

Esta filosofia de desarrollo se basa en que solo te libraras del mantenimiento, si el producto o proyecto funciona bien y si el codigo, y no digo el analisis o cualquier otro entregable, esta bien documentado. Para colmo java permite que utilizes javadoc para que encima este en web.

Solo puede dejarse una tarea cuando mas de uno sabe hacerla, razon por la que la documentacion del codigo permita que dejes de trabajar sobre el.

He dejado algun que otro proyecto funcionando, y aunque estaba trabajando en otros, no se ha requerido mi presencia.

Si quieres que la rutina no te coma debes permitir que otros hagan la rutina.

COBOL: un lenguaje que esta lejos de estar muerto

Para todos aquellos que quieren matar a Java, leo en microsiervos una entrada sobre Cobol en la que se explica que despues de muchisimos años sigue siendo uno de los muertos mas vivos que existen. Creo que una de las fortalezas de Cobol esta en su legibilidad, cualquiera puede leer un programa Cobol y entenderlo. Ademas, Cobol posee una serie de utilidades que lo hacen muy potente sobre todo con el tratamiento de estructuras de datos. Es bastante rapido y tiene una gran cantidad de programas y lineas de codigo en produccion. Si todos los esfuerzos que hay actualmente en crear lenguajes dinamicos sobre la maquina virtual de Java, se invirtieran en crear un rutime de cobol sobre la maquina virtual de Java, se revolucinaria el mercado de los grandes sistemas al igual que en su momento se revoluciono el de los intermedios y pequeños. Solo mueren aquellos lenguajes sobre los que ya no se desarrollan, ni mantienen aplicaciones.

domingo may 11, 2008

Defiendete de la SGAE

Me hago eco de un post de Enrique Dans sobre la S G A E, como ya sabeis opino que la mejor manera de defenderse es crear una nosotros, pero cualquier iniciativa en contra de estos abusones me parece loable.

Google y la publicidad

El tema de la publicidad propuesta por google, AdSense, me parece un poco timo, por un lado si tienes suficientes "hits" puedes elegir la publicidad a poner y hacerlo a traves de una agencia que es lo mas rentable.
Por que AdSense no es rentable, lo primero es porque no te pagan por paginas vistas, no vendes el espacio como en la publicidad normal, sino que solo ganas si el cliente accede a la publicidad, es como si la publicidad puesta en el metro solo pagase al publicista si el cliente se interesase por el producto.
Como ya hemos dicho si tienes muchos "hits" es mejor cualquier otra manera de recaudar por publicidad, con lo que casi todo el mundo que utiliza AdSense esta por debajo del umbral por el que google te paga, pensar que para que pague algo google, el cliente debe hacer click y claro es muy dificil al saber casi todo el mundo que lo que hay en la pagina es publicidad.
Nos obstante, para el que se quiera anunciar google es interesante, ya que esta en casi todos los sitios y si solo pagas por click, tienes presencia pero no pagas.

Libreria Informatica y Comunicaciones

Me he llevado una sorpresa porque ya no existe la libreria Informatica y Comunicaciones, antes compraba cada pocos meses libros de informatica, posteriormente pase a hacerlo cada año hasta, que poco a poco el interes de los libros paso a internet.

Todo lo que necesito esta en internet y si bien es mas facil leer libros que buscar y leer en internet, la calidad de los libros ha bajado bastante.

Igual pasa con las revistas especializadas, menos "Solo Programadores", pero es que hace unos 15 años hubo un boom de revistas y libros, pero lo malo es que ahora la calidad de los publicado es baja por lo menos en castellano, solo he visto algun libro de Rubi.

Creo que la falta de material en condiciones, ayudado por internet es lo que hace que dejemos de comprar libros.

Bueno, estoy comprando pero por intenet y en ingles ya os contare.

Copyright (C) 2006-2008, Batch for the Java TM

Java, J2EE, and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc

This blog is not affiliated in any way with Sun Microsystems, Inc.