Archivo de la categoría Internet

Usar o no usar mysql_num_rows



PHP incluye la función para MySQL mysql_num_rows, que en base a un recurso procedente de una consulta MySQL, retorna un numérico que representa el total de registros que se han devuelto.

El sentido común indica que utilizar la consulta SQL usando COUNT(*) será probablemente algo más eficiente, basicamente por aquello de que todo lo relacionado con el manejo de los datos, lo gestiona mejor el propio SGBD.

Lo que yo no sabía, era que la diferencia fuera tan grande… Así, para una tabla con aproximadamente 50.000 artículos, el código con mysql_num_rows siguiente, ha requerido 0,175506 segundos, o un poco más de 5 consultas por segundo:

//Contar usando num_rows
$fInicio=microtime(true);
$sSQL="SELECT * FROM articulo ";
$rstListado=mysql_query($sSQL);
$iRows=mysql_num_rows($rstListado);
mysql_free_result($rstListado);
$fFinal=microtime(true);
echo "Contar num_rows: " .


Continuar leyendo...

Windows 2008 x86 y x64 gratis



La iniciativa DreamSpark de Microsoft, permite que estudiantes obtengan productos de la compañía de forma totalmente gratuita. Se imponen las restricciones lógicas que prohiben el uso de el software así obtenido con fines comerciales, o su reventa, aunque por lo demás, son ediciones completas y plenamente funcionales.

Dentro del programa, se ofrecen aplicativos de todo tipo, algunos ya gratuitos por otros medios como las ediciones Express de Visual C# 2008, Visual C++ 2008, SQL Server 2008, o Virtual PC 2007. Otros son versiones anteriores a las actuales, como Visual Studio 2005 Professional, o Windows Server 2003 Standard.…

Continuar leyendo...

Lote óptimo



Gracias al proyecto de digitalización de la Revista ZX, y a raiz de un encuento casual con el listado de programas publicados, me encuentro con que dentro del número 15 de febrero de 1986, en la página 54, aparece lo siguiente:

(adsbygoogle = window.adsbygoogle || []).push({});

Lo curioso del caso, es que aunque recuerdo perfectamente haber mandado con cierta periodicidad programas a revistas, aproximadamente de los 10 a los 18 años, empezando con ZX, o Microhobby, y acabando con PC-Actual, mi memoria sólo es consciente de un par de contribuciones que finalmente fueran publicadas. En este caso, en PC-Actual.…

Continuar leyendo...

The Ur-Quan Masters



Supongo que todos recordaréis la adictiva saga Star Control de Accolade, que a principios de los 90 se ofreció para la mayoría de sistemas tanto de 8, como de 16 bits, y que continuaría unos años más con Star Control 2 y Star Control 3.

Me gustaba de él, que en su primera versión, era capaz de funcionar en hardware muy limitado, obteniendo el máximo de sus posibilidades en un 286 con 640 Kb. de memoria ejecutando la versión VGA para DOS, y que cabía perfectamente en un disquete, lo que permitía pasar un rato de entretenimiento, en casi cualquier ordenador. Las siguientes versiones, explotaban ya los 32 bits, aunque en el caso de los PC, todavía bajo el socorrido DOS.…

Continuar leyendo...

Tira del día de Garfield en castellano



Hace algo más de tres años, que publiqué en Tira del día de Garfield, un sencillo script para tener acceso diario la última tira de Garfield publicada.

Hoy os lo traigo actualizado y mejorado, obteniendo el contenido de la página en castellano.

El código está basado en la anterior versión, con un par de añadidos, y no es precisamente un buen ejemplo para nada:

<script language="Javascript" type="text/javascript">
var sUrl='';
var dteToday=new Date();

