31 marzo 2012

Las fotografías comprometidas que borraste de Facebook siguen ahí

Bueno, en realidad, sean comprometidas o no, siguen ahí. Es un problema que se conoce desde hace bastante, pero que vuelve a ver la luz ya que años después de que se reportara, Facebook no ha hecho nada para solucionarlo. Cuando un usuario borra una fotografía de Facebook tan sólo elimina su acceso desde la página, marcandose para borrado el archivo pero conservándose por un periodo de tiempo en los servidores de la red social.
El periodo es indeterminado, y en teoría va en función de la carga de trabajo / cola de borrado que tenga la red social, aunque como dicen en algunos sitios, parece que en ocasiones las fotografías eliminadas nunca desaparecen, y de hecho son accesibles a cualquiera que tenga el vínculo al fichero físico en cuestion en el que se contiene.
Desde Facebook hablan de algo que no acaba de convencer, el sistema de almacenamiento que utilizan para fotografías y otros contenidos:
Los sistemas que hemos usado durante los últimos años no siempre eliminaban las imágenes de las redes de entrega de contenidos en el tiempo necesario cuando los usuarios decidían eliminar los archivos de Facebook. Hemos estado trabajando duro para solucionar eso y asegurarnos de que las fotografías se eliminan en un periodo de 45 días. La migración se completará pronto y actualmente sólo un pequeño porcentaje de usuarios almacenan sus fotografías mediante el antiguo sistema.
Parece que al menos se pone solución, o se pondrá, pero la polémica ya surgió hace tres años, cuando la base de usuarios de Facebook era mucho menor que ahora. Y es que a nadie le cabe en la cabeza ni la historia del sistema obsoleto, ni que no haya habido solución en tanto tiempo.

Tomado de: http://bitelia.com/2012/02/las-fotografias-comprometidas-que-borraste-de-facebook-siguen-ahi

30 marzo 2012

Todo sobre la portabilidad numérica en Argentina

Excelentes noticias para los lectores argentinos. Los usuarios de telefonía celular podrán, a partir de marzo, conservar el número telefónico aunque cambien de compañía. Hasta el momento, Movistar y Personal son las dos compañías que confirmaron la implementación de la portabilidad numérica.
Esta medida permite que el cliente pueda mudar su número a otra operadora la cantidad de veces que quiera, con la única limitación de respetar al menos 60 días de permanencia.  El trámite se realizará frente a la prestadora elegida, completando la Solicitud de Portabilidad, y llevará no más de 10 días hábiles, durante el cual se realizará una interrupción del servicio que difícilmente llegue a las 3 horas.
Finalizado el trámite, el cliente recibirá vía SMS en su celular un PIN para validar el proceso. La nueva compañía enviará la solicitud al Administrador de la Base de Datos para su verificación y control. Una vez aprobada, el cliente recibirá una nueva tarjeta SIM con la que conservará su número de teléfono.
Para realizar este trámite, la operadora solicitará el DNI en el caso de las líneas prepagas y, en el caso de las líneas con abono, el DNI y una copia de la última factura paga del servicio.
Si bien la portabilidad numérica se implementará a partir de marzo, es una medida que se venía postergando desde el año 2000, año en que se realizó su primer anuncio. Luego fue reglamentada el 17 de agosto de 2010 y, según el texto de la norma, establecía la implementación de una base de datos centralizada para mediados de ese año y su disponibilidad para diciembre de 2011, lo cual fue nuevamente aplazado.
Pero finalmente llegó la tan esperada portabilidad numérica al país que permite “mantener el número de celular para siempre”.
Como ya mencionamos, Movistar y Personal son las dos compañías que ya anunciaron esta medida y se espera que Claro y Nextel también se sumen en las próximas horas.

Tomado de: http://acceso-directo.com/todo-sobre-la-portabilidad-numerica-en-argentina/

Microsoft bloqueó todos los links de The Pirate Bay en Messenger (o La idiotez humana no tiene limites)

El gigante del software impide que los usuarios de su programa de chat puedan compartir enlaces de la página de descarga. Así, la empresa se une a organizaciones que luchan para que el portal sea censurado "por seguridad"
Microsoft bloqueó todos los links de The Pirate Bay en Messenger
Con este mecanismo de censura, cuando un usuario quiere compartir un enlace de la página de descargas de Torrents The Pirate Bay, el mensaje le es devuelto argumentando que no es seguro.
Microsoft se unió a la lucha contra la piratería y bloqueó en su servicio Windows Live Messenger todos los links que provengan del sitio web ubicado en Suecia.
El gigante del software considera a la página como peligrosa y puede implicar riesgos para sus usuarios, por lo cual decidió impedir la posibilidad de compartir este tipo de enlaces en su canal de chat.
Con esta acción el gigante del software se suma a las organizaciones y empresas de diferentes países que consideran que The Pirate Bay debe ser censurada "por seguridad".
El bloqueo de los enlaces se realiza a nivel de servidor y al parecer la empresa está monitorizando activamente las comunicaciones entre sus usuarios para evitar que se enlace a sitios que considera una amenaza.
Esta restricción no sólo está activa en Messenger sino que además funciona con otros canales de chats. 
The Pirate Bay anunció en su blog que ubicará sus servidores en el espacio exterior, y serán controlados por dispositivos GPS. Ubicando sus archivos en órbita, el sitio evita que sus contenidos sean inhabilitados.

Tomado de: http://www.infobae.com/notas/638933-Microsoft-bloqueo-todos-los-links-de-The-Pirate-Bay-en-Messenger.html

Bikini pixelado


No está mal el diseño de este bikini.
Lo que desde lejos es una sugerente belleza femenina en pelota picada ¡sorpresa! va perdiendo resolución a medida que nos acercamos.
Es apropiado para las chicas vergonzosas que vayan por primera vez a una playa nudista; despelotarse de buenas a primeras puede ser un poco violento.
Con este bikini podemos ir acostumbrándonos a las miradas furtivas aprovechando para cachondearnos un poco.
Es un concepto que no es nuevo, ya vimos hace tiempo algo parecido en ropa para nudistas para verano, y también para invierno.

Visto en Thefancy.com

Tomado de: http://www.nopuedocreer.com/quelohayaninventado/20532/bikini-pixelado/

29 marzo 2012

LibrePlan, como un OpenProject pero en un server web

LibrePlan es una herramienta web para la gestion de planes de trabajo en línea o dentro de una intranet (red interna). Básicamente cubre la necesidad de tener un OpenProject por cada maquina y reemplazarlos por un servicio en línea, donde lo podriamos acceder de un celular con navegador, o incluso desde una humilde y antigua subnotebook HP Jornada.
Funciona basicamente con un servidor con servicio de Aplicaciones Web Tomcat 6, Java, Base de Datos PostgreSQL, y un Apache.
LibrePlan ofrece diversas maneras de instalación dependiendo de la distribución de Linux que se utilice.
Para Ubuntu existen 2 caminos para su instalación:
  1. Agregando repositorios, hasta Ubuntu 11.04
    $ add-apt-repository ppa:libreplan/ppa
    $ apt-get update
    $ apt-get install libreplan
  2. Descargando el Paquete DEB
http://sourceforge.net/projects/navalplan/files/LibrePlan/
Para otras distros ofrece descargar el .war, extensión para aplicaciones Web con Tomcat
Instrucciones para Instalación de LibrePlan
Para ejecutar LibrePlan desde tu maquina local solo bastara con un navegador ingresar a:
http://localhost:8080/libreplan/

LibrePlan

28 marzo 2012

LimeSurvey, encuestas web de manera simple

LimeSurvey permite a los usuarios crear de forma rápida, potente e intuitiva, encuestas on-line en las que pueden participar decenas de miles de participantes sin mucho esfuerzo, funcionando como auto-guía para los encuestados que participan en las encuestas. Este manual se centra en cómo instalar, administrar y apoyar a los creadores, administradores y usuarios en la resolución de problemas en el uso diario de la aplicación.
Pueden bajarlo de http://www.limesurvey.com/ o tambien de http://sourceforge.net/projects/limesurvey/

Basado en: http://docs.limesurvey.org/Manual+de+Instrucciones+en+Espa%C3%B1ol

27 marzo 2012

Definiendo la partición de Swap en GNU/Linux

Normalmente al instalar GNU/Linux lo recomendado es crear una partición de Swap. Swap significa intercambio (del inglés "intercambiar".) y es un espacio usado como memoria adicional pero que está en el disco rígido; que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física, por lo tanto sólo te será de utilidad si crees que te va a faltar RAM para tu uso diario.

