lunes, 12 de mayo de 2014

Prueba

-- --------------------------------------------------------------------------------
-- Autor: Kevin Eduardo Moran Ramirez
-- Note: Procedimiento almacenado en MySQL para consulta select
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE PROCEDURE `consulta_select` (
 IN Tabla VARCHAR(50),
 IN Campos VARCHAR(255),
 IN Donde VARCHAR(255),
 IN AgruparPor VARCHAR(50),
 IN OrdenarPor VARCHAR(50)
)
BEGIN
 # Verifico que si las variables contienen parametros
 IF Donde <> '' THEN SET Donde = CONCAT(' WHERE ', Donde); END IF;
 IF AgruparPor <> '' THEN SET AgruparPor = CONCAT(' GROUP BY ', AgruparPor); END IF;
 IF OrdenarPor <> '' THEN SET OrdenarPor = CONCAT(' ORDER BY ', OrdenarPor); END IF;
 SET @VConsulta = CONCAT(
  "SELECT ", Campos , " FROM ", Tabla, Donde, AgruparPor, OrdenarPor, ";"
 );
 #Preparo y ejecuto la sentencia SQL
 PREPARE Declaracion FROM @VConsulta;
 EXECUTE Declaracion;
END
function foo()
{
}

domingo, 12 de junio de 2011

Libros Sobre Python

Para las personas que desean comenzar a programar en Python, acá les dejo unos libros que a mi en lo personal me han funcionado. Les recomendaría iniciar a programar de manera estructurada, y luego que ya dominen ese paradigma pasen a Orientada a Objetos. les dejare los libros en Orden




Mas Adelante Subiré Nuevos Libros o tutoriales para Manejo de el IDE Boa-Constructor y un par de Códigos

miércoles, 20 de mayo de 2009

Software libre... ¿mejor o peor que el software comercial?

¿ES MEJOR EL SOFTWARE COMERCIAL QUE EL SOFTWARE LIBRE?



Este es un tema bastante recurrente en algunos círculos que defienden a capa y espada las bondades del software libre... y también de los defensores del software comercial o de código cerrado, pero ¿hasta qué punto llevan razón?

Ante todo, vamos a aclarar los cuatro puntos que definen al software libre:

1º.- Ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, militar, etc.)
2º.- Estudiar y modificar el programa (para lo cual es necesario poder acceder al código fuente)
3º.- Copiar el programa de manera que se pueda ayudar a cualquiera
4º.- Mejorar el programa y publicar las mejoras (para lo que también es necesario poder acceder al código fuente)

A este respecto hay que decir que incluso buena parte del software que actualmente se conoce como libre no cumple estas cuatro condiciones, ya que por ejemplo la licencia GNU GPL impone algunas restricciones, sobre todo al punto 4º.

La diferencia que en este sentido establecemos al referirnos a software comercial es que en el caso de este último no se cumplen estos requisitos y se trata más bien del llamado software de código cerrado, en el que el desarrollador controla todos los cambios en éste, incluida su licencia y el otorgamiento de licencias de uso.

Para nada se habla de software gratuito o no, ya que en ambos tipos de licencia se puede dar el caso de software bajo licencia freeware, aunque esto sea bastante más habitual en el caso del software libre.

Pues bien, la contestación a la pregunta que se plantea es que... no influye para nada en la calidad de un software el que se trate de software libre o no. Lo que realmente influye en la calidad de un programa son otros factores, tales como que se trate de un software bien desarrollado, bien estudiado desde sus principios y que cumpla con los requerimientos que se le pueden pedir.

La verdad es que hay muy buen software libre y muy buen software comercial... pero también que hay software libre bastante malo y software comercial que también es bastante malo.

Los defensores del software libre aducen que en el desarrollo de un programa intervienen cientos (a veces miles) de personas, pero seamos sinceros esto no es una garantía de que el resultado sea mejor o peor, ya que la calidad de éste no depende directamente de la cantidad de gente que intervenga en su desarrollo.

