Ha sido leido mi mensaje en WhatsApp?

WhatsApp Muchas veces nos preguntamos si nuestro mensaje fue leído. Pues hay una forma de como saber en cierta manera, si el mensaje ha sido leido por el receptor del mensaje.

Cuando enviamos un mensaje en WhatsApp, primero llega a los servidores de WhatsApp, marcando con un checkmark o cotejo el lado derecho de abajo del mensaje.  Luego cuando este mensaje es entregado al equipo activo del receptor, se le hace una notificación al equipo que tiene instalado el WhatsApp, para luego enviar una notificación de que ha sido recibido (Como un correo recibido, pero aun no leido), esta notificación se identifica con un doble checkmark o doble cotejo de color gris.

Cuando el mensaje ha sido abierto, aunque pueda que no lo lean, la aplicación WhatsApp entenderá que ha sido leido el mensaje, y en el mensaje enviado del emisor o fuente del mensaje, los dobles checkmark o cotejos dobles, tomarán el color azul claro o azul cielo (solo los cotejos). Por lo que se pude deducir, que si tiene un doble cotejo azul, el mensaje ha sido leido ya.

 

 

Se vende Bote

Se vende una pareja de este bote para limpieza de rios y playas, no tanto de derrames de petroleos, si no tambien, para recoleccion de basura o desperdicios en rios y playas. Puede limpiar bastastante.

El precio es de US$630 mil, impuestos no incluidos, uno de 19 pies a gasolina, y el otro de 39 pies a gasoil. Fabricados en Francia, en el 2010.

Información : 809-716-2168, Ing. Armando.

 

Gracias.

Futura Artista interpreta a Rocio Durcal en Ya te olvide!

En muchas ocasiones nuestros niños imitan a sus padres u otros adultos, en lo bueno o en lo malo, en cosas graciosas o muy serias, y en muchas ocasiones, cosas serias se tornan graciosas en sus palabras y su inocencia.

Espero disfruten este video de una niña que imita a una gran artista latina: Rocio Durcal, interpretando “Ya te Olvidé!”. Que opinan!

 

Letras del Reggaeton sin Instrumentos!

Como suena el Reggaeton sin instrumentos o música :

Pues la verdad es que no dice mucho, ni tienen ningún valor para la cultura de esta sociedad, o las futuras. Al final, el gusto por este estilo de música y las riquezas y obstentaciones de sus exponentes, solo son un indicador muy potente, de cuanto analfabestismo y/o falta de educación existe en un país.

A este indicador, se pueden sumar también, otros géneros de la música, como son el rap, mambo, y la música urbana. Todos estos géneros, estan sobre nutridos de exponentes con bajos escrúpulos y educación, y que dirán lo que se les ocurra para conseguir dinero y fama.

Pero a groso modo, que promueben sus canciones? Morbo, Drogas y Violencia. Y en menor cantidad, una muy mínima, hacen denuncias sobre situaciones anomalas en la sociedad.

 

Mensajes de Cadena: ahora en WhatsApp!

WhatsAppRecuerdan aquellos mensajes que se pasaban vía correo electrónico, en los que se hacía eco de que si no lo pasabas a tal cantidad de tus contactos, tu hosting de correos, o la compañia de correos cerraría sus puertas (esto aplicaba mayormente para hotmail.com, msn, messenger, y en menor medida para gmail y yahoo.com) pues resultaba que dichos correos se utilizaban para obtener tu dirección de correo electrónico, y la de tus contactos.

Al parecer estan utilizando la misma técnica, pero en el WhatsApp. Aunque aun no he podido deducir, como pueden obtener tu contacto, o el listado de contactos por el que atraviesa el mensaje, antes de llegar de nuevo a quien lo envió.  Pero, por experiencia, esa es la realidad.

Un ejemplo de estos mensajes es el que sigue :

(Una “Pelotita Azul”) Confirmado… Se nos acaba lo gratis. Manana empiezan a cobrar los mensajes por whatsapp a 0.37 centavos. Reenvia este mensaje a mas de 9 personas de tus contactos y te sera gratuito de por vida, fijate y se pondra verde la pelotita de arriba, hazlo  y veras.

La Realidad es que en paises europeos, las tarifas son :

1 Año   : 0.89 Euros
3 Años  : 2.40 Euros  (10% Descuento)
5 Años  : 3.34 Euros  (25% Descuento)

Que puedes pagar con Google Wallet o con un enlace de pago.

Esto así, “porque no vendemos publicidad” según la compañía.

