Feb 04, 2012

José Carlos Nieto

José Carlos Nieto
log.hckr.org feed

Barehand: inspecting a HTTP request

Sometimes, it is very useful to know all the data you're posting to a certain endpoint. Here's a little trick that will give you a plaintext dump of the request.

Identify the form you're trying to spy data from

target-1.png

Use firebug or web inspector to match the graphical form to its source code

target-2.png

Change the action for something like http://localhost:1337

target-3.png

Put netcat in listening mode on the port you specified:

$ nc -lvvp 1337
Listening on any address 1337 (menandmice-dns)

Now you can submit the form and catch the whole HTTP request ;-).

$ nc -lvvp 1337
Listening on any address 1337 (menandmice-dns)
Connection from 127.0.0.1:44760
POST / HTTP/1.1
Host: localhost:1337
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 419

session%5Busername_or_email%5D=user&session%5Bpassword%5D=pass&scribe_log=%5B%22%7B%5C%22event_name%5C%22%3A%5C%22web%3Afront%3Alogin_callout%3Aform%3Alogin_click%5C%22%2C%5C%22noob_level%5C%22%3Anull%2C%5C%22internal_referer%5C%22%3Anull%2C%5C%22user_id%5C%22%3A0%2C%5C%22page%5C%22%3A%5C%22front%5C%22%2C%5C%22_category_%5C%22%3A%5C%22client_event%5C%22%2C%5C%22ts%5C%22%3A1328358116143%7D%22%5D&redirect_after_login=^CExiting.
Total received bytes: 774
Total sent bytes: 0

For heavier inspections you may consider HttpFox

Daniel Bahena

Daniel Bahena
Kwames' Blog feed

Workflow de fotografía en Linux/OpenSource?

Esta semana al estar platicando en el canal de #linux_mx salió entre broma y verdad la frase de que yo tengo “espíritu de apoyo a Linux y Software Libre” lo cuál pienso que es totalmente verdad. He apoyado en seminarios, install fests, conferencias, talleres etc, impartiendo el conocimiento de Linux / Software Libre que he podido adquirir en el transcurso de los años.

No podía faltar el contreras (aka TonySkapunk) que cuestionara mi real apoyo y compromiso con el software libre. Me cuestionaron del porque uso OSx y Lightroom para hacer edición de fotografía. Desde mis inicios en la fotografía adquirí una MacBook Pro ya que la recomendación era utilizar Lightroom y al ser este un producto de adobe tenía 2 opciones, correrlo en Windows o correrlo en una Mac. Al tener la Mac unix por debajo fue la opción natural para mi.

No puedo decir que soy un mac fanboy, nunca me he sentido cómodo con OSx para hacer mi trabajo del día a día, para mi Linux no es solo la opción por elección sino por convicción y comodidad. Lo que si tengo que aceptar es que para trabajar con mis fotografías la mac ha sido la herramienta que cumple con todo lo que necesito. Importar, clasificar, modificar, exportar, todo en un solo paquete.

Siendo un “fiel” linuxero ahora tengo la duda de si realmente sería productivo y efectivo al tratar de tener un workflow de fotografía en Linux. De entrada ya se que no hay un equivalente de Lightroom en Linux, ni libre ni de paga, simplemente no lo hay. He leído ya bastantes opiniones y comentarios acerca de como tener un workflow de fotografía en Linux y he decido que voy a crear uno para aquellos que como yo, tengan la inquietud de ver si en realidad en Linux se puede hacer el mismo (o mejor) trabajo de fotografía.

Voy a documentar las herramientas, scripts y demás cosas que haga para poder trabajar con fotografía. De paso, pueden ir a mi photoblog para ver las fotos que en este tiempo he podido tomar. Xti fotoblog

Saludos!

Post to Twitter

Feb 03, 2012

Fernando Gómez

Fernando Gómez
Fedoreando feed

Script para obtener el número de reproducciones de Last.fm a gmusicbrowser

Al reinstalar el sistema o cambiar de reproductor es molesto perder cierta informacion multimedia como el numero de reproducciones, util especialmente para listas de reproduccion inteligentes o simplemente ver que escuchamos con más frecuencia (aunque algunos reproductores lo pueden guardan en los archivos, como banshee). Si tienen cuentan en last.fm seguro que habran pensado en [...]

Feb 02, 2012

Alcance Libre: Red Hat prolonga el ciclo de vida de RHEL a 10 años

OpenCharla, en iTunes

Les comparto que OpenCharla ya aparece en los listados de iTunes.

Para ingresar el feed de OpenCharla a otro directorio de podcasts o a algún agregador, estas son las direcciones:

MP3 feed RSS: http://opencharla.gultij.org/mp3/feed.xml
MP3 sitio: http://opencharla.gultij.org/mp3/

Ogg feed RSS: http://opencharla.gultij.org/ogg/feed.xml
Ogg sitio: http://opencharla.gultij.org/ogg/

Mientras tanto, los dejo con el episodio 2×01 de OpenCharla, donde hablamos un poquito de IPv6, SOPA/PIPA, Plone, WPS, FileZilla y HTTPS.

2nd Call: Web Portal Maintainer Wanted

A Canadian company is looking for an english-speaking and english-writing employee who would be hired to maintain a Macintosh Software.
The employee would be responsible for doing moderation on vendor's submission to the Application Portal, as well as adding and maintaining new free software entries.
The company is looking forward to maintain the position for a while, the employee must be a confident person that speaks and write proper english and be on duty full time, and should own an Intel-CPU Mac.

Please publish your resume URL written in english at the comments field.

Permalink | Leave a comment  »

Alcance Libre: Curso gratis de Suse Linux Enterprise Desktop 10 Administration.
Xenode Systems: [SOLUCIÓN] "Error: couldn't connect to server" MongoDB Fedora Linux
Planeta Laguna: Novedades de la vida, el Universo y todo lo demás del 2012
Miguel Barajas

Miguel Barajas
GnuOwned's Blog feed

The Open Enchilada Project S04E12



The Open Enchilada Project S04E12

Fernando Gómez

Fernando Gómez
Fedoreando feed

gmusicbrowser, el reproductor gtk+ definitivo

Hace unos días hable de mi pequeña odisea buscando un reproductor que me asombrara, y me permitiera tener facil acceso a toda mi música (aunque no es mucha). Y llegue a gmusicbrowser, un reproductor del que no habia oido hablar nunca, lo use unos minutos, y bueno… sabia que seria mi reproductor musical por el [...]

Feb 01, 2012

Xenode Systems: Montar entorno de Desarrollo Python-Django en Linux
Alcance Libre: Disponible el Podcast 44 de Tuxteno.com, en HTML5.
Planeta Laguna: Seguros de Autos Baratos
José Carlos Nieto

José Carlos Nieto
log.hckr.org feed

Foursquare API wrapper for Python

I was searching for a simple Foursquare wrapper for Python. I tried three different ones without really being happy with what I found.

Then I ran into mLewisLogic's Foursquare wrapper, a fine piece of python code with an almost complete V2 implementation.

cd ~/tmp
git clone https://github.com/mLewisLogic/foursquare.git
cd foursquare
sudo aptitude install python-setuptools
sudo python setup.py install

My intention is to make a command line bot, I'll need an auth token in order to authenticate this bot. Getting the auth token is easy if you have a web server but we have none, so let's code:

import foursquare
client = foursquare.Foursquare(client_id='CLIENT_ID', client_secret='CLIENT_SECRET', redirect_uri='REDIRECT_URI')
print "Go and try this URL:"
print client.oauth.auth_url()

Output should be like:

Go and try this URL:
https://foursquare.com/oauth2/authenticate?redirect_uri=http%3A%2F%2Flog.hckr.org&response_type=code&client_id=AAAA

Paste the URL into your browser, authorize the request with your Foursquare account and you'll be redirected to another URL with a code variable.

http://log.hckr.org/?code=BBBB

The only thing we need to get the auth token is the value of the code variable and another snippet.

import foursquare
client = foursquare.Foursquare(client_id='CLIENT_ID', client_secret='CLIENT_SECRET', redirect_uri='REDIRECT_URI')

print "Your access token is:"
print client.oauth.get_token('VALUE_OF_THE_CODE_VARIABLE')

Profit :-).

Your access token is:
J2C1T3OAVATD4KBFDP0RLJ4HFL3Y0S4NOKIHYVXXXXXXXXX

Now we can finally communicate with Foursquare

import foursquare
import json

client = foursquare.Foursquare(access_token='J2C1T3OAVATD4KBFDP0RLJ4HFL3Y0S4NOKIHYVXXXXXXXXX')

me = client.users()

print json.dumps(me, sort_keys = False, indent = 2)

I'm going to play with my bot ;-), if you want to know more of this library, check out the github repo and mLewisLogic's site.

Planeta Laguna: RouterPWD
Omar Hernández Sarmiento

Omar Hernández Sarmiento
-- opochtli -- feed

debain geek


De linuxUser

Jan 31, 2012

Planeta Laguna: Como quitar el BEEP de debian
Planeta Laguna: Badoo la red social de Lige
Fernando Gómez

