Posts tagged: Software

Tip : Corrección de la actualización automática de WordPress

Si alguna vez han intentado actualizar la versión de WordPress mediante la opción de “Actualización automática”, probablemente a algunos les aparecío el mensaje:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2355240 bytes) in /home/mysite/public_html/wp-includes/http.php on line 133X.

El problema se debe principalmente a que algunos plug-in instalados no sean completamente soportados por WP o requieren de configuración adicional, para continuar unicamente se deben de desactivar todos los plug-in y ejecutar nuevamente la actualización automática, una vez finalizado el proceso se deben de activar los plug-in que se requieren.

Espero que este tip sea de utilidad, en mi caso me salvo del clásico WP Upgrade.

¿Qué valor aporta mi trabajo?

Durante la semana pasada el tema recurrente con el que me he visto involucrado es: ¿En verdad lo que estoy desarrollando genera algún valor?, ¿Cuánto tiempo va ser útil lo que se entregue del proyecto?

Lo anterior son una serie de preguntas que en la mayoría de los casos, toman relevancia en los momentos finales del proyecto,  en la entrega del resultado o más aun cuando nuestro cliente dice: “Esto que están entregando no es lo que esperábamos”, clásico pero muy cierto y recurrente.  

Casi siempre se tienda a caer en ambigüedades como querer emplear tecnologías “tan innovadoras” y “tan de moda” llenas de términos “rimbombantes” con tal de impresionar al cliente, es decir un típico escenario de proyecto  “buzzword compliance”: “Si implementamos SOA 2.0 vamos a apuntalar a los equipos de trabajo y capitalizaremos en valor de la empresa”, “Deberíamos subir nuestros servicios a la nube para así migrar todas las aplicaciones para que sean RIA al 100% y sean compatibles con Web 2.0“.

Otro escenario común es cuando en un proyecto nos asignan una pieza “compleja” un: “Generador  de notificaciones asíncronas mediante scheduler para ambiente mutithreading”, el cual debe de finalizarse el 2500 horas, donde dicha pieza fue definida en la etapa de arquitectura del proyecto por el “master architect” de soporte a pre-venta. Después de leer la especificación uno le indica al “manager”: Oye pero el requerimiento indica que el programa solo debe de mandar un correo al administrador cuando llegue un nuevo registro en la base de datos, que no basta con definir un job y ahorrarnos ese tiempo?….les parece familiar? o como decimos por acá, “para que tanto brinco estando el suelo tan parejo”.

Existen aspectos “primordiales”, antes de diseñar o codificar una pieza de software que es importante reflexionar:

a)      ¿Cuál es la finalidad del funcionamiento de esta pieza y quienes la van a utilizar?

b)      ¿Es necesario esta pieza dentro del “todo” del proyecto?

c)       ¿Están definidos y son claros los contratos de los componentes?

d)      ¿Es necesaria TODA la funcionalidad que estoy pensando implementar?

De tal forma que cuando se entregue nuestra pieza esta permita ser medida en función de los requerimientos e integración con los demás componentes, así como la funcionalidad comprendida sea única y estrictamente necesaria, recordar el YAGNI,  y de paso ahorrar tiempo de corregir nuestros errores, perdón mejor dicho “refactoring del código para mejorar performance” suena mejor.

En resumen es importante siempre entregar un resultado que al final genere un “valor” y que cumpla con las expectativas de nuestros usuarios o clientes finales, que los haga sentirse conformes con su inversión y lo consideren como algo “valioso” y “útil” o simplemente “vale la pena su costo”, es importante tener en cuenta que en términos de software es difícil cuantificar su valor.

Google Chrome

En el Blog de Google se anuncia un nuevo proyecto llamado Chrome, el cual es el nuevo “Internet Browser” opensource basado en WebKit (motor de renderizado para Safari), además de incorporar un nuevo motor para Javascript llamado por el momento V8, el cual promete ser bastante rápido y poderoso en comparación con otros.