Y precisamente el caso contrario se nos plantea cuando hablamos de software comercial, en el que lo que se suele aducir por parte de sus defensores es la profesionalidad de los desarrolladores. Pero evidentemente también hay profesionales detrás del desarrollo del software libre, por lo que tampoco es este un valor decisivo a la hora de considerar un tipo de software mejor que otro. Seamos objetivos, un software desarrollado por 5000 personas puede ser tan bueno o tan malo como otro desarrollado por solo 5.

En defensa del software libre se dice (y es cierto) que al ser en su mayoría de código abierto el usuario puede adaptar una buena parte de este software a sus necesidades. Vamos por partes, para empezar... ¿de qué tipo de usuario estamos hablando, del profesional y programador o del usuario medio, que a duras penas termina de enterarse del funcionamiento correcto de dicho programa y que a veces tiene problemas incluso con su instalación?

Ante todo hay que ser realistas, que un programa se pueda editar y compilar a nuestro gusto (siempre dentro de unos límites) es algo que está solo al alcance de unos cuantos ¿o es que acaso pensamos que todos o al menos una parte realmente significativa de los millones de usuarios que hay tienen los conocimientos necesarios para esto?

Esto puede suponer una ventaja (y muy grande, desde luego), pero para un número muy reducido de usuarios, lo que fuera del ámbito estrictamente profesional hace que no sea un factor decisivo para definir la bondad de un programa.

Y lo mismo pasa en el caso contrario. ¿Realmente es un grave inconveniente para la mayoría de usuarios no poder modificar el código de un programa y compilarlo a su antojo, cuando la inmensa mayoría carece por completo de los conocimientos necesarios para hacerlo?

En defensa del software comercial se dice que detrás de él siempre hay una empresa... pero hay empresas y empresas, y como muchísimos usuarios han podido comprobar, incluso en sus propias carnes y bolsillos, a veces el que haya una empresa detrás de un programa no significa absolutamente nada, ya que el servicio al cliente que ofrecen es cuando menos muy deficiente.

Otro argumento que se esgrime en defensa del software libre es que hay una gran cantidad de usuarios dispuestos a ayudar en lo que sea necesario, dando soporte a ese tipo de programas.

Y yo me pregunto... ¿es que esto no pasa también con el software comercial? ¿Qué es lo que hacemos entonces en webs como www.configurarequipos.com y otras muchas que hay dedicadas a la ayuda desinteresada y gratuita a todo tipo de usuarios? En la red encontramos cientos de webs dedicadas a ayudar a todo tipo de usuarios, tanto webs de tipo generalista, como es el caso de www.configurarequipos.com como webs especializadas en programas concretos, por lo que este punto tampoco ayuda a inclinar la balanza en un sentido o en otro.

Y si entramos en el precio (o gratuidad en algunos casos) de un programa, pues tampoco es un parámetro que pueda definir como mejor o peor un programa, simplemente significa en muchos casos que un programa es gratis, barato o caro, pero absolutamente nada más. Hay programas gratuitos muy buenos, programas muy caros muy buenos y programas caros que dejan bastante que desear.

Pero sí que hay una serie de parámetros que hacen realmente que un programa sea mejor que otro, aunque para nada intervenga el que se trate de software libre o no.

Estos parámetros son, entre otros:

- Que esté bien diseñado

- Que esté bien desarrollado

- Que cumpla con el cometido para el que ha sido creado

- Que sea fácil de usar por parte del usuario, pensando que no todos los usuarios son (ni tienen por qué serlo) Ingenieros Informáticos, y que en muchos casos sus conocimientos se van a reducir al uso de ese programa

- Que sea agradable para el usuario

- Que sea estable y seguro

- Que utilice los recursos justos para su propósito (lo que no significa ni que éstos sean muchos ni pocos, sino los justos)

- Que tenga un buen soporte (y un buen soporte no significa que éste dependa de la buena voluntad de un grupo más o menos amplio de personas) al que el usuario pueda recurrir en caso de necesidad

