lunes, 28 de diciembre de 2009

Las enfermedades alérgicas, ¿quién no conoce a un alérgico?


Continuamos con los artículos escritos por los profesionales de la clínica, en este caso tocamos la alergia con el titulo quien no conoce a una persona con alergia.

Espero sea de utilidad, lo pueden leer a continuación:

En los últimos años quién no ha mantenido en alguna ocasión esta conversión con algún familiar o con algún amigo?,

"- Sabes que fui al médico de las alergias y me ha dicho que soy alérgico ?
- Y eso?, si tú nunca has tenido ninguna alergia…
- Pues ya ves, de repente me he hecho alérgico, y eso que yo comía de todo y estaba completamente sano…"

Seguro que pocos son lo que no se han visto protagonistas de esta situación y esto debido a que últimamente el número de personas con enfermedades alérgicas ha aumentado de forma espectacular: aproximadamente el 20% de la población de las sociedades más desarrolladas presentan algún tipo de afección alérgica y se espera que dentro de 50 años esta cifra se sitúe alrededor del 50%.



El término ALERGIA fue usado por primera vez en 1906 por Von Pirquet y significa "reacción anómala" ante el contacto con una sustancia a la que previamente la persona se había expuesto sin presentar problema alguno. Las medicamentosa y la anafilaxia.

Las enfermedades alérgicas aparecen en mayor grado en las sociedades más desarrolladas y con más alto nivel de vida; varias son las causas que podrían explicar este aumento: el humo de tabaco, la contaminación atmosférica, los cambios en la dieta, la falta de alimentación con leche materna durante los primeros años de vida…


Todas estas causas pueden afectar tanto a niños como a adultos, y por eso vemos que no solamente son los jóvenes y los adultos los que presentan alguna enfermedad alérgica, sino que, y cada día con más frecuencia, hay muchísimos niños con problemas respiratorios como asma o alergia a la leche, al huevo o a alguno de los alimentos que se les va introduciendo en su alimentación, apareciendo problemas de eccema o urticarias.

Urticaria por Alergia a Alimentos


Una buena historia clínica que nos oriente hacia la causa de la alergia, una exploración física detallada por órganos y pruebas complementarias adecuadas en piel y en sangre, son necesarias para poder demostrar la existencia de una enfermedad alérgica; además, en los casos de alergia a medicamentos o alimentos, son precisas pruebas más específicas para cada uno de ellos.


Cuando ya conocemos cúal es la causa de la alergia, ésta se combate mediante las medidas de evitación adecuadas frente al responsable del problema (alergeno responsable: ácaros del polvo, pólenes, epitelios de animales, alimentos o medicamentos…) y además, aplicando tanto la medicación individualizada como la vacunación, si se precisa, con el fin de crear defensas frente al alergeno en cuestión.


Así pues, la enfermedad alérgica es muy compleja y puede presentas distintas expresiones clínicas y evolución, incluso en el mismo paciente; por todo ello, la ALERGOLOGÍA es la especialidad médica capaz de prevenir, diagnosticar y tratar las enfermedades alérgicas.


Servicio de Alergología Clinica fivasa.


Crawler en Perl

Viendo la ilusión que tiene mi hija en Navidad me he puesto nostálgico recordando viejos tiempos, y como siempre que me pongo nostálgico, pues desempolvo algo del pasado...

En esta ocasión le ha tocado al Perl. No es que haya sido nunca un experto del Perl, (lenguaje interpretado, generalmente poco eficiente en cuanto a recursos) más bien me tiraba por la rama contraria, el ASM (lenguaje compilado, muy eficiente en cuanto a recursos) pues lo que más me apasionaba era conseguir grandes resultados con recursos limitados.

Aunque hoy en día las cosas han cambiado, los recursos que antiguamente eran caros (el hardware) en la actualidad no lo son tanto, además de incrementar increiblemente su potencia, y en cambio el mayor coste de un proyecto tecnológico se va a los recursos humanos.

Es por ello que dónde antes mirabas al C y al ASM, en la actualidad quizás interesa más mirar al Perl y similares.

Y qué mejor para desempolvar el Perl que intentar hacer un sencillo Crawler, algo que ya vimos en el post ¿Cómo se hace... un crawler? y que ya implementamos en C#.

Veamos aquí un sencillo código para extraer los enlaces de una página Web dada para poder luego recorrerlos recursivamente como hacíamos en aquél artículo:


#!/usr/bin/perl
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
use HTML::LinkExtor;


$URL = shift(@ARGV);

$contents = get($URL);

$browser = LWP::UserAgent->new();
$browser->timeout(10);

my $request = HTTP::Request->new(GET => $URL);
my $response = $browser->request($request);
if ($response->is_error()) {printf "%s\n", $response->status_line;}

$contents = $response->content();