Fernando Gómez
Fedoreando feed

gSharkDown, descargando música de GrooveShark.

Se avecinan tiempos dificiles para GrooveShark, que de alguna u otra forma ha escapado a las demandas de las discograficas, esperemos y nos dure para rato. Pero no es mi intención hablar de la situacion legal de internet o sobre si es etico o no tirar servicios por alojar archivos piratas (y no, no lo es), yo les [...]
Jorge Luis Hernández

Jorge Luis Hernández
codeplasticlesthack feed

2011 de muchos cambios, 2012 de nuevos retos.

Si, lo sé, un post con tal titulo debía haber sido publicado hace días, pero, nuevamente la falta de tiempo.

Sin lugar a dudas, el 2011 fue un año extraordinario, lleno de retos, de proyectos grandes e importantes, pero sobre todo, de grandes cambios en mi vida.

Tengo 2 noticias que dar, y lo hago aquí, en mi blog que ha sido testigo del crecimiento que he tenido tanto profesionalmente como personalmente y no quería dejarlo pasar solo así.

Las daré en orden cronológico y sin rodeos: la primera, “me he casado !!” si señores, he contraído el sagrado matrimonio y bajo mi propia voluntad (se que mi ahora esposa estará riendo a carcajadas en esta parte).

He dado un gran paso en mi vida, decisión que incluso, me atrevo a decirlo, no me costó trabajo. La mujer que he elegido para esposa, siempre ha sido una gran compañera, una mujer entera, dedicada, comprometida y por sobre todo, amorosa. Ella es la mujer que amo y que amaré siempre.

Les agradezco a todas aquellas personas que, gratamente, nos hicieron el favor de acompañarnos en la celebración de nuestra unión, a quienes nos brindaron su apoyo, y a quienes, aunque no pudieron asistir, sabemos que nos desean mucho éxito.

Las cosas van a su paso, los cambios, finalmente son cambios y hay que sobrellevarlos, pero sin dudarlo, puedo decir que es increíble.

La segunda noticia, que junto con la anterior llena de felicidad mi vida es, que la cigüeña nos ha mandado una carta avisándonos que recibiremos el mejor paquete de nuestras vidas (y no se trata de uno del tipo .deb); si, así es, “seremos padres !!”.

La idea de ser Padre cambia totalmente la perspectiva del hombre, incluye un enorme significado, un camino, y una misión incesante e infinita.

Hemos comenzado a visitar a médicos, hacernos estudios, a llevar un control en la alimentación, en la administración de los medicamentos, suplementos y vitaminas que nos han indicado, y sobre todo, constantes ultrasonidos.

Es inexplicable la sensación de ver crecer vida dentro del vientre de una mujer, como evoluciona, y como puede incluso, reconocer tu voz, o tus caricias a través de su madre.

Increíble, sumamente increíble, apasionante, fulminante, y aunque trate de buscar palabras que puedan expresar toda esta sensación, es probable que nunca dé con alguna que lo defina completamente. Es un nuevo reto, el mas grande proyecto que he tenido en mi vida.

Sin lugar a dudas, este 2012 estará lleno de nuevos retos, y nuevas aventuras. Estoy completamente agradecido con la vida, y con ese ser con mil nombres al que yo suelo denominar «simplemente dios».

José Carlos Nieto

José Carlos Nieto
log.hckr.org feed

Pongbot, simple IRC bot for node.js

node.js uses Google's V8 Javascript engine to create an environment for writing event driven network applications.

Here's a very basic example on how to write an IRC bot that does nothing but joins a channel and replies PING requests to avoid being disconnected.

git clone git@github.com:xiam/pongbot.git
cd pongbot
node main.js

Go and try your own variation :)

/* Written by <xiam@menteslibres.org> */

/* Settings */
var CONF = {
  'server': 'irc.freenode.net',
  'port': 6667,
  'nickname': 'nodebot-'+(Math.ceil(1000 + Math.random()*1000)),
  'realname': 'A node.js bot',
  'channel': '#menteslibres'
};

var util = require('util');

var net = require('net');

var client = new net.Socket();

client.connect(
  CONF.port || 6667, CONF.server,
  function () {
    /* Sending ident */
    client.write(util.format('USER %s %s %s: %s\r\n', CONF.nickname, CONF.nickname, CONF.nickname, CONF.realname));
    client.write(util.format('NICK %s\r\n', CONF.nickname));
  }
);

client.on('data',
  function(data) {

    var buff = data.toString().split('\r\n');

    for (var i = 0; i < buff.length; i++) {

      /* Reading response line by line */
      var line = buff[i];

      console.log(line);

      var prefix = null;
      var command = null;
      var params = null;

      var match = null;

      if (match = line.match(/^:([^\s]+)\s([^\s]+)\s(.+)$/)) {
        prefix = match[1];
        command = match[2];
        params = match[3];
      } else if (match = line.match(/^([^\s]+)\s(.+)$/)) {
        command = match[1];
        params = match[2];
      };

      if (command == '376') {
        client.write(util.format('JOIN %s\r\n', CONF.channel));
      };

      if (command == 'PING') {
        client.write('PONG\r\n');
      }

    }
  }
);

I'm holding a copy of this bot in a github repo, just in case I decide to extend it in the future :-).

Planeta Laguna: Juegos en linea para todas las edades
Eduardo Ruiz Duarte

Eduardo Ruiz Duarte
beck's site feed

$latex \sigma-\acute{a}lgebras$ y otras estructuras

Hoy escribiré sobre $latex \sigma-\acute{a}lgebras$, las cuales son la base para trabajar con medidas en el sentido de teoría de la medida, veremos algunas propiedades y ejemplos, el punto de esta serie de apuntes será el poder definir la integral de Lebesgue, la cual es una integral alternativa a la integral usual de Riemann, la diferencia es que con ésta podemos integrar cosas como la función de Dirichlet, la cual no es integrable con el método propuesto por Riemann, pero para esto necesitamos comenzar con las definiciones fundamentales y teoremas fundamentales.

Definición: Una $latex \sigma-\acute{a}lgebra$ es un par $latex (X,\mathcal{S})$ tal que $latex \mathcal{S}\subseteq 2^{X}$ y
1) $latex \phi \in \mathcal{S}$
2) Si $latex A\in \mathcal{S} \Rightarrow A^c \in \mathcal{S}$ (es cerrado bajo complementos)
3) La unión numerable es parte de la $latex \sigma-\acute{a}lgebra$ es decir, $latex \bigcup_{i=1}^{\infty}E_{i} \in\mathcal{S}$ tal que $latex E_{i}\in S$

Podemos deducir otras propiedades interesantes usando conceptos de teoría de conjuntos, en este caso consideremos las leyes de Augustus De Morgan:

1) $latex \bigg (\bigcup_{\alpha}A_{\alpha} \bigg)^C=\bigcap_{\alpha}A_{\alpha}^c$
2) $latex \bigg (\bigcap_{\alpha}A_{\alpha} \bigg)^C=\bigcup_{\alpha}A_{\alpha}^c$

Vamos a demostrar que la intersección numerable de elementos de la $latex \sigma-\acute{a}lgebra$ también es un elemento de $latex \mathcal{S}$ pero antes vamos a demostrar la condición 1) de De Morgan.

Demostración de condición 1) de De Morgan:

Sea $latex x\in \bigg (\bigcup_{\alpha}A_{\alpha} \bigg)^C \Leftrightarrow x\notin \bigcup_{\alpha}A_{\alpha} \bigg \Leftrightarrow$ no está en ningún $latex A_{\alpha} \Rightarrow x\in A_{\alpha}^c \forall \alpha \Leftrightarrow x\in \bigcap_{\alpha}A_{\alpha}^c \blacksquare$

La demostración de la condición 2) es similar.

Demostración de que la intersección numerable es parte de $latex \mathcal{S}$

Sea $latex A_{n}\in\mathcal{S} \Rightarrow A_{n}^c \in\mathcal{S} \Rightarrow \bigcup_{\alpha}A_{n}^c \in \mathcal{S}$ (por la parte 3. de la definición)
Esto implica que $latex \bigg( \bigcap_{\alpha}A_{\alpha} \bigg )^c \in \mathcal{S} \Rightarrow \bigcap_{\alpha}A_{\alpha} \in \mathcal{S}$

Ejemplo:

Sea $latex X$ cualquier conjunto
David García del Valle

David García del Valle
Bienvenidos feed

Error setuptools-0.6c11-py2.6.egg sobre SUSE 11.1

En una agencia conocida nos toco migrar de RHE a SUSE 11.1  y al tratar de instalar el setuptools   me arrojo el siguiente error.

UFWTSAVAP:/export/src # sh setuptools-0.6c11-py2.6.egg
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 2] No such file or directory: '/usr/local/lib64/python2.6/site-packages/test-easy-install-27075.pth'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib64/python2.6/site-packages/