- Que, caso de ser un tipo de programa que lo necesite, tenga un sistema de actualizaciones Online rápido y efectivo

- Que esté garantizado el soporte durante un tiempo determinado (al menos 5 años), dependiendo sobre todo del tipo de programa del que se trate. Esto es especialmente importante cuando hablamos de un SO o de un programa de uso muy profesional y, sobre todo, si es un programa utilizado por corporaciones o empresas con muchos puestos de trabajo)

Estos puntos que he citado sí que definen la calidad de un programa, y no el que se trate de un programa de software libre o no, ya que son puntos que pueden cumplir perfectamente ambos tipos de programas.

En cuanto al soporte técnico, se puede pensar que es difícil para un programa gratuito cumplir con este requisito, pero existe una fórmula a emplear, y es la de cobrar dicho soporte (hay bastantes empresas que emplean ese método). En ese caso ya es responsabilidad del usuario contratar ese servicio o no, pero es importante que el programa ofrezca al menos esa posibilidad.

En último extremo es el usuario el que mejor puede juzgar las bondades de un determinado software, pero debemos darle los puntos exactos en los que basarse para hacer una evaluación, y no centrar la información en supuestas ventajas que tan solo van a ser tales en un número sumamente reducido de usuarios o en conceptos de respaldo falsos o al menos no del todo ciertos, y esto es responsabilidad de los desarrolladores, se trate del tipo de programa del que se trate.

Pero también el usuario (y sobre todo cuando se trata de profesionales o empresas) debe tener claras cuales son sus necesidades y en qué punto afectan sus decisiones en este aspecto al desempeño de su empresa o profesión, y hay que insistir en que la idea que aun existe en muchos ámbitos profesionales de que el software es un gasto es una idea que poco a poco hay que ir desterrando, el software es casi siempre en estos casos una inversión y como tal hay que verlo. Cuantas veces se ve empresas que utilizan software gratuito para temas tan vitales como es la facturación... y no son capaces ni de destinar una pequeña cantidad al pago de un servicio de mantenimiento del programa en cuestión.

Decidan que es mejor y conveniente

lunes, 18 de mayo de 2009

Nueva sección de videos de armado y ensamble de los componentes internos de la PC. Colocando las memorias DDR2 en Dual Channel

Videos de armado y ensamble de los componentes internos de la PC
Colocando las memorias DDR2 en Dual Channel


Como instalar Windows Vista en la PC

El nuevo sistema operativo de Microsoft resulta bastante sencillo de instalar en la computadora, solo nos llevará algo de una hora para tenerlo funcionando con los drivers cargados.

El sistema se puede cargar sobre un disco rígido formateado o con otro sistema operativo instalado.

Al empezar, seleccionamos desde el bios el arranque desde la unidad óptica ( DVD), lo colocamos en la lectora y la primer pantalla nos pedirá que presionemos una tecla para comenzar

Instalar Windows Vista Home Premium

Enseguida comienza la instalación de Windows Vista

Instalar Windows Vista Home Premium

Una vez cargados estos archivos, comienza la instalación gráfica

Instalar Windows Vista Home Premium

Nos pedirá que configuremos el idioma, la hora regional y el teclado

Instalar Windows Vista Home

La siguiente pantalla comienza con la instalación, donde deberemos colocar la clave del producto que se encuentra en el DVD

Instalar Windows Vista Home

Elegimos la versión adquirida de Windows Vista para seguir con la instalación

Instalar Windows Vista Home

La siguiente pantalla nos pedirá la confirmación sobre el contrato de la licencia de Windows Vista

Ahora nos preguntará si elegimos una actualización o una copia limpia del sistema, igualmente si tenemos instalado Windows XP, se creará una carpeta con el contenido de este

El siguiente paso es elegir en que partición instalar Windows Vista, siempre que tengamos mas de una partición o cantidad de discos rígidos instalados. Lo recomendable es el disco C:

Después de estos pasos comienzan a instalarse los archivos del sistema, mostrandonos el porcentaje para completar la copia

