Mi lista de blogs

martes, 12 de agosto de 2014

¿Como es que los programadores gastan tanto tiempo en codificar?

¿Como es que los programadores gastan un montón de tiempo en codificar o programar?


No se puede establecer conexión con el sitio www.google.com.mx auténtico.

Si se presenta este error, verificar la fecha y la hora de la máquina.

Encontré este texto en la red, y me pareció una opinión bastante respetable.

El texto en español traducido, y la versión original en inglés.

El Vínculo: http://www.quora.com/Computer-Programming/How-do-programmers-have-a-lot-of-time-to-spend-on-coding

¿Como es que los programadores gastan un montón de tiempo en codificar o programar?

Porque esta es la cosa mas interesante y divertida que una persona puede hacer en toda la historia de las cosas interesantes y divertidas que los humanos podemos hacer.

Muchos gastan su vida sembrando plantas y recogiendo cosechas, pero es un proceso tan lento que uno puede morirse de aburrimiento.

Otra cosa que podemos hacer sería construir cosas a partir de madera, vidrio o metales, inclusive naves espaciales. Pero esto toma largo tiempo. Es lento y finalmente limitado a la velocidad del artesano o de la cantidad de dinero que uno pueda gastar en contratarlo. Los robots podrían acelerar el proceso, pero ahora nosotros estamos hablando de programación.

Algunos prefieren la política, o los negocios, lo cual puede parecer interesante si tu  pasión está en la interacción humana.  En cualquier caso, es lento, o al menos limitado por la velocidad de las comunicaciones y del comercio. La velocidad de la comunicación es facilitada por la tecnología – de nuevo la programación.

Leer libros es divertido. Observar videos es divertido. Hacerlos es menos pasivo, y mas apasionante, pero a fin de cuentas producir estas cosas es un proceso lento y limitado justamente tal como construir puentes de madera o carros de metal.

Hacer música es otra opción de cosas divertidas e interesantes por hacer pero a fin de cuentas está limitado a la habilidad de las personas para ejecutarla físicamente. Avanzar sobre las limitaciones de las ejecuciones musicales nos regresa a la programación.

Yo diría que únicamente la codificación ofrece una posibilidad de hacer algo, y entonces hacer algo mas sobre ese algo, y entonces continuar construyendo. Quizás únicamente los codificadores entienden como las herramientas escritas pueden aplilarse en algo sorprendente y como la Ley de Moore alimenta esta posibilidad y como otras actividades humanas palidecen ante esta comparación.

Así pues: los únicos otros contendientes son la comida, el dormir, el sexo y los hijos como actividades posibles. Estos son imperativos biológicos; yo algunas veces hubiera deseado ser como el personaje Data de la serie “Star Trek: la nueva generación”.

Un verdadero codificador no encuentra el tiempo para programar. Un verdadero programador calendariza a regañadientes tiempo para todo lo demás.


Computer Programming: How do programmers have a lot of time to spend on coding?

Because it's the most fun and interesting thing for a person to do in the entire history of fun and interesting things that humans can do. 

Many have made a living by planting plants and reaping harvests but it's such a slow process that I would die of boredom.

Another thing to do would be to make stuff out of wood, glass, or metal. Spaceships even. But, it takes a long time. It's slow and is ultimately limited by the speed of a craftsman or the amount of money one can spend to hire them. Robots could speed that up but now we're talking about programming.

Some prefer politics, or business, which seems interesting if what you crave is human interaction. In any case it's slow, or at least limited by the speed of communication and commerce. The speed of communication is facilitated by technology - coding again. 

Reading books is fun. Watching video is fun. Making those is less passive, and more compelling, but in the end it's a slow, limited, process to produce those things just the same as building bridges from wood or cars out of metal.

Making music is a contender for fun and interesting things to do but in the end it's limited by a persons ability to physically perform it. Moving past the human limitations for music performance comes back to programming.

I will say that only coding offers a possibility to make something, and then to make something more out of that something, and to then continue building. Perhaps only coders understand how the tools written can pile up into something amazing and how Moore's law fuels this possibility and how every other human activity pales by comparison. 

Therefore: the only other contenders are food, sleep, sex, and children as possible activities. These are biological imperatives and I have sometimes wished I could be like Data from Star Trek TNG. 

A true coder doesn't 'find' time for programming. A real programmer reluctantly schedules time for everything else.

miércoles, 29 de mayo de 2013

IDSE El archivo no existe o se modificó la ruta


Procedimiento para arreglar el mensaje: "El archivo no existe o se modificó la ruta" al momento de cargar el certificado del IMSS.

El problema es ocasionado por el esquema de seguridad del Internet Explorer 8.

Dentro del explorador seleccionar: "Herramientas" y a continuación "Opciones de Internet". Luego seleccionar la carpeta de "Seguridad" y dar click en el ícono de "Internet", para luego dar click en "Nivel personalizado".

Dentro de la ventana: "Configuración de seguridad zona de Internet", buscar las opción que dice: "Incluir la ruta de acceso al directorio local cuando se carguen archivos a un servidor" y escoger "Habilitar".

Igualmente habilitar la opción: "Permitir la ejecución de scripts en el control del explorador web del Internet Explorer".

viernes, 8 de febrero de 2013


He tenido problemas para correr el Windows Update después de instalar el Windows XP a partir de los discos originales, particularmente con el Service Pack 2.

Aparece el código de error 0x80244019, y no hay mucha información al respecto. Después de intentar de varias maneras, encontré la solución: hay que bajar el WindowsUpdateAgent.exe; disponible en la siguiente página: http://www.ndnew.com/analisis/software/error-0x80244019/

