Sunday, April 27, 2008

Lenguajes de programacion... famosos

O algo así. Un grupo de gente con imaginacion y mucho tiempo libre ha hecho una asociación entre lenguajes de programación y los personajes famosos que les corresponden. El HTML en concreto es genial. Y los comentarios tampoco estan nada mal.

Wednesday, April 9, 2008

Un minijuego en 14kb... ¡de JavaScript!

Impresionante lo que hace a veces la gente para optimizar. Recuerdo cunado hace unos años vi un juego en 3D bastante resultón con un ejecutable de 96kb, llamado .kkrieger. Impresionante, pero razonable, usando ensamblador, generacion de texturas al vuelo y demás se podía dar por válido. Si uno se para a pensar, 96kb son unas 20k instrucciones, lo cual da para bastante. Si además se toma en cuenta la compresión que seguro tiene, mucho más. Aun así, era increíble ver el resultado.

Ahora la sorpresa ha venido por otro lado. Siempre he creído (y para que engañarnos, sigo creyendo) que JavaScript es un invento del demonio. Sin embargo via alt1040 he visto este juego que me ha dejado alucinando. Si ya crear imagenes con javascript es algo que jamás hubiera intentado, hacer que sea interactivo y jugable es una pasada. El autor comenta la creación en su blog, por si a alguien le interesa el "makeof". En realidad los 14kb son el resultado comprimido, pero aun así es tremendo. Si algún día necesito un dolor de cabeza me asomaré a mirar el código del invento...

Tuesday, April 8, 2008

FreeBSD 7.0

Tras postponerlo repetidas veces, poco a poco voy acercandome a una configuración segura de la red de casa, aunque sólo sea por amor al arte.
Dado que hay ordenadores que solo pueden usar WEP y además me gustaría poder acceder a mis archivos desde fuera, es indispensable usar VPN, y si se puede usar una para cada cosa incluso mejor. Y como se trata de estar REALMENTE seguro, no se puede comprometer la base del sistema, es decir la clave privada de la autoridad de certificacion. Y ¿que hay mas seguro que un ordenador apagado y desconectado de la red? ¡Y no vale mencionar a Chuck Norris!

Así que ya puestos probé la nueva versión de FreeBSD, la 7.0. Por desgracia, me ocurrió exactmente lo mismo que la primera vez que intente instalar la 6.3, que al bajar los datos del ftp dio innumerables fallos de falta de inodos libre y toco reiniciar la instalacion. Y eso que es un PC distinto, 100% dedicado a FreeBSD.

Claro está, antes de desconectarlo definitivamente hay que configurarlo y actualizarlo y que mejor para ello que kports. Eso sí, primero hay que configurarlo. Al arrancar por primera vez nos pide que configuremos las opciones en el menu correspondiente y que tengamos instaladas las siguientes dependencias:
  • sysutils/portupgrade
  • net/cvsup-without-gui
  • security/portaudit
Normalmente con eix o aptitude se podría verificar si está instalado, pero... ¿ y en FreeBSD? Hay un programa muy bueno para ello... kports. Pero antes de entrar en un bucle, mejor intentarlo por consola y que mejor estrategia para saber como que RTFM. Para buscar hay varias opciones que se me ocurran a bote pronto:

[n0rdik0@vanguard /usr/home/n0rdik0]$ pkg_info | grep portupgrade
portupgrade-2.3.1,2 FreeBSD ports/packages administration and management tool s
[n0rdik0@vanguard /usr/home/n0rdik0]$ ls -d /var/db/pkg/portupgrade*
/var/db/pkg/portupgrade-2.3.1,2
[n0rdik0@vanguard /usr/home/n0rdik0]$

la segunda opción es mcuho más rápida pero a cambio la primera da más información. Si el paquete no está instalado se puede instalar con de manera bastante simple:

