Como poner correctamente la mesa en Navidad

No, ya sabemos que las patas tienen que ir abajo y la superficie plana arriba. Se trata de como preparar la mesa, con todos sus complementos y protocolos, para las tan entrañables cenas de Nochebuena y de Nochevieja.

Y para eso nada mejor que seguir la siguiente guía:

La cena de Nochebuena y la de Nochevieja son las comidas más importantes del año en casi todas las Navidades del mundo. Es un momento de alegría y de compartir recuerdos y momentos felices con la familia y los seres más queridos. Por eso debemos siempre intentar que ese momento especial salga lo mejor posible.

Si nuestra mayor preocupación es siempre la comida que vamos a ofrecer, también lo es, como ya vimos en otro artículo, la elección de un buen vino según cada momento de esa comida. Ahora bien, no menos importante es la presentación que se haga de la mesa de Navidad. Tengamos en cuenta que antes incluso que la comida, el primer impacto visual del invitado al llegar a nuestra casa es la colocación de la mesa. Una buena colocación impactará más y conducirá al comensal a sentirse más cómodo y a recibir con más agrado el resto de la noche.

Pero, ¿cuáles son las cosas que hemos de tener en cuenta al preparar la mesa? ¿cómo hemos de colocar las copas, los cubiertos y los platos?

En primer lugar hemos de elegir la mantelería. Es muy importante porque la tendremos siempre presente. Lo más habitual es elegirla blanca, y a ser posible, que no sea de algodón. Una mantelería blanca realzará más los alimentos y dará sensación de limpieza. también es posible que esa mantelería tenga algún motivo navideño que nos recuerde las fechas en las que estamos. Las servilletas deberán ir a juego con el mantel, aunque si queremos algo más sencillo y cómodo, y menos protocolario, entonces podemos optar por unas buenas servilletas de papel adornadas con motivos navideños. Lo normal es colocarlas sobre el plato, dobladas o en triángulo, o si acaso, a la izquierda de los platos- Hay quien dice que se colocan a la derecha, pero el protocolo dice que a la derecha sólo se colocan cuando ya se han usado.

Lo siguiente es elegir un buen centro de mesa. Sí, cierto, al final siempre termina estorbando o faltando sitio en la mesa, pero precisamente esa sensación de falta de espacio crea incomodidad, así que lo mejor, siempre será ir trayendo los platos poco a poco. El centro de mesa podría estar formado por piñas y flores secas, y, por supuesto, algunas velas.

Los platos. En primer lugar debemos colocar el plato base, y tener en cuenta que si lleva algún tipo de dibujo o anagrama, este deberá estar centrado justo en la parte frontal más pegada a la copa. Encima del plato base se irán colocando los restantes platos que se vayan sirviendo. A la izquierda, en la esquina superior se coloca el plato para el pan con su correspondientes cuchillito, un plato pequeño a fin de evitar que las migas caigan al mantel. Si quisiéramos poner mantequilla, entonces habríamos de poner un plato pequeño a la derecha, en la esquina superior también, con un pequeña pala para untar.

Correcta colocación de los elementos de la mesa navideña

Los cubiertos. Hay varias tendencias, aunque el estricto protocolo te dice que los cubiertos se colocan de fuera a dentro según el orden de utilización. A la derecha siempre se colocan los cuchillos con el lado cortante hacia el plato, la cuchara hacia arriba, y la pala para el pescado. A la izquierda se colocan los tenedores siguiendo este orden: en la parte de fuera el tenedor normal, en la de dentro el pequeño tenedor para el postre, y a veces, puede aparecer en medio de los dos un tenedor de tamaño medio que es el que usa para los entrantes.

Todo ésto sería usando el estricto protocolo, porque la nueva moda es colocar con cada servicio su cubierto correspondiente, de modo que se ocupe menos espacio en la mesa, pero eso sí, cambiándolos al retirar el plato.

La cristalería. No os asustéis si vais a una comida de postín y os encontráis ¡hasta con 6 copas! Son las siguientes: la de Jerez o Montilla, la de vino blanco, la de vino tinto, la de agua, la de cava y la de licor. Sin embargo, lo habitual es que haya sólo dos: la de vino y la de agua.

El resultado de todo es que vosotros mismos decidiréis que seriedad y profesionalidad queréis darle a vuestra mesa, y sopesar el espacio de la mesa, con la comodidad y el tiempo que tengáis.

Vía | http://saborgourmet.com

Códigos HTTP Apache

Buscando un código HTTP he dado con esta lista que, por concisa, me ha parecido bueno compartir con vosotros.

100

100 .- Continue .- Comunica al cliente que la primera parte de la petición se ha recibido y que puede continuar con el resto de la petición o ignorar (si la petición ha sido completada).
101 – Switching Protocols .- Comunica al cliente que el servidor cambiará los protocolos a aquellos especificados en el campo “Upgrade message header” durante la actual conexión.

