counter easy hit

Archive for the 'Coder' Category

Mysql - Got error 127 from storage engine

Wednesday, February 13th, 2008

Simplemente que alguna de tus tablas de la base de datos se ha corrompido.

Con esta instrucción podemos checkear el estado de la tabla:

CHECK TABLE nombre_tabla;

Y con esta recuperar la tabla:

REPAIR TABLE nombre_tabla;

Según he leido, alguna reparación ha provocado la perdida de los datos. No hay que decir que hagais copia de seguridad. Yo lo acabo de hacer 2 veces ahora y me ha solventado el problema.

java + struts + oracle —> NO

Wednesday, January 30th, 2008

struts-3.jpg

Le he dado 1 mes y medio al combinado java + struts + oracle para opinar de él objetivamente para su uso en el desarrollo de aplicaciones web.

Por partes:

- java: un lenguage que te permite estructurar bien tu aplicación

- struts: un framework interesante en el que en teoría te quieren facilitar la vida. Puntos interesantes como las validaciones y la internacionalización.

- oracle: Potente.

Resultado: el desarrollo del aplicativo se hace LENTO y COMPLICADO no apto para un mundo tan fléxible como la web.

De java no me gusta que hay que declarar librerias para poder usar lo que quieres. No es transparence como en todos los demás lenguages o frameworks.

De struts que no se le puede llamar framework a eso. Todo tiene su lógica y todo se puede hacer, pero hay que darle mil vueltas y queda un código vomitivo con un número de líneas increibles. Y ya se sabe, a más lineas, más bugs. Sin contar lo bien que se lleva con el html y css. Sin comentarios.

De Oracle todo lo que tiene de potente lo tiene de complicado. Tienes que hacer filigranas para hacer consultas en teoría simples en mysql. El select ……. limit 1, 10 no existe por ejemplo. El equivalente es una consulta con 3 selects. Todo facilidad para el mantenimiento.

Definitivamente Struts es lento si lo comparamos con PHP. Si lo comparásemos con rails, darían ganas de llorar.

Sencillamente no recomiendo esta técnología del futuro para el desarrollo web.

Publicidad Adsense - 50%

Friday, January 4th, 2008

Llevo tiempo experimentando con el Adsense de google y hoy llegué a un hito importante. He conseguido el 50% de lo que necesito para que google me envie mi primer cheque de $100. Sí, he llegado a los $50.

Aquí están los datos:

  Impresionesde páginas Clics CTR de la página eCPM de página Ingresos
AdSense para contenido 26.056 457 1,75% US$1,95 US$50,72
Referencias   39 0,43% 2 US$0,35

No es nada comparado a las super-webs pero me permite entender mejor la publicidad online y que realmente es posible construir un negocio basandose en la publicidad como ingresos. Si mi humilde web ha conseguido esto, una web bien pensada y con buenos contenidos puede conseguir mucho más.

La experiencia que saco es que la publicidad que sirve son los bloques de anuncios, la publicidad que te paga por conversión realmente se paga muy mal para las veces que se visualiza en anuncio. Tengo puesto la publicidad de GET FIREFOX y me ha supuesto únicamente $0,35 . Miseria. No vale la pena. Seguramente lo eliminaré.

Con las visitas que tiene menéame, microsiervos y tal, la verdad que deben sacar su dinerillo al final de mes. Al menos para pagar hosting que ya es mucho.

Reinventar la web

Wednesday, January 2nd, 2008

La web se carácteriza por ser sumamente simple. Programar webs no es complicado y de aquí el gran auge que ha tenido en los últimos 15 años.

Tecnológicamente han habido muchos cambios, muchos lenguages, php, asp, asp.net, jsp, struts, rails, python… muchos cambios, pero por debajo la eséncia es la misma, todo se resume en un formulario que pasa sus campos a otra página para hacer una determinada acción.

Pero hay lenguages que quieren y reiventan la web, argumentando en que es más sencillo y que es como desarrollar aplicaciones de escritorio, como hacen java con struts y ASP.NET.

Lo primero que quiero indicar es que una aplicación web no es una aplicación de escritorio por mucho que se use el mismo lenguage. Es flipante encontrar compañeros de trabajo expertos en java, expertos en Visual Studio .NET que te pregunten estupideces del mundo web. Estupideces básicas que cualquier desarrollador web sabe. Ven la web con la perspectiva del desarrollo de escritorio y no tiene nada que ver.

Java con Struts o ASP.net reinventan la manera de programar la web ya que quieren que parezca que estás creando una aplicación cualquiera. Te meten capas intermedias y lo peor, funcionalidades y configuraciones extrañas para que funcionen las cosas. Claro que funciona, al final por narices lo haces funcionar ya que te adaptas y aprendes esa manera complicada de tratar la web pero no evita que pienses que es una estupidez de framework, complicado.