my ($page_parser) = HTML::LinkExtor->new(undef, $URL);
$page_parser->parse($contents)->eof;
@links = $page_parser->links;

foreach $link (@links)
{
$mylink = "$$link[2]";

if (IsWebPage($mylink))
{
print $mylink."\n";
}
# print "$$link[2]\n";
#print "$$link[2]"."\n";
}

sub IsWebPage
{
$myLink = $_[0];

if($mylink =~ /mailto:/i){return 0;}
if($mylink =~ /\.gif/i){return 0;}
if($mylink =~ /\.jpg/i){return 0;}
if($mylink =~ /\.pdf/i){return 0;}
if($mylink =~ /\.bmp/i){return 0;}
if($mylink =~ /\.jpeg/i){return 0;}
if($mylink =~ /javascript:/i){return 0;}
if($mylink =~ /\.css/i){return 0;}
if($mylink =~ /\.js/i){return 0;}
if($mylink =~ /\.cgi/i){return 0;}
if($mylink =~ /\.ico/i){return 0;}
if($mylink =~ /\.g/i){return 0;}
if($mylink =~ /clsid:/i){return 0;}
if($mylink =~ /file:/i){return 0;}
if($mylink =~ /\.rar/i){return 0;}
if($mylink =~ /\.zip/i){return 0;}
if($mylink =~ /\.doc/i){return 0;}
if($mylink =~ /\.ppt/i){return 0;}
if($mylink =~ /\.pps/i){return 0;}
if($mylink =~ /\.png/i){return 0;}

return 1;
}




Algunas cosas a comentar son el procedimiento IsWebPage, que se puede completar mucho más, que se basa en una serie de if (no existe una estructura switch en perl, aunque sí en módulos externos) dónde se comprueba la aparición, mediante sencillas expresiones regulares case insensitive, de determinadas cadenas.

Otra cosa interesante son las librerías de LWP y HTTP que como veis permite el acceso a las páginas y a su contenido de manera extremadamente sencilla, solucionando algunos problemas que aparecen con otros lenguajes, por ejemplo C#, con las rutas relativas obtenidas dentro del html, y que Perl devuelve como rutas absolutas. Esto es, por ejemplo en la página http://www.corex.es puede haber un enlace del tipo /zonacomercial.aspx que es relativa a http://www.corex.es pero que un crawler como el visto en C# puede devolver cosas varias como /zonacomercial.aspx o about:blank//zonacomercial.aspx, siendo la primera no rastreable y la segunda incluso errónea, y que hay que tratar manualmente. En cambio el script Perl devolvería http://www.corex.es/zonacomercial.aspx

Con este sencillo código que podemos ejecutar en cualquier terminal Linux únicamente grabándolo con un editor de texto (pe. llamándolo crawler) y dándole permisos de ejecución (pe. chmod 777 crawler), ejecutándolo posteriormente pasándole como parámetro la página a descargar, por ejemplo:

./crawler http://grupofivasa.blogspot.com

Esperemos que sirva de base para poder crear scripts más completos y complejos como veis con una sencillez exquisita.

jueves, 17 de diciembre de 2009

¿CUÁLES SON LOS OBJETIVOS DE UNA BUENA NUTRICIÓN?



Estimados Bloggers adjunto un nuevo articulo el cual ha sido desarrollado por el servicio de nutrición y dietética espero sea beneficioso después de los excesos de fiestas.





El objetivo de la Ciencia de la Nutrición es el de definir una dieta apropiada para cada individuo, es decir, una dieta personalizada, que se ajuste a sus necesidades y apetencias, cuidando un equilibrio que mantenga su peso óptimo.


El gozar de buena salud es más que la ausencia de enfermedad, es el bienestar físico y mental, es el equilibrio y la buena forma. Para cuidar la salud no es útil comer mucho o poco, sino lo apropiado y lo que hace mejor al cuerpo.


Estamos convencidos de que la mejor forma de promover este bienestar es ayudando a que todas las personas conozcan sus necesidades alimenticias como ser humano y así al momento de comer, tener en cuenta este conocimiento.



Antes de empezar con la dieta es importante conocer el estado del que parte el paciente, para lo cual se recomiendan pruebas como:


ANALÍTICA Y ELECTROCARDIOGRAMA


La nutrición es el conjunto de procesos mediante los cuales el organismo extrae, absorbe e incorpora a sus estructuras, una serie de sustancias que recibe mediante la alimentación, con el objeto de obtener energía, construir y reparar la estructura corporal y regular los procesos.


La dietética es la técnica y el arte de utilizar los alimentos de forma adecuada, proponiendo una alimentación variada y equilibrada, para cubrir las necesidades biológicas en la salud y en la enfermedad



