goto BoldLab

Nuevo Blog

Hemos movido este blog a blog.boldlab.com .

Este blog dejará de actualizarse y eventualmente dejará de recibir actualizaciones.

We’ve move this blog to blog.boldlab.com .

This blog will eventually stop receiving updates and cease to exist.

Mac OS X, How to include directories in PATH (Como incluir directorios en PATH)

First, a little intro about PATH. It’s a system variable used in terminal (in OS X). It’s the place where the os looks for commands to be executed, it’s very useful since it allows you to just type “less” instead of “/usr/bin/less”; that works for every originally installed commands on the system. However, if you want to be able to type a command like “mysql” for instance, you have to tell the system where to look, you do this by adding the directory to PATH. You can do this every time by doing “export PATH=$PATH:/usr/local/mysql” or by adding this to some initial script executed by the shell.

So, it’s useful to add directories to the PATH variable so it’s easy to execute commands without locating them in their directories every time. There is a very simple way to do this instead of executing some command in the beginning of every session or adding it to some script, just create a file inside /etc/paths.d , for instance if I’d like to append the mysql directory to the PATH I would do this:

  1. Create the file /etc/paths.d/mysql like this: sudo touch /etc/paths.d/mysql
  2. Edit the file: sudo vim /etc/paths.d/mysql
  3. Put the path inside the file: /usr/local/mysql/bin

I posted three steps so everyone knows what they’re doing, but you could do it all by just creating the file and filling it with the paths needed in PATH.

This method works better because it is more ordered at the end and you would have a file for each path you want to add to the PATH variable.

Versión en Español

Primero, una pequeña introducción acerca de PATH. Es una variable del sistema (en OS X). Es donde busca el sistema operativo por comandos a ser ejecutados, es muy útil ya que permite escribir “less” en vez de “/usr/bin/less”; esto funciona para todos los comandos instalados inicialmente con el sistema. Sin embargo, si se quiere escribir un comando como “mysql” por ejemplo, hay que decirle a sistema donde buscar, esto se hace agregando el directorio del comando a PATH. Se puede hacer cada vez que se requiera haciendo “export PATH=$PATH:/usr/local/mysql” o agregando esta instrucción en algún script que se ejecute inicialmente por el shell.

Es útil agregar directorios a PATH para que  se puedan ejecutar comandos sin tener que encontrar sus directorios. Hay una manera muy simple de lograr que directorios queden en el PATH sin tener que ejecutar un comando al inicio de cada sesión o de agregarlo en algún script, simplemente hay que crear un archivo en /etc/paths , por ejemplo, si se quisiera agregar el directorio de mysql a PATH esto es lo que hay que hacer:

  1. Crear el archivo /etc/paths.d/mysql haciendo: sudo touch /etc/paths.d/mysql
  2. Editar el archivo: sudo vim /etc/paths.d/mysql
  3. Agregar el path al archivo: /usr/local/mysql/bin
    (Este es el directorio donde están los ejecutables de mysql)

Estos tres pasos son un ejemplo para que todo el que lea esto sepa qué está haciendo pero se puede hacer todo creando un solo archivo y rellenandolo con los diferentes directorios que se quieren agregar a PATH.

Este método es mejor ya que a fin de cuentas es más ordenado y como resultado se tiene un archivo para cada directorio que se quiere agregar a PATH.

Variables en URL como anchors (URL Variables as anchors)

Hay algunos sitios que utilizan frames, iframes o partes variables adentro de la misma página. Esto es útil a la hora de programar pero puede tener un problema de usabilidad para el lector de la página, si quiere mandar el link exacto a un amigo o guardar el link en favoritos por ejemplo, se guarda el URL de la página sin las modificaciones internas o el iframe correcto. Para solucionar esto, se puede usar un truco, usar la parte de los anchors del URL para guardar variables, todo con javascript.

Después del salto, el código que hace esto. Para usarlo:

  • params.setParam(paramName,paramValue) para setear un parametro
  • params.getParam(paramName) para obtener lo que contiene el parametro.

Some sites use frames, iframes or variables parts inside a page. This is useful for programmers but it can cause usability issues for the page’s reader, if he wants to send the exact link to a friend or save it as a favorite for instance, the link would have the original URL without the internal modifications or the correct frame. To solve this, there is a trick that can be used, use the anchor part of URLs to put variables, all done with javascript.

After the jump, the code that does this. To use it:

  • params.setParam(paramName,paramValue) to set a parameter
  • params.getParam(paramName) to obtain what the parameter contains.

Leer más

Ecuación de Velocidad Parabolica (Parabolic Speed Equation) Part.1/2

English Version
Para la página principal de BoldLab queríamos que tuviera movimiento, para crearlo y que se viera lo más natural posible decidí hacer que la velocidad fuera parabólica, es decir que empezara en 0, a la mitad del camino fuera máxima y al final volviera a ser 0.