This directory does not currently exist.  Please create it and try again, or
choose a different installation directory (using the -d or --install-dir
option).
***********************************************************************
Ahora si vemos el paquete el distutils da el soporte para la construcción e instalación de modulos adicionales dentro de python y nos da la siguiente ruta.

$ cat /usr/lib64/python/distutils/distutils.cfg
[build_py]
optimize=0

[install]
prefix=/usr/local
optimize=0
***********************************************************************
Y la forma que se soluciono fue la siguiente aun no se si fue lo correcto.

mkdir -p /usr/local/lib64/python2.6/site-packages

Jan 30, 2012

Itzcoalt Alvarez Moreno

Itzcoalt Alvarez Moreno
Itzcoalt Alvarez. feed

Utilizando LVM

LVM (Logical Volumen Managment)[1] o manejo de volumenes logicos es una tecnología que nos quita muchos dolores de cabeza al momento de darnos cuenta que es necesario agregar mas espacio de disco duro a nuestro sistema, ya sea por que no dimensionamos correctamente o simplemente hemos tenido un crecimiento importante no planeado.

Si al momento de instalar nuestra caja utilizamos LVM, ampliar el espacio en disco sera una cosa trivial, toda vez que será muy sencillo agrega otro disco duro y “sumar” el espacio de este al sistema sin mayor problema.

Documentación existe mucha en Internet, y gracias a las maquinas virtuales es posible montar laboratorios en los cuales podemos hacer uso de esta herramienta y experimentar de una manera controlada, ya sea agregando o eliminando espacio sin perdida de datos.

Sin dudarlo, en su próxima instalación de una caja linux, utilicen LVM, es posible que en un par de meses/años les sea de gran utilidad.

[1] http://es.wikipedia.org/wiki/LVM

Planeta Laguna: Lucero de la mañana
Xenode Systems: ¿Porqué Unity es #Awesome?

Jan 28, 2012

Debian Mexico: Smuxi, un interesante cliente IRC para nuestro Debian
Emerson Posadas

Emerson Posadas
toxickore BLOG feed

Restaurar un servidor AIX con código 555 desde NIM y HMC

Bueno, dado que esta información me podrá ser de ayuda en un futuro. La dejaré para la posteridad y uso futuro. Si a alguien más le sirve, adelante, sirvase con confianza.

El problema: Led code 555 en un equipo AIX, o sea, muerto, no arranca

La solución: Entrar en modo mantenimiento, fsck'ear los filesystems y reiniciar

Lo que no les contaron: El equipo está virtualizado y se encuentra en otro lugar del mundo

Con un poco de acceso mediante HMC y un NIM server hay que hacer lo siguiente:

Desde el NIM server:

foo1:foonim:/root# lsnim -l fooserver
fooserver:
   class          = machines
   type           = standalone
   comments       = 2CPU 8GB
   connect        = nimsh
   platform       = chrp
   netboot_kernel = 64
   if1            = foo1_126-254 fooserver.bar.com 0
   cable_type1    = bnc
   mgmt_profile1  = foo-hmc-1 9 Server-9117-570-123ABCDEF
   Cstate         = in the process of booting
   prev_state     = not running
   Mstate         = currently running
   boot           = boot
   spot           = 531105spot
   cpuid          = 12345ABCDEF1
   control        = master


Lo que sigue es actualizar la MAC address en la posición que marqué en amarillo y letra roja:


foo1:foonim:/root# getmacs fooserver
Using an adapter type of "ent".
Attempting to use dsh method to collect MAC addresses.

# Node::adapter_type::interface_name::MAC_address::location::media_speed::adapter_duplex::UNUSED::install_gateway::ping_status::machine_type::netaddr::subnet_mask

fooserver::ent_v::en1::ABCDEF123456::::::::::111.222.333.444::::secondary::111.222.333.444::255.255.254.0


Finalmente hay que actualizar el nim server con la información para bootear al cliente nim desde el nim server

nim -o change -a if1="foo1_126-254 fooserver.bar.com ABCDEF123456" fooserver

El resto se los continuaré en otro post por que ya me dió hueva seguirle... xD
Planeta Laguna: Función en Excel para calcular el ISPT anual

Jan 27, 2012

Luis Alberto Cacho

Luis Alberto Cacho
Mi Vida con GNU/Linux feed

Problema iLO 3 + Firefox = (Error code: sec_error_reused_issuer_and_serial)

Al usar para entrar a una versión 3 de algunas veces tendremos el siguiente problema, debido a problemas con los certificados.

Problema con iLO3

Problema con

Cada vez que pasé dicho error habrá que hacer los siguientes pasos para poder conectarnos a cada una de las iLOs que por el momento no nos deja conectarnos.

1.- Abrimos el menú preferencias de nuestro Firefox

Problema con iLO3

Problema con iLO3

2.- Dentro de la ventana de preferencias damos clic en Advanced (Avanzado) y luego en View Certificates (Ver Certificados)

Problema con iLO3

Problema con iLO3

3.- Nos vamos a la pestaña Servers (Servidores) y buscamos el apartado con el nombre “Hewlett-Packard Company”, donde encontraremos los certificados de HP que hasta el momento hemos aceptado. Y comenzamos a borrar los certificados que estén en ese apartado

Problema con iLO3

Problema con iLO3

4.- Con esto ya nos volverá a pedir que aceptemos los certificados correspondientes.

Problema con iLO3

Problema con iLO3

5.- Finalmente tendremos acceso a la iLO

Problema con iLO3

Problema con iLO3

Ya podemos administrar nuestros equipos desde la iLO3.

Fuente: http://saltwetbytes.wordpress.com/2009/09/14/firefox-issues-error-sec_error_reused_issuer_and_serial/

 

 

Post Relacionados:

  1. Agregar un canal RSS en Liferea desde Firefox
  2. Exportar e Importar tus marcadores de Firefox
  3. Cambiar la búsqueda personalizada de Firefox en LinuxMint

© k4ch0 for Mi Vida con GNU/Linux, 2012. | Permalink | No comment | Add to del.icio.us
Post tags: , , , , , , ,

Feed enhanced by Better Feed from Ozh

Planeta Laguna: La caída de un joven poeta
Planeta Laguna: Instalar Metasploit en IOS 5
Miguel Barajas

Miguel Barajas
GnuOwned's Blog feed

The Open Enchilada Project S04E11



The Open Enchilada Project S04E11

Jan 26, 2012

Planeta Laguna: Atheros AR9285 con DEBIAN squeezy
Emerson Posadas

Emerson Posadas
toxickore BLOG feed

Póngale nombre a esta ley

Existen leyes famosas como la ley de la conservación de la energía, la ley de la conservación de la materia, la ley de Murphy, y muchas otras más que rigen nuestra existencia.

Pues bien, he estado meditando seriamente y se requiere un nombre para la siguiente ley.

"La puntualidad de un individuo es inversamente proporcional a la distancia de la cual se encuentre su destino"

Dicho de otra manera:
Si la puntualidad es la variable p, y la distancia que tiene que recorrer desde el punto de partida a su destino es d, entonces tenemos que.

 Distancia(d)       Puntualidad(p)
________________________________
    5km            + 20min retraso
    10km          + 15min retraso
    15km          + 10min retraso
    20km          + 5min retraso
    40km                 0min


Mis propuestas son:
  • Ley puntual del mexicano
  • Ley de puntualidad distante
  • Ley distancia-puntualidad
  • Ley invariable de impuntualidad

Miguel Barajas

Miguel Barajas
GnuOwned's Blog feed

Episodio 3 de Android Apps Reviews por GnuOwned En esta ocasión...



Episodio 3 de Android Apps Reviews por GnuOwned

En esta ocasión platicamos de Foursquare y Untappd

Planeta Laguna: Licántropo
Maurico González

Maurico González
Linux Echoes feed

Mi escritorio Windows

Les muestro mi escritorio que estará todo el mes de febrero:

  • Windows 7 Home Premium
  • CustoPack Mac OS X
  • RoketDock
  • Aplicacion Dexpot para múltiples escritorios.

Jan 25, 2012

Emerson Posadas

Emerson Posadas
toxickore BLOG feed

En historias que a nadie le importan: algoritmo burbuja

Una vez, me encargaron ordenar un estante lleno de cartitas bibliográficas de una papelería por orden alfabético. Eran aproximadamente 300 cartas diferentes y pues la cosa no se veía nada bien en términos de tiempo para ordenar todo eso.

Eran mis épocas de estudiante de informática y pues creo traía frescos los algoritmos de ordenamiento. Me vino a la mente aplicar el método de la burbuja o bubble sort.

Pues tomé las cartitas y empecé de estante en estante, comparando la primera con la segunda, y así dandole sus barridas a todos los estantes.
Sorprendentemente a pesar de que el método de la burbuja no era precisamente el mas óptimo para una tarea de este tipo, era la que mejor podía aplicar pues aunque parece fácil ordenar 300 bonches cartas, se puede volver un desmadre sin un método y especialmente sin desmadrar el acomodo en los estantes; o sea, sin espacio para maniobrar.

Y así fué como hice un uso práctico de un algoritmo de ordenamiento aprendido en la escuela para una tarea trivial del mundo trivial.

