« marzo 2010
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 nov 11, 2009

BootClasspath

Desde hace muchos años conocia el uso de bootclasspath, para que se podia utilizar y la potencia que daba.

Siempre habia podido realizar las aplicaciones sin utilizarlo, hasta ahora.

bootclasspath permite poner tu propia implementacion de classes de la maquina virtual, esto es muy util cuando una clase tiene un bug o quieres modificar la implementacion de un objeto basico.

Lo importante es que aunque sea muy potente solo hay que utilizarla cuando haga falta.

sábado oct 03, 2009

Entusiasmado con Joomla

Como comente en un post anterior estoy echando un vistazo a Joomla.

Es como Java hace diez años, con una comunidad dispuesta a ayudar, sin prepotencia, donde la gente hace sugerencias pero no impone sus ideas.

Hace mucho que en java no pasa esto, cuando alguien pregunta por JDBC se le presiona para que utilize Hibernate, cuando alguien quiere hacer alguna cosilla se le intenta hacer una labor de consultoria cuando lo que quiere es simplemente aprender.

Por otra parte el concepto de joomla es muy claro. Solo sirve para lo que sirve y con tres tipos de extensiones puedes montar web impresionantes. Teneis que ver la web que he hecho parecida a javahispano en cuatro tardes.

Lo malo es el rendimiento, tengo una maquina dual core con dos cpus que en java me da un rendimiento impresionante y en php no llega, pero bueno es una maquina de hace tres años y no la tengo montada en linux.

Juntos podemos, es el eslogan de joomla y juntos podriamos pero no lo hacemos es el de java.

lunes sep 14, 2009

Drupal versus Joomla y otras cosillas

Todavia le estoy dando vueltas a la herramienta que utilizar, me encuentro con dos libros editados por anaya en castellano, uno de drupal que tiene una pinta excelente y otro de joomla.

Busco comparativas en google drupal versus joomla y veo que es de versiones anteriores por lo que es posible que con la version 1.5 de joomla este superada.

Me decido por joomla! esa j me pierde y tras leer tres capitulo saco en conclusion de que todo se puede hacer en java y que seguramente los portlet superan ampliamente lo que hace la personalizacion de joomla!

Porque se utiliza tanto pues seguramente cuando todos estabamos trabajando en JSF, en Struct en Spring, ... y en otras herramientas similares la gente de php se dedico a unirse y hacer un CMS que fuera trivial para un diseñador con lo que ganaron de mano la batalla.

Cuando reaccionamos OpenCMS, liferay y otros eran bastante mas complejos y total para una web con pocas visitas y hay hablo de uans 10000 o mas al dia las maquinas podian y mucho mas ahora.

Drupal seguramente tambien me compare el libro, pero no he visto ninguno de opencms.

martes sep 08, 2009

Gestores de contenidos "juanpalomo"

Cuando hace 8 años vi funcionando un gestor de contenidos me di cuenta que revolucionaria nuestra vision de la web.

Realmente las paginas personales han pasado a blogs y las web se actualizan agilmente como los periodicos.

A los informaticos nos gusta la complejidad el "juanpalomo" , si nos dejasen montariamos un sistema operativo propio o una base de datos.

Hay muchisimos proyctos del mundo java montados con sistemas "juanpalomo" en los que un gestor de contenidos, un framework de persistencia, un workflow aumentarian exponencialmente el time2market y reducirian el numero de errores.

Cuando "juanpalomo" entra en un proyecto el sistema empieza a ser inviable y a final, un buen comercial explica las excelencias de un conjunto de herramientas estandares de facto y la reimplementacion mejora el producto inicial.

Como me dijo un informatico amigo mio cuando le enseñe por primera vez el ymail de yahoo, para que queremos eso si ya esta el eudora o para que servian los foros si estaban las news ... casos parecidos me pasaron con los entornos graficos de linux ...

Los informaticos no somos usuarios y a menudo nos cuesta utilizar o ver herramientas solo para usuarios.

Incluso hay informaticos que se plantean los workflows como herramientas utiles.

El que no exista un IDE web, estilo netbeans o eclipse o que no utilizemos mas a menudo gestores de contenidos para hacer nuestras chorradas y prefiramos montar una cojoaplicacion con un framework con persistencia etc indica las razones por las que los informaticos siempre somos los ultimos en llegar a los cambios.

Decidme algo que no se pueda hacer por web y te dire un gran negocio, existe alguna version de eclipse o netbeans que corra solo en web, si tu respuesta es no hay tienes un negocio.

Pero para que nos vale si ya tenemos la version instalable.

Gestores de contenidos "juanpalomo"

Cuando hace 8 años vi funcionando un gestor de contenidos me di cuenta que revolucionaria nuestra vision de la web.

Realmente las paginas personales han pasado a blogs y las web se actualizan agilmente como los periodicos.

A los informaticos nos gusta la complejidad el "juanpalomo" , si nos dejasen montariamos un sistema operativo propio o una base de datos.

