RSS 2.0 Atom 1.0 CDF  
JASoft.org - Wednesday, April 02, 2008
El blog de José Manuel Alarcón Aguín. Programación .NET y mucho más...
 

Esto lo he leído hoy en Engadget y he flipado bastante. Reproduzco:

"Muchos usuarios han tenido problemas usando las tarjetas de sonido de Creative en Vista, y un habilidoso programador, Daniel Kawakami, se las arregló para escribir sus propios drivers. Resulta que el software proporcionado por Daniel es aún mejor que el del fabricante, y por eso sus programas llegaron a hacerse muy populares.

El problema empieza cuando Daniel pide donaciones para poder dedicarle más tiempo a la programación, y Creative no toma las cosas bien, por lo que procede a amenazarlo públicamente en los foros.

La respuesta de Daniel es simple y clara: no producirá más controladores, pero se siente molesto porque dice que Creative simplemente podía haberle enviado un email. A nosotros nos parece que Creative debería invertir más tiempo contratando a Daniel para que haga lo que ellos no pueden, y menos tiempo amenazándolo."

Yo me pregunto: ¿realmente Creative no es capaz de hacer drivers mejores? ¿No tiene dinero para fichar a Daniel? o, como bien sugiere un lector en el post original, ¿no será que directamente no les interesa crear buenos drivers para sistemas nuevos de modo que tengas que actualizar el hardware y así su negocio vaya mejor, y por eso le dan caña al bueno de Daniel?.

A mi por ejemplo me pasó con una webcam Logitech carísima que me compré. A los pocos meses salió Vista y esta gente no ha sacado drivers. pasaron los meses y siguen sin sacar drivers y por lo visto no tienen intención de hacerlo tampoco. Resultado: me gasté un pastón (era de las cámaras más caras en el momento), la usé tres o cuatro meses y al final para poder tener webcam en Vista tuve que comrparme otra nueva (por supuesto no Logitech, claro).

En fin...

Wednesday, April 02, 2008 10:55:12 AM (Hora de verano romance, UTC+02:00)  #    Comments [0]   Mundo TIC  |  Trackback

Pues ahora, justo al volver de comer, me he encontrado con un correo muy atento de la gente de Microsoft en el que me comunicaban que por cuarto año consecutivo he sido reconocido de nuevo como Most valuable Professional (MVP) por Microsoft Corporation.

Así que ya me ha alegrado la tarde :-)

Otro año más dando guerra como MVP por estos pagos. Espero que os pueda aportar mucho a todos desde el Blog, charlas, artículos, cursos y todas estas cosas en las que siempre estoy metido.

Un saludo.

Tuesday, April 01, 2008 4:42:04 PM (Hora de verano romance, UTC+02:00)  #    Comments [2]   Off-Topic  |  Trackback

Hoy, casi de casualidad, he encontrado este estupendo post de Laurence Moroney sobre cómo montar unas plantillas en Visual Studio que nos permitan desarrollar con Silverlight usando lenguajes dinámicos como Ruby, Python o JavaScript dinámico.

Espero que os sirva :-)

Sunday, March 30, 2008 8:50:41 PM (Hora de verano romance, UTC+02:00)  #    Comments [2]   Silverlight  |  Trackback

Hace poco comentaba en este blog que estaba disponible un parche que mejoraba Visual Studio 2008 para el desarrollo Web, y sobre todo aceleraba el ya de por si rápido diseñador Web.

En esa ocasión sólo estaba disponible en inglés. Ahora ya está disponible en castellano y otros idiomas también.

Estos retrasos en tener en otros idiomas las cosas es lo que hacen que me suela instalar todo en inglés. No deja de ser otra forma de colonialismo de los USA ;-)

¡Hala! Que te sea útil.

Saturday, March 29, 2008 2:35:28 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   ASP.NET | Visual Studio  |  Trackback

PowerCommands es un complemento para Visual Studio 2008 que incorpora al entorno una colección de utilidades relacionadas con la ventana de explorador de soluciones, para facilitarnos un poquito la vida a los programadores:

PowerCommands.jpg

Puedes cerrar de golpe el árbol de proyectos completo (algo muy útil en proyectos grandes donde normalmente hay que ir uno a uno y es morirse. No sé como esto no lo tiene por defecto el entorno), Copiar una clase y pegarla en otro proyecto, copiar y pegar todas las referencias entre proyectos, abrir la carpeta contenedora, abrir una línea de comandos en esa carpeta, quitar y reordenar los using de un módulo, etc...