Una vez completada la copia de archivos, comienza la instalación de las características y las actualizaciones

Completada la etapa anterior, el sistema se reinicia y no debemos olvidar cambiar desde el Bios el arranque de la PC. De la unidad óptica al disco rígido

Les mostramos como cambiar de unidad de arranque del sistema

Luego de cambiar el arranque la PC se reinicia para tomar los cambios en el Bios y arranca desde el disco rígido continuando con la carga de Windows Vista

El sistema vuelve a mostrar la última pantalla donde termina con la instalación

Ya entrando en la última etapa de instalación de Windows Vista, lo que falta es la personalización del mismo, donde debemos indicarle un nombre de usuario y una contraseña

El nombre de usuario no podrá contener mas de seis letras

Colocamos un nombre para el equipo y elegimos un fondo para el panel de control

Ahora viene la configuración de seguridad y actualizaciones del sistema, este paso podemos dejarlo para después

Configuramos la hora regional y el calendario

Y terminamos con la instalación

Ahora Windows Vista comprobará la configuración de nuestro equipo, para darnos un puntaje y saber que nuevo software soportará en el futuro

Enseguida iniciamos la sesión colocando la contraseña

El primer inicio puede tardar un poco

Una vez instalado y en el primer arranque, nos mostrará el centro de bienvenida, donde podremos ver distintas características de Windows Vista. Entre ellas, ver los detalles del equipo

En esta pantalla vemos la calificación asignada a nuestro equipo

La instalación la llevamos a cabo en una PC con un procesador AMD 3200 con 1.5 Gb. de memoria DDR, placa de video AGP GeForce 5200 con 256 Mb. de memoria propia.

La mayoría de los drivers los instaló de manera automática Windows, pero no encontró el controlador de la placa de sonido integrada AC97. Este driver lo instalamos desde nuestro DVD de drivers para Vista.

Como ampliar y actualizar la PC

Cuando vemos que el ordenador comienza a trabajar lento, y aunque hagamos una limpieza a fondo, no solucionamos la lentitud, pensamos en que llegó la hora de actualizar la PC.
Si se cuenta con nociones de hardware y un poco de valentía, es posible que el usuario realice la actualización por si mismo, sin tener que recurrir a un técnico de PC. Hoy en día habiendo tanta cantidad de modelos de computadoras, no es fácil realizar un tutorial sobre que actualizar, pero podemos darles una idea de los componentes esenciales de la PC que permitirán sacarle un mejor rendimiento.
Todavía se siguen usando maquinas Pentium2 o Pentium 3 en muchos hogares y aunque actualizar esos componentes con tecnología moderna no tiene sentido por la cantidad de partes que habría que cambiar, si es posible sacarle un poco mas de rendimiento sin realizar muchos cambios.

Componentes principales de la PC:
Mother o placa base, microprocesador, memoria, disco rígido, lectora de cds., fuente, gabinete, placas de sonido, video, red.
Estas pueden estar integradas en el mother
Actualizar una PC Pentium 1/2/3 a tecnología actual no sería redituable, ya que de la PC original solo aprovecharíamos la disquetera, la lectora de CD. y alguna placa que todavía pueda seguir batallando como por ejemplo: una placa de sonido PCI.
En estos casos conviene agregar mas memoria, si contamos con 64 MB. podemos agregarle otro modulo de igual o mayor capacidad, siempre hay que recurrir al manual del mother para verificar el máximo de memoria soportada por este y la capacidad del micro. Como estos componentes ya no se fabrican mas, deberemos recurrir a algún sitio de subastas o a alguna casa de Informática para conseguir una usada. Lo mismo pasa con el micro.
Muchas computadoras Pentium 2 poseen el mother PcChips M748, el cual se puede actualizar hasta Pentium 3 con un micro de 500 Mhz. de velocidad, de esta manera notaríamos un cambio importante en la velocidad final de la computadora.
Si logramos aumentar el micro a 500Mhz. y ampliar las memoria, podemos actualizar la lectora de Cds. a DVD para poder aprovechar las películas y videos en este formato. Otro componente importante es la placa de video, en esos tiempos muchos mothers la traían integrada que compartía la memoria del sistema y muy pocos traían slot AGP, igualmente podemos deshabilitar la video integrada y agregar una placa con memoria independiente de mayor capacidad en formato AGP o PCI. Próximo: AMD y la variedad de micros y socket disponibles nos complican las actualizaciones

