Hoy necesité ejecutar un pequeño intérprete hecho en perl que utiliza el módulo Parse::RecDescent. Como no trabajo con perl, me dí unas vueltas antes de dar con la forma gentooista de hacerlo (la flojiautomática ).
Denante, leyendo un libro, me encontré con esta chistosa "historia" en la introducción:
THE MYSTERIOUS CASE OF ANALYSIS PARALYSIS
It was a blustery, cold, rainy night at our flat on Baker Street. The howl of the wind whipping raindrops against the windows could be heard over Holmes’ violin as I read the paper in front of the fireplace. Mrs. Hudson had just cleared away the dishes from our late supper of pork pie and beans, when Holmes suddenly paused in the aria he was playing, sat bolt upright in his chair, and exclaimed, "Watson, the game’s afoot!" A few moments later, our good friend Inspector Lestrade from Scotland Yard clattered up the stairs and burst in the doorway, exclaiming, "Thank goodness you’re home, Mr. Holmes—you’ve got to come quickly!" "Come in, Lestrade. Pray take a seat by the fire and tell us every detail," said Holmes. "They’re all dead, Mr. Holmes, every one of them—the whole project’s dead! And no signs of violence, not a mark on any of them!" said Lestrade. "Who’s dead?" I asked. "The entire staff of Scotland Yard’s new automated fingerprint recognition system," Lestrade responded. "The whole technical staff . . . sitting dead right in the conference room . . . as if they’d been frozen to their chairs!" "Has anything been touched?" asked Holmes. "No, I’ve left the strictest instructions that the conference room be completely sealed off until you could inspect it," said Lestrade. "Most excellent," murmured Holmes. "You are learning, Lestrade. Come along,Watson." Grabbing our coats and hats, we hastened down to Lestrade’s waiting hansom cab. We arrived shortly at Scotland Yard and were escorted to the conference room, where we were confronted by a bizarre and grisly death scene. Still in their seats, but struck down by some mysterious assassin, was the entire staff of the new automated fingerprint recognition project. Holmes walked around the room excitedly, his highly trained senses alert for any sort of clue. He paused at the whiteboard, and again at a stack of UML books on the table. "You see, Mr. Holmes, they’re all dead, and not a mark on any of them. How could a whole project just die like that?" asked Lestrade. "Elementary, my dear Lestrade. A clear case of that obscure poison from the Amazon jungle known as analysisparalysisflagrantis. Perhaps you’ve seen my monograph on the topic? No? Tut, tut," murmured Holmes. "But Holmes, how can you be sure?" I queried. "All I can see is these UML books scattered around the table. Here’s one called Fully Dressed Use Cases: The Hallway Closet Approach by Professor Moriarty. It suggests you should stuff everything you can think of into your use cases, just like you do with the hallway closet," I said. "You see,Watson, but you do not observe. Notice the three-day growth of beard on all the corpses, and the scrawls of <<includes>> and <<extends>> on the whiteboards?" asked Holmes. "Sure enough, Mr. Holmes," said Lestrade. "Even the women have grown beards!" "Great Scott!" I exclaimed. "Gives me the shivers." "Analysis paralysis,Watson," said Holmes. "The second fastest killer of software projects, after DoingTheSimplestThingThatCanPossiblyWork, and nearly as dangerous. It’s caused by a lethal overdose of formality and strict adherence to the UML semantics documentation. Moriarty’s been up to his evil tricks again. You see the hollow expressions on the victims’ faces, caused by interminable meetings spent debating topics of marginal uselessness. The despair and the anguish. The feverish search for a practical approach instead of highbrow theories. And all so easily avoidable," he sighed. "Come along,Watson, we have arrived too late." We headed homeward toward Baker Street and the fireplace.
El texto citado pertenece a "Use Case Driven Object Modeling with UMLTheory and Practice". He leído en más de alguna ocasión en blogs y listas de correos críticas a UML, a lo gigantescamente-latero-e-inútil que es. De hecho, le hice el quite a UML en el generador en que trabajo en eneficio de Ecore, que tiene un metamodelo más (muchooo más!) simple.
Estoy con tooodo el stress post paro . La semana pasada le hinqué el diente, entre otras cosas, a Asalto Pingüino. El deadline se acerca peligrosamente, y desarrollar un juego siempre trae inconvenientes. Este fin de semana me pegue una trasnochada tratando de resolver unos cuantos problemas, más que nada referentes a sincronización de acceso a recursos desde diferentes threads. Con el tecleo frenético de la semana pasada concluí:
Conectividad: protocolo de comunicación, serialización de mensajes, etc.
GUI Servidor: consola en Gtk+ para manejar el servidor y recibir feedback.
Cliente como State Machine: capacidad del cliente para manejar las pantallas como estados, y permitir transiciones entre vistas fácilmente.
Reestructuración de los proyectos: reordenamiento de clases y namespaces. Creación de un proyecto base, que tiene el modelo de clases y utilerías comunes a servidor y cliente, que se traduce en una biblioteca estática.
En este minuto, la pantalla inicial se ve como en la imagen inferior. Falta que mis compañeros, dedicados a los aspectos artísticos, mejoren el fondo.