if (dteToday.getFullYear()<100)
{
sUrl+='http://www.garfield-es.com/tiras/tiras/' + (dteToday.getFullYear() + 2000) + '/';
}
else
{
sUrl+='http://www.garfield-es.com/tiras/tiras/' + dteToday.getFullYear() + '/';
}
if ((dteToday.getMonth() + 1)<10)
{
sUrl+='0' + (dteToday.getMonth() + 1 + '/');
}
else
{
sUrl+=(dteToday.getMonth() + 1) + '/';
}
if (dteToday.getYear()<2000)
{
if (dteToday.getYear()<10)
{
sUrl+='ga0' + dteToday.getYear();
}
else
{
sUrl+='ga' + dteToday.getYear();
}
}
else
{
if (dteToday.getYear()<2010)
{
sUrl+='ga0' + (dteToday.getYear() – 2000);
}
else
{
sUrl+='ga' + (dteToday.getYear() – 2000);
}
}
if ((dteToday.getMonth() + 1)<10)
{
sUrl+='0' + (dteToday.getMonth() + 1);
}
else
{
sUrl+=(dteToday.getMonth() + 1);
}
if (dteToday.getDate()<10)
{
sUrl+='0' + dteToday.getDate();
}
else
{
sUrl+=dteToday.getDate();
}
sUrl+='.gif';
document.write('<img src="' + sUrl + '" title="La tira de Garfield de hoy" border=0>');
</script>

var sUrl=''; var dteToday=new Date();

if (dteToday.getFullYear()…

Continuar leyendo...

Actualizaciones de programillas



Llevaba algunos días sin publicar, y eso se debe a que el poco tiempo libre que tenía, lo he invertido en actualizar algunos de mis programillas.

Primero tenemos el Javascript Benchmark, del cual ya pudísteis leer aquí, y que consiste en una herramienta online para evaluar el rendimiento en la ejecución de código Javascript de nuestros navegadores, acumulando todos los resultados, para finalmente mostrarlos agregadamente por navegador y plataforma.

En segundo lugar está el RealSpeed que también os anuncié aquí, y que recibió posteriormente una revisión menor.

Luego tenemos a Lamark, donde básicamente cogí el antiguo código de 2006 del programa, y lo recompilé con C++ Builder 2009, se cambió la compresión para evitar falsos positivos de antivirus y se generó una ayuda en formato CHM, que es desde hace algún tiempo el nuevo standard, y en principio el único sistema disponible en Vista.…

Continuar leyendo...

Benchmark Javascript



Está disponible mi nuevo Benchmark Javascript, que evalúa el rendimiento del intérprete de Javascript en los navegadores web.

Aunque no aporta casi nada inédito o revelador, es especialmente interesante la posibilidad de consultar en tiempo real los valores agregados obtenidos por otros usuarios.

Si os apetece probarlo, lo tenéis aquí. Como es habitual, se aceptan sugerencias y comentarios.…

Continuar leyendo...

Compilación de HeidiSQL



Poco después de las historias con MySQL-Front/SQL-Front, me pasé a HeidiSQL.

Actualmente sigo con bastante asiduidad sus compilaciones diarias, y de acuerdo a los logs, lo más impresionante es la velocidad con la que se compila el programa completo.

Desde los tiempos de Turbo Pascal, siempre ha sido admirable a la endiablada velocidad que trabajaban estos compiladores, pero en este caso, hablamos de 650.000 líneas de código ObjectPascal, que usando Delphi 2007 generan un binario de 3,2 Mb en ¡menos de 10 segundos!, es decir, una media de más de 80.000 lineas por segundo, o la friolera de 5 millones por minuto.…

Continuar leyendo...

Tetris en SVG



Ahora que la mayoría de navegadores recientes como Opera 9, Firefox 3, Safari 3.1 o Chrome 0.2 soportan nativamente SVG (Scalable Vector Graphics) en mayor o menor medida es posible disfrutar en nuestro navegador de esta resultona versión de Tetris en apenas 13 Kb.

Podéis comprobarlo vosotros mismos aquí.…

Continuar leyendo...

Microsoft sugiere: Haz cosas



Durante el proceso de instalación de Microsoft Live Writer, en una máquina no demasiado potente, me he encontrado con una sugerencia por parte de Microsoft, cuanto menos sorprendente. El texto dice así:

La instalación puede tardar varios minutos, pero puedes hacer otras cosas mientras esperas.

¿A qué se refieren exactamente? ¿A que puedo seguir trabajando con el ordenador? ¿O quizás quieren decir que es un buen momento para aprovechar a tomarme un café, fregar los platos, o leer un libro durante un rato?



Continuar leyendo...