Según Linux Disk Partitioning Guide el orden de creación de las particiones tiene su importancia porque la zona exterior (los cilindros más externos) de los discos rígidos giran a mayor velocidad que los más internos. Por lo tanto, sería lógico colocar en la zona exterior del disco las particiones que más se vayan a utilizar y en la más interior las que menos. En un sistema doméstico, en teoría las particiones que más se usan son la partición raíz y la home, y estas deberían ser las primeras.
También hay quien opina que la partición de swap debe colocarse en la zona más rápida del disco para que cuando se use responda de la mejor manera posible. Esto significaría colocar la partición de swap la primera. Pero por otra parte, lo mejor es no tener que usar nunca la partición de swap. Además, hay quien dice que el acceso más rápido está en mitad del disco porque las cabezas tienen que desplazarse menos que cuando lo hacen a las zonas exteriores o interiores. ¿Conclusión? Crealas en el orden que consideres más conveniente. Podes no tener partición de swap, o crearla tan grande como quieras.

De todas formas, podes crear y borrar swaps: en /proc/swaps vas a ver una lista de las activas, y con swapon y swapoff las podes modificar como quieras. Si probas a hacer un cat o un strings a alguna swap, vas a ver cosas muy interesantes (como quizas la contraseña de root :-) ). Recorda que una diferencia entre swap y RAM, es que la RAM se vacía al apagar el equipo, la swap no.

¿Cómo crear una swap
Muy fácil, voy a dar el ejemplo de crear un archivo vacío (de 1GB como ejemplo) y usarla de swap con:

root@scatha:~# dd if=/dev/zero of=/archivoswap bs=1024 count=1G

y lo convertis en swap con:

root@scatha:~# mkswap /archivoswap

y despues lo activas con:

root@scatha:~# swapon /archivoswap
Si haces free o cat /proc/swaps podes comprobarlo. Recorda modificar el /etc/fstab.conf para que se monte al inicio la próxima vez.

/archivoswap none swap sw 0 0

El kernel de GNU/Linux a partir del 2.6.x añade un parámetro llamado swappiness que permiten a los administradores ajustar la forma en swaps de GNU/Linux. Es un número de 0 a 100. En esencia, los valores más altos conducen a más páginas que se intercambian, y los valores más bajos conducen a más aplicaciones que se están guardados en la memoria, incluso si están inactivas.
El valor predeterminado para swappiness es de 60. Podes alterar temporalmente (hasta el siguiente reinicio) escribiendo como root:

root@scatha:~# echo 50> /proc/sys/vm/swappiness

Si no sabes que es lo que estas haciendo, obviamente no deberias cambiar nada.
Que te diviertas!

Viajando en tren...

Tres ingenieros de Linux y tres de Microsoft se disponen a viajar en tren para asistir a un congreso. En la estación, los de Microsoft compraron sus pasajes y vieron que los de Linux solo compraban uno…

“Como van a viajar tres personas con un solo pasaje?”, les pregunto uno de los empleados de Microsoft.

“Ahora veras!”, le respondió uno de Linux

Subieron todos al tren y los empleados de Microsoft vieron como los tres ingenieros de Linux se meten juntos en el baño.

A poco de arrancar el tren, llegó el revisor pidiendo los pasajes, tocó la puerta del baño y dijo: “Ticket por favor”… la puerta se abrió lo suficiente como para que saliese un brazo con el pasaje en la mano, el revisor lo marcó y siguió su camino.

Al ver esto, los empleados de Microsoft acordaron que era una idea genial y que copiarían el truco a la vuelta del congreso, para ahorrar unas dolarcillos y que Bill los felicitara por su gran audacia.

De regreso, en la estación, los empleados de Microsoft compraron un solo pasaje, y se quedaron atónitos al ver que los ingenieros de Linux no sacaban ninguno…

“Como van a viajar sin pasaje?” preguntó perplejo uno de los empleados de Microsoft.

“Ahora vas a ver!”, respondió uno de los de Linux .

Al subir al tren, los tres empleados de Linux se metieron en un baño y los tres ingenieros de Microsoft en otro…


Arrancó el tren, y rápidamente uno de los de Linux salió del baño, se dirigió al de los empleados de Microsoft, tocó la puerta y dijo: “Ticket por favor”…

26 marzo 2012

Conectandose a WiFi desde la consola

El último recurso si nuestro equipo no tiene o nos falla el entorno gráfico para conectarse a una red WIFI.

Cuando falla la parte gráfica, siempre nos queda la consola (tambien llamada "terminal"), así que con estos sencillos pasos podemos ver como conectarnos a una red wifi:

Se desactiva el siguiente servicio por que si no tendremos problemas:
Usando un Slackware (o algo estandar):
root@scatha:~# /etc/rc.d/rc.networkmanager stop
Si tenes un Debian (o derivadas, ej. Ubuntu) es ligeramente diferente:
root@scatha:~# /etc/init.d/NetworkManager stop


Escaneando puntos de acceso:

root@scatha:~# iwlist wlan0 scanning
wlan0     Scan completed :
          Cell 01 - Address: 00:1E:66:66:66:81
                    Channel:6
                    Frequency:2.437 GHz (Channel 6)
                    Quality=32/70  Signal level=-78 dBm
                    Encryption key:off
                    ESSID:"glaurung@buenosaireslibre.org"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=000000126aa65e08
                    Extra: Last beacon: 35ms ago
                    IE: Unknown: 001D676C617572756E67406275656E6F7361697265736C696272652E6F7267
                    IE: Unknown: 010882848B962430486C
                    IE: Unknown: 030106
                    IE: Unknown: 2A0100
                    IE: Unknown: 2F0100
                    IE: Unknown: 32040C121860
                    IE: Unknown: DD06001018020000
          Cell 02 - Address: 00:14:66:66:66:F1
                    Channel:11
                    Frequency:2.462 GHz (Channel 11)
                    Quality=56/70  Signal level=-54 dBm
                    Encryption key:off
                    ESSID:"ancalagon-if4@bal.org"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
                              36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=0000003825dd6165
                    Extra: Last beacon: 361ms ago
                    IE: Unknown: 0015616E63616C61676F6E2D6966344062616C2E6F7267
                    IE: Unknown: 010482848B96
                    IE: Unknown: 03010B
                    IE: Unknown: 2A0104
                    IE: Unknown: 32080C1218243048606C
          Cell 03 - Address: 00:25:66:66:66:B7
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=11/70  Signal level=-99 dBm
                    Encryption key:on
                    ESSID:"casa"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                              9 Mb/s; 12 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=00000038258131bc
                    Extra: Last beacon: 1675ms ago
                    IE: Unknown: 000463617361
                    IE: Unknown: 010882848B960C121824
                    IE: Unknown: 030101
                    IE: Unknown: 050400010000
                    IE: Unknown: 2A0104
                    IE: Unknown: 32043048606C

root@scatha:~#

Ya tenemos la lista, ejecutándolo en la consola viene tabulado y queda más bonito.

Si tenemos WEP

root@scatha:~# iwconfig wlan0 essid mi_wifi

root@scatha:~# iwconfig wlan0 key clave-de-acceso

Si tenemos WPA

root@scatha:~# wpa_passphrase mi_wifi clave-de-acceso > /home/usuario/wpa.conf (cambiar el usuario por el nombre que tengas)

root@scatha:~# wpa_supplicant -B -Dwext -iwlan0 -c/home/usuario/wpa.conf

Asignamos DHCP y a correr:

root@scatha:~# dhclient -r (limpiar)

root@scatha:~# dhclient wlan0
Aunque siempre podemos hacer un simple script para que haga todo el trabajo sucio y no tener que molestarnos en recordar comandos ;-)

25 marzo 2012

Gobierno rumano prohíbe la adquisición de software libre



