[OT] Descargar automáticamente desde RapidShare, gestor de descarga.

A pedido expreso de un amigo va este post… y para el que necesita descargar de a varios archivos y que no quiere mirar la pantalla como pasan los segundos.

image Quien no conoce este sistema para compartir archivos RapiShare (hay muchos iguales) y en todos debemos pagar $$ tener una cuenta Premium para tener mas “poder” sobre las descargas incluso para no estar esperando esos segundos ( y minutos) valiosos…
Con un mi amigazo Fabián siempre conversamos en de no poder gestionar la descarga… y la solución es simple: Armar un software que navegue por nosotros, espere por nosotros y los descargue por nosotros.

Como no tenemos tiempo de armar uno, encontré este: Rapidshare Plus! (versión 3.1 la ultima a la fecha que estoy escribiendo esto)

 image

Lo que me gusto que realiza la espera por nosotros.

image

Además:

  • Permite entrar un listado de enlaces directamente, copiando la cola
  • Programar la descargar para un horario especifico.

 

Para descargar:

Donde sino? http://rapidshare.com/files/173473827/RapidShare.Plus.v3.1.rar
Otro: http://w18.easy-share.com/1702875734.html

Para tener la ultima versión solo hay que ir al listado de versiones

http://rapidshare.com/users/9MQOR6/

Yo utilizo como gestor de descarga Free Download Manager, que en otra ocasión vamos a hablar de estas cosas free! que nos ayudan en nuestras vida cotidiana descargando archivos de la web. Que tiene soporte para RapidShare pero que no realiza la ESPERA 🙂

Parámetros null con proveedores de datos en ASP.NET: LinqDataSource utilizando ConvertEmptyStringToNull

Esto es express… porque estaba armando unas paginas con Cristina y en una probando con LINQDataSource asociado a un modelo LINQtoSQL no nos armaba correctamente el update partiendo de los datos de un Formview asociado al proveedor de datos.

Como lo comenta Juan Otero en su blog

“Es muy recomendable conocer lo que nos depara el futuro inmediato, pero no menos importante son las pequeñas cosas que forman el día a día actual.”

Así que aquí va algo del día a día…

 

Agregando valores a un combo/dropdownlist que no están en la lista de datos

Si tienes un combo (dropdownlist) enlazado a un datasource y quieres agregar un item que no se encuentra en la lista de datos, el popular “Sin datos”, “—Seleccione un datos –” pero sin querer validarlo, es decir que si el usuario selecciona guarde null en la DB.
Nos valemos de la propiedad: AppendDataBoundItems y agregando la lista en tiempo de diseño no se borran al enlazarse a datos.

<asp:DropDownList ID="ddlActividad" runat="server"
     AppendDataBoundItems="True"
     DataSourceID="linqDSActividad" 
     DataTextField="ActividadDesc" DataValueField="ActividadID" 
     SelectedValue='<%# Bind("ActividadID") %>'>
        <asp:ListItem Value="">[Sin Datos]</asp:ListItem>
</asp:DropDownList>

Mas información en artículos:

 

Esto no es el problema 🙂

Sino que cuando queremos hacer un binding entre los valores de este combo/dropdownlist con LINQDataSource y un Formview no detecta que pude ser null y no arma los parametros Update y nos genera el error la excepción

Veamos…

 

Actualizando/Insertando valores NULL

En el LINQDataSource tenemos la propiedad EnableUpdate, que básicamente armar por nosotros las sentencias update teniendo un modelo LINQtoSQL, que en este ejemplo es mi contexto.

Si hacemos algo básico para una tabla de ejemplo Empresas arma lo siguiente:

<asp:LinqDataSource ID="linqDSEmpresas" runat="server" 
    ContextTypeName="PROYECTO.Web.Modelo.MiModeloDataContext" 
    EnableUpdate="True" TableName="Empresas" 
    Where="EmpresaID == @EmpresaID">
    <WhereParameters>
        <asp:QueryStringParameter Name="EmpresaID" QueryStringField="EmpresaID" Type="Int32" />
    </WhereParameters>   
</asp:LinqDataSource>

