Deshabilitando el modo de diseño de XAML en Visual Studio 2008


Si estas trabajando con archivo XAML en Visual Studio, ya sabés lo lento que es cada vez que accedes a uno, por más que haya chequedo la opción para abrirlo siempre en “XAML View”

image

La solución definitiva a este problema la vi hace poco en este post. Consiste en decirle a VS que abra los XAML con el editor de codigo común!

Hay que hacer lo siguiente:

  1. Clic de la derecha en cualquier archivo XAML en el cuadro Solution Explorer
  2. Select "Open With..."
  3. Select "Source Code (Text) Editor"
  4. Click on "Set as Default"
  5. Click OK
  6. Listo!

image

author: Eduardo Molteni | posted @ Tuesday, June 16, 2009 7:35 PM | Feedback (0)

Importando video desde un DVD para publicarlo en la Web


Como parte de los muchos sombreros que tenes que usar cuando sos desarrollador de sitios web, me llegó a las manos un DVD de un cliente que deseaba subirlo a la web para postearlo en el sitio y todos lo pudieran ver.

Este procedimiento ya lo hice una vez, pero como olvidé totalmente como se hacía, decidí documentarlo en este post.

Parte 1. “Ripiando” el DVD (Copiandolo a un archivo)

Luego de extensa busqueda, el mejor programa gratis (¿quien quiere pagar?) para ripiar (¿como se dirá en español?) el DVD es DVDx, que es gratuito y la única limitación con la versión “Pro” es que esta versión no permite ripiar DVDs comerciales con la protección anti-copia (DECCs), que en este caso no es un problema.

image 
¿No es muy lindo no? En fin..por suerte lo tengo que usar una vez muy de vez en cuando.

Sigamos, los iconos de la toolbar están en el orden que los tenemos que presionar para terminar el trabajo

image 
1. Seleccionar el DVD root (Generalmente la carpeta VIDEO_TS) y luego un “title” que son cada uno de los capitulos dentro del DVD. Por supuesto que depende de cada DVD, muchas veces tenes que probar para ver cual es el que queres ripiar.


image   
2. Eso te lleva directamente al la función “Input settings”
image 
Lo más importarte a seleccionar aquí es el track de audio y si deseamos algún subtitulo. Con suerte tiene solo uno y no tenemos que tocar nada de esta ventana que da miedo.

image 
3. Ahora tenemos que seleccionar que vamos a generar en la ventana “Output settings”
image 
Esta es la ventana más importante y más difícil. Aquí seleccionamos con que formato vamos a extraer el DVD y los formatos disponibles dependen de los “codex” que tengamos instalados en nuestra maquina.
Como el destino de los videos es enviarlos a YouTube, no me preocupo mucho por el tamaño, ya que YouTube lo va a transcodear una vez que lo suba al sitio.
Entonces, elijo WMV (el codex de Windows Media Player) que es fácil de manipular y lo aceptan casi todos los programas.

Si se quiere reducir el tamaño o mejorar la calidad, en esta ventana estan las opciones para hacerlo. Se puede cambiar el tamaño y la cantidad de cuadros por segundo.
image 
Por suerte nos va dando un estimado de cuanto tiempo va a llevar y el tamaño final estimado.

image
4. Seleccionar destino de los archivos (“Select destination”)
image 
Esta si es sencilla. Apretamos “Browse” y seleccionar un directorio donde se va a generar el archivo. Acordarse de chequear que tenga espacio libre suficiente.

image
5. Finalmente presionar “Encode” que empieza el proceso.

Parte 2. Subiendo el archivo a Internet

Ahora que tenemos el video en un archivo tenes que subirlo a la web, para ellos primero debemos elegir cual servicio de los muchos existentes es el que preferimos.

Aquí hay una linda lista con los servicios que hay y las restricciones que tiene cada uno

Anteriormente siempre hubiera preferido Google Video, porque no tenia casi ningún limite y se veía más “profesional” o más de negocios que YouTube, pero han cancelado el servicio y ahora te mandan a su adquirido servicio, YouTube, el rey de los sitios de video.

El problema es que solo tiene un límite de 10 minutos por video, y es muy probable que el nuestro se extienda de ese tiempo, para ello debemos cortar nuestro video y publicarlo por separado.

Buscando en internet un software para cortar el video es bastante difícil, siempre hay mil millones de opciones, muchas intentan pareces gratuitas pero no son, mucho engaño dando vuelta (Me pasó de probar el programa Easy Split Video, para que al final de todo el trabajo de seleccionar los tiempos de corte, me dió un error diciendo que no tenía la versión paga, jodete y perdé todo tu trabajo).

Finalmente, sin muchas ganas, decidí probar el Windows Movie Maker, que viene incluído en Windows Vista, y sorprendenteme me sirvió muy bien para la tarea.

image 