El Ministerio rumano del Interior prohíbe la adquisición de software libre y abierto a pesar de las recomendaciones de la Unión Europea. Según el Open Source Observatory, la justificación del Ministerio se da a través de la licitación de un sistema para gestionar registros criminales que tendrá un costo de €2.85 millones.
La prohibición es explícita en los documentos de la licitación:
Todas las versiones que conforman la oferta no pueden publicarse bajo una ‘licencia de software libre’ —GPL o similar.
Es extraño porque, como digo arriba la Unión Europea promueve entre sus miembros el uso de código y estándares abiertos para la administración pública. Más todavía porque el gobierno rumano admite que usa software libre para la administración de otros recursos. Sin embargo, dice el Ministerio que
por el momento, todos los sistemas críticos son implementados sobre plataformas empresariales con tal de seguir requerimientos estrictos de seguridad e interoperabilidad.
Es decir, parece que el gobierno rumano considera más sencillo continuar con las plataformas propietarias antes que diseñar un completo plan de migración de su infraestructura y sistemas críticos hacia el software libre. Las políticas internas les resultan prioritarias:
Mantenemos ese requerimiento [no software libre]. Dada la importancia de la adquisición en términos de seguridad de sistemas, las políticas internas anulan la posibilidad de cualquier modificación del código fuente.
Se sabe que algunos partidos han enviado una queja al Ministerio rumano, por lo pronto, se le exige confirmar si la plataforma empresarial
está basada en estándares abiertos, que provee interconectividad e interoperabilidad con las plataformas europeas existentes
De lo contrario, su requerimiento en la licitación sería ilegal y anti competitivo. Ojalá que la gente de ROSI se manifieste al respecto; es bien sabido que la comunidad open source rumana es muy sólida.
La interoperabilidad es un concepto fundamental hoy en día. Una utopía según la perspectiva. Se trata de que los estándares permitan la comunicación entre tecnologías, más allá de su origen o propósito. La interoperabilidad impulsa la utilización de una especie de lingua franca entre software privado y libre, lo que da la oportunidad para que uno u otro compitan por el mismo mercado. Lo contrario sería elegir por la tecnología propietaria, que por su parte suele favorecer una visión única del mundo, la estandarización de facto, impuesta.
Dicho de otra manera, el software y los estándares abiertos conducen a la interoperabilidad. El software cerrado, a la inoperabilidad a largo plazo.
Tomado de: http://alt1040.com/2011/08/gobierno-rumano-prohibe-la-adquisicion-de-software-libre

24 marzo 2012

Historia de la Tecnología: INTERCAL y los lenguajes de programación esotéricos

De Fortran a Python, de Smalltalk a Ruby, de Lisp a Clojure, los lenguajes de programación sirven para crear soluciones computaciones que modelan la realidad a su manera. Lenguajes cuyo ciclo de vida, con suerte, alcanza a extenderse por generaciones.
En la historia encontramos lenguajes hoy olvidados como el influyente ALGOL 60 o el es-sorprendente-que-siga-vivo lenguaje Cobol. Y en los extremos, allí donde pocos tienen el atrevimiento de viajar, experimentar o jugar, encontramos los llamados lenguajes de programación esotéricos.

Lenguajes de programación

Los límites de mi lenguaje son los límites de mi mundo. Todo lo que sé es para lo que tengo palabras.
— Ludwig Wittgenstein
Esa frase nos dice que el conocimiento que tenemos de la realidad está en función de la calidad de nuestro lenguaje. Tiene sentido porque modelamos en mundo con palabras y otros signos relacionados con el lenguaje. Para informáticos-desarrolladores yo diría que “los límites de mi lenguaje de programación son los límites de mi máquina”. Donde un lenguaje de programación es un conjunto finito de símbolos que escritos adecuadamente (es decir, conforme una sintaxis) pueden ser interpretados por una máquina. En otras palabras, un programa de cómputo es una combinación válida de esos símbolos.
Bueno, de hecho, tal máquina no existe realmente. Los lenguajes de programación funcionan siempre sobre abstracciones de la máquina física. Por ejemplo, Java, cuyos programas corren sobre una máquina virtual, a su vez sobre otra escondida por una serie de capas al estilo de la artesanía Matrioska hasta convertirse en instrucciones puras del procesador en turno.
En el futuro tal vez los lenguajes de programación serán tan parecidos a los “lenguajes humanos” que no podremos distinguir unos de otros. Entonces la programación será un acto de comunicación orgánico entre hombres y máquinas. A la fecha, creo que Wolfram Alpha es un adelanto de ello.

Lenguajes esotéricos

¿Qué hace que un lenguaje de programación sea esotérico? Su propósito (o la falta de él). Puesto que son el resultado de pruebas de concepto, experimentación, retos personales o simplemente bromas muy nerd. No suelen crearse para resolver grandes problemas tecnológicos, más bien para mostrar una sintaxis muchas veces ininteligible, pero muy apropiada para sorprender o divertir.
Parte del reto de diseñar un lenguaje de programación esotérico es que sea un lenguaje de programación en toda regla. En términos de ciencias de la computación, esto quiere decir que sea Turing completo.
Hace unos días hablamos de uno de ellos, de Trollscript, el lenguaje de programación troll, que no es sino una modificación del clásico Brainfuck, que veremos más adelante, antes hablaremos del primero de la historia.

INTERCAL

Estamos ante el padre de los lenguajes de programación esotéricos. Todo en él es una parodia bien pensada por sus creadores, un par de estudiantes irreverentes de la Universidad de Princeton en 1972. Uno de ellos, Don Woods cuenta que fue después de los exámenes finales y a altas horas de la noche cuando él y James Lyon iniciaron su curiosa conspiración contra los lenguajes establecidos.
INTERCAL fue diseñado para echar risas a costa de los lenguajes populares de inicios de los 70, entre ellos Cobol, Fortran, Basic, APL, Lisp, etc. Imitó sintaxis de varios de ellos y, sobre todo, agregó elementos nunca vistos por programadores en su sano juicio: no tenía ciclos, ni siquiera operadores básicos como la suma. El lenguaje de Woods y Lyon es un verdadero rompecabezas. El manual oficial de INTERCAL dice al principio:
Todo parecido con otros lenguajes de programación, vivos o muertos, es pura coincidencia… El nombre completo del compilador es “Compilador de Lenguaje sin un Acrónimo Pronunciable”… Es increíblemente fácil de aprender, adecuado para jóvenes programadores… y un reto para los profesionales… Es bien sabido que una persona cuyo trabajo en incomprensible se tiene en alta estima.
Un “Hello, world!” en INTERCAL se ve así:

DO ,1 < - #13
PLEASE DO ,1 SUB #1 < - #238
DO ,1 SUB #2 < - #108
DO ,1 SUB #3 < - #112
DO ,1 SUB #4 < - #0
DO ,1 SUB #5 < - #64
DO ,1 SUB #6 < - #194
DO ,1 SUB #7 < - #48
PLEASE DO ,1 SUB #8 < - #22
DO ,1 SUB #9 < - #248
DO ,1 SUB #10 < - #168
DO ,1 SUB #11 < - #24
DO ,1 SUB #12 < - #16
DO ,1 SUB #13 < - #162
PLEASE READ OUT ,1
PLEASE GIVE UP

Y en la página oficial de INTERCAL podemos leer esta linda advertencia:
Abandona toda cordura, tú que entraste aquí.
OK. Has programdo en C. Hackeado en Lisp. Fortran y Basic no te causan terror… Dominas una docena de lenguajes que los übergeeks nunca han escuchado… Quizá estés listo para el reto máximo: INTERCAL.
Todavía es posible usar INTERCAL. Por ejemplo, para instalarlo en distribuciones Linux como Ubuntu basta ejecutar:

sudo apt-get install intercal

Por supuesto, INTERCAL no es el único de su tipo. Hay decenas de lenguajes así. Cerremos este artículo con otros esotéricos y su particular forma de imprimir “Hello world!” en pantalla.

LOLCODE

Si los Lolcatz programaran usarían este lenguaje para saludar al mundo:
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

Brainfuck

Minimalista, pero así se programa un “Hello world!”.
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+
++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
Urban Müller lo creó en 1993 para implementar el compilador más pequeño posible.

ZOMBIE

Diseñado para ejecutarse sobre un motor interfaz de un ser máquinal orientado a zombies (?). Los elementos del lenguaje están compuestos de undeads, demons y djinns.
HelloWorld is a zombie
summon
task SayHello
say "Hello World!"
animate
animate

Shakespeare

Objetivo de diseño: hacer un lenguaje de programación con un código fuente tan hermoso que recuerde las obras de Shakespeare. ¿Cómo saluda este lenguaje? Con demasiadas líneas de código en comparación con los demás; estás son las diez primeras y son para la definición de variables:
The Infamous Hello World Program.
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.
Act I: Hamlet's insults and flattery.
Scene I: The insulting of Romeo.

Piet