[n0rdik0@vanguard /usr/home/n0rdik0]$ pkg_info | grep cvsup
[n0rdik0@vanguard /usr/home/n0rdik0]$ ls -d /var/db/pkg/cvsup*
ls: /var/db/pkg/cvsup*: No such file or directory
[n0rdik0@vanguard /usr/home/n0rdik0]$ su -l
Password:
vanguard# pkg_add -r cvsup-without-gui
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.0-release/Latest/cvsup-without-gui.tbz... Done.
vanguard# logout
[n0rdik0@vanguard /usr/home/n0rdik0]$ pkg_info | grep cvsup
cvsup-without-gui-16.1h_3 General network file distribution system optimized for CVS
[n0rdik0@vanguard /usr/home/n0rdik0]$ ls -d /var/db/pkg/cvsup*
/var/db/pkg/cvsup-without-gui-16.1h_3
[n0rdik0@vanguard /usr/home/n0rdik0]$

Y así podemos manejar los paquetes a nivel de CLI, aunque por supuesto es mucho más cómodo hacerlo gráficamente. Sólo queda arrancar el kports, configurar la version de FreeBSD, el mirror y actualizar la lista de ports.

Tras dejarlo todo como guste, el siguiente paso será generar los certificados.

Wednesday, April 2, 2008

Seguridad made in Microsoft

Escuchando espisodios atrasados de SecurityNow me enteré de algo muy interesante. Por lo visto en Microsoft saben que sus sistemas operativos son un nido para keyloggers así que los teclados en sí tampoco tienen que ser seguros, así que "cifran" la comunicación entre sus teclados inalámbricos y el receptor haciendo un XOR con un valor fijo de.. ¡1 byte! Es bastante dificil calcular cuanto le llevaría a un procesador moderno atacar el sistema por fuerza bruta, 256 posibilidades, a un ritmo de unas 10 mil millones por segundo... ufff, voy a sacar la calculadora...

En la noticia dice que "se ha roto el cifrado de los teclados de Microsoft", pero como comenta alguien en otra página: "¿Desde cuando un XOR de 8 bits se considera cifrado?"

Tuesday, April 1, 2008

Wireshark 1.0

Leo en slashdot que ha salido al fin la versión 1.0 de Wireshark, para mí la mejor herramienta para ver que es lo que pasa por la red en cada momento. Los comentarios son de lo mejorcito:

Comparando Wireshark con tcpdump:
- Now come on! What sort of a lede is that? Just a tease and no candy? What does Wireshark 1.0 DO for pete's sake?
- A quick read: "Network protocol analyzer for Windows and Unix that allows examination of data from a live network, or from a capture file on disk." Basically it is tcpdump with a GUI.
- That is kind of like saying a bulldozer is like a shovel, but yellow.

Nomencaltura de versiones según el origen del software:
Adobe: v1.0 is released; a week later 1.0.1 is released. A few months after that, 1.0.2. Then three years go by, and suddenly it's at 2.0, which is broken from the install.

Microsoft: v1.0 is released; no one buys it. v2.0 is released; it's still not really usable. v3.0 comes out, and people suddenly line up for it around the block. v3.0SP1 is released and fixes most of the really bad bugs while introducing a few others, some random security vulnerabilities, invalidating half the licenses of all previous versions, and causes DrDOS to crash.

Apple: v1.0 is released, but it has a bug so Apple pulls it from the download server for a few hours, after which a patched version replaces it, with the same exact version number, and no mention of any bugfix in the release notes. Any mention of any alleged switcheroo or the problem that existed in the first 1.0 release is ruthlessly and systematically quashed in the support forums on Apple's website; unfortunately, their lawyers can't censor the entire net.

La verdad es que aunque el lanzamiento es real ya que llevan tiempo con versiones 1.0RC, parece ser poco más que una broma del 1 de Abril (April Fool's Day: día de los inocentes) ya que de la version 0.99.8 a la 1.0 sólo cambian un par de parches de seguridad y poco más.