Calibración del Touchpad en Linux y GNOME3

Ya comprendí a mi hermana cuando le instalé Debian. Utilizar un Touchpad en una laptop con Linux es una de las peores experiencias que he tenido con este sistema operativo.

El problema: estando escribiendo, cualquier rozón —a veces ni siquiera se necesita un rozón— provoca que el ratón se considere presionado en una ubicación diferente a la del cursor. Esto nos mueve súbitamente el cursor a la ubicación del puntero y quienes mecanografiamos debemos detener nuestra escritura para reubicar el cursor y continuar frustradamente (no sin antes corregir las consecuencias de lo ocurrido: salida de foco, tecleo en un lugar incorrecto, etc.).

Estoy usando una laptop Samsung NP-R540-JA09US. Naturalmente, tan pronto como la recibí, le instalé Debian. A diferencia de la IBM ThinkPad T42 la Samsung no tiene TrackPoint. Mi hermana tenía instalado Debian 6.0 en una laptop HP Pavilion dv6700. Lo menciono porque, al ser diferente hardware, me resulta más fácil echarle la culpa al software. Yo estoy usando Debian Sid; no Wheezy, sino Sid: dos versiones adelante de la estable. Lo que no puedo creer es que nadie más haya experimentado el mismo problema en todo este tiempo.

La mayoría de los linuxeros acostumbramos resolver nuestros propios problemas, así que a veces los desarrolladores no se enteran de la problemática que envuelve a los usuarios novatos y no-técnicos. Llamada de atención para los desarrolladores de GNOME.

Al menos por default, en GNOME, las interfaces para ajustar los parámetros del Touchpad son muy pobres. El afán de hacer las interfaces amigables a veces llevan a los desarrolladores a la falacia de eliminar cosas que realmente son útiles, como los valores numéricos que resultan de un control tipo “slider” (de esos que son como para controlar el volumen, pero rectos). Esto hace que sea difícil tener valores de referencia para calibrar algo tan importante como el equivalente del ratón.

Por ejemplo, para la “detección de palma” tienen un slider cuyos extremos dicen algo así como “leve” y “fuerte”. Es un control que no tiene retroalimentación inmediata o visual, con valores sin sentido y sin disponer de una referencia comparativa.

Al usar Debian Sid, actualizar a una versión más reciente de software no es una opción, a menos que quiera arriesgar mi laptop con software experimental y con baja probabilidad de que el problema esté realmente resuelto.

Hecho el berrinche correspondiente, incluyo los pasos que seguí para reducir mi estrés con el uso del Touchpad.

Habilitar de manera personalizada la desactivación del Touchpad mientras escribo

Esta parte la hice bajo GNOME 3. Aunque GNOME Control Center trae una opción llamada “Deshabilitar el Touchpad mientras se escribe”, la realidad es que los parámetros de esta opción son extremadamente conservadores.

Lo que esta opción hace es cargar un programa llamado syndaemon, que monitoriza los eventos de teclado y desactiva el Touchpad mientras se detecta que el usuario está escribiendo. GNOME Control Center, en su versión 3.2.2, al menos en Debian Sid, deshabilita el Touchpad durante 2 segundos después del último teclazo, con el inconveniente de que ni siquiera permite el movimiento del puntero.

Para resolver esto, deshabilité dicha función, dejando que el touchpad siempre estuviera habilitado por default, pero yo cargué manualmente syndaemon desde un “Startup Application” (gnome-session-properties) con los siguientes parámetros:

syndaemon -i 0.8 -K -t -R -d

-i 0.8, que deshabilita el Touchpad por sólo 0.8 segundos después del último teclazo.
-K, que no deshabilita el Touchpad si se usan combinaciones de teclas (como Ctrl+W). Esta opción ya la incluye GNOME.
-t, que sólo deshabilita los taps y los scrolls. El puntero se sigue moviendo.
-R, porque ya la incluía GNOME (usa XRecord).
-d, porque ya la incluía GNOME (carga como demonio).

Con esto, espero menos de la mitad del tiempo para poder hacer un tap (y siempre dispongo de los botones de todos modos) y mientras puedo ir moviendo el puntero. Esto hace que el uso de la computadora sea mucho más fluido.

Calibración de la detección de palma

Esto lo hice a nivel X.org. A falta de parámetros reales para calibrar la palma, opté por usar el siguiente comando fuera de X11:

sudo evtest /dev/input/event6 | egrep 'WIDTH|PRESSURE'

Esta instrucción (cambiando event6 por el valor que corresponda en tu laptop) permite ver los eventos que ocurren con el Touchpad, relevantes a la presión y el ancho del toque.

Después de comparar con algunos taps comunes, toques accidentales, mi palma, etc., decidí que después de una anchura de 7 y una presión de 70, se considere palma. Así, creé el archivo /etc/X11/xorg.conf.d/synaptics con las siguientes líneas:

Section "InputClass"
	Identifier "Touchpad" #Requerido
	MatchIsTouchpad "yes" #Requerido
	Driver "synaptics" #Requerido

	Option	"PalmDetect"	"1"
	Option	"PalmMinWidth"	"5"
	Option	"PalmMinZ"	"70"
EndSection

Para ver los valores que actualmente tiene su driver de Synaptics (el Touchpad), se usa:

synclient

Jan 24, 2012

OBJETOS CULTURALES LIBRES