Lenguaje de programación basado en pixeles, a medio camino entre el arte abstracto y la programación. Creado por Dangermouse, doctor en ciencias, dibujante y hacker. Disfruten su “Hello, world!” (gracias a Carlos por recomendarlo en los comentarios):

23 marzo 2012

El sexo es tan bueno para la salud como la vitamina D y el brócoli

La salud del placer: no es solo una fantasía, esta comprobado que el sexo es tan bueno para ti como alimentarte bien, mantener tus niveles de vitaminas y nutrientes o hacer ejercicio.
El sexo tiene para nosotros un sin fin de beneficios, desde extasiantes estados e increíbles sensaciones, hasta beneficios concretos para tu salud física, mental y emocional. Pero cuando hablamos de estos saludables efectos que tiene el sexo no solo nos referimos a los clásicos, como la liberación de estrés, la quema de calorías y la mejora de los ritmos de sueño. También existe otra gama de beneficios que abarca todos los planos de existencia de un individuo. Sirve, por ejemplo, para fortalecer los vasos sanguíneos, combatir la depresión, reforzar el sistema inmunológico e inclusive disminuir los riesgos de contraer cáncer en senos o próstata.
Un artículo del diario Wall Street Journal compila algunas de las mieles de la actividad sexual, confirmando que esta actividad es una bendición integral: los beneficios de una vida sexual activa se derraman aun hacia los niveles más profundos del ser humano tales como la psique y la bioquímica. El florecimiento de la dopamina y su consecuente activación en los centros cerebrales, así como de la oxitocina, que sirve como un analgésico natural, ayudan a combatir los miedos, nos convidan con un sentimiento de plenitud, estimulan la testosterona entre los hombres favoreciendo su desarrollo muscular y mejoran el estado de ánimo de las mujeres, entre otros muchos efectos positivos.
Así que tal vez sea este el momento para reducir un poco tus jornadas laborales, dejar de lado la absorbente computadora y comenzar así a dedicarle un poco más de tiempo y energía a tu salud: ten sexo, mucho sexo.

Tomado de: http://pijamasurf.com/2011/05/el-sexo-es-tan-bueno-para-la-salud-como-la-vitamina-d-y-el-brocoli/

22 marzo 2012

Cargadores solares de pilas: otra buena idea

solares chile
El impacto ambiental de las pilas alcalinas es devastador para el planeta. En su proceso de fabricación, se consume 50 veces más energía que la que ellas mismas proporcionan y, posteriormente, luego de su vida útil, este recurso energético ocasiona más inconvenientes que beneficios.
Según estudios especializados, una micro pila de mercurio, puede llegar a contaminar 600.000 litros de agua, una de zinc-aire 12.000 litros, una de óxido de plata 14.000 litros y una pila común 3.000 litros.
Ante este panorama, hace varios años, las pilas recargables se instalaron como una muy buena alternativa para disminuir nuestra “huella”, ya que se destaca por ser económica y favorecer al medio ambiente.
A este nuevo relevo, que nos beneficia directamente, se le suma la posibilidad de carga a través de energías sustentables, cuya implementación también es de bajo costo. En Internet existen varios manuales de construcción para poder fabricarlos en nuestro propio hogar.
SolaresChile es una empresa que se dedica a la educación y gestión ambiental, especialmente de energía solar. A través de diversos cursos, la empresa difunde y enseña cómo utilizar al máximo este recurso energético, considerado para ellos como clave en el desarrollo de nuestra sociedad.
Una de las capacitaciones de la empresa, ofrece la elaboración de un cargador de pilas en base a energía solar, donde a través de un curso teórico-práctico se enseña nociones básicas sobre la recolección energética a partir del sol, electricidad básica y panel fotovoltaico.
Las pilas recargables, desde el punto de vista económico, tienen un menor costo total de uso, ya que si bien tienen un valor monetario inicial más alto que las otras, se les puede recargar a precios muy bajos y muchas veces.
En el ámbito ambiental son preferibles a las pilas desechables de un sólo uso, puesto que luego de acabar su vida útil, una batería recargable es un 20% menos dañina que tirar una desechable y comprar otra nueva.
La energía solar fomenta esta disminución en el impacto ambiental, al ser una energía renovable y limpia. Además, la mayoría de los sistemas energéticos dependiente de energías solares, no producen agentes contaminantes, a diferencia de los producidos de energía no renovable, como los combustibles fósiles.
Para la construcción de cargadores solar de pilas se necesitan al menos tres cosas como referencia, un panel solar capaz de entregar tenciones de 2,2v, con corrientes de aproximadamente 600 ma a plena iluminación solar, una placa de control de carga para poder suministrar los 0,6 a 0,7 voltios necesarios para poder cargar una pila y, finalmente, un led de alto brillo.
Soñar con suplir todas las necesidades energéticas de nuestra casa es sólo eso: un sueño. Emprendimientos a gran escala subsidiados por los gobiernos son la única manera que tendremos de apreciar y disfrutar los avances que existen en desarrollo energético sustentable. No obstante, implementos como estos pueden generar pequeños acercamientos a tecnologías amigables con el medio ambiente.

Tomado de: http://www.veoverde.com/2011/10/cargadores-solares-de-pilas-otra-buena-idea/

21 marzo 2012

¿Qué porcentaje del cerebro humano se usa?

Cerebro¡Todo! Cada neurona en el cerebro está continuamente activa, así esté funcionando despacio.
Las neuronas que dejan de responder, mueren.
Sin embargo, mucha gente parece creer que sólo usamos una parte de nuestro cerebro.
Es extraordinario que ese mito persista cuando ha sido refutado tantas veces.
Hay muchas historias sobre el origen de ese mito: que los primeros electroencefalogramas sólo podían detectar un pequeño porcentaje de la actividad del cerebro, o que los investigadores de principios del siglo XX sólo podían encontrar funciones para un 10% del cerebro.
Alternativamente, podría haber salido de una especulación más sensata de que sólo usamos parte del potencial del cerebro.
Potencial es algo difícil de medir, o siquiera conceptualizar.
¿Qué podría cada uno de nosotros hacer potencialmente dados todos los posibles estímulos, entrenamientos, superalimentos, etc.?
Todo lo que podemos decir con seguridad es que todos probablemente "podríamos hacerlo mejor", pero no porque necesitemos encontrar pedazos de nuestro cerebro en desuso.
Esos no existen.

Tomado de: http://www.bbc.co.uk/mundo/noticias/2011/09/110923_respuestas_curiosos_sept_24.shtml

20 marzo 2012

Facebook solicita documentos de identidad para devolver la cuenta

Gracias al aviso de Marco, pudimos confirmar que Facebook está solicitando documentación de información personal en el proceso de recuperación de contraseña y/o cuenta, lo cual se suma a la lista de abusos y de estupideces llevadas adelante por la red social.

Una persona que haya perdido su acceso a su cuenta de Facebook, ya sea porque olvidó la contraseña o alguien se la haya cambiado, debe verificar que su correo electrónico esté asociado a su perfil, a través de un enlace que es enviado a dicho correo. Este proceso es el normal de cualquier proceso de recuperación de cuenta.

En este momento la cuenta ya se encuentra bloqueada y nadie puede acceder a la misma.

A partir de este momento debe enviarse un documento que pruebe la identidad del usuario (pasaporte, licencia de conducir, identificación del estado, etc.) tal y como se explica en su ayuda:
Otra opción es subir identificaciones alternativas como imágenes de facturas de agua, teléfono, gas, etc. Si existe una locura más grande que esa...
A pesar de todo esto la red social no asegura la recuperación de la cuenta.

Una prueba más de la posición de poder que ejerce la red social en la toma de información, incluso cuando esa posición lo lleva a solicitar documentación personal del usuario.
Tomado de: http://blog.segu-info.com.ar/2012/03/facebook-solicita-documentos-de.html

¿A las mujeres les gusta ver películas pornográficas?

¿Creés que el porno es salud? ¿Cuántas mujeres suelen ver películas XXX? ¿Es benéfico o por el contrario, el porno es un tabú al que ninguna mujer hace caso? ¡Aquí te resolvemos algunas dudas!

Sabemos de sobra que ellos adoran el porno. Incluso, parece que está únicamente reservado para hombres pero... ¿es justo comportarnos así? Son las mujeres las que se cortan. Y aunque muchas chicas ven porno con sus parejas, acéptalo, ¡después te sientes extraña!

Nos quita las ganas en muchas ocasión. Esta es la razón de que las mujeres no creamos demasiado en ello. Pero deben saber que es un estímulo buenísimo para que nuestras relaciones sexuales sean mejores y además, puedas tener nuevas ideas.

