Speed of the web

SpeedOfTheWeb es un servicio web gratuito que permite comparar la velocidad de tu web con la de una tipo en varios ámbitos:

También es capaz de generarte en modo offline un informe con recomendaciones:

Antipatrones III: Antipatrones generales de diseño de software

Gracias al trabajo de recopilación de varias personas (que recuerde ahora al menos Ahmad, Miguel, Jesús, Juanma y María) puedo postear esto ;).

Los antipatrones son soluciones erróneas que presentan más problemas que los que solucionan.

Son una extensión natural a los patrones de diseño.

Los antipatrones pueden dividirse en 3 grandes categorías:

  • Desarrollo de Software: Se centran en problemas asociados al desarrollo de software a nivel de aplicación.
  • Arquitectura de Software: Se centran en la estructura de las aplicaciones y componentes a nivel de sistema y empresa.
  • Gestión de Proyectos de Software: En la ingeniería del software, más de la mitad del trabajo consiste en comunicación entre personas y resolver problemas relacionados con éstas. Los antipatrones de gestión de proyectos de software identifican algunos de los escenarios clave donde estos temas son destructivos para el proceso de software

Antipatrones generales de diseño de software

Nombre Concepto
Database as an IPC ¿Se recurre a la Base de Datos para la comunicación entre procesos? La forma adecuada de hacerlo sería comunicación directa entre procesos
Blob ¿Existen objetos grandes (más de 60 atributos y métodos) que hacen que gran parte de funcionalidad esté codificada en un objeto que hace todo y que hace el código muy difícilmente mantenible? La forma adecuada de hacerlo sería dividirlo en otros objetos que interactuasen entre sí.
BOMQ (Batch over MQ). ¿Se abusa del empleo de integración basada en mensajes para realizar transferencias esporádicas de gran tamaño en segundo plano (procesos batch)?
Magic pushbutton ¿Se tiende a introducir mucha lógica de negocio en los métodos de interacción, por ejemplo servicios web, implementando los resultados de las acciones del usuario en términos no suficientemente abstractos? La buena práctica en este caso sería delegar esta lógica a otros métodos/clases de utilidad
Race hazard ¿Queda siempre claro cómo puede reaccionar el sistema si se da una sucesión de eventos determinada? Este hecho debería estar estudiado y controlado en todos los casos
Input kludge ¿Está especificado y controlado el hecho de entradas inválidas en el sistema en todos los casos?
Gas factory ¿Existe algún caso en que el diseño es muy intrincado sin necesidad? Para solucionar esto habría que estudiar los casos bajo sospecha y teniendo en cuenta la funcionalidad rediseñarlo.
Big ball of mud ¿El diseño técnico está estructurado?
Interface bloat. ¿Existen interfaces tan potentes que resultan muy difíciles de implementar?
Abstraction inversion ¿Están, en todos los casos, expuestas las funcionalidades que necesita el usuario, evitando así que se reimplementen a más alto nivel?
Ambiguous viewpoint ¿Existen, en el diseño del sistema aspectos sin concretar que pueden causar futuras reimplementaciones y en algún caso tener que rediseñar alguna parte?
Re-coupling ¿Son, todas las dependencias entre objetos necesarias o por el contrario podría eliminarse alguna?
Stovepipe system ¿Se ensamblan, en el sistema, componentes poco relacionados, lo que lo hace difícilmente mantenible?

Sunrise Seven: personalizando nuestro Windows

Sunrise Seven es un programa gratuito que permite personalizar nuestro Windows (tanto Windows 7 X86 y x64, como Windows Vista).

Algunas de las funcionalidades que ofrece son:

· Personalizar opciones del UAC de Windows (Control de cuentas de usuario)

· Aumentar el rendimiento del equipo aplicando diferentes ajustes

· Desactivar algunos servicios que no hacen nada en el sistema

· Deshabilitar áreas de Windows como el editor del registro, opciones de carpeta

· Añadir iconos y opciones al menú contextual del sistema, así como al menú de inicio

· Cambiar el look de nuestro Windows: desde el icono del menú de inicio, así como mostrar algunos ítems

· Cambiar la información del OEM, fabricante del equipo, e incluso, el logo del PC

Hasta esta curioso check tiene…funcionará o dentro hará un ignore 🙂

Antipatrones II: Antipatrones de gestión de proyectos

Gracias al trabajo de recopilación de varias personas (que recuerde ahora al menos Ahmad, Miguel, Jesús, Juanma y María) puedo postear esto ;).

Los antipatrones son soluciones erróneas que presentan más problemas que los que solucionan.

Son una extensión natural a los patrones de diseño.

Los antipatrones pueden dividirse en 3 grandes categorías:

  • Desarrollo de Software: Se centran en problemas asociados al desarrollo de software a nivel de aplicación.
  • Arquitectura de Software: Se centran en la estructura de las aplicaciones y componentes a nivel de sistema y empresa.
  • Gestión de Proyectos de Software: En la ingeniería del software, más de la mitad del trabajo consiste en comunicación entre personas y resolver problemas relacionados con éstas. Los antipatrones de gestión de proyectos de software identifican algunos de los escenarios clave donde estos temas son destructivos para el proceso de software

