Si llegaste hasta aquí, es porque nos interesa algo en común. El sitio está dedicado a cosas que me llaman la atención y que quiero compartir. Es personal, pero no privado. Tus comentarios, opiniones y enlaces son bienvenidos. ¡Que disfrutes tu estadía!
If you've made it here, we are interested in something in common. This site is dedicated to the things that call my attention and that I want to share. It's personal but not private so go ahead and post a comment in the blog. Opinions and links are very welcome. ¡Enjoy Your Stay!
¿Serán de comida? de agua? ¿Cómo son las raciones de dos lados? ¿Compartidas entre ambos? Alguien que me explique, porque el que puso esto en Erbol, quizá escuchó hablar rápido a nuestro presidente y sus usuales comidas de sílabas lo traicionaron.
Mientras leía el prefacio del libro “A New Kind of Science” (NKS), escuchaba una canción de REM que en su coro dice “It’s the end of the world as we know it” (Es el fin del mundo de la manera en que lo conocemos). Nada más apropiado para coincidir con el lanzamiento oficial de un proyecto del autor de este libro, el inglés Stephen Wolfram.
No puedo decir que estaba siguiendo ese proyecto desde su inicio (el año 2000), pero se que va a empezar a hacer noticia, ahora que su lanzamiento oficial fue realizado ayer, 15 de mayo. Esta entrada es un resumen de información encontrada en su propio sitio.
El proyecto se llama Wolfram/Alpha y es un motor computacional de conocimiento. Basado en Estados Unidos (en el estado de Illinois), su objetivo a largo plazo es hacer que “todo el conocimiento sistemático sea inmediatamente accesible y computable para cualquiera.”
A la fecha de lanzamiento contenía más de diez trillones de piezas de datos, 50,000 tipos de algoritmos y modelos y capacidad linguística para más de mil dominios de conocimiento.
El proyecto es el resultado del liderazgo, que para llegar a este punto realizó dos desarrollos previos en casi 30 años. Mathematica y .
Mathematica es de acuerdo a su propia definición, “un sistema de computación y visualización, ambiente de desarrollo y motor de implementación. Usado en a través de diverso campos técnicos, incluyendo ingeniería, ciencia y análisis financiero.” Junto a NKS, cuyo paradigma fue crucial para imaginar la posibilidad de existencia de Wolfram/Alpha, son consecuencia de la singular visión de este hombre de 49 años y su equipo llamado Wolfram Research.
Wolfram/Alpha tiene la capacidad de comprender datos de ingreso de libre forma. Es tanto tecnología como plataforma y a corto plazo se introducirán APIs para desarrolladores, versiones personales y corporativas, versiones personalizadas para datos privados, conexiones y otras formas de contenido, y la implementación para plataformas móviles emergentes y otras.
Para conocer más visita: http://www.wolframalpha.com.
Puedes leer gratuitamente el libro en línea en: http://www.wolframscience.com/nksonline/toc.html
Si el río suena es porque piedras trae dice el refrán. Hace una semana había imágenes de un nuevo Zune dando vueltas por Internet y el artista que las había realizado las tenía en su sitio. Ahora las imágenes no están pero si apareció el sitio Zunehd.net con el logo y nada más. ¿Secreto? ¿Especulación? Ed Oswald de Technologizer dice que es la tercera generación Zune, más pequeño que un iPod touch, con un botón en vez de rueda. En Gizmodo dicen que tendría HDMI, HD Radio integración con juegos de XBox Live Arcade y claro Touchscreen, Windows 7, etc, etc. En fin. Esta vez si me arriesgo a pensar que quisiera tal vez, quizás, posiblemente uno para navidad 2009. Las fotos son de Engadget y Power User
Kindle, el dispositivo inalámbrico de lectura de Amazon está todavía fuera de mi presupuesto. listado por $359, costaría unos $600 en Bolivia.
Una interesante aproximación para desarrollar una aplicación, es basarse enteramente en estándares para definir la funcionalidad. Uno de los ejemplos es la plataforma de publicación AtomSite, antes BlogSvc, que fue construida alrededor del estándar Atom usando la tecnología ASP.NET MVC de Microsoft y JQuery. Optimizada para IIS7, la aplicación AtomSite es gratuita.
La cantidad de información disponible para usar la Librería de Interfase de Usuario de Yahoo! (YUI por su sigla en inglés) es impresionante. Hay tantas herramientas y documentación que uno no sabe donde empezar. La presentación de la página de llegada me recuerda a la apariencia de las de los buscadores de principios los años 90.
Streaming y webcasting con IIS7, Web Platform Installer y Silverlight se ha vuelto realmente sencillo. Scott Guthrie demostró en el keynote de MIX ‘09 la posibilidad de transmitir por web señales de video (vivo y pre-grabada) con una experiencia limpia para el usuario, escalando o degradando el sampleo sin cortes. Esta experiencia se llama Smooth Streaming. El 2010 se hará la transmisión de las olimpiadas de Vancouver en HD con calidad 720p.
Más funcionalidad anunciada para Silverlight 3:
Scott Hanselman en una presentación de 20 minutos para Mix ‘09 muestra animación usando Silverlight para Adidas en una Aplicación Rica de Internet (RIA - Rich Internet Application). La aplicación fue realizada en 2 semanas y es exatcamente igual a su equivalente en Flash que se ve terminada aquí.
Y para terminar con el tema Silverlight 3, la tecnología ingresará al campo de las aplicaciones de negocios. Brad Abrams hizo una presentación que muestra las habilidades para usar la plataforma para desarrollar una aplicación. La presentación dura más de una hora y la adjunto abajo.
Programar radio es un arte y no todos son artistas. En la semana me tope con un tema de Journey en una radio que está teóricamente orientada a adolescentes, aunque quizás ni siquiera han definido claramente su público. Alguna vez escuche la excusa de que estaban “educando a la audiencia”. Por supuesto este es un gran error. La audiencia no necesita educación y quien afirme esto, es un(a) gran presumid@. Estas son algunas razones:
Propiedad de los temas: Los encargados de elaborar las listas de temas que una estación difunde no deben asumir que la audiencia los conoce. Si una estación decide incluir temas clásicos en su programación, estos deben definirse de acuerdo a la audiencia objetivo. En este caso Journey está completamente fuera del radar de un adolescente, e incluso de un veinteañero.
Rotación limitada: En la mayor parte de los casos los temas clásicos de la lista tendrán difusión limitada. Un programador talentoso separará apropiadamente los temas de la misma era y artista. Por supuesto no debería escucharse exactamente el mismo tema en dos ocasiones cercanas en tiempo. Si tomamos estos dos elementos, separación y no repetición, es imposible “Educar a la audiencia”. No hay oportunidad para memorización.
Respeto de la audiencia: Los oyentes no son tontos. Son tu hijo, tu esposa, tu padre. Un conductor / productor no debe creerse por encima de su oyente. En especial no se debe asumir lo que quiere el oyente, hay que preguntarle y por supuesto usar las respuestas para generar el mejor contenido posible. Nada garantiza que los oyentes quieran ser educados en clásicos. En realidad es al revés, los oyentes son los que definen los clásicos.
En conclusión, un clásico se elije en base a la audiencia objetivo y preferiblemente solamente temas absolutamente reconocibles.
Cada día exploro la web extensa e intensivamente. Aunque puedo encontrar mucho del material en el historial del navegador, he decidido documentar (o por lo menos listar) lo que atrae mi interés. Mientras el Blog de DNN no tenga etiquetas (tags), las entradas se mantendrán sin clasificar.
Esto es lo que encontré hoy:
Requerimientos de sistema para Microsoft Dynamics AX 2009, la nueva versión de Axapta. No parece requerir mucho, a diferencia de Microsoft Dynamics CRM. Para los gerentes, este documento XPS describe la aplicación de Centros por Roles en AX 2009.
Scott Hanselman escribe en su blog sus observaciones y elecciones de lo destacado de Mix ‘09. No he dado un vistazo aun a Silverlight 3, pero tendré que hacerlo, porque lo más posible es que lo usemos para el Proyecto Gallery.
Los foros de MSDN, y seguramente los otros que usaban la misma, están preparándose para cambiar su antigua aplicación. La nueva está desarrollada en ASP.NET MVC y su CTP ya está visible.
El sitio de ZOO, el sistema de catálogo para Joomla, tiene un tema creativo y está muy bien ordenado. El video de 2 minutos muestra las características de la aplicación perfectamente. Lo encontré via Nokiko, un profesional europeo de DNN.
La tecnología Superpreview de Expression 3 aparenta ser una magnífica mejora para poder trabajar en el diseño de múltiples navegadores. Scott Guthrie anunció en su Keynote para Mix ‘09 que está disponible en beta desde miércoles 18 de marzo.
En el mismo keynote Guthrie anunció que asp.net 4 y VS2010 se podrá tener distintos archivos config que reflejan el estado de la aplicación: Web.Debug.Config, Web.Release.Config, Web.Staging.Config y Web.Testing.Config.
Un punto alto que me tocó cerca fue el destaque de DotNetNuke como parte de la presentación de la versión 2.0 de la herramienta Web Platform Installer. En unos cuantos clicks DotNetNuke estaba disponible para iniciar la instalación del producto.
El día ha terminado y con él la semana. Hasta la próxima.
Si no estás siguiendo lo que pasa con Twitter, es difícil que te des cuenta. Pero si ya tienes tu cuenta y estás embarcado, te invito a seguir lo que hago:
El gerente de producto de la división de desarrolladores de Microsoft, Jason Zander, reveló en su blog algunas pantallas de la nueva apariencia de Visual Studio 2010.
Cada cierto tiempo la imagen de VS cambia. Lo que hace esta ocasión interesante es que se está usando como base el WPF del .NET Framework 4.0’s. Esto es completamente nuevo para mi ya que no descargué la versión beta de 2010 cuando estaba a punto de expirar en Enero y me parecía que era demasiado cargoso usar la máquina virtual con fecha atrasada.
Puedes ver las pantallas en el blog de Zander. A mi me gustan estos dos cambios:
No es un rediseño completo desde cero por lo que la interface se ve suficientemente familiar, probablemente preparando un cambio más drástico ahora que el cimiento WPF está en su lugar. Dudo que un cambio impresionante vea la luz en el próximo lanzamiento, lo más posible es que sea uno después. Con respecto al ciclo de VS 2010, cuando salga el nuevo beta contaré más sobre él.
Luego de tener 3 encuentros con la parálisis. Al tercero, encontré la forma de evitar nuevas apariciones. Es muy importante que consultes con tu médico en cuanto percibas los síntomas. Mientras antes acudas, mayores probabilidadades tienes de evitar que te afecte.
He logrado identificar que mis afecciones aparecieron luego de un cuadro viral. En mi caso siempre fue después de un resfrío fuerte. La tercera vez que tuve Bell’s Palsy fue a principios del 2008, casi la evito. Puedes leer sobre esta ocurrencia en este enlace.
De todos modos la lección había sido aprendida. Ante la última aparición de los síntomas (iba a ser la cuarta ocasión), lo primero que hice fue colocarme las inyecciones de corticoide por 3 días seguidos al mismo tiempo que tomaba el antiviral por siete días. La pista fue un resfrío fuerte y unos días después de recuperarme se manifestó -apenas notable pero presente-, el dolor detrás de la oreja. Esta vez evité por completo la parálisis. Al acudir al neurólogo, confirmó que no había evidencias y que el cuadro se manifestaba ante una baja de defensas (pos causa del resfrío) que aprovechaba el virus residente en el nervio facial para extenderse nuevamente y provocar la inflamación que a su vez terminaba en parálisis.
Espero que esta experiencia sirva para que puedas prevenir que te suceda una segunda vez. Repito, es importante que acudas al médico ni bien sospeches que está por aparecer. Presta atención a los síntomas y no te auto-mediques. Las dosis y medicamentos los debe proporcionar un profesional luego de comprobar que no tendrás reacciones negativas.
El viernes por fin puse en práctica seguir la serie Heroes. La trama sigue fresca y los actores hacen todo muy creible. Cuando los actores aparecieron en Larry King hace dos años, me llamaba mucho la atención la trama. El único efecto que falla es el del vuelo de Pasdar. pero luego la serie deja tanots cabos por atar que uno se queda pegado para ver el siguiente capítulo y la primera temporada quedó completamente corta. Masi Oka (Hiro) es un lujo de actor.
El sábado vi “Australia” y a excepción del personaje de Nullah, me pareció larga y nula. Estas mega-producciones que llenan horas con fotografía y melancolía no me llegan a convencer. Desde “Los Otros” que Kidman no escoge una buena película y Jackman debería quedarse en su papel de la saga de X-Men. Claro que si de aburridas y malas se trata, “Cuarentena” las deja a todas atrás. ¡MALA!
Luego estuve escuchando Maroon 5. La banda para mi es un 9 sobre 10. Programaría todos los temas si tuviese mi radio. Quien sea responsable de ponerlos junto a la sexy Rihanna, sabe de su oficio.
Luego de salto en salto me encontré con The Ting Tings. Me recuerda algo a los grupos semi-rebeldes pero aun muy pop de los 90.
Touching too many pieces at once almost always causes errors and that became evident when I began to see the error of this post’s title. My VS2008 install was missing the asp.net templates and I could not understand why -later on I realized it was because I had not selected a component during the original install-, and tried several suggestions like running devenv.exe /installvstemplates from the command prompt and resetting VS settings in the Import and Export Settings menu.
Long story short, those brought more problems. I just needed to add the component, but now the VS installer would not run. Avoiding a longer delay I attempted to work on an existing project, but then I could not load the Controls Toolbox without facing three more errors now related to SQL components. Running the SQL Repair halted mentioning a VS problem.
I was doomed. OK, I am being dramatic, but it was a drag!
I decided to re-install VS. And what do you know, I couldn’t run the installer. A forced unsinstall was required now. A short search and Aaron Stebner’s blog post came to the rescue.
After uninstalling VS, I re-installed it, ran SP1 and repaired SQL. I am safe again, so I thought I’d save someone else the effort of finding VS Product GUID and post the command to uninstall Visual Studio Team System 2008.
msiexec /x {80C06CCD-7D07-3DB6-86CD-B57B3F0614D8}
If you have a different version, you’ll need to find it. Just read Aaron’s post and follow the steps to get the msiinv tool and obtain a list of installed applications according to msi.
Note: this is not always what you need to do. It was my last resource, so use it when the re-installation of templates does not work, and causes Packages registration to go awry.
If you are like me and try to be environmentally friendly by not burning DVDs unless it’s really necessary, and you prefer to install apps from ISO images, be prepared for this one about VS 2010.
Like many programs that may need to run additional tasks after the first install pass, VS2010 setup will continue after reboot. Make sure you set your ISO reading software to remount the image on the virtual drive after the reboot, it’ll save you from a surprise when the installer can’t find the necessary files to continue.
Si eres como yo que trato de ser amigable con el ambiente al evitar crear copias en DVD a menos que sea realmente necesario y te lanzas a instalar programas desde copias ISO, entonces toma nota de lo que pasa con Visual Studio 2010.
Como muchos programas que requieren correr tareas adicionales despuñes de la primera pasada del instalador, el programa de setup de VS2010 necesita continuar después del reinicio. Asegúrate de que tu programa de lectura de ISO este configurado para volver a montar la imagen cuando el sistema operativo vuelva, te ahorrará una sorpresa cuando el instalador necesite encontrar archivos que necesita para continuar su siguiente etapa.
I wrote a quick post about a problem that is easy to solve, but can be tricky to realize at first. Read the post at DotnetNuke.com.
I just wrote another post in the DNN Blog. I’ve resolved to keep linking to the DNN posts here to bring more exposure to what I am doing lately. You can read about my first encounter with the 5.1.0 version here.
I needed to create a report in a DNN website to obtain the Total billable hours for a single case in Dynamics CRM. All my previous DotNetNuke modules for CRM had been done in VS2005, which lead me to miss a detail. I published the post at my DotNetNuke blog
Last week, I noticed Dynamics CRM had become slower and my DB had grown too large for the amount of real records I expected it to have. After some investigation I realized it was a combination of things.
The symptoms of a problem There were way too many Matchcode Update records with a Waiting status. The normal System Jobs report can’t show more than 250 records at once and I had gone through several pages already. This simple SQL query showed that there were more than 100.000 records.
Select COUNT(*) As TotalWaitingTasks from dbo.AsyncOperationBase where StatusCode=10
This was going to take a long time to solve. (It took me about 8 hours to have the DB back to a normal size, because its server is not specially powerful).
I found several posts that suggested changing the status, the posts offered code to do it programmatically, but due to the number of records I’d have to modify them to be able to do it in chunks, avoiding a prolonged database lockout. The console utilities were too involved and after doing some investigation I realized that the fields I needed to change were two in a single table. Another simple SQL Query took care of it in a few hours.
Update dbo.AsyncOperationBase
Set StatusCode = 32, StateCode = 3
where OperationType = 12 and StatusCode=10
The OperationType value is for MatchCode Update, later on I found a few other workflows, so I just changed this the corresponding value. The value of 10 in StateCode is for “Waiting” and setting it to 3 is equivalent to “Completed”
I could’ve wrapped this one to do it chunks, but the day was over and nobody would be using the DB until the next day so I left it running.
Day 2 Early next day the update had finished. All System Jobs involved had been canceled. Next steps, delete the records and then shrink the DB.
However before I set out to delete them I needed to find the cause while the data was still there. Another simple query was needed:
Select Top 5 [Message] from dbo.AsyncOperationBase where StateCode = 3
I just get the first five, because obviously the result set would be way to big. In the field the reason was clear, it was a communication problem. The Message field showed an error stack trace:
System.Net.WebException: The request failed with HTTP status 400: Bad Request.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Microsoft.Crm.SdkTypeProxy.CrmService.RetrieveMultiple(QueryBase query)
at Microsoft.Crm.Asynchronous.SdkTypeProxyCrmServiceWrapper.RetrieveMultiple(QueryBase query)
at Microsoft.Crm.Asynchronous.UpdateContractStatesOperation.ExpireContracts()
at Microsoft.Crm.Asynchronous.UpdateContractStatesOperation.InternalExecute(AsyncEvent asyncEvent)
at Microsoft.Crm.Asynchronous.AsyncOperationCommand.Execute(AsyncEvent asyncEvent)
at Microsoft.Crm.Asynchronous.AsyncHostHandler.Handle(AsyncEvent asyncEvent)
at Microsoft.Crm.Asynchronous.QueueManager.PoolHandler.ProcessAsyncEvent(AsyncEvent asyncEvent)
A quick look around and I found that this was due to an incorrect value for AsyncSdkRootDomain in the DeploymentProperties table. Yet another simple query.
SELECT [ColumnName],[NVarCharColumn]
FROM [MSCRM_CONFIG].[dbo].[DeploymentProperties]
Where [ColumnName] = 'AsyncSdkRootDomain'
The value in this field has to be like where “server” matches the name of the host where Dynamics CRM is installed, and port the port used when installing it. The standard default port is 5555. Therefor, for a host called BIGSERVER with a standard install it would be “BIGSERVER:5555”.
After changing the value to the correct one, and verifying that connection was successful I used a query I used this query from Microsoft Support to delete the Cancelled jobs. The query is originally intended to fix a problem with all completed jobs, which includes cancelled and successful ones. When used, some history for workflows will be lost. This was not an issue for me and I ran it with confidence.
The query also took a long time to run, but in the end it did its job. If you inspect it you will see that it appropriately does the job in steps limited to 2000 records and also uses transactions in case any errors happen.
I repeated this steps for other Testing organizations and I went to bed happy with the results of the day.
I worked in broadcasting and journalism long before I got involved in technology and it is another passion of mine. While my love for DNN progressively increased, I would devour as much information as I could find. In the DNN 2.X days, most of the available information was at the asp.net forums where at first I was a lurker, then a question flooder and finally even became a moderator (I still am). I always wanted to get involved with DNN and my
Sources of information have been sprouting (and also dwindling) around. One of my favorites was Seablick’s DNN Friday, but it is lagging behind. The problem is that a set deadline for your publication will almost surely be missed when business endeavors that pay the bills get in the way. Arguably, a huge number of community members are blogging about DNN and there’s no single comprehensive resource. Fortunately, that is bound to change and to start the path I am getting my DNN paws trained again to write read and write about DotNetNuke.
As a self-trained IT/Dev pro I have learnt that setting too high a goal will only doom my commitment. Therefore I’ve made a compromise with myself. I will only publish this round up when material is enough to make it worthwhile reading. Obviously, I have chosen the easiest and most informal way to publish it. It may transmogrify into a whole new animal in time, but I am satisfied to do it in this way, for now. Without any further ado, You can find DNN Round Up #1 at the DotNetnuke Blogs.
Not every organization has the luxury of having a team that includes separate DBA's, developers and IT support. I just found an article that makes it easy for those that dread the moment when restoring a DB is inevitable. Check it out here: http://www.builderau.com.au/program/sqlserver/soa/Restore-your-SQL-Server-database-using-transaction-logs/0,339028455,339282046,00.htm
After releasing a module, sometimes a reorganization of files is performed in the development environment. Regardless of the method used to place the files in the corect locations, some locations will still contain the original files.
For some time DNN has been able to perform a clean up (deletion) of files. This is achieved by including a text file in the PA with the version number in the ##.##.##.txt format and it should list the paths and filenames that should be deleted.
For example to delete the MyFile.ascx file, just include its name in the .txt file. If the file is within a directory like /DesktopModules/MyModule/MySubDirectory/MyFile.ascx, remove the DesktopModules/MyModule path to obtain only a path relative to the module folder: MySubDirectory/MyFile.ascx.
The caching trap Dotnetnuke is able to improve performance by caching modules. Module caching can have a default value, set in the Settings applied to the Module Definition for the pertinent module.
The value can be overridden in each instance of the module by changing the number in the module settings section.
While developing modules, developers are confused when the module under development works but only when logged in as host or admin. This is another simple thing that falls under the gotcha category.
When using the StarterKit templates, it is usually missed that the manifest for the module contains a default value o