También es cuestión de inseguridad y celos. No nos gusta que nuestros chicos se exciten con otras mujeres que no seamos nosotras. Y menos todavía cuando es tan directo. Cierto es que estas películas carecen de argumento, pero no se le puede pedir peras al olmo, están hechas para dar morbo y poneros a tono. Simplemente eso.

¿No creés que también las chicas pueden disfrutar con el porno? Eso es porque debemos destaparnos los ojos de la gran barrera que hemos construido. Relacionamos porno con sexo masculino. Y el femenino también tiene derecho de darse un capricho. Ellos, como se excitan muy fácilmente, sienten devoción por lo XXX, pero las chicas también podríamos disfrutar al verlas.
Lo que ocurre es que por temor o por vergüenza, no queremos admitir que el porno es bueno. El sexo es salud y el porno es sexo. Entonces, ¿qué tiene de malo que las mujeres también formemos parte de ello?

Además, el porno de hoy en día no tiene nada que ver con el de hace años. Ahora, es más conocido, sus actores son estrellas, son películas más elaboradas. Y eso es porque la concepción social del porno ha cambiado. Al menos para ellos sí, pero ¿y para ti?

Debes reflexionar en que todo lo que tenga que ver con el sexo, con sumar placer a tus relaciones, con estímulos, deseos y que sea sano, es beneficioso para ti. Huye de los tabúes, de tus miedos e inseguridades. Y te proponemos una cura para ello: ¡siéntate esta tarde con una buena película XXX! Y pasa de lo desconocido a lo... ¡bienvenido!

Tomado de: http://www.publimetro.com.mx/x-files/a-las-mujeres-les-gusta-ver-peliculas-pornograficas/mlay!RgL4Owo35n7A/

19 marzo 2012

Timeout de las sessiones ssh

Resulta común dejar algún proceso que tarda más de lo esperado a que complete y luego encontrarnos que el firewall corta la conexión por inactividad.
Eso, sea como sea, fastidia.
Mediante la opción ClientAliveInterval en el /etc/sshd_config del servidor se define el tiempo en que, si no se ha recibido nada desde el cliente, se manda un mensaje y se espera una respuesta del cliente. Por ejemplo:
 
ClientAliveInterval 240

Así, podemos ir rebajando el valor al tiempo que tiene definido el firewall para evitar que corte la conexión.
Evidentemente, como toda comodidad, entraña un riesgo de seguridad que se debe sopesar: Una sessión desatendida con ssh al root de una máquina es un caramelito para cualquier atacante que pueda acceder físicamente al terminal de origen.


18 marzo 2012

Como capturar una pantalla remota

Tan simple como:

vampii@scatha:~$ DISPLAY=":0.0" import -window root captura.png

Pero si estamos usando un protector de pantalla, lo logico seria deshabilitarlo antes:

vampii@scatha:~$ kill $(ps ax | grep screensaver | grep -v grep | awk '{ print $1 }')

17 marzo 2012

Generar CSS automáticamente con tan solo subir una estructura HTML

Desde Kabytes hoy nos dan a conocer una nueva herramienta online que puede ayudar a todos los maquetadores web ya que nos permitirá generar una hoja de estilos con las etiquetas del cuerpo html con solo pulsar en el botón subir, su nombre es Bear CSS.
Bear CSS lo que nos ofrece es un sencillez y tiempo, tiempo que ganaremos en maquetación, hay que destacar que la aplicación es completamente gratis y podremos utilizarlo todas las veces que queramos.
Generar CSS automaticamente
Yo desde luego le voy a sacar partido, si sueles maquetar páginas web estoy seguro que también se lo podrás sacar.
Página web: Bear CSS

Tomado de: http://www.dacostabalboa.com/es/generar-css-automaticamente-con-tan-solo-subir-una-estructura-html/17607

16 marzo 2012

Guía sobre seguridad y privacidad de la tecnología RFID

