sábado, 28 de septiembre de 2013
viernes, 6 de septiembre de 2013
viernes, 29 de junio de 2012
En el E3 Microsoft dio mucho énfasis a smartglass para integrar el uso de gadgets como tablets y smartphones con su consola Xbox 360 apoyando así su plan de que más que una consola sea un centro de entretenimiento multimedia que reproduzca y comparta variados contenidos.
Me llamo la atención y fue uno de los temas que trate en mi episodio anterior Desde la Madriguera #31 que pueden escuchar aquí, junto con otros temas de la semana pasada como noticias del mundo de videojuegos y los Nintendo Direct y el 3DS XL. Dejo aquí un reproductor con el audio.
Siguiendo con ese plan Microsoft la semana pasada anuncio Surface, su tablet, cuya característica más llamativa de momento es que al parecer va a funcionar con Windows 8, aunque aun no se sabe si será una versión recortada o la versión completa de la que se han ido mostrando adelantos y que ya se veía que manejaba mosaicos y ocultaba algunas opciones de configuración no muy utilizadas por usuarios poco avanzados, lo que le daba una apariencia orientada a Tablets.
Me parecio muy llamativo que Microsoft se meta al mercado de hacer hardware, cosa que si mal no recuerdo no hacia desde el fallido Zune, del que ya hablamos una vez (y fue por un fallo tonto que los mato a todos al mismo tiempo, sigan el enlace y rían un poco) y que era una especie de iPod propio. Aunque con Xbox les ha ido bien, ¿Cómo le ira a ir con Surface?
Además de Windows 8 también va a tener una versión de Office, con lo cual parece que va a tener un sistema operativo más grande que otras tablets que manejan iOS o Android. Y bueno, es software de Microsoft así que probablemente por eso la tablet va a tener mucho poder en su hardware porque lo necesitará para moverlo.
Esto es muy importante diferencia porque por un lado evita las limitaciones que tienen con sus sistemas operativos las tablets de la competencia pero por otro lado podría ser una manera en que Microsoft combata la falta de APPs de inicio en su tablet. Si puedes ejecutar aplicaciones para Windows puede que no extrañes que X o Y aplicaciones populares en iOS y Android no las tengas, total, si llega a poder ejecutar aplicaciones para Windows tienes el problema resuelto.
Aquí vemos el vídeo de presentación de la nueva tablet.
Continuamos ahora con las características del hardware, que va a contar con dos modelos.
Una versión austera de menos de un centímetro de grosor, un poco más de medio kilo de peso, con un pantalla HD de 10.6 pulgadas protegida por Gorilla Glass, memoria interna de 32 o 64 GB, CPU ARM de Nvidia y con puertos HDMI, MicroSD y USB 2.0, todo esto metido dentro de una carcasa de magnesio para que sea ligera y resistente.
La versión para gente pudiente es casi lo mismo pero... peeeero con USB 3.0, un mejor CPU Intel i5, batería de más capacidad, la memoria interna es de 64 o 128GB y por eso será un poco más gruesa y pesada.
Además va a traer una cubierta similar a la del iPad pero con la novedad de que la cubierta también es un teclado QWERTY completo, físico y con un trackpack y toda la cosa para poder usar este nuevo gadget como si de una laptop ultra-delgada se tratase. ¿Bien verdad? A mi me parece bien en teoría pues como que lo físico da un no se que que se yo que esta bien sentir que las cosas existen... además de que el teclado así te dejará más pantalla libre cuando estés escribiendo así que será tener un poco de lo mejor de dos mundos... me gusta, a lo único que le temo es al precio que le vallan a poner al nuevo juguete.
A mi ver la clave para el exito que Surface puede explotar son dos; un sistema operativo robusto y el teclado fisico con eso hipoteticamente podra hacer más cosas que una tablet estandar.
Uno de los grandes "peros" si no es que el principal pero que le ponemos muchos a las tablets es que no sirven para trabajar en serio, si, que estan muy bien para navegar en Internet y ver algunos contenidos multimedia y cositas así, pero con Surface apuntan a que puedes hacer eso en su modo tablet y cuando ocupes más pues pones el teclado y usas tus aplicaciones de Windows y ya esta.
jueves, 28 de junio de 2012
Esta semana @dotbotcode me dijo que mi blog, o sea esta página que estas leyendo le sirvió de inspiración hace como un año, esto a raíz de que leí su blog -llamado Los Ojos de Sora- y le comente que es hasta raro que en estos días en que las redes sociales y el microblogging nos han arrebatado a muchos antaño bloggeros activos llevándolos por los nuevos caminos de simplicidad e inmediatez que medios como Twitter nos ofrecen y ahora en lugar de escribir una entrada más o menos extensa comentan y debaten casi en tiempo real.
Otros tantos se han hecho v-bloggers también. Te grabas con un smartphone o una webcam, lo subes a tu canal de youtube y listo, sin complicaciones. Lo sencillo, la gente quiere expresarse y punto, nada de pelearse con un host, personalizar un sitio, actualizarlo y esas cosas. Así que cada quien se busca la vida con los servicios más sencillos y gratuitos que hay disponibles si le es posible y ya esta.
De hecho ya no solo es que los blogs ya no se actualicen si no que hasta la gente deja de visitarlos y/o de comentar en ellos. La gente, entendida como una masa, va saltando de aquí para allá al nuevo servicio que esta de moda, donde estén sus conocidos e intereses en un continuo proceso de migración conforme van saliendo cosas nuevas y los blogs ya no son la novedad y solo queda el núcleo que los usa, como fue antes de que fuera mainstream.. y no lo digo en modo hipster porque yo llegue a esto cuando era muy mainstream, pero ahora mismo ya les paso su momento.
Ahora todo esta más fragmentado pero por un lado eso me parece muy bueno, pues quedo lo mejor y cada quien que se especialice en el contenido que quiera darle al Internet.
Por esos motivos me llamo la atención el tweet de dotbotcode y como le da publicidad a su blog y lo actualiza muy seguido, y le doy las gracias por retroalimentar el animó, que era lo que me faltaba, si, animo y no ganas.
Muchas veces, como esta semana, simplemente al volver a la madriguera fisica que llamo hogar no me apetece ponerme en la compu a teclear, es un ciclo en delicado equilibrio que va del tengo muchas ganas de escribir para decir lo que opino de [inserte algo aquí] y no tengo el animo de escribir nada, mejor vamos a ver que hay en la TV, la consola, el ultimo libro/revista que compre, Netflix, algún foro en Internet o que esta haciendo el gato... y ya, no escribo nada.
Si, a veces escribir para un blog tradicional da mucha pereza, como esta semana, que he tenido ganas de escribir pero no los ánimos para hacerlo porque por otros motivos me he sentido mentalmente agotado y esto de ponerse a escribir se ve muy fácil pero no son enchiladas, y ya ven, en cambio seguí twitteando que también es escribir pero ni de broma requiere el mismo esfuerzo para hacerlo bien pero vamos, una entrada como esta no la voy a escribir en twitter mandándola en trocitos de 140 caracteres ni de chiste, pues es un formato tan breve que de inmediato queda sepultado en mi timeline que no me satisface, quiero algo más estable como mi madriguera.
Para mi esto de bloggear es una catarsis mental para poner en orden mis ideas; ideas que antes revoloteaban en mi mente haciendo ruido ahora están por escrito, en orden y documentadas para mi placer y consulta porque en la superficie soy un egocéntrico asqueroso. Por eso el blog sigue funcionando para mi y aquí cada tres días en promedio.
Creo que es hora de darle una sacudida a mi blogroll para retirar los cadaveres, agregar novedades y también ya es hora de maldecir galardonar a un blog ganador con el Mudkip de Oro de este año.
Gracias por leer y alimentar a este rinconcito del Internet, espero se lo pasen tan bien como yo aquí.
Cya!
PD: En el blog de Los ojos de Sora tienen esta construyendo una sección dedicada al entrenamiento pokémon, lo cual tiene en común con este sitio.
miércoles, 2 de mayo de 2012
Hola estimad@s lectores, como sabrán Gnoblis usa Ubuntu en la notebook desde la que escribe esta entrada, y este sábado actualizo su SO a Ubuntu 12.04 Precise Pangolin... se le están acabando los animales a Canonical.
Apenas dos días de uso no muy profundo y me ha parecido muy igual a la versión anterior, lo que es logico porque esta versión es un LTS (Long Time Support) así que debe ser estable y correr riesgos con novedades que no esten estables y probadas, además de que actualice la versión de 11.10 que ya tenia instalada en lugar de hacer una instalación limpia y me respeto muchas cosas que tenia personalizadas ya, pero lo que si note diferente fue lo siguiente.
La barra de lanzadores esta fija. La barra lateral izquierda ya no se oculta automaticamente. Al usar una pantalla pequeña me gusta que Unity buscará ahorrar espacio para maximizar el área visible de la aplicación en uso, pero ahora la barra de lanzadores se queda ahí fija por los siglos de los siglos comiéndose un pedazo de pantalla que seria más útil dárselo a la aplicación.
Relacionado con lo anterior, cambiaron un poco el Dash (la pantalla que sale cuando presionas la tecla Super, la del logo de Windows en la mayoria de los teclados de PC) agregandole mejores descripciones a los archivos y aplicaciones que salen cuando buscas en el Dash, y además agregaron las categorias usadas en el Dash a los iconos de la barra Launcher para facilitarnos encontrar lo que sea que andemos buscando, que en 11.10 era un pelín más indirecto pues habia que abrir la carpeta Home y de hay explorar o crear lanzadores a tus carpetas de más uso.
Apariencia. ¿El punto anterior le molesta a alguien además de mi? Pues en ese caso la distribución tiene aplicaciones para gestionar la apariencia y el comportamiento de nuestro escritorio. La aplicación "Apariencia" se encuentra en la "Configuración del sistema" y ha sido renovada y además de lo típico de cambiar el fondo del escritorio y cosas así de tradicionales se le ha añadido una pestaña para configurar el comportamiento de la dichosa barrita Launcher antes mencionada, que viene fijo por defecto, pudiendo ocultarlo y también seleccionar la parte de la pantalla (lateral izquierdo o esquina superior-izquierda) donde situar el cursor para que aparezca la barra.
En la versión anterior 11.10 nunca use esta opción, sospecho que pusieron adrede la barrita para obligarme a notar que trabajaron en esto, programadores hambrientos de atención.
MyUnity. ¿No es suficiente personalización para ti? Checa la aplicación en los repositorios oficiales de Ubuntu y podemos instalarla desde el Centro de Software (del que voy a hablar un poquito después) o desde la terminal (la consola aun existe) con el comando:
sudo apt-get install myunity
Además de los cambios básicos al escritorio la aplicación tiene muchas opciones para configurar Unity. Puedes personalizar muchas cosas del escritorio, la barra de lanzadores, el Dash (la pantalla de selección de aplicaciones que sale cuando presionas la tecla Super o “la que tiene el logo de Windows”), el panel (barra superior con notificaciones varias), fuentes, etc.
Gnome Shell y Gnome Tweak Tool. Ya se que a muchos no les gusta Unity, si yo usará una PC de escritorio con un monitor como Dios manda creo que tampoco lo usaría así que para los que usan el escritorio Gnome (o si quieren usarlo chequen esta guía de Gnome Shell) entonces usen Gnome Tweak Tool para más o menos lo mismo, y la encuentran en el centro de software o descargándolo con el siguiente comando:
sudo apt-get install gnome-tweak-tool
Centro de Software. La aplicación para descargar, instalar o desinstalar aplicaciones fácilmente de nuestra PC también ha sido renovada.
Ahora me recuerda mucho a la Android Store y otras tiendas digitales por el estilo.
ALT + TAB. Otra cosa que encontre diferente es que Alt + Tab no muestra todas las aplicaciones abiertas, si no solo las que se encuentran en el escritorio (workspace) en donde estas, así que eso me hace estar primero moviendome entre escritorios para saltar de aplicación en aplicación.
No encontre un modo de volver al comportamiento anterior, pero buscando he leido que en Gnome el Alt + Tab tiene algunos problemas más graves, mal por esta versión.
Conclusión. Esta versión LTS es un Ubuntu 11.10 pulido, en rendimiento, aunque no he hecho benchmarks de rendimiento a ambas versiones pero no he notado cambio ni para mejor ni para peor. Supongo que en lugar de pulir eso se esforzaron en mejorar la estabilidad de cara a futuro.
¿Alguien más lo ha probado ya?
sábado, 21 de abril de 2012
Es sábado, la fecha limite para entregar un sistema se acerca y tuve que ir a la oficina por el asunto de la pieza de lego del futuro ¿Cómo explicarlo? Yo creo que así.
Para más información recomiendo este libro.
sábado, 24 de marzo de 2012
Este sábado asisti y participe en BarCamp Culiacán V3 que esta vez se trato sobre videojuegos e igualmente organizado por Coltsin para dar (des)conferencias y ser un punto de encuentro entre entusiastas e interesados en videojuegos; tecnologías computaciones, de la información y comunicaciones, donde se lleven a cabo proyectos de fomento, desarrollo de competencias y tecnológicos según ellos mismos explican en sus páginas que deje enlazadas.
BarCamp V3 se llevo acabo en la Torre Académica de la UAS, que es un lugar que me parece agradable para este tipo eventos... y también para los eventos de cosplay pero esa es otra historia, y durante este BarCamp fue el episodio 112 de InGameVG con publico y "maldición" de por medio.
El programa estuvo muy bien, entretenido y tuvo algunas cosas curiosas fuera de lo normal, cosas del en vivo... por ejemplo anonymous en la sala.
Durante el programa el programa también nació el HT #ChangeVideoGamesNameForPanda que empezó en el chat del programa y @TraviStokHausen lo paso a Twitter. Tomo mucha fuerza un rato.
Bueno gente, nos vemos en el próximo BarCamp cuando sea que sea.
miércoles, 14 de marzo de 2012
De repente hoy mi smartphone con Android me notifica que hay actualizaciones para algunas aplicaciones, simple rutina pero de repente al entrar al Android Market me encuentro con un aviso de que esta siendo reemplazado por Google play ¿Y qué es Google play?
No es solo un cambio de nombre o un lavado de cara al logotipo, es una unificación de lo que fue Android Market junto con Google Music, Google Films y Google eBookstore que pretende que el usuario acceda desde un mismo lugar a las aplicaciones pero también a contenido multimedia como eBooks, películas y música desde un mismo lugar, 4GB de almacenamiento en la nube y acceso desde multiples dispositivos a tus contenidos porque puedes acceder desde gadgets con Android o desde computadoras, y al menos desde el teléfono no se ve muy diferente de lo que fue Android Market, y desde Internet se puede acceder mediante https://play.google.com/store si gustan comparar.
El sistema anda por ahí desde el pasado 6 de marzo y va apareciendo disponible a quienes tengan Android 2.2 o superior.
Al parecer Google apuesta por fortalecer Android y Chrome apoyándolos mutuamente compartiendo entre ellos estos 4 servicios fusionados, aunque le quedaron por fuera Youtube, Gmail, Google Docs, Google Maps, Google+ y Blogger probablemente porque no están orientadas a la venta del contenido como si lo esta Google play, aunque obviamente seguirá teniendo también contenido gratuito, al menos las aplicaciones.
Lo de unificar todas tus compras y descargas de contenidos a una cuenta accesible desde la nube por cualquier dispositivo se ve atractivo, por ejemplo me compro un eBook en casa desde mi PC y cuando este fuera me lo puedo descargar en el smartphone o alguna tablet que tenga a mano, además guarda registro de “donde te quedaste” para que por ejemplo si estabas viendo una película en un dispositivo y solo viste X parte luego puedes continuar en otro justo en el punto donde lo dejaste, algo así como lo que hace Netflix.
Teniendo 4 GB de espacio para almacenar en la nube... pero, siempre tiene que haber “peros Región 4” pues el contenido multimedia de lanzamiento esta disponible en USA, Canada, UK y Japón... el resto como México, hay cuando tengan chance pero mientras conformence con las aplicaciones.
Google play es un cimiento unificado para las estrategias en marcha de Google como sus ChromeBooks o Google TV.
La página oficial es http://play.google.com/about/
jueves, 23 de febrero de 2012
Hola de nuevo mi estimad@s par de lector@s ¿alguno extraña entradas nuevas en este humilde rincón de Internet? Siento decepcionarlos porque mi triunfal retorno al bloggeo es una aburrida entrada de trabajo, y pues ya saben que cuando traigo cierta carga de trabajo este sitio reciente el abandono y además cuando dejo de escribir un tiempo pierdo la costumbre y es dificil retomar. Ahora a lo que vamos a contar hoy.
Estaba yo trabajando con una instalación nueva de Ubuntu 11.10 Oneiric Ocelot en una PC en una red con proxy cuando llego el momento de conectarla a internet entonces fui a buscar la opción "Network Proxy" pero no la encontre por ninguna parte. Según averigue es un fallo ya resuelto pero como la PC no tiene internet por que falta configurar el proxy pues se nos forma un Uróboros informatico aquí.
Por eso me puse a buscar como configurar el proxy y dejo este par de maneras.
Si solo te interesa navegar...
Ubuntu trae por default FireFox y muchos ya estaran acostumbrados a ajustar las opciones de este navegador pero para los que vienen de Windows tal vez los descoloque entrar y que la opción donde normalmente lo harian no esta. En FireFox para GNU-Linux se encuentra en Editar -> Preferencias, y a partir de aquí si es igual que en Windows. Seleccionar la pestaña Avanzado y entonces ya podran llegar en una pantalla como esta las opciones de su proxy.
Hecho esto ya podemos navegar por Internet lo que nos ayudará mucho para poder Googlear cualquier otra duda o configuración que requiramos.
Si quieres configurar el proxy para todo...
El hecho de no tener una ventana para configurar en modo grafico no significa que la opción no exista, recordemos que después de todo hay un Linux corriendo debajo de ese bonito ambiente grafico que nos facilita la vida así que recurrimos a la todo poderosa terminal y desde linea de comando podemos configurar el proxy de la siguiente manera. Abrir una consola y teclear (o copypastear con un poquito de edición) lo siguiente:
gsettings set org.gnome.system.proxy use-same-proxy 'true'
gsettings set org.gnome.system.proxy.http authentication-password '[tu password]'
gsettings set org.gnome.system.proxy.http authentication-user '[tu usuario]'
gsettings set org.gnome.system.proxy.http host '[la dirección IP de tu proxy]'
gsettings set org.gnome.system.proxy.http port '[el puerto de tu proxy]'
gsettings set org.gnome.system.proxy.http use-authentication 'true'
gsettings set org.gnome.system.proxy.http enabled 'true'
Usuario y contraseña suelen ser los que usas para iniciar sesión y cada linea es una instrucción independiente, no se les pase ponerle sus propios valores a la instrucción antes de ejecutarlas desde el simple copy&paste.
Si quieres configurar el proxy para todo, y en modo grafico...
¿Linea de comando en 2012? Si crees que eso es de nerds anticuados hay una alternativa. Cómo dije antes, si la opción grafica para hacer la configuración no existe... entonces pongamosla. Podemos recurir a la siguiente ayuda: dconf-editor.
Dconf-editor nos permitirá entre otras cosas poder configurar los proxys en modo grafico. Para instalarlo podemos ejecutar las siguientes lineas en una terminal:
sudo apt-get install dconf-tools
dconf-editor
Ya, ya... era broma, además si no tenemos el proxy configurado el apt-get no va a funcionar de todos modos. Ya en serio, supongo que si pudieron configurar el proxy al navegador FireFox que la distribución incluye por default si pueden navegar por Internet al menos así que entren a la siguiente página http://packages.ubuntu.com/oneiric/libs/dconf-tools y descarguen la aplicación desde ahí según la arquitectura de su computadora, ya sea AMD64 o i386 y ya que tengan el paquete .deb instalenlo con un simple doble click.
Ya instalado dconf-editor ejecutenlo y seleccionen la opción system -> proxy y ahí indiquen el modo "manual" y "use-same-proxy". Luego en la opción system -> proxy -> http ingresen la información de configuración de su proxy.
Ahora ya debería funcionar correctamente.
viernes, 27 de enero de 2012
Hola mi estimadisimo par de lector@s. Como comente a principios de semana estuve asistiendo a un curso de SCRUM ¿Y qué es eso se preguntará usted? Una forma de trabajar que se apropio del nombre de una jugada del Rugby y fue desarrollado en los 90's por unos tales Ken Schwaber y Jeff Sutherland. Para que no se me valla a olvidar del todo lo que aprendí en este curso y para quien pueda querer consultar algo al respecto procedo a anotar aquí mis impresiones del curso y un leve resumen de lo que vi pero advierto desde ya que no pretendo escribir una guía completa... para los demás, de antemano pido me disculpen por aburrirlos y los invito a volver la próxima entrada o a ver alguna otra entrada random que les apetezca más, gracias.
"A todo el mundo le gustará Scrum;
es lo que ya hacemos cuando estamos
entre la espada y la pared."
-- Jim Coplien
SCRUM es un método de desarrollo de software ágil, pero a diferencia de lo que muchos directivos podrían pensar o querer no es ágil por hacer lo mismo más rápido, si no que involucra cambios más profundos. SCRUM y los metodos agiles son alternativas a otros metodos como CMMI a los que considera rigidos y pesados. La metodología ágil trabaja con personas para generar productos mientras que los metodos tradicionales se enfocan en CONTROLAR el proceso.
Scrum no es un proceso o una técnica para desarrollar o crear productos, sino que es un marco en el que se pueden emplear diversos procesos y técnicas. El papel de Scrum es hacer aflorar la eficacia relativa de las prácticas de desarrollo empleadas por usted, para que pueda mejorarlas, a la vez que proporciona un marco dentro del cual se pueden desarrollar productos complejos, que ha diferencia de los procesos tradicionales se basa en la experiencia empírica y en tratar a las personas como personas variables y no en los tiempos y el control, su objetivo primordial es producir algo útil con lo que el cliente este satisfecho y no en que el gerente se sienta que tiene un control total de lo que hace su personal en todo momento. Trabaja de forma iterativa e incremental aunque sacrifica algunas cosas como definir de antemano cuantas horas exactas va a tardar cada actividad durante todo el proyecto y eso puede darle temor a los directivos.
- SCRUM es muy simple
- SCRUM es difícil de implementar
- SCRUM funciona en el contexto adecuado
¿A qué se refieren los puntos anteriores? Primero a que SCRUM es adaptable, no pide mucha documentación, los formatos te los puedes inventar tu, promueve la experimentación continua para buscar mejoras y cosas así. Lo segundo se refiere entre otras cosas a que es un cambio drástico respecto a los procesos tradicionales pero no solo en la forma de trabajar si no de la organización y para muchos hasta de forma de pensar y por ultimo se refiere a que no funciona para todo tipo de trabajo debido a su naturaleza cíclica e incremental. Ahora procedo a hablar un poco más a fondo de cada cosa.
Primero ¿Cuando es útil SCRUM? Cuando el proyecto es lo suficientemente complejo como para durar al menos una semana (puede ser menos pero entonces tal vez otras alternativas sean mejores que SCRUM) y cuando nuestro dominio de ante mano de la tecnología y los requerimientos del sistema nos impidan hacer fácilmente una planificación exacta con un método tradicional.
Si el proyecto ya lo tenemos bien dominando entonces experimentar con SCRUM, pero si no, entonces si se sugiere intentarlo.
En SCRUM no se planea todo exhaustivamente al inicio del proyecto si no que se busca obtener requisitos prioritarios y poder crear en base a ellos una primera base entregable que pueda funcionar pronto, y luego tomarse un ciclo de mejora y si es necesario otro y así hasta que quede listo. En cada ciclo se puede planear que va a estar listo para el final de ese ciclo pero probablemente no se sepa cuantos ciclos serán necesarios a ciencia cierta aunque se puede tener una idea general. Los resultados de cada ciclo sirven para que el cliente vea avance y como base para el siguiente ciclo más depurado y con más información. A cada uno de estos ciclos se le llama SPRINT.
El corazón de SCRUM son los SPRINTs, que son iteraciones que se recomienda duren entre mínimo una semana y máximo un mes dependiendo del tipo de proyectos con que se trabaje y decisiones del equipo pero se ruega que en la medida de lo posible la duración de los Sprints sea constante pues se busca alcanzar un ritmo estable de trabajo debido a varias razones como la satisfacción del usuario y de los trabajadores en el equipo, para poder medir la velocidad de trabajo razonable del equipo y facilitar la planificación de trabajo futuro.
En cada sprint se debe de terminar algo funcional para el cliente y se debe empezar por lo más prioritario para el cliente ya sea porque es lo más básico o que genera más riesgo en caso de no estar. Lo demás se deja para posteriores sprints. Por eso es un método incremental.
Los Sprints se componen de: la Reunión de Planificación de Sprint, el trabajo de desarrollo, la Revisión del Sprint, y la Retrospectiva del Sprint.
AutoOrganizarse. Si el corazón de Scrum son los Sprints, La auto-organización de los equipos de trabajo es la clave. Consiste en que en lugar de tener roles fijos donde cada quien hace una cosa y solo esa, Scrum alienta la creación de grupos de trabajo pequeños de preferencia de entre 5 y 7 personas donde entre todos saquen la tarea haciendo lo que prefieran hacer pero sin que quede nada por hacer porque nadie lo halla querido tomar. Para eso se requiere un equipo comprometido y que todos puedan confiar en los demás dentro del equipo. El equipo debe tener la libertad e iniciativa de comunicarse entre si cada vez que sea necesario y tener retroalimentación para asegurarse de hacer las cosas bien. La comunicación oral cara a cara tiene prioridad dejando a la escrita solo como un medio de respaldo para conservar lo que no queremos que se pierda en la memoria.
Pollos y Cerdos. Si bien dentro del equipo de desarrollo no hay roles específicos pre-definidos por el método, si hay tres roles y dos tipos de personas en esto.
Un cerdo y un pollo van caminando por una calle. El pollo voltea a ver al cerdo y le dice: “oye, ¿por qué no abrimos un restaurante?, El cerdo voltea a ver al pollo y dice “Buena idea, ¿cómo quieres llamarlo?”, El pollo se pone a pensar y le responde: “¿Porque no lo llamamos Jamón y huevos?”, No me parece dice el cerdo, “Yo estaría comprometido, pero tú sólo estarías implicado”.
Entonces "los cerdos" están comprometidos en la realización del software con regularidad y con frecuencia, mientras todos los demás son "un pollo" - interesados en el proyecto. ¿Y exactamente quienes son los pollos y quienes los cerdos?
A los pollos también se les llama "stakeholders" y son los que no son miembros del equipo, es decir el o los clientes, los usuarios finales y quien patrocine el proyecto. Y los cerdos son el equipo que hace el software.
Roles del Equipo. Los cerdos son los que forman el equipo scrum, es decir el equipo y se dividen en tres roles:
- Scrum Master. Cuyo trabajo primordial es quitar impedimentos y distracciones a la capacidad del equipo de entregar o terminar las metas del sprint. No es el líder del equipo si no un facilitador. Puede ser parte integral del equipo o no y este puesto puede irse rotando entre los miembros del equipo. Es responsable de asegurar que el equipo Scrum se adhiere a los valores, prácticas y normas Scrum.
- Product Owner. Representa la voz del cliente/usuario ante el equipo para que el cliente no interactue o distraiga al equipo durante el sprint, intermediario entre cliente y equipo. El dueño del producto escribe los detalles desde el punto de vista del cliente (Historias de usuario), les da prioridad y los añade al back log del producto. Un dueño del producto puede ser parte el equipo Scrum pero no puede ser un Scrum Master. El Propietario del Producto es una persona, no un comité. Una vez empezado un sprint solo este rol puede detenerlo, ni los pollos directamente ni el equipo ni el scrum master pueden. Durante el sprint el Product Owner se mantiene en comunicación con el cliente para preparar los requerimientos para el próximo sprint.
- Equipo. Todos los demás cerdos que se encargan de desarrollar el producto. No hay roles fijos dentro del equipo y todos deben estar dispuestos a cooperar en lo que sea necesario de forma auto-organizada. Nadie - ni siquiera el ScrumMaster - dice al Equipo cómo convertir el Product Backlog en incrementos de funcionalidad entregable. El Equipo busca por su cuenta la mejor forma de hacerlo. Cada miembro del equipo aplica su experiencia a todos los problemas. La sinergia resultante mejora la eficiencia global de todo el Equipo, y la eficacia. El equipo debe trabajar en equipo de preferencia y no como una cadena de montaje para evitar que una pausa en un rol pare a todo el equipo.
El Propietario del Producto es el "cerdo" del Product Backlog. El equipo es el "cerdo" del trabajo del Sprint. El ScrumMaster es el "cerdo" del proceso de Scrum. Todo el resto de personas involucradas son "pollos". Los "pollos" no pueden decir a los "cerdos" cómo hacer su trabajo.
Estimación. Tienes una ventana de tiempo ¿Qué cabe en la ventana?
En SCRUM no se estima por horas si no en Puntos de Historia y esto es uno de los aspectos que requieren un cambio de paradigma que me parece más van a sacar de balance a los directivos acostumbrados a medir desempeños. Los puntos de historia son grados de complejidad de las tareas y ayudan a medir cuales y cuantas tareas entran en el sprint, es decir, en lugar de decir me tardo X horas en hacer Y actividad lo que pasa ahora es que tenemos un Sprint fijo para entregar resultados en digamos 2 semanas y lo que varia es que es lo que el equipo se compromete en tener listo para ese tiempo.
"La manera de enfrentarse a tareas imposibles
es cortalas a un número de tareas meramente
muy dificiles de realizar, y romper cada una
de ellas en un grupo de tareas arduamente
difíciles de realizar, y cada una de ellas
en trabajos complicados,
y cada uno de ellos..."
--Terry Pratchett
En Scrum además de no planificar las actividades en horas, se divide todo el proyecto en actividades que se hagan en máximo una jornada de trabajo y se pone enfasis en no dejarlas sin terminar. La idea es que todos los días el equipo valla haciendo actividades que pueda terminar el mismo día. Así, para planificar el equipo calculará la dificultad de los requisitos y asígnara cuantos días tomará hacer el trabajo, pero como la duración del Sprint es fija lo que haces es averiguar cuantas actividades es razonable que quepan en cada sprint y meter primero las que generen más valor y prioridad.
¡Si todo urge, NO urge nada! Hay que establecer y respetar las prioridades, dificilmente todo va a urgir en realidad.
Hay dos partes en la Reunión de Planificación del Sprint: la parte del "¿Qué?" y la parte del "¿Cómo?" En la primera parte, el Equipo Scrum aborda la cuestión del "¿Qué?". El Propietario del Producto presenta al equipo la parte más prioritaria del Product Backlog. Trabajan juntos para determinar qué funciones se van a desarrollar durante el próximo Sprint. La información de entrada para esta reunión es el Product Backlog, el último incremento del producto, la capacidad del Equipo y el rendimiento anterior del Equipo. La cantidad de Backlog que el Equipo selecciona es una decisión del Equipo. Sólo el Equipo puede evaluar lo que puede lograr en el próximo Sprint, aunque el Product Owner hallá definido las prioridades del cliente.
Una vez seleccionado el Product Backlog, se define un Objetivo para el Sprint. El Objetivo del Sprint es una meta que se alcanzará mediante la implementación del Product Backlog. Es una declaración que sirve de orientación al equipo acerca de por qué se está construyendo el incremento. El Objetivo del Sprint es un subconjunto del objetivo de la entrega.
En la segunda parte de la Reunión de Planificación del Sprint, el equipo aborda la cuestión del "¿Cómo?". Durante la segunda mitad de la Reunión de Planificación del Sprint (bloque de cuatro horas para un Sprint de un mes), el Equipo debe determinar cómo convertirá en un incremento, el Product Backlog (el "Qué") seleccionado durante la reunión de planificación de Sprint. El Equipo por lo general comienza por el diseño del trabajo. Mientras diseñan, identifican tareas. Estas tareas son las porciones detalladas del trabajo necesario para convertir el Product Backlog en software que funciona. Las Tareas se deben descomponer para que se puedan completar en menos de un día. Esta lista de tareas se llama Sprint Backlog.
En Scrum sabes cuando termina el Sprint actual pero tal vez no sepas cuando termina el proyecto total, los nuevos requerimientos generan nuevos sprints. Debido a sus planificaciones cortas, el SCRUM esta preparado para los cambios entre cada iteración, que en metodos tradicionales son más dificiles de adaptar y piden replanificar los requerimientos mientras que en SCRUM se toman en cuenta en el siguiente SPRINT.
Luego cuando ya el equipo se pone a desarrollar el avance se puede ir viendo y monitoreando rapidamente con un par de tecnicas, una es llevar reuniones diarias de no más de 15 minutos y de pie para limitar el tiempo y darle prioridad a lo importante. En estas juntas se deben revisar 3 preguntas con el equipo.
- ¿Qué hiciste ayer? Rapido te das cuenta que es lo que ya esta hecho y si alguien no hace nada.
- ¿Qué vas a hacer hoy? Rapido puedes saber quien esta haciendo que.
- ¿Tuviste problemas? Así los problemas se saben en máximo un día.
Esta junta es responsabilidad del Scrum Master y meditante ellas se puede ver a diario que todos los miembros del equipo avancen, en que avancen y que problemas hay, así a diario se lleva el control del proyecto y se atacan rapidamente las causas de problemas que puedan haber surgido el día anterior.
La otra tecnica es el uso de un tablero (Task Board) donde se mantenga visible que hay que hacer, que se esta haciendo y que ya se hizo. Se propone hacerlo poniendo en el de forma breve y exacta cada actividad.
Durante el sprint el equipo trabaja, el Scrum Master se coordina con ellos y retira los obstaculos que surgen durante el sprint ¿Y el Product Owner? Seguramente quedaron requisitos fuera de los compromisos del sprint en proceso así que el Product Owner debe aclarar con el cliente estos requerimientos para tenerlos listos para la planificación del próximo sprint. También es su labor mantener al cliente informado y lo suficientemente tranquilo para que no interrumpa al equipo de trabajo. El P.O. es un embudo de requerimientos desde el cliente hasta el equipo.
El resultado del Sprint es un entregable rapido para el cliente, el cliente lo revisa y puede dar su visto bueno o no, también es posible tomar nuevos requerimientos si los hay y correcciones o cualquier otro feedback que surja y con eso preparar que es lo que se trabajará en el próximo sprint y volvemos a empezar. Por esto SCRUM no funciona sin cooperación del cliente para obtener Feedback.
PRINCIPIOS DE SCRUM
- Los proyectos se desarrollan entorno a equipos motivados.
- Prioridad a la comunicación oral cara a cara, lo escrito se deja para documentar los acuerdos y no dejarlo a la memoria.
- La medida de exito es el software funcionando, no los documentos ni el proceso.
- Se promueve un ritmo constante de trabajo, balanceado, sin horas extra o periodos de inactividad.
- Atención al diseño y excelencia tecnica.
- Simplicidad. Máximizar la cantidad de trabajo no realizado (ver principio KISS).
- AutoOrganización. Dejar que el equipo se ponga de acuerdo sobre como hacer las cosas.
- Reflexión y mejora periodicamente.
SCRUM no debe tener presión, si hay presión no es SCRUM.
Por ultimo, quiero recalcar un punto fundamental de SCRUM. Respetar los tiempos (timeboxes), si algo no se alcanzo a ver en una junta en el tiempo dado es porque hicimos mal la junta o porque no era más importante que lo que si se vio. Si se va a acabar el tiempo del Sprint y no vamos a terminar tampoco se alarga el Sprint, si no que tenemos que aprender de esto y dejar lo pendiente para el siguiente Sprint.
Para más información: www.scrumalliance.org
sábado, 21 de enero de 2012
Los últimos días han sido muy movidos en el Internet desde el apagón de páginas del día 18 y el cierre de Megaupload el día 19 por el FBI sin necesidad de SOPA siquiera y todas las páginas que posteriormente fueron tumbadas por Anonymous principalmente, entre otras acciones menos impactantes de cara al publico. He estado atengo y me llama la atención que hasta se le llegue a llamar World War Web a este estado de cosas.
En mi caso he decidido mantenerme neutral aunque expectante a lo que ocurra porque es muy difícil llegar a un equilibrio ¿Equilibrio? Si, porque es cierto que los autores deben ser remunerados, que la piratería no es buena y eso, no hay duda. Pero también es verdad que la globalización nos permite enterarnos rápidamente de todo el material de nuestro gusto casi de inmediato en cuanto sale, por ejemplo series de televisión inglesa, películas de Bollywood (si, con B y no con H), animes de Japón, música coreana, programas de radio españoles, etc por mencionar algunas cosas internacionales que me acuerdo ahora mismo y a lo que quiero llegar es que para muchas de estas cosas no hay métodos legales para obtenerlos pagando y remunerando a sus autores ya sea porque el contenido no esta en tiendas digitales o esta pero restringido solo a ciertos países y los demás que se aguanten ¿Y entonces que queda? Hay opciones como Netflix, las stores de las consolas de videojuegos, iTunes y otros similares pero aun están muy limitados a lo que las empresas deseen distribuidor, donde deseen hacerlo, sus limitaciones a la hora de traducir y así. Las opciones legales aun no son suficientes.
No se mucho de leyes, si algun@ de mis estimad@s lector@s si sabe por favor díganos, pero hasta donde se, si en el país nadie, ninguna empresa tiene los derechos de distribución de un material entonces en consecuencia si nadie es el dueño nadie puede demandar que se detenga la distribución, como un vació legal que desaparece en cuanto una empresa obtiene los derechos y a partir de ahí si es ilegal su distribución. Pero como les digo no estoy seguro de la base jurídica de tal afirmación aunque me suena lógico pero ya sabemos que ley y justicia no van de la mano siempre como debería de ser ¿Saben algo más al respecto?
Hay sitios como Youtube que nos permiten compartir contenidos y que tienen reglas más o menos estrictas respecto al uso de material protegido por derechos de autor que hacen advertencias, retiran los vídeos y en general cooperan para retirar el material cuando las compañías afectadas se los reportan. En Megaupload hay mucho material original generado por usuarios, no lo dudo, pero no podemos ignorar que fue muy popular también para subir toda clase de cosas incluido material protegido por derechos autor también y no se que tan bien se dedicarían a limpiar sus servidores de material protegido pero supongo que poco y además con las cuentas premium que mucha gente pago para bajar más rápido este material sin darle alguna parte a los autores porque, debe ser prácticamente imposible de hacer de manera justa, pues se puede decir que lucraban con el contenido de otros. Es complicado y muy gris todo esto. Por eso seré neutral.
Dejando atrás lo anteriormente comentado ahora quiero mencionar que el 11 de diciembre de 2010 publique el siguiente texto en un momento en que aun estaba lejos de ocurrir esta batalla por el Internet, es más ni aun habían empezado las revueltas en norte de África y medio oriente que terminaron tumbando dictaduras ni las de Europa como el 15M de España. En Egipto, Tunez y España el uso de redes sociales fue muy importante para coordinar a la gente, pero ahora si, al texto.
Controlar el Internet
Ya hemos visto en China como el gobierno mantiene a Internet más bien como una especie de sub-red nacional controlada. ¿Y si otros países toman de pretexto esto para implementar controles a internet? Ya me imagino presiones a los buscadores para que no muestren las páginas que le resulten incomodas al gobierno, filtrados de servidores DNS para que no puedas conectarte a ciertas páginas no autorizadas, control a las compañías proveedoras de Internet. ¿Acaso algunos gobiernos están planeando dividir el internet en corralitos controlados? Quiero pensar que eso es solo una fantasía pesimista de mi parte, ojala que no pase.
Imaginen un péndulo que va entre dos extremos, uno de libertad y otro de seguridad, donde para llegar a un extremo forzosamente se aleja del otro. Así funcionan los gobiernos actualmente, que para brindar seguridad dejan que los servicios de inteligencia espíen y recopilen información de los demás… hasta que llega a ser sofocante e intrusivo y entonces la gente exige libertad, el pendulo se mueve en dirección opuesta, se relajan las medidas y los malhechores aprovechan dando un golpe que hace que la opinión publica pida seguridad y vamos de nuevo en la otra dirección. Es muy difícil encontrar un justo medio funcional para todos, pero eso si, a los gobiernos les gusta más el extremo de seguridad porque les da poder y control, pretextos para poder justificar excesos.
Novus Ordo Seclorum
La historia humana ha ido por periodos donde poderes y sistemas han dominado o mantenido equilibrios estables por un tiempo, seguidos luego de una renovación rápida -y generalmente violenta también- seguida de una nueva estabilización. Para no irnos muy lejos venimos del siglo XX donde la primera guerra mundial genero un periodo roto por la segunda guerra mundial que a su vez genero un nuevo equilibrio de poderes entre USA y la URSS que acabo con la desaparición de la unión soviética en 1991, dando una década de supremacía indiscutible a Estados Unidos, pero los atentados del 2001 (independientemente de quien fue y porque) mostraron que al gigante se le puede golpear y fuerte, incluso en su propio territorio. Actualmente tenemos un precario equilibrio de bloques que más bien están como viendo a ver que pasa antes de moverse, acompañados de una que otra nación armada y retadora, cuestión de asomarse a Asia y ver. Las fidelidades ya no son lo que eran y ahora los trapos sucios de todos están en riesgo.
Tal vez exagero con ese subtitulo de nuevo orden, pero la verdad si estamos en una época de cambios y reacomodos, reconozcanlo.
Y el amigo Kid me menciono que eso no es nada, que mucho antes Kojima nos dijo en Metal Gear Solid 2 lo siguiente:
Raiden: Who are you?
Colonel: To begin with -- we're not what you'd call -- human.Over the past two hundred years --A kind of consciousness formed layer by layer in the crucible of the White House.It's not unlike the way life started in the oceans four billion years ago.The White House was our primordial soup, a base of evolution --We are formless. We are the very discipline and morality that Americans invoke so often.How can anyone hope to eliminate us? As long as this nation exists, so will we.
Raiden: Cut the crap! If you're immortal, why would you take away individual freedoms and censor the Net?
Rose: Jack, don't be silly.
Colonel: Don't you know that our plans have your interests -- not ours -- in mind?
Interesante verdad.
miércoles, 18 de enero de 2012
"Imagina un mundo sin conocimiento libre Por toda una década, nosotros invertimos millones de horas construyendo la más grande enciclopedia en la historia de la humanidad. Ahora, el Congreso de los Estados Unidos está tratando una legislación que podría causarle una herida mortal a la Internet libre y abierta."
-- Wikipedia
Y así se vio Wordpress
Y Google si bien no cerro si puso un doodle de protesta así, censurado
Reddit y otras páginas también estuvieron fuera hoy. Creo que de cierto modo el día de hoy fue histórico en la trayectoria del Internet y lo vivimos en asientos de primera fila.
Cya! Espero que podamos seguir leyéndonos por mucho tiempo más.
jueves, 5 de enero de 2012
“SOPA es una legislación bipartidista extremadamente importante.
Esperamos que podamos tener un par de días productivos,
aprobarla, y pasar a otros asuntos”
--Harry Reid, Senador estadounidense
Hola mis querid@s tres lector@s que han sobrevivido a los recientes fines del mundo del 2011. Es 2012, ya estamos aquí y continuando con la serie de entradas de lo que yo opino es estar a las puertas de un cambio en el sistema de vida que tenemos resultado de cambios múltiples y más o menos sincronizados en muchos aspectos pilares para nuestra sociedad donde ya tratamos un poco de pasada la percepción de que el tiempo se acelera progresivamente, histeria milenarista, la necesidad de renovar el sistema económico y los problemas para alimentar a una población que no para de crecer exponencialmente y esta vez toca el turno a la tecnología.
Vayámonos preparando para el próximo fin del mundo... que esta vez no es del planeta como cosa geológica pero si el mundo humano como sociedad dependiente de la tecnología. ¿Han escuchado hablar de la “opción nuclear”? Es una iniciativa que hace ver pequeño al boicot a GoDaddy (ver GoDaddyBoycott.org) que hizo que esa empresa cambiara de opinión respecto a SOPA.
Comentaba en la entrada anterior sobre SOPA como muestra de un intento de dar prioridad a los derechos de unos pocos sobre los derechos de todos los demás y controlar el Internet al grito de proteger los derechos de autor por encima de cualquier cosa, lo cual ha generado muchas protestas y una de estas medidas de protesta se rumora consistirá en que el 23 de enero de este año -un día antes de que la ley se discuta en el congreso de Estados Unidos el 24- no van a estar disponibles las siguientes páginas, servicios online ni sus herramientas derivadas:
- Yahoo
- Amazon
- PayPal
- Wikipedia
- AOL
- Foursquare
- Mozilla
- eBay
- OpenDNS
- Zynga
Sería una especie de huelga de las compañías que han mostrado su rechazo a SOPA y nos parece que de ocurrir en verdad seria un momento histórico para el Internet con el único fin de demostrar lo necesario que se ha vuelto el Internet para todos y crear conciencia de los peligros de la Ley SOPA de una forma arriesgada y que seguramente causaría millones de dolares en perdidas a muchos niveles... una protesta usando el lenguaje del dinero que es el que entiende este sistema por encima de cualquier ideología ¿Verdad GoDaddy? Es una especie de violencia económica... aunque que yo recuerde los gobiernos ya el año pasado también usaron la violencia económica contra WikiLeaks evitando que pudiera recibir donaciones así que simplemente vemos como asociaciones privadas también pueden jugar ese juego.
La fuente de todo este rumor es una supuesta información filtrada a Cnet por Markham Erickson de NetCoalition, asociación que incluye a las empresas antes mencionadas como parte del supuesto apagón de Internet.
Si en el pasado Anonymous y WikiLeaks se han vuelto a su manera incomodidades en la red ¿Será verdad que la opción nuclear será la próxima? Son muy diferentes entre si pero me llama la atención que grupos así tengan sus “batallas” en el Internet de estos días a su manera a favor de la libertad de expresión... toda una adaptación de las demandas de siempre a los medios de hoy.
Obviamente de pasar esto no se acaba la tierra aunque me imagino que para algun@s no poder acceder al Facebook o alguna de los demás sitios de la lista por 24 horas será como si su mundo se acabara pero deja clara evidencia de lo importante que es la tecnología y la información hoy en día y como esta se le escapa de las manos al grupo de empresaurios empresarios que de verdad manda hoy en día y que antes de adaptarse a las nuevas condiciones utilizan a los gobiernos como herramientas para adaptar las condiciones a sus antojos y designios, y como eso a muchos no nos gusta.
Las sociedades se destruyen cuando los ciudadanos
deciden no cumplir las leyes
Saliendome del tema, peligros de los cambios bruscos. Las sociedades se destruyen cuando los ciudadanos deciden no cumplir las leyes, el poder en teoría debería de gobernar para cumplir la voluntad de los ciudadanos pero cuando en lugar de eso se dedica a oprimirlo y molestarlo desemboca en revueltas que ya no son solo armadas como antaño aunque 2011 fue tremendo en ese aspecto también y por ejemplo en Egipto callo Mubarak en solo 3 semanas demostrando lo repentinos y rápidos que pueden ser los cambios. Recordemos que en ocasiones anteriores de la historia las revoluciones que empezaron como búsquedas de la paz, la libertad y/o la justicia luego de eliminar al poder establecido al que culpaban de su miseria si no han sido bien conducidas han terminado mal, por ejemplo como la revolución francesa acabo en dictadura, la revolución rusa termino en dictadura o la revolución mexicana acabo en dictadura el PRI.
El 2011 fue un año marcado por las protestas contra el orden establecido en paises diversos por todos los continentes desde la primavera árabe que termino en la caída de tantos gobiernos en el norte de África y medio oriente hasta los inconformes de Wall Street contra la élite económica pasando por las protestas en Europa por los recortes sociales y bueno, me salí del tema tecnológico y me dejo ver drástico y alarmista pero ya ven como han sido los últimos tiempos.
En conclusión estamos a las puertas de un cambio porque el Internet influye cada vez más nuestras vidas y los nativos digitales cada vez somos más y quien sabe cuanto tiempo tarden en ser reemplazados los dirigentes del mundo chapados a la antigua para los que el Internet es un enemigo a combatir y cercar en lugar de una herramienta para nuevos modelos de negocio y probablemente como acabe el asunto de la Ley SOPA en Estados Unidos sentará precedentes hacia el futuro pero no olvidemos de otras por ejemplo ACTA en México o SINDE en España, al parecer por todo el mundo se cuecen iniciativas similares, pero cuando todo esto se supere el mundo tendremos unas nuevas reglas que nos afectaran a todos aunque sea de forma indirecta, ya sea un Internet controlado y en manos de los de siempre o un Internet con reglas más liberales... o probablemente dos Internets... quien sabe, uno oficial tan controlado como la televisión y los medios tradicionales y otro alterno probablemente perseguido... hasta es buen argumento para una historia de ciencia ficción.
"Todo esto he visto, y he puesto mi corazón en
todo lo que se ha hecho bajo el sol, durante
el tiempo que el hombre ha dominado al
hombre para perjuicio suyo"
--Eclasiastes 8:9
Por ultimo me despido con mi mensaje teológico de esperanza, ateos ya pueden dejar de leer pues supongo que opinarán que arruino los artículos con estos agregados o que desvió el tema sin venir a cuento... los demás sigan leyendo.
Los gobiernos actuales están involucrados en una dinámica, en un sistema de cosas que los supera y el político bien intencionado y que quiera ser libre de relación con estos lobbys económicos no llegan al poder, los que llegan están empeñados a poderes empresariales por lo que no se está llevando a cabo una buena voluntad y tampoco animan a la gente a hacer lo correcto. Muchos de estos gobiernos han sido débiles, crueles o corruptos. Bien claro lo dice la Biblia: “El hombre ha dominado al hombre para perjuicio suyo” y así nos va, pero estamos en medio de una serie de cambios que todos juntos darán como resultado un gran cambio, Jesús pasó a identificar los rasgos de la señal de los últimos días diciendo: "Se levantará nación contra nación, y reino contra reino; y habrá grandes terremotos, y en un lugar tras otro pestes y escaseces de alimento; y habrá escenas espantosas, y del cielo grandes señales" (Lucas 21:10, 11). También dijo: "Estas buenas nuevas del reino se predicarán en toda la tierra habitada para testimonio a todas las naciones; y entonces vendrá el fin" (Mateo 24:14). Lo que Jesús mencionó -guerras, terremotos, pestes, escasez de alimentos- no sería nada nuevo, pues se habría visto desde el principio de la humanidad. Lo que marcaría la diferencia es que todo sucedería en la misma época, así que estemos atentos a la señal y a como encajan las señales del cambio.
Cya!
miércoles, 4 de enero de 2012
Hola mis querid@s tres lector@s, les traigo hoy una entrada algo paradojica porque habla de cierto modo sobre pirateria y curiosamente es pirateada (gracias David, Kid, PoderPDA, ALT1040 y otras fuentes de la información, no digan que me robo sus meritos) contrario a mi costumbre de procurar redactar contenido propio aunque siempre es valido tener fuentes que validen lo que les cuento ¿no? El caso es que ultimamente esta sonando mucho la Ley SOPA que aunque es de Estados Unidos tiene potencial de afectar mucho a todos los usuarios de Internet y que si usted mi bien documentado lector ya sabe del tema me alegro y si no dejo aquí para que se documente porque seria buen antecedente para la próxima entrada, así que proceda a leer por favor.
Si has prestado algo de atención sobre lo que pasa en Internet últimamente, seguramente habrás escuchado leído más de una vez artículos referentes a la propuesta de ley SOPA o Stop Online Piracy Act, que en español se puede traducir como “Ley de Alto a la Piratería en Línea”. Como todas las leyes relacionadas con el mundo del Internet, aparentemente todavía tan incomprendido por algunos, la SOPA tiene sus defensores y detractores. Tratar de comprender la lógica detrás de quienes apoyan esta iniciativa no es tarea fácil, pero primero tendríamos que entender de qué estamos hablando.
Básicamente, esta propuesta de ley le daría la facultad al gobierno estadounidense de tumbarle el sitio a cualquier empresa que fuera acusada (con demostración de causa o no) de proveer o facilitar la distribución de contenido protegido por leyes de copyright. Nodo9 lo explica bastante biencomparando la propuesta con la manera en que algunas empresas controlan y limitan el acceso a Internet a un nivel granular impresionante. El problema aquí es que no es cuestión de revisar Twitter en la oficina sino de tener la capacidad de coartar la libertad de expresión de millones de usuarios con fines legítimos.
Obviamente, siendo políticamente correctos, si estamos hablando de un sitio cuyo principal objetivo es facilitar acceso a contenido protegido por leyes de copyright, muchos estarían a favor de ayudarles a legitimizar su modelo de negocios. Sin embargo, lo que esta nueva iniciativa propone es que basta con que haya una simple, pequeña e inocente liga a una canción, imagen o video (por decir ejemplos) en un comentario de una entrada escondida en una sección enterrada al fondo de un stream sentado en un vuelo de taca para que te tumben el sitio. Es decir, adiós Facebook.
Si yo no creyera que las leyes de copyright en papel son tan absurdas que de ser llevadas a la práctica en forma literal arrasarían con todos los
pseudo artistas en YouTube y los arrastrarían a la cárcel – y sí, esto incluye también a Justin Bieber en sus orígenes y a también a los Vazques Sounds (que por cierto Ángela no tenía el CD, ¿habrán bajado el álbum en iTunes?)-, tal vez estaría de acuerdo. Pero como dicen por ahí, desde que comenzaron las demandas contra Napster, la industria de entretenimiento (entre otros) ha intentado eliminar los nuevos modelos de distribución de la misma manera en que si se matara moscas con bombas nucleares… en el lugar equivocado.
Lo irónico de todo esto es que esta iniciativa se está promoviendo en el país que se da palmadas a sí mismo en la espalda por defender la democracia, la libertad de expresión y las garantías individuales (a final de cuentas, eso es lo que fueron a hacer a Iraq, ¿no? ¿a liberar a la gente?) y ahora ellos mismos se ponen en una posición que los compara con gobiernos autoritarios como el de China, donde la censura se practica en todos los niveles para evitar levantamientos sociales, razón por la cual hastaGoogle tardó en entrar al mercado chino de lleno precisamente porque estaban en contra de las prácticas dictatoriales. Aunque la intención de esta ley es noble, bien dice el dicho “no hagas cosas buenas que parezcan malas”.
Y es que es evidente que las razones de fondo no van en mano con causas humanitarias sino con controlar los flujos de efectivo, situación no rara para un país que asigna más presupuesto a su ejército que a sus programas sociales. Quienes están detrás de esta propuesta son precisamente algunas de las asociaciones más cargadas de Estados Unidos: la Cámara de Comercio de EU, la “Motion Picture Association of America” (todo lo que tenga que ver con películas), la Federacion de Músicos de EU, el Gremio de Directores y el Gremio de Actores. Básicamente, esta gente nos quiere de vuelta en los cines o rentando DVD’s sin considerar que el Internet es un excelente medio de distribución como lo han demostrado ya compañías como Hulu, Netflix o Amazon.
De proceder esta ley, prácticamente todas las empresas que le dan facilidad al usuario de crear su propio contenido tendrían que tener un departamento especializado en el monitoreo de dicho contenido con tal de asegurar que no haya profanación de derechos de copyright, como es el caso de Weibo, un servicio similar a Twitter que tiene un equipo de alrededor de 1,000 personas dedicadas a peinar el sitio con tal de apegarse a lo que dicten las autoridades. Para las empresas pequeñas y startups, los pesos legales y logísticos de esto serían un verdadero obstáculo para su desarrollo y capacidad de innovación.
Por su parte, el sitio FightForTheFuture ha creado el portal IWorkForTheInternet, en el cual miles de personas que están en contra de esta iniciativa expresan su punto de vista defendiendo sus trabajos y sus responsabilidades. “Yo trabajo para Internet”, una especie de “la tierra es de quien la trabaja” versión moderna.
En ningún punto deja de ser válido el punto de que se debe defender la propiedad intelectual, pero los problemas surgen cuando quienes intentan hacer algo al respecto son personas ajenas a la tecnología (como nota curiosa, sólo hay seis ingenieros en el Congreso estadounidense). Desafortunadamente, como dice Matt Cutts, faltan todavía varios años antes de que la nueva generación de “nativos digitales” se infiltren en las filas de los legisladores y defiendan la tecnología como la conocemos hoy en día (aunque quién sabe, para ese entonces las cosas podrían ser muy distintas).
La siguiente infografía, creada por AmericanCensorship.org, explica también cuáles son las implicaciones de esta ley y por qué sería perjudicial para la innovación, la economía y el desarrollo.
La lista de empresas que han declarado abiertamente su apoyo a SOPA es la siguiente:
- 60 Plus Association
- ABCAlliance for Safe Online Pharmacies (ASOP)
- American Federation of Musicians (AFM)
- American Federation of Television and Radio Artists (AFTRA)
- American Society of Composers, Authors and Publishers (ASCAP)
- Americans for Tax ReformArtists and Allied Crafts of the United States
- Association of American Publishers (AAP)
- Association of State Criminal Investigative Agencies
- Association of Talent Agents (ATA)
- Baker & Hostetler LLPBeachbody, LLC
- BMI
- BMG Chrysalis
- Building and Construction Trades Department
- Capitol Records Nashville
- CBS
- Cengage Learning
- Christian Music Trade Association
- Church Music Publishers’ Association
- Coalition Against Online Video Piracy (CAOVP)
- Comcast/NBCUniversal
- Concerned Women for America (CWA)
- Congressional Fire Services Institute
- Copyhype
- Copyright Alliance
- Coty, Inc.Council of Better Business Bureaus (CBBB)
- Council of State Governments
- Country Music Association
- Country Music Television
- Covington & Burling LLP
- Cowan, DeBaets, Abrahams & Sheppard LLP
- Cowan, Liebowitz & Latman, P.C.
- Creative America
- Davis Wright Tremaine LLP
- Deluxe
- Directors Guild of America (DGA)
- Disney Publishing Worldwide, Inc.
- Elsevier
- EMI Christian Music Group
- EMI Music Publishing
- ESPN
- Estée Lauder Companies
- Fraternal Order of Police (FOP)
- Go Daddy
- Gospel Music Association
- Graphic Artists Guild
- Hachette Book Group
- HarperCollins Publishers Worldwide, Inc.
- HyperionIndependent Film & Television Alliance (IFTA)
- International Alliance of Theatrical and Stage Employees (IATSE)
- International AntiCounterfeiting Coalition (IACC)
- International Brotherhood of Electrical Workers (IBEW)
- International Brotherhood of Teamsters (IBT)
- International Trademark Association (INTA)
- International Union of Police Associations
- Irell & Manella LLP
- Jenner & Block LLP
- Kelley Drye & Warren LLP
- Kendall Brill & Klieger LLP
- Kinsella Weitzman Iser Kump & Aldisert LLP
- L’Oreal
- Lathrop & Gage LLP
- Loeb & Loeb LLP
- Lost Highway Records
- Macmillan
- Major County Sheriffs
- Major League Baseball
- Majority City Chiefs
- Marvel Entertainment, LLC
- MasterCard Worldwide
- MCA Records
- McGraw-Hill Education
- Mercury Nashville
- Minor League Baseball (MiLB)
- Minority Media & Telecom Council (MMTC)
- Mitchell Silberberg & Knupp LLP
- Morrison & Foerster LLP
- Motion Picture Association of America (MPAA)
- Moving Picture Technicians
- MPA – The Association of Magazine Media
- National Association of Manufacturers (NAM)
- National Association of Prosecutor Coordinators
- National Association of State Chief Information Officers
- National Cable & Telecommunications Association (NCTA)
- National Center for Victims of Crime
- National Crime Justice Association
- National District Attorneys Association
- National Domestic Preparedness Coalition
- National Football League
- National Governors Association, Economic Development and Commerce Committee
- National League of Cities
- National Narcotics Offers’ Associations’ Coalition
- National Sheriffs
- Association (NSA)
- National Songwriters Association
- National Troopers Coalition
- News Corporation
- Patterson Belknap Webb & Tyler LLP
- Pearson Education
- Penguin Group (USA), Inc.
- Pharmaceutical Research and Manufacturers of America (PhRMA)
- Phillips Nizer, LLPPfizer, Inc.
- Proskauer Rose LLP
- Provident Music Group
- Random House
- Raulet Property Partners
- Republic Nashville
- Revlon
- Robins, Kaplan, Miller & Ciresi LLPScholastic, Inc.Screen Actors Guild (SAG)
- Shearman & Sterling LLP
- Showdog Universal Music
- Simpson Thacher & Bartlett LLP
- Skadden, Arps, Slate, Meagher & Flom LLP
- Sony/ATV Music Publishing
- Sony Music Entertainment
- Sony Music Nashville
- State International Development Organization (SIDO)
- The National Association of Theatre Owners (NATO)
- The Perseus Books Groups
- The United States Conference of Mayors
- Tiffany & Co.
- Time Warner
- 4Ultimate Fighting Championship (UFC)
- UMG Publishing Group Nashville
- United States Chamber of Commerce
- United States Tennis Association
- Universal Music
- Universal Music Publishing Group
- Viacom
- Visa, Inc.
- W.W. Norton & Company
- Warner Music Group
- Warner Music Nashville
- White & Case LLP
- Wolters Kluewer Health
- Word Entertainment
sábado, 24 de diciembre de 2011
¿Recuerdan una entrada titulada "Migrando una página web ASP.NET de Windows a Linux"? Esta entrada es como una continuación de aquella así que si esta interesado en el tema tal vez prefiera leer esa primero a modo de antecedentes comenzare por relatar que tuve que migrar varias páginas web hechas en ASP.NET en Windows con NetFramework y servidas mediante IIS hacia servidores Linux con Mono y servirlas mediante Apache + Mod mono.
En el principio del proyecto original hace años se intento pero Apache pero en ese entonces no podía servir páginas ASP.NET por si mismo (aun no puede) y no existía algún complemento como Mod mono y aunque Mono tenia su propio servidor llamado XSP este no era lo suficientemente estable para soportar la carga de trabajo de una empresa como esta, de hecho aun no lo es todavia, y por eso ahora usamos Mod Mono.
Usando SharpDevelop en lugar de Visual Studio para probar las aplicaciones con Mono y XSP previamente a probar en los servidores Linux se pudo afinar las instrucciones y entonces si pasar a ambientes más reales donde solo que hubo que ajustar algunas características de seguridad que resultaron más altas que en Windows y entonces vino el problema. Parecía no haber poder humano que hiciera que los caracteres especiales, ñ y letras acentuadas se vieran correctamente.
La base de datos. Muchos trabajamos con bases de datos PostGreSQL y estas suelen ser creadas por default (desconozco si en algunas versiones pone alguna codificación por default más avanzada) con codificación (encoding) SQL_ASCII, que según la documentación de PostGreSQL con SQL_ASCII el servidor interpretara los valores 0 al 127 del estándar ASCII, así que más que una declaración de que juego de caracteres usar es una orden de ignorar la codificación lo que puede causar problemas cuando se usen caracteres no ASCII como letras acentuadas, la ñ o símbolos. Debido a esto de ser posible hay que tener cuidado de definir desde el principio la base de datos con un juego de caracteres, de preferencia UTF8, que es UNICODE porque es apto para todos los idiomas, y esto es importante independientemente del tipo de tecnología de su base de datos que ustedes utilicen.
Seguramente su manejador de base de datos tendrá alguna opción para consultar el juego de caracteres de su base de datos pero si no lo encuentran, en PostGreSQL pueden ver la codificación de su base de datos con la siguiente instrucción:
SELECT encoding FROM pg_database where datname='[nombre de la base de datos]';Esto arrojara un número que puede traducirse así, por poner ejemplos de encodings comunes, aunque esta tabla es solo una muestra muy limitada.
| 0 | SQL_ASCII |
| 6 | UTF8 (UNICODE) |
| 8 | LATIN1 |
| 16 | LATIN9 (ISO 8859-15) |
La codificación de la base de datos también puede hacerse a base de datos ya creadas actualizando (Update) el campo “encoding” de “pg_database” que consultamos con la instrucción anterior pero esto no afecta de inmediato y “automagicamente” a toda la información previamente guardada en las tablas de la base de datos, eso lo tendremos que ajustar por nuestros propios medios. Además de que las conexiones abiertas antes del cambio no se verán afectadas, para que tome efecto deberán ser cerradas y volver a establecer la conexión para que se conecten usando el nuevo juego de caracteres, y dependiendo del tipo de cambio de encoding en las consultas podría haber problemas al tratar de leer caracteres que no existen en un juegos de caracteres pero si en el otro o que en ambos encodings un mismo código represente caracteres diferentes y eso altere nuestra información; son cosas a tomar en cuenta.
Lo mejor, de ser posible es empezar la base de datos con el encoding adecuado y grabarle los datos desde un respaldo, si se pasa de SQL_ASCII a un encoding mayor como UTF8, Latin1 o Latin9 no debería haber problemas... en teoría, en la practica ya sabemos como son las cosas.
ODBC y la conexión a la base de datos. Aunque los datos estén correctamente guardados en la base de datos estos no vienen solos a nuestras aplicaciones si no que necesitamos conectarnos y la mayoría de las veces lo hacemos usando un ODBC. No creo que halla necesidad de explicar eso pero si de recordar o advertir que hay ODBC ANSI y los hay UNICODE y tengo experiencias de que si consultas una base de datos con caracteres UNICODE usando una conexión ANSI los caracteres especiales no llegan bien sino que llegan símbolos de interrogación (?) y como ya vienen así para nuestras aplicaciones será imposible distinguir que símbolo era originalmente y eso será un gran problema. Los ODBC ANSI funcionan de maravilla con bases de datos SQL_ASCII pero si van a usar una con UNICODE asegúrense de que el ODBC valla a la par.
Además recuerden o sepan que en la cadena de conexión podemos dar indicaciones sobre la codificación de caracteres a utilizar al conectarnos a la base de datos. Así podemos indicarle si queremos que se conecte usando SQL_ASCII, Latin1, UTF8 o lo que sea que nuestra base de datos soporte.
DRIVER={[ODBC]};Server=[IP];Encoding=[Encoding];DATABASE=[DB];UID=[Usuario];PWD=[contraseña];
* Nota extra para desarrolladores en .NET: Ver tutorial para conectarse a bases de datos PostGreSQL sin utilizar ODBC.
Consultando la base de datos. Si no podemos controlar la codificación de caracteres en la base de datos o solo vamos a hacer unos pocos querys ocasionales que no ameriten tanto esfuerzo pero aun así necesitemos el texto consultado a la base de datos en un encoding especifico podemos recurrir a indicarlo dentro de la instrucción de consulta, por ejemplo con la función convert de SQL de la siguiente manera:
SELECT convert( 'texto', 'SQL_ASCII', 'UTF8')El código anterior convierte el primer parámetro, 'texto' de su codificación original a UTF8.
La codificación de caracteres de las páginas web. Los navegadores web traducen el código de la página en algo visible al usuario y el texto también debe ser interpretado y para eso también manejan los estándares de codificación de caracteres que ya mencionamos antes como podemos ver en la imagen a continuación.
La mayoría de los navegadores te dejan elegir un juego de caracteres por default o ellos mismos lo ponen pero también tienen la capacidad de detectar el juego de caracteres usado por la página para mostrar correctamente el contenido ¿Y cómo es que las páginas le dicen al navegador cual es el estándar que deben usar? Usando una cabecera especial en su código fuente.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Aquí estamos indicando que el texto en la página es UTF8 y el browser así lo interpretará así que tómenlo en cuenta.
* Nota extra para desarrolladores en .NET: En el archivo Web.config de nuestras aplicaciones web podemos indicar explicitamente más detalles sobre el idioma de nuestra página agregando las siguientes configuraciones que ajustan el contenido de la página al formato regional del idioma y país además de en los caracteres especiales también en cosas como las fechas, los signos y formatos de moneda y cosas así.
- <globalization
- requestEncoding="utf-8"
- responseEncoding="utf-8"
- fileEncoding="utf-8"
- uiCulture="es-MX"
- culture="es-MX"
- />
Con lo anterior debería de bastar pero si además desean indicarle al compilador cual es el encoding que debe reconocer cuando genere su dll o ejecutable pueden hacerlo así, aunque en lo personal a mi me parece ya exagerar un poquito pero no esta demás eliminar los posibles cabos sueltos ¿verdad?
- <compilation defaultLanguage="c#" debug="true">
- <compilers>
- <compiler language="cs;csharp"
- extension=".cs"
- type="Microsoft.CSharp.CSharpCodeProvider,System"
- compilerOptions="/codepage:utf8" />
- </compilers>
- </compilation>
Y hablando de no dejar cabos sueltos, queda un ultimo punto que comentar que si bien no es exactamente el mismo tema de conservar información compatible entre sistemas y plataformas si puede ser un complemento para la parte visual de nuestras aplicaciones web.
HTML. El HTML no es un lenguaje de programación si no uno más limitado para la estructuración y formato de las páginas web donde indicamos donde va cada elemento en pantalla y como se debe de ver, y tiene sus limitaciones. Para HTML la ñ o la á no existen pero si en el código de tu página...
| Para ver esto en pantalla... | debes poner |
| á | á |
| é | é |
| í | í |
| ó | ó |
| ú | ú |
| Á | Á |
| É | É |
| Í | Í |
| Ó | Ó |
| Ú | Ú |
| ñ | ñ |
| Ñ | Ñ |
| ü | ü |
| Ü | Ü |
Claro, los caracteres arriba mencionados solo son unos pocos, y cambiarlos todos manualmente es tedioso pero podríamos hacer funciones para automatizar el cambio o mejor aún, aprovechar funciones ya incluidas en los lenguajes de programación, por ejemplo en C# tenemos la función HtmlEncode que reemplaza en una cadena de caracteres los caracteres que tienen algún equivalente en código HTML de modo que la cadena resultante donde se han reemplazado sea aceptada y bien interpretada por los navegadores, hasta cambia los saltos de linea por su código HTML.
Server.HtmlEncode(string);En caso de usar PHP también tenemos un par de funciones que pueden hacer un trabajo similar. htmlspecialchars(string) y htmlentities(string) son algo "parecido pero diferente", pues estas funciones convierten ciertos caracteres que tienen un significado especial en HTML y deben ser representados por entidades HTML si se desea preservar su significado para que se muestren así en pantalla en lugar de ser tomados por código fuente, descuadren la página y no se vean. Estas funciones devuelven una cadena de caracteres con algunas de estas conversiones realizadas. htmlspecialchars solo afecta a los caracteres más útiles para la programación web.
Las traducciones realizadas son:
- '&' (ampersand) se convierte en '&'
- '"' (comillas dobles) se convierten en '"'
- "'" (comilla simple) se convierte en '''
- '<' (menor que) se convierte en '<'
- '>' (mayor que) se convierte en '>'
En cambio se usa htmlentities si se requieren traducir todas las entidades de caracteres HTML. Ambas funciones son útiles para prevenir que texto suministrado por el usuario, un archivo o desde la base de datos contenga código HTML.
¿Algo más? Por ultimo recordarles que si su página además usa JavaScript para mostrar algo en pantalla consideren que también maneja códigos para representar los caracteres especiales y que no son iguales que los de HTML.
| Para ver esto en pantalla... | debes poner |
| á | á |
| é | é |
| í | Ã |
| ó | ó |
| ú | ú |
| ñ | ñ |
Para que lo tomen en cuenta si de repente en algún control dinámico les aparece un carácter extraño.
Y bueno, con eso finalizamos de revisar esta serie de puntos a considerar al desarrollar una página web lo más universal posible.