Yo flipaba con struts. Supongo por culpa de Rails que lo hace tan sencillo y divertido pero hay cosas que no acaba de entender.

1 - Esto de tener que compilar cada vez que hago un cambio me descoloca. Llevaba 6 años sin compilar nada. ¿ Compilar ? Mon dieux!!! Seguro que pal server despues es mejor, no lo dudo, pero joder…

2 - Mirad la cabecera de casi cualquier página que necesite un formulario:

package strutsTutorial;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class UserRegistration extends Action {

private static Log log = LogFactory.getLog(UserRegistration.class);

public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

Vi eso el primer día, y casi me tiro por la ventana. Grácias struts por tu sencillez y hacerme los días más entretenidos.

3 - Documentación con UML

Sin contar que hacen enalisis despues de tener medio hecha la web, encima lo hacen con UML. Claro como si fuera una aplicación de escritorio. Es tan ágil la documentación, siempre actualizada y es tan fácil realizar cambios…

La mejor documentación para una web es su código bien escrito, bien comentado y sus tests.

Sinceramente, es flipante como hacen de algo tan simple e intuitivo algo tan complicado. Y no digo que esté mal Struts, que en partes tiene cosas muy buenas con su MVC, JUnit, gestión de mensajes … pero sencillamente no es el futuro, ni el presente.

El nuevo menéame de Túniti

Sunday, November 18th, 2007

Hace casi 2 años creé el Menéama de Túniti. Cojí el código del menéame de la época, lo adapté para que se pudieran coger posts de fuentes RSS y lo orienté a que cogiese únicamente fuentes de blogs de cómics.

Desde entonces el sistema ha ido trabajando y ha recojido 15000 posts de los blogs que dí de alta.

La iniciativa no me parecio mala, pero no tuvo acogida entre los usuarios ya que la gente pasa mucho de votar y fue perdiendo interés y visitas hasta el dia de hoy que apenas hay unas 50 visitas al dia y la mayoria por buscadores. Sus 2 o 3 primeros dias fueron realmente interesantes, llegando a servir 1000 páginas que no está nada mal. A partir de ahí yo ni tenia tiempo de darle funcionalidades nuevas y ha ido muriendo poco a poco.

No recuerdo la razón pero ayer me vi mirando el código y decidí darle un mejor uso. Bueno, darle otro uso a partir de la misma funcionalidad. Vamos jugar con el sistema :P

Si sois seguidores del menéame original sabreis que a portada llegan únicamente noticias extrañas, sin interés la mayoria. Mientras que en la cola de pendientes podemos encontrar joyas que por no tener suficientes votos nunca llegan a portada y nadie se entera.

 

Otro dato que pensé, es que existian varias webs de noticias y que es un palo ir una a una para ver que noticias están pasando, google news, la vanguardia, el periodico, 20 minutos, yahoo news, marca, as, fresqui… Hay muchísimas páginas de noticias.

Así que pensé y porque no unirlas en el meneame que tengo yo? Solo tengo que añadir los feeds al sistema, modificar el script que promueve las noticias a portada y listo. Ya tenemos un sistema de noticias a tiempo casi real de lo que ponen las otras webs.

Así que ahora mismo si vamos al menéame de Túniti, vemos todas las noticias de los diferentes medios como se van publicando. Hoy en todo el dia se han publicado unas 1000 - 1200 noticias. No es práctico para hacer un seguimiento a través de un gestor de feeds, pero esta bien si tienes 5 minutos y quieres ver que se cuece a nivel de noticias en castellano. Hay de todo. Y por supuesto la Fisgona funciona, así que lo puedes dejar abierto y ver como se van publicando todo tipo de noticias.

Nada, experimentos que uno hace. Aún no he quitado las referéncias a los cómics, en cuanto pueda lo haré. Pero he mejorado el sistema de indexación a google. A ver como evoluciona el número de visitas en relación a la cantidad de noticias. ¿ Siguirá una tendéncia lineal ? Ya os explicaré.

Por cierto si conoceis páginas de noticias en castellano con feeds, dejarmelas en los comentarios que también las añadiré. Cuanta más variedad, mejor. :-D

Empieza lo bueno en Tuniti

Thursday, October 18th, 2007

En los proyectos siempre hay tareas que apetecen más hacer que otras. Son mucho más divertidas, son un reto, un objetivo, es la eséncia…

Para llegar a ese punto quizás tienes que montar muchas cosas, quizás mucho menos divertidas aunque seguramente igual o más importantes que esa tarea que te apetece tanto hacer.

Por fin ayer llegué a ese estado en el proyecto, a partir de mañana empezaré esa tarea básica y superdivertida que lleva quizás 2 años en mi cabeza y que aún no pude realizar de forma seria ( alguna prueba sí que hice ).

Aún queda mucho camino por recorrer, pero horita a horita, dia a dia… ya estamos más cerca de esa primera versión tan deseada, almenos por mi. Y lo mejor, sigo disfrutando programandola… aunque me gustaria tener más horas para dedicarle.

Lo malo de ser tan lento es que se me ocurren otras ideas.

El lavado de cara del bopa.ad

Wednesday, September 26th, 2007

Me acabo de dar cuenta del magnífico lavado de cara de la que diría es una de las webs más importante de Andorra, bopa.ad (boletín oficial del principado de Andorra)

La entrada no es fea, ha mejorado bastante de como estaba, ya le tocaba. Si te fijas te das cuenta que solo ha sido un ligero lavado de cara, siguen usando los mismos formularios, mismos resultados y el mismo sistema “Lotus Notes”.

Es absolutamente estúpido. En vez de tener una intranet/extranet como dios manda, usan lotus notes para la web, seguramente también como intranet.

Uso lotus notes en el trabajo (lo mínimo) y no es nada eficiente, el desarrollo es lento, complicado y poco documentado… Sinceramente es una perdida de tiempo y dinero desarrollar nada allí. Pero claro las webs no son importantes, y las intranets ágiles tampoco…

Hay demasiados parásitos, listillos que creen que saben y realmente no hacen avanzar al pais. Y esta gente de poco recurso intelectual, siempre están en cargos importantes, dicidiendo lo que no tendrían que decidir. Esto con un concurso serio, se podría hacer un proyecto útil tanto para los usuarios como para los trabajadores internos. Y no hay que buscar fuera lo que hay dentro. Existen pocas empresas preparadas en Andorra que sean capaces de hacerlo, bueno realmente solo conozco a una que intenta hacerlo bien… (no diré el nombre para no relacionar empresas con post’s críticos)

Así que a la nueva web del BOPA le doy 0 puntos.

Facebook

Wednesday, September 19th, 2007

Facebook parece la nueva revolución junto a Second Life. Vayas por donde vayas, acabas leyendo algo sobre estos 2 temas y lo que traer para el futuro.

Decir que no me acaban de gustar las aplicaciones web solo en inglés, … pero lo estuve probando hace meses. Por lo que hablan debe de ser una maravilla. Y personalmente me decepcionó, no era algo intuitivo, fácil de usar ni de entender. Yo lo que no entiendo como ha llegado a tener tanta fama y hayan tantos usuarios… Lo pruebas y no me ofrece nada del otro mundo. Eso si, como idea es genial y motivante si eres un desarrollador con ideas. Puedes desarrollar algo y a ver si gusta en esa immensa comunidad. Lo que llega a hacer abrir las apis de estos servicios.

Como me canso pronto, tanto Second life y Facebook lo dejé de lado a las primeras de cambio, quizás cuando haya una versión internacionalizada vuelva. Second life es otro sin sentido… tanta fama y en linux no funcionaba. Lo probé en windows y me sentí perdido, hablando con una inglesa que me decía que era super genial Second Life, mientras bailábamos virtualmente… Estuve perdido durante toda mi visita, sin encontrarle el sentido de tanta fama… mejor los antiguos chats IRC, el messenger, los blogs, …

Facebook hay que tenerlo vigilado, pero Second life es una moda que no sirve para absolutamente nada. Tienen muchas visitas, pero como las webs, no consigue retener a los usuarios.

¿ O quizás me hago viejo ?

AJAX vicia

Monday, September 17th, 2007

La utilización de AJAX en los proyectos web es algo realmente sencillo, que dan mucha vistosidad ya que te permiten hacer cosas que antes solo podías hacer programando aplicaciones de escritorio.

Con AJAX puedes actualizar una determinada zona de tu página web sin obligar a descargarla de nuevo. Entre otras cosas puedes recoger o actualizar datos de forma que casi el usuario ni se entera. Permite que el usuario tenga una experiencia mucho más agradable con la web, no tiene que esperar “tanto” a que se descarguen páginas o elementos inecesarios. La web se convierte en algo realmente ágil.

A nivel de desarrollo, esta posibilidad puede llegar a cegar, ya que inconcientemente te apetece implementarlo por todos lados. Y como todo, es un error intentar usarlo siempre ya que como todos los elementos, AJAX también tiene puntos negativos.

Para mí el más importante, es que los usuarios aún no están preparados, ni acostumbrados.

Si haces una web, no puedes usar siempre AJAX, por un detalle estúpido, la gente le encanta clicar en el boton “Atras”. Por cierto a mi también. Es algo que estamos acostumbrados desde que existe internet. Ir a páginas y retroceder justo a la pantalla anterior. Con la utilización masiva de AJAX, sin darte cuenta puedes perder esta carácteristica. El boton “Atras” seguirá funcionando, pero no hará, ni mostrará la última página que el usuario estaba viendo (recordad que carga zonas específicas), sino la última página que se cargó completamente. Y esta última seguramente no será la que espera ver.

Para usar 100% ajax solo te queda hacer una aplicación web, donde el usuario no pueda tener la intención de ir hacia atrás. Es algo que se puede conseguir. Por ejemplo el webmail de yahoo, es 100% AJAX y que yo recuerde nunca tuve la tentación de darle al boton para retroceder.

Es cuestión de costumbres, estamos acostumbrados que en las aplicaciones de escritorio no tenemos botón para retroceder, así que si realmente se consigue una aplicación web, nosotros no notamos la diferencia y no echamos de menos esa funcionalidad.

Así que  hay que vigilar con el uso de AJAX según sea el ámbito del proyecto y usarlo SOLO cuando sea realmente necesario, provechoso y con el mínimo impacto en la navegabilidad de los usuarios.

eBD - e-Business Designer

Saturday, July 28th, 2007

El eBD es un entorno integrado de desarrollo, integración y publicación de aplicaciones Web no muy conocido actualmente pero que ha dado buenos resultados en muchas empresas grandes de españa así como en ayuntamientos.

Con eBD se puede desarrollar visualmente aplicaciónes Web (intranets, extranets, portales, etc). o bien integrar cualquier otro desarrollo ya implantada.

Instalando el eBD en el servidor es suficiente para empezar a desarrollar proyectos en eBD utilitzando cualquier navegador del mercado. También integra un lenguage de programación propio, el EBDML para programar todo lo que no viene por defecto.
Yo defino al eBD para que la gente se lo imagine como un dreamweaver web por la facilidad que proporciona para el diseño de ciertas páginas utilizando componentes ya implementados e integrados en la plataforma como calendarios, html, foros, imagenes, varias bases de datos, etc…
Puntos positivos:

- Facilidad en la creación y modificación de páginas mediante la utilización de componentes del sistema

- Rapidez en el desarrollo de webs sencillas tipo portal, donde la mayoria de las cosas son consultas.

- Escalabilidad del sistema. Según necesidades puedes dividir el servidor en varios servidores para dar mejor servicio.

- Funciona tanto en servidores Linux como Windows.

- Integración de conectores a diversas bases de datos como MYSQL, Acces, SQL Server, AS400, etc…

- Funciona en cualquier navegador

Puntos negativos

- Sistema propietario basado en licencias por servidor y driver con un coste bastante elevado.

- Pequeña comunidad. Hay tantas opciones que al principio es fácil perderse, sin contar el lenguage eBDML, que es un lío. La comunidad existente intenta ayudar en lo que puede pero aún son muy pocos los desarrolladores en eBD que participan. El hecho de ser un sistema cerrado complica la expansión del sistema de forma más global.

- Programar en esta plataforma es complicado, incluso desaconsejado. Hay que intentar hacerlo todo mediante los componentes del sistema. Si se intenta personalizar demasiado por programación, puede implicar que todos los funcionamientos automáticos debas de re-implementarlos también en eBDML para que funcione. La programación en esta plataforma multiplica el tiempo de desarrollo e incluso se hace muchísimo mayor que en otras plataformas como php o rails. Y lo peor, perdiendo el control del programa ya que la programación requiere de truquitos para que acabe funcionando.

Conclusiones

Como con todas las plataformas de desarrollo hay puntos a favor y puntos en contra. Es una buena herramienta para según qué proyectos web. A nivel personal solo lo utilizaría para el desarrollo de portales informativos donde no se requiere ninguna programación complicada. Para el resto de aplicaciones donde el dinamísmo y la interacción con el usuario es mucho más elevado, utilizaría otras tecnologías que permiten una mayor facilidad y agilidad a nivel de programación.

Además, sus costes a nivel de licencias no ayudan en nada a su expansión. Si fuera de código abierto, seguramente la comunidad la haría crecer de forma exponencial y quizás lo que hoy es un mal lenguage de programación, lo convertirían en uno decente y sobretodo ágil para el desarrollo de aplicaciones más complicadas.