Solo tenemos que localizar un punto del video donde quede bien cortar y apretar el boton “Split” y la pelicula nos queda dividida en dos

image

Luego arrastramos cada parte hacia el StoryBoard

image

y exportamos ese pedazo del video usando el menú “File” y luego “Publish Video”.
Publicar el video tiene varias opciones, es recomendable dejar el video con la misma definición que venía y dejar que YouTube haga las optimizaciones necesarias.

author: Eduardo Molteni | posted @ Tuesday, June 16, 2009 6:21 PM | Feedback (1)

Instalación de SQL Server 2008 ¿donde quedó la simplicidad?


sql2008install El equipo de MS SQL Server realmente perdió el tren de simplicidad luego de la versión 2000.

En SQL 2000 para instalar solo tenias un par de simples y claras opciones como "Instalar desktop tools" e "Instalar Server"

Ya SQL 2005 la complicó bastante con un nuevo instalador especifico con varias cosas raras, pero la versión 2008 ya se pasaron de la raya.

En sistema Windows Vista, con todos los componentes de windows Update actualizados, hay que

1. Arrancar el proceso de instalación (que ya tarda mucho tiempo)

2. Luego de descomprimir los archivos temporales, te dice que te falta el Windows Installer 4.5 Que tiene distintos archivos para instalar para Vista y para XP

3. Reiniciar

4. Volver a ejecutar el instalador, volver a esperar, esperar que descomprima los temporales

5. Finalmente nos presenta un pantalla donde podemos elegir un montón de opciones donde solo una es "Instalación"

6. Luego ejecuta un programa "Setup Support Rules" donde me dice que me falta PowerShell. Lo bueno de este paso es que podemos dejar el instalador ejecutando mientras bajamos e instalamos PowerShell.

7. Bajar PowerShell (también tiene archivos diferenciados para Vista y Xp) previo instalación de Genuine Windows Validation Tool (¿para eso lo habrán hecho requido en Sql 2008?)

8. Instalar Powershell

9. Presionar el boton "Re-Run" y ahora si, luego de unos 25 clicks más, podemos finalizar la instalación.

author: Eduardo Molteni | posted @ Friday, December 05, 2008 11:15 AM | Feedback (2)

Virtual Earth: Otra oportunidad de Microsoft desperdiciada


Hace rato que estoy usando casi exclusivamente a Google para los distintos servicios de mapas, busqueda, mail, etc.
Para todos existe un equivalente de Microsoft, pero siempre se queda corto o no funciona en alguna medida.

Ayer tuve que implementar un control de mapas, muy simple, que solo muestre en el mapa una ciudad de Brasil.
Primero intenté implementarlo usando Virtual Earth, porque me gustan más las visuales de botones e incluso de los países y carreteras y tambien porque tiene mejor cobertura en Argentina usando el mapa común.

El tema es que resultó una complicación hacer algo tan simple como buscar una ubicación y ponerle un pin arriba, tenía que llamar una función en el callback, etc. Además nunca te dice si encontró o no la ciudad, solo te dice la cantidad de negocios  que encontró cerca de la ciudad.

Tampoco busca bien muchas localidades de Brasil, como por ejemplo, Praia do Rosa. GMaps no tuvo problemas en nada de esto y el codigo resultó mucho más sencillo.

La única buena, el SDK interactivo con los ejemplos de codigo listos para copiar, pero eso no es suficiente.

Chau, chau, Virtual Earth

author: Eduardo | posted @ Thursday, October 23, 2008 4:31 PM | Feedback (0)

Caso extraño usando jQuery Thickbox con IE7 con DOCTYPE HTML 4.0


Hoy estuve solucionando un problema con ThickBox que hacía que la ventana de ThickBox no se vea centrada cuando scrolleaste un poco para abajo y practicamente no quedaba visible

 

image

 

El problema solo ocurría en IE7, incluso IE6 funcionaba bien y el problema es específico porque en esta página tengo que usar un DOCTYPE viejo, porque es una página que viene de hace mucho en desarrollo.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Este DOCTYPE hace que IE7 sea tratado como un IE6, pero en una parte del codigo de ThickBox lo deja afuera, sin considerar que puede tener otro DOCTYPE.

ThickBox.js linea 284

