Archivos para Junio 2008
Pagina : www.Daisy.org

En alguna que otra ocasión he comentado lo gratificante que resulta para cualquier “techi” tomar un poco de perspectiva y ver como la tecnología finalmente puede mejorar en algo la vida de las personas. A veces mucho, a veces poco y a veces se exagera sobre ese impacto (yo soy de los que opina que las cosas realmente importantes de la vida, son gratis, y nada tienen que ver con la tecnología), pero no cabe duda que la tecnología en algunos casos puede escalar muchas posiciones en ese ranking de cosas importantes.
¿Saben cuántos libros de los que se publican se hace teniendo en cuenta los problemas de accesibilidad de los colectivos sin capacidad para leerlos en su formato impreso? tic, tac, tic, tac …. 5%
¿Pues no parece mucho, verdad? Eso significa, entre otras cosas, que cuando una persona con dicha dificultad quiere leer un contenido publicado determinado, se va a ver limitado de forma definitiva por la disponibilidad de dicha publicación en un formato accesible para él.
Es decir, no solo se enfrenta a la tarea de escoger a que libro dedicaré mis próximos dias, semanas, meses o años (ardua pero gozosa tarea), sino que posteriormente el filtro de “accesibilidad”, se convierte en el mayor censor de libros que nunca ha existido. Y no un censor al uso, en base al contenido no, sino un censor mucho menos predecible, mas tirano e indiscriminado: ¿Se ha acordado alguien en la cadena de producción del libro de la existencia de este colectivo? ¿Si? ¿No? ¿Si pero no sale a cuenta?
Fijense en este otro dato: Se estima que el 70% de los contenidos publicados en libros, revistas, publicaciones etc, existentes (Pero Fijense en esta burrada de información de la que estoy hablando), en algún momento de su proceso antes de la llegada a los lectores (autoría, edición, publicación, etc ..) , ha estado en Microsoft Word. Ya sea porque al autor le gusta escribir en Word, o al corrector revisarlo en Word, o al editor corregirlo etc, etc. El 70% en algún momento, aunque sea breve, ha pasado por Word. Por favor, que nadie interprete que estoy con el chip “competencia” activado. Este post no va de eso. Solo descubro una realidad para seguir hilando este post.
Bien. Algunos ya conoceran lo que es DAISY. Para quien no esté muy al tanto, DAISY es un consorcio internacional (Digital Accesible Information System), formado en Mayo de 1996 y constituido por más de 70 organizaciones sin ánimo de lucro (por supuesto incluida nuestra querida ONCE), para crear y promover activamente el estándar DAISY para los denominados Digital Talking Books (DTB), es decir, los “libros parlantes”.
La visión del consorcio DAISY es que toda información publicada sea accesible a personas con este tipo de dificultad, en una forma sencilla, de bajo coste, y rica en experiencia de usuario. DAYSI XML es un formato estandar universal (ANSI/NISO Z39.86 2002) que vió la luz en Marzo del 2002, y trabajado en profundidad por dicho consorcio hasta convertirlo en el estándar universal que es hoy en día.
Pues bien, si hemos seguido los hechos hasta este punto, podremos darnos cuenta de lo tremendamente importante que es este resultado que se acaba de conseguir, anunciar y publicar:
Microsoft ha financiado y colaborado durante los últimos 7 meses el desarrollo de un proyecto OpenSource, gratuito y descargable por cualquiera desde Sourceforge un conversor que permite a MS Office Word (XP, 2003 y 2007), convertir OpenXML en Daisy XML.
Es decir: Guardar como … DAISY
Espero haber planteado bien el post. Si es así, sobran las explicaciones para entender en este punto lo TREMENDAMENTE importante que es este paso para este colectivo con dificultades de lectura impresa. Pero pensemos un poco en la implicación más directa (entre otras):
-
Incremento dramático del número de contenidos accesibles para este colectivo. Una herramienta gratuita, sobre una tecnología tan utilizada en la cadena de producción de contenido impreso, permite generar este contenido “accesible” al mismo tiempo y al mismo costo que cualquier otro contenido. Ni decir tiene lo que esto va a significar en el incremento de contenido disponible para este colectivo (y aunque mucho menos importante en comparación con la visión ética y humana de DAYSI, aproximar mas este modelo alternativo de “negocio” a editores, autores que podrán dirigir sus ofertas a este colectivo de forma mucho mas directa )
Les invito a seguir los links, instalar la herramienta, descargar algún DTB y ver por nosotros mismos la experiencia. Yo lo he hecho, y de verdad, merece la pena.
Esto si es generar valor sobre la tecnología, como alternativa a tanto debate negativo, destructivo, y sobre todo estéril. A buen entendedor …
Y para quien quiera entretenerse un poco más, aquí está este video en Español que aclara mucho sobre el enorme impacto de este desarrollo.
Escrito por : Hector Montenegro.
WebCast – 26 de Junio
Conferencia Online Comunidad de Arquitectos: La Transición al Rol de Arquitecto de Software
¿Eres un desarrollador que quiere aprender un poco más acerca de cómo llegar a ser un arquitecto? ¿O como llegar a ser reconocido formalmente como uno de ellos ( Dado que actualmente ya realizas labores de arquitectura y diseño)? En esta cuarta y última sesión de esta serie de webcasts, discutiremos como obtener las habilidades requeridas para ser un arquitecto y como mostrarlas dentro de su organización e industria. Proveeremos adicionalmente una lista de recursos que puedes continuar utilizando para afrontar la transición de desarrollador a arquitecto de software.

