Cómo pedir ayuda para corregir un problema de programación

Estimado amigo/a,

acabo de leer tu descripción del error y petición de ayuda:

«He probado algunas cosas y la aplicación Java me falla siempre diciendo no sé qué error. Ya no sé qué hacer. Ayúdame»

Tengo algunos consejos para poder ayudarte. En concreto 10, que se resumen en uno: especifica el error. Si no describes con más detalle el error que obtienes no sabré ni por dónde empezar a ayudarte. El siguiente decálogo es un mínimo, cualquier otra informacióna adicional contribuirá a que pueda ayudarte con más posibilidades de éxito:

1) Una descripción detallada de lo que quieres ejecutar y cuál es el resultado esperado.

2) Una descripción detallada de lo que tu aplicación devuelve al ejecutarla. El mensaje de error en texto Y si es posible, una captura de pantalla adjunta. Es decir, el resultado obtenido.

3) Una descripción detallada del proceso que has seguido, punto por punto, hasta llegar al mensaje de error.

4) Un programa mínimo, que aísle las líneas de código de tu aplicación que crees que fallan. Ese programa, como te indico, debe ser lo más pequeño posible y debe demostrar la situación de error que quieres corregir. Envíame su código fuente (NO el ejecutable) junto con al menos un caso de prueba (cuantos más casos de prueba, mejor, pero al menos uno que demuestre el error).

5) Para el/los caso(s) de prueba del programa anterior, indica también cuál es el resultado que obtienes y cuál es el que esperabas obtener

6) Especifica el sistema operativo que estás usando en tus pruebas (nombre, versión, idioma). Si tu aplicación requiere a su vez de otras aplicaciones para ser ejecutada (bibliotecas de funciones o navegador o una configuración especial del sistema), indica todos los datos posibles de esas otras dependencias (como mínimo nombre y versión)

7) Especifica la versión exacta de Java que estás usando.

8) Indica qué pruebas has realizado hasta ahora y por qué no han funcionado.

9) Indica, si es posible, cuál crees tú que es la causa del error y qué cadenas de búsqueda has utilizado en Google/Bing/Yahoo para rastrear dicha causa… Si no lo has hecho hasta ahora, no busques sólo en castellano, hazlo también en inglés. Y utiliza portales especializados (p.ej.: StackOverflow.com) y grupos de discusión (Google Groups).

10) No te quedes parado tras pedir ayuda. Informa de avances en tu búsqueda y pruebas. Sigue investigando por tu cuenta. Pregunta en distintos foros siguiendo las normas de lanzar consultas técnicas sobre errores de programación de este mismo decálogo y si encuentras alguna pista más, infórmame de la misma.

Un «bonus» consejo más: cuida tu ortografía, gramática y expresión en los mensajes de texto que envíes. Pero de esos puntos ya hablé aquí en Enero y Diciembre de 2009, así que te recomiendo encarecidamente su lectura.

Quedo a la espera de tu respuesta.

Un reto relacionado con la edición de PDF’s

Me gustan los retos informáticos. Los que seguís este blog lo sabréis, y seguramente habréis disfrutado como yo con retos como el HackIt, HackIt2 y HackIt3. Pero no sólo de HackIts vive el hombre (ya podría ser!) 🙂 Así que, hoy traigo un reto más mundano: tenemos un PDF sin números de página (las hojas no están paginadas, vaya). El reto consiste en añadirle a cada página su número (1, 2, 3… etc.). Repito: es un PDF (no tengo el documento original a partir del cuál se creó). Y no quiero añadir los números a mano, claro, porque podría eternizarme 😉 Quiero que el ordenador trabaje por mí, y por supuesto, sólo se admiten soluciones basadas en software libre. ¿Te animas a superar el reto? Mañana (día 3 de Marzo), postearé la solución, pero mientras, ¡espero vuestras aportaciones! 😉

Recuperando mi tiempo

¿A cuántas listas de distribución que realmente no lees estás suscrito? Son una fuente de procrastinación. Hoy me he dado de baja de las siguientes:
* Fedora Weekly News (uso Ubuntu)
* GNOME Announce List (realmente no leía los anuncios)
* TopCoder (ya no participo en el torneo)
* Anuncios de YouSendIt (para qué quiero conocer las novedades si últimamente sólo envío grandes archivos a través de RapidShare)
* Amazon Web Services

Y alguna que otra más … Me siento más ligero.

CENATIC: Software Libre y Administración

CENATIC nos recuerda, aprovechando el desarrollo de Tecnimap 2010, 10 razones por las que la Administración debería de liberar software:

1. Permite mayor eficiencia presupuestaria al ahorrar costes en el mantenimiento y en la evolución del software.
2. Cumple las recomendaciones de la Ley 11/2007, del Real Decreto de Interoperabilidad, y de las directivas europeas de la ISA.
3. Favorece la transparencia, la interoperabilidad, la independencia y la sostenibilidad de las aplicaciones de las Administraciones Públicas.
4. Desarrolla el ecosistema del sector TIC, garantizando la independencia de proveedores y su disponibilidad futura.
5. Pone conocimiento y activos a disposición de las empresas.
6. Contribuye a la reducción del déficit público, y fomenta el desarrollo de una economía basada en el conocimiento y la innovación.
7. Mejora la competitividad al fomentar la cooperación entre administraciones, universidades, centros de I+D+i y empresas, extendiendo buenas prácticas de compartición de conocimiento y fortaleciendo la innovación abierta.
8. Facilita la adaptación a las necesidades concretas de las administraciones, en materia lingüística, legislativa, de accesibilidad e imagen.
9. Garantiza la privacidad y la seguridad en el tratamiento de la información.
10. Permite Compartir, Reutilizar y Colaborar.

En definitiva: al liberar software, la Administración Pública reduce su déficit, aporta valor al sector privado, especialmente a las empresas TIC locales, favorece la competitividad y contribuye al desarrollo de una economía sostenible basada en el conocimiento y la innovación abiertos.