Entonces, lo que hice fue pensar como sería inicialmente la aceleración y determiné que sería una recta que empezaría con la aceleración máxima y luego bajaría hasta cero para terminar en des-aceleración máxima (exactamente la misma inicial pero de signo contrario). La aceleración se ve a continuación, empieza en 1 y termina en -1. El trayecto son 5 espacios en el eje X, en este caso X es el tiempo.

AceleracionLa ecuación de esta recta sería:

Ecuacion AceleraciónLuego, para determinar la velocidad, integré la recta de la aceleración y me dio la velocidad parabólica que se ve a continuación. La velocidad inicial y la velocidad final son 0. Desde 0 hasta la mitad del trayecto aumenta y luego disminuye; es máxima en la mitad del trayecto.

VelocidadLa ecuación de la velocidad es:

Ecuación VelocidadLuego, para determinar la posición que es lo que nos interesa, se integra la ecuación anterior. Se puede ver en el gráfico a continuación como se comporta la posición.

PosiciónY la ecuación queda de la siguiente forma:
Ecuación PosiciónDe esta forma, para crear movimientos con programación que tengan velocidad parabolica, lo único que hay que usar es la ecuación anterior, donde A es la aceleración máxima (inicial) y T es el tiempo total del trayecto.

En el siguiente post explicaré como transformar esta distancia a cualquier distancia ya que con estos valores la distancia recorrida depende de A y T y no debería.

Parabolic Speed Equation

For BoldLab’s main page we wanted it to have movement, to create that and to make it as natural as possible I decided to make speed according to a parabolic equation, that means that it would start at 0, at midway t would be maximum and at the end it would be 0 again.

So, I initially thought about how the acceleration would be and I determined it would be a straight line starting at maximum acceleration, then passing at 0 and finally ending at maximum de-acceleration (exactly the initial acceleration but with a negative sign). Acceleration is seen next, it starts at 1 and ends at -1. The trajectory is 5 spaces on the X sign, in this case X is time.
Acceleration

The equation for this line should be:
Acceleration EquationThen, to determine speed, I integrated the last equation and I got the parabolic speed seen next. Inicial and final speed are 0. From 0 to the middle of the trajectory it augments and then diminishes ; it is maximium at half way.
SpeedThe equation for speed is:
Speed EquationThen, to determine position, wich is what interests us, I integrated last equation. You can see the results next.
PositionAnd the resulting equation is:Position EquationSoooo, to create movements with parabolic speed programmatically you can use the above equation where A is maximimum acceleration and T is the time it takes to make the whole trajectory.

In the next post I will explain how to transform this distance to any distance since with this equation the path described depends on A and T and it shouldn’t.

Ubuntu 9.10, ya casi…

Ya casi llega la versión 9.10 de Ubuntu, vi este contador y me gustó. Me imagino que a penas salga la nueva versión, el contador se reiniciará hasta la siguiente…

El código para ponerlo en el sitio está en la página de Ubuntu, o tb se puede copiar y pegar el siguiente código como html:

<script type=”text/javascript” src=”http://www.ubuntu.com/files/countdown/display2.js”></script>

Como ver *solamente* el mail sin leer en Gmail

Imagen de Quick Links de Gmail Labs

Imagen de Quick Links de Gmail Labs

Un amigo me comentó que frecuentemente se le pierden mails sin leer ya que recibe muchos mails diariamente y si no lee algo, los nuevos correos van desplazando a los viejos y algunos mails sin leer quedan en el olvido.

Inspirándome en esta idea decidí mostrarle como activar los “Quick Links” que hicieron los de Labs para Gmail. La idea de esta funcionanalidad es permitirle a los usuarios con un click sobre un link repetir busquedas que pueden ser aparatosas.

Normalmente, para buscar mails, los usuarios tiene que escribir cosas en la casilla de búsqueda que está arriba. Con “Quick links”, la busqueda más compleja (por ejemplo: “is:unread from:pedro has:attachment is:starred”) es hacer click sobre uno de los links que quedan en el menu de “Quick Links”, como se ve en la foto de al lado.

Bueno, las instrucciones para activar los “Quick Links” y dejar un link para el mail no leído, son las siguientes:

  1. Abrir gmail.
  2. Ir a Settings (Opciones).
  3. Ir a Labs.
  4. Bajar hasta ver “Quick Links”.
  5. Seleccionar “Activar”.
  6. Ir hasta la parte más arriba de la página y salvar los cambios (“Save Changes”).
  7. Gmail se recarga y va a cargar la ventanita de “Quick Links” al lado izquierdo.
  8. En la barra de búsqueda de Gmail, escribir ” is:unread ” y luego hacer buscar. Así, los mails con el estado no leído se muestran en la misma ventana.
  9. Cuando encuentre todos los mails no leídos, buscar la ventana de “Quick Links” y seleccionar “Add Quick Link”, una ventana va a aparecer pidiendo una información, ahi poner el título que quieran para los mails no leídos, por ejemplo “No Leídos”.
  10. Cada vez que se quiera ver mails no han leído, apretar sobre el botón nuevo que se creó en los pasos anteriores. Así ningún mail sin leer va a pasar desapercibido.

Para información sobre las opciones de búsqueda de gmail, ver aquí.