This is a test!
Fri Mar 2
Esto es un test
¡desafio shortcode! group by para arrays
Wed Apr 21
a veces jugamos ‘competencias’ con amigos/compañeros viendo quien hace el codigo mas corto… anteriormente hicimos buscar año bisiesto mas corto y otras…
esta vez la idea es crear una funcion para agrupar arrays multidimensionales de una forma similar al GROUP BY en MySQL.
reglas/aclaraciones:
- la funcion debe llamarse group
- la funcion debe tomar dos parametros, el primero es el array multidimensional y el segundo un string con los subindices por los que debe agrupar separados por coma
- no es necesaria la validacion de los parametros
- debe agregarse al final de cada componente un subcomponente que indica cuantos elementos se agruparon (1 si no se agrupo ninguno)
- debe agrupar todo tipo de indices (salvo que contengan coma)
- se pueden crear funciones auxiliares
- la version de php es 5.3.1 corriendo en fedora fresh install
- solo se va a medir la funcion, sin los tags de php
- puede tirar notices/warnings
- el “contest” cierra el 30/04/2010 a las 18:00 GMT-3
- todo lo demas… vale :)
ejemplo:
$x = array( array(1,2,3), // 0 => 1, 1 => 2, 2 => 3 array(1,5,3), // 0 => 1, 1 => 5, 2 => 3 array(1,2,3), // 0 => 1, 1 => 2, 2 => 3 array(1,2,4), // 0 => 1, 1 => 2, 2 => 4 ); var_dump(group($x, '0,2')); // agrupar el array $x por subindice 0 y subindice 2 resultado: array( array(1,2,3,3), // se agruparon los 3 primeros dejando solo el primero y se le agrega al final la cantidad de elementos que se agruparon (3) array(1,2,4,1), // en este caso no se agrupo ninguno, se agrega 1 );
enviar los codigos a 
lazyload – carga de imagenes con delay
Tue Mar 30
creo que es mi primer plugin mas o menos prolijo de jQuery, lo que hace es no mostrar las imagenes hasta que entran en la pantalla del usuario evitando cargar las que quedan fuera y haciendo asi mas bella la vida para los servidores y los clientes :)
esta inspirado en este plugin de Mika Tuupola.
uso:
$(‘img’).lazyload()
opciones:
- placeHolder: imagen para mostrar hasta cargar la correcta
- effect: efecto al mostrar la imagen (i.e. show o fadeIn)
- effectSpeed: duracion del efecto (milisegundos)
- sensitivity: cuantos pixels antes cargar la imagen
ejemplo:
$(‘img.lazy’).lazyload({ placeHolder: ‘blank.gif’, effect: ‘fadeIn’, effectSpeed: 250, sensitivity: 200 });
demo: comentarios de T! :)
lazyload.js (893b)
de mIRC scripting a Javascript
Tue Feb 16
hoy aplique ideas del viejo mIRC a la web, para que los users no posteen los titulos en mayusculas. es un snippet de tabo publicado en mircscripts.org porteado a js.
/* _capsprot(str) : devuelve el porcentaje de mayusculas en str */
function _capsprot(s) { var len = s.length, strip = s.replace(/([A-Z])+/g, '').length, strip2 = s.replace(/([a-zA-Z])+/g, '').length; percent = (len - strip) / (len - strip2) * 100; return percent; }
profiling en php
Fri Feb 5
escribi una clase muy simple para hacer analisis de performance en php. functiona como un stopwatch: se instancia la clase para empezar a tomar el tiempo y se van agregando laps con un id opcional para luego analizar. para terminar se agrega una lap llamada end o se llama al metodo stop.
un ejemplo, y el source code
edit: functiona? :S se nota que vengo dos dias programando sin dormir.
fases lunares
Tue Feb 2
una clase en php para el calculo de las fases lunares. esto es algo que tuve que desarrollar para un modulo de clima y creo que quedo bastante lindo, por eso lo publico.
puede calcular, dandole una fecha a partir de 1970, la fase lunar, la visibilidad, fecha de la proxima luna nueva / llena y el porcentaje del ciclo actual
aca un ejemplo y aca el source code
edit: la misma clase pero en javascript aca
¡kuain!
Mon Feb 1
un quine es un programa cuyo source code es igual al output que produce… como no encontre ninguno que me guste en php hice uno mio (la gracia es hacerlo lo mas corto posible)
<? $a='<? $a=\'%s\';printf($a,addslashes($a));';printf($a,addslashes($a));
tip para codigos mas cortos: no hay errores ni warnings si no se incluye el close-tag de php :)
fcache, memcached alike
Sat Jan 16
viernes productivo, escribi una clase que emula a memcached pero usando archivos para guardar los datos y sin ningun requerimiento en el servidor, salvo PHP5 y permiso de escritura…
aca un ejemplo, y aca el source
el ejemplo la primera vez tarda 5 segundos en cargar, simulando un procedimiento lento, pero al cargarlo de nuevo dentro de los 20 segundos va a ser instantaneo ya que lee del cache…
la opcion max_files no la probe porque no tengo exec en el hosting y no creo que ande :)
me habia olvidado mi clave de zonajobs y complete el formulario para recuperarla, me sorprendio bastante que al recibir el mail no me habian generado una clave nueva, sino que habian recuperado la anterior… no las guardan encriptadas? asi nomas? que miedo…
me puse a jugar un poco pero no encontre nada interesante, LFI pero no encontre forma de explotarlo hasta que fui a editar mis datos, me llamo la atencion que el cambio de email no pida confirmacion: puedo asociar mi cuenta a otro mail, con la clave original y recuperarla ahi? esto se pone turbio
por ultimo, catastrofe… el formulario de los datos personales toma el id de usuario de un input hidden y no de la session, cuestion que modificando mi id por otro, puedo cambiar el mail (y todos los datos) de otra persona, recuperar la contraseña y volverlo al mail anterior sin que el pobre usuario se haya enterado…
feo zonajobs, iba a dar de baja mi cuenta pero no encontre donde, por las dudas puse un password que no comparto con ningun otro sitio :)
fase de testing
Fri Jan 8
estos son un par de bugs que reportaron y me parecieron graciosos…
usuario: nadie tiene papel para imprimir mas de una hoja la orden, habria que hacerla en una sola hoja
reply: pongan mas hojas? si lo achicamos mas no van a leer nada
usuario: …probe las 60 y todo bien…
reply: Si probaste las 60 fotos y todo bien… Cual es el bug?
usuario: Podemos quitar el Hoja 1 de 1 de la impresion?
reply: si queres desactivalo desde tu browser, a mi me gusta.
usuario: Pero el que no tiene mail no tiene Internet!
reply: …y si sos tester, sos boludo?
usuario: Que es ese cuadrado con un mas al lado de empresas?
reply: para ver mas empresas.
usuario: Cuando quise probar el boton de Imprimir me mostro la selección de la impresora pero no me mostró nada más
reply: Porque tenes que imprimirlo para verlo en eso consiste la funcionalidad
usuario: En la subida de foto en lugar de aparecer el path completo del lugar donde se sube la foto solo aparece el boton de choose file, quizas sea de ayuda para el usuario que aparezca como en windows
reply: Forma parte de la UI de Mac, tampoco tenemos nivel de control como para modificarlo.
usuario: El proceso de login es mucho mas lento que con Windows
reply: …no depende del sistema operativo sino de la performance de la PC/Mac ……
usuario: Cuando escribi el user para loguearme me escribio deajo de cada letra un puntito rojo como si estuviera revisando el spell
reply: Es el corrector ortografico instalado en el OS. No tenemos tanto nivel de control como para deshabilitarlo.
usuario: Recuperar clave seria ideal que devuelva la clave que la persona cargo y no que genere una nueva. Es mejor para la percepcion del cliente
reply: las claves se guardan encriptadas y no es reversible… tambien podemos guardarle el numero de tarjeta de credito y el codigo de seguridad por si la pierde y la quiere recuperar