Tag Archive for 'opensource'

C++: ¿CodeBlocks o Netbeans o Anjuta o Eclipse?

Esa es la tarea de estos dias. Programar en Linux y encontrar una IDE decente, pero de verdad decente. Ya le di una oportunidad a Code::Blocks y lo veo muy inmaduro aun, al probar Anjuta de plano solo aguante unos pocos minutos y lo deseché. Estoy con Netbeans y aunque se hizo para Java, es trivial (estilo addon de Firefox 3) instalar el pluging de C++. Hasta ahora Netbeans me ha gustado mas que CodeBlocks.

¿Que busco?

  • Resalte de sintaxis C++ (incluyendo todo el arbol de includes)
  • Debug & Release profiles
  • Comodo de usar
  • Estable
  • Facilmente configurable y flexible
  • …y si se puede, que sea bonito

Creo que mi top 3 quedará asi:

  1. Netbeans
  2. Code::Blocks
  3. Eclipse (aun por definir)

The future is open

Detectando objetos de algun color

Hay que eliminar todo lo que no queremos, como otros objetos, y basura. Ademas se elimina el background y se quita el ruido.

Se usa el modelo de color HSV, y de el unicamente se usa el Hue pues es el que contiene la informacion de color. Se toma un Histograma como muestra del color y se procede a hacer una convolucion, opencv le llama “backproject” del histograma en la imagen completa. De ahi se obtiene un mapa de probilidades es cual es una imagen en escala de grises donde segun lo blanco de un pixel es la probabilidad que sea del color del histograma, mas blanco mas certero.

Entonces se procesa la imagen de probabilidades para encontrar formas, objetos y otras cosas, en principio se tiene un relajo, todo lleno de ruido.

proba_map.PNG

Se aplica umbralizacion para eliminar todos los pixeles debajo del umbral y si se quiere convertir a blanco todos los demas. Luego se hace deteccion de contorno en lo que queda.

proba_map_contornos.PNG

Ahora, podemos hacer ajuste de figuras geometricas y podemos descartar los que no ajusten bien y los que sean demasiado pequeños. Nos queda algo bastante bueno.

proba_map_ajuste_elipse.PNG

Como ven, en esta ultima ya no se tiene un mapa de pixeles de probabilidad, se tiene una elipse vectorial que se pinto directo sobre donde se predice que esta el circulo azul.

Vendo IAXy de Digium

Es un ATA que atraviesa los firewalls, no es SIP, es IAX. IAX atraviesa firewalls de una manera ingeniosa. Checa la Descripcion en Digium. Checate tambien la datasheet.

La subasta es en Mercadolibre. Animense.
venta.png

Controlar conexiones máximas por IP (dd-wrt)

Se puede hacer tambien en un linux normal, pero yo lo uso para controlar a mis vecinos que no usen BitTorrent ni demasiado Gnutella. Es cosa de controlar el máximo de conexiones por ip.

Para bloquear a todos, a 200 conexiones máximo es:

/usr/sbin/iptables -I FORWARD -s 192.168.1.0/24 -p tcp \\
       -m connlimit --connlimit-above 200 \\
       -j REJECT --reject-with tcp-reset

pero tu quieres que tu maquina, en este caso 192.168.1.10 sea libre de usar todo, entonces a esa maquina específica la dejas pasar.

/usr/sbin/iptables -I FORWARD -s 192.168.1.10 -j ACCEPT

OLPC México, Carlos Slim compra 250mil laptops

“La mejor inversión es educar a la gente, pues el mejor consumidor es la gente con dinero.” — Carlos Slim.

Segun se dice, hace poco Slim cerro un trato para comprar 250,000 laptops OLPC XO. Estas laptops serán usadas en bibliotecas de Ciudad Neza y Tuxtla Gutiérrez, segun Slim va a poner redes wireless para que a los niños les presten las laptops como si fueran libros y se conecten a internet a traves de Infinitum inalambrico.

macbook-vs-olpc.jpg

Lo interesante no es la nota, pues Carlos Slim ya es el mas rico del mundo, arriba de Bill Gates y el dinero es lo de menos para él. Lo mejor son las palabras de Slim:

“The best investment one can make is to educate to reduce poverty,” he said, noting that “wealthier citizens are better consumers.”

Que se traduciría en algo como:

“La mejor inversión es educar a la gente, pues el mejor consumidor es la gente con dinero.” Slim.

Gentoo on USB, Disk Image

Si, la verdad es que no la hice pensando en que los lectores de este blog quisieran usar un USB de 1 Giga para Gentoo, lo hice porque si alguna vez se me ocurre hacerlo de nuevo esto me facilitará mucho las cosas. Una imagen de Gentoo instalado en USB ya es muy Geek, o tal vez Freak. Ahi les va.

bash#dd if=/dev/sdh of=usb-1G-gentoo.img
2031616+0 records in
2031616+0 records out
1040187392 bytes (1.0 GB) copied, 109.212 s, 9.5 MB/s

Al comprimirla con bzip2 quedó de 226Megas, no esta nada mal considerando que en el sistema de archivos hay como 500 megas usados aparte de lo que usa /boot.

Tiene instalado lo siguiente:

  1. Solo para x86 de 32 bits
  2. Kernel 2.6.20+parches “Con Kolivas” (mejor desempeño)
  3. Fuse y sshfuse
  4. Apache
  5. Vim
  6. Avahi para el Rendezvous/ZeroConf
  7. elinks
  8. nano
  9. Soporte Bluetooth
  10. Soporte MMX y SSE

No tiene portage porque no cabe, pero por eso tiene fuse y sshfuse, si quieres usar portage para instalar cosas nuevas, simplemente se hace como root:

root@zombie/#  sshfs  192.168.0.20:/usr/portage  /usr/portage

Suponiendo que la maquina 192.168.0.20 tiene Gentoo y tiene un portage. No necesitas esas basofias de NFS, usando SSH se puede hacer bien facil.

El que tenga fuse hace trivial la instalacion de NTFS-3G para lectura y escritura total y segura de las particiones de Windows.

Avahi a lo mejor no te sirve para nada, jeje, pero a mi si me sirve porque voy a poner ese USB en una mini-itx y le voy a poner discos duros de 250 gigas, atascados de musica y otras basuras. Sirve para compartir via DAAP.

Apache se lo instale porque no tenia nada que hacer, así que no se, a lo mejor sirve para algo. Elinks y Vim son necesarios, para los niños hay Nano.

A ver si mas tarde saco una con Samba, FTP y el MPD o daapd

Si alguien dice que tiene un USB de 2 gigas, 3 gigas o 40 Gigas, y que esta imagen no le sirve, antes de que empiece a quejarse puede checar el Gparted, lo que se hace es tratar ese USB enorme como el mio y hacer:

dd if=imagen  of=/dev/sdX

Y ya, se tendra un USB con particiones de 1 Giga, eso es lo que se haria normalmente. Pero para los USB mas grandes se usa Gparted y se abren las particiones del USB, simplemente se hace mas grande la particion 2, cosa de arrastrar y soltar y Listo.

Trabajo Futuro

Seguro se hacen: Asterisk, un Daap server, un server FTP, Samba
Me gustaria saber si funciona: Coda, Ifolder o Unison y un server SVN.

Algo interesante es que solo tiene soporte MMX y SSE, eso permite que sea compatible con muchos procesadores. Pero no se beneficia de SSE2, 3DNOW ni SSE3. No soporta x86_64.

.