200

200 – OK .- La petición enviada por el cliente se procesó correctamente.
201 – Created .- La petición se proceso correctamente y se creó un nuevo recurso.
202 – Accepted .- La petición fue aceptada para su procesamiento pero todavía no ha empezado a procesarse.
203 – Non-Authoritative Information .- La meta información devuelta en la entidad header no es el conjunto definitivo disponible en el servidor de origen.
204 – No Content .- La petición tuvo éxito pero no requiere la devolución de una entidad body.
205 – Reset Content .- La petición tuvo éxito pero el “User-Agent” debería reiniciar la vista del documento que origino la petición.
206 – Partial Content .- La petición parcial GET tuvo éxito.

Continue reading “Códigos HTTP Apache”

Linux kernel 2.6.27

Falta poco tiempo (una semana aprox) para que salga el kernel de Linux 2.6.27. Aquí un pequeño resumen de las principales novedades:

* page cache y get_user_pages() sin bloqueos (lockless): El page cache es el lugar (de la RAM) donde el kernel pone copias de los archivos que estan en el disco para acelerar el rendimiento. Cada instancia de la estructura “mapping” almacena la informacion de cada archivo que tiene copias de sus datos en el page cache. Esa estructura tiene un bloqueo para evitar problemas de concurrencia cuando se accede a ella. Si hay varios procesos que estan accediendo a esa estructura simultaneamente -lo cual, para ser sinceros, no es algo muy comun ni es por lo general un problema- puede formarse cierta contencion en ese bloqueo. Para resolverlo, en Linux 2.6.27 las operaciones de lectura de las estructuras del page cache se haran sin necesidad de adquirir ese bloqueo. Debido al diseño, en el que se evitan tambien ciertas operaciones costosas, tambien se ha mejorado el tiempo de lectura y modificacion del page cache en sistemas monoprocesador.

* get_user_pages(): Existe una tecnica llamada Direct I/O, que consiste en hacer operaciones de I/O saltandose completamente el page cache y todo tipo de gestion de memoria del kernel. Las grandes bases de datos son quienes suelen utilizar estas cosas, porque ellas mismas hacen su propia gestion de memoria a su gusto. get_user_pages() es una funcion interna del kernel encargada de copiar los datos de la memoria del proceso a la memoria del kernel cuando se hace Direct I/O para posteriormente escribirlo en el disco. Sin embargo, esta funcion requiere adquirir un par de bloqueos importantes, que hacen que se forme cierta contencion cuando hay varios threads usando get_user_pages() en un mismo espacio de direcciones. En 2.6.27 se ha añadido la funcion get_user_pages_fast(), cuya funcion basica es la misma, pero esta diseñada para gestionar los casos mas comunes y por tanto puede prescindir de 4 de los 8 argumentos que toma la otra funcion, y puede hacer Direct I/O sin tomar ningun bloqueo. Eso hace que las operaciones de Direct I/O se aceleren considerablemente – un 10% en un benchmark OLTP sobre DB2 en una maquina Intel Quadcore.

* Ext4 delayed allocation: Esta es una de las grandes promesas de ext4. Se trata de algo que no afecta al formato del disco, es un mero problema de implementacion. En los SO modernos, cuando una aplicacion escribe algo al disco no lo escribe inmediatamente, sino que lo guarda en buffers que seran escritos posteriormente. Sin embargo, por comodidad, la mayoria de sistemas de archivos implementan esta funcion como un caso particular de la funcion general “escribir los datos en el disco”. Me explico: en la mayor parte de sistemas de archivos, cuando la aplicacion hace write(), lo que suele hacer el sistema de archivos es llamar a las rutinas de asignacion de bloques libres a los nuevos datos, actualizar el contador de espacio libre, etc….a pesar de que los datos aun no se estan escribiendo y van a pasar un rato en los buffers. Esto es suboptimo por muchas y variadas razones; por ejemplo, un archivo puede consistir de varios write()s y el algoritmo de asignacion de bloques no puede saberlo cuando recibe el primer write(), y por tanto no puede encontrarle un lugar adecuado. La tecnica “delayed allocation” consiste, simplemente, en no llamar a esas rutinas de asignacion de bloques, solo la de actualizar el contador de espacio libre. La asignacion del espacio que los datos van a ocupar en el disco se realiza solamente cuando los datos se van a escribir verdaderamente en el disco. Esta tecnica, utilizada por sorprendentemente pocos sistemas de archivos -XFS, ZFS, reiser 4 y btrfs-, mejora el rendimiento en muchos tipos de carga -en algunos las mejoras son astronomicas- y disminuye la fragmentacion.