Siempre que se presenta un nuevo producto de Apple, los analistas lanzan sus teorías de lo que cuesta realmente fabricar un solo producto Apple. Como no, con la salida del nuevo iPhone 3G esta lista ya ha salido y para sorpresa de todos, el precio de fabricación es mucho más bajo que la primera versión.
Si el precio de de los componentes de la primera generación del iPhone era de $220, el de la versión 3G es de solo $100, un ahorro bastante fuerte que se ve reflejado en el precio de salida. Una maquina de hacer dinero, eso va a ser el nuevo iPhone, Apple obliga a pagar los costes a las operadoras, las operadoras te tienen cojido por… el contrato durante 18 meses y tu, tan contentido con tu iPhone deseando de que Apple lance la nueva generación

Dell ya no ofrece, en teoría, ningún sistema con Windows XP. Todo sus portátiles y PC de sobremesa se venderán desde este momento exclusivamente con Windows Vista… a no ser que pagues un extra de $50 por el downgrade a XP.
Como es imposible que se venda ningún PC con Windows XP, lo que esos $50 representan es que un técnico borre el discos duro e instale una copia de Windows XP, evidentemente original, no una copia OEM como son las que vienen preinstaladas en los ordenadores. Por suerte en el precio de sus ordenadores incluyen el precio del Windows Vista que viene por defecto, lo incluyen en un DVD para que cada uno haga su actualización cuando este seguro de hacerlo.
¿No deberíamos olvidarnos ya de XP? Se que no todo funciona como debería, ¿pero en XP lo hizo alguna vez como debía?
Robot Acuatico
Este robot fue desarrollado por Hirose Fukushima Lab en Japón. Es bastante interesante porque esta “serpiente” puede moverse debajo del agua. También puede moverse en tierra firme pero es mucho más eficiente en superficies líquidas. El ACRM-R5 tiene su propio procesador, motor y batería.
Zune Phone ?? o un Touch

Luego del Lanzamiento de El iPhone 3G de Apple Pueden Verlo Aqui
El diario San Franciso Gate entrevistó a los responsables de las áreas de Xbox, Windows Mobile y Zune de Microsoft, que resulta ser la misma persona: Robbie Bach
En la entrevista se comenta qué pasó con el Zune Phone.
Robbie Batch despejó algunas dudas con respecto a este tema. En primer lugar aclaró que no se está trabajando en un teléfono Zune y destacó que Microsoft actualmente ofrece la plataforma Windows Mobile que se utiliza en una gran cantidad de dispositivos. Además subrayó que ellos no fabrican teléfonos y no tienen planes de hacerlo.
Es obvia esta respuesta, Microsoft está demasiado ocupado con sus Windows Mobile, no necesitan que su reproductor sea también un teléfono.
Otro de los grandes misterios es sobre la siguiente versión de Zune, la tercera generación que está por llegar. Pregunta obvia: ¿Pantalla táctil? Seguramente decir que el nuevo Zune tendrá pantalla táctil es confirmar algo que todo el mundo medianamente informado sabe de sobra, es por donde van a ir todos los fabricantes… desde hace meses ¡claro que tendrá pantalla táctil! Claro que Bach no fue muy claro y no lo confirmó con un «sí, zune tendrá una versión con pantalla táctil».
Enlace : Entrevista
Ojo biónico
Investigadores del MIT están muy ilusionados con su nuevo trabajo en un ojo artificial que estará listo dentro de unos años y que le devolverá la visión a muchas personas.
El implante bio-electrónico tiene el tamaño de la goma de un lápiz y se coloca en la retina, detrás del globo ocular, donde las imágenes serán transferidas por el aparato al cerebro a través de una especie de cable que no será más grande que un cabello humano.
Este implante estaría disponible sólo para personas que alguna vez pudieron ver. Por lo que no serviría para personas que nacieron con esta discapacidad.

