sábado, 30 de enero de 2010

De dónde viene la electricidad

La energía que diariamente demandamos proviene de muy distintas fuentes, las cuales generan electricidad y la vuelcan a la red. Básicamente la energía eléctrica se genera a partir de calor, de la fuerza del agua, del viento y de la radiación solar. Así, existen varios tipos de plantas de generación:
  • Parques eólicos: Molinos que transforman la fuerza del viento en electricidad.
  • Termosolares: Transforman el calor del sol en electricidad.
  • Fotovoltaica: Transforman la luz solar en electricidad.
  • Cogeneración: Generan electricidad a partir del calor residual producido en un proceso industrial.
  • Térmica: Transforma el calor producido al quemar combustibles fósiles (gas, carbón y petroleo)
  • Nucleares: Transforman el calor producido en la fisión de los núcleos de uranio.
  • Hidroeléctricas: Transforman la fuerza del agua producida al verterla desde una altura.

En la siguiente infografía podemos ver una explicación muy amena y didactica de dónde viene la electricidad que consumimos.

jueves, 28 de enero de 2010

Alternativa a programas conocidos

En muchas ocasiones buscamos alternativas libres a programas comerciales conocidos. En la página que a continuación os muestro es posible encontrarlas.

La página cuenta con un buscador y una serie de pestañas para filtrar la búsqueda por sistema operativo. Una vez localizado el programa, muestra un listado con similares alternativos. Para cada uno, la gente deja su opinión. Por ejemplo, como alternativas a Internet Explorer sugiere: Firefox (con 637 personas a las que les gusta), Google Chrome (con 326), Opera (con 201), Safari (con 100), Flock (con 23), etc...

Buena página que en algún momento nos servirá de ayuda.

Vía: PuntoGeek

Montando un servicio web con NuSOAP

En la entrada de hoy vamos a ver como montar un sencillo servicio web en un servidor web basado en PHP+MySQL.

En primer lugar necesitaremos un servidor con dichas características. Hay multitud de opciones de hosting, tanto gratuitas como de pago. Elegimos una gratuita, concretamente http://www.000webhost.com/ Llevo utilizando este servicio gratuito durante algún tiempo y la verdad es que no me ha dado nunca ningún problema.

El servicio web que vamos a montar utiliza una librería de PHP llamada nuSOAP. Puede ser descargada libremente desde http://sourceforge.net/projects/nusoap/

La estructura de ficheros que subiremos al servidor será la siguiente:

servicioweb.php
nusuaop/Todo el contenido de la librería descargada

Veamos finalmente el contenido del fichero servicioweb.php





configureWSDL('servicename', 'urn:servicename','','document');

//********************************************************************************
//Registramos la función
//********************************************************************************
myRegister($server,'saludar',
array(
'in' => array(
'nombre' => 'xsd:string'
),
'out' => array(
'resultado' => 'xsd:string'
)
));

if (!isset($HTTP_RAW_POST_DATA)) $HTTP_RAW_POST_DATA = implode("\r\n", file('php://input'));
$server->service($HTTP_RAW_POST_DATA);

function myRegister(&$server,$methodname,$params)
{
$server->register($methodname,$params["in"],$params["out"],
'urn:servicename', // namespace
$server->wsdl->endpoint.'#'.$methodname, // soapaction
'document', // style
'literal', // use
'N/A' // documentation
);
}

//********************************************************************************
// Definimos la función
//********************************************************************************
function saludar($nombre){
return "Hola ".$nombre;
}

die();
?>


El servicio recibe una cadena de texto (un nombre) y devuelve otra cadena de texto ("Hola " + nombre) Por último ya solo queda probarlo. La url donde ha quedado publicado el webservice sería algo así: www.midominio.com/servicioweb.php?wsdl

Existen aplicaciones para probar servicios web (clientes SOAP genéricos). Uno muy completo que suelo utilizar es soapUI. Otro también interesante y mucho más liviano es WebserviceStudio (este no lo he probado mucho).

miércoles, 27 de enero de 2010

Tecnologías de televisión 3D

Hace poco vi la película "Avatar" en 3D. No era la primera que veía de esta nueva generación de cine, pero la experiencia fue sorprendente.