* UBIFS: UBIFS es un sistema de archivos diseñado por Nokia para dispositivos de almacenamiento flash puros. Cuando digo puros, me refiero a que no puede utilizarse en los tipicos lapices USB o discos externos USB hechos con memoria flash. Ese tipo de dispositivos tiene una capa de emulacion que los hace parecer, al exterior, como un dispositivo de bloques normal y corriente. UBIFS esta diseñado para los sistemas que no tienen esa capa. Es mejor que JFFS2 en varios aspectos: rendimiento, el montaje inicial es rapido, resistencia a reinicios a lo bruto…

* Kexec jump: hibernacion basada en kexec/kdump: Kexec es un sistema que permite cargar un kernel Linux en memoria y ejecutarlo directamente desde el kernel que estas corriendo, sin necesidad de reiniciar. Kdump es un sistema de volcado de memoria del kernel basado en kexec: Se carga al principio del sistema un kernel a prueba de fallos en memoria, y si hay un fallo en el kernel, el codigo de OOPS llama a kexec, ejecuta el kernel a prueba de fallos, se carga ese kernel, y se copia el resto de la memoria del sistema a un archivo – el volcado de memoria. En 2.6.27, estos sistemas se han extendido para una nueva funcion: hibernar el sistema. Se carga un kernel, se ejecuta, ese kernel guarda el contenido de la memoria en un archivo, y se apaga el sistema. Al encender de nuevo el sistema, se carga el archivo con la memoria y se sigue ejecutando.

* Soporte de integridad de datos en la capa de bloque: Hay sistemas de archivos capaces de usar checksums para detectar corrupcion en un archivo. Sin embargo, esto se detecta solamente al leerlo. SCSI y ATA estan preparando especificaciones y dispositivos que junto a los resultados de las operaciones de escritura devuelven al kernel un CRC de cada sector escrito para que se verifique si no ha habido errores.

* ftrace: ftrace es un sistema de instrumentalizacion del codigo muy simple nacido en el seno de los parches -rt: se utiliza una extension de gcc para dejar 5 bytes de NOPs en el principio de todas y cada una de las funciones del kernel (no tiene ningun efecto en el rendimiento, incluso en microbenchmarks: las CPUs modernas han optimizado este tipo de secuencias muy bien). Cuando ftrace se activa, esos NOPs se modifican con instrucciones que llaman a ftrace para tomar nota de las funciones que se van llamando. Es muy util para analizar el rendimiento de diferentes partes del codigo. Pero la parte mas util es que ftrace tiene una infraestructura de plugins que ha permitido desarrollar todo tipo de funciones: se pueden analizar los cambios de contexto, la latencia que sufre un proceso desde que es “despertado” por el gestor de procesos hasta que finalmente empieza a ejecutarse, tiempo maximo que se pasa con las interrupciones desactivadas, el tiempo gastado en porciones de codigo donde se deshabilita preempt…ademas de soporte de sysprof.

* mmiotrace: Instrumentalizacion de las operacion de mmio (memory-mapped I/O: I/O que se hace mapeando parte de la memoria a un dispositivo y escribiendo en la misma). Por lo visto es muy util para hacer ingenieria inversa de los drivers de nvidia^W^Wpropietarios.

* Capa de red multicola: En las tarjetas de red modernas, especialmente las wireless, estan apareciendo multiples colas, en vez de la tradicionalmente unica: Una para voz, otra para video, otra de baja prioridad para P2P^W”trafico de fondo”. En 2.6.27 la capa de red tiene soporte para este tipo de dispositivos.

* Firmware externo: El firmware de los drivers ha sido extraido de los mismos y centralizado en el directorio firmware/. Este firmware puede ser instalado en /lib/firmware, de manera que cuando los drivers lo necesiten, se llamara al programa que carga firmware externo desde un archivo del disco duro, algo que apreciaran los enfermos de GNUitis. Tambien se puede optar, para quien no les guste esto, por meter todo el firmware en la imagen del kernel.

* Soporte de webcams mejorado: Se ha incluido el driver gspca, que incluye soporte para la mayor parte de las webcams que quedaban por soportar en Linux.

* syscalls que crean descriptores de archivo extendidas: UNIX no fue perfecto. Por ejemplo, muchas de las diversas rutinas que crean descriptores de archivo no permiten crear descriptores de archivo con ciertas propiedades que hoy en dia se utilizan. Resulta que poder hacerlo no es un simple capricho – tambien existen ciertos aspectos de esta carencia que pueden vulnerar la seguridad. Para solucionar este problema no habia otro remedio que añadir un porrillo de syscalls nuevas que aceptaran los parametros necesarios. Aunque parezca algo sucio tener que añadir estas nuevas syscalls, lo cierto es que añadirlas es bastante “barato” y no se ha añadido casi nada de codigo.

* Soporte de chips: intel wireless 5000, chips wireless Atheros AR5008 y AR9001, soporte de tarjetas de red Realtek RTL8187y de Atheros L1E Gigabit, muchos otros drivers, soporte mejorado de drivers ya existentes, muchas otras mejoras y pequeños arreglos.

Lista completa de cambios

Visto en http://diegocg.blogspot.com