Fuente Original : 15 Seconds
Un manejador se encarga de cumplir las peticiones de un navegador.Pide un navegador que se maneja ya sea manejado por extensión de archivo (o falta de ella) o llamando directamente el manejador. Sólo un manejador puede ser llamado por solicitud. Un manejador no tiene todo el código HTML de texto como. ASPX o. Ascx archivos. Un manejador es una clase que implementa la interfaz IHttpHandler. Si se necesita interactuar con cualquier reunión de información, usted también tendrá que aplicar la interfaz IRequiresSessionState, Si desea hacer una manejador asincrono, tendrá que aplicar la IHttpAsyncHandler interfaz en lugar de la interfaz IHttpHandler.
Llamando al Handler
Un manejador puede ser invocado por cualquier extensión de archivo que está asignada a través del web.config IIS y la extensión de archivo asignaciones, Puedes encontrar un archivo llamado something.billybob donde “billybob ‘es la extensión de archivo, o bien puede no tienen extensión de archivo a todos como http://web/handler/file cuando una petición de’ archivo ’sin una extensión invoca una manejador asignado a *.* o el directorio como *.
Cómo llamar a un manejador de directorio
El fichero de código para el manejador tiene la extensión de archivo de ‘ashx’ en el servidor web. Este archivo puede ser llamado directamente a través de un navegador, sin tener que configurar web.config o IIS asignaciones de extensión de archivo Por ejemplo: http://web/handler/handler.ashx. Algunos ejemplos de este tipo son handler álbumes de fotos, titulares RSS, blogs y sitios web. Cada uno de estos es un buen ejemplo de trabajo que puede ser mejor realizado sin estándar HTML. Un álbum de fotos directorio implica el rastreo y la respuesta con fotos. Un feed RSS devuelve la información en el formato correcto.
Trace.axd como Ejemplo Handler
Un ejemplo de un manejador que se invoca por extensión de archivo es el archivo Trace.axd utilizado para depurar. Con el fin de invocar el manejador de Trace.axd, puede configurar el sitio web de rastreo mediante la adición de una sección para localizar web.config:
y llamar a la trace.axd archivo de la raíz del sitio web como http://localhost/trace.axd.
Requerido asignaciones de IIS para Manipuladores de llamada por extensión de archivo
Manipuladores de que se invoquen sobre la base de una solicitud de extensión de archivo de configuración requieren en web.config y en el IIS extensión de archivo de mapas.Con el fin de ver el archivo de cartografía de la *. axd archivo, abra el Administrador de IIS y configurar la aplicación. Go to the ‘Mappings’ tab and scroll down until you see the .axd file extension. Volver a las’ asignaciones’ y desplácese hacia abajo hasta que vea el. Axd extensión de archivo.

Haga doble clic sobre el archivo. Axd extensión con el fin de ver más detalles acerca de este mapeo.

La invocación de los manipuladores de extensión de archivo o extensión no le da la flexibilidad acerca de lo que se llama y cuándo. Hay muchos artículos en la web sobre extensión de archivo para que los manipuladores de este artículo se centrará en el manejador que se llama directamente
La creación de un Handler
Con el fin de crear un manejador de archivos de código, usted necesita un sitio web en Visual Studio 2005 (o Visual Studio 2003 para un archivo. Manejador NET 1.x). Por un nuevo sitio web, selecciona “ASP.NET Web Site”.

Esto creará un sitio web con un directorio App_Data y el archivo default.aspx.Usted no va a usar la default.aspx para que puedas salir de él, ya sea solos o borrarlo.

Usted tendrá que crear el web.config y el manejador de archivo, haga clic en el sitio web en el Explorador de soluciones y agregar nuevos temas de “web.config” y “Generic Handler».

El codigo del manejador se vera asi :
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = “text/plain”;
context.Response.Write(“Hello World”);
}
public bool IsReusable {
get {
return false;
}
}
}
En este punto, construir el proyecto y establecer el handler.ashx archivo como el archivo de inicio. Iniciar condebugging. Se le pedirá permitir que el proceso para cambiar su web.config para permitir la depuración. A menos que quiera escribir en el cambio de permitir la depuración de ti mismo ( “”), aceptar este cambio