Antipatrones de gestión de proyectos

Nombre Concepto
smoke and mirrors Mostrar cómo será una funcionalidad antes de que esté implementada.
bad management Gestionar un proyecto sin tener suficientes conocimientos sobre la materia.
software bloat Permitir que las sucesivas versiones de un sistema exijan cada vez más recursos.
Death march Todo el mundo sabe que el proyecto va a ser un desastre, excepto el director, para el que la verdad se oculta para evitar la cancelación inmediata del proyecto (aunque el director a menudo lo sabe y lo hace de todas formas para maximizar el beneficio). Sin embargo, la verdad permanece oculta y el proyecto se mantiene artificialmente con vida hasta que finalmente llega el día cero.

Los empleados son presionados para trabajar por las noches y fines de semana en un proyecto con plazos poco razonables.

Groupthink Los miembros del grupo evitan que transcienda los diferentes puntos de vista fuera de la “zona de consenso”
Overengineering: Exceso de ingeniería: se usan recursos para hacer el proyecto más robusto pero más complejo de lo necesario
Waterfall model Un modelo de desarrollo de software un poco antiguo que no gestiona adecuadamente los cambios inesperados
Analysis paralysis Parálisis del análisis: dedicar esfuerzos desproporcionados a la fase de análisis de un proyecto, eternizando el proceso de diseño iterando sobre la búsqueda de mejores soluciones o variantes.
Death by plannin Morir planificando
Irrational management Las indecisiones habituales y otros malos hábitos de gestión provocan que no se tomen decisiones ineludibles en el momento adecuado
Project mismanegement La falta de atención en la gestión de los procesos de desarrollo de software puede causar ausencia total en la dirección del proyecto. El seguimiento y el control en los proyectos de software es necesario para conseguir un desarrollo satisfactorio. El desarrollo se convierte en una tarea tan difícil como construir un rascacielos (implica demasiados pasos y procesos). A menudo, las actividades clave se pasan por alto o se minimizan

Antipatrones I: Antipatrones de gestión

Gracias al trabajo de recopilación de varias personas (que recuerde ahora al menos Ahmad, Miguel, Jesús, Juanma y María) puedo postear esto ;).

Los antipatrones son soluciones erróneas que presentan más problemas que los que solucionan.

Son una extensión natural a los patrones de diseño.

Los antipatrones pueden dividirse en 3 grandes categorías:

  • Desarrollo de Software: Se centran en problemas asociados al desarrollo de software a nivel de aplicación.
  • Arquitectura de Software: Se centran en la estructura de las aplicaciones y componentes a nivel de sistema y empresa.
  • Gestión de Proyectos de Software: En la ingeniería del software, más de la mitad del trabajo consiste en comunicación entre personas y resolver problemas relacionados con éstas. Los antipatrones de gestión de proyectos de software identifican algunos de los escenarios clave donde estos temas son destructivos para el proceso de software

Antipatrones de gestión

Nombre Concepto
Productividad a toda costa La empresa busca la productividad a costa de la calidad del software y de la calidad de vida de sus empleados, intenta homogeneizar los puestos de trabajo quitando en la medida de lo posible los permisos a los programadores para que no dañen los sistemas operativos, monitoriza a los equipos de trabajo y actúa cortando la visibilidad de ciertas páginas o las reuniones de programadores, al final se consigue que se vaya la gente de la empresa cuando la situación es insostenible, esto suele ocurrir en ciclos de uno o dos años.
absentee manager Situación en la que el principal responsable o coordinador se ausenta o permanece en paradero desconocido o no localizable durante importantes períodos de tiempo
ll you have is a hammer Gestión gris y plana, incapaz de tratar a los subordinados de manera personalizada y acorde con sus necesidades particulares.
cage match negotiator Se aplica cuando un coordinador, gestor o responsable aplica una filosofía de "éxito a cualquier precio".
doppelganger Coordinador o compañero que en un determinado momento puede ser agradable y de trato fácil, pero igualmente puede volverse irracional y despiadado de modo inesperado
fruitless hoops Gestor o coordinador que solicita grandes cantidades de datos (en ocasiones sin relevancia alguna) antes de tomar una decisión.
golden child Situación en la que ciertas responsabilidades, oportunidades, reconocimientos o recompensas van a parar a un determinado miembro del equipo como consecuencia de una relación personal o en clara contradicción con su rendimiento real.
headless chicken Se aplica al gestor, coordinador o responsable que vive en una permanente situación de pánico y medidas desesperadas.
leader not manager Un buen líder no tiene por qué ser necesariamente un buen gestor, coordinador o responsable.
managerial cloning Situación en la que los coordinadores o gestores son contratados e instruidos para actuar y trabajar todos del mismo modo, a imagen y semejanza de sus propios jefes
manager not leader Un coordinador brillante en sus deberes administrativos y de gestión, pero que carece de habilidades de liderazgo.
metric abuse Utilización manipuladora o incompetente de las medidas y las métricas.
Mr. Nice Guy Se aplica al gestor que pretende convertirse en amigo de todos
proletariat hero El "empleado para todo" que siempre es puesto como ejemplo ante sus compañeros, pero que realmente es la excusa perfecta para demandas crecientes y constantes incrementos de expectativas.
rising upstart Se aplica a quienes, teniendo potencial, no son capaces de respetar la progresión profesional establecida, y pretenden sortear los plazos y requisitos de aprendizaje y madurez.
spineless executive Gestor, coordinador o responsable que no tiene el coraje de enfrentarse a las situaciones, asumir las responsabilidades de los errores, o dar la cara por sus subordinados.
three-headed knight Gestor indeciso, poco firme, dubitativo.
ultimate weapon Individuos altamente competentes en los que la organización o sus compañeros confían tanto que se convierten en el canal por el que todo pasa.
warm body Trabajador que apenas cubre las expectativas mínimas y por tanto circula de proyecto en proyecto o de equipo en equipo
super builder Creencia por la que se asigna a un buen diseñador de software al desarrollo de código pensando en que tardara mucho menos en teclearlo.
singermorning Gerente que ante el desconocimiento de las aplicaciones que lleva, y el estado de parcheo imposible de mantener en el que se encuentran, paga los enfados de el cliente con los programadores que heredaron la aplicación. También se refiere al compañero incompetente que "succiona" a los demás compañeros.
Violencia intelectual A este antipatrón se llega cuando de manera interna en un equipo de trabajo o en una reunión con el cliente y/o con usuarios se empiezan a utilizar términos, generalmente técnicos, que no son comprendidos o conocidos por la mayoría de los interlocutores
Ellos me entendieron Consiste en dar por supuesto que determinadas instrucciones, objetivos o explicaciones que se han dado al equipo de proyecto, a equipos concretos del mismo o a otros componentes de las partes interesadas, han sido entendidos pese a ser conscientes de no haber invertido el tiempo suficiente en ello y/o pese a que la temática que se ha tratado no resulta simple de asimilar

