Archive

Author Archive

La fail whale right now en twitter

June 9th, 2010 kEpEx View Comments
La fail whale right now en twitter. A veces creo que no utilizo twitter tanto, pero el hecho de que no escribo no significa que no leo, y cada que la ballena aparece nos damos cuenta de cuanto dependemos del twitter algunos para estar actualizados, ya que si lo ven con este fin, siguiendo unas pocas personas seleccionadas cuidadosamente tienes una muy buena fuente y muy actualizada de noticias relevantes… debido a lo viral de los retwitts.
Tags:

La calidad de la comunidad de Twitter y la simplicidad de su API permitieron su éxito

June 2nd, 2010 kEpEx View Comments
Twitter esta limitada como red social, pero la calidad de su comunidad y la simplicidad de su API permitieron su éxito reflejado en sus 10 millones de usuarios y creciendo MIL % anualmente
Tags:

Error sin precedencia en google Docs

April 27th, 2010 kEpEx View Comments
Hoy al intentar trabajar con una spreedsheet en los google docs previamente guardada y compartida tan solo un dia o dos atras me tope con este extraño error:

El texto del error es el siguiente: “We’re sorry. The server encountered an error. Please press “OK” to refresh the sheet.”.

El creer que presionar OK y darle refresh a la página fue un error, ya que el error persigue e incluso tampoco fue de ayuda intentar revertir los ultimos cambios del documento desde el historial de revisiones…

Busque en “google” por el texto del error literal, dado que lo tengo en ingles y es lo más comun hallar documentación en ese idioma, aún asi no parece estar documentado el error.

No tengo idea como reproducirlo, pues practicamente solo hice lo “normal”. Crear archivo, modificarlo, compartirlo, nada más…

Los mantengo al tanto de que pasa por si alguien mas tiene este problema.

Edit: Este error fue corredigo 2 días despues, sin mucho eco por la red, esperemos google tenga mas cuidado en sus updates o movimientos ya que para otra organización que dependa más de los google docs podría ser un problema.

Un poco de programación Geek

February 9th, 2010 kEpEx View Comments
Todo empezó un día que estaba menos ocupado que hoy… de la nada me clavé pensando en el juego del Gato, también llamado tres en raya o en inglés Tic Tac Toe…. y se me ocurrió hacer un programa que me diera las posibles jugadas para cualquier situación y así tal vez saber los mejores comienzos que me dieran mas posibilidades de ganar…

Hace días que quería postear algo a este blog olvidado por Dios, pero no fue hasta ayer mientras volvía a copiar a mi disco duro mi información respaldada (causa) fue cuando vi el script del gato y entonces decidí publicarlo aquí antes de que terminara oxidado dentro de un disco duro viejo…

El código del script nombrado:

#!/usr/bin/php
<?php
	mysql_connect("localhost","root","");
	mysql_select_db("tictactoe");
	set_time_limit(60000);
	// 1 - O wins
	// 2 - X wins
	// 3 - Tie
	$start = time();
	function search_winner($game) {
		$winner = array(array(1,4,7),array(2,5,8),array(3,6,9),array(1,2,3),array(4,5,6),array(7,8,9),array(1,5,9),array(3,5,7));
		foreach($winner as $comb) {
			if(strpos($game,"o".$comb[0]) !== false && strpos($game,"o".$comb[1]) !== false && strpos($game,"o".$comb[2]) !== false) { return "1"; }
			if(strpos($game,"x".$comb[0]) !== false && strpos($game,"x".$comb[1]) !== false && strpos($game,"x".$comb[2]) !== false) { return "2"; }
		}
		return false;
	}
	function play($player,$game,$free) {
		$free2 = $free;
		$num = count($free);
		if(count($free)<1) { echo "$game\n"; mysql_query("insert into gato values(NULL,'$game',3)"); }
		$winner = search_winner($game);
		if($winner) { echo "$game Winner: $winner.\n"; $num = 0; mysql_query("insert into gato values(NULL,'$game',$winner)"); }
		for($i=0;$i<$num;$i++) {
			$temp = array_pop($free2);
			$libres = array();
			foreach($free as $libre) {
				if($libre != $temp) $libres[] = $libre; 
			}
			if($player == "o") $playern = "x";
			else $playern = "o";
			play($playern,$game.$player.$temp,$libres);
		}
	}
	play("o","",array(1,2,3,4,5,6,7,8,9));
	$end = time();
	$duration = $end - $start;
	echo "\n\nTardo: $duration segundos.\n\n";
?>

El programa necesita una tabla MySQL:

CREATE TABLE IF NOT EXISTS `gato` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `game` varchar(100) NOT NULL,
  `winner` int(11) NOT NULL,
  PRIMARY KEY (`id`)
)

Al correrlo y ver resultados, se ven interesantes puntos:

mysql> select winner,count(*) from gato group by winner;
+--------+----------+
| winner | count(*) |
+--------+----------+
|      1 |   131184 |
|      2 |    77904 |
|      3 |   127872 |
+--------+----------+
3 rows in set (0.20 sec)

Hay que denotar que en realidad los numeros deberian ser en realidad una cuarta parte de lo que son, ya que en el programa, si se toma en cuenta la posicion vertical hacia arriba, sin embargo volteando el gato serían los mismos movimientos 3 veces diferentes…

La observación obvia al ver los resultados es que el circulo O tiene gran ventaja, ya que tiene 1.68 veces de posibles victorias con respecto a la equis X debido a que la primera empieza con el primer movimiento.

Para la próxima dejemos el algoritmo que elimina las jugadas repetidas debido a la rotacion del cuadrado… y ya con eso podremos analizar mas facilmente cuales son las jugadas clave a la hora de jugar al gato…. por ahora creo que la moraleja es, escoje el circulo para tener mas posibilidades jejeej :) .

Si alguien se anima a darle seguimiento comente los resultados.

Mi laptop dell M1530 se tarda 175 segundos en procesar el script, cuanto tarda la tuya? Comenta!.

Servicio de Traducción Online

January 28th, 2010 kEpEx View Comments
Esta vez me toca dar review a un servicio de Traducción que presume dar solución a esta necesidad de ser multilenguaje que cada vez es más común debido a la globalización obtenida fácilmente para cualquier empresa que tenga presencia en internet.
El esquema de este servicio de traducción se basa en un sistema parecido a una subasta, en el que aquel que desea o necesita traducir algo, hace su propuesta publicando el texto y la cantidad que está dispuesto a pagar por la traducción. En el sitio se registran gran cantidad de traductores de diferentes lenguajes los cuales constantemente son notificados de las propuestas.
Una vez que el primer traductor acepte la propuesta, es asignada la relación y se procede a realizar el proceso de traducción y el pago al entregar el texto ya traducido.
Como nota curiosa sobre el servicio, cuando me encontraba revisando su página, me encontré con un error en el texto de la página de inicio, supongo que una mala traducción o tal vez un typo, pero al fin y al cabo un error…

En resumen en mi opinión creo que el servicio de subastas siempre da un buen equilibrio entre un precio justo tanto para el comprador como para el vendedor, y creo que da resultados eficientes en productos asi como en servicios. Sumandole la plataforma web creo que es un servicio exitoso, y lo que si hay que hacer es establecer una marca predominante, que aunque la competencia es saludable, siempre es bueno que haya una solución fuerte y robusta por lo que recomendaría utilizar este servicio para lograr que este servicio madure.
El único pero que le pondría hasta ahora, es que se fijaran mas en el texto de su página inicial al menos.

Sitio: http://www.translia.com/es

Tags:

Switch to our mobile site