Plugin de WordPress WP-No-Format (Evitar el Formateo/Modificación del Código HTML)

Para los que están acostumbrados a trabajar con el modo HTML del editor de WordPress y odian cuando crea <p>s y reorganiza <br/>s a su voluntad (entre otras cosas), hice este plugin.

Estuve buscando bastante este tipo de funcionalidad y, como no pude encontrar ningun plugin que te dejara decidir qué partes del código querrías dejar “sin formato”, comencé a escribir el mío propio…

WP-No-Format

Es muy fácil de usar. Luego de activarlo, simplemente podés escribir:

<!-- noformat on -->

en el editor de WordPress justo antes de la parte que quieras proteger y, a partir de ese momento, WordPress no va a tocar el código HTML que escribas.

Luego, si querés reanudar el “formateo” standard, tenés que tipear:

<!-- noformat off -->

Y eso es todo!

GNU GPL v3 WP-No-Format está liberado bajo la licencia GNU GPL v3 (attached)…

Actualización (versión 1.1): soporte agregado para la función convert_chars. Antes, algunos caracteres resultaban convertidos a entidades (por ejemplo, al escribir “&&” aparecía como “&#038;&”). [Actualización recomendada]

Acá está la lista de cambios.

Última versión de WordPress con la que fue testeado: 2.8.4

UpTime (Cuánto tiempo estuvo prendida la computadora)

Con esta pequeña herramienta, podés saber cuánto tiempo hace que está prendida la computadora…

UpTime

GNU GPL v3 UpTime is licensed under the GNU GPL v3 (attached)…

Como siempre, acá están los links…

Para los que quieran leer fácilmente el código relevante:

DWORD dwMilliseconds = GetTickCount();

int nSeconds = (dwMilliseconds/1000)%60;
int nMinutes = (dwMilliseconds/1000/60)%60;
int nHours = (dwMilliseconds/1000/60/60)%24;
int nDays = dwMilliseconds/1000/60/60/24;

char pszStr[256];
sprintf_s(pszStr, 256, "%d days, %d hours, %d minutes and %d seconds", nDays, nHours, nMinutes, nSeconds);

MessageBox(NULL, pszStr, "UpTime 1.0 by NeoEGM <http://www.neoegm.com/software/uptime/>", MB_ICONINFORMATION);

Guitar Trainer (Entrenador de Guitarra)

Guitar Trainer es un programa que hice para facilitar el aprendizaje de la posición de las diferentes notas en el diapasón de la guitarra. Hay montones de funcionalidades pendientes (incluyendo sonido, diferentes escalas, un juego de adivinación en base a la posición y al sonido, etc.), pero es bastante útil con las funcionalidades actuales.

GuitarTrainer_FullFretboard

Seguir leyendo…

El pie derecho inteligente

Hace algunos días, recibí un e-mail que afirmaba que había un desafío que no podía ser superado.

Las instruccines eran bastante simples:

1- Mientras estás sentado en tu escritorio, levantá del piso tu pie derecho y hacé círculos en el sentido de las agujas del reloj con él.
2- Ahora, mientras seguís haciendo esto, dibujá el número “6” en el aire con tu mano derecha. Tu pie va a cambiar de dirección!

Después de romperme la cabeza por un par de intentos, finalmente me di cuenta de que si se comienza con velocidades muy bajas, se puede aprender a hacer perfectamente!

De todos modos, me pareció bastante interesante como para compartirlo :)
Como siempre: la práctica lleva a la perfección… (Sin ponerse maniático, obvio!)

Ahora a empezar a probar!

Generador de contraseñas aleatorias PHP

Como una nueva secuela del Generador de contraseñas aleatorias para Excel y el Generador de contraseñas aleatorias, hice un servicio generador de contraseñas aleatorias en PHP…

Podés llamarlo de este modo (si pasás por encima de los valores de los parámetros, ves a ver la explicación):

http://www.neoegm.com/services/random_password.php?length=8&upper=1&lower=1&numbers=1

Así que, por ejemplo, para generar una contraseña de 10 caracteres numéricos podrías acceder a:

http://www.neoegm.com/services/random_password.php?length=10&upper=0&lower=0

¿Querés el código fuente?

Generador de contraseñas aleatorias

Como una alternativa simple y rápida de usar al Generador de contraseñas aleatorias para Excel, hice esta adaptación Javascript del código de la función de generación aleatoria de contraseñas… Podés ver el código fuente más abajo…

Caracteres


Mayúsculas Minúsculas Números

Contraseña Aleatoria


GNU GPL v3El código está liberado bajo la licencia GNU GPL v3
En caso de que quieras ver el código de la función sin tener que buscar en el código fuente de la página:

/*************************************************************************************************
Random Password Generator by NeoEGM

Copyright (C) 2009 Ezequiel Gastón Miravalles

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*************************************************************************************************/

/*************************************************************************************************
Software: Random Password Generator by NeoEGM
Author: Ezequiel Gastón Miravalles
Website: http://www.neoegm.com/software/random-password-generator/
License: GNU GPL v3 (read above)
*************************************************************************************************/