Puedes descargarlo (y también su código fuente) desde la página de MSDN Code gallery.

Wednesday, March 26, 2008 9:21:10 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   Visual Studio  |  Trackback

Como seguramente sabrás si eres asiduo lector o lectora de este blog, hace un par de semanas participé como ponente en el lanzamiento de Visual Studio 2008, durante los TechDays, The Evolution Show, en Madrid.

Como parte de ese evento, aparte de la consabida ponencia, participé en una sesión de Ask The Experts (ATE) el segundo día por la tarde, enla que tuve oportunidad de conversar con mucha gente (antes,durante y después) sobre todo tipo de cuestiones técnicas relacionadas con el desarrollo Web. El ATE es, básicamente, una lotería. LLegas, y la gente que está allí te empieza a preguntar lo que se le ocurra, así que nunca sabes por dónde te van a salir. En esta ocasión la cosa fue estupenda, y los asistentes hicieron muchas preguntas interesantes. ¡Gracias a todos los que asistísteis! :-)

Los buenos chicos de Microsoft grabaron todo el ATE para compartirlo en su página Comando Tomate, la última ida de olla de esos cracks que trabajan en DPE de Microsoft Ibérica.

Creo que a muchos de los que visitáis asiduamente este blog os pueden interesar algunas de las preguntas que contesté allí, así que os dejo los correspondientes vídeos (necesitarás Silverlight 1.0 para poder verlos).

· En el primero de ellos hablo sobre cómo construir aplicaciones Web en varias capas usando controles ObjectDataSource. También sobre qué es Expression Web y cómo encaja dentro de Visual Studio 2005/2008. Finalmente también contesto a la preocupación de uno de los asistentes sobre cómo proteger el código de nuestros desarrollos con ofuscadores:

· En el segundo vídeo me meto en harina con un tema peliagudo que me lanza un asistente algo despistado. Me pregunta sobre cómo manejar consultas con miles de registros en la interfaz de usuario, algo que considero muy interesante. El problema es que el buen hombre estaba todo el rato pensando en aplicaciones de escritorio (Windows Forms) y mi charla era de desarrollo Web, por lo que todo lo que le comentaba no le convencía y negaba con la cabeza continuamente, lo que me estaba poniendo un poco frenético, la verdad. Al final se dió cuenta de que estábamos hablando de cosas diferentes. No obstante el tema era de mucho interés y creo que lo que cuento puede interesar a muchos (siempre pensando en desarrollo web, claro). También hablo de cómo encapsular capacidades AJAX en controles de usuario para reutilizar en las páginas:

· Por fin, en el último vídeo del ATE hablo sobre el trabajo en equipo con Expression Web y Visual Studio, y sobre cómo es la mejor forma de utilizar DataSets tipados y LINQ To SQL en aplicaciones con requisitos cambiantes:

¡Espero que os guste! :-)

Wednesday, March 19, 2008 7:05:09 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   AJAX | ASP.NET | Expression Web | Visual Studio  |  Trackback

Leo estos días el último incidente en el que un producto de consumo infecta a los pobres compradores que se lo llevan para casa. Se trata de un marco digital de 10,4 pulgadas que se vendía a través de la marca Best Buy pero era realmente de la marca Insignia. El caso es que el marquito llevaba un virus metido de fábrica que, al conetcarlo al ordenador con el cable USB, infectaba al equipo del sufrido propietario.

Al parecer, según dicen la nota de prensa que han sacado, el virus era bastante antiguo y cualquier antivirus más o menos actualizado lo debería pillar y borrarlo, pero claro, eso no quita que sea un peligro enorme. Se han infectado un número indeterminado de clientes, pero no todos los marcos tenían el virus. Han retirado el producto del mercado, pero el que se lo haya llevado para casita que se aguante ;-(

Al menos no han tenido las santas narices de decir que la culpa es de Windows por que tiene muchos virus orientados hacia él, como hicieron los de Apple hace un año cuando les pasó lo mismo con el iPod. Según Greg Joswiak, vicepresidente de Apple:

"As you might imagine, we are upset at Windows for not being more hardy against such viruses, and even more upset with ourselves for not catching it."

Con un par. Sí señor. Puedes ver las declaraciones completas en el artículo de Computer World original.

Esto pasa hasta en las mejores familias, pues no hace mucho le ocurrió nada menos que a Seagate que envió al mercado, infectados de fábrica, "un número indeterminado" de discos Maxtor de 500 GB con un troyano que se dedicaba a robar claves de juesgos on-line.

En fin, también en la vida digital hay que tener cuidado con quién metes en casa, jeje

Tuesday, March 18, 2008 11:18:35 AM (Hora estándar romance, UTC+01:00)  #    Comments [0]   Mundo TIC  |  Trackback

Este post surge a raíz de una duda que un alumno me preguntó hace unos días en uno de los cursos de campusMVP.

Cuando vas a ver las propiedades de un archivo en Visual Studio una de ellas es "Build Action", que controla el comportamiento del compilador respecto a dicho archivo. Las opciones disponibles se han ampliado en el caso de Visual Studio 2008 respecto a la versión anterior 2005, y son las que se ven en esta figura:

¿Para qué sirve cada una de ellas? Veamoslo:

· None: no hace nada con el archivo, como parece evidente :-)

