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.

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:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
Este manifiesto, elaborado de forma conjunta por varios autores, es de todos y de ninguno. Se ha publicado en multitud de sitios web (www.microsiervos.com, ...). Si estás de acuerdo y quieres sumarte a él, difúndelo por Internet.
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:
{{ecuación| \bar{x} = \frac{\sum_{i=1}^n{a_i}}{n} = \frac{a_1+\cdots+a_n}{n} ||left}}
Y al visualizar el documento se genera de forma automática la siguiente imagen:
Fórmula 'Media aritmética'
Lo mejor de todo es que el código que utiliza la ecuación entre el tag '' es código LaTeX para definir fórmulas matemáticas. LaTeX es un lenguaje para edición profesional de documentos con una altísima calidad y entre sus muchas virtudes tiene un motor de render de fórmulas matemáticas.
Pero todavía hay algo mejor, el código fuente de Wikipedia (que es libre y se puede descargar gratuitamente desde http://www.mediawiki.org/wiki/Download) contiene un módulo que interpreta y genera ecuaciones matemáticas escritas en LaTeX.
Parece ser que está escrito en lenguaje OCaml, se encuentra en el directorio 'mediawiki-1.15.1/math' del motor de Wikipedia.
Un extracto del readme:
== About texvc == texvc takes LaTeX-compatible equations and produces formatted output in HTML, MathML, and (via LaTeX/dvipng) rasterized PNG images. Input data is parsed and scrutinized for safety, and the output includes an estimate of whether the code is simple enough that HTML rendering will look acceptable. The program was written by Tomasz Wegrzanowski for use with MediaWiki; it's included as part of the MediaWiki package (http://www.mediawiki.org) and is under the GPL license. Please report bugs at: https://bugzilla.wikimedia.org/ with "MediaWiki extensions" as product and "texvc" as component.
Espero que el motor sea fácil de integrar, ya que puede ser de gran utilidad en una amplia variedad de proyectos.

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:

Conseguir Ubuntu 8.04

Artículo original http://www.treeweb.es/blog-tecnico-conseguir-ubuntu-804.


É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.
Para hacerte una idea, la descarga tarda aproximadamente dos horas con una conexión de 1Mb o unos veinte minutos con una conexión de 6 Mb.
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:
Yo, personalmente, descargaría el CloneCD que es muy fácil de usar y sólo ocupa 5 Mb en lugar de los 188 Mb que ocupa el Nero.

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:


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

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.

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

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.


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
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
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
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.21.
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:
  1. 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.
  2. Doce teclas de función. Cada programa asigna sus propias funciones a estas teclas.
  3. Estas tres teclas tienen funciones variadas que posiblemente comentaré más adelante...
  4. 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).
  5. 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.
  6. ¿Hace falta decir algo sobre unas flechas?
  7. 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.
Una vez localizadas estas teclas queda saber cómo se utilizan. Si pulsamos continuadamente una de estas teclas sin soltarla no aparecerá absolutamente nada en la pantalla, incluso podemos mantener pulsadas todas estas teclas a la vez y seguirá sin ocurrir nada. Sólo pasará algo cuando soltamos la tecla 'Alt' (se activará la barra de menús y se seleccionará el primero) o si soltamos la tecla 'Win' (en ese caso se desplegará el menú inicio). Para activar una combinación de teclas PRIMERO deberemos mantener pulsadas alguna de estas cuatro teclas que no hacen nada y SEGUNDO, pulsar y soltar una tecla de las que sí hacen algo. Espero no ser pesado ni demasiado escrupuloso con la explicación pero a veces las cosas son difíciles de explicar para que las entienda todo el mundo.

¿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...
Y dicho esto, creo que no me dejo nada más en el tintero teclero. Así que voy a explicar algunas cosas que ocurren cuando combinamos algunas de las teclas anteriores. La máquina tiene una forma de mover el cursor mucho más 'inteligente' que saltar de un carácter a otro al pulsar las flechas. Si pulsamos 'Ctrl'+Flecha (izquierda o derecha) el cursor se desplazará de palabra en palabra.
- Posición inicial del cursor -
tecladoposicioninicial.png
- Mover el cursor con las flechas -
tecladoletra.png
- Mover el cursor pulsando Ctrl y las flechas -
tecladopalabra.png
- Mover el cursor pulsando Inicio y Fin -
tecladoiniciofin.png
Otras combinaciones interesantes de la tecla 'Ctrl' son:
  • 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.