El Instituto Nacional de Tecnologías de la Comunicación (INTECO) y la Agencia Española de Protección de Datos (AEPD), publican la Guía sobre seguridad y privacidad de la tecnología RFID que han elaborado conjuntamente como respuesta a la proliferación de estos sistemas en elementos de la vida cotidiana de los ciudadanos.
En dicha guía –elaborada por el Observatorio de la Seguridad de la Información–, disponible desde hoy en las páginas web de ambos organismos (www.inteco.es y http://www.agpd.es respectivamente), se analiza el funcionamiento de esta tecnología, los tipos de dispositivos existentes en la actualidad y sus usos y aplicaciones principales.
Asimismo, se recogen de forma destacada los riesgos existentes en materia de seguridad, privacidad y protección de los datos en el empleo, e implantación de los dispositivos de identificación por radio frecuencia, en diversos ámbitos, y las garantías exigibles para prevenirlos.
Disponible la guía completa en castellano a través del siguiente enlace: 
 

Fuente: INTECO
http://www.inteco.es/Seguridad/Observatorio/guias/guia_RFID

Estudio brasileño afirma que la zoofilia produce cáncer de pene

Más allá del riesgo de muerte asociado, esperamos que al amable lector no le haga falta leer esto para que decida no tener sexo con sus mascotas o animales en general. En caso de que el hecho ya hubiera sido consumado y está un tanto nervioso, tome asiento y lea atento:
El estudio fue desarrollado en Brasil con 432 hombres entre 18 y 80 años de un sector rural. De ellos, 118 padecían de cáncer de pene, y de estos últimos un 35% reconoció haber tenido sexo con yeguas, vacas, cerdos, gallinas y otros animales. El otro 65% sólo no lo admitió. Al consultarles por el período de tiempo en que practicaron (o aún practicaban) la zoofilia, un 59% señaló haberlo hecho por entre uno y cinco años, mientras que un 21% dijo que era una actividad que llevaban (o llevan) a cabo por más de cinco años. La frecuencia variaba de manera mensual e incluso diaria.
Pero lo peor no queda ahí. El equipo de urólogos brasileños, que publicó su trabajo en la edición del 24 de octubre del Journal of Sexual Medicine, igualmente determinó que aquellas personas que han tenido sexo con animales también tienen una mayor tasa de enfermedades de transmisión sexual. Los científicos suponen que ello se puede deber a que más encima practican sexo grupal: más de un 30% tuvo sexo con animales en grupo. Y tú te pensabas osado…
“Pensamos que la práctica intensa y sostenida en el tiempo de sexo con animales podría producir micro traumas en el tejido del pene humano”, explicó Stênio de Cássio Zequi, urólogo de Sao Paulo y líder del estudio. “La mucosa genital de los animales podrían tener diferentes características respecto de los genitales humanos, y las secresiones probablemente son diferentes a los fluidos humanos. Quizás los tejidos animales son menos suaves que los nuestros y las secreciones no humanas podrían ser tóxicas para nosotros”, explicó.
Así que ojo donde pensabas satisfacer tus necesidades sexuales…

Link: Sex With Animals Linked to Penile Cancer (Live Science)

Tomado de: http://www.fayerwayer.com/2011/11/estudio-brasileno-afirma-que-la-zoofilia-produce-cancer-de-pene/

15 marzo 2012

Copiar imagenes ISO hibridas a pendrive de arranque

¿Cuantos hemos usado Unetbootin para copiar imagenes ISO hibridas de inicio a pendrive de arranque? Y si no esta instalado... ¿Cuantos se animan a hacerlo directamente desde consola, teniendo una barra de progreso y que encima muestre el tiempo restante durante la copia?
Bueno, es mas simple de lo que parece, todo en la misma linea:
 
root@scatha:~# time (pv imagen.iso | dd bs=1M oflag=sync of=/dev/sdX 2>/dev/null)
Y un metodo diferente pero que hace lo mismo, porque hay varias formas de envolver un triciclo:
root@scatha:~# pv -petrs $(stat -c %s imagen.iso) imagen.iso | dd bs=1M oflag=sync of=/dev/sdX
¡Que lo disfrutes!

14 marzo 2012

Después de todo, todos somos iguales...

++El Manifiesto++
 
El siguiente documento está siendo reproducido en honor y compasión por los phreakers y hackers que han sido capturados recientemente por el Servicio Secreto.


\/\La Consciencia de un Hacker/\/

por

+++The Mentor+++


Escrito el 8 de Enero de 1986


 
Uno más ha sido capturado hoy.
"Joven arrestado en Escándalo de Crimen de Computadora", "Hacker arrestado luego de traspasar las barreras de seguridad de un banco . . . "
Malditos muchachos. Todos son iguales.
Pero tú, en tu psicología de tres partes y tu tecnocerebro de 1950,¿has alguna vez observado detrás de los ojos de un Hacker? ¿Alguna vez te has preguntado que lo mueve, qué fuerzas lo han formado, cuáles lo pudieron haber moldeado?
Soy un Hacker, entra a mi mundo . . .

El mío es un mundo que comienza en la escuela . . .
Soy más inteligente que la mayoría de los otros muchachos, esa basura que ellos nos enseñan me aburre . . .
Malditos subrealizados. Todos son iguales.
Estoy en la preparatoria. He escuchado a los profesores explicar por decimoquinta vez cómo reducir una fracción.
Yo lo entiendo.
"No, Srta. Smith, no le voy a mostrar mi trabajo, lo hice en mi mente . . ."
Maldito muchacho. Probablemente se lo copió.
Todos son iguales.
Hoy hice un descubrimiento.
Encontré una computadora.
Espera un momento, esto es lo máximo.
Esto hace lo que yo le pida.
Si cometes un error es porque yo me equivoqué.
No porque no le gusto . . .
O se siente amenazada por mí . . .
O piensa que soy un engreído . . .
O no le gusta enseñar y no debería estar aquí. . .
Maldito muchacho.
Todo lo que hace es jugar.
Todos son iguales.
Y entonces ocurrió . . .
Una puerta abierta al mundo . . .
Corriendo a travéS de las líneas telefónicas como la heroína a través de las venas de un adicto, se envía un pulso electrónico, un refugio para las incompetencias del día a día es buscado . . .
Una tabla de salvación es encontrada.
"Este es . . . este es el lugar a donde pertenezco . . ."
Los conozco a todos aquí . . .
aunque nunca los hubiera conocido, o hablado con ellos, o nunca vuelva a escuchar de ellos otra vez . . .
Los conozco a todos . . .
Malditos muchachos.
Enlazando las lineas telefónicas otra vez. Todos son iguales . . .
Apuesta lo que sea a que todos somos iguales . . .
A nosotros nos han estado dando comida para bebés con cuchara en la escuela, cuando estábamos hambrientos de carne . . .
Las migajas de carne que ustedes dejaron escapar estaban masticadas y sin sabor.
Nosotros hemos sido dominados por sádicos, o ignorados por los apáticos.
Los pocos que tienen algo que enseñarnos encontraron alumnos complacientes, pero esos pocos son como gotas de agua en el desierto.
Ahora esté es nuestro mundo . . .
El mundo del electrón y el conmutador, la belleza del baudio.
Nosotros hacemos uso de un servicio que ya existe sin pagar por lo que podría ser barato como el polvo, si no estuviera en manos de glotones hambrientos de ganancias, y ustedes nos llaman criminales.
Nosotros exploramos . . .
Y ustedes nos llaman criminales.
Nosotros buscamos detrás del conocimiento . . .
Y ustedes nos llaman criminales.
Nosotros existimos sin color, sin nacionalidad, sin prejuicios religiosos . . .
Y ustedes nos llaman criminales.
Ustedes construyeron bombas atómicas, ustedes hicieron la guerra, ustedes asesinaron, engañaron y nos mintieron y trataron de hacernos creer que era por nuestro bien, ahora nosotros somos los criminales.
Sí, soy un criminal.
Mi crimen es la curiosidad.
Mi crimen es el juzgar a las personas por lo que dicen y piensan, no por lo que aparentan ser exteriormente.
Mi crimen es ser más inteligente que tu, algo por lo cual nunca me perdonarás.
Soy un Hacker, éste es mi manifiesto.
Tu podrás detener este esfuerzo individual, pero nunca podrás detenernos a todos . . .
después de todo, todos somos iguales.

+++The Mentor+++  8-1-86

13 marzo 2012

El comando dd y sus mil y un usos

Dee Dee conocida por ser altamente peligrosa.
Cuenta la leyenda que en el principio Ken Tompshon y Denis Ritchie (los creadores de UNIX, antecesor de Linux) desde las entrañas de Bell Labs, necesitaron copiar exactamente byte a byte de una unidad a otra, como no existía ninguna utilidad para este propósito en su recién concebido sistema operativo simplemente la crearon… y así nació dd (Dataset Definition).
Rescrita y portada varias veces desde los ‘70 está aplicación ha demostrado ser de utilidad y persistió en el tiempo. Lo que pocos saben es que en verdad es un cortaplumas suizo en lo referente a datos, discos y archivos.
El comando dd (alias: disk destroyer, data destroyer o delete data) es el más claro ejemplo de uno de los pilares de la filosofia UNIX, en parte heredada por GNU/Linux

UNIX was not designed to stop its users from doing stupid things, that would also stop you from doing clever things.” – Doug Gwyn
Qué podría ser traducido como…
UNIX no fue diseñado para impedir a los usuario de hacer cosas estúpidas, por que esta política les hubiese impedido también hacer cosas inteligentes”
Esto es un hecho aún en la vida real, si queremos un cuchillo que sea seguro, compraríamos uno de plástico. Esté dejaría de ser útil en muchos aspectos, al punto de limitarnos. Bueno.. No sé si fue el mejor ejemplo pero mas o menos es la idea básica que engloba esta filosofía.
Así dd con la misma facilidad que hace una imagen de cd puede blanquear un disco rígido no dejando el mínimo rastro de datos.
Antes de empezar, una pequeña intro para los que no conocen este comando cuya versatilidad es solo comparable a su simplicidad, (irónico y poco común en el mundo del software actual). Tanto es así que a pesar de sus mil usos al hacer un $ whatis dd obtendremos un “- convert and copy a file
No hay que dejarse llevar con la palabra file aqui (fichero, archivo en inglés) ya que hay que recordar que en los sistemas tipo UNIX (UNIX-like, como Linux) todo, absolutamente todo es un archivo (o es lo que se intentó hacer, gracias Denis & Ken) lo que extiende el rango de uso de esta herramienta.
La sintaxis simplificada es la siguiente:
dd if= of=
dd simplemente toma datos (en crudo) de un origen (if = input file),
y los copia a un destino (of = output file) opcionalmente aplicando el filtro o conversión que se le indique en el ínterin.
Por más trivial que parezca a demostrado ser muy útil y lo es! créanme..
¿Qué tan simple? Por ej.
dd if=/dev/cdrom of=imagendeCD.iso
Para cuando los usuarios de Windows se dieron cuenta que se les expiró la versión de prueba del Nero, Linux ya contaba con una herramienta con más años que el mismo kernel para hacer imágenes de CD. :P Luego la montamos en carpeta con:
mount -o loop imagedeCD.iso /mnt/carpeta
¿A que me refiero con crudo ?
# dd if=/dev/zero of=/dev/hda bs=512 count=1
Copiara ceros a (limpiará) nuestro MBR (Master Boot Record). Mientras que
# dd if=/dev/zero of=/dev/hda bs=446 count=1
Limpiara el sector de datos del MBR pero dejara la tabla de particiones intacta. Esto es útil para borrar el GRUB (o Lilo) sin que corran riesgo las particiones.
Algunas opciones frecuentemente usadas son bs y count. BS es el tamaño en bytes de los bloques de archivos que leerá antes de escribirlos. Es decir si bs=512, hasta que no termine de leer esos 512 bytes (que no es mucho) no los escribirá, esto nos da mucho control sobre la velocidad a la que el disco lee y escribe, cuando estamos haciendo por ejemplo una imagen del disco. Generalmente el valor de bs es una potencia de 2. COUNT es la cantidad de bloques de tamaño especificado en BS que queremos que copie. O sea, si tenemos bs=1024 y count=3, copiará 3 kilobytes en 3 veces (o cuotas ;) ).
No está de más decir que depende de nuestro disco rígido (o cualquier otro dispositivo de bloques del que estemos leyendo o escribiendo) que a diferentes valores de bs y count, diferentes velocidades.
Para hacer una imagen de una partición.
dd if=/dev/sda2 of=/backups/sda2.img bs=1M
Para recuperarla…
dd of=/backups/sda2.img of=/dev/sda2
Y ahora es cuando te empezas a reír de los pagaron la licencia del Norton ® Ghost (o empezas a llorar si vos sos ese alguien ;) ).
Aunque me gustaría, no voy a dar el uso completo de dd, doy algunos ejemplos para resaltar sus usos más interesantes y curiosos. Al final tenes algunos links a páginas que explican exhaustivamente cada uno de sus usos (y hasta proponen nuevos).
Remplazar una cadena de texto por otra en todo el disco rígido.
dd if=/dev/sda | sed 's/BinLaden/Cuca/g' | dd of=/dev/sda
Remplazar BinLaden por Cuca en todo el disco puede servir para eliminar cosas que nos incriminen ;) Pero el FBI, en tal caso hará un análisis a bajo nivel de tu disco duro. Eso se puede solucionar borrandoló todo…. varias veces HAHAHA (*risa macabra)
for n in {1..7}; do dd if=/dev/urandom of=/dev/sda bs=8b conv=notrunc; done
.. nos llenará el disco rígido con caracteres al azar siete veces :P El mínimo rastro magnético de nuestra información ya se habrá ido para la cuarta pasada.
dd if=/dev/mem | hexdump -C | grep 'algún texto dentro del archivo que me olvide de guardar cuando apreté el botón cerrar'
Esta creo que se explica sola .. ;)
dd if=miarchivo of=miarchivo conv=ucase
Convierte todo el contenido alfabético del archivo a mayúsculas.
dd if=/dev/zero of=archivo_nuevo_vacio bs=1024 count=1024
Crea un archivo de 1 MB vacío, esto aunque no parezca, tiene bastante utilidad, por ej. para hacer un archivo swap (desde su versión 2.6, los archivos swap en Linux son tan rápidos como las particiones swap).
dd if=/dev/zero of=/swapspace bs=4k count=250000
mkswap /swapspace
swapon /swapspace
.. lo más interesante de esto es que crea el archivo swap sobre la marcha. Puede ser muy útil en servidores sobrecargados (o en nuestra PC porque no).
Bueno, espero les haya gustado el artículo e incentive a descubrir más de las ¿mil y un? posibilidades de este comando. Úsenlo con cuidado y recuerden…
Tio Ben dijo:
“With great power comes great responsibility”
 