Hay muchisimos proyctos del mundo java montados con sistemas "juanpalomo" en los que un gestor de contenidos, un framework de persistencia, un workflow aumentarian exponencialmente el time2market y reducirian el numero de errores.

Cuando "juanpalomo" entra en un proyecto el sistema empieza a ser inviable y a final, un buen comercial explica las excelencias de un conjunto de herramientas estandares de facto y la reimplementacion mejora el producto inicial.

Como me dijo un informatico amigo mio cuando le enseñe por primera vez el ymail de yahoo, para que queremos eso si ya esta el eudora o para que servian los foros si estaban las news ... casos parecidos me pasaron con los entornos graficos de linux ...

Los informaticos no somos usuarios y a menudo nos cuesta utilizar o ver herramientas solo para usuarios.

Incluso hay informaticos que se plantean los workflows como herramientas utiles.

El que no exista un IDE web, estilo netbeans o eclipse o que no utilizemos mas a menudo gestores de contenidos para hacer nuestras chorradas y prefiramos montar una cojoaplicacion con un framework con persistencia etc indica las razones por las que los informaticos siempre somos los ultimos en llegar a los cambios.

Decidme algo que no se pueda hacer por web y te dire un gran negocio, existe alguna version de eclipse o netbeans que corra solo en web, si tu respuesta es no hay tienes un negocio.

Pero para que nos vale si ya tenemos la version instalable.

lunes sep 07, 2009

Axis 2.0 es realmente mejor que Axis 1.4

En la documentacion de 2.0, http://ws.apache.org/axis2/ , viene que es mas rapido y utiliza menos memoria.

Supongo que una de las razones ademas es por la reimplementacion y por utilizar StAX (Streaming API for XML) y por utilizar lo nuevo de la MVJ 1.5.

Pero realmente cuanto es mejor, no he hecho pruebas de velocidad por que el backend suele ser lo mas lento, solo he realizado pruebas de memoria.

Para ello he utilizado el profiler que viene con la ultima version de netbeans.

He hecho una bateria de pruebas con 1.4 y con JAWS 2.1 sobre axis 2.0, he pensado que era mas sencillo y seria a la postre lo que pondria en produccion.

El resultado no ha sido espectacular solo hay una diferencia de un 18 % pero se incrementa un poco cuantos mas WebServices llamemos.

Ambos codigos los he corrido sobre MVJ 1.5 para que no haya ni ninguna ventaja.

domingo sep 06, 2009

Joomla en Java , tengo que probarlo

Hace mucho tiempo que no leia noticias de javahispano y he buscado si habia algo relacionado con joomla!.
Si eso que esta en PHP pero que como soy mas de java me inclinaba por opencms que por joomla!. Pues si existe, y se puede hacer utilizando quercus y hay una opcion para que en caso de que necesites mas velocidad pagando, puedes mejorarla. Justo lo ideal para pequeños proyectos que igual se hacen medianos o grandes, pero al principio todo es pequeño.

Ahora solo tengo que buscar algo open que haga lo mismo un php4j o jphp, o seguir buscando el mercado CMS wordpress, jroller etc

Si logro arrancar joomla! en un servidor tomcat, o Oracle Weblogic que es el que mas uso os contare, sobre todo si puedo utilizar alguna base de datos que no sea mysql.

Informaticos llorones

Llora como mujer lo que no defendiste como un hombre.

Esta es la frase que debemos aplicarnos los informaticos cuando en una epoca de vacas gordas no defendimos nuestros derechos y dejamos que el bodyshopping, la subcontratacion, externalizacion etc mermaran nuestros derechos.

Ahora hay un peligro mayor, se llaman programadores funcionales o de negocio, vamos unos tira lineas que utilizaran programas de ultima generacion capaces de generar 300 lineas por cada linea.

Estos programas seran poco optimos pero al igual que paso en sus inicios con el asm y con el C, cobol, etc las maquinas daran la eficiencia que no ponen las personas.

El negocio son esas herramientas y como siempre Oracle, IBM, RedHAT y toda una gran cantidad de empresas americanas dan el soporte.

Sastres y cosedoras van a llegar las maquinas de coser. Buscad vuestro queso.

CMS : joomla opencs drupal

Me ha surgido una aplicacion chorra, pero que se adapta perfectamente a lo que da joomla! el problema fundamental que me encuentro es que no es java y que quiza la formacion que necesito para ponerla en marcha haga que se complique, he visto alternativas java drupal , opencms porque javahispano no utiliza una de estas alternativas y si lo hace porque no lo publicita para que podamos tomarlo de referencia.

OpenCms parece mas fiable pero no tiene pagina en la wikipedia, ademas joomla tiene bastantes libros publicados de hecho he encotrado libros traducidos al español.

El reto apunta a joomla! , una salida por si java no me da de comer, pero la cabra tira al monte y si veo un ejemplo de lo que se puede hacer y hace lo que quiero ire a opencms.

Drupal, espero vuestros comentarios.

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.

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.