Colectando los avales digitales para mi informe de actividades me encontré con una entrevista que me hicieron en diciembre y que derivó en un pequeño artículo publicado en la revista digital "la educ@ción" del Departamento de Desarrollo Humano, Educación y Cultura en el Portal Educativo de las Américas (http://www.educoas.org/portal/La_Educacion_Digital/146/indexen.html)

Originalmente el tema a conversar eran los Objetos de Aprendizaje Reutilizables (OAR), pero en el camino me enfoque en una noción más relevante: los objetos culturales.

La fuente original pueden consultar en: http://educoas.org/portal/la_educacion_digital/146/pdf/ART_alejandromira...

Alejandro Miranda

Facultad de Estudios Superiores Iztacala
Universidad Nacional Autónoma de México (UNAM)

Resumen

Cuando hablamos de Recursos Educativos Libres, no podemos aislar el concepto del contexto del movimiento de la Cultura Libre. En este marco, y con el objetivo de aportar información que permita a los docentes y al público en general entender el qué, el cómo y el por qué de los REL o REA, es que nos proponemos en este artículo conocer las diferencias entre Cultura Libre y Objetos Culturales Libres y su vinculación y aporte al ámbito de la educación.

Introducción

¿Por qué debemos hablar de Objetos Culturales Libres y no de una Cultura Libre?

La cultura entendida como los patrones de conducta, creencias y productos que distinguen a un grupo de personas por su naturaleza, es “libre”. Las personas que pertenecen a grupos culturales distintos y que entran en contacto tenderán al libre intercambio de ideas y objetos culturales. Esto quiere decir que los límites de la cultura están sólo delimitados por la interacción entre grupos. Una vez que sucede esta interacción, se da un inevitable camino a la negociación y síntesis de nuevas costumbres y objetos. Por ejemplo, el festejo del Día de muertos en México no es el prehispánico, el hispánico y tampoco el de Halloween, sino que es una síntesis de todos ellos y al mismo tiempo se distingue con claridad de sus diversos orígenes.

Pero el tema de la propiedad intelectual y las leyes que de ella se derivan ha cambiado el panorama del libre intercambio de objetos culturales. En la actualidad, por ejemplo, una persona que desee hacer una derivación de su canción favorita se detendrá en seco al enfrentarse a la reserva de derechos de su autor y del intérprete; por lo que esa canción que le da sentido a una etapa de su vida, en la que ha anclado sus emociones y le ha cargado de significados, que fue reinterpretada y reelaborada (en todo el sentido emotivo, cognitivo y social) para hacerla propia, no podrá ser cosificada en un video porque no tiene los derechos para ello.

Desde hace unos 300 años, aproximadamente, la sociedad cedió algunos de sus derechos de libre copia a particulares con el argumento de incentivar la innovación, reservándole al empresario un tiempo para el uso exclusivo de una obra que comenzaba en un razonable intervalo de 14 años (como lo indicaba el estatuto de la Reina Ana en el Reino Unido) hasta llegar a escenarios como el caso México que protege los derechos morales y patrimoniales del autor 100 años después de su muerte.

Por el abuso en los tiempos que rigen la reserva de derechos de una obra fue como surgió la noción de “cultura libre” proveniente de un heterogéneo y emergente movimiento que busca el fomento de las “obras culturales libres” (Free Cultural Works) como obras o expresiones (obras creativas) que pueden ser libremente estudiadas, aplicadas, copiadas y/o modificadas por cualquiera, para cualquier propósito.

Hay que resaltar que la noción de las obras culturales libres no se opone al derecho de autor, la mayoría de los licenciamientos que de ella derivan exigen y promueven la cita de la obra de origen, de forma análoga a lo que hacemos en nuestros trabajos académicos al derivar una nueva idea.

El caso mexicano

La Cultura Libre en México se vive de igual forma que en Latinoamérica, como un movimiento emergente que cada día tiene más simpatizantes entre creadores como: académicos, investigadores, artistas y activistas, aunque hay muchos mitos alrededor del concepto.

Es en estos mitos en los que se confunden los derechos patrimoniales con los morales, la libertad con gratuidad o pensar que los licenciamientos, como las Creative Commons, son un sistema de registro de obras. Nada más alejado de la realidad. Por ejemplo, las licencias Creative Commons me permiten liberar una obra, desde la más restrictiva (darle atribución, compartir la obra sin modificación y sin derecho al usufructo económico), hasta la que permite derivarla y sacar provecho económico de ella, pero exigiendo la atribución de autoría. El licenciamiento actúa en dos vías: protege el derecho de autoría mientras, opcionalmente, puede ceder algunos otros como la copia, la derivación o el uso económico y, lo más importante, cada autor decide qué derechos se reserva y cuáles cede a quien consulta su obra.

La educación como espacio colaborativo

Luchamos por tener objetos culturales en los que se pueda garantizar su libre tránsito, por lo que su propuesta y uso considera a todas nuestras actividades como grupo, al entorno completo y que referimos como cultura. Se trata, pues, de que en una era que se caracteriza por el abuso en la reserva de derechos de copia, existan herramientas que nos ayuden a garantizar la libertad de una obra, cualquiera que sea.

Como psicólogo educativo y cultural considero que la escuela, al ser el espacio social donde formalmente depositamos nuestra confianza para transmitir nuestro acervo cultural, debe promover la adquisición de habilidades que estimulen la empatía hacia el otro, el respeto a las ideas de los demás y la construcción colaborativa; y los postulados éticos de la cultura libre vienen bien para lograr esos objetivos.

Nuestra sociedad se ha metido en un callejón sin salida en la que el individualismo nos ha llegado a escenarios donde por el bien individual se pisotea el bien común. La propuesta de la Cultura Libre nos da una lección ética que en la escuela deberíamos considerar, propone un punto medio donde los derechos de los individuos se respetan y al mismo tiempo el grupo tiene los suyos garantizados.

Lo que sí estamos obligados a incluir en la escuela, es la educación para los medios, donde garanticemos que nuestros estudiantes emitan juicios críticos sobre los contenidos y obras a las que acceden, aunque supondría que eso no es tarea fácil porque llevamos años planteando el tema.

El punto de importancia en la enseñanza, entonces, no es la cultura libre sino el ejercicio ético en la sociedad y en la escuela.

La lección de la cultura libre es que es posible encontrar fórmulas en la que se reduzca la fricción entre dos puntos de vista opuestos. La escuela como institución debe garantizarnos generaciones que sean capaces de entender esta lección, que en este mundo hay espacio para todos. Puede ser por la particular situación social que vive México, pero cada día que pasa confirmo más que debemos enfatizar menos en las habilidades orientadas a la adultez laboral para detenernos a garantizar las habilidades para la convivencia y resolución de conflictos. Claro que entre más temprano tratemos estos temas mejor, aunque nunca se es demasiado tarde para abordarlos.

Sin embargo, esto lo separaría de la conveniencia pragmática del uso de los recursos educativos abiertos. Más allá de los postulados éticos, a las instituciones educativas les conviene el uso de estos porque les da visibilidad, permite el desarrollo de las ideas, aún cuando la institución deje de soportarlo y será muy probable que a largo plazo lo invertido regrese con dividendos.

Evaluar o no la cuestión de la calidad

En cuanto a la idea común de que lo gratuito puede ser sinónimo de mala calidad y la consulta sobre cómo esto puede influir en el tema de los REL, considero que cada grupo debe avalar lo que considere un producto de calidad, de facto sucede así, cada comunidad de practicantes se regula y establece sus criterios “de calidad”. Por esa razón, considero que no debería existir un quién; de la misma forma que nosotros como académicos tenemos herramientas culturales para juzgar la calidad de una revista, no evitamos que las mismas surjan, lo que hacemos es juzgar la calidad de ellas por medio de los criterios que como gremio nos convengan.

Razón por la cual considero que no debemos hacer nada por cambiar esa imagen, no vale la pena iniciar una campaña de revalorización de lo libre, porque tanto en lo libre como en lo privativo hay gradientes de “calidad”.

Todos debemos tener garantizado el derecho a vivir en el error. Si una universidad considera útil usar su dinero para pagar a una empresa por un LMS2 privativo, aún sabiendo que a muy bajo costo puede acceder, usar y mantener un LMS libre, como Moodle, tiene derecho a vivir en el error por las razones que le convengan.

Por si esto fuera poco, en el entorno educativo cada vez hay más ejemplos de universidades (públicas y privadas) de gran prestigio, que liberan sus contenidos con licenciamientos permisivos, eso me parece será lo común en los próximos años.

Conclusión

Para concluir, podemos indicar que un escenario ideal que promueva el movimiento de los Recursos Educativos Libres, será el que tenga las siguientes características: Una sociedad que produce objetos culturales libres, en la que sus autores tienen su atribución y pueden vivir de sus productos y la sociedad puede derivarlos libremente sin que ello sea considerado un agravio a la obra original, piratería o un crimen, porque, finalmente, los grupos humanos están integrados por individuos y los individuos somos unos hermosos sistemas estructurados para apropiarnos de ideas y derivarlas en el plano abstracto y concreto.

Una escuela que promueve la colaboración y la auto organización, mientras que se ayuda a interiorizar la idea de que toda obra cultural tiene una autoría que debe ser respetada, pero también es posible cooperar al avance social derivándolas y que, casualmente, se parece mucho a la idea contemporánea del avance de la ciencia, pero aplicada al resto de contextos culturales.

Y, finalmente, un individuo que ha desterrado la idea de que la copia y la derivación son un acto criminal equivalente a la piratería, que por el sólo hecho de ser humano, tiene derecho a acceder a la información, aprender cómo se encuentra estructurada y a derivar ideas nuevas a partir de ella.

(1) Este artículo fue realizado a partir de una entrevista que le hiciera al Dr. Alejandro Miranda la Prof. Deyanira Castilleja, coordinadora en México de Maestros Sin Fronteras, institución que colabora junto a la Organización Internacional Teachers Without Borders.

(2) Sistema de Gestión de Aprendizaje (LMS, por sus siglas en inglés)

Sobre el autor.

Alejandro Miranda es Psicólogo especializado en la educación y los procesos culturales en Internet, docente en la Facultad de Estudios Superiores Iztacala de la Universidad Nacional Autónoma de México (UNAM). Actualmente, termina sus estudios de doctorado abordando el tema de la mediación tecnológica en las comunidades virtuales de aprendizaje. Desde hace 7 años dedica gran parte de su tiempo en estructurar y coordinar la organización del Encuentro en Línea de Educación, Software y Cultura libres (EDUSOL) donde se discuten temas vinculados con la cultura libre, la escuela y la educación en ámbitos tecnológicos. Además, coordina un laboratorio educativo donde se prueban arreglos metodológicos y tecnológicos en torno al aprendizaje en línea formal y no formal. Ha participado, desde 1995, como ponente en múltiples congresos nacionales e internacionales con temas relacionados con las tecnologías de la información en la educación y sistemas de evaluación por computadora. Entre algunos de las actividades en las que se ha desempeñado se encuentran la consultoría privada, responsable de educación en línea en el Centro de Educación Continua del Instituto de Investigaciones Económicas en la UNAM, y Subdirector de Desarrollo Académico a Distancia en el Centro de Alta Tecnología para la Educación a Distancia Tlaxcala perteneciente a la UNAM.

Planeta Laguna: Porqué el cierre de Megaupload no afecta al software libre
Gunnar Wolf

Gunnar Wolf
Gunnar Wolf feed

BugCon friends, are you trying to scare away 50%+ of the target audience?

You are scaring away much more than that.

I just came across an invitation for BugCon 2012.

BugCon is a Mexican conference devoted to computer security — I cannot comment on its level or value because, although it's a topic that has long interested me, I must recognize each day I feel less of an expert, nowadays finding myself at the level of a "sysadmin who tries not to be too dumb for his own job security". Oh, and also because it would be completely off-topic for this post.

If you look at Vendetta's (the main organizer) blog post, it will probably give you the impression that the conference is just an excuse for the afterparty: Lets go see some b00bs! Do you think your fellow female hackers will have any interest in joining a bunch of sex-starved, hormone-infested teenagers who only want to pwn a website and grab more pr0n? Do you think females will feel welcome (or even mildly safe) between you? I would not think so. And I also think you are alienating any professional who might have any interest in joining your community, be it as a member, as a mentor, or whatnot.

I cannot right now do a coherent post on this topic, but I can reference you to what I have seen (and read) over the last almost 10 years, when the issue was first brought up to our attention. I am very glad to see that, at least in the Free Software area, there has been a real change of mindset. I hope you are in time to think about it and rectify.

  • Timeline of incidents in Geekfeminism. Note that while it seems we see more as time passes, I am almost sure it's because we are more aware of the problem, not because it occurs more often. I hope I'm not mistaken.
  • Debconf ftp-masters talk. Myself a Debian person, my first contact with this problematic was being at the DebConf3 ftp-masters talk — And the discussion and action that followed. This led to the creation of the Debian Women group, one of the most (socially, not technically) influent parts of Debian. Great thanks and admiration to their members, as well as to the (male and female alike) people who have worked to form it and make it heard.
    I think Debian Women sparked other similar projects such as GnomeWomen (and there is a list with further projects in there), but I cannot authoritatively say who was there first.
  • Planet Fedora up-skirting photo (the original post is still available) showed the communit does no longer tolerate this behaviour. Good!
  • The Open Source Boob Project. One of the most childlike attempts at humor that surely alienated many would-be female geeks.
  • Another conference season, another dumb sexist, a post by Piers Cawley addressing this issue after attending the CouchDB + Ruby: Perform like a Pr0n star talk. Quoting him, Apparently, the difference between 80s truck salesmen and Matt’s audience is that at least 80s salesmen had the grace to look embarrassed.
  • Liz Keogh: "I am not a pr0n star: Avoiding unavoidable associations", a hacker woman that clearly felt offense by the CouchDB Pr0n Star joke, and did a thorough and interesting analysis, extending the effects to your work environment.
  • Just Say You're Sorry Already (regarding the same incident on CouchDB+Ruby)
  • Richard Stallman's EMACS virgins joke incident. It's sad how it's impossible to get Stallman to acknowledge he can also make mistakes and make feel people insulted.
  • [update] And of course, MadameZou mentions the very important 2002 HOWTO: HOWTO encourage women in Linux?

Oh, and not the description of an incident, but a very interesting and thoughtful take on this: [pdf] Interesting analysis by Hannah Wallach on the numbers and motivations of women in Free Software groups. I don't know if Hannah has published this in article form, but many interesting points can be understood by looking at the presentation.

My good friend Vendetta: I don't mean this post (longer than what I originally intended) as a way to say you and the conference you are organizing for the third year (IIRC) already is unprofessional or targetted to pimply teenagers. I know the work you have put in it. I hope you see the points I'm trying to drive — You are of course free to have whatever afterparty you have. But, if as the main organizer, you are giving the images of nice chicks at Hooters more weight and relevance than to the conference itself... you are doing yourself a disservice. I hope you can rectify it, and make BugCon attractive to hacker women as well.

Carlos Augusto Lozano

Carlos Augusto Lozano
tail -f /dev/mind > blog feed

BugCON '12

Well.. all is ready for BugCON '12 or I think so‌

Five years ago I founded BugCON, the first edition was a little meeting with close friends, people who are very involved in security research, hackers, script kiddies, etc, etc‌ and I created it with the idea of a free hacker convention, where all people who wants can show their research.

Currently these dream happens. BugCON is not a comercial event like bSecure Conference or a low level conference like UNAM Security Conference. BugCON is the most important hacker convention in Mexico, and BugCON's comite don't say that, people say that, reseachers say that, speakers around the country and in USA, Argentina, Spain, Ecuador, etc, etc say that‌ all people who wants to participate can do it. Hackers from Mexico and other places follow our efforts year with year.

I only can offer thanks, thanks a lot of every body who do BugCON possible, thanks to my friend Armin who coordinates de BugCON's comite (ok, there isn't a comite, but if it would exist obviously Armin would coordinate it), Maf who are our principal sysadmin, webmaster, “milusos”.. our staff who are ready to help us next week, and friends like hkm who totally support BugCON, Sandino Araico who support this kind of inicitavies, our gold sponsor ESET thanks a lot to Gisele Giabetti, and our friends like nitr0us, Hugo, calderpwn, hecky, and all that you know. Our parnters eKoparty at Argentina, RootedCON at Spain, H2HC at Brazil, DragonJar, SuricataIDS, IPN, etc.