Links prometidos:


Tomado de: http://lettherebelight.byethost10.com/?p=146

12 marzo 2012

Un plastico que es la leche

Hubo una época en la que a los plásticos se les consideraba materiales maravillosos. Hoy todavía se encuentran por todas partes y en toda clase de usos, pero la misma estabilidad y resistencia que un día les dio la fama ahora les hace no ser tan deseados. La persistencia no es una cualidad deseable en algo que se termina tirando, y no sólo nos referimos a los envases y embalajes, por lo que muchas personas han empezado a ver los plásticos convencionales de origen petroquímico como una molestia y una amenaza.
Ahora se buscan alternativas biodegradables. Una posibilidad que ha sido investigada recientemente por el equipo de David Schiraldi, de la Universidad Case Western Reserve (EE.UU.), y que publica en Biomacromolecules, supone una propuesta de retorno al pasado y recuperación del uso de uno de los productos orgánicos que se usaron para hacer uno de los primeros plásticos: la leche.
La propuesta implica usar realmente la caseína, la principal proteína que se encuentra en la leche. La cuajada es, en su mayor parte, esta proteína. A comienzos del siglo XX el químico francés J.C. Trillat descubrió que si la caseína se trataba con formaldehído el resultado era una sustancia brillante y dura que funcionaba muy bien como sustituto de materiales como el marfil o el caparazón de tortuga (carey). El entusiasmo que provocó el nuevo producto, llamado galatita, fue tanto que la misma reina de Inglaterra (Mary) encargó varias piezas de joyería hechas con él. Sin embargo la galatita, tal cual, es un producto demasiado quebradizo como para que pueda tener un uso generalizado. Los plásticos petroquímicos lo fueron superando en prestaciones y su producción terminó en los años setenta.
La idea de volver a usar la galatita, sin embargo, siempre ha estado ahí y en estos días, en los que el hecho de que esté hecha de proteínas y, por lo tanto, puede ser degradada por las bacterias, se considera una virtud. Sólo queda superar el problema de la debilidad estructural. Lo que ha hecho el grupo de Schiraldi es usar una arcilla llamada montmorillonita sódica como esqueleto para el plástico.
La montmorillonita sódica puede secarse por liofilización para dar como resultado un material parecido a una esponja llamado aerogel. Los aerogeles son famosos por su fragilidad. Pero eso es porque son mayormente espacio vacío. De hecho algunas veces se les llama “humo sólido”. Esta fragilidad esconde una rigidez subyacente. Si se rellenasen los poros del aerogel con plástico se eliminaría la fragilidad y por otro lado la red de moléculas de la arcilla en el aerogel impediría que el plástico se quebrase. Los investigadores calcularon que si mezclaban caseína con la arcilla y después añadían gliceraldehído (ya que el formaldehído de la receta original es bastante venenoso), podrían obtener algo realmente útil.
Para comprobar sus ideas el equipo mezcló una disolución de caseína con gliceraldehído y montmorillonita sódica y la mezcló intensamente para eliminar las burbujas antes de congelarla a 80 ºC bajo cero. Una vez congelada se colocó en un liofilizador con objeto de eliminar el agua, en lo que empleó cuatro días. Después se “curó” (se denomina así, en el argot, a la polimerización y, en su caso, entrecruzamiento de cadenas poliméricas) durante 24 horas a 80ºC por encima de cero.
Según los investigadores, el material así obtenido iguala al poliestireno expandido, el terror de los vertederos, en lo que se refiere a rigidez, fuerza y compresibilidad. A diferencia del poliestireno, desaparece cuando se arroja a un vertedero. Un primer experimento sugiere que el 20% ya ha desaparecido a los 18 días de estar expuesto a un ambiente que simula el de un vertedero. No tiene el prestigio del broche de una reina, pero puede que sea mucho más útil.
Referencia:
Pojanavaraphan, T., Magaraphan, R., Chiou, B., & Schiraldi, D. (2010). Development of Biodegradable Foamlike Materials Based on Casein and Sodium Montmorillonite Clay Biomacromolecules, 11 (10), 2640-2646 DOI: 10.1021/bm100615a

Tomado de: http://www.experientiadocet.com/2010/10/un-plastico-que-es-la-leche.html

11 marzo 2012

Script para identificar hashes de contraseñas


Seguro que más de una vez, en una auditoría, en un CTF o en cualquier prueba o test de intrusión, habéis obtenido un hash que no habéis podido identificar fácilmente antes de intentar crackearlo.

Hash-identifier es un script en Python de Zion3R de Blackploit que nos ayudará a identificar los diferentes tipos de hashes usados para cifrar datos y especialmente contraseñas.

La web del proyecto la podremos encontrar en https://code.google.com/p/hash-identifier y los formatos soportados son los siguientes:

* ADLER-32

* CRC-32
* CRC-32B
* CRC-16
* CRC-16-CCITT
* DES(Unix)
* FCS-16
* GHash-32-3
* GHash-32-5
* GOST R 34.11-94
* Haval-160
* Haval-192 110080 ,Haval-224 114080 ,Haval-256
* Lineage II C4
* Domain Cached Credentials
* XOR-32
* MD5(Half)
* MD5(Middle)
* MySQL
* MD5(phpBB3)
* MD5(Unix)
* MD5(Wordpress)
* MD5(APR)
* Haval-128
* MD2
* MD4
* MD5
* MD5(HMAC(Wordpress))
* NTLM
* RAdmin v2.x
* RipeMD-128
* SNEFRU-128
* Tiger-128
* MySQL5 - SHA-1(SHA-1($pass))
* MySQL 160bit - SHA-1(SHA-1($pass))
* RipeMD-160
* SHA-1
* SHA-1(MaNGOS)
* Tiger-160
* Tiger-192
* md5($pass.$salt) - Joomla
* SHA-1(Django)
* SHA-224
* RipeMD-256
* SNEFRU-256
* md5($pass.$salt) - Joomla
* SAM - (LM_hash:NT_hash)
* SHA-256(Django)
* RipeMD-320
* SHA-384
* SHA-256
* SHA-384(Django)
* SHA-512
* Whirlpool
* Y más…

Nota: En algunos casos existen muchas posibilidades de hashes, por ejemplo, no se puede saber si un hash es MD5, MD5 doble o MD5(Sha1) hasta que es descifrado.

Tomado de: http://www.hackplayers.com/2012/01/script-para-identificar-hashes-de.html

10 marzo 2012

Alta Disponibilidad en Linux: Heartbeat y Pacemaker