Pero en el momento de actualización si algunas de nuestros combos/dropdownlist como el que vimos anteriormente están dentro de mi control Formview, Detailsview, etc generara un error porque no es un valor Int32.
Es decir con los items que viene de la DB y el que agregamos no pude definir el ID que corresponde al valor NULL, hay que explicitarlo escribiendo el UpdateParameters con la propiedad ConvertEmptyStringToNull establecida en true.

<asp:LinqDataSource ID="linqDSEmpresas" runat="server" 
    ContextTypeName="PROYECTO.Web.Modelo.MiModeloDataContext" 
    EnableUpdate="True" TableName="Empresas" 
    Where="EmpresaID == @EmpresaID">
    <WhereParameters>
        <asp:QueryStringParameter Name="EmpresaID" QueryStringField="EmpresaID" Type="Int32" />
    </WhereParameters>
    <UpdateParameters>     
        <asp:Parameter Name="ActividadID" Type="Int32" ConvertEmptyStringToNull="true" />
    </UpdateParameters>
</asp:LinqDataSource>

No es necesario todos los parámetros sino simplemente el que deseamos establecer la propiedad ConvertEmptyStringToNull
También tendríamos que hacerlo si necesitamos un DefaultValue.

Lo raro…

Lo raro! es que como bien me comenta Diego el valor por defecto de ConvertEmptyStringToNull  es true, pero en este caso hay que especificarlo 🙁
 

Notas

Si estamos utilizando algún proveedor de datos como ObjectDataSource, SQLDataSource, etc… los parámetros son explicitados en el diseño y allí podremos verlos a todos, y agregar estas propiedades. En este caso particular con LINQDataSource que no me detectaba estos nullables 🙁

 

Enlaces

  • ListControl.AppendDataBoundItems
    Obtiene o establece un valor que indica si los elementos de la lista se borran antes del enlace de datos.
  • BoundField.ConvertEmptyStringToNull
    Obtiene o establece un valor que indica si los valores de cadena vacía (“”) se convierten automáticamente en valores nulos cuando se actualiza el campo de datos en el origen de datos.
  • EnableUpdate
    Obtiene o establece un valor que indica si los registros de datos se pueden actualizar a través del control LinqDataSource.

Community Server 2008.5 SP1 en Español

En la empresa estamos probando CS (Community Server) como plataforma de Blogs (idem a Geeks.ms)

Para cambiar el lenguaje necesitamos como cualquier otro proyecto ASP.NET, o mejor dicho cualquier proyecto de Localización mediante archivos de recursos…

Pasos básicos

  1. Obtener el archivo de recursos (ahorrar tiempo y no traducir)
  2. Copiarlo a la carpeta correspondiente
  3. Configurar CS

 

PASO 1: Obteniendo los archivo de recursos en español

Para obtener solo googleamos un poco… pero esta también directamente buscar o pedir ayuda en los foros de desarrollo de CS:

 

PASO 2: Copiando los archivos en el lugar correcto

Cuando descargamos el archivo solo hay que descomprimirlo y el bueno de JMN nos da la guía practica.
Pero tambien por supuesto tenemos desde la wiki de CS…
   – Language Packs
    http://docswiki.communityserver.com/wikis/cs20085docs/language-packs.aspx

Cuando descargamos el archivo que nos comparte JMN tendremos:

image

Copiamos la carpeta es-ES dentro de la carpeta de Lenguajes del CS, generalmente esta aquí:
No creo que se enoje pero en base a su traducción por estos lugares vamos a darle el toque un poco Argentino… je! por eso mi carpeta se denomina es-AR

image

Copiamos y ahora nos falta solo configurar…y donde mas? en los archivos de configuración…

PASO 3: Configuramos el CS

  • Abrimos el archivo communityserver.config
    Alli cambiamos el atributo defaultLanguage por es-AR
    (Ubicación: C:Archivos de programaTelligentCommunity Server 2008.5Web)
    image
  • Luego tendremos que ir a modificar el archivo languages.xml (Ubicación: C:Archivos de programaTelligentCommunity Server 2008.5WebLanguages)
    image

y ya tendremos en nuestra lengua, luego de que el cache del CS nos deje visualizarlo 🙂

Espero que les sirva de ayuda o guía.

