Waterstone

•2011/08/21 • Leave a Comment

waterstone

With time
Love shapes a soul
Like water carves a stone

 

 

 

 

 

Project Euler, My Way

•2011/05/09 • Leave a Comment

I started solving the problems in Project Euler to exercise my mind, augment my knowledge in general algorithms and maths in general, and to gain practice with specific programming languages, their standard libraries, and the many specialised libraries available out there.

Most of the problems so far have been solved using Python and Cython even if there are analytical (paper and pencil) solutions to them.

Unlike many of the programs found on the posts readable after you provide the solution on the project’s web site, mine are written so that they would work if the specific conditions, like ranges, sums versus products versus single items, change. I also have tried to keep it simple and readable, which means very functional, some procedural, and no OO (there was a time when I thought I would never say something like that).

Unlike many of the mentioned programs, with every new problem I’ve gone back to similar or related problems and refactored the relevant code into libraries that are reused accross problems, and I’ve optimized the library code as harder problems have required it. The individual solutions are written in a way in which the code can be reused (which is what I did before deciding that refactoring to libraries was better).

Modesty set aside, I think that the result of my effort is a library that can be used for tasks from homework to my own professional work.

So far I’ve approached the problems this way:

  1. In order.
  2. Always take a look at the latest published problem, but leave it for later if it seems too hard. The reason for this is provided in the hints at Project Euler: new problems tend to build upon knowledge gained with previous problems (and, in my case, previous code).
  3. If I get bored, I browse for a problem I that I want to solve or that I find easy to solve and have a take at it.
  4. I always devise a strategy in my head before coming back to the computer. When I sit at the keyboard, I already know what I’m going to write, except, perhaps, for the workings of a library I haven’t used lately.

Since I’ve already broken shared code while solving new problems, I decided to incorporate either assertions or unit tests (some form of automation) to verify that all problems are solved correctly before publishing changes.

Finally, it makes little sense to look at my code unless you’ve already solved the problems, you’re only interested in the reusable parts, or you have interest in reviewing what I have written.

https://bitbucket.org/apalala/project_euler/

Respaldar Gmail

•2010/12/07 • Leave a Comment

Es verdad. La probabilidad de que nuestro disco duro muera repentinamente es mucho mayor que la de que Gmail pierda nuestro correo electrónico. Pero tener un respaldo no sólo contribuye a nuestra tranquilidad, sino que también nos permite acceder a los mensajes cuando no disponemos de acceso a la Internet.

Una manera segura de tener una copia de nuestros mensajes en Gmail copiados y accesibles en nuestro disco duro es usar un programa de correo electrónico conectado a nuestra cuenta Gmail a través del protocolo IMAP. Éstos son los pasos sencillos para lograrlos usando del programa Mozilla Thunderbird, el cual es software libre, y está disponible para los principales sistemas operativos:

  1. Asegurarse de que nuestro disco duro tiene el doble de espacio del que nuestros mensajes ocupan, lo cual se indica en la parte inferior de la página principal de Gmail:
    Uso de espacio en Gmail
    Necesitamos el doble de espacio den el disco duro porque, desde el punto de vista de IMAP, Gmail normalmente almacena más de una copia de nuestros mensajes.
  2. Ir a la página de configuración de Gmail, seleccionar Reenvío y Correo POP/IMAP, y marcar la opción que dice Habilitar IMAP, y luego el botón Guardar cambios.
    Configurar IMAP en Gmail
  3. Descargar e instalar Thunderbird.
  4. Configurar nuestra cuenta de Gmail en Thunderbird siguiendo los sencillos pasos descritos por Google.
  5. Dejar Thunderbird abierto hasta que todos nuestros mensajes hayan sido descargados, lo cual puede tomar toda la noche.

¡Eso es todo! Podemos tener acceso a nuestros mensajes en Gmail desde tantos computadores queramos, aún cuando no haya conexión a Internet.

Hay otras maneras de respaldar nuestros mensajes en Gmail, pero ésta es, en mi opinión, la más sencilla y la más conveniente.

(No dejen de comentar sus experiencias con este consejo)

500 GiB

•2010/11/28 • 3 Comments

Los discos duros de un terabyte (1000 gigabytes) están aquí. Su mayor capacidad, mayor velocidad, y su relación precio/densidad de información hacen tentador el usarlos para resolver el perenne problema de falta de espacio en este universo digital cada vez más multimedios.

Pero… los discos duros son los componentes menos duraderos en un computador. El desgaste en sus partes mecánicas y la fatiga que la constante realineación magnética produce en sus sustratos metálicos hacen que, a diferencia de los componentes cien por ciento electrónicos, la vida de los discos duros esté contada en días o en número de lecturas y escrituras.

El riesgo de falla única al que nos exponemos con un disco duro es proporcional a la densidad de información que alberga, ya que a mayor densidad la pérdida de información ante una falla pequeña es potencialmente mayor.
Los discos duros de altísimas densidades son muy útiles en aplicaciones que requieren altos volúmenes de información y que pueden asumir que los discos son descartables a corto plazo, como es el caso de las granjas de servidores requeridas para alojar servicios como YouTube.

Para un usuario convencional, es mejor resolver el problema de fatla de espacio con una estrategia más convencional: más discos duros. Cada disco duro que ponemos en uso aumenta la vida total de los demás discos al liberarlos de trabajo, y sirve de resguardo contra fallas si mantenemos copias de la misma información en más de un disco. Hoy en día es posible conseguir a muy buen precio discos internos y externos (para las laptos) de capacidades entre 320 y 500 GB.

¿Cuándo adquirir un nuevo disco duro?