RapidShare no tan rápido

En poco tiempo, RapidShare ha pasado de estar en la lista negra de las industrias de la música y del cine en 2010, a ser considerada actualmente una luchadora activa contra la piratería. Destina un departamento a tratar con las violaciones de la propiedad intelectual, y actúa rápidamente: tres infracciones y cierra la cuenta del usuario responsable.

Han desarrollado un software de búsqueda de tipo araña que recorre constantemente Internet por foros, tablones de mensajes y blogs para localizar información sobre infracciones de derechos de propiedad intelectual que tengan lugar en sus servidores. Luego, procesan esos datos y el departamento anti-abusos de RapidShare los verifica.

RapidShare, al igual que Mediafire, se han visto beneficiados por la desaparición de la compañía de Kim Dotcom. Ambas han conseguido duplicar su cuota de mercado justo después de la caída de Megaupload.

Además ahora RapidShare parece que está comenzando a atar corto a los usuarios de su servicio gratuito. Según informa Torrentfreak, la semana pasada comenzaron las quejas, porque la compañía ha reducido la velocidad de descarga para aquellos internautas acogidos al espacio gratis. La velocidad ha caído hasta unos 30 kbps (kilobits por segundo).

El motivo real de reducir la velocidad de descarga para usuarios gratuitos es convertir RapidShare en un sitio impopular entre los piratas y expulsar el tráfico abusivo. Para los responsables de la compañía, existe una relación entre piratería y cuentas gratuitas de almacenamiento, porque los piratas prefieren no pagar, puesto que quieren evitar conectar sus datos personales y económicos a una cuenta a través de la que se infringe el copyright.

Y establece una nueva condición para que los usuarios gratuitos recuperen la velocidad de descarga rápida. Todo aquel que suba un contenido debe proporcionar a RapidShare detalles sobre la naturaleza de su cuenta, incluyendo el tipo de archivos que comparte, el nombre de los sitios y blogs donde publica los enlaces de descarga, la dirección de correo electrónico del usuario y su número de teléfono. Estos nuevos requisitos de registro de cuentas facultan a RapidShare para revisar los archivos y los sitios para comprobar si se realizan actividades ilegales.

Beta de Visual Studio 11 el 29 de febrero

Visual Studio 11 aún no llegará, al menos de forma definitiva, pero su beta podrá probarse desde el próximo 29 de febrero.

Los datos vienen directamente de Microsoft, que no sólo ha programado la fecha para que Visual Studio 11 beta vea la luz, sino que también lo hará la beta de .NET Framework 4.5, las nuevas librerías que conforman las tecnologías y lenguajes que proponen los de Redmond.

Parece que incluye bastantes novedades. Visual Studio contará con vista previa de pestañas, búsqueda de código mejorada, y una buena cantidad de cambios en su interfaz (puede que orientada completamente a Metro). Además, está enfocado al desarrollo de aplicaciones y soporte para Windows 8, y sigue soportando los nuevos lenguajes de Microsoft además de los ya incluidos anteriormente como C#, VB .NET o C++.

También existen rumores sobre un posible cambio de nombre, por Visual 2012.

Para saber más: http://www.neowin.net/news/microsoft-to-launch-visual-studio-11-beta-on-feb-29