Showing posts with label Programacion. Show all posts
Showing posts with label Programacion. Show all posts

Thursday, February 28, 2013

Para reducir el tamaño de las imagenes en Linux


Tenia bastante tiempo que no programaba en Python, se siente raro regresar a el pero a la vez bien por que es un amigo bastante familiar y siempre amistoso por que te enseña bien y lo que bien se aprende nunca se olvida. El texto inicial del programa lo explica todo. Licencia GPL, etc. -Vico Surge

It has been quite a long time since I last programmed in Python, feels weird to be honest but it feels good because it's an old friend which I became familiar with and it's always friendly on your return because it teaches you well and what you learn well you never forget. The initial text explains it, it's a program to reduce the size of files by 50%, saving you enough space if you don't mind the lose of 'quality' on your files. GPL Licence, etc. -Vico Surge

import sys, os
z = 0
print "Este programa reduce el tamanyo de las imagenes al 50%, bastante util cuando las imagenes son enormes y nos se ocupa tanta 'calidad'. Se ocupa tener instalado imagemagick en Linux, este programa no funciona en Windows. Q termina el programa cuando pide el nombre del archivo."
x = raw_input("Terminacion (solo el formato del archivo sin punto): ")
while z != 1:
a = raw_input('Nombre del archivo: ')
if a.lower() == "q":
print "Bye!"
exit()
else:
b = "%s.$s" % (a,x)
c = "convert %s -resize 50%% %s" % (b,b)
os.system(c)
print "Archivo %s listo." % b

Friday, December 7, 2012

Declarar


El declarar algo es una cuestión plenamente humana, decimos que existe algo y tiene una forma determinada bajo un concepto creado para comprenderlo por nuestra mente por medio de los sentidos. El Humano ocupa declarar algo por naturaleza, es como en la programación donde se ocupa declarar una variable y en algunos casos se debe ser mas especifico para decir que es, un numero, letras, texto, verdad o mentira, estas son las maneras como inconscientemente terminamos declarando lo que nos rodea y caso curioso el de tenerle miedo a algo que no esta declarado, que es desconocido para nosotros; la superstición muchas veces nos gana y terminamos por denominarle de la manera incorrecta, no necesariamente por gusto o malicie pero debemos tomar en consideración que muchos se proponen este plan pedante para molestar a los demás o aterrorizarlos, e incluso la ignorancia puede ser cómplice para dar forma errónea a lo que nos rodea y eso, a final de cuentas, no debemos permitirlo por que nuestro mundo es tan basto y rico que todavía no podemos terminar de describirlo ni definirlo de una manera universalmente correcta y aunque lo hiciéramos, declaráramos una universalidad que todos sin excepción aceptaran, aprendieran y comprendieran, por que entonces limitarnos a lo que conocemos y entendemos si podemos agrandar las vías del conocimiento de manera tan exponencial que en algún punto de nuestra existencia este plano se volverá burdo e innecesario para la existencia.

Tuesday, October 2, 2012

Cuenta Larga Maya y Python


Hoy el blog va a tomar un giro un poco diferente pero este post va relacionado con la carrera que curso, la Licenciatura en Historia. Llegando hoy a clase de México Prehispánico con la Profesora Carmen Molina tuvimos la oportunidad de aprender acerca de la cuenta larga Maya, un tanto complicada pero sorprendente para una civilización prehispánica o “primitiva”, que de primitiva no tiene absolutamente nada, que me hace compararla incluso con lo que hoy conocemos como código binario.

El concepto funciona de la siguiente manera.

Los Mayas usaban múltiplos de 20, de hecho un año tenia 360 días por lo que tenia 18 meses de 20 días, mas 5 días de augurios, lo cual nos da un sorprendente total de 365 días, cosa mas que fascinante, nuevamente, para una cultura que existió hace siglos en el área de la península de Yucatan y Guatemala, al igual que otros fragmentos perdidos por ahí en ese segmento.

Mientras se nos explicaba la cuenta larga me di cuenta que sacar la cantidad es un tanto complicado a mano o calculadora, puede fallar, por lo que me di a la tarea de generar un pequeño pedazo de código en Python, un lenguaje de script que no ocupa compilarse, para correr la cuenta larga y obtener la fecha en el calendario gregoriano. El código lo libero bajo la GPL y espero que le sirva a quien quiera que lo encuentre.

