Google Earth ha sido actualizado y ahora es un binario universal. Version 4.0.1563.
Google Sketchup ha sido actualizado y no es un binario universal, pero ya hay versión gratuita para MacOSX. Version 5.0.296
Y eso es todo.
Google Earth ha sido actualizado y ahora es un binario universal. Version 4.0.1563.
Google Sketchup ha sido actualizado y no es un binario universal, pero ya hay versión gratuita para MacOSX. Version 5.0.296
Y eso es todo.
Con alarmante frecuencia en las últimas dos semanas me he encontrado a mí mismo repitiéndole lo mismo a gente que debería saberlo ya. Hablo específicamente de una ley aplicada al desarrollo de programas informáticos conocida como la «Ley de Brooks» y, aunque es realmente simple de entender, por algún motivo no parece ni obvia ni natural si no te la muestran y demuestran usando tus propios errores como ejemplo.
Hay muchas metodologías, en estos días de tanto «emprendedor» y «gente altamente eficaz», que se enseñan para manejar equipos de trabajo y proyectos de todo tipo. La «Ley de Brooks» se centra sobre la incorrecta aplicación de uno de los estilos más comunes de llevar proyectos y, específicamente, a la espiral de desastre que suele desencadenar. Al final del artículo pongo más información sobre el libro de Brooks en cuestión y sus otros postulados sobre manejo de proyectos.
En México se dice «Échale más cemento» cuando algún proyecto está atrasándose y no va como debería. La frase viene de la construcción, donde lo que no puedas arreglar con buena ingeniería y arquitectura siempre lo puedes arreglar poniéndole mas hormigón y hierro. Esta analogía se extiende a muchas cosas en las que podemos vernos envueltos:
-¿No puedes transportar todo lo que debes? Échale más camiones
-¿No estás logrando apagar un fuego? Échale más agua
-¿Tienes más información de la que puedes capturar? Échale más gente capturista
-¿No puedes detener a Godzilla? Échale más tanques ((Ésta última es más común de lo que parece.))
El problema es que la solución de «Echarle más cemento» sólo sirve en los proyectos en los que el problema son los recursos y la solución obvia es buscar más recursos.
El otro tipo de proyecto, que es el que nos concierne, es el ‘Serializado’. Proyectos donde una tarea no puede ir antes de otra y cada tarea tiene que hacerse por la misma persona/grupo. Los desarrollos de software son de este tipo porque, con frecuencia (y especialmente en la segunda mitad), las partes que lo componen son interdependientes y dependen unas de otras. No puedes desarrollar pantallas de usuario si no tienes datos que presentar, no puedes hacer rutinas de importación si no tienes tablas definidas.
Esto obviamente no suele ser un problema en desarrollos hechos por grupos pequeños de manera informal pero cada vez más se ve el uso, por parte de compañías y corporaciones, de equipos de desarrollo de terceros, el famoso «outsourcing» o «subcontratación». El outsourcing significa, simple y llanamente, que alguien más hace el trabajo a partir de una serie de condiciones de resultados, por una cuota. ¿Cual es la pega? Que cuando se hace outsourcing de desarrollo tiene que haber un estimado previo estipulando cuánto se va a pagar por ese desarrollo y la forma más fácil de comprender lo que se está pagando es cotizar los proyectos en «horas-hombre»:
Concepto | Estimación |
---|---|
|
|
Una pantalla de acceso: | 10 horas-hombre |
Una rutina de importación: | 40 horas-hombre |
Pantallas de CRUD básicas: | 80 horas-hombre |
Un proceso de envío de mail automático: | 20 horas-hombre |
Total: | 150 horas-hombre |
Estas horas-hombre pueden luego, fácilmente, multiplicarse por el coste por hora y se sabe de antemano el costo de desarrollo del proyecto (o sea, 1500 euros en el caso de un desarrollador freelance y 150,000 euros en el caso de un desarrollador certificado de consultoría de Oracle).
Las horas-hombre (o su múltiplo, meses-hombre, equivalente a 160 horas) conducen a la deducción equivocada que si una parte requiere 10 horas-hombre entonces diez personas lo completarían en 1 hora. Es dolorosamente indiscutible que TODO líder de proyecto de desarrollo caerá en esta falacia, usualmente en su primer proyecto y, hasta que alguien no se lo señale, fallará en ver que es lo que está pasando mal.
La Ley de Brooks lo dice que «Añadir mas personal a un proyecto tardío sólo logrará retrasarlo más«. Esto significa que cuando un proyecto va retrasado y se intentan añadir desarrolladores nuevos no se toma en cuenta el tiempo el tiempo añadido que le lleva a los nuevos elementos el familiarizarse con el mismo, y que el tiempo adicional perdido en comunicaciones entre ellos puede aumentar tanto que puede llegar a rebasar el tiempo disponible (hay una fórmula al respecto, donde se muestra que a medida que se añaden elementos a comunicar el tiempo dedicado crece de tal manera que al final el 100% del tiempo se dedica a comunicación y el desarrollo se detiene).
¿Qué se puede hacer cuando un desarrollo está retrasado?
Las opiniones aquí son varias y variadas, y no hay ninguna que sea 100% adecuada, ya que depende mucho de la situación específica del proyecto y el cliente, pero el resultado final suele ser que la fecha de entrega del proyecto se retrasa (con o sin cargo adicional al cliente, usualmente el segundo) y en casos extremos el proyecto se cancela totalmente.
La única forma de evitar este problema es a través de delineación adecuada de etapas, metas y módulos en el proyecto y de una distribución adecuada de los recursos asegurándonos de tener localizados a aquellos programadores «estrella» que son capaces de moverse de uno a otro trayendo resultados inmediatos con el mínimo de preparación.
The Mythical Man-Month (El mítico mes-hombre), de Fred Brooks.
El libro ‘El mítico mes-hombre’ de Fred Brooks surge de sus experiencias en IBM y su error de intentar acelerar el desarrollo añadiendo mas desarrolladores al mismo, que es el tema central del libro. En el libro se manejan varios conceptos, de los cuales destacan:
El mítico mes-hombre
Arriba ya he comentado algo de este concepto, conocido como la «Ley de Brooks» pero cabe aclarar que la Ley se suele interpretar de forma incorrecta. Dependiendo de como se entienda puede pensarse que lo que sugiere es que un proyecto debe ser desarrollado por grupos pequeños de programadores altamente capaces, pero la realidad es que el concepto lo que cubre es la adecuada planeación del proyecto y la capacidad de dividir el mismo en módulos separados y que se puedan desarrollar de forma independiente. Específicamente la Ley de Brooks no dice que quitando personal de un proyecto se pueda acelerar su terminación (que podría ser una consecuencia lógica de invertir el postulado).
El efecto del ‘Segundo Proyecto‘
De este problema también son víctima casi todos los líderes de proyectos cuando, después de haber completado el primero deciden aplicar al segundo todo lo que han aprendido. El segundo sistema que haga un jefe de proyecto siempre estará horriblemente sobre-diseñado. En un intento de evitar los problemas encontrados en el primer proyecto el jefe de proyecto sobre compensará cayendo en el extremo opuesto.
El ‘equipo quirúrgico’
Todo jefe de desarrollo debe ser capaz de tener en su equipo al menos una persona e idealmente un conjunto de ellas capaz de atacar cualquier problema que surja. La idea es tener a estos grupos dedicandose a varios proyectos en áreas especialmente problemáticas o con labores asignadas pero capaces de entrar de emergencia en alguna etapa problemática. El concepto es bastante similar al concepto de «Electrón Libre» de Rands
Seguimiento del Proyecto
Metas y etapas (milestones) deben ser definidas de antemano para el proyecto, con fechas límite y conjuntos de funcionalidad mínima requerida. La única forma de evitar el acecho de nuevas funcionalidades es mantener el objetivo inicial hasta su conclusión y sólo entonces introducir mejoras al diseño original (la única excepción a esto siendo los «electrones libres», gracias a su capacidad especial de genios y aún en estos casos debe controlarse de cerca. Esto está atado directamente a…
Congelación de código y versionamiento
No existe ningun sistema perfecto y si no se decide un momento en que el código, esté como esté, se detiene y se declara la versión como terminada, jamás se producirían resultados. Escoger las funcionalidades que deben incluirse en cada versión y el momento en que el desarrollo se detiene hasta la próxima versión es vital para poder dar resultados. Obviamente el «síndrome de la versión 1.0» surge de aquí, pero la alternativa sería lo que se conoce como «vaporware». Proyectos que cada vez parecen tener más y mejor funcionalidad y capacidades, pero que nunca ven la luz del día.
Porque nuestros amigos insondables, los japoneses, no podían hacer un programa educativo igual a los demás: Pitagora Suichi es un programa dirigido a niños donde la «forma de pensar de los niños» es aumentada bajo la supervisión de Masahiko Satou y Mazumi Naitou.
El programa tiene muchas secciones pero hay dos partes especialmente graciosas:
-Algoritmos: Por medio de ejercicios y luego una marcha se muestra como funcionan los algoritmos. Donde una secuencia de acciones es repetida por igual por un grupo de personas y mientras cada una siga su secuencia pueden funcionar todas al mismo tiempo y sin chocar entre si.
–
Aquí, una colección de 15 minutos de estas máquinas sacadas de los programas:
Y porque todo blog que se precie tiene que incluir una referencia a Yatta (Dios Mío, los Yatta, es que no se ni qué decir, de verdad):
Los que me conocen saben que para mí, lo del doblaje, mientras más lejos mejor. He estado en contra del doblaje desde que trabajé doblando películas y series de TV y luego aún más cuando volví a España, al ver la mafia y el abuso que se hace del mismo.
Ayer, sin embargo, el doblaje para mí alcanzó un nuevo nivel de bajeza con algo que no pude ignorar.
En el episodio de House de ayer en Cuatro (Episodio 32, el décimo de la 2ª temporada), Failure to Communicate (Problemas de Comunicación), hay una escena donde Gregory House está en el aeropuerto y se escucha el altavoz anunciando retrasos en los vuelos. La voz dijo lo siguiente, de forma extremadamente clara y alta:
Su atención por favor. El vuelo 4556 de Iberia con destino Madrid Barajas, está retrasado por causas climatológicas.
Your attention please. The Iberia flight number 4556 destination Madrid Barajas, it will be delayed because weather conditions.
Y cuando lo escuché varias cosas me chirriaron, por decirlo así. No tiene sentido que las enumere porque no tienen porqué ser necesariamente cosas que la gente en general se de cuenta, pero lo dejé en mi memoria para luego revisarlo.
Justo antes de irme a dormir rebobiné la grabación y cambié el audio a V.O. para ver lo que decía originalmente. Lo primero que me sorprendió es que el volumen de los altavoces era bajísimo, apenas si se podía entender exctamente lo que decía, sólo se podía entender claramente la palabra «delayed» (retraso). Después de varios intentos me di cuenta de que lo único que decía es que los vuelos (en general) tendrían retrasos por problemas de clima.
Fue en este momento donde me fui a la cama, extremadamente molesto. Siempre me he quejado de las barbaridades que se hacen en los doblajes (las cuales conozco de primera mano al haber trabajado en ese mundo) y me ha decepcionado especialmente la dependencia que se tiene en España al doblaje (donde su práctica se defiende con razones cada vez más irracionales) pero el que ahora me estuvieran colando publicidad local en los doblajes (lo cual no podría ser más subrepticio y desleal) me pareció ya un extremo. Solo faltaba que la chica del altavoz dijera «El vuelo con destino Madrid Barajas en la nueva terminal 4 recientemente estrenada con éxito de Iberia ha sido retrasado«.
Esta mañana he buscado algo en Internet para ver si a alguien más le ha molestado y me ha asombrado descubrir que no parece haber nadie que piense que esto sea un problema mayor (de los pocos que lo han siquiera planteado). He encontrado algunas referencias en foros (#1, #2) y lo más triste es que en ambas la mayor parte de la gente termina concluyendo que así está mejor, porque le da más credibilidad a la serie. Hemos estado justificando los doblajes mediocres por tanto tiempo que ya incluso nos inventamos excusas con tal de no aceptar que los doblajes no tienen perdón de existir como forma principal (en vez de secundaria) a la Versión Original.
Cito algunos comentarios de estos foros:
[…]Pero el caso es que a mí lo que más me gusta son precisamente el tipo de expresiones «castizas» que meten de vez en cuando, que podrías oir aquí, paseando por la calle en cualquier momento. Y que precisamente me hacen tanta gracia por eso, porque me resulta chocantes oirlas en una serie americana[…]
[…]sobre las traducciones y adaptaciones del guion… ( me he visto las 2 versiones )
creo que en general … estan bien … solo q los cambian un poco para que suenen con mas musicalidad en nuestro idioma[…][…]Ese tipo de cosas lo hacen mucho en Sabrina y a mi me gustan bastante.[…]
¿Qué puedo decir? Simplemente penoso. Se justifica todo tipo de atrocidades con excusas de «ajustar la duración de la frase», «conciliar el movimiento de los labios», «localizar expresiones equivalentes» pero ya cuando directamente se dice que queda mejor cambiar totalmente los diálogos para satisfacer el (autopercibido) sentido del humor del traductor o para «colar» publicidad es imperdonable.
Ya ni siquiera se trata de usar ninguno de mis argumentos usuales. Es cuestión de que os están destrozando las series, os están cambiando los diálogos, os están colando publicidad local (de lo cual estoy seguro ésta sólo ha sido la más obvia pero ya había antes y habrá más después). Se están burlando de vosotros, que lo defendéis. Se están cargando las obras y os parece gracioso.
Estas últimas semanas (y esta es la razón por la que esto ha estado tan inhóspito tanto tiempo) hemos estado saliendo a carretera a conocer y dar vueltas. Madrid, Toledo, Ávila, Segovia, El Escorial, etc.
Este fin de semana haremos un recorrido un poco más largo, yendo a Granada y a Sevilla así que voy a trastear algo con el GPS.
La idea original era llevarme el PowerBook G4 y el receptor GPS Bluetooth, pero considerando que vamos un poco cargados en el coche tendrá que ser algo más simple. Voy a ver si es posible juntar el Haicom 405III con la Palm Sony Clie UX50 que lleva recogiendo polvo un año y que ésta última guarde la información en su Memory Stick. No necesito realmente nada de mapas ni rutas, sino que pienso sólo guardar los datos de ruta para después procesarlos.
Plan:
En ruta:
Después de ruta:
Ahora bien, no tengo ni el cargador de coche para el GPS ni un hack para también mantener cargada la Sony Clié (de la cual no tengo idea si la pila sigue funcionando y seguro se le ha borrado toda la memoria con todo el tiempo que lleva apagada) y en cuanto a software en Palm aún estoy un poco pez, pero seguiremos buscando (por el momento me parece que probaré con una combinación de Janszoon, CacheNav y CacheMate.
Por el momento, para trabajar con el portátil he encontrado una versión de gpsd que funciona nativamente en MacOSX (e incluso en Intel) que permite capturar la salida de este GPS y hay varios programas que luego pueden utilizar esta información (por ejemplo gps2geX que permite ver la posición actual en Google Earth o KisMac que permite ver una ubicación geográfica de redes inalámbricas). Hay varios programillas que permiten leer los ficheros de rutas que espero sacar del GPS, así que con suerte dejamos esto funcionando bien.
Normalmente no suelo hablar de mí por aquí. En parte porque no me es fácil y en parte porque no me gusta editorializar (contra lo que pueda parecer). Sin embargo han habido algunas conversaciones en estos últimos días que me han hecho pensar ciertas cosas y creo que puede haber otras personas que opinen de forma similar a mí.
Yo me encuentro en una situación poco usual. Nací en España y a todos fines soy español pero desde muy pequeño me fui a vivir a Venezuela primero y a México después. Hoy en día, a tres años de haber vuelto a la península me sigue costando convencer a la gente que conozco que si, que realmente nací en España (aunque haya sido en un sitio tan inesperado como Benidorm) y que sí, que ya se que tengo acento «sudaca», como tan sutilmente me lo han definido.
Y aquí, en lo que no debería ser más que una anécdota simple y sin mayor mérito, es donde se complican las cosas.
En estos tres años me he encontrado conque el hecho de que tenga acento hispano-americano (porque la mayoría no pueden ubicarlo como mexicano) me ha significado perder entrevistas de trabajo, un trato inferior en tiendas, bancos y servicios por teléfono y, en una ocasión memorable, perder el alquiler de un piso aunado a una clara implicación de que mi documentación era falsa porque estaba claro que yo no era español.
¿Porqué es especialmente triste esto? Porque en el momento que la gente se convence (y esta es la palabra exacta) de que SÍ soy español entonces la actitud gira 180º y empiezan a compartir conmigo, supongo que asumiendo que comparto su opinión, sus opiniones con respecto a hispano-américa y a los inmigrantes que vienen de allí.
Ahora bien, no soy yo alguien que diga que el mundo es perfecto en ningún país y mucho menos en los que yo he vivido pero, tal vez por haber vivido en varios, mi perspectiva es diferente. Nunca me dejará de asombrar la facilidad con la que estas inmensas generalizaciones se me mencionan como si por el hecho de no ser de allí signifique que deba compartirlas automáticamente. La gente se molesta cuando puntualizo que no, que no toda latino-américa puede pasarse por el mismo tamiz y que no, tampoco a toda la gente de un mismo país puede hacérsele eso.
Una de las consecuencias de haber vuelto a España (soy re-patriado, por lo visto) es que puedo ver mi propio país con ojos diferentes y que me es más fácil ser crítico en cosas que para los demás, por fuerza de la costumbre, es invisible ya. Esto deberia significar que podría caer en la categoría de «extranjero en la propia tierra» pero en realidad es algo que me suele gustar. Me ha gustado siempre ver todos los lados de lo que tengo enfrente mío y esto no es diferente pero también me ha acarreado problemas en un país en el que el deporte nacional es tomar bandos en una discusión y hacer todo posible esfuerzo por hundir al lado contrario (la técnica más común es ver quien puede discutir más alto, preferentemente descartando todo lo que diga el contrario sin intentar siquiera rebatir sus argumentos y, de ser posible, menospreciándolo por tener su opinión). Con frecuencia me he retirado de conversaciones simplemente porque, visto desde afuera, es totalmente fútil y una pérdida de tiempo el constantemente sostener discusiones en las que ninguno de los interlocutores contempla la posibilidad de ver las cosas de forma diferente.
A lo mejor te preguntas porque suelto todo esto, a las 2 en punto del lado oscuro del desayuno, y no tengo realmente una razón. Desde hace un tiempo lo había estado pensando y algunas situaciones de la última semana me han hecho escribir la parrafada que (probablemente no) acabas de leer.
No lo sé, a lo mejor algún día seré más específico. A lo mejor algún día comentaré las cosas que me chocan de mi país y las que pienso que otros hacen mejor. A lo mejor algún día hablaré sobre la ridícula animadversión hacia el idioma inglés (donde se intenta usar por todos lados pero es literalmente un orgullo hacerlo mal y cualquier crítica provoca una discusión estúpida que nada tiene que ver con el tema) y el doble-estándar al que se somete a este idioma (corregir el inglés de alguien está mal visto, pero no corregirle el francés, portugués o catalán). O sobre como puede acabarse la conversación de forma incómoda si no conoces ni te interesa el nombre del delantero izquierdo del Real Madrid o qué tiempo ha hecho Fernando Alonso en las pruebas de Monza.
En fin, buenas noches.
EDIT: Un año y medio después me encuentro con esta entrada de nuevo por casualidad buscando otra cosa y veo que, entre palizas, vídeos y manifestaciones en los medios, las cosas no han cambiado. Que no han mejorado. Que si encuentras a alguien que sepa ver mas allá del patrioterismo (recordemos: No es Xenofobia, es Racismo. Si fuera xenofobia se trataría mal también a alemanes, ingleses y suecos) tienes que cuidarlo porque NO es la norma.
Mira por donde, Apple en teoría no promueve los rumores y está en contra de ellos, pero esto no les evita poner en la publicidad de Google un link a una página que, actualmente, no existe hacia un producto que, en teoría, no ha sido anunciado.
O sea, juegan el mismo juego, pero lo escudan bajo «errores». Adorable.
NOTA: Apple ha anunciado los nuevos portátiles hace algo así como una hora. Más detalles en Faq-mac.
Algo poco conocido es que Apple tiene tres robots de AIM siempre listos para ayudarnos con nuestras pruebas de video y audio en iChat. Para agregar estos robots debemos abrir iChat, añadir un nuevo contacto, escoger AIM como protocolo y añadir «appleu3test01«, «appleu3test02» y «appleu3test03» (uno cada vez). Una vez añadidos nos aparecerán en la lista de contactos. Siempre están online.
Para probar una conexion de vídeo selecciona uno de los contactos y haz click sobre la cámara verde en el contacto. Para probar una de audio selecciona el contacto y haz click en el boton del auricular de teléfono en la parte inferior de la ventana. Se abrirá una Esperando Conexión con nuestra imagen esperando respuesta. Si todo funciona bien nos mostrará un vídeo para demostrar que la conexión se ha establecido exitósamente.
Para hacer una conferencia múltiple (máximo tres integrantes con los usuarios de prueba) haz click sobre dos de estos contactos y luego un click sobre la cámara de vídeo en la parte inferior de la ventana. (espera, conexión)
Estos bots automáticamente aceptan las conexiones, por lo que si se puede ver su imagen (usualmente están mostrando anuncios de Apple) es que la conexión está configurada correctamente. En caso de que haya cualquier error entonces será necesario reconfigurar iChat, el Mac y/o su firewall o el router y su configuración y volver a probar.
Esto ayuda, obviamente, a no tener que estar pidiendole a otras personas que nos ayuden a probar, especialmente cuando a quien le pedimos pruebas es gente que no conocemos en persona y siempre puede ser incómodo estar chateando en pelotas y que alguien quiera de repente verte la cara y oirte la voz.;)
Para probar una conferencia con tres contactos es necesario (por lo visto) seleccionar una persona real. Todos mis intentos de usar a los tres contactos «robot» han resultado en uno siempre cancelando. (conexión, conexión)
Calientito después del (incompleto, pero útil) artículo sobre 50 kits y librerías de Ajax y extendiendo el anterior listado de 30 tutoriales de Ajax llega una lista de 60 útiles tutoriales más de Ajax.
Cómodamente organizado muestra como llevar a cabo varios de los patrones de ajax que se están volviendo más y más populares estos días.
Una herramienta más para extender nuestras inquietudes y conocimientos sobre Ajax.
Aunque no suelo postear artículos sobre tecnologías de web (debido más bien a mi poca capacidad de hacer artículos claros y sencillos) es algo que me gusta y que sigo constantemente. Si te interesa conocer más sobre Ajax y otras tecnologías harías mejor en visitar con frecuencia weblogs como la excelente MMM, Ajaxian y docenas de otros.
Quien me conozca o lea esto que escribo sabrá que tengo una posiblemente insana obsesión con los mapas, GPS y Google, así que Google Maps y Google Earth me resultan especialmente adictivos.
Ahora que Google Maps no se sigue haciendo un lío con las direcciones en España y Europa he modificado un script de MacOSXHints.com que probé hace más de un año para la libreta de direcciones (Address Book) que permite mostrar una dirección y una ruta en la página.
El fichero es un ZIP que contiene los dos scripts:
-Google_Maps.scpt -> Muestra la dirección seleccionada en los mapas de Google.
-Direcciones_Gmaps.scpt -> Traza una ruta de la dirección del usuario hasta la dirección seleccionada.
Despues de descomprimir el directorio habrán dos ficheros. Estos deben ser movidos a alguno de los siguientes directorios (si no existe el directorio créalo):
/Usuarios/[usuario]/Librería/Address Book Plug-ins
/Users/[User]/Library/Address Book Plug-ins
(solo para el usuario actual)
/Librería/Address Book Plug-ins
/Library/Address Book Plug-ins
(para todos los usuarios)
Para usar los scripts una vez instalados sólo hace falta abrir la Libreta de Direcciones (Address Book, un contacto que tenga dirección y en el menú desplegable seleccionar la opción correspondiente. El navegador por defecto se abrirá y buscará la dirección en Google
Notas: