2014, según Isaac Asimov

«Aun así, la humanidad sufrirá de la enfermedad del aburrimiento, una enfermedad que se disipará más ampliamente cada año, creciendo en intensidad. Esto tendrá serias consecuencias mentales, emocionales y sociológicas, y me atrevería a decir que la psiquiatría será por lejos la especialidad médica más importante de 2014. Los pocos suertudos que puedan involucrarse en trabajo creativo de cualquier tipo serán la verdadera elite de la humanidad, porque solo ellos harán más que servir a una máquina«.

Un trabajo creativo como el relacionado con el desarrollo de software, pues mas que servir a una máquina se programa lo que hace una «máquina» la creatividad va de la mano con el ingeniero de software, si no es así, su cerebro ha sido reemplazado por un procesador y hace las cosas mecánicas, no muy diferente de las máquinas que programa. La creatividad del artista equilibrista. Ingenieros humanistas…

Isaac Asimov previendo el impacto de Internt. Este es un vídeo que no tiene perdida:

Isaac Asimov 1920 – 1992

Basado en un artículo de fayerware

Principios del CodingDojo

tumblr_inline_mlt9l3PqXn1qz4rgp

  • La primera regla

Una regla importante en el Dojo es que uno no puede discutir algo sin mostrar el código y uno no puede mostrar código sin pruebas. Es un lugar donde se aplica el diseño. Donde se reconoce que el «código es el diseño» y que el código sin pruebas simplemente no existe. En pocas palabras: se habla con código.

  • Encontrar un maestro

Un maestro no puede ser maestro en todos los estilos o formas. Algún participante puede ser maestro si lo que me interesa es desarrollo web y ese participante es un profesional en ello. Todos somos maestros y discípulos en distintos tiempos

  • Venir sin prejuicios

Por supuesto, usted sabe cómo hacerlo. Ya sabe cómo y por qué este código es mejor que ese. Usted lo ha hecho ya. El punto es hacerlo en este momento, nos lo explique, y compartir lo que ha aprendido.

  • Aprende de nuevo

Podemos aprender de los errores de otros, así como de los nuestros si escuchamos con atención cuando le explicamos a alguien.

  • Ir despacio

Aprender algo debería forzar reducir la velocidad. Puede ir más rápido porque usted aprendió algunos trucos, pero no se puede ir más rápido y aprender al mismo tiempo. Está bien, no estamos en un apuro. Podríamos hacer eso por años. Algunos de nosotros sin duda. ¿Qué se pierde si pasan cuatro semanas más en este tema y no en cuatro temas diferentes? Más precisamente, cuando lleguemos a la próxima etapa, es porque pasamos por la anterior, o es sólo porque estábamos volando sobre ella?

  • Lanzarse ud mismo

En algún momento alguien empieza a dominar un asunto y quiere acercarse a otro. Los amenazado por el aburrimiento deberían lanzarse por primera vez en una presentación. El objetivo es recuperar un buen nivel de motivación, es decir, un nivel aceptable de dificultad.

  • Hacer caso al maestro

Si parece difícil para usted, busque otros participantes que puedan juzgar su código y que podrían fácilmente mostrar algo nuevo respecto a usted. Pregunte de nuevo hasta que el asunto no contenga absolutamente nada más de dificultad para usted.

  • El dominio de un asunto

Si parece fácil para usted, explíquelo  a otros que tienen dificultades. Explique de nuevo, siempre y cuando a los otros se les haga difícil.

Tomado de Codingdojo

¿Qué es un dojo de codificación?

Un «Coding Dojo» o lo que de momento llamo dojo de codificación es una reunión de personas que programan o «echan código» que se juntan para trabajar en un reto de programación. Con la idea de divertirse y mejorar su habilidades de programación.

dojo

Sigue leyendo

Patrones de diseño, buenasPracticas++

Bien, los patrones de diseño según algunos autores se pueden clasificar en 3 tipos:

  • Patrones de creación

Muestran la guía de cómo crear objetos cuando sus creaciones requieren tomar decisiones. Éstas se suelen resolver dinámicamente decidiendo que clases instanciar o sobre que objetos un objeto delegará responsabilidades.

  • Patrones estructurales

Describen las formas comunes en que diferentes tipos de objetos pueden ser organizados para trabajar unos con otros.

  • Patrones de comportamiento

Utilizados para organizar, manejar y combinar comportamientos. Nos permiten definir la comunicación entre los objetos de nuestro sistema y el flujo de la información entre los mismos.

Tipos de patrones de diseño

Esto de los patrones es particularmente importante porque ofrecen maneras inteligentes y ordenadas de programas por encima que funcione como sea, no, así como una casa debe ser bien construida y no empezar a levantar paredes a lo loco. Mas adelante iré comentando sobre cada uno.

Tomado vía Un poco de java

Generar datos de prueba para las bases de datos

Hola gente, cuando se está desarrollando software para poder probar algunas funcionalidades, a veces se necesita que en la base datos hayan algunos registros, y la forma aburrida de solventar esto es hacerlo manual: agregar uno a uno los registros, lo que implica pensar en nombre direcciones o para evitar esto se termina escribe: adasfsfsadf en todos los campos, y eso no es un que ayude mucho pues. El caso es que existen páginas que tienen una especie de diccionario y si usted necesita llenar una tabla de su base de datos cuyos campos son por ejemplo: nombre, dirección, edad… estos datos se pueden generar.

 

generatedata.com

 

Y generadata es una muy herramienta para evitarse en parte esa tarea manual, los datos son generados y se pueden descargar en html, formato de excel, xml, CSV, sql. Ya en la base de datos, basta con ejecutar el SQL por ejemplo para llenar las tablas correspondientes.

generatedata.com - Chromium_032

Subir proyecto [por primera vez] desde Netbeans a GitHub

Para poder hacer esto se necesita: Una cuenta en gitHub, y tener una llave ssh registrada también en gitHub. El propósito es colocar un proyecto ya existente de netbeans en gitHub para compartirlo.

La idea se lleva a cabo con crear un repositorio en GitHub y otro local en el PC, comitear en local, halar el repositorio de github, mezclarlos y subir a gitHub.

Crear repositorio en gitHub

Create a New Repository - Chromium_004 Sigue leyendo

Introducción a los patrones de diseño

Un patrón de diseño describe una solución particular  a un problema recurrente en un contexto especifico.

  1. Contexto: Una situación que da lugar a un problema
  2. Problema: El problema recurrente que se plantea en ese contexto.
  3. Solución: probada al problema.

Así pues los patrones vienen a ser como caminos seguros, por los cuales transitar cuando se está desarrollando. Hay 3 tipos de patrones de diseño:

  • Patrones de creación: Tiene que ver con la creación, inicialización y configuración de clases y objetos.
  • Patrones estructurales: Tienen que ver con la separación de la interfaz y el desacoplo de los objetos.
  • Patrones de comportamiento: Tienen que ver con la interacción dinámica entre clases y objetos.

 

Configuración de cambio: Gestión de la configuración del software – GCS

Construir software implican cambios que genera confusión porque:

  • No se analizan los cambios antes de realizaros
  • No se registran antes de implementarlos
  • No se reportan a quien debe saberlo
  • No se controlan.

Sigue leyendo