Para conseguir la Alta Diponibilidad de nuestros servicios, se detallará como llevar a cabo la configuración de dos herramientas:
  • Heartbeat: Encargado de revisar que cada nodo se halle funcionando. En caso un nodo falle migrará los recursos a otro nodo que también se halle ejecutando el servicio heartbeat
  • Pacemaker: Verifica el estado de los recursos (o servicios) que le han sido asignados. En caso algún servicio falle, en caso se halla configurado, Pacemaker puede reiniciarlo.
Mientras heartbeat se encarga que revisar el estado de cada nodo; Pacemaker es el responsable de verificar el estado de los servicios que deseemos sean HA dentro de los nodos.

Configuración

Se tienen dos (2) servidores, cada uno de los cuales está conectado a un mismo dispositivo de almacenamiento externo. Cada uno de los servidores cuenta con un servicio mysqld instalado:
  • mysql1 (192.168.190.189)
  • mysql2 (192.168.190.190)
En ambos servidores se han instalado los paquetes heartbeat 3.x, pacemaker 1.x, cluster-glue (con sus respectivas dependencias)
El objetivo de la configuración es garantizar la disponibilidad de la base de datos en caso uno de los dos nodos falle.

Editar el archivo /etc/hosts

  1. Ejecutamos el siguiente comando para obtener el nombre asignado a cada servidor.
    uname -a
  2. Se procede a editar el archivo /etc/hosts en ambos servidores agregando la siguiente línea:
    • Servidor mysql1
    • 192.168.190.190 mysql2
    • Servidor mysql2
    • 192.168.190.189 mysql1

Editar el archivo /etc/ha.d/ha.cf

En cada uno de los servidores se edita el archivo de configuración del heartbeat
# Logging
debug 1
use_logd false
logfacility daemon

# Misc Options
traditional_compression off
compression bz2
coredumps true

# Communications
udpport 691
# bcast eth0
ucast eth0 192.168.190.X # IP del servidor con el que se comunicará
# reemplazar X con 189 o 190 según corresponda
autojoin none
node mysql1 mysql2

# Thresholds (in seconds)
keepalive 500ms # how long between heartbeats
warntime 5 # late heartbeat warning
deadtime 10 # declare host dead
initdead 30 # first dead time > 2 * deadtime

# Enable Pacemaker
crm yes

Editar el archivo /etc/ha.d/authkeys

Este archivo contiene el algoritmo y la palabra secreta que será usada para establecer comunicación los diversos servidores interconectados por heartbeat.
  • Seleccionar el algoritmo que se desea utilizar
    auth 1
    crc # Usar solo en desarrollo, no brinda seguridad alguna
    # 2 sha1 SECRET-KEY
    # 3 md5 SECRET-KEY
  • Únicamente el usuario root debe poder modificar este archivo
    chown root.root /etc/ha.d/authkeys
    chmod 600 /etc/ha.d/authkeys

Iniciar Heartbeat

Para iniciar Heartbeat ejecutar el siguiente comando en cada uno de los nodos:
service heartbeat start

Configurar Pacemaker

Para configurar el Pacemaker, se hará uso de la herramienta crm.
Para verificar que nuestra configuración ha sido la adecuada y los nodos pueden verse entre sí, ejecutaremos la opción:
vampii@scatha:~$ crm node show
La salida de este comando debería de ser similar a:
mysql1(3bda1ae0-a614-45f1-8d6c-3c9336103e74): normal
mysql2(0d00d69e-a6b6-4d11-9ecf-f1174932d8fe): normal
Procederemos a verificar la lista de clases y proveedores:
vampii@scatha:~$ crm ra classes
La salida sería similar a:
heartbeat

lsb

ocf / heartbeat pacemaker <- Este es el valor que nos interesa, clase ocf y proveedor heartbeat stonith

Para conocer el listado de recursos que pacemaker puede administrar ejecutamos:
vampii@scatha:~$ crm ra list ocf
Dentro de la salida mostrada, los valores que para este caso nos interesarían son:
Filesystem: Recurso que permite montar y desmontar automáticamente unidades de disco.
IPaddr: Recurso que permite mover una misma IP virtual entre varios nodos.
mysql: Recurso encargado de iniciar / detener el servicio mysqld.
Para conocer el listado de parámetros que recibe cada uno de los recursos, es necesario ejecutar lo siguiente:
vampii@scatha:~$ crm ra meta
Procedemos a configurar cada uno de los servicios:
vampii@scatha:~$ crm configure primitive :: [params = [=...]]
Ejemplo:
vampii@scatha:~$crm configure primitive Mysql-rsc ocf:heartbeat:mysql \
params datadir=/mnt/mysql log=/mnt/log/mysqld.log socket=/tmp/mysql.sock binary="/usr/bin/mysqld_safe"
Configuramos el tiempo de monitoreo para cada recurso
vampii@scatha:~$ crm configure monitor [:]
Ejemplo:
vampii@scatha:~$ crm configure monitor Mysql-rsc 10s:30s
Es posible modificar los valore singresados hasta el momento (o agregar nuevos valores haciendo uso del comando:
vampii@scatha:~$ crm configure edit
En este punto verificaremos que los valores relacionados a la configuración de los recursos sean similares a:
primitive Filesystem-rsc ocf:heartbeat:Filesystem \
params device="/dev/sdb1" directory="/mnt" fstype="ext3" \
op monitor interval="20s" timeout="40s" \
op start interval="0s" timeout="100s" \
op stop interval="0s" timeout="100s"
primitive IPaddr-rsc ocf:heartbeat:IPaddr \
params ip="192.168.190.179" \
op monitor interval="5s" timeout="20s" \
op start interval="0s" timeout="90s" \
op stop interval="0s" timeout="100s"
primitive Mysql-rsc ocf:heartbeat:mysql \
params datadir="/mnt/mysql" pid="/var/run/mysqld/mysqld.pid" log="/mnt/log/mysqld.log" socket="/tmp/mysql.sock" binary="/usr/bin/mysqld_safe" \
op monitor interval="10s" timeout="30s" \
op start interval="0s" timeout="120s" \
op stop interval="0s" timeout="120s" \
meta target-role="Started"
Procedemos a definir un orden en el que se iniciarán los recursos:
order score-type: [:] [:]
Ejemplo:
$ crm configure order order-1 INFINITY: Filesystem-rsc Mysql-rsc
$ crm configure order order-2 INFINITY: IPaddr-rsc Mysql-rsc
Nota: Un score de tipo INFINITY significa el orden definido es de cumplimiento obligatorio.
El siguiente paso consiste en indicar en qué nodos han de iniciarse los recursos.
colocation : [:] [:]
Ejemplo:
vampii@scatha:~$ crm configure colocation colocation-1 INFINITY: Mysql-rsc Filesystem-rsc
vampii@scatha:~$ crm configure colocation colocation-2 INFINITY: Mysql-rsc IPaddr-rsc
Nota: En este caso un score de tipo INFINITY significa que ambos recursos especificados por cada colocation deben de ser iniciados en un mismo nodo. Lo que se busca es que tanto la dirección IP virtual, el montado de la unidad externa que contendrá los valores de la base da datos y el servicio mysqld sean iniciados en un mismo nodo, en caso el nodo fallara, el conjunto de recursos serían migrados al otro nodo.
Configuraremos el valor de la propiedad start-failure-is-fatal en false. Este paso es efectuado para que, en caso de error el servicio mysqld se detuviera, este sea reiniciado automáticamente por el Pacemaker en lugar de ser migrado al otro nodo. Si la cantidad de fallos alcanzado por este recurso fuera igual al valor definido en migration-threshold, el conjunto de recursos serán migrados a otro nodo.
vampii@scatha:~$ crm configure property start-failure-is-fatal=false
vampii@scatha:~$ crm configure property stonith-enabled=false
Finalmente para guardar la configuración es necesario ejecutar
vampii@scatha:~$ crm configure commit
Nota: La configuración serán replicados entre los diferentes nodos de forma automática.
Para guardar una copia de la configuración efectuada puede utilizarse el comando:
vampii@scatha:~$ cibadmin --query > configuracion.xml
Para restaurarlo, puede hacerse uso de:
vampii@scatha:~$ cibadmin --replace --xml-file configuracion.xml
Para mayor información pueden consultar el manual de Pacemaker: Manual de Pacemaker
 

Tomado de: http://denniscm20.blogspot.com/2010/04/alta-disponibilidad-en-linux-heartbeat.html