Si las proteínas, hidratos, lípidos, vitaminas y minerales, es decir, los principios inmediatos, estuvieran disponibles por separado, la práctica culinaria se limitaría a coger tantos gramos de un bote, tantos de otro y a mezclarlos en las proporciones requeridas. Por suerte, los nutrientes se encuentran mezclados con otros en los alimentos y es tarea de la Nutrición buscar la combinación adecuada entre ellos para conseguir esas cantidades finales recomendadas.


Una alimentación equilibrada es aquella que mantiene un óptimo de salud y aumenta la esperanza de vida del individuo.


Es aquella formada por los alimentos que aportan una cantidad adecuada de todos y cada uno de los nutrientes que necesitamos (hidratos de carbono, lípidos, proteínas, vitaminas y minerales) para tener una salud óptima. La dieta ha de ser variada consumiendo sobre todo productos frescos y de temporada.


RECOMENDACIONES A TENER EN CUENTA:




-No olvidar que comer es un placer.

-Hay que comer de todos los grupos de alimentos pero no en gran cantidad.

-Comer fruta y verdura a diario.

-Comer despacio y masticar bien.

-Evitar las grasas, frituras...

-El agua es la bebida por excelencia, si se ingiere alcohol que sea con moderación.

-Evitar el consumo de azúcares refinados.

-Hacer ejercicio físico.




Sin darnos cuenta hemos ido abandonando los buenos hábitos alimentarios con el consiguiente detrimento hacia nuestra salud.


La dieta equilibrada depende de una serie de factores personales tales como el sexo, peso, talla, edad, la actividad que realizamos




Debido a estos múltiples factores personales de los que depende, la dieta varía mucho de unos individuos a otros, necesitando cada uno de ellos un aporte nutricional diferente.


Alguno de los objetivos de una buena alimentación es aportar una cantidad de nutrientes energéticos (calorías) que sea suficiente para llevar a cabo los procesos metabólicos y de trabajo físico necesarios.






jueves, 10 de diciembre de 2009

C# Redimensionar imágenes



El problema del tamaño de las imágenes cada vez es menor con las actuales velocidades de conexión y anchos de banda... depende, que nos lo digan cuando estamos con un 3G.

Es por ello que es preciso subir las imágenes a internet a un tamaño que conserve lo mejor posible la calidad pero que reduzca en gran medida el peso de las originales obtenidas con las magníficas cámaras actuales de más de 5 megapíxeles (incluidas ya en muchos móviles).

Para ello sólo tenemos que obtener un programa de diseño gráfico, seleccionar la foto, hacer un redimensionado al tamaño que consideremos adecuado, seleccionar un tipo de interpolación, y hecho.

¿Pero qué sucede cuando tenemos centenares de fotos para reducir? Pues una a una se convierte en un árduo trabajo. Existen programas comerciales que permiten ejecutar en batch este tipo de transformaciones, aunque algunos suelen ser difíciles de configurar. Seguramente también existen multitud de proyectos open source que lo permiten, pero ya sabemos cómo va esto del open source, nos podemos estar peleando un buen rato para decidir qué proyecto utilizar, y realmente, para algo tan sencillo, creo que vale la pena que lo hagamos nosotros solos.

Para ello sólo tenemos que hacernos un pequeño programita, en este caso en C#, que por un lado permita seleccionar el directorio dónde está el conjunto de fotos a transformar y las recorra una a una, solicite a un método la transformación, y grabe la imagen resultado con una variación del nombre.

Aquí os dejo el código para redimensionar la imagen, utilizando una interpolación bicúbica de alta calidad, y trabajando con imágenes en formato jpeg. El resto del programita sabréis hacerlo perfectamente.



public static Image ResizeImage
(Image srcImage, int newWidth, int newHeight)
{
using (Bitmap imagenBitmap =
new Bitmap(newWidth, newHeight, PixelFormat.Format32bppRgb))
{
imagenBitmap.SetResolution(
Convert.ToInt32(srcImage.HorizontalResolution),
Convert.ToInt32(srcImage.HorizontalResolution));

using (Graphics imagenGraphics =
Graphics.FromImage(imagenBitmap))
{
imagenGraphics.SmoothingMode =
SmoothingMode.AntiAlias;
imagenGraphics.InterpolationMode =
InterpolationMode.HighQualityBicubic;
imagenGraphics.PixelOffsetMode =
PixelOffsetMode.HighQuality;
imagenGraphics.DrawImage(srcImage,
new Rectangle(0, 0, newWidth, newHeight),
new Rectangle(0, 0, srcImage.Width, srcImage.Height),
GraphicsUnit.Pixel);
MemoryStream imagenMemoryStream = new MemoryStream();
imagenBitmap.Save(imagenMemoryStream, ImageFormat.Jpeg);
srcImage= Image.FromStream(imagenMemoryStream);
}
}
return srcImage;
}


Pero voy a ser bueno y os lo voy a dejar aquí para que os lo descarguéis.

Redimensionar Imágenes con C#

¡Que os sea de utilidad!