También, hace ya un buen tiempo en unos grandes almacenes, vi una televisión con otra tecnología, en la que para apreciar el efecto 3D no era necesario ponerse unas gafas especiales. Bastaba con situarse delante y abrir bien los ojos, claro.


Repasemos un el "estado del arte" de la televisión 3D.


Lenticular Viewing


Tecnología lanzada por Philips. Se puede ver la imagen 3D sin necesidad de gafas especiales. Para ello, la pantalla cuenta con unos espejos dispuestos de tal forma que a cada ojo le llegue una imagen ligeramente distinta, similar a si estuviera el objeto físico realmente delante de nosotros. Esto hace que para ver la imagen correctamente en 3D se tenga que estar justo delante de la pantalla. Si hay mucha gente visionando, no todos tendrá una sensación 3D óptima.


Passive glass systems


Tecnología desarrollada por Hiunday. Usa una pantalla normal, capaz de mostrar imágenes en 2D y 3D. El efecto tridimensional lo consigue este sistema mediate la tradicional técnica de anaglifos. El video 3D en cuestión fue grabado con 2 cámaras separadas por una distancia a la que está cada ojo del otro. Posteriormente, ambas grabaciones son polarizadas y montadas una sobre la otra. Usando unas gafas especiales, con la misma polarización para cada ojo, es posible reconstruir el efecto 3D.







Active glass systems


Este sistema es muy similar al anterior. En este caso las gafas son un componente activo a diferencia del anterior sistema. Así, para crear una película tendríamos que tener también una doble cámara, grabando por solo una de ellas en cada fotograma, de manera alternativa. Al reproducir la grabación en una pantalla normal, la película se vería en 2D: usando las gafas se verían en 3D. Para conseguir esto, las gafas están sincronizadas con la frecuencia de la pantalla, polarizándose la correspondiente lente en cada periodo.





Fuentes: 1, 2

martes, 26 de enero de 2010

El avispón gigante de Japón

No me gustaría encontrarme en la ventana con uno de estos "bichitos"... Suelen medir del orden de 2 a 4 cm llegando las reinas incluso a los 5 cm de longitud. El aguijón tampoco se queda atrás: más de 6 cm de "temible clavo". Nos podemos hacer una idea de su increible tamaño con la siguiente fotografía.

Fotografía: Takehiko Kusama - http://www.muenster.org/hornissenschutz/vespa-mandarinia.htm


Su nombre científico es "Vespa mandarinia japonica" pero bueno, esto tampoco nos va a importar mucho si la vemos revoloteando por el jardin..

Por último, en el siguiente video vemos como un grupito de estos "avispones" se las gasta ante una legión de abejas comunes europeas...






Vía: ALT1040

lunes, 25 de enero de 2010

La puntuación del tenis

El tenis siempre ha sido, aunque ya no tanto, un deporte de clase alta. Era un deporte de ricos, a los que acompañaban sus mayordomos a los partidos. Así, cuando le tocaba sacar a uno, el juez decía "servicio para Pierre" indicando así a su mayordomo que le acercara las pelotas.

Dominio público


El origen de la puntuación es un tanto confuso. Existen varias hipótesis, una de ellas con la astronomía como protagonista. Como hemos dicho era un deporte de la clase alta francesa, practicado por reyes, cortesanos e incluso astrónomos. Un instrumento usado por estos últimos para medir ángulos era el sextante. Es probable que se usara este como marcador en los partidos.

Así, un juego lo ganaba el primero que desplazara el espejo móvil a lo largo de todo su sextante. De esta manera cada juego estaba cuantificado de la siguiente manera: 15 grados, 30 grados, 45 grados y 60 grados, completándose el sextante.

El partido lo ganaba el primero en ganar 6 sextantes, completándo así una circunferencia. Esto es lo que ahora denominamos set.

Con el paso del tiempo las reglas fueron adaptándose: el punto 45 era muy costoso de decir por lo que degeneró a 40 (mucho más rápido de pronunciar!), el partido pasó a tener varios sets, las mujeres jugarían 3 y los hombres 5, para ganar un juego habría que ganar por dos puntos de diferencia, con lo que si se llegaba a empate a 45 se diría "a dos!" ("a deux", adaptado por los ingleses como "deuce"), etc..

