
Pues que veo en Meristation que la banda sonora instrumental de este juego, al que tengo unas ganas brutales de hincarle el diente (a ver si tengo tiempo libre en breve), está disponible para descargar de manera gratuita en el sitio web de Bioshock. Vamos a escucharla a ver que tal.
El culto a Rapture empieza, y esto no lo para ni la SGAE (sin enlace, no sea que me penalice Google por links indeseados).
Pues sí, Google saca Google Sky, un add-on para el Google Earth mediante el cual podremos ver las estrellitas.
Con Sky podremos ver en imágenes más de un millón de estrellas y doscientos millones de galaxias, o eso dice la fuente de la noticia. Estos datos provienen del telescopio espacial Hubble, así como de animaciones de ciclos lunares.
El rollo está en usar el Google Earth normalmente y para mirar para el cielo, pues eso, mirar para el cielo y venga a mirar estrellas. Más datos para perder un rato.
Vía BBC News.
Este documento contiene una propuesta para extender la API de Servlet como se define en la JSR 154 con asincronía para cumplir los objetivos de la JSR 315.
En este momento, esta propuesta es sólo una contribución de su autor (Greg Wilkins) y no una propuesta oficial de la JSR.
JSR 315 nombra “Async and Comet Support” como una característica objetivo as a targeted feature, desacrita como:
La habilidad de recibir datos de un cliente sin bloquear si los datos tardan en llegar.
La habilidad de enviar datos a un cliente sin bloquear si el cliente o la red es lenta.
El “estilo cometa” de una aplicación web AJAX puede requerir que la gestión de una petición sea retrasada hasta que ocurra un timeout o un evento.
Retrasar la gestión de una petición también es útil si hay que obtener un recurso remoto/lento antes de servir la petición o si el acceso a un recurso
específico necesita ser suprimido para prevenir demasiados accesos simultáneos.
El “estilo comet” de una aplicación web AJAX puede requerir que una respuesta se mantenga abierta para permitir que datos adicionales sean enviados cuando ocurran eventos asíncronos.
La habilidad de notificar eventos bloqueantes o no bloqueantes. El concepto de canales - la habliddad de suscribirse a un canal y obtener eventos asíncronos de ese canal. Esto implica poder crear, suscribirse, desuscribirse y también aplicar algunas restricciones de seguridad sobre quién puede añadirse o quién no puede añadirse a un canal.
Read the rest of this entry »
Pues sí, esto es un estudiante de la Universidad de Houston que un día se le estropeó el aire acondicionado de su coche. Cuando el tío se enteró que arreglar la bromita le costaría unos 1200$ dijo, “¡¡quieto!! Esto lo arreglo yo”. Pues el tío coge un aire acondicionado doméstico y se lo mete en el carro. A continuación una foto del tío con su obra (sí, tienes los santos cojones de dar la cara).

Podéis ver el resto de la noticia en Engadget.
Pues nada, traduciendo chuminadas. Aquí lo que tenemos es un articulito de CoreJavaTechTips en el que, para aquellos que estamos liados con el java, se recomienda el uso de la clase BigDecimal para representar cantidades de dinerito, en lugar de usar un tipo primitivo como double. Esta tonteria puede ser útil para aquellos que empiezan en el mundillo, aunque para los que ya llevamos un tiempo está un poco pasado. De todas formas sirve para rellenar.
El artículo está hecho por un tal John Zukowski y dice algo así…
Si curras con número en coma flotante puedes usar tipos primitivos como el double, pero si tienes que aplicarle operaciones como si a un importe le añadieras el IVA, por ejemplo, ten cuidadito. Éste tipo de operaciones puede que no te den el resultado correcto, pues sólo te puede dar el valor que se pueda almacenar en un número binario y tal. A continuación nos dan un ejemplo.
Tenemos un programa “Calc” con el que empezamos con un montante de 100.05$, y nos dan un 10% de descuento antes de aplicarnos un 5% de impuestos los jodíos. Para ver el resultado, el pogramita usa la clase NumberFormat para formatear el resultado para mostrar el dinerito.
import java.text.NumberFormat;
public class Calc {
public static void main(String args[]) {
double amount = 100.05;
double discount = amount * 0.10;
double total = amount - discount;
double tax = total * 0.05;
double taxedTotal = tax + total;
NumberFormat money = NumberFormat.getCurrencyInstance();
System.out.println("Subtotal : "+ money.format(amount));
System.out.println("Discount : " + money.format(discount));
System.out.println("Total : " + money.format(total));
System.out.println("Tax : " + money.format(tax));
System.out.println("Tax+Total: " + money.format(taxedTotal));
}
}
Como usamos el tipo double para todos los cálculos internos, tenemos los siguientes resultados:
Subtotal : $100.05 Discount : $10.00 Total : $90.04 Tax : $4.50 Tax+Total: $94.55