Belive when I say if you get a little of knowledge, inspiration or what ever from BugCON we feel fulfilled. BugCON tries that, create a security culture, show the mexican research, be a point of party for all hackers and inspire new people.

BugCON Security Conference: Safety us just a myth‌!

More info/Registry: www.bugcon.org

And of course, after CON‌ (organized by nitr0us):

http://www.brainoverflow.org/misc/h00t3rsc0n%20flyer.jpg

Jan 23, 2012

David García del Valle

David García del Valle
Bienvenidos feed

(Sin Título)


VSFTPD con FTPES


Hace  unos días me toco levantar un VSFTP, y se implantó de con TLS/SSL y de la forma EXPLICITA.
Es decir utilizamos el puerto 21 y agregamos un certificado en este caso lo creamos local.

Al realizar la configuración y  descargar Filezilla  me encontré con el siguiente error que daba Filezilla al conectarme:

GNUTLS  Error 53:

Y  cual era  el detalle básicamente necesitaba de otros puertos para la conexión TLS además de que nuestro FTP esta configurado de la forma pasiva de hecho esa configuración la tenia agregada en el vsftpd.conf  con los siguientes puertos.

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40020
port_enable=YES

El problema se corrigio cambiando a los siguientes puertos.

pasv_enable=YES
pasv_min_port=30300
pasv_max_port=30309
port_enable=YES

También tenemos que ver que nuestro vsftpd este soportada para TLS/SSL si nos regresa lo siguiente todo esta bien.

[root@vps] ldd /usr/sbin/vsftpd | grep libssl
 libssl.so.4 => /lib/libssl.so.4 (0x4001e000)


Os dejo mi vsftpd.conf !

######################################################################
# No ANONYMOUS users allowed
anonymous_enable=NO
# Allow 'local' users with WRITE permissions (0755)
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
# if you want to LOG vsftpd activity then uncomment this log_ftp_protocol
# log_ftp_protocol=YES
connect_from_port_20=YES
# define a unique user on your system which the
# ftp server can use as a totally isolated and unprivileged user.
nopriv_user=vsftpd
chroot_local_user=YES
chroot_local_user=YES
listen=YES
# here we use the authentication module for vsftpd to check users name and passw
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
# for users that are denied.
userlist_deny=yes
# here the vsftpd will allow the 'vsftpd' user to login into '/home/vsftpd/$USER directory
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
##For SSL
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
##Este certificado se creo localmente
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
# PASV - passive ports for FTP (range 30300 - 30309 ; 100 PASV ports,
pasv_enable=YES
pasv_min_port=30300
pasv_max_port=30309
port_enable=YES
************************************************************************

Planeta Laguna: Gorgoroth

Jan 21, 2012

Vendo 3 DVS Originales de Robotech

Envio a cualquier parte de la Republica Mexicana.

Si les interesa pueden hacer su oferta desde mercado libre, subasta inicia desde un peso y se va en lo que quede, se respetara el precio final.

Clic para entrar en la subasta.

Omar Hernández Sarmiento

Omar Hernández Sarmiento
-- opochtli -- feed

imprimir lineas especificas

Para obtener de una sección por numero de lineas especificas de un archivo se puede emplear
#Obtener de la linea 2 a la 6
$ seq -w 1 10 | tail -n +2 | head -`expr 6 - 2 + 1`
02
03
04
05
06


Poco útil si se requieren varias secciones
#Obtener de la linea 2 a la 5 y de la 7 a la 9
$ seq -w 1 10 | sed -n -e '2,5p' -e '7,9p'
02
03
04
05
07
08
09

Scratch en Debian

Por alguna razón que desconozco (pudiera ser licencia) ya que estrictamente scratch no es software libre, o digamos que el codigo es libre, pero el logo y el gato (scratch) son marca registrada, en todo caso existe un .deb para Ubuntu, el cual por supuesto que probé en mi Debian 6, topandome con que lo que detiene al .deb de ubuntu de instalarse en Debian es que la versión de Ubuntu requiere pulseaudio =>1.0.9 y en Debian 6 se usa pulse audio 0.9.21-3+squeeze1 en Wheezy se usa 1.0-4 y bueno haciendo sabiendo que esto esta en el archivo control de Debian, use practicamente una receta que me encontre en los foros de Ubuntu en realidad para otra cosa.

primero crear un directorio temporal en mi caso 1

mkdir 1

Extraemos los archivos del Deb

dpkg-deb -x scratch_1.4.0.1-0ubuntu5_i386.deb 1/

dpkg-deb –control scratch_1.4.0.1-0ubuntu5_i386.deb 1/

Editar control en 1/DEBIAN/control

vi 1/DEBIAN/control

Listo colocamos => 0.9.2

Con lo cual corre desde stable hasta unstable. Y a generar un deb modificado

dpkg -b 1/ scratch_1.4.0.1-0ubuntu5_i386.modified.deb

El cual se puede instalar en mis maquinas con Debian stable sin romper demasiado,  por ahí a alguien se le ocurrio que es tan sencillo que se puede hacer un script de bash [1] y mejor aún lo pusieron en github [2], por si se lo preguntan scratch se puede descargar de acá [3], justo iba a levantar un ticket en trac de scratch y me encuentro con que ya esta reportado [4]. Por cierto el paquete modificado, lo he subido por si alguien no desea hacer todo el borlote [5]