La verdad es, según el contrato de WhatsApp, que es gratuito el primer año, ya al siguiente deberás pagarlo. Por otro lado, al cambiar de número, tienes derecho a otra cuenta gratuita. Lo que no entiendo, por que despues de 3 años no me han cobrado nunca, ni se ha desactivado mi cuenta, pero la verdad es que ya no recuerdo si en realidad lo he pagado por los 3 o 5 años. Para la mayoría de usuarios en mi país, y en muchos de América Latina, es totalmente gratis.

Te preguntarás, para que querrán mi número de WhatsApp?

La respuesta es muy sencilla : Para enviarte Spams o correo basura.  Y por lo que llegará el momento en que recibirás tantos mensajes, que será insorpotable tener instalado whatsapp en tu teléfono inteligente de Android, Apple o Windows Phone.

Recomendación personal: has caso omiso de dichos mensajes y no los reenvíes, aunque sea un mensaje aparentemente inofensivo.

WhatsApp sin internet!

WhatsApp sin internet! Parece ser la nueva apuesta de esta innovadora aplicación.

Como funciona ?  Ingresas a la página : http://whatsvalid.com que te llevara a la página http://whatsvalid.com/feliz/

Invitas a 7 amigos, y te dan un regalo.  Si lo hago en mi pc, no puedo ejecutarlo y me aparece una pantalla de fuegos artificales, con el codigo de abajo.

Si entro desde mi celular, aparece algo totalmente diferente :

Screenshot_2016-01-06-16-58-00En donde debes poner tu número de WhatsApp y seguir las instrucciones.

Luego de introducir tu número de WhatsApp, inicia un proceso de validación y descarga. Y luego debes invitar a 15, si, 15 amigos para poder terminar el proceso.

 

 

 

 

 

Es en esta ventana en donde te piden eso, es decir, solo en el celular y se ve asi :

Screenshot_2016-01-06-17-23-36

 

 

 

 

 

 

 

 

 

 

 

 

Como usarlo, ya es casi transparente al usuario. Pense. Pero no,

resulta que al final solo es un fake elaborado para obtener 15 de tus contactos, que deben estar callendo en alguna pagina.

Cuando vas por el telefono 14, que por cierto puede ser el mismo numero repetido 14 veces, entonces empieza a lanzarte mensajes de anuncios como los siguientes :

Screenshot_2016-01-06-17-38-18Screenshot_2016-01-06-17-37-21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Screenshot_2016-01-06-17-37-07

 

 

 

 

 

 

 

 

 

Screenshot_2016-01-06-17-34-17

 

 

 

 

 

 

 

 

 

 

Screenshot_2016-01-06-17-34-05

 

 

 

 

 

 

 

 

 

 

Pensando las cosas, creo que han logrado entrar a mi base de datos del celular, mi red interna wifi, y todas las demas, como tambien habran conseguido mi ip, y un monton de cosas privadas.

Recomendación, cambien todas sus claves desde este momento, si pueden formatear su celular, háganlo, y borren todas sus memorias.  Esto es un fraude en alta voz!!!

Scam, Phishing! o Engaño!

Mirando dentro del código interno, he encontrado este Script en Java, que corresponde al codigo de los fuegos artificiales :