Como agregar memoria en la PC y aumentar la velocidad, memorias Simm, Dimm, Ddr y Ddr2

Una de las opciones para acelerar la PC y Windows, es agregando memoria.
Desde los primeros Pentium hasta los actuales sistemas Quad Core, las memorias han cambiado el formato y avanzado en capacidad y velocidad. Un Pentium 1 con 128mb. de memoria, en su época era un "avión".
Hoy una placa base con 128mb.de memoria, apenas puede correr el sistema operativo.
Aunque la tecnología avanzó, sabemos de muchos usuarios que utilizan a diario equipos con procesadores Pentium1.
Vamos a darles un panorama de los tipos de memoria que utilizan las Pc desde esa época hasta hoy en día
Los Primeros mothers incluían dos formatos diferentes de memoria,
El slot Simm ( color blanco)) y el slot Dimm (color negro).
El rendimiento del sistema, era mucho mayor con memorias Dimm, que en este caso corrían a 66mhz. Según el modelo del mother, solo admitían hasta 256mb. de memoria.
En esa época los módulos no superaban los 128 mb. por cada uno. Las memorias Simm, se insertaban de a par únicamente. Con las Dimm no había ese problema.
Reconociendo los slot de memoria simm y dimm

Memorias Simm
Memorias ram para slot Simm Pentium 1
Memorias Dimm

Memoria Dimm
Como la memoria Dimm era superior a la Simm, y se podían colocar de a una, los fabricantes comenzaron a mejorarla, subiendo el bus de comunicación a 100mhz. y luego a 133mhz.
Con la llegada del Pentium2, se empieza a utilizar los Dimm corriendo a 100 y 133 mhz., desplazando y dejando obsoleto al de 66mhz. de velocidad.
En algunos Pentium 2 es posible colocar Dimm 133 aunque el mother funcione con los de 100mhz. Con la diferencia que va a trabajar a la mínima velocidad desperdiciando ese resto de 33mhz.
Con la llegada del Pentium 4 y los Athlon de AMD, aparecen las memorias DDR, con doble canal capaz de trabajar a velocidades de 200 mhz. por cada uno.
Memoria DDR
En el año 2003 aproximadamente, comienzan a aparecer las DDR2, con capacidades superiores a las primeras DDR y capaz de trabajar a 800mhz. Esto también depende del mother utilizado, algunos soportan DDR2 a velocidades menores.

Memoria DDR2

Igual que con los primeros Dimm, hay que verificar hasta que velocidad de datos de memoria, soporta la placa base que queramos ampliar.
Una placa base que soporte hasta 533, seguramente funcionará con memorias de 667 pero trabajando a 533.
Lo mismo pasa con un mother que soporte 800, y le coloquemos una memoria DDR2 de 533, va a funcionar a esta última velocidad.
Todas las memorias aunque se parezcan, a la hora de insertarlas en el slot, tienen una ranura entre sus contactos, con lo cual es casi imposible conectarla "al reves" o una memoria DDR en un slot DDR 2.
Antes de comprar memoria para ampliar nuestra PC, recomendamos consultar el manual de la placa base para saber que capacidad máxima soporta y que tipo de memoria lleva.
Aunque ya pasó mucho tiempo desde la aparición de las memorias SIMM, todavía es posible conseguirlas, usadas con buen funcionamiento.
Y aunque parezca increíble, a años de que se dejaron de fabricar, también es posible conseguir memorias DIMM nuevas sin uso de distintas capacidad y velocidad.