Múltiples Instancias Windows Live Messenger 9, simple… a puro regedit :)

Siempre entre mis amigos nos enviamos el path para abrir mas de una cuenta del MSN messenger, y hace un par de dias navegando por LiveSide di con este articulo

Que de una manera simple (sin descargarse ejecutables que tiene mas de una tarea y algunos spyware) podemos dar vida a varios MNS Messenger en la misma maquina.
Aquí van las dos formas de cambiar el registro:

  • Automática…
    Para usuarios que solo quieren abrir el MSN y listo. Descargar el archivo y ejecutarlo.
  • Manual…
    Para el que le gusta navegar por el editor de Registros 🙂 y ver que no estoy colocando cosas de mas…

OPCION: Automática

Descargarte el archivo para actualizar el registro de Windows desde aqui:

Simplemente ejecútalo…
El contenido:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows LiveMessenger]
"MultipleInstances"=dword:00000001

(cópialo y el block de notas,  guárdalo como .reg y ejecútalo)

 

OPCION: Manual

Aquí debemos ir el Editor del Registro de Windows

Como? (Si estas leyendo esto ya sabes como)
     Inicio >> Ejecutar >> regedit.exe

A la path: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows LiveMessenger

Allí debemos agregar una nueva clave al registro un valor DWORD (32bits)

image

Esta ubicación es:
image

La clave nueva se debe llamar: MultipleInstances y el valor en Hexadecimal 1
Cuidado no sean como yo que si no fuera por Diego que me avisaba que coloque un espacio de mas en el nombre 🙁

image

Y listo… ya puedes utilizar N instancias a la vez del MSN Messenger.

 

Espero que les sirva de ayuda o guía.

Microsoft Tags mejor que QR? Es otra alternativa… a probar

image

Linking real life to the digital world.

Esto  me viene a mi como anillo al dedo para testearlo aunque sea, ya que estoy embarcado en un proyecto multimedial donde una de las futures es que el usuario/visitante se pueda llevar información en si móvil (in incurrir en conectividad hacia el dispositivo bluetooth, wifi).

Tenia en la mente el código QR ya que hace unas semanas una empresa de telefonía en cartelería publica estaba con este tipo de código que parece escrito por un Vulcano, pero acaba de ver la luz Microsoft Tag asi que lo evaluare

Vio la luz…
www.microsoft.com/tag
En Twitter: https://twitter.com/microsofttag
En Facebook: http://www.facebook.com/pages/Microsoft-Tag/48324856532

 

 

Mirando ambos tipo de código

Para ir a una URL simple como esta: http://geeks.ms/blogs/fernandezja que debemos hacer:

con QR

con Microsoft Tags

Aquí la tecnología se llama High Capacity Color Barcode

Pasos a seguir:
– Buscar un sitio para generar online
– Generar imagen
 

Donde guarda la imagen? En l

Pasos a seguir:
  – Ir al sitio de Microsoft Tags
  – Suscribirse (por ahora free!)
  – Ingresar un Tag (ver tipos de Tags disponibles
Resultado final:

qurified_message

Resultado final

image

Capacidad:

Numérico    Max. 7,089 caracteres
Alfanumérico Max. 4,296 caracteres
Binario(8 bits)    Max. 2,953 bytes
Kanji/Kana (Caracteres chinos/japoneses)    Max. 1,817 caracteres

Capacidad:

Aquí se guarda en los servidores de Microsoft 🙂
Así que estamos un poco “atados”

PD: Tengo que averiguar si las URL también son guardadas en lo servers de Microsoft o ya están codificadas dentro del los lindos colores…
Respuesta: Como pensaba parece que es solo un ID que busca en los servidores de Microsoft la información.

image image
   

Otras característica de esta tecnología interesantes aqui
http://www.microsoft.com/tag/content/overview/

  • Mejor para imprimir en un tamaño pequeño.
  • Mejor para obtener información cuando se obtiene la imagen fuera de foco
  • Optimizado para impresión/video
  • En tags parcialmente dañandos (vía publica) se puede obtener información
  • En teléfonos actuales se puede decodificar sin necesidad de realizar la captura. Solo acercando la cámara.
  • Maneja las URL largas y permite contenido que se va a cambiar dinámicamente.
  • Los tags (las imágenes) son guardadas para su posterior visualización y puede ser transmitido a otra persona (sin necesidad de escanear de nuevo).

 

Creando un TAG

….”Creating tags is easy, and during our beta, free!”

Luego de la etapa beta los tags que creemos sera por lo menos free durante 2 años), cualquier otra pregunta aquí: taginfo{arroba}microsoft.com (como la mía, si tendremos alguna API para generarlo automáticamente, me imagino que si) ; tambien lo puedes preguntar/hacer un seguimiento desde twitter o facebook