Al parecer Google espera con este proyecto expandir su oferta de servicios y con este nuevo “browser” dar un mejor soporte a sus aplicaciones Web (GMail, GDocs, GCalendar).

A continuación un extracto de la noticia:

” “launch early and iterate.” While this approach is usually limited to our engineers, it apparently applies to our mailroom as well! As you may have read in the blogosphere, we hit “send” a bit early on a comic book introducing our new open source browser, Google Chrome. As we believe in access to information for everyone, we’ve now made the comic publicly available — you can find it here. We will be launching the beta version of Google Chrome tomorrow in more than 100 countries.”

Por el momento no existen imagenes que permitan conocer a detalle la aplicación lo único que se ofrece es una explicación en forma de “comic” en donde se explican los motivos de la creación de Chrome

Red Gate Software Adquires .Net Reflector

Hoy me acabo de llegar un correo de notificación en donde Lutz Roeder autor  de .NET Reflector, de una de las utilerías que todo desarrollador .NET debe de tener, en donde avisa que en adelante se dedicará a nuevos horizontes y ahora dejará la responsabilidad de .Net Reflector a la empresa Red Gate Software.

 A continuación una extracción del correo:

“After more than eight years of working on .NET Reflector, I have decided it is time to move on and explore some new opportunities.

I have reached an agreement to have Red Gate Software continue the development of .NET Reflector. Red Gate has a lot of experience creating development tools for both .NET and SQL Server. They have the resources necessary to work on new features, and Reflector fits nicely with other .NET tools the company offers.”

En la página de Red Gate Software ya se anuncia la adquisición del proyecto.

Con esto lo lógico es que ahora existirá una versión comunitaría y otra que será con licenciamiento,  ojala la gente de Red Gate Software considere a la comunidad y no se pierda en el enfoque de hacer solo negocio, ya que esta es una herramienta muy utilizada que cuenta con bastantes Add-ins.

Habrá que estar atentos con el futuro de .Net Reflector

Evitar el molesto backup del iPod/iPhone en iTunes

Al momento de bajar aplicaciones del App Store (o algúna canción, podcast,etc) y pasarlo al iPod Touch /iPhone, se inicia el molesto y lento proceso de “backup” del dispositivo, este proceso puede llegar a tardar hasta 10 min. dependiendo de la cantidad de información almacenada!!! un verdadero fatidio si solo se requiere pasar una Aplicación o actualizar un PodCast!!

Para evitar lo anterior existe una aplicación llamada “Backup Disabler“, para MAcOSX, la cual evitar el molesto “backup” de forma segura con solo presionar un botón, bastante simple!!.
677BD15E-7129-4113-A7D6-44155BE908C8.jpg

Para plataforma Windows existe una solución por parte de “UnEasySilence” solo que más complicada de realizar, pero funciona!

Organized Widget

La gente de iSlayer, autores de excelentes Widgets para MAC OS como iStat Pro, acaban de poner disponible un nuevo Widget llamado Organized, el cual permite contar con una administración del Calendario, Eventos, Notas, To-Do y Reloj mundial, permitiendo el acceso rápido de tus actividades, adicionalmente permite integrarse con iCal y Mail.

8905C4AE-BED3-4ADA-8FED-EBA9E8C4C050.jpg

Un Widget bastante recomendable

LinqPad

Me acabo de enterar de la existencia de una herramienta muy interesante llamada LinqPad, la cual permite realizar consultas de datos mediante el uso de LINQ con .Net Framework 3.5.

Permite realizar consultas del tipo:

a) LINQ to SQL
b) LINQ to Objects
c) LINQ to XML

Después de realizar algunas pruebas puedo decir que es una excelente herramienta, muy completa y permite experimentar la flexibilidad de LINQ y así poder conocer más de este interesante framework, el cual se apunta a ser la gran apuesta de .NET para el acceso a datos.

WordPress Themes