Y estas son algunas curiosidades de la puntuación del tenis, posteriormente también adoptado por el padel.

domingo, 24 de enero de 2010

Viaje al pasado

¿Quién dijo que no se podía viajar al pasado? Existe una organización llamada Internet Archive que guarda una versión caché de millones de páginas de Internet desde 1996 (160 billones de páginas) Así, podemos buscar una página web y ver como era hace años o directamente ver una que ya haya "muerto".

http://www.archive.org/

Gracias a este sitio he podido regresar a 1998 y revivir como era la página de Google:

o la de Altavista de 1996:


y lo mejor de todo es que he podido volver a ver mi primera y vieja página web de geocities! (ya difunta desde hace algunos años).

sábado, 23 de enero de 2010

Plantillas de entregables

Un apartado importante en la ingeniería del software (aunque en la vida real no se realice todo lo que se debiera) es la documentación. Existen multitud de documentos asociados a cada una de las fases del ciclo de vida de un proyecto software: Propuesta, Especificaciones, Diseño, Pruebas, Guía del usuario, etc..

En el siguiente sitio se pueden encontrar multitud de ejemplos y plantillas para todos estos tipos de documentos.

Los clasifica de dos maneras: por actividad y por secuencia sugerida, según la metodología clásica de desarrollo de software.

viernes, 22 de enero de 2010

Gráficas con Zedgraph en VB.NET

Hace tiempo me surgió la necesidad de representar gráficas en mis aplicaciones .NET. Buscando por la web encontré una libre y estupenda librería acorde a mis necesidades. Se trata de Zedgraph, descargable desde la siguiente página:
Para utilizarla en nuestras aplicaciones es necesario referenciar la DLL ZedGraph.dll.
La librería ofrece muchas posibilidades y tipos de gráficas (barras, líneas, tarta, etc..). Estas son altamente configurables (color, grosor, textos, etc..) En la página anteriormente citada existen muchos ejemplos útiles.
Por último, incluyo un pequeño ejemplo de uso:



Dim area As RectangleF
Dim x As Double
Dim y As Double
Dim puntos = New PointPairList()

'Limpiar gráfica
area = GRAFICA.GraphPane.Rect
GRAFICA.GraphPane = New GraphPane(area, "Mi gráfica", "x", "y")

'Informar los puntos
For x = 1 to 24
y = miFuncion(x)
puntos.Add(x, y)
Next

'Crear y añadir la curva
Dim curva As LineItem = GRAFICA.GraphPane.AddCurve("Gráfica", puntos, Color.Blue, SymbolType.None)
curva.Line.Width = 3.0

'Refrescar la gráfica
GRAFICA.GraphPane.Fill = New Fill(Color.White, Color.FromArgb(220, 220, 255), 45.0F)
GRAFICA.AxisChange()
GRAFICA.Refresh()

Control del consumo eléctrico

Suele ser habitual llevarnos sorpresas al ver la factura de la luz. Entre todos los números que aparece en dicho papelito está la potencia contratada, que suele ser normalmente entre 3 kW y 5kW. Vemos que se mide en kW y es ni más ni menos que la capacidad que se nos suministra para encender aparatos eléctricos.


Por otra parte, el consumo energético se mide en kWh. Este es el numerito que aparece en el contador y que va lentamente incrementándose según vayamos consumiendo. En otras palabras, según vayamos realizando trabajo con esa energía. Ese trabajo es mantener los electrodomésticos encendidos.

Así, según cuanto trabajo hayamos hecho al mes con la capacidad que se nos suministra, así nos facturarán. Si por ejemplo el consumo ha sido de 100 kWh estando el precio del kWh fijado en 0.08 € el coste será de 8 €.

Con este nuevo sistema que os muestro a continuación llamado Watt Diet Sub, es posible visualizar en tiempo real cuanta energía estamos consumiendo y así de alguna manera controlar el coste.


Como vemos en la imagen se trata de unos enchufes conectados a la toma eléctrica donde se enchufan a su vez los distintos aparatos eléctricos. Los enchufes del sistema cuentan con un pequeño display donde van informando cuanta energía va consumiendo. Cada uno de estos enchufes inteligentes enviará la información a un computador central el cual mostrará la información global en una pantalla.