$(function(){

var Fireworks = function(){
var self = this;
var rand = function(rMi, rMa){return ~~((Math.random()*(rMa-rMi+1))+rMi);}
var hitTest = function(x1, y1, w1, h1, x2, y2, w2, h2){return !(x1 + w1 < x2 || x2 + w2 < x1 || y1 + h1 < y2 || y2 + h2 < y1);};
window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();

self.init = function(){
self.canvas = document.createElement(‘canvas’);
self.canvas.width = self.cw = $(window).innerWidth();
self.canvas.height = self.ch = $(window).innerHeight();
self.particles = [];
self.partCount = 150;
self.fireworks = [];
self.mx = self.cw/2;
self.my = self.ch/2;
self.currentHue = 30;
self.partSpeed = 5;
self.partSpeedVariance = 10;
self.partWind = 50;
self.partFriction = 5;
self.partGravity = 1;
self.hueMin = 0;
self.hueMax = 360;
self.fworkSpeed = 4;
self.fworkAccel = 10;
self.hueVariance = 30;
self.flickerDensity = 25;
self.showShockwave = true;
self.showTarget = false;
self.clearAlpha = 25;

$(document.body).append(self.canvas);
self.ctx = self.canvas.getContext(‘2d’);
self.ctx.lineCap = ‘round’;
self.ctx.lineJoin = ‘round’;
self.lineWidth = 1;
self.bindEvents();
self.canvasLoop();

self.canvas.onselectstart = function() {
return false;
};
};

self.createParticles = function(x,y, hue){
var countdown = self.partCount;
while(countdown–){
var newParticle = {
x: x,
y: y,
coordLast: [
{x: x, y: y},
{x: x, y: y},
{x: x, y: y}
],
angle: rand(0, 360),
speed: rand(((self.partSpeed – self.partSpeedVariance) <= 0) ? 1 : self.partSpeed – self.partSpeedVariance, (self.partSpeed + self.partSpeedVariance)),
friction: 1 – self.partFriction/100,
gravity: self.partGravity/2,
hue: rand(hue-self.hueVariance, hue+self.hueVariance),
brightness: rand(50, 80),
alpha: rand(40,100)/100,
decay: rand(10, 50)/1000,
wind: (rand(0, self.partWind) – (self.partWind/2))/25,
lineWidth: self.lineWidth
};
self.particles.push(newParticle);
}
};

self.updateParticles = function(){
var i = self.particles.length;
while(i–){
var p = self.particles[i];
var radians = p.angle * Math.PI / 180;
var vx = Math.cos(radians) * p.speed;
var vy = Math.sin(radians) * p.speed;
p.speed *= p.friction;

p.coordLast[2].x = p.coordLast[1].x;
p.coordLast[2].y = p.coordLast[1].y;
p.coordLast[1].x = p.coordLast[0].x;
p.coordLast[1].y = p.coordLast[0].y;
p.coordLast[0].x = p.x;
p.coordLast[0].y = p.y;

p.x += vx;
p.y += vy;
p.y += p.gravity;

p.angle += p.wind;
p.alpha -= p.decay;

if(!hitTest(0,0,self.cw,self.ch,p.x-p.radius, p.y-p.radius, p.radius*2, p.radius*2) || p.alpha < .05){
self.particles.splice(i, 1);
}
};
};

self.drawParticles = function(){
var i = self.particles.length;
while(i–){
var p = self.particles[i];

var coordRand = (rand(1,3)-1);
self.ctx.beginPath();
self.ctx.moveTo(Math.round(p.coordLast[coordRand].x), Math.round(p.coordLast[coordRand].y));
self.ctx.lineTo(Math.round(p.x), Math.round(p.y));
self.ctx.closePath();
self.ctx.strokeStyle = ‘hsla(‘+p.hue+’, 100%, ‘+p.brightness+’%, ‘+p.alpha+’)’;
self.ctx.stroke();

if(self.flickerDensity > 0){
var inverseDensity = 50 – self.flickerDensity;
if(rand(0, inverseDensity) === inverseDensity){
self.ctx.beginPath();
self.ctx.arc(Math.round(p.x), Math.round(p.y), rand(p.lineWidth,p.lineWidth+3)/2, 0, Math.PI*2, false)
self.ctx.closePath();
var randAlpha = rand(50,100)/100;
self.ctx.fillStyle = ‘hsla(‘+p.hue+’, 100%, ‘+p.brightness+’%, ‘+randAlpha+’)’;
self.ctx.fill();
}
}
};
};

self.createFireworks = function(startX, startY, targetX, targetY){
var newFirework = {
x: startX,
y: startY,
startX: startX,
startY: startY,
hitX: false,
hitY: false,
coordLast: [
{x: startX, y: startY},
{x: startX, y: startY},
{x: startX, y: startY}
],
targetX: targetX,
targetY: targetY,
speed: self.fworkSpeed,
angle: Math.atan2(targetY – startY, targetX – startX),
shockwaveAngle: Math.atan2(targetY – startY, targetX – startX)+(90*(Math.PI/180)),
acceleration: self.fworkAccel/100,
hue: self.currentHue,
brightness: rand(50, 80),
alpha: rand(50,100)/100,
lineWidth: self.lineWidth
};
self.fireworks.push(newFirework);

};

self.updateFireworks = function(){
var i = self.fireworks.length;

while(i–){
var f = self.fireworks[i];
self.ctx.lineWidth = f.lineWidth;

vx = Math.cos(f.angle) * f.speed,
vy = Math.sin(f.angle) * f.speed;
f.speed *= 1 + f.acceleration;
f.coordLast[2].x = f.coordLast[1].x;
f.coordLast[2].y = f.coordLast[1].y;
f.coordLast[1].x = f.coordLast[0].x;
f.coordLast[1].y = f.coordLast[0].y;
f.coordLast[0].x = f.x;
f.coordLast[0].y = f.y;

if(f.startX >= f.targetX){
if(f.x + vx <= f.targetX){
f.x = f.targetX;
f.hitX = true;
} else {
f.x += vx;
}
} else {
if(f.x + vx >= f.targetX){
f.x = f.targetX;
f.hitX = true;
} else {
f.x += vx;
}
}

if(f.startY >= f.targetY){
if(f.y + vy <= f.targetY){
f.y = f.targetY;
f.hitY = true;
} else {
f.y += vy;
}
} else {
if(f.y + vy >= f.targetY){
f.y = f.targetY;
f.hitY = true;
} else {
f.y += vy;
}
}

if(f.hitX && f.hitY){
self.createParticles(f.targetX, f.targetY, f.hue);
self.fireworks.splice(i, 1);

}
};
};

self.drawFireworks = function(){
var i = self.fireworks.length;
self.ctx.globalCompositeOperation = ‘lighter’;
while(i–){
var f = self.fireworks[i];
self.ctx.lineWidth = f.lineWidth;

var coordRand = (rand(1,3)-1);
self.ctx.beginPath();
self.ctx.moveTo(Math.round(f.coordLast[coordRand].x), Math.round(f.coordLast[coordRand].y));
self.ctx.lineTo(Math.round(f.x), Math.round(f.y));
self.ctx.closePath();
self.ctx.strokeStyle = ‘hsla(‘+f.hue+’, 100%, ‘+f.brightness+’%, ‘+f.alpha+’)’;
self.ctx.stroke();

if(self.showTarget){
self.ctx.save();
self.ctx.beginPath();
self.ctx.arc(Math.round(f.targetX), Math.round(f.targetY), rand(1,8), 0, Math.PI*2, false)
self.ctx.closePath();
self.ctx.lineWidth = 1;
self.ctx.stroke();
self.ctx.restore();
}

if(self.showShockwave){
self.ctx.save();
self.ctx.translate(Math.round(f.x), Math.round(f.y));
self.ctx.rotate(f.shockwaveAngle);
self.ctx.beginPath();
self.ctx.arc(0, 0, 1*(f.speed/5), 0, Math.PI, true);
self.ctx.strokeStyle = ‘hsla(‘+f.hue+’, 100%, ‘+f.brightness+’%, ‘+rand(25, 60)/100+’)’;
self.ctx.lineWidth = f.lineWidth;
self.ctx.stroke();
self.ctx.restore();
}
};
};

self.bindEvents = function(){
$(window).on(‘resize’, function(){
clearTimeout(self.timeout);
self.timeout = setTimeout(function() {
self.canvas.width = self.cw = $(window).innerWidth();
self.canvas.height = self.ch = $(window).innerHeight();
self.ctx.lineCap = ‘round’;
self.ctx.lineJoin = ‘round’;
}, 100);
});

$(self.canvas).on(‘mousedown’, function(e){
self.mx = e.pageX – self.canvas.offsetLeft;
self.my = e.pageY – self.canvas.offsetTop;
self.currentHue = rand(self.hueMin, self.hueMax);
self.createFireworks(self.cw/2, self.ch, self.mx, self.my);

$(self.canvas).on(‘mousemove.fireworks’, function(e){
self.mx = e.pageX – self.canvas.offsetLeft;
self.my = e.pageY – self.canvas.offsetTop;
self.currentHue = rand(self.hueMin, self.hueMax);
self.createFireworks(self.cw/2, self.ch, self.mx, self.my);
});
});

$(self.canvas).on(‘mouseup’, function(e){
$(self.canvas).off(‘mousemove.fireworks’);
});

}

self.clear = function(){
self.particles = [];
self.fireworks = [];
self.ctx.clearRect(0, 0, self.cw, self.ch);
};

self.canvasLoop = function(){
requestAnimFrame(self.canvasLoop, self.canvas);
self.ctx.globalCompositeOperation = ‘destination-out’;
self.ctx.fillStyle = ‘rgba(0,0,0,’+self.clearAlpha/100+’)’;
self.ctx.fillRect(0,0,self.cw,self.ch);
self.updateFireworks();
self.updateParticles();
self.drawFireworks();
self.drawParticles();

};

self.init();

}

var fworks = new Fireworks();

$(‘#info-toggle’).on(‘click’, function(e){
$(‘#info-inner’).stop(false, true).slideToggle(100);
e.preventDefault();
});

});