¡Saludos y animo que existe todavía mucho camino por recorrer!

Nota: Para usar este script se ocupa tener instalado Python2.6 o 2.7, de hecho no importa mucho la versión, pero que este disponible y listo en la maquina. El archivo puede ser guardado con el nombre que gusten e incluso aunque no se corra directo de la consola debe funcionar aunque el resultado, si se corre desde Windows, puede desaparecer una vez que se termine de hacer la suma. De igual manera se incluyo un ligero stop por medio de un raw_input para dar tiempo de analizarlo, adicionalmente los comentario explican que es cada cosa. El script puede ser copiado así como se muestra y ser pegado en un notepad o cualquier parecido y debería funcionar como tal aunque no se da ninguna garantía por aquello de problemas de compatibilidad pero con todo gusto se me puede hacer saber cualquier problema y tratare de ayudar a solucionarlo. Como nota final solo hay que salvarlo con la terminación .py para que el interprete de Python lo corra como debe ser.

El archivo puede ser nombrado como sea, en este caso lo nombre cuentalarga.py

  1. def cuenta_larga():  
  2.     print """ 
  3.     Este script calcula la cuenta larga Maya y la convierte al Gregoriano.  
  4.     Es un aproximado que da unicamente el anyo, no da mes ni dia. 
  5.     Dentro del codigo se contiene el comentario de como funciona el codigo. 
  6.     """  
  7.     baktun = input("Baktun: ")  
  8.     katun = input("Katun: ")  
  9.     tun = input("Tun: ")  
  10.     uinal = input("Uinal: ")  
  11.     kin = input("Kin: ")  
  12.     baktun = baktun*144000  
  13.     katun = katun*7200  
  14.     tun = tun*360  
  15.     uinal = uinal*20  
  16.     kin = kin  
  17.     # Las cantidades manejadas son dias, un baktun es 144000 dias, un katun es 7200,  
  18.     # un tun 360, un uinal es 20 y los kin son unidades individuales. Todas estas se  
  19.     # suman bajo la variable de gTotal para despues ser dividas entre 365, que es la  
  20.     # cantidad de dias que tiene un anyo comun, para asi generar una cantidad en   
  21.     # anyos gregorianos que despues se resta contra 3115, que es la epoca de la   
  22.     # antiguedad Maya. En teoria una vez que sale el numero si genera un numero  
  23.     # negativo, es decir marca -X este tendra el signo de menos removido y en lugar  
  24.     # de marcar d.e.C. marcara a.e.C. como debe corresponder por ser previo a la   
  25.     # epoca que nosotros demarcamos como la era Comun.  
  26.     gTotal = baktun+katun+tun+uinal+kin  
  27.     print gTotal  
  28.     gregoriano = gTotal / 365  
  29.     print gregoriano  
  30.     maya = gregoriano - 3115  
  31.     if "-" in str(maya):  
  32.         a = str(maya)  
  33.         final = a.replace("-","")  
  34.         print final, "a.C."  
  35.     else:  
  36.         print maya, "d.C."  
  37.         stop = raw_input("Presiona cualquier tecla para terminar...")  
  38.   
  39. cuenta_larga()

Thursday, September 27, 2012

El codigo


Cuando alguien escribe en un procesador de texto o genera código para alguna aplicación los programas en lo que hace dicha tarea la marcan a uno un limite y continúan a un renglón abajo. Para la maquina sigue siendo una misma lineas de código pero para el ojo, que percibe el cambio dentro de un cuadro, sigue una linea lógica dentro de lo que esperamos, que continué mas abajo. No se esta pensando fuera del cuadro, estamos forzados a comprender la lógica humana dentro de un cuadro virtual que no existe ya que es una limitación impuesta y ocupamos ver dentro del mismo código para comprender esto, que la linea continua hasta el infinito si así se requiere de esta, aunque solo unos pocos lo lograran o se interesan en verlo y entenderlo como tal.

The Atlantean Thrones and the Valve

I can’t sleep, again. I see them all over me, figures that look like demons, human with horns of all kinds, twisted and spiraling in differ...