Después de instalar este módulo, el Windows Update corre normalmente.


lunes, 8 de octubre de 2012

Uso de MySQL desde PHP, Versión 5.0 vs. 5.5


He tenido algunos problemas para utilizar MySQL desde PHP en diferentes servidores, ya que en algunos casos se sigue utilizando la versión 5.0 o 5.1 de MySQL, que no permite el manejo de la clase mysqli.

El manual de PHP nos recomienda usar la clase mysqli, pero de no ser posible, a continuación describo las cuatro diferencias que se deben considerar en una aplicación sencilla.

1.- Para abrir la base de datos:
(versión anterior)

$link=mysql_connect('localhost','usuario','password');
if (!$link) 
{ 
 die ('No se puede conectar: '.mysql_error()); 
}

$db_selected = mysql_select_db('base_datos', $link);
if (!$db_selected)
{
 die ('No se puede conectar: '.mysql_error()); 
}

(versión nueva)
@$DB = new mysqli('localhost','usuario','password','base_datos');

if (mysqli_connect_errno())
{
 echo 'No se puede conectar a la base de datos: ' . mysqli_connect_error();
}

2.- Para hacer una consulta:
(versión anterior)

 $Query = 'SELECT * FROM pedidos WHERE folio = '.$folio;
 $Resultado = mysql_query($Query);



(versión nueva)

 $Query = 'SELECT * FROM pedidos WHERE folio = '.$folio;
 $Resultado = $DB->query($Query);
 $NumResults = $Resultado->num_rows;

3.- Para barrer la tabla, estableciendo un ciclo:
(versión anterior)
 while ($Row = mysql_fetch_assoc($Resultado))


(versión nueva)

 while ($Row = $Resultado->fetch_assoc())

4.- Para cerrar la base de datos:
(versión anterior)

 mysql_free_result($Resultado);
 mysql_close($link);


(versión nueva)
 $Resultado->free();
 $DB->close();


viernes, 7 de septiembre de 2012

Oferta de Netbooks

Oferta de Netbooks:

Me han preguntado acerca de minilaptops o netbooks.

Por lo pronto, tenemos tres marcas diferentes al mismo precio; cada una cuenta con:

  • Monitor de 10 pulgadas
  • Microprocesador Intel Atom N2600 de 1.6 Ghz
  • Memoria RAM de 2 Gb
  • Disco duro de 320 Gb
  • Windows 7 Starter Edition
  • Office 2010 Starter Edition
  • Antena para conexión WiFi
  • Cámara para videoconferencias
Marca ACER:

Marca Lenovo:

Marca Samsung:
Todas tienen el mismo precio:
$3,700 mas IVA.
Para mayor información:

miércoles, 21 de marzo de 2012

Incluir imagenes en PHP y MySQL


Para poder incluir una imagen en una tabla de HTML, me encontré con los siguientes problemas:

1.- La base de datos de detalle no tiene la referencia a la ruta donde se encuentra la imagen. Por lo tanto, para poder acceder a los campos de la cotización mas la ruta, utilicé la siguiente instrucción:

$Query = 'SELECT * FROM detalle LEFT JOIN articulos ON detalle.codigo = articulos.codigo WHERE folio='.$folio.' and cantidad<>0 ORDER BY registro';
La cláusula LEFT JOIN nos permite hacer un empate entre ámbas tablas, usando una llave de búsqueda definida en la cláusula ON.

2.- Como existen campos que pueden existir en ámbas tablas con el mismo nombre, se me ocurre ultizar la siguiente modificación:

$Query = 'SELECT detalle.*, articulos.ruta FROM detalle LEFT JOIN articulos ON detalle.codigo = articulos.codigo WHERE folio='.$folio.' and cantidad<>0 ORDER BY registro';

3.- Para desplegar la imagen dentro de la tabla:

  echo '<td align="center" width="110">' . '<IMG SRC="'.$Row['ruta'].'" width="100">' . '</td>';

Esta instrucción va dentro del bucle, donde se despliegan los datos de cada línea de detalle de la cotización.

martes, 20 de marzo de 2012

Multiplica tu PC


Acabamos de instalar este sistema para una escuela. Utilizamos un kit Airos X550, que consiste en una tarjeta PCI que se instala en un servidor, y se pueden conectar hasta cinco terminales que trabajan como sesiones independientes en dicho servidor. La terminales se conectan a la tarjeta PCI por medio de un cable UTP con conectores RJ-45, y no deben de estar a mas de diez metros de distancia del servidor. Cada módulo cuenta con un puerto VGA para conectar el monitor, dos puertos PS/2 para teclado y monitor, y un conector para bocinas o audífonos.

El servidor que utilizamos tiene un microprocesador Core i3, una tarjeta madre Intel, 4 Gb de memoria, disco de 500 Gb, quemador de DVDs, y Windows 7 profesional. Las terminales funcionan bastante bien, pueden utilizar internet, office y programas educativos con muy buen desempeño.

El costo del Kit es de $7,200; y el servidor también es de $7,280 mas IVA. En caso haber comprado seis computadoras de capacidad mediana, el costo se hubiera elevado a unos $21,000 aproximadamente, mas el costo de las licencias de Windows.

Además del ahorro inicial, la ventaja es que el costo del servicio es mucho menor. Resulta mas sencillo preocuparse por un solo servidor, que dar mantenimiento a seis equipos. Y sobre todo, el software se puede compartir, sin incurrir en problemas de licencias.

Es una muy buena solución para escuelas y cibercafés, aunque también se puede aplicar a otro tipo de instalaciones.