Archive for September, 2006

Función para generar passwords aleatorios

Vía Intenta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function generarClave($longitud)
{
   $caracteres=array();
   $clave='';

   # números
   for($i=48; $i<=57; $i++)
      array_push($caracteres, chr($i));

   # mayúsculas
   for($i=65; $i<=90; $i++)
      array_push($caracteres, chr($i));

   # minúsculas
   for($i=97; $i<=122; $i++)
      array_push($caracteres, chr($i));

   for($i=0; $i<$longitud; $i++)
   {
      mt_srand((double)microtime()*1000000);
      $clave .= $caracteres[mt_rand(0,count($caracteres))];
   }

   return $clave;
}

Otra opción es usar el identificador de sesión (session id) para obtener la contraseña de él:

session_start();
$password = substr (session_id(), 0, 10);

Tags: , ,

Canon, de Johann Pachelbel en Guitarra Eléctrica

Vía BaluArt.net

Uno de los videos virales que desde hace nueve meses atrás causa revolución en YouTube es la interpretación del Canon de Johann Pachelbel en Guitarra Eléctrica por un joven-virtuoso anónimo.

Tags: , ,

Los GIF ya son libres

Vía Kriptópolis:

Bueno, de hecho a partir de mañana primero de octubre, en que cualquiera podrá utilizarlos en sus desarrollos sin vulnerar ninguna patente.
Como cualquier liberación, ésta también ha resultado larga y dolorosa.

Comentario en Barrapunto:

Pero teniendo en cuenta que un PNG con las mismas características de un GIF ocupa menos ya no lo necesitamos.
Gracias Unisys por haber sido una panda de estúpidos estrujapatentes durante tanto tiempo.

Tags:

Expresiones regulares en MySQL

En MySQL pueden usarse expresiones regulares mediante el operador

REGEXP

:

^

Comienzo de una cadena.

mysql> SELECT 'fo\nfo' REGEXP '^fo$';                   -> 0
mysql> SELECT 'fofo' REGEXP '^fo';                      -> 1

$

Final de una cadena.

mysql> SELECT 'fo\no' REGEXP '^fo\no$';                 -> 1
mysql> SELECT 'fo\no' REGEXP '^fo$';                    -> 0

.

Cualquier caracter (incluído line feed y carriage return).

mysql> SELECT 'fofo' REGEXP '^f.*$';                    -> 1
mysql> SELECT 'fo\r\nfo' REGEXP '^f.*$';                -> 1


Read more »

Tags: ,

Imágenes del Sol en tiempo casi real

…ya que por la velocidad de la luz, llegan con un retraso de unos 8 minutos

El Sol
http://sohowww.estec.esa.nl/data/realtime/eit_304/

Tags:

Torre de Hanoi

El problema de las Torres de Hanoi es curioso porque su solución es muy rápida de calcular, pero el número de pasos para resolverlo crece exponencialmente conforme aumenta el número de discos.


Resolución de la torre de cuatro discos
(imagen tomada de Wikipedia)

Es un problema que se suele plantear a menudo en ámbitos de programación, especialmente para explicar recursividad y el algoritmo para resolverlo es realmente corto:

hanoi(n, Orig, Aux, Dst)
   si (n>0) hacer
   hanoi(n-1, Orig, Dst, Aux)
   escribir(Mover Orig a Dst)
   hanoi(n-1, Aux, Orig, Dst)

A continuación se muestra una implementación Java del algoritmo. El programa se invoca de la siguiente manera:

java Hanoi n

(donde n es el numero de discos)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Hanoi
{
   public static void main(String [] args)
   {
      int numDiscs = Integer.parseInt(args[0]);
      move(numDiscs, "A", "B", "C");
   }

   protected static void move(int n, String orig, String aux, String dest)
   {
      if (n>0)
      {
         move(n-1, orig, dest, aux);
         System.out.println("Mover disco de " + orig + " a " + dest);
         move(n-1, aux, orig, dest);
      }
   }

}

Aquí pueden verse las sucesivas llamadas recursivas a la funciónmove()para el caso de 3 discos:


Read more »

Tags: , , ,

Reflexiones de un astrónomo sobre la astrología

Por: Ismael Pérez Fernández
Publicado en El escéptico digital
Vía SinDioses.org

William James solía predicar la “voluntad de creer”.
Yo, por mi parte, quisiera predicar la “voluntad de dudar”…
Lo que se persigue no es la voluntad de creer, sino el deseo de descubrir, que es exactamente lo opuesto.

