夜の抜ける

A blog about anything and everything :P.

InitNG se muda

leave a comment »

Ha comenzado la migración a Gitorious.

Ya están disponibles InitNG y los bootscripts. Algunas otras cosas seguirán viviendo en nuestro repo svn por un tiempo más, entre ellas la rama 0.6.10 y los ifiles.

Otros componentes serán migrados o no, dependiendo de la decisión de sus respectivos autores.

Written by Ismael Luceno

2009-08-31 at 00:10

Posted in InitNG

Nuevo blog pospuesto

leave a comment »

La razón de esto es que me topé con varias limitaciones del software que pretendía usar. Estaré trabajando en un blog y wiki nuevos, modulares y mejores que el resto de lo que otros mortales hayan desarrollado, o de lo contrario adoptaré algo que cumpla con esas características.

Por cierto, el post sobre 911sistemas llevó a una increíble serie de comentarios fuera de lugar, por lo cual fue completamente removido luego de una breve deliberación conmigo mismo :P.

Written by Ismael Luceno

2009-08-30 at 23:44

Posted in Uncategorized

Nunca tan fácil: migración a git

leave a comment »

Realmente me sorpende lo fácil que es la migración a git, muy muy groso como pude tironear código desde svn y mi repo git privado, conservando la historia, sin problemas y en un toque :D.

Written by Ismael Luceno

2009-07-17 at 01:26

Posted in Herramientas de desarrollo, InitNG

Tagged with

shellscript: procesando una lista en paralelo

with 6 comments

Gracias a un oportuno comentario de CMA, nace una obra de arte :P.

#!/bin/sh
PLIMIT=5
PCOUNT=0
PIDS=

while read item; do
  procesar $item &

  PIDS="$PIDS $!"
  [ $((++PCOUNT)) -ge $PLIMIT ] && {
    while true; do
      CUR=`echo $PIDS | cut -f1`
      PIDS=`echo $PIDS | cut -f2-`
      wait $CUR
      [ $((--PCOUNT)) -lt $PLIMIT -o $? -eq 127 ] || break
    done
  }
done
wait

Comentarios? :)

Written by Ismael Luceno

2009-07-09 at 22:23

Posted in Scripts & Snippets

Método para detectar bots

leave a comment »

Ayer, mientras configurabamos joomla en la laptop de mi novia, descubrí su maravilloso invento, una forma de ordenar archivos que hace muy difícil que un bot pueda encontrar el orden correcto :). El método es sorprendentemente sencillo para los humanos, consiste en usar una frase, y a partir de las palabras en esta, tomando de a una o dos, nombrar los archivos, así un humano podría organizarlos en el orden correcto, por ejemplo:

$ ls
como.jpg estas.jpg hola.jpg

Obviamente, con un poco de IA se puede conseguir un bot que ordene cosas como esas, pero sin dudas es más complejo y costoso :).

Written by Ismael Luceno

2009-06-06 at 11:39

Posted in Uncategorized

Exámenes en Odesk

with one comment

Luego de hacer varios exámenes de Odesk en www.expertrating.com, se vuelve evidente
y desesperante que la calidad de los mismos influya en los resultados que
obtengo, son deplorables las pruebas sobre C, C++, protocolos de red, shell
scripting, dan ganas de atravezarse los ojos con alfileres al verlos…

Como ejemplo, en la prueba sobre TCP/IP se hace la pregunta sobre que contiene
el archivo “HOSTS” (no recuerdo tener un archivo con ese nombre, supongo que
se refieren a /etc/hosts), en la cual como respuesta correcta tiene que el
archivo contiene mappings de direcciones IP a nombres NetBIOS (existe uno en
windows, pero se llama %WINSYSDIR%\etc\LMHOSTS si mal no recuerdo), posteriores
preguntas hace otras referencias a NetBIOS… no hay mucho que decir, incluso
hay atrocidades mucho peores en otras pruebas; especialmente me molesta que
habiendo respondido bien a varias preguntas ambiguas haya obtenido un puntaje
tan bajo en el exámen sobre C, quizás porque se refieren a C89 mientras yo asumí
C99 (o quizás peor, MSVC), pero no lo aclaran en ningún lado… y aún así
muchas preguntas tenían errores.

No es el primer sitio de este tipo en el que me encuentro con esto, pero
teniendo en cuenta que las pruebas son para un sitio popular como Odesk… me
esperaba algo de mejor calidad…

Written by Ismael Luceno

2009-05-25 at 23:10

Posted in Uncategorized

Hola Mundo

leave a comment »

Lamentablemente el concurso de hola mundos de CLD no le hizo justicia a mi versión, así que decidí mejorarla :).

hola-mundo.c:

#include <stdio.h>
#include <stdint.h>

int main()
{
        uint64_t w = 0x29e4755a00b1e8;
        for (int t = w >> 062; t--; w >>= 5)
                putchar((w & 037) + 0100 >> !(w & 037));
        putchar(w);
        return 0;
}

Para compilar: c99 hola-mundo.c -o hola-mundo

Written by Ismael Luceno

2009-04-22 at 14:00

Posted in Uncategorized