Ahora tenemos un gran abanico de posibilidades a la hora de movernos por un texto de forma más precisa y rápida que si lo hiciéramos con el ratón. Si practicamos un poco tendremos la pericia suficiente como para pasar al siguiente 'nivel': selección de texto. Para seleccionar texto son válidas todas las operaciones que implican mover el cursor. Veamos esto con un pequeño ejemplo. Supongamos que queremos seleccionar 'ciélago hindú comía feliz' en el texto de los ejemplos anteriores. Partimos de la situación inicial.
- Situación inicial -
tecladoposicioninicial.png
- Pulsamos 'Ctrl'+'FlechaIzq' dos veces -
tecladoseleccionpaso1.png
- Pulsamos 'FlechaDcha' tres veces -
tecladoseleccionpaso2.png
- Pulsamos 'Shift' y desplazamos el punto de referencia con 'Ctrl'+'FlechaDcha' -
tecladoseleccionpaso3.png
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.
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:
  • 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.
Para comparar el rendimiento de los distintos motores de almacenamiento he escrito un script php que crea tablas con distintos motores y ejecuta consultas para agregar datos de tipo BIGINT.
// 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 "&nbsp;&nbsp;TANDA: $t <br>";
         for ($p=0; $p<$Prueba_x_tanda; $p++){
            echo "&nbsp;&nbsp;&nbsp;&nbsp;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:
  • 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.
Un posible ejemplo de etiqueta podría ser:

[[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.        

Captcha para TreeWeb

Artículo original http://www.treeweb.es/blog-ultima-version-captcha-para-treeweb.

Hemos desarrollado un innovador sistema de captcha como módulo de TreeWeb que se podrá utilizar para validación de formularios de usuarios no registrados, como los formularios de contacto, los de registro o los de comentarios. Es un pequeño requisito que está en favor de la seguridad de TreeWeb y de la del propio usuario.
El diseño utiliza una nueva técnica muy segura que se basa en la capacidad del cerebro humano para trabajar con patrones y el uso de la imaginación para completarlos en base a la experiencia adquirida anteriormente.
Este sitema evitará en gran medida que se puedan desarrollar programas capaces de leer las letras del código de seguridad .
Para empezar a darle uso lo hemos incorporado al nuevo formulario de contacto de este mismo sitio.
Este es uno de nuestros captcha de ejemplo:
Imagen captcha oblitatoria

Metadatos en TreeWeb

Artículo original http://www.treeweb.es/blog-ultima-version-metadatos-en-treeweb.

Los metadatos de una página web contienen el título, la descripcion y las palabras clave de ésta. Los buscadores utilizan la información que encuentran en los metadatos para completar la información que guardan de cada página.
Son muy importantes porque influyen en nuestra posición de los resultados de búsquedas. Tener unos metadatos u otros puede ser determinante para aparecer en una buena posición o desaparecer de las búsquedas.
A partir de hoy ya es posible configurar por el propio administrador los metadatos de cada una de las páginas del sitio web. Esto permite que el administrador retoque las palabras clave el título o la descripción de cada página para mejorar el posicionamiento de su web.
Para cada metadato es recomendable seguir algunos consejos:
  • El título de la página es muy importante, ya que sus palabras tienen mucho peso en los buscadores. Hay que elegir muy cuidadosamente las tres o cuatro palabras que van a ir en el título. Si el nombre de la página coincide con el nombre de dominio es recomendable no volver a repetirlo en el título y utilizar otras palabras más interesantes para el posicionamiento.
  • La descripción es tan importante como el título y puede tener una longitud de más de 100 palabras sin ningún problema. Con mucha probabilidad, la descripción será el pequeño resumen que Google y otros buscadores muestren de tu página.
  • Las palabras clave se colocan separando los términos por comas, por ejemplo: mi sitio web, articulos, articulo del mes, venta a particulares, web.
    Sin embargo, dada la gran cantidad de trampas que se han hecho con las palabras clave, normalmente los buscadores no la utilizan ya que eligen ellos mismos las palabras clave más representativas de forma estadística.     

Desarrollo modularizado

Artículo original http://www.treeweb.es/blog-ultima-version-desarrollo-modularizado.

El duro trabajo que se ha realizado en el diseño de módulos externos de TreeWeb ha dado sus frutos y permitirá desarrollar aplicaciones que aprovechen toda la versatilidad y potencia de TreeWeb de forma sumamente sencilla.
¿Hay que añadir un wordpress, un foro, una wiki o un desarrollo a medida? Sólo hay que adaptar el index del paquete correspondiente y registrar en TreeWeb los recursos de disco, reescritura de url y base de datos que se necesiten.
Imagen

Ejecución de PHP parametrizada

Artículo original http://www.treeweb.es/blog-ultima-version-ejecucion-de-php-parametrizada.

El repertorio de instrucciones de TreeWeb admite la ejecución de archivos PHP almacenados en local. Las pruebas han resultado todo un éxito y esta función está preparada para integrarse con el editor de archivos, de esta forma la funcionalidad de permisos se extenderá a los archivos PHP.
Imagen fichero php

robots.txt y sitemap.xml

Artículo original http://www.treeweb.es/blog-ultima-version-robotstxt-y-sitemapxml.

Los archivos robots.txt y sitemap.xml son muy utilizados por los buscadores para encontrar páginas de difícil acceso y saber cuáles no se deben visitar. Del sitemap.xml ya hablamos en "/ultima-version-generacion-automatica-de-sitemaps" así que esta vez voy a contar algo sobre el robots.txt.
El uso de este archivo indica a los buscadores que no muestren en sus resultados de búsqueda determinadas páginas o directorios de un sitio web. Algunos buscadores de dudosa reputación no hacen caso de las limitaciones de acceso y recogen todas las páginas que encuentren en un sitio, incluso las que no queremos que aparezcan.
TreeWeb acaba de añadir en el panel de configuración las opciones de generar o no, los archivos robots.txt y sitemap.xml además de poder editar robots.txt libremente.

Fechas automáticas

Artículo original http://www.treeweb.es/blog-ultima-version-fechas-automaticas.

El repertorio de textos automáticos se ha ampliado con tres nuevas instrucciones de fecha y hora. Aprovechando la implementación de horas para la caché de páginas, es posible mostrar la fecha y hora del servidor, la fecha y hora de creación de la página actual y de su última modificación. Por ejemplo, se puede observar en el pie de cada página de www.treeweb.es.

En la parte de los paneles de administración se han añadido algunas mejoras y ya se ha comenzado a transpasar los paneles antiguos a la versión 3 de la interfaz gráfica.

TreeWeb con TreeWeb

Artículo original http://www.treeweb.es/blog-ultima-version-treeweb-con-treeweb.

Tras unos meses de trabajo, he decidido montar la página de TreeWeb con el propio motor TreeWeb, lo que supone desarrollar las partes necesarias para ofrecer la seguridad, el rendimiento y la promoción de un sistema adaptado a las últimas necesidades web.
Al finalizar, el motor que servirá la página oficial de TreeWeb contará con:

  • Un diseño gráfico totalmente renovado, optimizado para resoluciones de pantalla con un ancho de 1024 píxeles en adelante.
  • Sistema de plantillas configurables a nivel de HTML, que permite modificar únicamente el diseño, sin necesidad de tocar los contenidos.
  • Una serie de paneles de edición muy intuitivos con los que es posible mantener completamente el portal web desde cualquier lugar que disponga de un navegador y conexión a Internet.
  • Registro de peticiones HTTP con el que se dará soporte a diversas estadísticas, seguridad extendida y control inteligente de sitemaps.
  • Panel de gestión de archivos, con una apariencia amigable muy similar a los sitemas operativos con entorno gráfico. Soporte de previsualización de documentos y posibilidad de enviar y descomprimir archivos zip.
  • Gestión del icono web.
  • Sistema de copias de seguridad para mantener a salvo lo que realmente importa: el contenido.

Generación automática de sitemaps

Artítulo original http://www.treeweb.es/blog-ultima-version-generacion-automatica-de-sitemaps.

Un sitemap es un archivo que utiliza Google para recabar más información sobre un sitio web. El sitemap almacena información sobre las URL de tus páginas web, la importancia cada una de las páginas que forman un portal y la frecuencia con la que se cambian los datos.
Es muy importante contar con un sitemap actualizado y configurado correctamente para que Google y los demás buscadores no resten importancia a nuestro sitio web.
TreeWeb cuenta desde hoy con generación automática de sitemaps en el que es posible modificar la importancia de las páginas desde el panel de páginas mediante un número de 0 a 100 (cuanto mayor es el número, mayor es la importancia).
Estoy trabajando para poder disponer muy pronto de un sistema automático de valoración de páginas, que aumente la valoración de las páginas más visitadas del portal para mejorar las posiciones en los principales buscadores.

Si quieres ampliar información siempre puedes consultar la Wikipedia [http://es.wikipedia.org/wiki/Mapa_de_sitio_web] o incluso ver el sitemap de algún sitio web, como éste: ./sitemap.xml

Nuevo panel de administración de páginas

Artículo original http://www.treeweb.es/blog-ultima-version-nuevo-panel-de-administracion-de-paginas.

Ha comenzado el desarrollo del nuevo panel de administración de páginas, todavía más fácil e intuitivo de usar que su versión anterior.
La nueva versión cuenta con un árbol de menús completo que permite organizar las páginas del portal de forma jerárquica. Desde este árbol se pueden añadir y quitar páginas y categorías de una forma extremadamente fácil.
Además, no sólo he aprovechado para añadir el árbol de menús completo en la parte izquierda, sino que se han añadido nuevas pestañas de configuración para cambiar los títulos, las palabras clave y la importancia de cada página.

Módulo de gestión de archivos

Artítulo original http://www.treeweb.es/blog-ultima-version-modulo-de-gestion-de-archivos.

Con la versión 0.2.12 comienza el desarrollo de un nuevo módulo de gestión de archivos, muy similar en apariencia gráfica a los exploradores de archivos de sistemas operativos con entorno gráfico como Windows o Ubuntu.
Actualmente se encuentra implementado en una fase inicial el sistema de carpetas anidadas accesibles a través de un árbol.

Tercera generación de la interfaz

Artítulo original http://www.treeweb.es/blog-ultima-version-tercera-generacion-de-la-interfaz.

Disponible la tercera generación de interfaz de usuario de TreeWeb, con las siguientes características:
  1. El menú principal se ha convertido en un menú desplegable en la parte superior derecha, con lo que se consigue aumentar el área de trabajo de la pantalla y con ello, la comodidad y la productividad.
  2. Se ha incluido una barra entre los paneles de trabajo, que permite distribuir el tamaño de los paneles a gusto del usuario.
  3. Se ha utilizado el nuevo módulo de CSS con lo que ahora es posible elegir entre varios estilos de los paneles de configuración y facilitará el desarrollo y el mantenimiento de nuevos paneles de administración.

Mejoras de TreeWeb en la version 0.2.10

Artítulo original http://www.treeweb.es/blog-ultima-version-mejoras-de-treeweb-en-la-version-0210.

La última versión de TreeWeb incorpora dos mejoras importantes:

  1. Una reducción de las llamadas a base de datos de entre el 60% y el 80% al generar páginas. Con esto es posible generar un mayor número de páginas y reducir el tiempo de espera.
  2. Formato de texto básico de forma muy sencilla. Los formatos incluidos son:
    • Negrita: Para formatear una parte del texto en negrita, basta con colocarla entre tres asteriscos: texto en negrita
    • Subrayado: Igual que la negrita pero con tres guiones bajos a cada lado: subrayado
    • Cursiva: Con tres barras entre el texto a formatear: texto.
    • Titulo: Se debe colocar (*) al principio de la línea que contiene el título y otro (*) al final. Por ejemplo:
      (*)Título de la seccion tres(*)
    Además también soporta combinaciones de formato, en este ejemplo se combinan la negrita, el subrayado y la cursiva.