Handler.ashx
El archivo handler.ashx implementa la interfaz IHttpHandler y dispone de dos métodos ‘ProcessRequest’ y ‘IsReusable’ , El ‘ProcessRequest’ es su principal método en donde se colocara su código
El ‘IsReusable’ este método es true por defecto e indica si otra solicitud puede usar el ejemplo IHttpHandler. Si el ejemplo se puede reutilizar se deja en true – esto mejorará la velocidad del manejador, y reducir el trabajo que tendra que hacer su servidor . Pero si su ejemplo no debería ser reutilizado, debido al estado o porque es ansychronous, debe configurar IsReusable a false.
Estado de Sesión
Antes de continuar, debera de aplicar la intefaz IRequiresSessionSate en el archivo handler.ashx, Si necesita acceso de sólo lectura para el período de sesiones, tendra que aplicar la interfaz IReadOnlySessionState, Ambas interfaces se encuentran en la System.Web.SessionState Espacio de nombres que usted tendrá que añadir. El código debería tener el siguiente aspecto:
using System;
using System.Web;
using System.Web.SessionState;
public class Handler : IHttpHandler , IReadOnlySessionState{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = “text/html”;
context.Response.Write(“Hello World”);
}
public bool IsReusable {
get {
return false;
}
}
}
Establezca un Break Point para la primera línea en la clase y comenzar de nuevo la depuración
Manejo de Problemas con Debug Build
Cuando usted usa una Debug Build, usted tiene todos los recursos del depurador de Visual Studio, todos Espacios de nombres del . NET Framework, y cualquier sistema de utilidades y aplicaciones. El Visual Studio Debugger le permite ver la pila de llamada, las variables locales, variables de cualquier reloj, etc Usted probablemente está familiarizado con el uso de estas características en cierta medida. Sin embargo, con un HTTP Handler, la depuración es mucho más importante porque la única indicación visual de un error en el contenido se encuentra en el codigo.
Manejo de Problemas con un Release Build
es diferente de la depuración construir en ambas funciones y el rendimiento. Cuando usted está utilizando el Release Build es, probablemente, en un entorno de producción Como tal, tendrá que utilizar un conjunto diferentes herramientas para encontrar sus temas.
Depurando con el Espacio de Nombres System.Diagnostics
tiene muchas clases para ayudar con la depuración en la liberación y el modo de depuración, Si usted está en libertad de depuración en modo de espera, usted debe usar la clase Trace. Si está de depuración en el modo de depuración, debe usar la clase Assert. Este artículo no cubre todas las habilidades de este espacio de nombres por lo que debería investigar qué clase le ayudará a resolver su problema inmediato.
Con el fin de mostrar estas clases en la acción, cambie el código para utilizar el Espacio de Nombre y utilizar un bucle infinito, La afirmación es tirar cuando la expresión en la afirmación es falsa, por lo que la afirmación va a lanzar cuando el contador ya no es inferior a 10.
using System;
using System.Web;
using System.Web.SessionState;
using System.Diagnostics;
public class Handler : IHttpHandler , IReadOnlySessionState{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = “text/html”;
context.Response.Write(“Hello World”);
int i=0;
while (1!=0)
{
Debug.Assert(i<10);
i++;
}
}
public bool IsReusable {
get {
return false;
}
}
}
Construir y depuración. Dado que no hay interrupción conjunto, el depurador se activarán de nuevo cuando la afirmación se ve afectado. Esto es muy útil si usted sabe lo que es el error que está recibiendo y puede hacer una prueba para él. Lo primero que ocurre es una afirmación ventana con información acerca de la afirmación. Si quieres ver a las condiciones previas y, a continuación parada en el error, puede combinar estas dos declaraciones para acelerar su proceso de depuración. Un ejemplo de ello es el código a continuación:
public class Handler : IHttpHandler , IReadOnlySessionState{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = “text/html”;
context.Response.Write(“Hello World”);
Debugger.Break();
int i=0;
while (1!=0)
{
Debug.Assert(i<10);
i++;
}
}
public bool IsReusable {
get {
return false;
}
}
}
Puede utilizar la Debug.Write, Debug.WriteIf, Debug.WriteLine, y Debug.WriteLineIf para imprimir a la ventana de salida durante un período de sesiones de depuración. Esto podría ayudarle a ver el estado del HTTP Handler.
Si desea localizar un problema en construir una liberación, tendrá que haber una forma de peering en el código. forma de hacerlo es añadir EventLog.WriteEntry declaraciones en su código. Esto le permite añadir información al registro de eventos como el HTTP Handler está en marcha. El método WriteEntry está muy sobrecargado por lo que tendrá que determinar el mejor método para su uso. Si quieres ver la información como una simple entrada de información en caso espectador, que acaba de utilizar un argumento String El Visor de eventos necesita saber la “Fuente” del evento, así que el nombre de “HTTPHandler – DebugArticle”. Esto debería ser fácil de ver en el Visor de eventos.
using System;
using System.Web;
using System.Web.SessionState;
using System.Diagnostics;
public class Handler : IHttpHandler , IReadOnlySessionState{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = “text/html”;
context.Response.Write(“Hello World”);
int i=0;
// Crear una EventLog instancia y ceder su lugar de origen.
EventLog myLog = new EventLog();
myLog.Source = “HTTPHandler-DebugArticle”;
while (i<100)
{
if (i/10==0)
{
// Escribir una entrada de información para el registro de sucesos.
myLog.WriteEntry(“Writing to event log: i is divisible by 10.”);
}
i++;
}
}
public bool IsReusable {
get {
return false;
}
}
}
Construir una versión del manejador y lo llaman. La salida sólo debería incluir el “Hola Mundo” texto. Abra el Visor de eventos, solicitud de registro Usted debe ver varios anuncios de la fuente de “HTTP Handler – DebugArticle”.