Es hora de adquirir un nuevo disco duro cuando uno se encuentra moviendo carpetas entre discos lógicos (particiones) porque ninguno de ellos tiene suficiente espacio para lo que uno desea hacer en el momento. También es bueno comenzar a pensar en un nuevo disco si el actual está por cumplir los dos años de uso.

¿Cómo configurar el disco nuevo?

La estrategia que sugiero para incorporar un nuevo disco duro es una que ha funcionado muy bien por casi dos décadas. De partida se asume que el nuevo disco duro tiene mayor capacidad que el disco actual.

  1. Instalar el nuevo disco como disco principal y pasar el disco viejo a secundario. En el caso de laptops, usar un adaptador para conectar el disco viejo de forma externa.
  2. Instalar el sistema operativo preferido (Windows, Linux, OSX, etc.) en el nuevo disco permitiéndole al instalador decidir cómo particionarlo.
  3. Realizar la configuración inicial e instalar los programas y utilidades deseados. Con frecuencia encontramos en este momento que no tenemos todos los instaladores necesarios. Es el momento de corregir esa situación asumiéndola como limpieza general bianual.
  4. Copiar el contenido completo del disco viejo a una carpeta /Archivo en el disco nuevo. Es un respaldo total bastante rápido aunque no instantáneo.
  5. Mover archivos y carpetas seleccionados desde /Archivo al lugar deseado en el disco nuevo.
  6. Eliminar los ejecutables (sistema operativo y programas) de /Archivo.

Con esos pasos iniciales se debe sentir que se tiene una versión mejorada de la configuración que se tenía antes. Una vez que todo esté en su lugar y el disco nuevo haya tenido tiempo de demostrar su confiabilidad (no menos que unas cuantas semanas), se puede comenzar a optimizar la distribución de archivos en los discos.

  1. Borrar todo lo reemplazable de /Archivo. No se consideran reemplazables nada que sea irrepetible, como las fotografías, ni nada que haya tomado tiempo seleccionar u ordenar, como la selección de música.
  2. Eliminar rastros dejados por los programas como archivos de configuración, respaldos, y caches.

Eso debería dejar más que suficiente espacio de trabajo en el nuevo disco duro.

En adelante

A partir de este momento, a manera de hábito compulsivo, deben copiarse los nuevos proyectos de trabajo y personales desde el disco nuevo a un lugar razonable en el disco viejo (un buen momento para hacerlo es cada vez que se termina una sesión ante el computador).

Hay que siempre usar el disco nuevo como espacio de trabajo, experimentación, y juego. Si comienza a necesitarse más espacio en el disco nuevo, pueden borrarse algunas cosas de /Archivo, pero si eso se comienza a hacer recurrente lo mejor es comenzar a pensar en adquirir todavía otro disco duro (posiblemente pasando el disco más viejo de todos a otro uso no-crítico,  como experimentación).

Estos pasos  permiten obtener espacio de trabajo y conveniencia, y reducen la probabilidad de perder información o tiempo valioso escarbando en los respaldos, pero son sólo una parte de lo que se requiere en una estrategia de contingencia basada en mitigación de riesgos. En otra oportunidad escribiré sobre qué es exactamente un buen sistema de respaldos.

Soluciones

•2010/11/14 • 1 Comment

¿Problemas con tu computadora, laptop, red, Internet, …?

El servicio a domicilio es por ahora limitado a ciertas zonas, horarios, y tipos de servicio. Contáctame para confirmar.

problemas con su computadora?
diseño por Aitzbea

Monstruosa Unidad

•2010/11/14 • Leave a Comment

cookie monsterSegún mi hijo, la población estudiantil de su colegio se divide en:

  • 40% monstruos
  • 30% sifrin@s
  • 25% normales
  • 5% desadaptados

Los monstruos son de distintos tipos, pero en general sólo están pendientes de echar vaina, sabotear, y destruir. En el grupo de sifrin@s (mayoritariamente femenino) solo están pendientes de la moda y la farándula. Los desadaptados incluyen a los autistas, esquizofrénicos, hermitaños, y antisociales. Los normales son todos los demás.

Para las elecciones del centro de estudiantes los distintos tipos de monstruos se unieron para inscribir una plancha unitaria. Como a las sifrinas le gustan los monstruos, los monstruos tenían una victoria casi asegurada.

Dado el inminente desenlace, la dirección del colegio decidió aplicar el reglamento y eliminar la susodicha plancha ya que sus integrantes no cumplían con los requerimientos de asistencia y nivel académico.

No… Los desadaptados no inscribieron una plancha, ni fueron a votar.

Zen

•2010/11/13 • Leave a Comment

ZenEstás trabajando en el bunker con la computadora puesta a tocar las 6782 canciones en forma aleatoria, Eminem, Beatles, Dimensión Latina, Chopin, …

Vas a hacer pipí y a reponer la hidratación y dejas la música sonando en el solitario bunker.

¿Qué música sonó durante tu ausencia?

Body and mind

•2010/10/29 • Leave a Comment

In the union between the body and the mind, the body vowed to pay more attention, and the mind vowed to sleep more.

El amor

•2010/09/28 • 1 Comment

El amor no es un credo,
ni un compromiso,
ni un acuerdo,
ni una acción.

El amor es una emoción,
un sentimiento,
y la palabra “desamor”
un oxímoron.

Destiny

•2010/09/26 • Leave a Comment

Watch your thoughts, for they become words.
Watch your words, for they become actions.
Watch your actions, for they become habits.
Watch your habits, for they become character.
Watch your character, for it becomes your destiny.

 
Follow

Get every new post delivered to your Inbox.