· Compile: compila el contenido del archivo. Se usa para archivos con código fuente (.cs, .vb, etc..). Si quieres dejar fuera de la compilación a uno de estos archivos puedes ponerle 'None' como acción.

· Content: se usa para marcar archivos que deben ser distribuidos con la aplicación (y por lo tanto copiados a la carpeta de compilación) pero que son únicamente de contenido, no de código. Por ejemplo un archivo de configuración, un gráfico, un XML, etc...

· Embedded Resource: cuando un archivo (por ejemplo un gráfico) prefieres que no se distribuya como archivo independiente sino que se incluya dentro del ensamblado de proyecto como un recurso embebido. Esto hace que a la hora de compilar el proyecto el elemento se incluya dentro del ensamblado resultante (DLL o EXE) como un recurso que podremos utilizar mediante la API correspondiente. Por ejemplo, si añades un archivo "logo.jpg" a tu proyecto y le asignas este valor para la compilación, luego puedes leer el gráfico para usarlo del siguiente modo:

Bitmap miLogo = new Bitmap(this.GetType(), "logo.jpg");

· CodeAnalysisDictionary: esto sive para marcar un archivo XML como origen de diccionario de palabras personalizado. Esto tiene que ver con el análisis de código que hace Visual Studio (lo que antes se llamaba FxCop). Básicamente, cuando estableces las normas que debe cumplir tu código y le realizas un análisis para que te de advertencias, una de las opciones que puedes marcar es exigir que los nombres de métodos, campos y variables estén bien escritos (no tengan faltas de ortografía) para lo cual se usa un diccionario del mismo modo que en Word, por ejemplo. Si hay palabras que no están en el diccionario pero que tú consideras correctas (por ejemplo, el nombre de tu empresa) puedes incluirlas en un archivo de diccionario personalizado (como en Word, de hecho) que en este caso es un .xml que contiene una serie de palabras y está marcado con este atributo. Por ejemplo, puedes incluirle esto:

<?xml version="1.0" encoding="utf-8" ?>
<Dictionary>
   <Words>
       <Recognized>
           <Word>Krasis</Word>
           <Word>campusMVP</Word>
       </Recognized>
   </Words>
</Dictionary>

y así te reconoce estas dos palabras como válidas y no se quejará el analizador de código.

· ApplicationDefinition: Esta opción es nueva en VS2008 y se usa para identificar a los archivos de marcado XAML que contienen la definición de una aplicación WPF, esto es, un archivo XAML cuyo nodo raíz es <Application>. También se puede marcar un archivo .cs o .vb si la definición de la aplicación se hace directamente por código. Sólo puede haber un archivo en todo el proyecto marcado con esta acción de compilación.

· Page: También nueva y relacionada con WPF. Se usa para marcar archivos XAML de tipo página (normalmente con un archivo CodeBehind asociado) cuyo contenido se convierte a formato binario y se compila en un ensamblado. Suelen contener nodos de tipo Window, Page, FlowDocument o UserControl.

· Resource: similar a Embedded Resource porque incluye elementros como recursos en un ensamblado pero usado para WPF.

Espero que os resulte útil :-)

Saturday, March 15, 2008 7:16:38 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   Visual Studio  |  Trackback

Bueno, estos días como no tengo apenas tiempo de "frikear" con código lo suplo con sucedáneos que me quiten menos tiempo. En este caso lo que he hecho ha sido probar Internet Explorer 8 Beta. Me permite seguir viendo cosas nuevas al mismo tiempo que trabajo y hago otras cosas que no tienen que ver con la programación :-)