Si abre uno de los eventos, debería ver una simple salida:

También hay clases para interactuar con el monitor de rendimiento y procesos, así como varias clases para ayudar con la lógica de flujo
Otro método de búsqueda de sus problemas es atribuir a un proceso que contiene el HTTP Handler Si está ejecutando varios sitios web donde cada sitio web se encuentra en su propio proceso de espacio, puede que tenga que averiguar el identificador de proceso. La forma más fácil es que sel manejar me lo diga. Los nombres System.Diagnostics incluye una clase llamada Proceso que le ayudará a determinar el actual proceso de identificación. Con el fin de encontrar la id, vamos a enviar el id al evento visor de cambiar el código a:
using System;
using System.Web;
using System.Web.SessionState;
using System.Diagnostics;
public class Handler : IHttpHandler , IReadOnlySessionState{
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = “text/html”;
context.Response.Write(“Hello World”);
int i=0;
Process.GetCurrentProcess().Id.ToString();
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = “HTTPHandler-DebugArticle”;
myLog.WriteEntry(“Process Id is ” + Process.GetCurrentProcess().Id.ToString());
while (i<100)
{
if (i/10==0)
{
// Write an informational entry to the event log.
myLog.WriteEntry(“Writing to event log: i is divisible by 10.”);
}
i++;
}
}
public bool IsReusable {
get {
return false;
}
}
}
La línea de código importante aquí es en el bucle y es una alteración a la cadena en la myLog.WriteEntry: Process.GetCurrentProcess (). Id. La siguiente figura muestra lo que el Visor de eventos de entrada tiene el siguiente aspecto

Ahora que sabes el proceso de identificación, usted necesidad de encontrar este identificador en el Administrador de Tareas. Con el fin de ver proceso de identificaciones en el Administrador de tareas, haga clic en la pestaña de procesos a continuación, haga clic en Ver y elija Seleccionar columnas. Haga clic en el PID (Process Identifier) Aceptar y de los diálogos La lista de procesos debe incluir ahora el PID, que se puede clasificar por si hace clic en el nombre de la columna na vez que encontrar el justo proceso de identificación en la lista, haga clic derecho sobre él y elija Debug. Así se iniciará Visual Studio Usted tendrá que abrir su código de archivo de Visual Studio y depuración en ese momento.
RESUMEN
Un ASP.NET HTTP Handler es una clase simple que le permite procesar una solicitud y regresar una respuesta al navegador El manejador le da acceso a la web actual contexto y el período de sesiones estado. El valor por defecto ‘Generic Hander “que Visual Studio 2005 ofrece usted no puede trabajar con su Código Actual. Con algunas modificaciones, en colaboración con los nombres System.Diagnostics tendrá que escribir HTTP manipuladores que construir y depurar con éxito.
Vinculados a un proceso para depurar un Atletismo HTTP Handler
Surface | The Power
queria compartir este video sobre el poder del Surface es muy interesante




Comentarios recientes