Heisenbugs, Bohrbug, Mandelbugs, Schroedinbugs

(3)

Parecen insultos pero no lo son. De los heisenbugs había oído hablar hace tiempo en ¿Joel on Software? ¿Coding Horror? El resto de estos pintorescos tipos de bugs no los conocía. Muy curiosos.

Heisenbugs

Un heisenbug es un bug que desaparece o altera su comportamiento al intentar depurarlo.

El nombre es un juego de palabras con el "Principio de Incertidumbre de Heisenberg", que erróneamente se suele identificar con el efecto observador, y que, este si, afirma que el simple hecho de observar un fenómeno puede cambiar su resultado (vaya, yo soy uno de estos que confundía ambos, ¿quizás por Jurassic Park?).

Una causa común de los heisenbugs es que al ejecutar un programa en modo de depuración a menudo se limpia la memoria antes de lanzar la ejecución.


Seguir leyendo Heisenbugs, Bohrbug, Mandelbugs, Schroedinbugs…

Aprende a pensar

(17)

Más de la mitad del tiempo que dedicas a un proyecto (sobre un 70% del tiempo) lo pasas pensando, y no existe herramienta, no importa lo avanzada que sea, que pueda pensar por ti. Como consecuencia, incluso si tuvieras una herramienta que lo hiciera todo por ti excepto pensar -- si escribiera el 100% del código, si escribiera el 100% de la documentación, diseñara y ejecutara el 100% de las pruebas, grabara los CD-ROMs, los metiera en sus cajas, y los mandara a los clientes -- el máximo incremento en productividad que podrías lograr sería del 30%. Para conseguir mejores resultados, lo que tienes que hacer es cambiar tu forma de pensar.

-- Fred Brooks (Autor de The Mythical Man-Month)

101 formas de saber que vuestro proyecto software está condenado al fracaso

(13)

Aquí tenéis algunas de las que más me han gustado en castellano. El resto lo podéis leer en inglés en Codesqueeze.

  • Tu jefe podría ser sustituido por un script de redirección de correo
  • Los jefes han renombrado el modelo de ciclo de vida en Cascada a Cascada Ágil
  • Comenzais a contratar consultores para poder culparlos
  • Los requisitos están escritos en una servilleta
  • Cada reunión de control comienza con la frase "¿Quieres las buenas noticias o las malas?"
  • Vuestro sistema de control de versiones consiste en una serie de carpetas en un disco compartido
  • El desarrollador web piensa que la X de XHTML viene de eXtremo.
  • Los desarrolladores utilizan el bloc de notas como IDE
  • Tu jefe se pasa la hora de la comida llorando en el coche (basado en hechos reales)
  • Los de ventas disminuyen tus estimaciones porque piensan que puedes trabajar más rápido
  • Los del turno de noche de Starbucks te conocen por tu nombre
  • Consideras romperte los dedos para obtener una baja
  • Empiezas a plantearte si trabajar dos turnos en el Pizza Hut será una mejor alternativa laboral
  • Los de la grua se llevan tu coche del aparcamiento porque pensaban que lo habías abandonado
  • "Ah, si, casi me olvidaba. Ehh, voy a necesitar que vengais el Domingo también… gracias"

Ingenieros de software de la antigua Roma

(9)

Cuando los ingenieros romanos terminaban un puente debían colocarse debajo de este mientras la primera legión lo cruzaba. Si los programadores tuvieran que hacer lo mismo hoy en día, es probable que desarrollaran un interés mucho mayor en usar Ada.

-- Robert Dewar (CEO de AdaCore)

Evolución de la documentación de un proyecto

(4)

La mayor parte de la documentación comienza consistiendo en pequeñas notas rápidas ilegibles escritas por desarrolladores privados de sueño y a los que no se les contrató necesariamente por su habilidad para la comunicación.

Estas notas las reescriben graduados en Filología que acaban de salir de la universidad y que pasaron sus últimos 4 años inmersos en obras de ficción.

El resultado se manda al departamento de marketing, cuyo trabajo consiste en asegurarse de que ninguna palabra o frase produzca una mala impresión del producto ("No creo que la palabra 'Basic' comunique adecuadamente la excitante naturaleza del producto. ¿Por qué no lo llamamos 'Visual Zesty'?").

Por último los abogados terminan el trabajo asegurándose de que realmente no se haya prometido explícitamente que el producto haga algo útil.

Para cuando la documentación llega a tus manos, ha sido modificada más allá de lo reconocible y normalmente tienes que comprar un manual del producto editado por otra compañía en un vano intento de saber cómo usar el programa.

-- Grettir Asmundarson en Networking @ Novell

¿Bueno?, ¿bonito?, ¿barato?

(13)

Si no puedes hacerlo bien, al menos haz que sea bonito.

-- Cita apócrifa atribuida a Bill Gates

En Mundo geek estamos seguros de que es apócrifa porque Vista, además de malo, es feo.

PuTTY 0.59 beta

(13)

PuTTY, el cliente Telnet/SSH de código abierto, tiene nueva versión (0.59 beta) después de casi 2 años. Algunas novedades interesantes:

  • Se puede utilizar PuTTY para conectarse a puertos serie.
  • SSH funciona más rapidamente.
  • Mejoras en el manejo de ancho de banda con SFTP.
  • Mejoras en la criptografía en SSH-2
  • Posibilidad de configurar antialiasing y ClearType en Windows.
  • Fixes, fixes, fixes.

EULAlyzer

(0)

Seamos sinceros: hay poca gente que suela leer las licencias del software. Ya podríamos estar vendiendo nuestra alma al diablo, que pulsaríamos sobre Aceptar con toda tranquilidad. Y esto suele pasar más a menudo de lo que podríamos pensar.

Por eso EULAlyzer se hace tan útil. EULAlyzer es un programa que analiza las EULA (End User License Agreement, o licencia de usuario final) de los programas en busca de términos o frases potencialmente interesantes, como la advertencia de que tu nuevo software instalará programas de terceros o empezará a mostrarte pop-ups a los 15 días.

EULAlyzer

Comprobar los puertos en uso

(0)

En windows podemos utilizar netstat para comprobar qué puertos tenemos abiertos y qué puertos están en uso, pero existen alternativas mucho más cómodas como el freeware Active Ports que nos permite ver el proceso que está utilizando el puerto, ordenar la lista según el criterio que escojamos, poder detener un proceso con un solo clic o exportar a un archivo de texto toda la información. Y además, podemos indicarle que se actualice automaticamente cada cierto tiempo (mostrará en verde los nuevos procesos y en rojo los que han desaparecido desde la actualización anterior).

Mouser, controla tu ratón desde el teclado

(4)

Para amantes del teclado, echad un vistazo a Mouser, una aplicación creada por la gente de Life Hacker que permite mover el cursor del ratón sin tener que levantar las manos del teclado.

Controla tu ratón desde el teclado

La idea es tan sencilla como pulsar arriba, abajo, izquierda o derecha dependiendo de dónde se encuentre el objeto sobre el que queremos hacer clic respecto del ratón. Mouser dividirá la pantalla en dos, colocando el cursor en la mitad de la pantalla seleccionada.

Según su autor la media es de 8 pulsaciones o menos para llegar al destino, pero he de decir que después de probarlo un rato me parece más rápido usar el ratón.

Página 1 de 2012345»...Último »