[1] http://ubuntuforums.org/showthread.php?t=636724
[2]https://gist.github.com/1410666
[3]http://info.scratch.mit.edu/Scratch_1.4_Download
[4]http://www.assembla.com/spaces/scratchonlinux/tickets/19
[5]http://blografia.net/vicm3/data/file/scratch_1.4.0.1-0ubuntu5_i386.modifiedforDebian.deb

Jan 20, 2012

Omar Hernández Sarmiento

Omar Hernández Sarmiento
-- opochtli -- feed

llave publica

La llave publica GnuPG de petrohs se encuentra en el servidor del MIT o su servidor de preferencia


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.0

mQENBE4RR2kBCADbI5y8uv4jAiRpCDxfnqv1DKdWKWLd8raLT/gFOODeIRFY36AZsBK7YN4r
EqsJaqKbazh5TSVqIlrtlq+ZetC7RO+LukL5ceD4m6wG2ulIHLBRFJw/8GYa7XC8JNMrl8do
94qd9otRG/6tVEMUQg6mKk/U7ByoS0kfyyOJyIF8kofKC7W+ZAKCEKhHISgSuKeYDt2C+fYQ
nXWa4R7XxIBDHjYQyoNio2kcG/W0zr+UqcBBWP4jbywM5Mtg0rlIXoyiDhdAaeMuF3yCWnn3
FHcr++uPhkO8WAOhToC9YDA28FqAQeALYGX+wc57Cn3voR872XXAgquSaY2fPGHNgmKLABEB
AAG0OlBldHJvbmlsbyBTYW5jaGV6IChPYnJlcm8gSW5mb3JtYXRpY28pIDxwZXRyb2hzQGdt
YWlsLmNvbT6JATgEEwECACIFAk4RR2kCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJ
EM61wiDxtxzb7EkH/1GI8ZJdYrxnnvIC67Lb3gIVDO3M9OvXmy+hH83/9jdWIo90F82pEjTX
u7AM0VhDIr006cD/6ZGAcUUCJYtDsOY91/4E3XjdEUBpDnO/BfaRIdDx8cDw/uDzav4bcnNT
Bf4xHaG5r3wpO0HqqNoztedPtyt3PmlIr2Od6EabKYDNkqD8+RasXJ/24NlAFCGVsu5iFeaP
kgsSDw9puW4aQvcZHGR07S3JdbsBkAStHAuGG4U78I8bOSrp1N860G9x5o972PEz2DMU6BdW
p7yuB6cujf81C7Hiq1XHioKsKqigcsXMkJsvXJWrQuYbKiF5yEK9YmWKvwYQLpE7B4jReu7R
/wAAZpH/AABmjAEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQEASABIAAD//gA+Q1JF
QVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxp
dHkK/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEB/9sAQwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/8AAEQgA8wDwAwEiAAIRAQMRAf/E
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
=q8on
-----END PGP PUBLIC KEY BLOCK-----


Para importar en su llavero
$ gpg --import petrohs.asc
o con
$ gpg --keyserver pgp.mit.edu --recv-key CEB5C220F1B71CDB

Web Portal Maintainer Wanted

A Canadian company is looking for an english-speaking and english-writing employee who would be hired to maintain a Macintosh Software.
The employee would be responsible for doing moderation on vendor's submission to the Application Portal, as well as adding and maintaining new free software entries.
The company is looking forward to maintain the position for a while, the employee must be a confident person that speaks and write proper english and be on duty full time, and should own an Intel-CPU Mac.

Please publish your resume URL written in english at the comments field.

Permalink | Leave a comment  »

Jan 19, 2012

kodak se declara en bancarrota

kodak, quien inventara la fotografía digital, se ha declarado en bancarrota, el New York Stock Exchange “NYSE” ha suspendido la cotiazacion de titulos de la empresa fundada en 1880 por George Eastman. ya tenia 6.800 millones de dólares en deuda … Continue reading

The Pirate Bay’s SOPA/PIPA Press Release

INTERNETS, 18th of January 2012.
PRESS RELEASE, FOR IMMEDIATE RELEASE.

Over a century ago Thomas Edison got the patent for a device which would “do for the eye what the phonograph does for
the ear”. He called it the Kinetoscope. He was not only amongst the first to record video, he was also the first person
to own the copyright to a motion picture.

Because of Edisons patents for the motion pictures it was close to financially impossible to create motion pictures
in the North american east coast. The movie studios therefor relocated to California, and founded what we today call
Hollywood. The reason was mostly because there was no patent.
There was also no copyright to speak of, so the studios could copy old stories and make movies out of them – like
Fantasia, one of Disneys biggest hits ever.

So, the whole basis of this industry, that today is screaming about losing control over immaterial rights, is that they
circumvented immaterial rights. They copied (or put in their terminology: “stole”) other peoples creative works,
without paying for it. They did it in order to make a huge profit. Today, they’re all successful and most of the
studios are on the Fortune 500 list of the richest companies in the world. Congratulations – it’s all based on being
able to re-use other peoples creative works. And today they hold the rights to what other people create.
If you want to get something released, you have to abide to their rules. The ones they created after circumventing
other peoples rules.

The reason they are always complainting about “pirates” today is simple. We’ve done what they did. We circumvented the
rules they created and created our own. We crushed their monopoly by giving people something more efficient. We allow
people to have direct communication between eachother, circumventing the profitable middle man, that in some cases take
over 107% of the profits (yes, you pay to work for them).
It’s all based on the fact that we’re competition.
We’ve proven that their existance in their current form is no longer needed. We’re just better than they are.

And the funny part is that our rules are very similar to the founding ideas of the USA. We fight for freedom of speech.
We see all people as equal. We believe that the public, not the elite, should rule the nation. We believe that laws
should be created to serve the public, not the rich corporations.

The Pirate Bay is truly an international community. The team is spread all over the globe – but we’ve stayed out of the
USA. We have Swedish roots and a swedish friend said this:
The word SOPA means “trash” in Swedish. The word PIPA means “a pipe” in Swedish. This is of course not a coincidence.
They want to make the internet inte a one way pipe, with them at the top, shoving trash through the pipe down to the
rest of us obedient consumers.
The public opinion on this matter is clear. Ask anyone on the street and you’ll learn that noone wants to be fed with
trash. Why the US government want the american people to be fed with trash is beyond our imagination but we hope that
you will stop them, before we all drown.

SOPA can’t do anything to stop TPB. Worst case we’ll change top level domain from our current .org to one of the
hundreds of other names that we already also use. In countries where TPB is blocked, China and Saudi Arabia springs to
mind, they block hundreds of our domain names. And did it work? Not really.
To fix the “problem of piracy” one should go to the source of the problem. The entertainment industry say they’re
creating “culture” but what they really do is stuff like selling overpriced plushy dolls and making 11 year old girls
become anorexic. Either from working in the factories that creates the dolls for basically no salary or by watching
movies and tv shows that make them think that they’re fat.

In the great Sid Meiers computer game Civilization you can build Wonders of the world. One of the most powerful ones
is Hollywood. With that you control all culture and media in the world. Rupert Murdoch was happy with MySpace and had
no problems with their own piracy until it failed. Now he’s complainting that Google is the biggest source of piracy
in the world – because he’s jealous. He wants to retain his mind control over people and clearly you’d get a more
honest view of things on Wikipedia and Google than on Fox News.

Some facts (years, dates) are probably wrong in this press release. The reason is that we can’t access this information
when Wikipedia is blacked out. Because of pressure from our failing competitors. We’re sorry for that.

THE PIRATE BAY, (K)2012

# Source

http://static.thepiratebay.org/legal/sopa.txt

Planeta Laguna: Monterrey ha despertado, podremos los demás también hacerlo..??

Jan 18, 2012

Ajustar width del jqgrid a un div contenedor

Saludos, esta ocasión les comento como podemos hacer para que nuestro elemento jqgrid pueda ser ajustado al contenedor padre, en este caso solo debemos escribir la siguiente linea de código después de la llamada principal al jqgrid

$("#grid_id").setGridWidth($('#box-content').width(), true);

con esto no necesariamente deberemos asignar un width estático en las propiedades del elemento jqgrid

Nos leemos en la proxima entrada.
Planeta Laguna: Codeka MX, cuando el software libre deja de serlo.
Ruben Guerra Marin

Ruben Guerra Marin
biker » linux feed

No a la ley SOPA

Yo también estoy en contra de la ley SOPA!

 

Carlos Augusto Lozano

Carlos Augusto Lozano
tail -f /dev/mind > blog feed

ArtĂ­culo: "La ciberseguridad: la ciencia de lo incierto y de los necios"

My friend Carlos A. Ayala wrote a column for b:Secure Magazine. Read it and write your opinion

