A estas alturas, todo el que no conoce Google Buzz no lo va a conocer.
TreeWeb
Blog corporativo oficial del framework TreeWeb
9 de agosto de 2010
¿Alguien más no conoce Google Buzz?
Artículo original http://www.treeweb.es/blog-anotacion-alguien-mas-no-conoce-google-buzz.
A estas alturas, todo el que no conoce Google Buzz no lo va a conocer.
A estas alturas, todo el que no conoce Google Buzz no lo va a conocer.
En defensa de los derechos fundamentales en Internet
Artículo original http://www.treeweb.es/blog-anotacion-en-defensa-de-los-derechos-fundamentales-en-internet.
Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que:
También está disponible en inglés, catalán, gallego y asturiano.
Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que:
- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
- Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
- Exigimos que el Gobierno garantice por ley la neutralidad de la Red, en España ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
- En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.
También está disponible en inglés, catalán, gallego y asturiano.
Motor de fórmulas de Wikipedia
Artículo original http://www.treeweb.es/blog-anotacion-motor-de-formulas-de-wikipedia.
Una de las funcionalidades por las que tengo tanto interés como curiosidad, es el motor de fórmulas de Wikipedia.
El editor de Wikipedia es de tipo WYSIWTM (lo que ves es lo que quieres decir). Así, al editar un documento de Wikipedia se observan una serie de marcas de edición y de formato que no se veían en la vista normal pero que son muy útiles a la hora de definir la estructura, el formato, relaciones entre documentos, etc. Una de esas marcas permite definir fórmulas matemáticas que se pintarán automáticamente con una gran calidad.
Por ejemplo, si editamos el artículo [Editar] de la fórmula de la media aritmética encontraremos una parte que define la fórmula mediante texto:
Lo mejor de todo es que el código que utiliza la ecuación entre el tag '
El editor de Wikipedia es de tipo WYSIWTM (lo que ves es lo que quieres decir). Así, al editar un documento de Wikipedia se observan una serie de marcas de edición y de formato que no se veían en la vista normal pero que son muy útiles a la hora de definir la estructura, el formato, relaciones entre documentos, etc. Una de esas marcas permite definir fórmulas matemáticas que se pintarán automáticamente con una gran calidad.
Por ejemplo, si editamos el artículo [Editar] de la fórmula de la media aritmética encontraremos una parte que define la fórmula mediante texto:
{{ecuación| ||left}}
Y al visualizar el documento se genera de forma automática la siguiente imagen:
Descargar la herramienta WebCode
Artículo original http://www.treeweb.es/blog-tecnico-descargar-la-herramienta-webcode.
WebCode es un editor de archivos muy simple, como el notepad con un visualizador web en tiempo real. Con cada pulsación de tecla se refresca el contenido del navegador web para comprobar el resultado.
Es muy útil para corregir errores de maquetación y para aprender HTML y CSS.
Lo puedes descargar desde:
WebCode es un editor de archivos muy simple, como el notepad con un visualizador web en tiempo real. Con cada pulsación de tecla se refresca el contenido del navegador web para comprobar el resultado.
Es muy útil para corregir errores de maquetación y para aprender HTML y CSS.
Lo puedes descargar desde:
Conseguir Ubuntu 8.04
Artículo original http://www.treeweb.es/blog-tecnico-conseguir-ubuntu-804.
Una vez descargado el archivo necesitamos grabarlo en un cd de 700 Mb. Esta operación se puede hacer con varios programas, yo la voy a explicar con CloneCD y posiblemente más tarde amplíe el artículo explicando el mismo procedimiento con Nero.
Ambos programas se pueden descargar como versión de prueba de 30 días de los siguientes hipervínculos:
Éste es el primero de una serie de pasos para conseguir instalar Windows y Linux en la misma máquina y así abrir la puerta a un gran público que está dispuesto a utilizar linux pero todavía no tiene los conocimientos necesarios para su instalación.
El paso inicial es conseguir tener Ubuntu en un CD. Desde la web oficial en castellano nos explican las formas de conseguirlo. En la sección de descargas de la web oficial (en inglés) nos proponen tres formas de adquirirlo:
- Descargándolo. Para esto es necesario tener una conexión no muy lenta y un grabador de cds.
- Comprarlo. Hay distribuidores que se dedican a repartir copias de Ubuntu a cambio de unos cuantos dólares.
- Pedir que te lo envíen. Esta opción es totalmente gratuita (creo que ni siquiera hay que pagar gastos de envío) pero tarda de 6 a 10 semanas, así que si queremos tener el pingüino en nuestro disco duro antes de el verano no es la opción que nos interesa.
La opción por la que voy a optar es la de descargarlo desde el sitio oficial y grabarlo en un CD. No te alarmes, voy a explicar todo paso a paso para intentar eliminar cualquier duda o problema que te encuentres en el camino.
Antes de empezar me gustaría aclarar que descargar Ubuntu no es un delito ni un acto de piratería y no te debe dar ningún tipo de vergüenza ni miedo descargarlo. De hecho, hay servidores dedicados especialmente para que todo el que quiera descargue Ubuntu cuantas veces desee.
Lo que necesitamos descargar es lo que se llama una imagen de un CD, es decir, un archivo que es una copia idéntica del contenido de un CD, y con el que podemos obtener duplicados exactamente iguales del CD original. La imagen que vamos a descargar tiene unos 700 Mb, es decir, cabe en un CD y sobra un poco de espacio.
Para descargarlo, podemos utilizar internet explorer, firefox o cualquier otro navegador pero si no tenemos una conexión rápida y estable es posible que se corte la descarga. Para descargar un archivo grande, con la opción de reanudar la descarga en casos de que se corte, se puede utilizar un gestor de descarga. Prueba primero a descargarlo directamente desde el navegador y si no lo consigues descárgalo con un gestor de descarga; utiliza éste manual para guiarte utilizando un gestor de descargas.
Vamos directos a la página de descargas (http://www.ubuntu.com/getubuntu/download) y vemos lo siguiente:
- Paso 1: Seleccionamos (si no está ya seleccionado) Desktop Edition. Esta edición es de escritorio (Desktop en inglés) y es la que va dirigida al usuario doméstico.
- Paso 2: En función del procesador que tengamos seleccionamos si es un ordenador de 32 bits, o la segunda opción, uno de 64. Si no sabes qué procesador tienes pregunta a alguien, mira la factura, la caja o pulsa las teclas Win+Pausa (mira aquí si tienes dudas) para ver las propiedades del sistema.
- Paso 3: Elegir uno de los sitios para descargar. Puedes elegir cualquiera, si por casualidad uno no funciona elige otro.
- Paso 4: Pincha en ‘Start Download’ y espera unos segundos, a continuación saldrá un cuadro de diálogo para preguntarte si quieres guardar el archivo y dónde.
Una vez descargado el archivo necesitamos grabarlo en un cd de 700 Mb. Esta operación se puede hacer con varios programas, yo la voy a explicar con CloneCD y posiblemente más tarde amplíe el artículo explicando el mismo procedimiento con Nero.
Ambos programas se pueden descargar como versión de prueba de 30 días de los siguientes hipervínculos:
- Nero, versión 8.3.2.1: http://ftp6.usw.nero.com/PUB/21944ead49627702a3d297c1de54c005/Nero-8.3.2.1b_esp_trial.exe
- CloneCD, versión : http://static.slysoft.com/SetupCloneDVD.exe
Grabando la imagen con Clone CD
Una vez descargado deberemos pulsar sobre el segundo botón de la ventana principal:
- Paso 1: Click en el segundo botón para grabar la imagen en un cd.
- Paso 2: Click en buscar para seleccionar el archivo que nos hemos descargado. Ten cuidado y selecciona la opción ‘All files’ en el cuadro combinado ‘Tipo’ (al lado del botón cancelar).
- Paso 3: Click en siguiente.
- Paso 4: Seleccionamos el dispositivo con el que vamos a grabar.
- Paso 5: Pulsamos siguiente. A continuación saldrá una ventana en la que nos pide que le pongamos el CD en la unidad, lo hacemos. En la siguiente ventana no tocamos nada, le damos a ‘OK’ y empezará a grabar. Si todo ha ido bien, a los pocos minutos nos dirá que ya está todo listo y nos escupirá el CD.
¿Pero cuántos megas le faltan a mi disco duro?
Artículo original http://www.treeweb.es/blog-tecnico-pero-cuantos-megas-le-faltan-a-mi-disco-duro.
Cuando los soportes de almacenamiento empiezan a tener varios Gigabytes de información llega un momento en el que no sabemos muy bien cuánta información cabe dentro. A veces compramos un disco duro de 500 Gb y en el explorador de archivos aparece con algo más de 465 Gb. ¿Qué ha pasado con el resto de los "megas"?.
Primero vamos a recordar cómo funciona el sistema de prefijos del SI. Por ejemplo, si estamos midiendo gramos y tenemos 1000 gramos, también podemos decir que tenemos 1 Kilogramo, si tenemos 1000 Kilogramos podemos también decir que tenemos 1 Megagramo, decir 1000 Megagramos es lo mismo que decir 1 Gigagramo. Si queremos saber cuántos gramos hay en un Gigagramo sólo tendremos que hacer la siguiente multiplicación:
Como se observa en el ejemplo anterior, el cambio está en multiplicar por mil para pasar de un prefijo a otro, son potencias de 1000.
Sin embargo, en informática no es así exactamente. Dentro de un disco duro, por ejemplo, están almacenados montones de ceros y unos, y la información se representa con el sistema binario. Éste sistema funciona de la siguiente forma:
Como se puede observar en la sucesión anterior, los números binarios cuentan en potencias de dos. Si quiero numerar bloques en el disco duro con 10 bits puedo numerar 1024 bloques (contando con el 0). De esta forma, en informática se cuenta en potencias de 2, es decir: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048...
A la hora de elegir múltiplos y submúltiplos las operaciones salen más sencillas si utilizamos esas potencias de 2 en lugar de potencias de 10 así que se decidió utilizar un número potencia de 2 que fuese lo más cercano posible a un número en potencias de 10. Y ese número es 1024, que es muy cercano a 1000.
De esta forma, para pasar de un prefijo a otro se multiplica o divide por 1024. Entonces si tengo 1024 bytes, puedo decir que tengo 1 Kbyte, 1024 Mbytes es lo mismo que 1 Gbyte. La siguiente cuenta pasa de Gigabytes a bytes:
Algunos fabricantes deciden utilizar el método tradicional para contar bytes y consideran potencias de 1000 en lugar de 1024. En este caso cuando ellos escriben 500 Gbytes realmente tienen la siguiente cantidad de bytes:
Sin embargo en un ordenador las potencias son siempre 1024, de tal forma que esos 500 Gb contados con potencias de 1000 son en realidad:
Esto también ocurre en los DVDs en los que siempre se indica que la capacidad es 4.7 Gb que se convierten en 4.37 Gb si contamos los bytes que realmente tiene.
En general cuanto mayor es el tamaño del soporte informático mayor es el error que se comete al contar la capacidad. De hecho, algunos fabricantes de discos duros han tenido demandas por contar mal los bytes y engañar a los consumidores.
En esta página de la Wikipedia podemos encontrar las conversiones y equivalencias entre Gigabytes, Megabytes, Terabytes y demás múltiplos.
Espero que después de esto no os tomen el pelo.
Cuando los soportes de almacenamiento empiezan a tener varios Gigabytes de información llega un momento en el que no sabemos muy bien cuánta información cabe dentro. A veces compramos un disco duro de 500 Gb y en el explorador de archivos aparece con algo más de 465 Gb. ¿Qué ha pasado con el resto de los "megas"?.Primero vamos a recordar cómo funciona el sistema de prefijos del SI. Por ejemplo, si estamos midiendo gramos y tenemos 1000 gramos, también podemos decir que tenemos 1 Kilogramo, si tenemos 1000 Kilogramos podemos también decir que tenemos 1 Megagramo, decir 1000 Megagramos es lo mismo que decir 1 Gigagramo. Si queremos saber cuántos gramos hay en un Gigagramo sólo tendremos que hacer la siguiente multiplicación:
1 Gigagramo =
1 x 1000 Megagramos = 1 x 1000 E 1 Megagramos =
1 x 1000 x 1000 Kilogramos = 1 x 1000 E 2 Kilogramos =
1 x 1000 x 1000 x 1000 gramos = 1 x 1000 E 3 gramos =
1.000.000.000 gramos
1 x 1000 Megagramos = 1 x 1000 E 1 Megagramos =
1 x 1000 x 1000 Kilogramos = 1 x 1000 E 2 Kilogramos =
1 x 1000 x 1000 x 1000 gramos = 1 x 1000 E 3 gramos =
1.000.000.000 gramos
Como se observa en el ejemplo anterior, el cambio está en multiplicar por mil para pasar de un prefijo a otro, son potencias de 1000.
Sin embargo, en informática no es así exactamente. Dentro de un disco duro, por ejemplo, están almacenados montones de ceros y unos, y la información se representa con el sistema binario. Éste sistema funciona de la siguiente forma:
Con un bit (como un dígito en el sitema decimal) puedo representar un 0 ó un 1.
Con dos bits puedo representar 00 (0), 01 (1), 10 (2) y 11 (3), es decir, del 0 al 3.
Con 8 bits puedo representar desde el 0 hasta el 255.
Con 9 bits desde el 0 hasta el 511.
Con 10 bits desde el 0 hasta el 1023.
Con dos bits puedo representar 00 (0), 01 (1), 10 (2) y 11 (3), es decir, del 0 al 3.
Con 8 bits puedo representar desde el 0 hasta el 255.
Con 9 bits desde el 0 hasta el 511.
Con 10 bits desde el 0 hasta el 1023.
Como se puede observar en la sucesión anterior, los números binarios cuentan en potencias de dos. Si quiero numerar bloques en el disco duro con 10 bits puedo numerar 1024 bloques (contando con el 0). De esta forma, en informática se cuenta en potencias de 2, es decir: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048...
A la hora de elegir múltiplos y submúltiplos las operaciones salen más sencillas si utilizamos esas potencias de 2 en lugar de potencias de 10 así que se decidió utilizar un número potencia de 2 que fuese lo más cercano posible a un número en potencias de 10. Y ese número es 1024, que es muy cercano a 1000.
De esta forma, para pasar de un prefijo a otro se multiplica o divide por 1024. Entonces si tengo 1024 bytes, puedo decir que tengo 1 Kbyte, 1024 Mbytes es lo mismo que 1 Gbyte. La siguiente cuenta pasa de Gigabytes a bytes:
1 Gigabyte =
1 x 1024 Megabytes = 1 x 1024 E 1 Megabytes =
1 x 1024 x 1024 Kilobytes = 1 x 1024 E 2 Kilobytes =
1 x 1024 x 1024 x 1024 bytes = 1 x 1024 E 3 bytes =
1.073.741.824 bytes
1 x 1024 Megabytes = 1 x 1024 E 1 Megabytes =
1 x 1024 x 1024 Kilobytes = 1 x 1024 E 2 Kilobytes =
1 x 1024 x 1024 x 1024 bytes = 1 x 1024 E 3 bytes =
1.073.741.824 bytes
Algunos fabricantes deciden utilizar el método tradicional para contar bytes y consideran potencias de 1000 en lugar de 1024. En este caso cuando ellos escriben 500 Gbytes realmente tienen la siguiente cantidad de bytes:
500 Gb = 500 x 1000 x 1000 x 1000 bytes = 500.000.000.000 bytes
Sin embargo en un ordenador las potencias son siempre 1024, de tal forma que esos 500 Gb contados con potencias de 1000 son en realidad:
500.000.000.000 bytes = 500.000.000.000 / 1024 / 1024 / 1024 Gb = 465,66 Gb
Esto también ocurre en los DVDs en los que siempre se indica que la capacidad es 4.7 Gb que se convierten en 4.37 Gb si contamos los bytes que realmente tiene.
En general cuanto mayor es el tamaño del soporte informático mayor es el error que se comete al contar la capacidad. De hecho, algunos fabricantes de discos duros han tenido demandas por contar mal los bytes y engañar a los consumidores.
En esta página de la Wikipedia podemos encontrar las conversiones y equivalencias entre Gigabytes, Megabytes, Terabytes y demás múltiplos.
Espero que después de esto no os tomen el pelo.
CSS Colores del sistema
Artículo original http://www.treeweb.es/blog-tecnico-css-colores-del-sistema.

Firefox 3.0 
Opera 9.51 
Internet Explorer 6.0 
Safari 3.2.1
He estado investigando cómo implementan los colores de CSS los navegadores web más utilizados por la mayoría de usuarios. A la hora de asignar un color podemos hacerlo en formato hexadecimal (#FFFFFF, #0000FF, #FF0000…), indicando los niveles de luminosidad de los colores primarios (rgb(255,255,255), rgb(255,0,0), rgb(0,0,255)…) o mediante palabras clave que identifican distintos colores (white, blue, red…). Además, podemos utilizar otro conjunto de palabras clave que identifican colores de la interfaz gráfica del sistema operativo.
Utilizar colores del sistema puede ser interesante a nivel estético, pero es a la hora de ofrecer accesibilidad donde resultan realmente útiles. Por ejemplo, si preparo mi blog tomando como colores principales los del sistema, un usuario sensorialmente capacitado podría leer el texto normalmente, con texto oscuro sobre fondo blanco. Sin cambiar de estilo CSS, un usuario con problemas de visión vería mi blog en alto contraste de forma automática si la configuración visual de su equipo fuese alto contraste.
Para comprobar la configuración de colores en los distintos navegadores, he escrito el siguiente documento html http://www.treeweb.es/__archivo__/TreeWeb/Blog/Tecnico/css/CSS_System_Colors.html y lo he probado en Firefox 3.0, Opera 9.51, Internet Explorer 6.0 y Safari 3.2.1, todos sobre Windows XP. A continuación la imagen comparativa:
Todos los navegadores devuelven correctamente los colores del sistema excepto Safari, que en lugar de utilizar los colores de Windows XP utiliza los colores de su propia apariencia.
Los colores más importantes en el ámbito de la accesibilidad son:
- Window y WindowText, para el texto simple
- ButtonFace y ButtonText, para los botones
- InfoBackground y InfoText, para las etiquetas de información
Buscando las n diferencias
Como ejercicio, he montado una estructura con divs (http://www.treeweb.es/__archivo__/TreeWeb/Blog/Tecnico/css/CSS_Ventana.html), y le he dado formato con CSS para que se pareciera a las típicas ventanas de windows. Además he utilizado los colores del sistema para observar la visualización en distintos navegadores. Veamos si hay diferencias…

Firefox 3.0
Éste documento html tiene incluida una línea al principio llamada DTD (Definición del Tipo de Documento). Ésta línea es interpretada por el navegador y ajusta determinados comportamientos a la especificación que indica la DTD. La definición que he utilizado es la siguiente:
Firefox es de los navegadores que mejor se comporta, funciona generalmente bien con cualquier DTD y utiliza los colores de sistema correctamente. Aunque siempre se ha comportado de forma aceptable, sólo la versión 3.0 ha sido capaz de superar el test Acid 2.
Ópera también destaca por ser estricto a la hora de mostrar contenido web y al igual que Firefox 3, pasa el Acid 2 correctamente. Como se observa en la imagen, utiliza los colores del sistema correctamente. No lo he comprobado pero sería muy probable que ambas imágenes fuesen idénticas píxel a píxel.

Opera 9.51
A Internet Explorer le precede casi una leyenda épica que habla sobre lo mal que se adapta al estándar y a la especificación html, css, javascript... y un largo larguísimo etcétera. Sin embargo, con la DTD anterior me ha sido posible encontrar soluciones para Internet Explorer 6 con un aspecto idéntico muy parecido al resultado de los demás navegadores.
He de confesar que en ocasiones, cuando algo funcionaba bien en Firefox, Ópera y Safari, funcionaba mal en Internet Explorer y tenía que añadir un div adicional o especificar más propiedades de las necesarias.
Las cualidades de Internet Explorer 6 son… ehhh, uf!! ¡si no lo sabe ni google! Simplemente es diferente. En general se puede decir que tiene bastantes propiedades predefinidas, interpreta el código sintácticamente mal escrito y lo corrige de la forma que cree conveniente. Es mucho más flexible con el código que el resto de navegadores y tiene la mala costumbre de darle un comportamiento muy suyo a los elementos de la página.

Internet Explorer 6.0
Por ejemplo, aplica el modelo de caja de bloque en línea (que en otros navegadores se consigue con display:block-inline) a todos los elementos que dispongan de un tag html. Ésto es muy útil, por ejemplo, a la hora de establecer anchos de un párrafo pero el resto de navegadores no lo interpreta.
Además, Internet Explorer 6.0 no pasa correctamente el test Acid 2 y las versiones 7.0 y 8.0 beta 1 tampoco pasan el test.
Por último, prestemos atención al navegador de la compañía fundada por Steve Jobs. Safari también es otro de los grandes que se adapta al stándar. El comportamiento es sospechosamente similar al de Firefox; me gusta.
No tengo mucha experiencia con Safari, pero saber que procede de Apple es casi una garantía de que está pensado para el usuario hasta el más mínimo detalle. La apariencia del navegador está pixemétricamente estudiada, parece simple y muy limpia. Aunque es el interior de este navegador lo que más nos interesa en este artículo.

Safari 3.2.1
Como se aprecia en la imagen, los colores del sistema de Safari no son en realidad los colores del sistema de Windows. Probablemente, a excepción de los colores, sea la que más se adapta a la especificación de la w3c y cuentan que, en lo más profundo del lejano imperio de Apple, existe una versión en desarrollo que es la única de entre todos los navegadores que es capaz de superar con éxito el gran test de los tests web de nuestros días, el aterrador Acid 3.
Windows desde el teclado (Ctrl+ Esc+ Alt...)
Artículo original http://www.treeweb.es/blog-tecnico-windows-desde-el-teclado-ctrl-esc-alt.
¿Windows desde el teclado? Pero si sólo se puede utilizar con ratón, el teclado es sólo para escribir. Aunque parezca lo contrario el 98% de las funciones de este extendidísimo virus sistema operativo se pueden utilizar sin la ayuda del ratón, únicamente con el teclado. La mayor parte de funciones se activan pulsando varias teclas simultáneamente (lo que se denomina 'Método abreviado del teclado'). Para los menos duchos en el mundo de las teclas, y con el fin de referirnos todos a los mismos botoncitos, voy a comenzar haciendo una breve descripción del teclado:

¿Windows desde el teclado? Pero si sólo se puede utilizar con ratón, el teclado es sólo para escribir. Aunque parezca lo contrario el 98% de las funciones de este extendidísimo virus sistema operativo se pueden utilizar sin la ayuda del ratón, únicamente con el teclado. La mayor parte de funciones se activan pulsando varias teclas simultáneamente (lo que se denomina 'Método abreviado del teclado'). Para los menos duchos en el mundo de las teclas, y con el fin de referirnos todos a los mismos botoncitos, voy a comenzar haciendo una breve descripción del teclado:

- Archiconocida tecla 'escape'. Ahora sólo sirve para cancelar cuadros de diálogo, cerrar cuadros combinados con la lista desplegada y alguna cosa más.
- Doce teclas de función. Cada programa asigna sus propias funciones a estas teclas.
- Estas tres teclas tienen funciones variadas que posiblemente comentaré más adelante...
- Este es el bloque de desplazamiento con su Insert/Supr (insertar y borrar) su Inicio/Fin (ir al inicio o al final de algo) y su RePág/AvPág (avanzar o retroceder páginas).
- El (a veces versátil) teclado numérico. Esta parte tiene una tecla 'BloqNum' que sirve para activar o desactivar el teclado (te lo indica una luz). Si está activo tecleas números y si está desactivado funciona como el bloque de desplazamiento.
- ¿Hace falta decir algo sobre unas flechas?
- Y esta es la parte del teclado que suele usar todo el mundo sólo para escribir. Por cierto, la tecla 'tab' es el tabulador y se suele utilizar para cambiar el enfoque de los objetos (con shift+tabulador se recorren en orden inverso).
¿Cómo se pulsa una combinación de teclas?
Muy sencillo, existen cuatro teclas que al pulsarlas no hacen nada por sí mismas (excepto la tecla Alt y Win que comento más adelante). Estas teclas son:- Shift - Para que nos entendamos es la tecla que está encima de Control y debajo del bloque de mayúsculas (en la izquierda) y tenemos otra en el otro extremo de la misma fila.
- Ctrl - Es la tecla 'control' y las podemos encontrar en las esquinas inferiores del bloque de escritura. Ambas teclas tienen normalmente el mismo efecto.
- Alt - Es la tecla 'alternativa'. Están ubicadas en los extremos de la barra espaciadora y a diferencia de las anteriores no tienen el mismo efecto. La de la izquierda se llama 'Alt' y sirve para seleccionar un menú en una aplicación o para ejecutar un comando que en su nombre tenga un carácter subrayado. La de la derecha se llama 'Alt Gr' (alternativa gráfica) y sirve para obtener caracteres especiales como la arroba o el símbolo del euro. Pulsar 'Alt Gr' es equivalente a pulsar 'Ctrl' y 'Alt' a la vez.
- Win - Por último la tecla de windows, que es la que tiene ese simbolito que tanto queremos/odiamos todos.
¿La tecla 'Win'? ¡Pero si sólo vale para abrir el menú inicio!
Exacto, el menú de inicio y algo más. La tecla de windows combinada con otra puede hacer las mismas cosas que un montón de clics. (NOTA: La tecla Shift normalmente se utiliza para hacer una acción inversa a la habitual.)- Win+E - Esta combinación abre el explorador de windows. (Nos ahorramos tener que ir a 'Inicio->Todos los programas->Accesorios->Explorador de windows' o hacer doble clic en MiPC y hacer clic en el botón de carpetas).
- Win+R - Con esto conseguimos abrir el cuadro ejecutar. Parece que esta ventanita de ejecutar aplicaciones es una tontería, porque siempre hay que escribir la ruta entera del archivo... excepto en los programas de directorios registrados. Por ejemplo
si escribimos... obtenemos... mspaint Paint notepad Bloc de notas calc Calculadora cmd Consola del sistema winmine Buscaminas sol Solitario explorer Explorador de windows iexplpore Internet explorer wmplayer Windows Media Player
Y otros muchos programas que tiene el windows y que pueden ser de utilidad en un momento dado. - Win+L - Sale al menú inicial para cambiar de usuario.
- Win+M - Minimiza todas las ventanas (Win+Shift+M las vuelve a desminimizar).
- Win+F1 - Muestra la ayuda de Windows.
- Win+Pausa - Abre las propiedades del sistema. (Pausa es la tercera tecla del tercer bloque).
- Win+Tab - Cambia la seleccion de un programa a otro en la barra de tareas.
- Esta es para geeks: Si pulsamos 'Win' y luego 'Alt' tendrá el enfoque el botón de inicio (se señalará con un cuadrado de puntos) y si pulsamos 'Tab' cambiaremos el enfoque a la barra de inicio rápido (si la tenemos) luego a la barra de tareas (donde podemos seleccionar cada uno de los programas) y después a la zona de notificación (el sitio del reloj). Para seleccionar el objeto que queramos dentro de la zona nos desplazamos con las flechas.
El portapapeles (clipboard)
El portapapeles de Windows es un sistema que nos permite copiar y pegar información de cualquier tipo (archivos, texto, imágenes, secuencias de audio, registros de una tabla...) entre aplicaciones distintas. Estas combinaciones de teclas son, normalmente, las mismas en todas las aplicaciones y en el sistema operativo:- Ctrl+C - Copia un elemento y lo manda al portapapeles de windows.
- Ctrl+V - Pega un elemento en la ubicación seleccionada desde el portapapeles (pero no lo vacía, es decir, podemos copiar una vez y pegar varias).
- Ctrl+X - Copia un elemento en la ubicación seleccionada PERO borra el original (sin embargo, al igual que 'Ctrl'+'C' no impide que la operación de pegar se pueda repetir varias veces).
Edición de texto
Con el teclado podemos editar texto de la misma forma que con la ayuda del ratón pero mucho más rápido ya que si estamos escribiendo es más fácil pulsar tres o cuatro teclas en vez de mover la mano al ratón, seleccionar texto y mil clics más. Y ahora me tengo que ir así que seguiré aporreando teclas después. Lo más interesante no es la función de cada tecla de edición por separado, sino la combinación de unas cuantas. Voy a exponer cada una de las teclas con sus funciones básicas y luego daré algún ejemplo algo más práctico.- Cursor del teclado - Esto no es una tecla pero conviene definir qué es el cursor del texto. Cuando abres un editor y ves una barra que parpadea que te indica el punto de inserción de nuevos caracteres (algo así | ) éso es el cursor.
- Flechas de dirección - Mueven el cursor UNA unidad solamente. Izquierda y derecha desplazan el cursor un carácter mientras que arriba y abajo desplazan el cursor una línea.
- Inicio y fin - Mueven el cursor al principio o al final de una línea respectivamente.
- RePág y AvPág - Mueven el cursor una página, entendiendo por página el fragmento de texto que se ve en pantalla.
- Insert - Cambia de un modo de introducir texto a otro. Aunque no lo parezca existen dos modos el de inserción (que es el que se utiliza por defecto) y el de sobreescritura (que en caso de haberlos, sustituye los caracteres de la derecha por los nuevos que se escriben). Si haces la prueba verás enseguida la diferencia.
- Suprimir - Elimina caracteres (DE UNO EN UNO) que están a la derecha del cursor.
- Retroceso - Es la tecla que está encima del intro y borra caracteres (TAMBIÉN DE UNO EN UNO) que estan situados a la izquierda del cursor.
- Shift - Fija el cursor y selecciona todo lo que hay entre el cursor y todo lo que hay comprendido entre otro cursor. (Lo explicaré más adelante).
- Ctrl - Cambia el ámbito original, por ejemplo, trata a una palabra entera en vez de una letra, trata un párrafo entero en vez de una línea...
- Posición inicial del cursor -

- Mover el cursor con las flechas -

- Mover el cursor pulsando Ctrl y las flechas -

- Mover el cursor pulsando Inicio y Fin -

Otras combinaciones interesantes de la tecla 'Ctrl' son: 
- Mover el cursor con las flechas -

- Mover el cursor pulsando Ctrl y las flechas -

- Mover el cursor pulsando Inicio y Fin -

- Ctrl+Flechas - Mueve el cursor al principio del párrafo anterior o siguiente (con las flechas arriba y abajo respectivamente).
- Ctrl+Inicio - Mueve el cursor al principio del documento.
- Ctrl+Fin - Mueve el cursor al final del documento.
- Ctrl+RePág - Salta al principio de la página anterior.
- Ctrl+AvPág - Salta al principio de la página siguiente.
- Ctrl+Retroceso - Borra la palabra que está a la izquierda del cursor.
- Ctrl+Supr - Borra la palabra que está a la derecha del cursor.
- Situación inicial -

- Pulsamos 'Ctrl'+'FlechaIzq' dos veces -

- Pulsamos 'FlechaDcha' tres veces -

- Pulsamos 'Shift' y desplazamos el punto de referencia con 'Ctrl'+'FlechaDcha' -

El truco para seleccionar texto es manener 'Shift' pulsada todo el rato mientras que utilizas combinaciones de teclas hasta llegar al punto deseado. También se puede seleccionar texto en sentido contrario, por ejemplo situando el cursor al final de 'feliz' y seleccionando con 'Shift' hacia la izquierda. 
- Pulsamos 'Ctrl'+'FlechaIzq' dos veces -

- Pulsamos 'FlechaDcha' tres veces -

- Pulsamos 'Shift' y desplazamos el punto de referencia con 'Ctrl'+'FlechaDcha' -

Podemos seleccionar todo el documento pulsando 'Ctrl'+'Inicio' para situar el cursor al principio y después pulsando 'Shift'+'Ctrl'+'Fin' para seleccionar hasta el final. (Todo esto es equivalente a 'Ctrl'+'E').
Una vez que tenemos el texto seleccionado lo podemos cortar, pegar, mover o darle formato con alguno de los siguientes métodos abreviados:
- Ctrl+N - Negrita.
- Ctrl+K - Cursiva.
- Ctrl+S - Subrayado.
- Ctrl+Q - Alineación de párrafo a la izquierda.
- Ctrl+T - Alineación de párrafo centrado.
- Ctrl+D - Alineación de párrafo a la derecha.
- Ctrl+J - Alineación de texto justificado (se estira para que quede recto en ambos márgenes).
- Tab - Aumenta el sangrado ('Shift'+'Tab' disminuye el sangrado).
- Shift+F3 - Rota entre las siguientes opciones: (1) todo el texto en mayúsculas, (2) todo el texto en minúsculas, (3) mayúscula la primera letra de cada frase. (En Word).
Algo que es útil saber, y no conoce mucha gente, es que si un texto está seleccionado y se teclea algo la selección se borra y se sustituye por lo que se teclea.
Sé que esta parte es difícil de controlar al principio, sobretodo porque requiere mucha práctica pero es realmente útil cuando estás horas escribiendo delante de la pantalla.
Manejo por las ventanas de Win2. Nociones generales
Esta parte ya empieza a ser un poco friki geek y podría llegar a serlo incluso más. Voy a intentar explicar qué es eso del enfoque, cómo abrir y cerrar cuadros combinados, cambiar de hoja, seleccionar archivos... intentar sobrevivir con un teclado en el hábitat natural del ratón. Después de la... ¿publicidad?.8 de agosto de 2010
MySQL: Motores de almacenamiento
Artículo original http://www.treeweb.es/blog-tecnico-mysql-motores-de-almacenamiento.
Leyendo la documentación de MySQL he encontrado algo de información sobre los motores que se pueden utilizar para gestionar los datos de las tablas. Cada motor potencia una serie de características que optimizan el funcionamiento en determinadas aplicaciones.
El motor comúnmente utilizado, y que está establecido por defecto, es MyISAM. Éste se caracteriza principalmente por ofrecer una lectura y escritura rápidas. Además, es el único motor que posibilita la búsqueda fulltext, es decir, permite buscar subcadenas de texto sobre un campo.
La carencia más importante de MyISAM es que no incluye soporte para transacciones. Una transacción consiste en una serie de alteraciones que deben realizarse de forma simultánea en un conjunto de registros para mantener la integridad de los datos. Por ejemplo, si en un sistema electrónico de venta compramos un producto, se debe descontar del saldo del comprador una cantidad de dinero y agregar en algún lugar el producto adquirido. Si se produce un fallo de alimentación justo después de descontar el saldo, el cliente se encontrará con un serio problema: tendrá menos dinero en su cuenta y no constará en ningún lado la adquisición del producto. Las transacciones evitan este tipo de problemas garantizando que se han producido todas las modificaciones correctamente o bien, no se ha escrito ninguna.
El motor InnoDB soporta transacciones a cambio de un sacrificio de la velocidad de lectura y escritura en un factor 1:10.
Además de InnoDB y MyISAM existen los siguientes motores con unas características muy especiales:
De forma gráfica se observa un resultado más claro:
El motor comúnmente utilizado, y que está establecido por defecto, es MyISAM. Éste se caracteriza principalmente por ofrecer una lectura y escritura rápidas. Además, es el único motor que posibilita la búsqueda fulltext, es decir, permite buscar subcadenas de texto sobre un campo.
La carencia más importante de MyISAM es que no incluye soporte para transacciones. Una transacción consiste en una serie de alteraciones que deben realizarse de forma simultánea en un conjunto de registros para mantener la integridad de los datos. Por ejemplo, si en un sistema electrónico de venta compramos un producto, se debe descontar del saldo del comprador una cantidad de dinero y agregar en algún lugar el producto adquirido. Si se produce un fallo de alimentación justo después de descontar el saldo, el cliente se encontrará con un serio problema: tendrá menos dinero en su cuenta y no constará en ningún lado la adquisición del producto. Las transacciones evitan este tipo de problemas garantizando que se han producido todas las modificaciones correctamente o bien, no se ha escrito ninguna.
El motor InnoDB soporta transacciones a cambio de un sacrificio de la velocidad de lectura y escritura en un factor 1:10.
Además de InnoDB y MyISAM existen los siguientes motores con unas características muy especiales:
- MEMORY: Mantiene los datos en memoria, lo que permite obtener una velocidad muy alta. Por contra, los datos se pierden al apagar el servidor.
- MERGE: Posibilita acceder a varias tablas con la misma estructura como si se tratase de una misma tabla.
- BLACKHOLE: Procesa todas las consultas pero no almacena los datos en ningún sitio. Es como un agujero negro.
// Pongo el tiempo de ejecución ilimitado
set_time_limit(0);
// Datos del test:
$Prueba_x_tanda = 3;
$motores = array();
$motores[] = 'BLACKHOLE';
$motores[] = 'MEMORY';
$motores[] = 'MYISAM';
$motores[] = 'ARCHIVE';
$motores[] = 'InnoDB';
$tandas = array();
$tandas[] = 1;
$tandas[] = 10;
$tandas[] = 100;
$tandas[] = 1000;
// $tandas[] = 10000;
// $tandas[] = 100000;
// $tandas[] = 1000000;
// $tandas[] = 10000000;
DEFINE (BD_HOST, 'nombre_del_host');
DEFINE (BD_USER, 'usuario');
DEFINE (BD_PASS, 'password');
$base_de_datos = "db_engines";
// Creo la conexión
$conexion = mysql_connect(BD_HOST, BD_USER, BD_PASS);
if (!$conexion){
echo 'ERROR CONECTANDO CON LA BASE DE DATOS.<BR>';}
mysql_selectdb($base_de_datos, $conexion);
// Creo las tablas
echo "Motores de la prueba: ";
foreach ($motores as $m) {
echo $m.', ';
mysql_query("DROP TABLE `tabla_$m`");
mysql_query("CREATE TABLE `tabla_$m` (i BIGINT) ENGINE=$m");
}
$CALBDD = 0;
$tt = microtime();
$TT = time();
//Hago la prueba:
$resultado = array();
echo '<br><br><br><br>';
foreach ($motores as $m) {
echo "MOTOR: $m <BR>";
$sql = "INSERT INTO `tabla_$m` (i) VALUES (";
foreach ($tandas as $t) {
echo " TANDA: $t <br>";
for ($p=0; $p<$Prueba_x_tanda; $p++){
echo " MEDICIÓN $p :";
$a = microtime();
$A = time();
for ($i=0; $i<$t; $i++) {
mysql_query($sql.$i.')');
}
$a = microtime()-$a;
$A = time() - $A;
$A = $A+$a;
printf ("%.6f", $A);
$resultado[$t][$p][$m] = $A;
echo "<br>";
}
echo "<br>";
}
echo "<br>";
}
// Muestro los resultados
$colspan=count($motores)+0;
echo '<STYLE>
TABLE {WIDTH:100%; BORDER-COLLAPSE:COLLAPSE;}
.nivel_1 {BACKGROUND-COLOR:#DDDDDD;}
.nivel_2 {BACKGROUND-COLOR:#EEEEEE;}
.nivel_4 {BACKGROUND-COLOR:#EEEEFF;}
.nivel_1, .nivel_2, .nivel_3, .nivel_4
{BORDER: SOLID 1px #CCCCCC; text-align:center;}
}</STYLE>';
echo '<TABLE>';
foreach ($tandas as $t) {
// FILA DE CADA TANDA
echo '<tr>';
echo '<td>.</td>';
echo ' <td colspan="'.$colspan.'" class="nivel_1">';
echo "TANDA $t";
echo ' </td>';
echo '</tr>';
// CABECERA DE TANDA
echo '<tr>';
echo '<td>.</td>';
foreach ($motores as $m) {
echo '<td class="nivel_2">';
echo $m;
echo '</td>';
}
echo '</tr>';
// RESULTADOS
for ($i=0; $i<$Prueba_x_tanda; $i++) {
echo '<tr>';
echo '<td align="right">p'.$i.'</td>';
foreach ($motores as $m) {
echo '<td class="nivel_3">';
printf ("%.6f", $resultado[$t][$i][$m]);
echo '</td>';
}
echo '</tr>';
}
// MEDIA
echo '<tr>';
echo '<td align="right">MEDIA</td>';
foreach ($motores as $m) {
$suma = 0;
$s = 0;
for ($i=0; $i<$Prueba_x_tanda; $i++) {
$suma +=$resultado[$t][$i][$m];
$s++;
}
$media = $suma / $s;
echo '<td class="nivel_4">';
printf ("%.6f", $media);
echo '</td>';
}
echo '</tr>';
}
echo '</TABLE>';
$tt = microtime()-$tt;
$TT = time() - $TT;
$TT = $TT+$tt;
echo '<br><br><br>Tiempo total del test: ' .
$TT.' segundos.<br><br>';
$est = 0;
foreach ($tandas as $t) {
$est += $t;
}
$est *= count ($motores);
$est *= $Prueba_x_tanda;
echo 'Consultas exactas a la BBDD: '.$est;
?>
La siguiente tabla muestra el resultado del script para los motores BLACKHOLE, MEMORY, MYISAM, ARCHIVE e InnoDB. Tiene bucles de inserción de registros de 1, 10, 100 y 1000 iteraciones. Cada test se repite 3 veces. | . | TANDA 1 | ||||
| . | BLACKHOLE | MEMORY | MYISAM | ARCHIVE | InnoDB |
| p0 | 0.000446 | 0.000457 | 0.000629 | 0.017311 | 0.014479 |
| p1 | 0.000155 | 0.000166 | 0.000205 | 0.000229 | 0.008381 |
| p2 | 0.000172 | 0.000145 | 0.000171 | 0.000140 | 0.008202 |
| p3 | 0.000166 | 0.000131 | 0.000251 | 0.000136 | 0.008335 |
| p4 | 0.000132 | 0.000188 | 0.000202 | 0.000145 | 0.008273 |
| p5 | 0.000127 | 0.000161 | 0.000189 | 0.000133 | 0.008198 |
| p6 | 0.000127 | 0.000138 | 0.000171 | 0.000129 | 0.008274 |
| p7 | 0.000130 | 0.000132 | 0.000252 | 0.000133 | 0.008335 |
| p8 | 0.000142 | 0.000127 | 0.000209 | 0.000128 | 0.008177 |
| p9 | 0.000130 | 0.000127 | 0.000170 | 0.000133 | 0.008276 |
| MEDIA | 0.000173 | 0.000177 | 0.000245 | 0.001862 | 0.008893 |
| . | TANDA 10 | ||||
| . | BLACKHOLE | MEMORY | MYISAM | ARCHIVE | InnoDB |
| p0 | 0.001250 | 0.001130 | 0.001633 | 0.001267 | 0.083396 |
| p1 | 0.001156 | 0.001208 | 0.001534 | 0.001190 | 0.083427 |
| p2 | 0.001160 | 0.001131 | 0.002141 | 0.002285 | 0.083456 |
| p3 | 0.001186 | 0.001700 | 0.001504 | 0.002098 | 0.083253 |
| p4 | 0.001156 | 0.001248 | 0.001748 | 0.002053 | 0.083454 |
| p5 | 0.001311 | 0.001151 | 0.001558 | 0.002110 | 0.083399 |
| p6 | 0.001152 | 0.001252 | 0.001368 | 0.002206 | 0.083390 |
| p7 | 0.001462 | 0.001165 | 0.001308 | 0.002132 | 0.083341 |
| p8 | 0.001287 | 0.001207 | 0.001405 | 0.001894 | 0.083514 |
| p9 | 0.001231 | 0.001140 | 0.001385 | 0.002013 | 0.085688 |
| MEDIA | 0.001235 | 0.001233 | 0.001558 | 0.001925 | 0.083632 |
| . | TANDA 100 | ||||
| . | BLACKHOLE | MEMORY | MYISAM | ARCHIVE | InnoDB |
| p0 | 0.011746 | 0.011740 | 0.013287 | 0.019100 | 1.446220 |
| p1 | 0.011926 | 0.012301 | 0.013751 | 0.016464 | 0.834643 |
| p2 | 0.013859 | 0.012032 | 0.013679 | 0.012100 | 0.834690 |
| p3 | 0.011638 | 0.012085 | 0.014822 | 0.012302 | 1.095091 |
| p4 | 0.012228 | 0.011678 | 0.013183 | 0.011944 | 0.834800 |
| p5 | 0.011694 | 0.012231 | 0.013359 | 0.012380 | 0.834617 |
| p6 | 0.012275 | 0.011749 | 0.013966 | 0.011890 | 0.851252 |
| p7 | 0.011681 | 0.011811 | 0.013240 | 0.011841 | 1.534883 |
| p8 | 0.012219 | 0.011901 | 0.014330 | 0.012405 | 0.968274 |
| p9 | 0.011691 | 0.011787 | 0.013353 | 0.011816 | 0.834647 |
| MEDIA | 0.012096 | 0.011932 | 0.013697 | 0.013224 | 1.006912 |
| . | TANDA 1000 | ||||
| . | BLACKHOLE | MEMORY | MYISAM | ARCHIVE | InnoDB |
| p0 | 0.128271 | 0.129290 | 0.177843 | 0.159341 | 10.038253 |
| p1 | 0.129090 | 0.128835 | 0.152291 | 0.131118 | 10.504115 |
| p2 | 0.127853 | 0.128183 | 0.149975 | 0.131117 | 10.189407 |
| p3 | 0.128910 | 0.131192 | 0.156987 | 0.136375 | 10.966568 |
| p4 | 0.127714 | 0.128493 | 0.153548 | 0.137993 | 10.073468 |
| p5 | 0.129599 | 0.137452 | 0.150052 | 0.134967 | 10.635576 |
| p6 | 0.128307 | 0.136740 | 0.144581 | 0.130362 | 10.240787 |
| p7 | 0.128687 | 0.128636 | 0.146075 | 0.148265 | 10.181287 |
| p8 | 0.127957 | 0.129382 | 0.143752 | 0.162386 | 9.831424 |
| p9 | 0.127626 | 0.137208 | 0.143666 | 0.126140 | 10.306660 |
| MEDIA | 0.128401 | 0.131541 | 0.151877 | 0.139806 | 10.296755 |
De forma gráfica se observa un resultado más claro:
Parser de etiquetas más potente, versátil y flexible
Artículo original http://www.treeweb.es/blog-ultima-version-parser-de-etiquetas-mas-potente-versatil-y-flexible.
El nuevo parser de etiquetas que será el encargado de procesar el pseudo lenguaje de diseño ha sido reescrito para ofrecer más comodidad y versatilidad en su sintaxis.
Se podrá utilizar tanto para las etiquetas HTML como para las instrucciones de formato CSS y se ha mejorado en los siguientes puntos:
[[CABECERA contenido="subplantilla 17" "zona de titulo"='Titulo' color:red; font-size:13em;]]
En definitiva, es suficientemente potente para dar soporte a una sintaxis con la que el usuario diseñador de TreeWeb se sienta realmente cómodo y no tenga que cambiar sus hábitos de tecleo.
El nuevo parser de etiquetas que será el encargado de procesar el pseudo lenguaje de diseño ha sido reescrito para ofrecer más comodidad y versatilidad en su sintaxis.
Se podrá utilizar tanto para las etiquetas HTML como para las instrucciones de formato CSS y se ha mejorado en los siguientes puntos:
- Soporta comillas simples y comillas dobles tanto para el valor como para la propiedad. Esto permite introducir caracteres comilla, espacios y saltos de línea dentro de las expresiones.
- Soporta parámetros simples y parámetros con asignación de valor.
- La asignación de valor se representa mediante el símbolo = (al que estarán más acostumbrados los escritores de HTML y programadores) y también mediante el símbolo : (al que estarán acostumbrados los escritores de css).
- Las propiedades se guardan en una tabla hash lo que permite el acceso al valor de forma inmediata.
- A cada propiedad (simple o compuesta) se le asigna el orden de aparición, lo que facilita la fase de interpretación de la etiqueta.
- Soporta separadores de espacio y punto y coma.
[[CABECERA contenido="subplantilla 17" "zona de titulo"='Titulo' color:red; font-size:13em;]]
En definitiva, es suficientemente potente para dar soporte a una sintaxis con la que el usuario diseñador de TreeWeb se sienta realmente cómodo y no tenga que cambiar sus hábitos de tecleo.
Suscribirse a:
Comentarios (Atom)