- Bertrand Russell.

Imagino que lo que aquí voy a contar no sólo les sucede a los aficionados sino también a los profesionales y apostaría que a ellos les ha pasado más a menudo que a los que simplemente somos aficionados.

Seguramente, a todo astrónomo, ya sea profesional o aficionado, estando en alguna conversación, le ha sucedido algo parecido a esto: “Perdón, ¿dices que eres astrónomo? Dime ¿qué sabes de los cáncer?” Y a uno, al menos a mí me pasa, se le empieza a calentar la sangre. Bueno, buscas en tus reservas de paciencia, después de todo la gente no suele estar versada en astronomía. Así pues, con toda tu buena voluntad y paciencia, procedes a explicar algunos hechos básicos de la astronomía para que la persona en cuestión se dé cuenta que está en un error. Sin realizar aquí un análisis exhaustivo, podemos mostrar algunos de esos hechos que prueban que la astrología es simple y llanamente falsa.


Read more »

Tags: ,

The impact of social networking on society

From New Scientist Print Edition
By Sherry Turkle
Vía Slashdot

Is social networking changing the way people relate to each other?

For some people, things move from “I have a feeling, I want to call a friend” to “I want to feel something, I need to make a call”. In either case, what is not being cultivated is the ability to be alone and to manage and contain one’s emotions. When technology brings us to the point where we’re used to sharing our thoughts and feelings instantaneously, it can lead to a new dependence, sometimes to the extent that we need others in order to feel our feelings in the first place.

Our new intimacies with our machines create a world where it makes sense to speak of a new state of the self. When someone says “I am on my cell”, “online”, “on instant messaging” or “on the web”, these phrases suggest a new placement of the subject, a subject wired into social existence through technology, a tethered self. I think of tethering as the way we connect to always-on communication devices and to the people and things we reach through them.

How is it affecting families?

Let me take a simple example. Tethered adolescents are given a cellphone by their parents. In return, they are expected to answer their parents’ calls. On the one hand, this arrangement gives the adolescent new freedoms. On the other, the adolescent does not have the experience of being alone, of having only him or herself to count on: there is always a parent on speed dial. This provides comfort in a dangerous world, yet there is a price to pay in the development of autonomy. There used to be a moment in the life of an urban child, usually between the ages of 12 and 14, when there was a first time to navigate the city alone. It was a rite of passage that communicated, “You are on your own and responsible.” Tethering via a cellphone buffers this moment; tethered children think differently about themselves. They are not quite alone.


Read more »

Tags:

Pintada friki

Vía Menéame

La pintada es de Tarifa, España… algún friki debianero… :)

apt-get remove fronteras
apt-get remove fronteras

Leí por ahí una buena variante:

apt-get remove --purge fronteras

Tags: ,

Experiencia

Experiencia es reconocer el error cuando se lo vuelve a cometer.

- un programador.

Tags:

Open Kairos – Una oportunidad abierta

Sergio Belkin (profe Linux del Club de Programadores), acaba de lanzar Open Kairos, un sitio dedicado a la promoción de la tecnología Open Source. Esta es la definición del proyecto:

Open Kairos es un nuevo sitio de noticias, promoción, documentación y análisis de tecnología Open Source. Está enfocado hacia el software libre y métodos de tecnología alternativos. En realidad decir “alternativos” en algunos casos no sea cierto, ya que el software open source se está convirtiendo en el tipo de software predominante en varios ambitos.

Podría considerarse un upgrade de Escritorio YA! el primer sitio de difusión en castellano netamente orientado a la utilización de software libre en computadoras de escritorio. Gracias a todos los que visitaban asiduamente ese sitio. Esta es una nueva etapa.

Kairos es un término griego que significa tiempo, pero no en sentido cronológico (kronos), sino más bien de oportunidad. Seguramente este es un tiempo de oportunidad para concebir un modelo tecnológico, inclusivo en lugar de exclusivo, sin monopolios. Es la oportunidad para usar, desarrollar y fomentar el uso de software y hardware que garanticen la transparencia

Referencia: Kairos en Wikipedia (inglés)

Open Kairos promueve el software libre y el equilibrio entre derechos de autor y de la comunidad.

Open Kairos NO tiene relación alguna con FSF ni con OSI , aunque comparte muchos conceptos con ellas.

Tags: ,