El caso es que precisamente por ese motivo tuve la brillante idea de instalarlo en mi equipo de trabajo habitual, en la oficina. Craso error. La actual beta de Internet Explorer es nefasta para el sistema. Lo cierto es que promete muchas cosas interesantes para cuando esté listo, pero de momento es sólo un programa que inestabilizará el sistema y no te aportará apenas nada nuevo. Desde que lo instalé hace una semana he tenido que hacer reset manual del equipo más de media docena de veces, algo que no me había ocurrido jamás con Windows Vista. Lo he quitado y todo ha vuelto a la normalidad por fortuna.

El caso es que inicialmente me llevé un susto porque fuí a "Programas y aplicaciones" en el Panel de Control y no había ni rastro de un programa de desinstalación de IE8. Por un instante me vi condenado a reinstalar el sistema. Casi me da algo. Si te fijas un poco más resulta que en Windows Vista, IE8 se instala como una actualización, no como un programa. Aunque se trate de una beta :-(

Así que si te vas a Control Panel · Programs and features · View Installed Updates verás que te aparece el pequeño cabroncete por allí y ya lo puedes eliminar, jeje:

Espero que esto sirva para evitarle a alguno que lo instale y a otros para quitarles el susto de que no pueden quitarlo ;-)

Thursday, March 13, 2008 4:35:09 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   Sistemas operativos  |  Trackback

El otro día, para un proyecto, necesité disponer de una buena lista de nombres, apellidos, teléfonos y otros datos personales de individuos de distintas nacionalidades para poder hacer pruebas. Lo primero que como buen friki programador pensé fue la posibilidad de conseguir en Internet alguna lista de nombres y apellidos (busqué sobre heráldica, censos electorales y otras cosas así en Google) y luego hacer un programa para generarlos aleatoriamente combinándolos.

El caso es que llegué hasta algo mucho mejor. Se trata de un par de páginas realmente interesantes que permiten generar datos aleatorios con bastantes parámetros.

La primera de ellas es Generatedata.com:

Te permite crear una lista de registros de datospersonales simulados a elegir entre mútliples opciones (ver desplegable de la figura), y luego exportarlos a diversos formatos, incluyendo sentencias INSERT de SQL para meterlos en una base de datos. Lo malo es que sólo soporta datos de ciudades y provincias de los países que se ven en la figura (Canadá, Holanda, EEUU y Reino Unido), pero puede servirnos para muchos casos. La versión gratuita, sin registrarnos, permite generar hasta 200 registros de una vez. "Donando" 20 dólares (unos 14 euros) podemos generar 5.000 de golpe.

La segunda página ya es un poco más peligrosa y puede que roce incluso la ilegalidad, así que la pongo aquí con pinzas ;-)

Se trata de Fake Name Generator:

Esto es ya "la caña". Permite elegir el género, la tipología de nombres (latinos, daneses, americanos, chinos, húngaros, eslovenos y así hasta 14 tipologías) y el país para las direcciones (a elegir entre 19 países). A partir de esto genera una ficha detalladísima de datos personales que incluye hasta número de Visa (falso, claro), número de seguridad social americano (en caso de USA), dirección de e-mail que podremos usar para recibir correo real en ella y hacernos pasar por el individuo en cuestión, o número de tracking de paquetes de UPS!!! Impresionante.

Mira lo que me generó al elegir el nombre latino de una mujer en España:

---
Olaya Nieto Mascarenas
Salzillo, 35
32570 Maside

Email Address: OlayaNietoMascarenas@fontdrift.com

Birthday: November 12, 1951

Visa: 4539 5050 6021 8799
Expires: 12/2011

UPS Tracking Number: 1Z 648 597 13 1249 330 9
---

¡Maside es un pueblo pequeño de la provincia de Ourense, no muy conocido fuera de ahí! Dudo que la calle exista allí, pero el código postal está bien y pertenece al municipio. Es tan fácil y tan preciso que casi da miedo.

Podemos ir generando así, uno a uno, o como es lógico, solicitar un número grande de datos falsos con los campos que nos interesen que podemos bajar en muchos formatos. En este caso tenemos dos opciones según la prisa que tengamos: pagar y que nos los genere de inmediato u obtenerlos gratis esperando a la cola con los demás que también lo hayan solicitado. en ese caso nos dice además el tiempo aproximado que deberemos esperar (por ejemplo, hace un momento eran unos 20 minutos solamente, pero dependiendo de la cola que haya pueden ser varias horas).

Espero que os sirva para hacer el bien ;-)

Monday, March 10, 2008 9:47:44 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   Mundo TIC | SQL Server  |  Trackback
Copyright © 2008 José Manuel Alarcón Aguín. All rights reserved.