function RandomPassword(Length, Upper, Numbers, Lower)
{
	Upper = typeof(Upper) != 'undefined' ? Upper : true;
	Numbers = typeof(Numbers) != 'undefined' ? Numbers : true;
	Lower = typeof(Lower) != 'undefined' ? Lower : true;
	
    if (!Upper && !Lower && !Numbers)
		return "";

    var Ret = "";
    var Num;
    var Repeat;

    Chars = 26 * 2 + 10;	//26 (a-z) + 26 (A-Z) + 10 (0-9)
	//a-z = 97-122
	//A-Z = 65-90
	//0-9 = 48-57

    for (i = 1; i <= Length; i++)
	{
        Repeat = false;

        Num = Math.floor(Math.random()*Chars);

        if (Num < 26)
            if (Lower)
                Ret = Ret + String.fromCharCode(Num + 97);
            else
                Repeat = true;
        else if (Num < 52)
            if (Upper)
                Ret = Ret + String.fromCharCode(Num - 26 + 65);
            else
                Repeat = true;
        else if (Num < 62)
            if (Numbers)
                Ret = Ret + String.fromCharCode(Num - 52 + 48);
            else
                Repeat = true;

        if (Repeat)
            i--;
	}

    return Ret;
}

Generador de contraseñas aleatorias para Excel

Algunas veces quizás tengas que generar automáticamente diferentes contraseñas aleatorias. Esta podría ser una tarea muy simple si existiera una función de Excel tal como “RandomPassword”, así podrías escribir:

=RandomPassword(8)

Y obtener algo así como:

e8NwB9Bi

Bueno, esa es exáctamente la idea del Add-in (complemento) que hice…

Random Password

Si no es esto lo que estás buscando, como alternativa, podés visitar el generador online de contraseñas aleatorias.

Seguir leyendo…

El Gigantesco Show

Este es el último tema que compuse (hace casi 2 meses) y se los dejo acá con letra y música para que lo escuchen.

La grabacíón no es final, pero por ahora es lo suficientemente clara como para compartir.

Si lo quieren, abajo de todo está el link para descargarlo.

Clip de audio: Es necesario tener Adobe Flash Player (versión 9 o superior) para reproducir este clip de audio. Descargue la versión más reciente aquí. También necesita tener activado Javascript en su navegador.

Ezequiel Miravalles – El Gigantesco Show

Alguien puso las reglas
Y yo las acepté
Me dijeron que era una actuación
Pero que me la iba a creer

Que cada tanto lo iba a intuir
Aunque volvería a caer
En una carrera ascendente
Por volver a ver

No tengas miedo, animate
Hacé lo que sentís
Porque solamente eso
Te puede hacer feliz

No te tomes tu papel en serio
No lo dejes que te consuma por dentro
Olvidate lo que “deberías” hacer
Jugá, probá, si fallás, continuá

Tus padres, tus tíos, tus abuelos, tus primos
Tu novio, tu amigo, compañero y vecino
Todos te imaginan un camino
Hacete caso a vos y definí tu destino

Que no te importe el qué dirán
Que digan lo que quieran
No te tiene que afectar
Pocos pueden afirmar
Que viven como quieren
Y te pueden ayudar

Cuántas veces te enojaste
Te quejaste, gritaste
Lloraste y odiaste
Por creer que tu vida
Sólo iba a la deriva

No vivas el día, anotando cosas perdidas
Cosechá libertades y verás novedades
Probá, probá, probá… no tengas miedo a equivocarte
El camino se acomoda, vos sólo…
Mirá la proa

Tus padres, tus tíos, tus abuelos, tus primos
Tu novio, tu amigo, compañero y vecino
Todos te imaginan un camino
Hacete caso a vos y definí tu destino

[Sólo]

No existen los errores
Siempre y cuándo
Todo lo que hagamos
Sea porque lo deseamos

Preguntate todo el tiempo
Si te contenta tu vida
Si la respuesta no es “sí”
Pensá más cuando decidas

Si ansiás hacer algo
Y temés los resultados
Sólo confiá y animate
No renunciés sin intentarlo

Tus padres, tus tíos, tus abuelos, tus primos
Tu novio, tu amigo, compañero y vecino
Todos te imaginan un camino
Hacete caso a vos y definí tu destino

Tus padres, tus tíos, tus abuelos, tus primos
Tu novio, tu amigo, compañero y vecino
Todos te imaginan un camino
Hacete caso a vos y definí tu destino

Si te vieras como un actor
Parte de un gigantesco show
Podrías improvisar
Sin ningún miedo a fallar

El Poder Interior

Este es un cuento que escribí a los 16 años, pero aún así conserva un toque que me parece que vale la pena compartir.

Tiene marcadas influencias de muchos libros de Metafísca de Conny Méndez, Saint Germáin y demás que leí por ese tiempo; que, por cierto, les recomiendo…

No es muy largo (son 15 hojas A4), pero lo dejo para descargar en formato de Word para mayor comodidad.

cMemDbg – Librería fácil de usar de detección de fugas de memoria para C

Después de algún tiempo de trabajar con C, decidí desarrollar una librería muy fácil de usar que pudiera ayudar a detectar y trazar fugas de memoria (memory leaks).

Hay muchas soluciones para esto en la red, pero esta tiene la particularidad de ser realmente simple de implementar.

Seguir leyendo…