Sin duda un invento muy interesante.

Fuentes: 1, 2, 3

jueves, 21 de enero de 2010

El precio del tomate

El programa "Comando actualidad" que emitío ayer Televisión Española trató sobre la formación de los precios de los productos alimenticios. Investigaba como se forma el precio en origen y como se llega a encarecer tanto una vez que llega al comercio final, al consumidor.

Fuente: Domino público

Considerando el tomate, el primer eslabón de la cadena es el agricultor. Este recolecta la hortaliza llevándola a la comercializadora, una gran nave donde se almacenarán los tomates provenientes de muchos agricultores. Allí se darán cita los corredores, que serán los compradores.

Los corredores son los intermediarios de los mayoristas y comprarán según este les dictamine. La compra se realiza mediante una subasta de tipo holandesa. En este tipo el precio comienza con un valor alto para ir progresivamente descendiendo hasta que un participante lo considere aceptable.

Una vez que se realiza la compra es transportada al mercado mayorista, como por ejemplo Mercamadrid. Allí los mayoristas reciben la mercancia que los corredores le compraron y la venderán a los minoristas (los fruteros, tenderos, representantes de supermercados, etc..). Estos se pasearán por este gran "hipermercado" y comprarán lo que mejor les convenga según sus márgenes. Por último, estos venderán a los consumidores estableciendo un PVP (en algunos casos venderán a otros minoristas!!)

Como vemos el precio del producto alimenticio se va encareciendo en cada eslabón ya que se van acumulando costes (de almacenaje en la comercializadora, de transporte, de márgenes, etc..). En definitiva, el precio se puede incrementar desde el origen hasta el destino en más de un 200%.

Veamos un ejemplo según los precios de la semana 2 de 2010 (podeis verlos aqui): el tomate liso para ensalada tiene un precio en origen de 0.56 €/Kg; en el mercado mayorista se incrementa a 1.13 €/Kg; finalmente el precio en destino se eleva a 1.99 €/Kg, un 255% respecto del origen! Estos precios que acabamos de ver son medias ponderadas, lo que supone que algunos establecimientos tendrán un PVP mayor..

miércoles, 20 de enero de 2010

Generador on-line de diagramas de secuencia

Como todo buen programador, durante la fase de análisis a veces es necesario realizar diagramas de secuencia. Para facilitar estas tareas existen buenos programas como StarUML o ArgoUML pero en ocasiones no contamos con estas herramientas instaladas en nuestro PC.

Una manera rápida y fácil de generar diagramas de secuencia es mediante la siguiente aplicación web:


En primer lugar es necesario codificar el diagrama que queramos generar mediante su sencilla sintaxis. Por ejemplo, el siguiente código nos generaría el diagrama que pongo a continuación:



CLIENTE->SERVIDOR: compruebaConexion()
activate CLIENTE
note right of CLIENTE: Si hay conexión devuelve la hora del sistema
SERVIDOR-->CLIENTE: 10:05:00 (OK)
CLIENTE->SERVIDOR: calculaDesfase()
note right of CLIENTE
Se mira la hora del cliente y se calcula
Desfase = hSERVIDOR - hCLIENTE
end note


martes, 19 de enero de 2010

Simulación de Monte Carlo

La simulación de Monte Carlo es un método estadístico numérico utilizado para estimar variables aleatorias con una densidad de probabilidad conocida mediante el uso de un ordenador.

Supongamos la simulación del lanzamiento de una moneda. Sabemos que la probabilidad de que salga cara es 1/2. Utilizando la función RANDOM de un ordenador podemos simular dicho lanzamiento, asignando el segmento [0, 0.5] al suceso CARA y (0.5, 1] al suceso CRUZ.


Algo similar podríamos podríamos hacer para simular el lanzamiento de un dado.



Este método tiene muchas aplicaciones como por ejemplo en el cálculo de áreas. Básicamente se generan muchos puntos aleatorios y se cuantifica cuantos “caen” dentro del área y cuantos no.
Otra aplicación es la estimación de valores (como los dos ejemplos que hemos visto). Generalmente esta aplicación se suele utilizar en el campo de la economía.