Cuando me hablan de riesgo y administración del riesgo, no puedo dejar más que esbozar una sonrisa, y mirar con ternura y ciertamente un mucho de admiración al aventurado y siempre muy seguro analista de riesgo, tengo varios amigos muy respetados en el medio que se dedican a estos menesteres y me parecen brillantes. Sin embargo siempre aterrizamos en lo mismo en este polémico tema, que me recuerda a la película de Darren Aronofsky PI el orden del caos.

En esta cinta,  Max (el protagonista), a los 6 años de edad y desobedeciendo a su madre  se quedó mirando fijamente al Sol. A raíz de este suceso comienza a padecer una especie de crisis de migraña intensa que le obliga a medicarse con toda clase de drogas  para aliviar el dolor â€“a veces necesarias para entender a los analistas de riesgo–. En paralelo al malestar, Max adquiere una facilidad para las matemáticas. Tiempo después ejecuta un algoritmo y obtiene lo que parece ser un error, obtiene la predicción de que la bolsa va a caer y una serie, de unos 200 dígitos numéricos, aparentemente sin sentido. Debido al resultado absurdo Max decide desechar los números. Sin embargo, al otro día la bolsa cae. Tiempo después los judíos le comentan al protagonista que el número que buscan tiene 216 dígitos y resulta ser el nombre de Dio”. Esta mensaje me pone a pensar que a veces pareciera que buscamos el algoritmo, número o indicador que precise cómo cuantificar lo incuantificable. En ese sentido, la percepción no tiene un poco que ver con la seguridad, al contrario tiene todo que ver con ella.

Si percibes una amenaza como pequeña se percibe que el riesgo por ende es leve, esto genera una falsa sensación de seguridad. Pero la pregunta es: Â¿Quién o quiénes son los que perciben y contextualizan esta amenaza? Es aquí donde las reglas del juego cambian porque no es lo mismo  â€“y nunca lo será— la forma en que las personas perciben o observan un hecho, objeto o suceso, y desde esa perspectiva la seguridad no es la excepción.

Todas las variables existentes del proceso, del entorno tecnológico y la gente per-se influyen en la ecuación. No me mal interpreten, el análisis del riesgo y de las vulnerabilidades de la amenaza son elementos que forman parte del proceso porque proporcionan resultados diferentes y nos muestra una visión general. Sin embargo pareciera que cada vez nos alejan más de la realidad. Sabemos que se fundamentan en valores no cuantificables, aspectos subjetivos y aún así no me explico porqué queremos seguir, al más puro estilo tecnócrata ochentero, el proceso de la administración del riesgo, queriendo modelar lo â€œinmodelable”, queriendo que el mundo y todo a su alrededor se adapte a modelos matemáticos y estándares. Pero no olvidamos que estos factores primero deben de observar y adaptarse para luego poder modelar. Su función es buscar, en mayor o menor medida, lineamientos que nos lleven a un proceso cuantificable.

El problema es que la seguridad no opera así, pues si bien en ocasiones se apega al método científico y a la técnica  y los procesos, la realidad es que muchas veces tiene que ver más con el azar, mucho más de arte que de ciencia y  en ese escenario hay un mundo de fallas y valores de incertidumbre muy grande. Cuando hacemos respuesta a incidentes aprendemos que podemos aplicar técnicas de combate en donde todo es modelable, requiere de conocimiento y los hallazgos son repetibles. Por otra parte, las técnicas de caza demandan experiencia y los hallazgos no son repetibles, ni modelables mucho menos cuantificables, es por eso que el combate defensivo es fundamental para cambiar los paradigmas del riesgo, y nos vuelve más pragmáticos, nos enseña a esperar los inesperado, a tratar de pensar fuera de la caja, a no fundamentarnos en la cuantificación, a no confundir la improbabilidad con imposibilidad y a no descartar ni el más mínimo indicador de compromiso. Porque cualquier cosa que nos pudiera parecer imposible, quizá no es más que el reflejo de nuestra propia inexperiencia o de la típica asimetría que envuelve al juego de la seguridad, en donde a la cabeza por lo regular va el talento del adversario.

Es por ello que la Teoría del Cisne Negro de Nassim Nicholas Taleb, me parece que juega un rol más preponderante en estos días y va más acorde con las amenazas a las que actualmente nos enfrentamos. Esta teoría nos dice: â€œLo improbable llega a ser lo probable basado en la improbabilidad percibida asociada con los actos, ideas, escenarios, entornos…”

 

En mi percepción la gente que se enfoca en el análisis del riesgo cae en el facilismo de a todo querer ponerle números y cuantificar cosas que no tienen materialización, queriendo controlar lo incontrolable por naturaleza, que es el talento humano y que siempre hará diferencia. El talento detrás del código, del mecanismo, de la técnica, ese es el verdadero adversario no el artefacto tras el compromiso. Y que en la mayoría de los casos dista mucho de ser entendido. Para que al final en el mejor de los escenarios del análisis previo sólo resulte un tablero que bosqueje con la miopía tradicional con la que simplificamos todo en un semáforo con tipificación alta, media y baja. Con colorcitos rojo para alta, naranja para la media y verde para baja. Los controles compensatorios ni siquiera se enumeran en la ecuación de riesgo y, ciertamente, desempeñan un papel fundamental en el resultado de los multiplicadores y en la estimación final del riesgo por el simple hecho que la aplicación de controles compensatorios tiene un efecto reductivo en la cuantificación de la vulnerabilidad, mientras que la ausencia de estos tienen un efecto opuesto.

La estandarización es otro animal que no se entiende en general, y las discusiones en la mesa con un par de cervezas resultan casi siempre en una guerra santa, porque un conjunto de elementos o buenas prácticas simplemente no es una biblia. De hecho hay una cantidad de vulnerabilidades procedimentales que en ocasiones se omiten, porque aunque parezca insistente nos movemos en el terreno de la incertidumbre y valores no cuantificables.

Y para muestra un ejemplo práctico muy simple, PCI en grandes rasgos habla de 12 requerimientos, en algunos de ellos se habla de instalar y mantener una configuración de firewall para proteger los datos del tarjeta habiente, proteger los datos almacenados del tarjeta habiente, monitorear y dar seguimiento a todos los accesos de los recursos de red y datos de la tarjeta. Pero supongamos hipotéticamente que se cumple con estos puntos y nos llega el típico auditor a avalar la implantación del estándar, logrando el resultado y encontrando el â€œsanto grial” que es el certificado PCI. Certificado que nos sirve nada y nada menos que para adornar la pared en el centro de atención de clientes. Claro, después de anunciarlo en todos los medios, el consumidor luego entonces cree por inducción y un sinfín de publicidad que su información está segura. Revisando como pudiéramos cubrir uno de esos puntos del estándar, eligiendo entre usar un IDS o un IPS, para hacer la inspección a profundidad, monitoreo y prevención, uno de estos controles compensatorios detecta pero no detiene la amenaza, el otro puede hacerlo, si usas un IDS o IPS en ambos casos cumples el requerimiento pero el aspecto técnico de mitigación es un mundo de diferencia. Insisto cumples el punto del estándar pero en caso de un ataque asumiendo que ambos pueden identificarlo, uno lo detecta pero no lo bloquea, luego entonces el ataque es exitoso y te comprometen. Por otra parte, la solución en línea lo detiene y mitiga si está configurado para ello ya sea por una firma o filtro. Â¿Cómo le explicas de entrada antes de cuantificar esto al patrocinador del proyecto que, con todo y su PCI, han comprometido la información  de sus tarjeta habientes? Elegiste un IDS y cumpliste el requerimiento, el â€œsanto grial” así lo avala. Los estándares tienen un elemento muy grande de incertidumbre y es la decisión de la gente que lo implementa. El grado de confianza del estándar se reduce al grado de experiencia de quien lo interpreta, y una mala decisión te lleva: Uno, a dar una falsa sensación de seguridad, a percibir la amenaza de un nivel de riesgo completamente diferente. Dos, a establecer premisas incorrectas de protección. Tres, a no cuantificar adecuadamente el valor de los controles. Cuatro, te lleva a no poder establecer un costo asociado y te impide mejorar el proceso.

¿Cómo cuantificas la pérdida de reputación?, Â¿Cómo sabes a cuántos tarjeta habientes le afectaría saber que su institución financiera fue comprometida? Lo difícil es que todo es estimable con un grado enorme de error.

En resumidas cuentas creo que mientras sigamos queriendo manejar esto como si fuera una ciencia exacta, el analista de riesgo seguirá cayendo en el facilismo teórico, frío y calculador. Seguirá alejándose cada vez más y más de donde debería estar más cerca que nadie, para entender las variables que afectan el riesgo del que tanto hablan y poco conocen, fuera de una ecuación.


Carlos Ayala

Es consultor de seguridad informática, con más de 10 años de experiencia, SANS/GIAC Advisory Board, Mentor, Proctor, CISSP, GCIH, GCFA, GPEN entre otras y miembro de la Asociación de Seguridad Informática Mexicana (ASIMX).

Source: http://www.bsecure.com.mx/opinion/la-ciberseguridad-la-ciencia-de-lo-incierto-y-de-los-necios/