Recientemente acabo de instalar Boxee en mi MBP, Boxee es un Media Center que permite disfrutar de contenido multimedia, accediendo a la música, películas y fotos del equipo, así como acceder a canales de TV por Internet para ver contenido de servicios como Hulu, NetFlix o NBC que existen en EU, pero en mi caso existe la restricción de en mi país (México) no se puede tener acceso a dichos contenidos. Para solventar este inconveniente uso el programa “Hotspot Shield”, el cual instala un proxy que permite asignar una IP válida en el formato de las direcciones de EU.
Así que los pasos son los siguientes:
1. Instalar Hotspot Shield (existen versiones para PC y Mac). una vez instalado se mostrará un icono en la barra de menús de MacOS.
2. Presionar la opción “Connect” de Hotspot Shield y aparecerá una página con la confirmación de la conexión.
3. Entrar a Boxee y en “TV Shows” ingresar a la librería de canales, seleccionar una serie que se muestre en un servicio de EU (casi todas) y ver el contenido.
4. Listo funciona a la perfección.
Espero sea de utilidad, creo que el mismo procedimiento también funciona para PC/Windows.
Generalmente cuando uno es nuevo en el desarrollo de Mac empleado XCode/Cocoa se enfrenta a una seria de mensajes y errores poco comunes o que simplemente nunca habíamos visto. En un proyecto que estaba compilando en XCode casi al final de la compilación me salieron los siguientes errores:
“.objc_class_name_PTHotKey”, referenced from: literal-pointer@__OBJC@__cls_refs@PTHotKey in PomodoroController.o
“.objc_class_name_PTHotKeyCenter”, referenced from: literal-pointer@__OBJC@__cls_refs@PTHotKeyCenter in PomodoroController.o
ld: symbol(s) not found collect2: ld returned 1 exit status
simplemente WTF! parece una grosería del compilador!!
Después de pasar un muy buen rato investigando sobre este tipo de errores, que por equivocación se los atribuía al compilador, encontré en la ayuda de Apple y foros de que este error es ocasionado por el Linker al momento de ensamblar la aplicación y se debe a que en el código fuente se hace referencia a clases que no se encuentran incluidas en XCode, por ejemplo mediante #import, pero que probablemente físicamente existan en la ruta del proyecto pero no en XCode, por lo que no se encuentran los símbolos que requiere el Linker en el armado de la aplicación.
Por tanto la solución para esta situación es:
1. Agregar los archivos faltantes a XCode en la sección “Classes”.
2. En los “Targets” del proyecto agregar en “Compile Sources” los archivos faltantes agregado en el paso 1.
3. Aplicar un “Clean” / “Clean All Targets”.
4. Compilar la aplicación y listo!
Espero que este Tip sirva, ya que es poca la información que existe al respecto!
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.
En algunos escenarios de implementación de .Net se hace uso de clases de tipo Internal, es decir clases que solo pueden ser accedidas por miembros del mismo ensamblado, por lo que al momento de definir las pruebas unitarias de nuestras clases, estas no pueden acceder a la definición de las clases internas debido a sus restricciones. Para solucionarlo se debe agregar el atributo InternalsVisibleTo en el archivo AssemblyInfo.cs del proyecto, de la siguiente forma:
//Se agrega el atributo en AssemblyInfo.cs
[assembly: InternalsVisibleTo("MyProjectTest")]
Para el caso en que el ensamblado se encuentre firmado, se debe de obtener la clave pública del archivo .snk con el que se realizó la firma, para obtener la clave se ejecuta la siguiente instrucción desde línea de comandos:
sn -tp myKeyFile.snk
en donde el resultado del comando pueder ser algo similar a:
Public key is
0021000004800000920000000602000000240000525341310004000001000100cfb8bc23b86a08
e70d021dd53d3b0293e716e71015870bdcc58a0231a4228618851a83e06077f5a44f42beb2baf3
56ad2d345521a96b0081ed0f25f9227523e3625eda524efe1cf2e1e5e41f3693a76ec52347684b
8129a4bb2d5fc49681adf33da0eecc4f81f011af4539d12abe1b4e760b5ce32d766db1012d4402
8381f0b7
Por último se agrega la información de la clave pública a la etiqueta InternalsVisibleTo, de la siguiente forma:
[assembly: InternalsVisibleTo("MyProjectTest, PublicKey =0021000004800000920000000602000000240000525341310004000001000100cfb8bc23b86a08
e70d021dd53d3b0293e716e71015870bdcc58a0231a4228618851a83e06077f5a44f42beb2baf3
56ad2d345521a96b0081ed0f25f9227523e3625eda524efe1cf2e1e5e41f3693a76ec52347684b
8129a4bb2d5fc49681adf33da0eecc4f81f011af4539d12abe1b4e760b5ce32d766db1012d4402
8381f0b7")]
Una vez finalido lo anterior ya se podrá realizar referencias a las clases internas desde el proyecto de pruebas definido en el atributo InternalsVisibleTo, bastante útil este atributo en mi caso me ha sacado de bastantes apuros.
Reciente he empezado a emplear GIT como herramienta personal de control de versión en MacOSX, ya que considero que una de las buenas prácticas para realizar nuestro trabajo y aquellos proyectos de tipo personal, es siempre tratar de emplear una herramienta de Control de Versiones (nunca se sabe cuando el gato se comerá nuestro código).
Platicando con otros colegas sobre los diferentes herramientas de control de versiones y GIT, les intereso mucho el tema, hasta que surgieron las siguientes preguntas : ¿Porqué cambiar Subversion?, ¿ Pero …funciona en MS Windows?…. interesante!
Primero mi intención no es decir cual es mejor que la otra, las dos son opciones bastante útiles y han demostrado su eficacia, así que más que basarse en recomendaciones, así como las metodologías, es cuestión de gustos!
Pasando a la segunda pregunta, en mis primeros días con Git recuerdo haber leído sobre algunos esfuerzos para emplearlo en SO Windows, y unos de los proyectos que más avance tiene en ese tema es msysgit, el cual permite proporcionar el ambiente necesario para la ejecución en MS Windows.
Por default Git proporciona una herramienta visual llamada Git GUI, pero es una versión bastante limitada y en ocasiones no “muy amigable de usar” y en ocasiones usar Git desde línea de comandos puede ser todo una “ciencia oscura”, por lo cual otra herramienta útil para cuestiones de integración con el SO y consulta visual es TortoiseGit, un versión basada en la excelente herramienta para Subversion TortoiseSVN.
Incluso he realizado pruebas de instalación y uso de las herramientas en Windows 7 y funcionan a la perfección, recomiendo a quienes les interese dar un “test-drive” con Git, una vez que lo conozcan seguro les agradará o al menos con el fin de conocerlo y criticarlo.
Durante este tiempo he estado buscando algún plug-in decente que me permitierá publicar ejemplos de codigo fuente en un post, despues de realizar algunas pruebas he decido usar SyntaxHighlighter Plus,y debo decir que es bastante comodo de usar y muy simple, realizando pruebas en varios navegadores.
Este es un ejemplo usando el plug-in en wordpress:
//ejemplo en C#
int x=Convert.ToInt32("1010");
//ejemplo en javascript
var someObject=document.getElementById("someId");
//ejemplo en Java
String someString=parameter.toString();
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!!.

Para plataforma Windows existe una solución por parte de “UnEasySilence” solo que más complicada de realizar, pero funciona!
Hoy acabo de darme cuenta que mi link de feedburner no estaba funcionando correctamente, ni tampoco mostraba los más recientes post, es más no mostraba nada…. en fin una verdadera lata.
Entre a feedburner y revise el enlace http://feeds.feedburner.com/HeinskFeed, para ver el estado de mi cuenta y todo funciona de forma correcta, al revisar el FeedMedic se indicaban posible errores con el enlace http://myblog/wp-rss2.php, vaya!!! entonces el problema venia desde wordpress.
Despues de un rato encontre una solución, a continuación los pasos:
1. Se debe deshabilitar el plugin de feedburner en wordpress.
2. Entrar a Feedburner y editar los detalles del enlace, presionando “Edit Feed Details….”, y en el campo “Original Feed” poner “http://myblog/feed” y guardar los cambios.
3. Regresar a wordpress y activar nuevamente el plugin.
4. Revisar en enlace de feedburner “http://feeds.feedburner.com/MyFeed” y verificar que se muestren los datos actualizados.
En mi caso funciono correctamente, me imagino que debe de haber algún bug no solucionado el wp 2.5.1, en fin ojala y pronto se publique una mejor solución.
Hoy me aparecio el siguiente mensaje de error al tratar de configurar un DSN con el ODBC del cliente Informix en MS Windows:
[Informix ODBC Driver]Unable to load translation shared library (DLL)
Aparentemente el problema es con un conflicto con idioma con el Sistema Operativo y el cliente de Informix, despues de buscar un rato en Internet y pasar bastante tiempo sin encontrar una solución coherente, decidi probar directamente con los parámetros de configuración del ODBC….
Realizando pruebas encontre por fin una solución y consiste en realizar los siguientes pasos:
1. En la pestaña “Environment” del Driver del ODBC de Informix, en el campo “Translation Library” colocar la ruta completa en donde se ubica la DLL igo4nXXX.dll. Por lo general deberá ser: %INFORMIXDIR%\bin\igo4nXXX.dll
2. En el campo “Translation Option” colocar en valor “0″.
3. Probar nuevamente la conexión y listo!!!
Espero esta solución sirva a alguien más.