Asi que probemos 🙂

image

Tipos de Tags: URL, Free Text, vCard, Dialer  (mas info)

image

Luego hay que descargar la imagen renderizada para utilizarla donde la necesitemos… ”Enlace la vida real con el mundo digital”, imaginemos tal cual nos proponen “agregando un tag a un paquete de un producto, impresion en cualquier lugar via publica, remeras, autos, murales; en tarjeta de visitas, exposiciones, video, ….”

image

Y listo, aquí mi tag

image

 

Versión del TagReader que me descarge: 2.1.71 que justamente es la versión para J2ME (tagreader.jar) 329KB
No entiendo mucho de esto de descargas app en Java pero algo tenia el certificado de esta aplicación que mi proveedor no lo detectaba como valida, tuve que descargar para “Unblock phones”.. si alguien sabe que significa me avisa 🙂 pero ahora no me funciona siempre sino cada vez que reinicio mi móvil 🙁

 

 

 

 

Enlaces

 

[ALM’08 Sessions] Como descargar los videos directamente?

Hace unos días nos contaba Rodrigo Corral que teníamos disponible las ponencias de ALM’08 (Application Lifecycle Management)

En ese momento me pregunte unos minutos porque no tenia para la descarga de los videos, algo que hoy en día es necesario con los reproductores de bolsillo para llevarlo a donde sea, como el video de Jose M. Alarcon que posteo hace unos minutos por aqui que esta en Channel 9 (en español) (y que esta para suscribirse en cualquier formato… lease .wmv, ipod/.mp4, etc), o como los videos del PDC2008 … aquí no todos con .mp4 🙁

Pero luego me puse manos a la obra para tratar de descargarlo con mi Free Download Manager.
Hoy en las listas de correo del MUG Argentina preguntaron como descargar los videos directamente y como ya lo hice (y primero con el de Rodrigo que era la presentación que nos interesaba a Diego y a mi) aquí comparto las direcciones (en un XML)

Para acceder a las ponencias tanto los videos como las presentaciones:

image

Como necesitaba también compartirlo con Diego (un compañero de trabajo) tenia que descargarlo al video completamente para eso simplemente “sniffie” que datos obtenía….

Aquí están:

….ábrelos con tu lector XML favorito 🙂

Ejemplo de la presentación de Rodrigo, donde podrán ver la URL para la descarga del video

<conference>
      <author>Rodrigo Corral</author>
      <titulo>Control de proyectos con metodologías ágiles y Team System (Descargar PPT) </titulo>
      <description>El control de los proyectos siempre a sido una gran preocupación para los gestores. ¿En que situación se encuentra el proyecto?. ¿Llegaremos en fecha?. ¿Cuanto funcionalidad tenemos que sacrificar para llegar en fecha?. Las métricas son la respuesta a esta preocupación, pero a menudo los proyectos no cuentan con ellas debido a la dificultad para recoger los datos de campo en los que basarlas. A menudo se piensa que las metodologías ágiles sacrifican el control del proyecto en post de la flexibilidad, pero la realidad no es esta.</description>
      <UrlVideo>http://www.alm08.com/videos/11_plain concepts.wmv</UrlVideo>
      <Company Url ="http://www.plainconcepts.com">Plain Concepts</Company>
      <MoreInfo Url="http://www.microsoft.com/spanish/msdn/spain/eventos/alm/workshops.mspx">Workshops ALM</MoreInfo>
      <UrlVideoThumb>img/11.png</UrlVideoThumb>
      <Ppt Url="http://www.alm08.com/ppt/plain.pptx" />
    </conference>