if (!(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
    $("#TB_window").css({ marginTop: '-' + parseInt((TB_HEIGHT / 2), 10) + 'px' });
}

Corrigiendo esta linea a

if (!(jQuery.browser.msie && jQuery.browser.version <= 7)) { // take away IE6

solucionó el problema.

 

Ojo que no es una solución global para el problema, pero dentro de este proyecto en particular, todo solucionado.

author: Eduardo | posted @ Thursday, October 09, 2008 9:44 AM | Feedback (2)

Problemas con el char enconding en ASP classic


Hoy  estuve luchando toda la tarde con una página en particular de un sitio, que no respondía al

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

Todo el sitio tenía seteado el mismo header, pero sin embargo esta página se negaba a obedecerlo.

Luego de varias idas y venidas, varias busquedas en Google incluídas, empezé a descuartizar la página en pedacitos hasta quedar la más minima expresión que continuaba dando el problema.

Resulta que la página tenía un INCLUDE de un archivo nuevo, que fue creado en Visual Studio 2008, el cual crea el archivo como UTF-8 y no ANSI como estaba el resto del sitio.

Lo que no se sabe bien, porque la página cambia su enconding a UTF-8 solo por un INCLUDE, pero bueno, abriendo el archivo con Notepad y grabandolo como ANSI solucionó el problema.

Toda la tarde perdida...

author: Eduardo | posted @ Tuesday, September 02, 2008 9:56 PM | Feedback (0)

StackOverflow.com review


Hace un par de días recibí la invitación para participar en StackOverflow.com, el nuevo sitio desarrollado por Jeff Atwood y Joel Spolsky (aún en beta)

Cuando empezaron a desarrollarlo, me preguntaba porque tardarían tanto en tener, al menos, el sitio básico, aún siendo dos o tres buenos programadores con muchisima experiencia, pero al comenzar a usarlo estoy realmente impresionado por la sofisticación y velocidad del sitio.

Algunas cosas que me gustaron:

  • Practicamente todo lo que vas seleccionando dentro del sitio, es recordado entre sesiones.
    Por ejemplo: aquí elegí ver las respuestas en orden cronológico y fue recordado

image

 

  • Recuerda (y cambia la imagen) de cada lugar donde votaste. ¡Y podes volver a cliquear para deshacer lo que hiciste en caso de equivocación!

image

  • Todo es editable: Hoy en día, te equivocas en un comentario que haces en un post, y chau, otro post indicando lo que te equivocaste. StackOverflow nos trae de vuelta de la locura y nos permite editar lo que nosotros mismos escribimos.

image

  • RSS todo: te podes subscribir en cada pagina que estas. Preguntas, una sola pregunta, un usuario, un (o varios) tags. ¡Excelente!
    image
  • Performance: Cualquier programador sabe que llevar tantos del usuario y personalizar la pagina, de la manera que StackOverflow lo hace, es complicado desde el punto de vista de la performance, bueno, estos tipos se las arreglaron para que la velocidad de respuesta del sitio sea excelente

author: Eduardo Molteni | posted @ Saturday, August 23, 2008 5:53 PM | Feedback (0)

Error "HTTP Error 401.3 - Unauthorized" en IIS7 de Windows Vista tratando de acceder a sitio web de ASP Classic


Este es un error que siempre me daba tratando de acceder a un sitio en mi maquina local. Por supuesto que siempre lo resolvía dando el permiso de lectura a "Todos", una muy mala solución.

Hoy me decidí a hacerlo bien y detectar que usuario usa Vista para acceder al sitio.

Luego de usar el fantastico Process Monitor descubrí que el usuario es ... (tambores) ... IUSR

Creo que no es un gran descubrimiento para la humanidad, pero quizás es un aporte para alguien.

Edit

Atención cuando estamos usando el sitio como un Virtual Directory, porque en ese caso corre con el usuario correspondiente al AppPool, que generalmente es Network Service

Edit 2

Una guía muy completa por otros problemas desarrollando Classic ASP en Vista es Tips for Classic ASP developers on IIS7 (en inglés)

author: Eduardo Molteni | posted @ Friday, August 22, 2008 2:18 PM | Feedback (0)

Como usar otro ConnectionString en linq cuando usamos una librería dentro de un proyecto web


1. Ir al diseñador del DBML, hacer click de la derecha y seleccionar "Properties"

paso1

2. En las propiedades dejar en blanco "Connection String" y "Application Settings"
Eso causa que la clase no cree el constructor default (sin parametros)

paso2

3. Luego podemos crear el contructor llamando al connection string que nosotros querramos

Imports System.Configuration

Partial Class MiDataContext
    Sub New()
        MyBase.New(ConfigurationManager.ConnectionStrings("MiConnString").connectionString)
    End Sub

End Class

Nota: Acordarse que para llamar a ConfigurationManager tenes que agregar la referencia a System.Configuration.dll

author: Eduardo | posted @ Wednesday, August 13, 2008 11:01 AM | Feedback (0)

Diferencia entre DataTemplate y ControlTemplate


Ambos son practicamente iguales, con la diferencia que el ControlTemplate define un TargetType property y el DataTemplate tiene una DataType property.

¿Cuando usamos uno u otro? Si el control va a permanecer siempre igual, entonces es mejor usar ControlTemplate, pero si vamos a queres cambiar el template en runtime, entonces tenemos que usar DataTemplate junto con DataTemplateSelector.

author: Eduardo | posted @ Tuesday, July 22, 2008 4:18 PM | Feedback (0)