Jueves 18 de diciembre de 2014

Miguel Barajas

Miguel Barajas
GnuOwned's Blog

Este es un pequeño tutorial que hicimos mi hijo Roberto y yo,...



Este es un pequeño tutorial que hicimos mi hijo Roberto y yo, sobre como construir una prueba de concepto para un panel de juegos estilo Jeopardy o 100 Mexicanos dijeron, con Arduino 2 leds, dos pushdown buttons y 3 resistencias.

Espero les guste :-)

Miércoles 17 de diciembre de 2014

Julio Mayorga

Julio Mayorga
Blog 123Hosting.com.mx

Ahora Google Maps aconseja qué carril usar en una autopista

El servicio del buscador incorporó una nueva función para los usuarios en Europa.

Google Maps anunció el lanzamiento de un nuevo servicio que le aconsejará a los usuarios de Alemania, Francia, Italia, España y el Reino Unido qué carril tomar en una autopista.

El objetivo de la compañía estadounidense es evitar que los automovilistas que viajan por autopistas “doblen cuando no debían o tomen la salida” equivocada.

“Ahora podemos mostrar qué carril tomar para que nunca te encuentres atravesando el tráfico a último momento, o peor, manejando por kilómetros en por la ruta equivocada”, dice un comunicado de Google Maps.

Este servicio ya estaba disponible en Estados Unidos, y ahora fue lanzado en algunos países europeos.

Julio Mayorga

Julio Mayorga
Blog 123Hosting.com.mx

Top 5 Juegos para Linux

1-Torcs

Les traigo 5 Buenos Juegos Para Linux

Para los que simpre les gustaron los juegos de conducción en los que tenemos coches deportivos , como un peugeot207 , una ferrari moderna y un toyota corola ,entre otros .
En su ultima version se ha trabajado mucho en mejorar las texturas del juego ,un material pendiente que venia siendo arrastrada desde sus primeras versiones.
http://torcs.sourceforge.net

2-Frets on Fire

juegos

Si te gusta pasar horas frente a una consola y sentirte parte del ambiente rockero de GitarHero
se alegraran al saber que frets on fire plantea el mismo formato de juego pero en la pc
esto nos da un punto favor que podremos descargar mods y temas .
http://fretsonfire.sourseforge.net

3-Plane Shift

Linux

En los últimos tiempos los MMORPG se han vuelto muy exitosos.Dentro de los que se encunetran liberados bajo la licencia GPL el mas popular es el PlaneShift .En este juego debemos desenvolvernos en un mundo subterráneo , el juego viene con unos graficos muy cuidados incluso comparados con los clasicos del genero lineageII ,lol y World of Warcraft
www.planetshift.it

4-Freecol

Juegos para linux

Si te gusta los juegos de estrategia por turnos recordaran los clásicos de Sid Meiders ,como civilization y colonization . Bueno freecol es un juego libre clon del primero de ellos , en el juego nos pondremos al timon de diferentes embarcaciones de las epocas de las colonizaciones del continente americano tratando de administrar diferentes colonias a lo largo y ancho del mapa
www.freecol.it

5-Sauerbraten

cid meiders

 

Este juegos esta desarollado con un motor totalmente libre y original , y realmente no tiene nada que envidiarle a los que estan realizados con el motor quakeII ,Saurbraten nos plantea un modo de juego similar al de el famoso serius sam en donde los enemigos aparecen en hordas cada cierto tiempo , lo cual es realmente muy divertido
http://sauerbraten.org/

El arte de buscar desde la terminal.

Para la mayoría de los linuxeros de hueso colorado esto es cómo el pan de cada día, el buscar desde la terminal se les hace más efectivo que entrar a una UI, aparte de que se ve más “und3rgr0unD”, existen varios comandos con sus diferentes atributos para poder crear la búsqueda perfecta de aquel archivo o palabra dentro de el, la mayoría opta por find qué es uno de los más conocidos.

find [ruta] [expresion_de_bosqueda] [accion]

Digamos que queremos buscar un archivo que se llama index, en el primer find, solo especifico el nombre con -name, el cual no me arroja un resultado, añado * el cual me buscará en cualquier carpeta dentro de donde este buscando, y ha arrojado unos resultados, en el ultimo especifico la carpeta www/ donde buscar:

root@1337 [/h/bucio]$ find  -name index
root@1337 [/h/bucio]$ find  -name index*
./tmp/webalizer/index.html
./tmp/webalizerftp/index.html
./public_html/index.php
root@1337 [/h/bucio]$ find www/ -name index*
www/index.php
root@1337 [/h/bucio]$

El comando find, tiene la opción ya sea mayúsculas y minúsculas:

root@1337 [/h/bucio]$ find www/ -name index*
www/index.php
root@1337 [/h/bucio]$ find www/ -iname index*
www/InDex.PhP
www/index.php

Podemos hacer uso de expresiones irregulares para la búsqueda:

  • “[0-9]*” #Todo lo que comienza con dígitos
  • “[Oo]*” #Todo lo que comienza con la letra “o” mayúscula o minúscula
  • “[b-f]*.txt” #Todo lo que comienza con una letra entre la b y f y sea un .txt

root@1337 [/h/bucio]$ find www/ -name "[0-9]*"
www/0ejemplo
root@1337 [/h/bucio]$ find www/ -name "[Oo]*"
www/OtroEjeplo
www/oTroEjemplo
root@1337 [/h/bucio]$ find www/ -name "[b-f]*.txt"
www/ejemplo.txt

Realizar una búsqueda de archivos ocultos:

root@1337 [/h/bucio]$ find www/ -name ".*"
www/.htaccess
www/.oculto.jpg
www/.oculto.php
root@1337 [/h/bucio]$ find www/ -name ".*.php"
www/.oculto.php
root@1337 [/h/bucio]$ find www/ -name ".*.jpg"
www/.oculto.jpg

El atributo -user nos puede ayudara buscar los archivos que pertenece a cierto usuario, también existe -perm para buscar por permisos:

root@1337 [/h/bucio]$ find www/ -user bucio
www/
www/.htaccess
www/index.php
www/cgi-bin
root@1337 [/h/bucio]$ find www/ -user root
www/OtroEjeplo
www/0ejemplo
www/InDex.PhP
www/ejemplo.txt
www/oTroEjemplo
root@1337 [/h/bucio]$ find www/ -user root -perm 777
www/ejemplo.txt

Para realizar búsquedas por fecha de modificación podemos usar -mmin (minutos), los valores pueden ser indicados de las siguientes formas:

  • +n busca valores mayor que n
  • -n busca valores menor que n
  • n busca exactamente el valor n

root@1337 [/h/bucio]$ find www/ -mmin -20 -type f #Archivos que hayan cambiado en los últimos 20 minutos
www/.oculto.jpg
www/.oculto.php
root@1337 [/h/bucio]$ find www/ -mmin 7 -type f #exactamente hace 07 minutos
www/.oculto.jpg

El comando find, contiene más atributos para la búsqueda por tiempos: -amin, -atime, -cmin, ctime, -mmin y -mtime (“min” es para periodos de minutos y “time” para periodos de 24 horas.):

find . -mtime 0  #busca archivos modificados entre ahora y hace un día
find . -mtime -1  #busca archivos modificados hace menos de un día
find . -atime 1  #busca archivos accedidos entre hace 24 y 48 horas
find . -ctime +1  #busca archivos cuyo status haya cambiado hace más de 48 horas

Los que empiezan con “a” (access) indica el tiempo en que fue accedido (leido) por última vez un archivo. Los que empiezan con “c” (change) indica el tiempo que cambió por última vez el status de un archivo, por ejemplo sus permisos. Los que empiezan con “m” (modify) indica el tiempo en que fue modificado (escrito) por última vez un archivo. {via Linux Total}

El poder de -exec

-exec permite ejecutar incorporar comandos externos para ejecutar sobre el resultado devuelto por find, este comando fue muy usado cuando los “hackers” hacían un “mass deface” y modificaban todos los index, la ventaja de poder ejecutar comandos hace a -exec algo “especial”… jaja.

root@1337 [/h/bucio]$ find www/ -size 0 -exec ls {} \;
www/OtroEjeplo
www/0ejemplo
www/InDex.PhP
www/ejemplo.txt
www/.oculto.jpg
www/.oculto.php
www/oTroEjemplo

En comando anterior sale el atributo -size en cual puse 0 para archivos vacíos, seguido de -exec el cual ejecuta ls que nos devuelve una salida de ls se indica la cadena {} que se sustituye por cada salida de find.

Digamos que sabemos que una persona usa el cliente filezilla y sabemos que los archivos .xml se guardan las configuraciones “las contraseñas” y “usuarios” de sus (s)FTP y nos prestan la maquina y solo tenemos 10 min y un USB:

root@1337 [/h/bucio]$ find .filezilla/ -iname '*.xml' -exec cp '{}' /media/USB_delmal \;
root@1337 [/h/bucio]$ }:)

En el 2011 escribí un post parecido donde el tema era la búsqueda de palabras dentro de los archivos *.html, donde yo use xargs:

$> find -name *.html | xargs grep  title *
./index.html:               'a class="lightbox-image" rel="prettyPhoto[2]" href="{{image}}" title="{{title}}"' +
./index.html:                   'img src="{{image_s}}" alt="{{title}}" /' +
>

En el cual hubo la participación de varios amigos, donde aportaron las diferentes formas que ellos buscaban la cadena en un archivo:

gwolf comment 2011

#Por Gunnar Wolf
>$ find . -name '*.html' -exec grep -r title \{\} +
..
#Por GnuGet
>$ grep -Hirn cadena_a_buscar .
#Por Gaspar Fernandez
>$ egrep -R 'loquequierobuscar' *.htm

Existen más comando cómo grep, egrep etc… El cual nos pueden ayudar a realizar búsquedas más poderosas. Por el momento me quedo con find y exec, el cual para mi hacen buena combinación.

Y tú ¿Qué usas para las búsquedas dentro de la terminal?

Lunes 15 de diciembre de 2014

Julio Mayorga

Julio Mayorga
Blog 123Hosting.com.mx

¿Ubuntu 16.04 sera el ultimo con soporte 32 bits?

En la vida todo llega a su final, y aunque no lo parezca, posiblemente dentro de poco tiempo se vea el fin del soporte de GNU/Linux para CPU x86 de 32 bits (al menos en algunas distribuciones mayoritarias), después de que esa arquitectura nos haya acompañado durante muchos años.

En Phoronix se hacen eco de la discusión interna que hay en Canonical para dejar el soporte para 32 bits, y todo apunta a que la próxima LTS, la 16.04, tiene todas las papeletas para ser la última con soporte para esa arquitectura, aunque por ahora no hay nada confirmado, ya que hasta ahora eso solo ha sido una propuesta.

Hace tiempo que Canonical recomienda la versión de 64 bits por encima de la 32, cuando antes lo hacía al revés, quizá intentando garantizar el correcto funcionamiento de Ubuntu en la mayor cantidad de ordenadores posibles, debido a muchos equipos antiguos todavía usan CPU de 32 bits. Sin embargo todo ha cambiado con el paso de los años y un Core i3, que es considerado de gama baja, es de 64 bits, así que no tiene sentido recomendar una arquitectura que lleva años sin fabricarse bajo el conjunto de instrucciones x86 (al menos entre los principales modelos de CPU), aunque sí sigue bastante vivo en ARM, al cual estará destinado Ubuntu Touch, al menos principalmente.

Entre los gigantes de GNU/Linux ya hay movimientos hacia el abandono de las 32 bits en x86, Red Hat 7 ya solo se suministra con soporte para 64 bits, afectando a su clon CentOS 7, que se distribuye solo para esa arquitectura, levantando ciertas críticas ante esta decisión.

Viendo el movimiento de Red Hat y los rumores en torno a Ubuntu 16.04, ¿creéis que es acertado ir abandonado el soporte para 32 bits en x86?, ¿o más bien todavía es pronto?

Viernes 12 de diciembre de 2014

Alex Callejas

Que hacer cuando algo falla: Episodio II

2BvbQ

No es desesperación, la desesperación es sólo para los que ven el final más allá de toda duda. Nosotros no lo hacemos…

Gandalf [J.R.R. TolkienLa Comunidad del Anillo]

Hace unos días, el buen Rod me comentó que tenía algunos problemas creando relaciones de confianza entre servidores utilizando llaves de SSH. La referencia obligada fueron dos posts anteriores: Mecanismos de confianza con llaves de SSH, donde compartí el procedimiento básico para generarlos, y Que hacer cuando algo falla, en caso de necesitar algún análisis de falla y poder encontrar la causa raíz de la misma, para solucionarla.

Sin embargo, después de varios días, el mecanismo seguía sin funcionar correctamente, por lo que hubo que analizar más a fondo el caso.

Escenario

El userA desde el serverA se debe conectar al serverB como el userB de forma automática sin contraseña.

esquema

Ambos servidores están instalados igual, en el mismo segmento. La única diferencia entre ellos, era que el home de userB en serverB se encontraba bajo /opt.

Primer Análisis

De inicio, no obviamos nada y revisamos lo básico:

En serverA

  • Que exista la llave privada
  • El contenido de la llave pública sea una sola línea y sea el mismo en el serverB
[userA@serverA ~]$ ls -la .ssh/
total 20
drwx------. 2 userA userA 4096 Dec 11 10:32 .
drwx------. 3 userA userA 4096 Dec 11 11:08 ..
-rw-------. 1 userA userA 1675 Dec 11 10:32 id_rsa
-rw-r--r--. 1 userA userA 410 Dec 11 10:32 id_rsa.pub
-rw-r--r--. 1 userA userA 796 Dec 11 19:24 known_hosts
[userA@serverA ~]$ wc -l .ssh/id_rsa.pub
1 .ssh/id_rsa.pub
[userA@serverA ~]$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz59j3eSrdkgnQPvYpiFXL3EVqdgCE8Q7v4hFfCzORxXxSprXNpZW18L2BkEfo5P/JO//qGTyFSMrZbqRHAm6s7PR/idWbSGtZfXLt3ri5Rw4OUyLcDrXVqzhbBo3bvSADksXXYVcjDu2h0P8p70EOc1mouRsOph5bE0l4Yk2/RYZ6JfMI8DDbtpU/nKfPfdsysjeLQwOJ7XiXrKWwnqSZ+rP3Irol336RkPrgMpoQDzenkoMiAkc68cUYy1K85k1kv34gxWLFYK9riiXp4OriUFm62z7Fx2jaeDNPbLndDOBzCcm65P4b2j8K5vv8MshJtddWUypen+cB34lH7rjbw== userA@serverA.example-rh.com

En serverB

  • Que los permisos del home de userB sean 700 y exclusivos del dueño
  • La llave pública se llame authorized_keys, en una sola línea y  con el mismo contenido que en el serverA
[userB@clientB ~]$ ls -ld ~/
drwx------. 3 userB userB 4096 Dec 11 19:20 /opt/userB/
[userB@clientB ~]$ ls -la .ssh/
total 16
drwx------. 2 userB userB 4096 Dec 11 19:20 .
drwx------. 3 userB userB 4096 Dec 11 19:20 ..
-rw-------. 1 userB userB 410 Dec 11 19:20 authorized_keys
-rw-r--r--. 1 userB userB 391 Dec 11 19:18 known_hosts
[userB@clientB ~]$ wc -l .ssh/authorized_keys 
1 .ssh/authorized_keys
[userB@clientB ~]$ cat .ssh/authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz59j3eSrdkgnQPvYpiFXL3EVqdgCE8Q7v4hFfCzORxXxSprXNpZW18L2BkEfo5P/JO//qGTyFSMrZbqRHAm6s7PR/idWbSGtZfXLt3ri5Rw4OUyLcDrXVqzhbBo3bvSADksXXYVcjDu2h0P8p70EOc1mouRsOph5bE0l4Yk2/RYZ6JfMI8DDbtpU/nKfPfdsysjeLQwOJ7XiXrKWwnqSZ+rP3Irol336RkPrgMpoQDzenkoMiAkc68cUYy1K85k1kv34gxWLFYK9riiXp4OriUFm62z7Fx2jaeDNPbLndDOBzCcm65P4b2j8K5vv8MshJtddWUypen+cB34lH7rjbw== userA@serverA.example-rh.com

Al comparar el md5 de ambos archivos de llave pública daba el mismo hash:

b02e3cc11c58c8ba36677316bf52ed74  .ssh/id_rsa.pub
b02e3cc11c58c8ba36677316bf52ed74  .ssh/authorized_keys

Sin embargo, al hacer pruebas, el mecanismo de confianza no funcionaba:

[userA@serverA ~]$ ssh userB@serverB hostname
userB@serverb's password:

[userA@serverA ~]$ ssh -v userB@serverB hostname
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
...
debug1: Next authentication method: publickey
debug1: Trying private key: /home/userA/.ssh/identity
debug1: Offering public key: /home/userA/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/userA/.ssh/id_dsa
debug1: Trying private key: /home/userA/.ssh/id_ecdsa
debug1: Next authentication method: password
userB@serverb's password:

[userA@serverA ~]$

Al revisar /var/log/messages y /var/log/secure no se encontraba evidencia alguna de la falla:

[root@clientB ~]# tail -f /var/log/messages /var/log/secure
==> /var/log/messages <==
Dec 12 12:33:30 clientB kernel: type=1305 audit(1418409210.149:4): audit_pid=952 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
Dec 12 12:33:30 clientB kdump: No crashkernel parameter specified for running kernel

==> /var/log/secure <==
Dec 12 12:33:31 clientB sshd[1050]: Server listening on 0.0.0.0 port 22.
Dec 12 12:33:31 clientB sshd[1050]: Server listening on :: port 22.
Dec 12 12:33:40 clientB sshd[1192]: Accepted password for root from 192.168.122.1 port 40110 ssh2
Dec 12 12:33:41 clientB sshd[1192]: pam_unix(sshd:session): session opened for user root by (uid=0)
Dec 12 12:54:30 clientB sshd[1212]: Connection closed by 192.168.122.110
Dec 12 12:54:38 clientB sshd[1214]: Connection closed by 192.168.122.110
^C
[root@clientB ~]#

Segundo Análisis

Entonces revisamos la configuración de ssh, /etc/ssh/sshd_config, y lo modificamos para que sólo permita autenticación por llave y amarramos el nombre de la misma como authorized_keys2, para tratar de delimitar la falla:

[root@clientB ~]# cat /etc/ssh/sshd_config | grep ^[A-Z]
Protocol 2
SyslogFacility AUTHPRIV
AuthorizedKeysFile %h/.ssh/authorized_keys2
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
[root@clientB ~]#

Generamos otra llave, de tipo dsa, y la copiamos en el serverB como authorized_keys2:

[userA@serverA ~]$ ssh-keygen -t dsa -b 1024
[userA@serverA ~]$ cat .ssh/id_dsa.pub
ssh-dss AAAAB3NzaC1kc3MAAACBAOpcPejQC+G/jRz3v9gUhaJy/CogjtOmXQG9zoL69pIOhKcMfjJy21GED49tS9kAw857WTpjEVzF3ssLJlS2LMqxIervQ/bsaH8WKSqUvueTMOw/4+fiwECbllCPE/g/ULozqJFssDUJlNdTAc+yA6qVbldqT69HVbNjyWeZc3dbAAAAFQDKiDJ5GwkZLiuXbYcJaElS881GtQAAAIEApXBcAfXHfewuQiHLHrBvnd0SePgjJmU8bUgfjWjwu4yoT4Z1aWy+FmtYoQGfc9SUHq4/u6EhwVUz9i7UXLW+WrEA+OtsAftEo0TjKjG8OeH4igcqsoSkosrj2QxLrf6I8l6YQnVIt5ufVtLoE4ZqCVrLtTnsS4elFeaR56hKKT8AAACAA83nEJaqK9tWm3k8RJQJZB5sEY/DAI0ZYd/TTtCKWIOXACz+G0iK+jj1JZtV40gZyJKzIFoD89FJh3RV8PZp1+UosK4kBYsxtP4WXvUjkhwVzh6PPu8A1/BJeEq/RvCqwBPinCY0rnAQrGwLCocMNkpnJxyqjg6ZLu2bsQo1HvE= userA@serverA.example-rh.com
[userA@serverA ~]$ 

[userB@clientB ~]$ cat .ssh/authorized_keys2 
ssh-dss AAAAB3NzaC1kc3MAAACBAOpcPejQC+G/jRz3v9gUhaJy/CogjtOmXQG9zoL69pIOhKcMfjJy21GED49tS9kAw857WTpjEVzF3ssLJlS2LMqxIervQ/bsaH8WKSqUvueTMOw/4+fiwECbllCPE/g/ULozqJFssDUJlNdTAc+yA6qVbldqT69HVbNjyWeZc3dbAAAAFQDKiDJ5GwkZLiuXbYcJaElS881GtQAAAIEApXBcAfXHfewuQiHLHrBvnd0SePgjJmU8bUgfjWjwu4yoT4Z1aWy+FmtYoQGfc9SUHq4/u6EhwVUz9i7UXLW+WrEA+OtsAftEo0TjKjG8OeH4igcqsoSkosrj2QxLrf6I8l6YQnVIt5ufVtLoE4ZqCVrLtTnsS4elFeaR56hKKT8AAACAA83nEJaqK9tWm3k8RJQJZB5sEY/DAI0ZYd/TTtCKWIOXACz+G0iK+jj1JZtV40gZyJKzIFoD89FJh3RV8PZp1+UosK4kBYsxtP4WXvUjkhwVzh6PPu8A1/BJeEq/RvCqwBPinCY0rnAQrGwLCocMNkpnJxyqjg6ZLu2bsQo1HvE= userA@serverA.example-rh.com
[userB@clientB ~]$ 

Sin embargo, la falla seguía presentándose:

[userA@serverA ~]$ ssh  -v userB@serverB hostname
...
debug1: Offering public key: /home/userA/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Offering public key: /home/userA/.ssh/id_dsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/userA/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).
[userA@serverA ~]$ 

Aumentamos el nivel de log de sshd:

[root@clientB ~]# grep LogLevel /etc/ssh/sshd_config
LogLevel DEBUG
[root@clientB ~]#

Al hacer pruebas, continúa la falla, pero el /var/log/secure ya nos daba indicios de lo que estaba sucediendo:

[userA@serverA ~]$ ssh userB@serverB hostname
Permission denied (publickey).
[userA@serverA ~]$

[root@clientB ~]# tail /var/log/secure 
Dec 12 15:40:29 clientB sshd[1432]: debug1: trying public key file /opt/userB/.ssh/authorized_keys2
Dec 12 15:40:29 clientB sshd[1432]: debug1: Could not open authorized keys '/opt/userB/.ssh/authorized_keys2': Permission denied
Dec 12 15:40:29 clientB sshd[1432]: Failed publickey for userB from 192.168.122.1 port 40376 ssh2
Dec 12 15:40:29 clientB sshd[1433]: Connection closed by 192.168.122.1
Dec 12 15:40:29 clientB sshd[1433]: debug1: do_cleanup
Dec 12 15:40:29 clientB sshd[1432]: debug1: PAM: cleanup
[root@clientB ~]# 

Revisamos los permisos especiales, y validamos las opciones de montado del filesystem:

[root@clientB ~]# lsattr /opt/userB/
[root@clientB ~]#
[root@clientB ~]# getfacl /opt/userB/
getfacl: Removing leading '/' from absolute path names
# file: opt/userB/
# owner: userB
# group: userB
user::rwx
group::---
other::---

[root@clientB ~]# df -hP /opt/userB
Filesystem                    Size Used Avail Use% Mounted on
/dev/mapper/vg_opt-userB_home 988M 1.3M 936M    1% /opt/userB
[root@clientB ~]#
[root@clientB ~]# tune2fs -l /dev/mapper/vg_opt-userB_home | grep -i options
Default mount options: (none)
[root@clientB ~]#

Tercer Análisis

Al no encontrar indicios en los permisos básicos y extendidos, procedimos a revisar los permisos desde el punto de vista de seguridad:

[root@serverA ~]# getenforce
Enforcing
[root@serverA ~]# ls -lZd /home/userA/
drwx------. userA userA unconfined_u:object_r:user_home_dir_t:s0 /home/userA/
[root@serverA ~]#

[root@clientB ~]# getenforce
Enforcing
[root@clientB ~]# ls -lZd /opt/userB/
drwx------. userB userB system_u:object_r:file_t:s0 /opt/userB/
[root@clientB ~]#

Al parecer, teníamos diferencia en los contextos de SELinux; entonces realizamos una prueba, deshabilitando momentáneamente la seguridad:

[root@clientB ~]# setenforce 0
[root@clientB ~]#
[root@clientB ~]# getenforce
Permissive
[root@clientB ~]#

[userA@serverA ~]$ ssh userB@serverB hostname
clientB.example-rh.com
[userA@serverA ~]$

Al deshabilitar SELinux la conexión se realizaba de forma exitosa; sin embargo, era un requisito del cliente tenerlo habilitado.

Para conocer exactamente el comando a ejecutar y restablecer el contexto correctamente; instalamos setroubleshoot, esta herramienta nos ayuda a diagnosticar los problemas con SELinux a partir de las alertas AVC generadas en el log de audit y las parsea para entregarnos información legible en /var/log/messages. Al hacer pruebas, encontramos dicho mensaje:

[root@clientB ~]# yum -y install setroubleshoot
...
[root@clientB ~]#
[root@clientB ~]# setenforce 1
[root@clientB ~]#
[root@clientB ~]# getenforce
Enforcing
[root@clientB ~]#

[userA@serverA ~]$ ssh userB@serverB hostname
Permission denied (publickey).
[userA@serverA ~]$ 

[root@clientB ~]# tail /var/log/messages 
Dec 12 16:56:32 clientB kernel: type=1305 audit(1418424992.590:4): audit_pid=952 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1
Dec 12 16:58:26 clientB setroubleshoot: SELinux is preventing /usr/sbin/sshd from search access on the directory /opt/userB. For complete SELinux messages. run sealert -l f963dd2e-ab81-4c3a-99ad-4d4d1e6736d5
[root@clientB ~]# 

Al ejecutar el comando recomendado, éste nos decía:

[root@clientB ~]# sealert -l f963dd2e-ab81-4c3a-99ad-4d4d1e6736d5
SELinux is preventing /usr/sbin/sshd from search access on the directory /opt/userB.

***** Plugin restorecon (82.4 confidence) suggests *************************

If you want to fix the label.
/opt/userB default label should be usr_t.
Then you can run restorecon.
Do
# /sbin/restorecon -v /opt/userB
...
[root@clientB ~]#

Ejecutamos la recomendación:

[root@clientB ~]# ls -lZd /opt/userB/
drwx------. userB userB system_u:object_r:file_t:s0 /opt/userB/
[root@clientB ~]#
[root@clientB ~]# restorecon -v /opt/userB
restorecon reset /opt/userB context system_u:object_r:file_t:s0->system_u:object_r:usr_t:s0
[root@clientB ~]#
[root@clientB ~]# ls -lZd /opt/userB/
drwx------. userB userB system_u:object_r:usr_t:s0 /opt/userB/
[root@clientB ~]#

Y al hacer pruebas:

[userA@serverA ~]$ ssh userB@serverB hostname
clientB.example-rh.com
[userA@serverA ~]$ 

Causa Raíz

El home del usuario esta montado en un volumen sobre /opt, realizamos una prueba, desmontando el volumen y revisando el contexto del directorio y encontramos:

[root@clientB ~]# umount /opt/userB/
[root@clientB ~]#
[root@clientB ~]# ls -lZd /opt/userB/
drwx------. userB userB system_u:object_r:usr_t:s0 /opt/userB/
[root@clientB ~]#

Lo que nos indica que, cuando el usuario fue creado, al montar el volumen no se restablecieron los contextos de su home.

Gracias Rod por la confianza! fue un gusto apoyarte a resolver este caso y poder compartir la experiencia.

Espero les sirva…

Fco. de la Torre Inguanzo

Fco. de la Torre Inguanzo
LINUXMANR4 » Linux y Software Libre

Como resolver problemas del reloj en Manjaro

Los problemas con el reloj que muestra una hora incorrecta es muy común en Manjaro particularmente si se tiene un equipo que arranca también con Windows.

Supongamos que el equipo inicia en Windows y todo normal, pero al entrar nuevamente a Manjaro podemos ver un desfase en el reloj que puede ser de varias horas.

Para resolver problemas del reloj en Manjaro me he valido de una herramienta que incluye la misma distribución y una instrucción que se ejecuta desde la terminal.

La explicación

Verán, existen dos estándares para el control del reloj, uno de ellos es localtime utilizado por Windows y el otro es UTC (Tiempo Universal Coordinado) que es el que usa Mac OS X, UNIX y muchas versiones de Linux.

UTC se obtiene a partir del Tiempo atómico internacional y como pueden suponer es el estándar mundial.

UTC almacena la hora local en el reloj del hardware

UTC almacena la hora local en el reloj del hardware

Ahora viene el problema, el estándar utilizado por el reloj del hardware se establece por el sistema operativo. Es decir cada sistema operativo controla el reloj de hardware para intentar mostrar la hora correcta en el reloj.

Linux sincroniza la hora correcta en el reloj de hardware, mientras que Windows hace lo contrario, sincroniza la hora UTC y hace el ajuste de zona horaria dentro del sistema operativo. Por eso al reinicar en Linux aparece la hora desfasada por varias horas.

Existe una forma para hacer que Windows utilice UTC en lugar de localtime haciendo ajustes en el registro, pero para ser honesto, son muy pocas veces las que inicio mi computadora con el sistema de Redmond y si lo llegara a hacer con un par de teclas corrijo el problema.

Timeset

Timeset es la navaja suiza para revisar y administrar la configuración de la hora de Manjaro.

Timeset se puede instalar directamente gracias a pacman.

sudo pacman -S timeset

Menú de opciones de Timeset

Menú de opciones de Timeset

En su pantalla inicial pueden ver un menú con varias opciones, pero lo que me interesa revisar antes que nada es el Time zone, porque si esta incorrecto de nada servirá actualizar la sincronización de la hora si el huso horario es incorrecto.

Claro que el Time zone se elige durante la instalación y en teoría no se cambia de manera frecuente, pero si existiera un error se puede ajustar buscando la Zona horaria correcta con la opción 2 Mostrar conocido Timezones(sic) y estableciendo la correcta con la opción 3 Establecer Zona Horaria del Sistema.

Verificando que la zona horaria este correcta

Verificando que la zona horaria este correcta.

Con la zona horaria correcta le toca el turno a la opción 4 Sincronizar hora de la red (NTP), eso hará que el sistema se sincronice con un servidor de horario estableciendo la hora correcta del sistema.

Escribiendo la hora al reloj de hardware

Otra opción es hacerlo “a manita”, si el Time zone es correcto, entonces se puede ajustar el reloj ejecutando la siguiente instrucción desde la terminal:

sudo ntpdate -u 0.pool.ntp.org && sudo hwclock -w

Sincroniza la hora desde un servidor ntp y además escribe esta hora en el reloj de hardware del sistema.

Esto resolverá muchos problemas de la hora, al menos hasta la próxima vez que se inicie la computadora con Windows, entonces solo se tiene que ejecutar nuevamente la instrucción y asunto arreglado.

Espero que este consejo les sea de utilidad.

The post Como resolver problemas del reloj en Manjaro appeared first on LINUXMANR4.

Emerson Posadas

Emerson Posadas
toxickore BLOG

Introducing Atlas: Netflix's Primary Telemetry Platform

http://techblog.netflix.com/2014/12/introducing-atlas-netflixs-primary.html


Jueves 11 de diciembre de 2014

Cool tshirts

Yes this says a lot of how much time I spent on FB.

10380053_1523509504600020_7730722252390744437_o

i_void_warranties

 

 

resistance

caffeinetry_another_hole

you_read_my_tshirtdacb_stand_backe718_broke_something

 

The first one is from sunfrog but all others from thinkgeek well if you wish to give me a xmass present think on XL ;).

 

Miércoles 10 de diciembre de 2014

Xenode Systems: Mejorar rendimiento de drivers MESA en Fedora 21
Xenode Systems: Cómo instalar drivers propietarios NVIDIA en Fedora 21
Xenode Systems: Cómo instalar drivers propietarios ATI en Fedora 21

Two things are infinite: the universe and human stupidity

I think that reality is better than fiction, so take this as a fiction story… well short of…

The full quote that gives nave to this post it’s “Two things are infinite: the universe and human stupidity; and I’m not sure about the universe.” Albert Einstein.

Monday lost five hours of my live fixing a technical problem of the biggest proportions, it needed going trough all the C level executives to the actual webmaster, all to fix this common thing that all days is required to do on this business, change the old URL to a new URL, we asked for an .htaccess file to be added on the old server, this is all we asked for:

Redirect / http://foo.bar/

Yes it’s not the actual URL but bare with me, its longer, but is the same, that’s what we asked for, results that the webmaster knows is trade in some weird form, as probably tried what we asked and found it no to work, so he wrote a index.php containing something more or less like this:

header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
die;

Well is not bad, but as we moved a dynamically generated site, our users with problems where not requesting the URL but the URL/something/other.php so this was not a solution, let me add that we had currently ~10K users, if only the 10% of they were using bookmarks or navigation bar to get to the site that accounts for probably more than one week of five persons work on answering and give support to our users from all over around, and thankfully still telephonic support was not available, but is going to be implemented (shills).

So as we found the lack of understanding between what we asked and what was implemented a full day of work go to waste as I got asked from my boss to explain to their boss what was happening, why was not fixed and why we where having so much questions as if was new server problem.

Long history short the day ended with me siting with two different department directors, under their supervision explaining that the answers received in chronological order 1) this not works on all servers 2) is not what you need 3) is better the way we implemented 4) your way opens a security hole, risking one production server that we can afford risk were not real answers and at the end asking me, “well then how we can fix this?”, and there I did a stupid mistake, tell that you need to change the behavior of apache and add <Directory> directive to allow the directory where we were asking the .htaccess to excute this got to the ridiculous level of me explaining what the <Directory /var/content/ouroldurl> directive do and why is not a security risk, to what they reply me but this open a security hole, do you accept the responsibility if an attacker hits the server by what you’re asking, and let me pause here to say I know this config and this server it’s Apache!, its not rocket science and this had SELinux enabled and firewall and other protections… so made my second stupid mistake, “Yes, totally I accept full responsibility for this configuration changes!” and then got but send mail to the C executives and head department, well walk out terribly drained as almost lost half day fixing on total four lines of text.

Let me share with you, in life don’t remember more than one other moment of this level of frustration, not because not be able to do something, but because something trivial, well documented, not obscure, not complex but jut in the standard manual can’t be understood by experts on the field, so wrote the mail assuming consequences, got really pissed about all time, resources, and so on, really had trouble to sleep, be totally pissed off, had to avoid doing some things that get me remember… but returned to my primary job, that got me on my feet again and well Wednesday all was like well this some that probably will be to get a real smile when regarded or maybe even worth of daily WTF. Then I got a call, from the department director call me to say “your change is not working anymore, we had not moved anything”, well as I go to my computer ask about, well how is that is not working? “it just happened”… as I type the URL on chromium I got correctly redirected and told them, but then remember the aggressive cache and launch firefox with the cache completely disabled (also fired curl but explaining this to some one that not understand what is an .htaccess file don’t even occurred me to end well) and yes now I see they had fixed the whole problem adding an index.html file that has a message saying “our site has moved to foo.bar click on the next link if you are not redirected”… lot of things pass on my head but the first is if they had not moving I will seeing an error right now that would help me a lot, as I’m asking for what files are currently on that directory, telling me that only the index is there and as I ask for a ls –lah, the other department directory takes the phone and warns me that is putting me on speakerphone so I heard the other department director and also the webmaster, they all greet me and the director boss of webmaster says “here’s the webmaster he will explain”, so I say “yes, I’m hearing” – “this is the best way to fix the problem, this way the users asking for the wrong direction will now know the new direction”, now this I what Monday was, explaining all to a lot of people… a lot happens as I’m hearing his short explanation, and only say –“well, so you have do, and is the best solution, well thanks… thank you all, good day”… truly a lot more happens with me, really thinking on what’s next and how I don’t want to have to explain all this thing over again and on top of all not having really power to push things up, as this is not my job, not my department not my jurisdiction, just call the project leader tell what has happened and what they do so he decide if scale up to the C types, but keeping aside and making clear that not going trough all the meetings anymore as I’m helping in this matter on good will, not my project, not my job, not recognition or money involved, so I keep working but that is the other department job, hang up.

I believe this is the best that can have happened they got pay for fix this kind of problem, that’s they job, so this is not a fix and is going to cause a lot of problems, so let’s get this and go on important things… if the choice where mine just have put their telephone numbers on the main page and send a mass message to ask for support to this department instead of the one that is doing… they manage probably 6 to 10 power users and directors per day, how about have your phone ring all day, every day, give support to think only 1% of the whole users we are attending.

“There are three kind of people: the ones that kill themselves working, the ones that should work and the ones that should kill themselves.” Mario Benedetti

Martes 09 de diciembre de 2014

Emerson Posadas

Emerson Posadas
toxickore BLOG

System integration

Por que siempre se aprende algo nuevo:

http://en.wikipedia.org/wiki/System_integration

Sábado 06 de diciembre de 2014

Alex Callejas

Conociendo Docker

mccarthy

 Si las computadoras, que tanto he defendido, se convierten en los ordenadores del futuro, entonces la computación algún día puede ser organizada como un servicio público al igual que los sistemas de agua y telefonía son servicios públicos … La utilidad del cómputo compartido podría convertirse entonces, en la base de una nueva e importante industria.

John McCarthy
Discurso en el centenario del MIT, 1961

La tendencia de las nuevas tecnologías optimizan el uso de recursos mediante múltiples instancias de recursos elásticos a demanda (OpenStack), expandiendo el concepto de Cloud Computing. Uno de los proyectos más interesantes es Docker, una herramienta que, a través de containers (LXC), permite la construcción, manejo y ejecución de aplicaciones distribuidas. Lo cual facilita el ensamble de componentes de forma rápida, eliminando las barreras entre los entornos de desarrollo, QA y Producción.

docker

En este video, Solomon Hykes (Fundador y CTO de  dotCloud y creador del proyecto Docker) nos da una muy recomendable introducción a docker:

Ver en YouTube

En este link encontrarán más información acerca de Docker:

Espero les sirva…

Viernes 05 de diciembre de 2014

Gerónimo Orozco

Gerónimo Orozco
Patux's booring news

Simposio de Tecnologias de Software Libre



El Opensource Technology Center @ Intel tendra el proximo viernes 5 de Diciembre y sabado 6 de Diciembre de 2014 el Simposio de Tecnologias de Software Libre en las instalaciones del Intel GDC 9am a 4:30pm.


Programa completo:



https://01.org/stsl

Direccion:



Avenida del Bosque 1001, Colonia El Bajío, Zapopan, Jalisco


Martes 02 de diciembre de 2014

Fco. de la Torre Inguanzo

Fco. de la Torre Inguanzo
LINUXMANR4 » Linux y Software Libre

El problema /var/lib/pacman/db.lck

El problema /var/lib/pacman/db.lck es muy común en Manjaro. Ayer me dejó un comentario el buen amigo Holmes preguntando como solucionarlo y afortunadamente la solución es muy pero muy sencilla.

El problema de /var/lib/pacman/db.lck

El problema dice:

“if you’re sure a package manager is not already running, you can remove /var/lib/pacman/db.lck”

A veces pasa que por alguna razón se interrumpe el proceso de actualización, puede ser por un apagón, un reinicio forzoso o simplemente se presionó Ctrl+C para interrumpir de manera inesperada la tarea de actualización.

¿Se han fijado que no se pueden instalar otros paquetes mientras se esta actualizando el sistema? Eso es gracias al bloqueo que ejerce el archivo db.lck y como se interrumpió el proceso este archivo no fue eliminado.

La solución.

La solución es muy sencilla y esta en el mismo mensaje de error, si no se esta ejecutando otra tarea con un manejador de paquetes (pacman, octopi, pamac) simplemente hay que borrar el archivo db.lck:

sudo rm /var/lib/pacman/db.lck

Con eso es más que suficiente para quitar el bloqueo y la próxima vez que instalen un paquete o actualicen el sistema lo hará sin problemas.

The post El problema /var/lib/pacman/db.lck appeared first on LINUXMANR4.

Miguel de Icaza

Miguel de Icaza
Miguel de Icaza

.NET Foundation: Advisory Council

Do you know of someone that would like to participate in the .NET foundation, as part of the .NET Foundation Advisory Council?

Check the discussion where we are discussing the role of the Advisory Council.

Lunes 01 de diciembre de 2014

Alcance Libre: Corrección de problema de spamassassin «error: Argument perl_version isn't numeric in numeric ge (>=)»

Viernes 28 de noviembre de 2014

Fco. de la Torre Inguanzo

Fco. de la Torre Inguanzo
LINUXMANR4 » Linux y Software Libre

FreeFileSync una herramienta para sincronizar archivos

Freefilesync una herramienta para sincronizar archivos, es de esos programas que te preguntas porque no sabías de ellos antes.

Es realmente muy útil y fácil de utilizar, al principio llama la atención la interfaz un poco espartana pero al poco tiempo de usarlo te das cuenta de que todo esta en su sitio y perfectamente bien explicado.

Esta herramienta es ideal para sincronizar dos directorios y se puede usar también sin mucho problema como una herramienta de respaldos.

Lo mejor es que corre en todos los sistemas operativos principales, Windows , Linux o Mac OS X tanto en 32 como en 64 bits.

Tengo poco usándolo pero tengo que decirles que es simplemente genial.

Origen y Destino

FreeFileSync Paneles de Origen y Destino

Como pueden ver el diseño del programa tiene dos paneles, a la izquierda el origen, a la derecha el destino y entre ellos las opciones de copia.

En la esquina superior izquierda esta el botón azul de Comparar y en la esquina superior derecha el botón de Sincronizar ambos con sus respectivos botones de configuración.

El progreso

FreeFileSync - avance de la sincronización

Una parte importante del proceso de sincronización es poder vigilar el avance de la copia, información sobre el Tiempo Restante (ETA) y la velocidad de la misma, pero sobre todo si existe algún problema durante la copia de los archivos.

Al finalizar también entrega un registro (log) de la copia que podemos analizar detenidamente.

Guardar tareas

Todas las tareas de sincronización se pueden guardar en la interfaz para mandarlas llamar posteriormente, pero además tiene una opción de Guardar como tarea por lotes lo que facilita enormemente ejecutar una tarea de sincronización desde la terminal o programarla para que se ejecute cada cierto tiempo.

Todo esto lo hace la herramienta ideal para copias masivas de archivos tanto ocasionales como para aquellas tareas que son frecuentes como las de respaldo.

The post FreeFileSync una herramienta para sincronizar archivos appeared first on LINUXMANR4.

Miércoles 26 de noviembre de 2014

Gunnar Wolf

Gunnar Wolf
Gunnar Wolf

Guests in the classroom: @Rolman talks about persistent storage and filesystems

On November 14, as a great way to say goodbye to a semester, a good friend came to my class again to present a topic to the group; a good way to sum up the contents of this talk is "everything you ever wondered about persistent storage".

As people who follow my blog know, I like inviting my friends to present selected topics in my Operating Systems class. Many subjects will stick better if presented by more than a single viewpoint, and different experiences will surely enrich the group's learning.

So, here is Rolando Cedillo — A full gigabyte of him, spawning two hours (including two hiccups where my camera hit a per-file limit...).

Rolando is currently a RedHat Engineer, and in his long career, he has worked from so many trenches, it would be a crime not to have him! Of course, one day we should do a low-level hardware session with him, as his passion (and deep knowledge) for 8-bit arcades is beyond any other person I have met.

So, here is the full video on my server. Alternatively, you can get it from The Internet Archive.

Alcance Libre: Oferta Laboral: Capturista (temporal)

Martes 25 de noviembre de 2014

Eduardo Ruiz Duarte

Eduardo Ruiz Duarte
beck's site

Teorema de Hasse para curvas elípticas, núcleo de la demostración pero desde el twist cuadrático de la curva 1/2

Vamos a explorar un teorema que es una consecuencia directa de las Conjeturas de Weil demostradas por Pierre Deligne, si nos da tiempo veremos un sketch de como demostrar las conjeturas de André Weil en general.

El teorema de Hasse es muy importante en criptografía con curvas elípticas, ya que nos permite aproximar o incluso saber el número de elementos que tiene el grupo que forma una curva elíptica, este número de elementos en función del tamaño del campo finito, esto tiene aplicaciones a la ingeniería en la implementación, y también nos puede decir, si la curva es segura o no , es decir que su grupo no sea isomorfo a algo trivial.

El problema de la demostración de Helmut Hasse en 1936 es que es muy larga y complicada, aquí trataremos de dar los elementos necesarios, pero también extenderemos el teorema a otro espacio el cual nos permitirá analizar la estructura desde los endomorfismos de la curva.

Primero, trabajemos en un campos $latex \mathbb{F}_q$ con $latex q$ impar y con la forma de una curva elíptica $latex E$ en su forma reducida de Weierstrass, es decir $latex y^2 = x^3 + Ax + B$ , pero esta forma reducida de Weierstrass tiene el problema de que $latex j(E)=1728\equiv 0$ mod $latex 3$ lo que nos limita a trabajar con cierta familia (0) de curvas en característica 3, necesitamos que el $latex j$ invariante tome todos los valores de $latex \mathbb{F}_q$ entonces consideraremos las curvas $latex y^2 = x^3 + a_{2}x^2 + a_{4}x + a_6$ , pueden demostrar que el $latex j$ invariante de esta curva ya cubre todas las curvas elípticas de característica impar.

El teorema de Hasse dice.

Teorema (Helmut-Hasse, 1936): Sea $latex E$ una curva elíptica sobre un campo
$latex \mathbb{F}_q$, si $latex N_q$ representan el número de puntos de $latex E$ sobre $latex \mathbb{F}_q$ entonces:

$latex \mid N_q-(q+1)\mid \leq 2\sqrt{q}$

Este teorema se ve muy infensivo, pero no lo es... de hecho de manera preliminar podríamos comenzar a atacarlo

Si la ecuación de $latex E$ es $latex y^2 = x^3 + Ax +B =f(x)$ y $latex q$ es impar, entonces vamos a

suponer que el número de puntos que cumplen $latex f(x)$ están distribuidos uniformemente al ser evaluado $latex f$  $latex \forall x\in \mathbb{F}_q$ , por lo que tenemos que hay una raíz que es un punto de $latex E$ y como $latex q$ es impar, existen $latex \frac{q-1}{2}$ elementos que no son cuadrados en $latex \mathbb{F}^{*}_q$  lo que nos deja con los otros $latex \frac{q-1}{2}$ puntos que sí son cuadrados, pero hay 2 por cada uno ya que en $latex E$  tenemos $latex (\pm y)^2$ por lo que el valor esperado de $latex N_q$ es   $latex 1+2\frac{q-1}{2}=q$

Esto nos da la desviación de $latex N_q$ y nos muestra la parte izquierda de la desigualdad de hasse que es $latex \mid N_q-(q+1)\mid$ donde el $latex +1$ es porque se consideran los puntos de $latex \mathbb{F}_q$ sobre la linea proyectiva la cual tiene otro punto adicional en el infinito.

Teoría necesaria.

En el post anterior hablamos del anillo de endomorfismos de una curva, el j-invariante e isogenias.
Te recomiendo lo leas antes, aquí recordaremos algunas cosas pero si crees que falta algo, el artículo anterior tiene más detalles.




Sean $latex E_1, E_2$ dos curvas elípticas definidas sobre $latex \mathbb{K}$ y $latex \psi:E_1\rightarrow E_2$ un homomorfismo separable de curvas elípticas, es decir... que si consideramos el functor contravariante $latex \psi^{*}:\mathbb{K}(E_2)\rightarrow \mathbb{K}(E_1)$ que manda $latex f\mapsto f\circ \psi$ entonces $latex \mathbb{K}(E_1)/\psi^{*}\mathbb{K}(E_2)$ es una extensión de campos separable (i.e. los polinomios minimos de elementos de el campo grande con coeficientes en el campo chico no tienes raíces repetidas) , y definimos el grado del mapeo $latex \psi$ como:  $latex \partial\psi=[\mathbb{K}(E_1):\psi^{*}\mathbb{K}(E_2)]$



Motivación de la demostración de Hasse

Sea $latex \psi:E_1 \rightarrow E_2$ un morfismo separable entre curvas elípticas, tenemos que $latex \partial \psi=\sum_{P\in \psi^{-1}(Q)}e_{\psi}(P)$  $latex \forall Q\in E_2$ con $latex e_\psi(P)=\nu_P(\psi^{*}t_{\psi(P)})$ el índice de ramificación [Silverman II , 2.6a], ahora, si usamos [Silverman III 4.10 a,c] tenemos que $latex \psi$ es separable $latex \Rightarrow \psi$ no tiene ramificación lo que implica que $latex e_{\psi}(P)=1$, y como $latex \psi(P+Q)=\psi(P)+\psi(Q)$ es un homomorfismo de grupos tenemos que $latex \psi^{-1}(\infty_{E_2}) = Ker\psi \Rightarrow$  $latex \partial \psi=\sum_{P\in Ker\psi}e_\psi(P) = \sum_{P\in Ker\psi}1 =$ #$latex Ker\psi$


Sabiendo esto, podemos deducir algo interesante sobre la cardinalidad de la curva elíptica $latex E$, si usamos [Silverman III, 5.5] tenemos que si $latex \phi:E\rightarrow E$ es el endomorfismo de Frobenius que actúa en las coordenadas de los puntos elevándolos a la $latex q$ entonces el mapeo
$latex Id-\phi$ es separable y tenemos que $latex \phi(P)=P \Leftrightarrow P\in E(\mathbb{F}_q)$ y usando el párrafo anterior, $latex Ker(Id-\phi)$ consta de todos los puntos $latex \mathbb{F}_q$ racionales de la curva ya que se anulan con la identidad, lo que nos dice que $latex Ker(Id-\phi)=E(\mathbb{F}_q)$ por lo que igual con el párrafo anterior, $latex \partial(Id-\phi)=$#$latex E(\mathbb{F}_q)$



Me he tardado en escribir en mi blog, pero por ahora dejo sólo esta parte, después vamos a terminar la demostración, pero falta relacionar los morfismos de la curva elíptica con elementos de una torcedura cuadrática de la curva, y con eso, construiremos $latex Id-\phi$ pero visto desde puntos en otra curva definida sobre $latex \mathbb{F}_q(s,t)$ tal que $latex s^2 = f(t)$ es decir la misma curva $latex E$ será  $latex E^{TW}: f(t)y^2 = f(x)$ y los puntos equivalentes a la identidad y el mapeo de frobenius ahí serán $latex (t,1)$ y $latex (t^q,s^{\frac{q-1}{2}})$ , pero esto será después de establecer este isomorfismo $latex Mor_{\mathbb{F}_q}(E,E) \cong E^{TW}(\mathbb{F}_q(s,t)) \cong E(\mathbb{F}_q(s,t))$ el cual nos permitirá calcular la cardinalidad del Kernel que necesitamos mediante otra función entre puntos sobre la curva con puntos en el campo de funciones racionales utilizando el grado de los puntos Id y Frobenius (los puntos ya no son numeros... son cocientes de polinomios en la torcedura cuadrática).


Espero les haya servido.

Alcance Libre: Disponible ALDOS 1.4.6
Gunnar Wolf

Gunnar Wolf
Gunnar Wolf

10 PRINT CHR$(205.5+RND(1)); : GOTO 10 (also known as #10print )

The line of BASIC code that appears as the subject for this post is the title for a book I just finished reading — And enjoyed thoroughly. The book is available online for download under a CC-BY-NC-SA 3.0 License, so you can take a good look at it before (or instead of) buying it. Although it's among the books I will enjoy having on my shelf; the printing is of a very enjoyable good quality.

And what is this book about? Well, of course, it analizes that very simple line of code, as it ran on the Commodore 64 thirty years ago.

And the analysis is made from every possible angle: What do mazes mean in culture? What have they meant in cultures through history? What about regularity in art (mainly 20th century art)? How would this code look (or how it would be adapted) on contemporary non-C64 computers? And in other languages more popular today? What does randomness mean? And what does random() mean? What is BASIC, and how it came to the C64? What is the C64, and where did it come from? And several other beautiful chapters.

The book was collaboratively written by ten different authors, in a Wiki-like fashion. And... Well, what else is there to say? I enjoyed so much reading through long chapters of my childhood, of what attracted me to computers, of my cultural traits and values... I really hope that, in due time, I can be a part of such a beautiful project!

Lunes 24 de noviembre de 2014

Oswaldo Villa

Oswaldo Villa
Villatux Blog <--

Bloquear y desbloquear direcciones IP con iptables

Una de situaciones más importantes como Administrador de sistemas es la seguridad, es por eso que en este post les mostraré como bloquear direcciones ip en un servidor para que no tengan acceso a el   o bien bloquear las conexiones salientes hacia una IP determinada (en el caso de que se use ese servidor como gateway/router)


BLOQUEAR

Bloquear acceso a ip: 

iptables -A INPUT -s 189.240.240.8 -j DROP

Bloquear acceso a ip pero en un puerto y protocolo especifico:

iptables -A INPUT -s 189.240.240.8 -p tcp --destination-port 25 -j DROP

Bloquear conexión hacia IP: 

iptables -A INPUT -d 189.240.240.8 -j DROP

DESBLOQUEAR

Desbloquear acceso de IP:

iptables -D INPUT -s 189.240.240.8 -j DROP

Desbloquear conexión a hacia IP:

iptables -D INPUT -d 189.240.240.8 -j DROP



Ver reglas de iptables:
iptables --list



REGLAS PERMANENTES

Si deseas que estas reglas se queden de manera permanente es necesario instalar :

apt-get install iptables-persistent

para luego ingresar las reglas que iptables cargará desde el inicio de el equipo.

Archivo para IPv4: /etc/iptables/rules.v4 

Archivo para IPv6: /etc/iptables/rules.v6




Sábado 22 de noviembre de 2014

Fotos y metadatos

Por ahí ayer me hicieron notar de un video que pusieron en FB que habla de que las fotos que se hicieron virales en twitter, especialmente las que pone el sitio de noticias Sinembargo [1], FB elimina los datos para ser más exactos el exif data [2], entonces en este video en especial se habla de un campo que tiene la fecha de 2012 el profile data, lo cual es un error, ya que el dato que uno necesita es el Original / Creation Time, ya que como podemos leer en varios sitios la fecha del profile es de cuando se creo el mismo no de cuando se tomo la foto [3]:

Within the ICC Profile is the “Profile Date Time” field. This indicates when the profile was initially generated. This does not indicate when the profile was attached to the file. The Profile Date Time field must predate the picture’s last save. In most cases, the ICC Profile’s date predates the photo by years since it was generated long before the photo was captured.

Especialmente en las fotos que se muestran en el video la justificación que se da para decir que no son de la fecha que son, es lo siguiente:

vicm3@janus:~$ exiftool 10476231_761794777189680_1887414734_n.jpg
ExifTool Version Number         : 8.60
File Name                       : 10476231_761794777189680_1887414734_n.jpg
Directory                       : .
File Size                       : 40 kB
File Modification Date/Time     : 2014:11:21 18:39:41-06:00
File Permissions                : rw-r--r--
File Type                       : JPEG
MIME Type                       : image/jpeg
JFIF Version                    : 1.02
Resolution Unit                 : None
X Resolution                    : 1
Y Resolution                    : 1
Profile CMM Type                : lcms
Profile Version                 : 2.1.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
Profile Connection Space        : XYZ
Profile Date Time               : 2012:01:25 03:41:57
Profile File Signature          : acsp
Primary Platform                : Apple Computer Inc.
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             :
Device Model                    :
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Creator                 : lcms
Profile ID                      : 0
Profile Description             : c2
Profile Copyright               : FB
Media White Point               : 0.9642 1 0.82491
Media Black Point               : 0.01205 0.0125 0.01031
Red Matrix Column               : 0.43607 0.22249 0.01392
Green Matrix Column             : 0.38515 0.71687 0.09708
Blue Matrix Column              : 0.14307 0.06061 0.7141
Red Tone Reproduction Curve     : (Binary data 64 bytes, use -b option to extract)
Green Tone Reproduction Curve   : (Binary data 64 bytes, use -b option to extract)
Blue Tone Reproduction Curve    : (Binary data 64 bytes, use -b option to extract)
Image Width                     : 469
Image Height                    : 627
Encoding Process                : Progressive DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 469x627
vicm3@janus:~$

La URL de la imagen en cuestión es [4].

A lo que por ahí alguien me pregunto al respecto y coloco aquí que datos provee una foto que no ha sido modificada:


vicm3@janus:~$ exiftool DSCN5144.jpg
ExifTool Version Number : 8.60
File Name : DSCN5144.jpg
Directory : .
File Size : 1965 kB
File Modification Date/Time : 2013:09:04 08:34:50-05:00
File Permissions : rw-r--r--
File Type : JPEG
MIME Type : image/jpeg
Exif Byte Order : Little-endian (Intel, II)
Image Description :
Make : NIKON
Camera Model Name : COOLPIX S210
Orientation : Horizontal (normal)
X Resolution : 300
Y Resolution : 300
Resolution Unit : inches
Software : COOLPIX S210V1.0
Modify Date : 2011:08:16 14:35:14
Y Cb Cr Positioning : Co-sited
Exposure Time : 1/104
F Number : 3.1
Exposure Program : Program AE
ISO : 64
Exif Version : 0220
Date/Time Original : 2011:08:16 14:35:14
Create Date : 2011:08:16 14:35:14
Components Configuration : Y, Cb, Cr, -
Compressed Bits Per Pixel : 4
Exposure Compensation : 0
Max Aperture Value : 3.1
Metering Mode : Multi-segment
Light Source : Unknown
Flash : Off, Did not fire
Focal Length : 6.3 mm
Maker Note Version : 2.00
Color Mode : Color
Quality : Fine
White Balance : Auto
Focus Mode : AF-S
Flash Setting :
ISO Selection : Auto
Data Dump : (Binary data 2542 bytes, use -b option to extract)
Compression : JPEG (old-style)
Preview Image Start : 19017
Preview Image Length : 8355
Image Processing :
Face Detect Frame Size : 320 240
Faces Detected : 0
Image Adjustment : Auto
Auxiliary Lens : Off
Manual Focus Distance : undef
Digital Zoom : 1
AF Area Mode : Single Area
AF Point : Center
AF Points In Focus : (none)
Scene Mode :
Noise Reduction : Off
Scene Assist :
Retouch History : None
Flash Info Version :
Image Stabilization : VR-Off
AF Response : Standard
User Comment :
Flashpix Version : 0100
Color Space : sRGB
Exif Image Width : 3264
Exif Image Height : 2448
Interoperability Index : R98 - DCF basic file (sRGB)
Interoperability Version : 0100
File Source : Digital Camera
Scene Type : Directly photographed
Custom Rendered : Normal
Exposure Mode : Auto
Digital Zoom Ratio : 0
Focal Length In 35mm Format : 38 mm
Scene Capture Type : Standard
Gain Control : None
Contrast : Normal
Saturation : Normal
Sharpness : Normal
Subject Distance Range : Unknown
Thumbnail Offset : 8704
Thumbnail Length : 4521
Image Width : 3264
Image Height : 2448
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:2 (2 1)
Aperture : 3.1
Image Size : 3264x2448
Preview Image : (Binary data 8355 bytes, use -b option to extract)
Scale Factor To 35 mm Equivalent: 6.0
Shutter Speed : 1/104
Thumbnail Image : (Binary data 4521 bytes, use -b option to extract)
Circle Of Confusion : 0.005 mm
Field Of View : 50.7 deg
Focal Length : 6.3 mm (35 mm equivalent: 38.0 mm)
Hyperfocal Distance : 2.57 m
Light Value : 10.6

La URL de la imagen es [5], pero como bien comentaron el señor oscuro y otros, más de un programa de edición de imágenes y hasta algunos visualizadores permiten modificar el exifdata, por lo mismo aún cuando es información que nos puede decir mucho sobre la imagen, pero es necesario tener la imagen original y ademas que provenga de un dispositivo que provea la suficiente información, por ejemplo mi teléfono un Motorola ex118 solo provee los datos mínimos y nada sobre la fecha:

vicm3@janus:~$ exiftool IMG14825.jpg
ExifTool Version Number : 8.60
File Name : IMG14825.jpg
Directory : .
File Size : 608 kB
File Modification Date/Time : 2014:09:23 23:15:32-05:00
File Permissions : rw-r--r--
File Type : JPEG
MIME Type : image/jpeg
Image Width : 2048
Image Height : 1536
Encoding Process : Baseline DCT, Huffman coding
Bits Per Sample : 8
Color Components : 3
Y Cb Cr Sub Sampling : YCbCr4:2:2 (2 1)
Image Size : 2048x1536

Ah, la URL de esta última imagen es [6], no pude encontrar el vínculo al video, pero seguro habrán visto más de uno en youtube o en FB, que no es mala idea, pero que es importante saber que significa cada campo. Y que FB elimina esta información php-gd también puede hacerlo y es tan sencillo como hacer exif –remove así que a menos que tengamos acceso a la foto original, desconfiar bastante de los metadatos y más de la intencionalidad, si la única fuente que podemos encontrar no es fiable o no existe, es decir el caso de que la foto es prueba de algo que todo mundo vio, pero la única prueba es esa única foto y no existe otra para poder corroborarlo.

Especialmente por lo que se afirma de las fotos y lo que se afirma en el video, no niego que haya intereses fuertes y por supuesto nuestro gobierno es conocido por hacer cosas buenas que parecen malas y hacer cosas malas que terminan peores, por eso también me anime a recopilar este mensaje, ya que un poco de información sin conocimiento de los limites y de la facilidad de modificar el exifdata es hasta contraproducente.

[1] http://www.sinembargo.mx/20-11-2014/1172781
[2] https://www.facebook.com/help/217211948386648
[3] http://fotoforensics.com/tutorial-meta.php
[4] http://www.sinembargo.mx/wp-content/uploads/2014/11/10476231_761794777189680_1887414734_n.jpg
[5] http://ociologos.org/var/albums/debianday2011/DSCN5144.jpg
[6] http://blografia.net/vicm3/wp-content/uploads/2014/09/IMG14835.jpg

Viernes 21 de noviembre de 2014

Gunnar Wolf

Gunnar Wolf
Gunnar Wolf

Status of the Debian OpenPGP keyring — November update

Almost two months ago I posted our keyring status graphs, showing the progress of the transition to >=2048-bit keys for the different active Debian keyrings. So, here are the new figures.

First, the Non-uploading keyring: We were already 100% transitioned. You will only notice a numerical increase: That little bump at the right is our dear friend Tássia finally joining as a Debian Developer. Welcome! \o/

As for the Maintainers keyring: We can see a sharp increase in 4096-bit keys. Four 1024-bit DM keys were migrated to 4096R, but we did have eight new DMs coming in To them, also, welcome \o/.

Sadly, we had to remove a 1024-bit key, as Peter Miller sadly passed away. So, in a 234-key universe, 12 new 4096R keys is a large bump!

Finally, our current-greatest worry — If for nothing else, for the size of the beast: The active Debian Developers keyring. We currently have 983 keys in this keyring, so it takes considerably more effort to change it.

But we have managed to push it noticeably.

This last upload saw a great deal of movement. We received only one new DD (but hey — welcome nonetheless! \o/ ). 13 DD keys were retired; as one of the maintainers of the keyring, of course this makes me sad — but then again, in most cases it's rather an acknowledgement of fact: Those keys' holders often state they had long not been really involved in the project, and the decision to retire was in fact timely. But the greatest bulk of movement was the key replacements: A massive 62 1024D keys were replaced with stronger ones. And, yes, the graph changed quite abruptly:

We still have a bit over one month to go for our cutoff line, where we will retire all 1024D keys. It is important to say we will not retire the affected accounts, mark them as MIA, nor anything like that. If you are a DD and only have a 1024D key, you will still be a DD, but you will be technically unable to do work directly. You can still upload your packages or send announcements to regulated mailing lists via sponsor requests (although you will be unable to vote).

Speaking of votes: We have often said that we believe the bulk of the short keys belong to people not really active in the project anymore. Not all of them, sure, but a big proportion. We just had a big, controversial GR vote with one of the highest voter turnouts in Debian's history. I checked the GR's tally sheet, and the results are interesting: Please excuse my ugly bash, but I'm posting this so you can play with similar runs on different votes and points in time using the public keyring Git repository:

  1. $ git checkout 2014.10.10
  2. $ for KEY in $( for i in $( grep '^V:' tally.txt |
  3. awk '{print "<" $3 ">"}' )
  4. do
  5. grep $i keyids|cut -f 1 -d ' '
  6. done )
  7. do
  8. if [ -f debian-keyring-gpg/$KEY -o -f debian-nonupload-gpg/$KEY ]
  9. then
  10. gpg --keyring /dev/null --keyring debian-keyring-gpg/$KEY \
  11. --keyring debian-nonupload-gpg/$KEY --with-colons \
  12. --list-key $KEY 2>/dev/null \
  13. | head -2 |tail -1 | cut -f 3 -d :
  14. fi
  15. done | sort | uniq -c
  16. 95 1024
  17. 13 2048
  18. 1 3072
  19. 371 4096
  20. 2 8192

So, as of mid-October: 387 out of the 482 votes (80.3%) were cast by developers with >=2048-bit keys, and 95 (19.7%) were cast by short keys.

If we were to run the same vote with the new active keyring, 417 votes would have been cast with >=2048-bit keys (87.2%), and 61 with short keys (12.8%). We would have four less votes, as they retired:

  1. 61 1024
  2. 14 2048
  3. 2 3072
  4. 399 4096
  5. 2 8192

So, lets hear it for November/December. How much can we push down that pesky yellow line?

Disclaimer: Any inaccuracy due to bugs in my code is completely my fault!

Domingo 16 de noviembre de 2014

Héctor Bautista

Héctor Bautista
Soy un Jedi » Gnu/Linux

Skype 4.3 en Debian Jessie AMD64

Resulta que en alguna de las actualizaciones de mi escritorio, la versión de skype que estaba usando dejó de funcionar. Como no recordaba como lo había hecho funcionar en un inicio, y recordando que al menos en Redhat, el rpm proporcionado por el sitio oficial, me dio un poco de lata, así que tienen una versión “dinámica”.

Luego entonces, fui a la web de Skype y me descargué la versión dinámica, como se muestra en las siguientes imágenes:

Skype Linux 01Skype Linux 02

Skype Linux 03Skype Linux 04

Una vez terminada la descarga, procedí a descomprimir el archivo, y ejecuté el binario:

 

hbautista@kenobi:~/Descargas/skype$ ./skype
./skype: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory
hbautista@kenobi:~/Descargas/skype$

 

Y me encontré con ese error, el detalle es que el paquete que se necesita es: libqtwebkit4 y no se encuentra en los repositorios de la arquitectura de 64 bits, pero sí en la arquitectura i386. Por si no tienen habilitada la opción de multi-arquitectura en Debian, estos son los pasos a seguir:

root@kenobi:~# dpkg --add-architecture i386
root@kenobi:~# aptitude update

Una vez que se hayan actualizado los paquetes, procederemos a instalar el paquete requerido de la siguiente forma, lo cuál también nos mostrará todas las dependencias:

root@kenobi:~# aptitude install libqtwebkit4:i386
Se instalarán los siguiente paquetes NUEVOS:
gstreamer1.0-plugins-base:i386{a} libaudio2:i386{a} libavahi-client3:i386{a} libavahi-common-data:i386{a} libavahi-common3:i386{a} libcdparanoia0:i386{a}
libcups2:i386{a} libfontconfig1:i386{a} libgssapi-krb5-2:i386{a} libgstreamer-plugins-base1.0-0:i386{a} libgstreamer1.0-0:i386{a} libk5crypto3:i386{a}
libkeyutils1:i386{a} libkrb5-3:i386{a} libkrb5support0:i386{a} libmng1:i386{a} libqt4-opengl:i386{a} libqt4-xmlpatterns:i386{a} libqtgui4:i386{a}
libqtwebkit4:i386 libsqlite3-0:i386{a} libxt6:i386{a}
0 paquetes actualizados, 22 nuevos instalados, 0 para eliminar y 29 sin actualizar.
Necesito descargar 22.5 MB de ficheros. Después de desempaquetar se usarán 72.9 MB.
¿Quiere continuar? [Y/n/?] y

Skype Linux 05En mi caso, también me descargué el paquete deb, así que procedí a instalarlo con dpkg:

root@kenobi:~# dpkg -i /home/hbautista/Descargas/skype
skype/                            skype-debian_4.3.0.37-1_i386.deb
root@kenobi:~# dpkg -i /home/hbautista/Descargas/skype-debian_4.3.0.37-1_i386.deb
Seleccionando el paquete skype previamente no seleccionado.
(Leyendo la base de datos ... 252325 ficheros o directorios instalados actualmente.)
Preparing to unpack .../skype-debian_4.3.0.37-1_i386.deb ...
Unpacking skype (4.3.0.37-1) ...
Configurando skype (4.3.0.37-1) ...
Processing triggers for dbus (1.8.8-2) ...
Processing triggers for mime-support (3.57) ...
Processing triggers for desktop-file-utils (0.22-1) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
root@kenobi:~#
Skype Linux 06Ya nada más nos queda ejecutarlo como un usuario normal

Skype Linux 09 Skype Linux 10

Y con eso se resuelve dicho problema

Fuente: LinuxQuestions

Notas relacionadas:

The post Skype 4.3 en Debian Jessie AMD64 appeared first on Soy un Jedi.

Viernes 14 de noviembre de 2014

Oswaldo Villa

Oswaldo Villa
Villatux Blog <--

Realizar conexiones SSH sin password

En este post le mostraré como hacer conexiones SSH sin utilizar password de manera permanente.


Escenario:



PC2 necesita conectarse a PC1 por ssh sin utilizar password



Procedimiento:

1 ) Generar la llave pública (en PC2)

ssh-keygen -b 4096 -t rsa

Te pedirá tres datos,  en todos ellos solo es necesario dar [ENTER] sin introducir información

2 )  Mandar la llave pubica de PC2 a PC1

ssh-copy-id root@192.168.0.2

Te pedirá por única ocasión la contraseña de PC1

A partir de este momento podemos hacer una conexion SSH a PC1 sin utilizar password:
Ejemplo:
ssh root@192.168.0.2


NOTAS:
* En ambos equipos es necesario tener el servidor ssh
* Se deben respetar los usuarios con los que se generan las llaves públicas ya que con esos mismos usuarios deberás hacer la conexión SSH para que no te pida password.  si usas otros usuarios te lo pedirá.








Miguel Barajas

Miguel Barajas
GnuOwned's Blog

Querido HeadHunter...

Hoy por la mañana hice un rant en Twitter en 10 tuits, en los cuales di un pequeño feedback a nuestros siempre amigos HeadHunter, sobre todo orientado a tecnología, a continuación esos tuits.

¿Qué opinas? ¿Qué otro agregarías?

Jueves 13 de noviembre de 2014

Luis Armando Medina

Luis Armando Medina
Como Instalar Linux

Como instalar un servidor NTP en centos 7

Tanto en servidores como en equipos de escritorio es importante tener correctamente configuradas la fecha y la hora del sistema y para hacer eso siempre es útil hacerlo por medio de un servidor NTP (Network Protocol Time) y aquí te digo como instalar un centos ntp server usando Centos 7.

Miércoles 12 de noviembre de 2014

Oswaldo Villa

Oswaldo Villa
Villatux Blog <--

SSH Inverso (saltando firewall con ssh)

Propósito:
Acceder a PC1 por ssh (está bajo firewall) desde PC2 (Con acceso público)




PASO 1 (en PC1)
ssh -v -NR 3333:127.0.0.1:22 villatux@189.224.13.X

- Nos pedirá el password de PC2

PASO 2 (En PC2)
ssh -v usuario@127.0.0.1 -p 3333

- Nos pedirá el password de PC1

Con esto podremos establecer conexión SSH desde PC2 A PC1 sin la necesidad de que PC1 tenga abierto los puertos de SSH en su firewall local
Miguel de Icaza

Miguel de Icaza
Miguel de Icaza

Microsoft Open Sources .NET and Mono

Today, Scott Guthrie announced that Microsoft is open sourcing .NET. This is a momentous occasion, and one that I have advocated for many years.

.NET is being open sourced under the MIT license. Not only is the code being released under this very permissive license, but Microsoft is providing a patent promise to ensure that .NET will get the adoption it deserves.

The code is being hosted at the .NET Foundation's github repository.

This patent promise addresses the historical concerns that the open source, Unix and free software communities have raised over the years.

.NET Components

There are three components being open sourced: the .NET Framework Libraries, .NET Core Framework Libraries and the RyuJit VM. More details below.

.NET Framework Class Libraries

These are the class libraries that power the .NET framework as it ships on windows. The ones that Mono has historically implemented in an open source fashion.

The code is available today from http://github.com/Microsoft/referencesource. Mono will be able to use as much a it wants from this project.

We have a project underway that already does this. We are replacing chunks of Mono code that was either incomplete, buggy, or not as fully featured as it should be with Microsoft's code.

We will be checking the code into github.com/mono by the end of the week (I am currently in NY celebrating :-)

Microsoft has stated that they do not currently plan on taking patches back or engaging into a full open source community style development of this code base, as the requirements for backwards compatibility on Windows are very high.

.NET Core

The .NET Core is a redesigned version of .NET that is based on the simplified version of the class libraries as well as a design that allows for .NET to be incorporated into applications.

Those of you familiar with the PCL 2.0 contract assemblies have a good idea of what these assemblies will look like.

This effort is being hosted at https://github.com/dotnet/corefx and is an effort where Microsoft will fully engage with the community to evolve, develop and improve the class libraries.

Today, they released the first few components to github; the plan is for the rest of the redesigned frameworks to be checked in here in the next few months.

Xamarin and the Mono project will be contributing to the efforts to bring .NET to Mac, Unix, Linux and other platforms. We will do this as Microsoft open sources more pieces of .NET Core, including RyuJIT.

Next Steps

Like we did in the past with .NET code that Microsoft open sourced, and like we did with Roslyn, we are going to be integrating this code into Mono and Xamarin's products.

Later this week, expect updated versions of the Mono project roadmap and a list of tasks that need to be completed to integrate the Microsoft .NET Framework code into Mono.

Longer term, we will make the Mono virtual machine support the new .NET Core deployment model as well as the new VM/class library interface

We are going to be moving the .NET Core discussions over to the .NET Foundation Forums.

With the Mono project, we have spent 14 years working on open source .NET. Having Microsoft release .NET and issue a patent covenant will ensure that we can all cooperate and build a more vibrant, richer, and larger .NET community.

Martes 11 de noviembre de 2014

Luis Armando Medina

Luis Armando Medina
Como Instalar Linux

Como instalar tu sitio .onion en Centos 7

Cuando quieres publicar algo en la internet puedes acudir a comprar un dominio y a rentar un servidor de hosting compartido o rentar un servidor de mayor performance con proveedores como DigitalOcean.com, pero cuando quieres publicar un sitio anónimo en la deep web lo que requieres son cosas muy diferentes y aquí te digo como […]

Lunes 10 de noviembre de 2014

Luis Armando Medina

Luis Armando Medina
Como Instalar Linux

Como instalar Lighttpd en Centos 7

Lighttpd es un servidor web que es rápido,flexible y ha sido diseñado pensando en las mejores prácticas de seguridad lo que permite tener ambientes de alto desempeño y sitios web con mucho trafico. Si quieres un sitio web seguro, rápido y que no ocupe mucho espacio ni demande demasiados recursos Lighttpd es para ti y aquí te digo como […]

WireLurker: Cómo saber si mi Mac esta infectada.

WireLurker es un malware que afecta a equipos Mac y dispositivos iPhone e iPad, el cual proviene de China y fue lanzado para el mercado chino. Se han identificado un total de 467 aplicaciones infectadas con el malware, El cual ha sido descargado más de 356.000 veces.

Claud Xiao ha creado un script en python para detectar este malwaré pueden descargarlo con curl o wget, desde el github de Palo Alto Networks.

> [ rafael ] ~/Dark $   curl -O https://raw.githubusercontent.com/PaloAltoNetworks-BD/WireLurkerDetector/master/WireLurkerDetectorOSX.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5136  100  5136    0     0   8477      0 --:--:-- --:--:-- --:--:--  8475
> [ rafael ] ~/Dark $ python WireLurkerDetectorOSX.py
WireLurker Detector (version 1.2.0)
Copyright (c) 2014, Palo Alto Networks, Inc.

[+] Scanning for known malicious files ...
[-] Nothing is found.
[+] Scanning for known suspicious files ...
[-] Nothing is found.
[+] Scanning for infected applications ... (may take minutes)
[-] Nothing is found.
[+] Your OS X system isn't infected by the WireLurker. Thank you!
> [ rafael ] ~/Dark $
> [ rafael ] ~/Dark $

Más info: hackerss.com

Jueves 06 de noviembre de 2014

Emerson Posadas

Emerson Posadas
toxickore BLOG

Un poco de ausencia y kanban

Puf! Cuando dan las 5AM y era mi hora de irme a correr, con algo de flojera lo hacía, pero ahora me ha sido imposible despegarme de la cama con las noches de poco sueño que he tenido. Trataré de que ya no me suceda, lo intentaré con toda mi fuerza de voluntad.

Por otro lado, olvidé compartir por acá un articulito bastante interesante sobre prácticas de trabajo. En especial para oxidados como yo:

Kanban for sysadmin

Disfrutese con moderación.

Martes 04 de noviembre de 2014

{,} en los comandos de Linux y Unix?

Por lo general utilizo esto {,} cuando necesito crear archivos numerados: archivo1, archivo2, archivo”n”:

> [ rafael ] ~ $ touch archivo{1..3}.log
> [ rafael ] ~ $ ls -lt
total 0
-rw-r--r--  1 rafael  0xl337     0B Nov  4 00:52 archivo1.log
-rw-r--r--  1 rafael  0xl337     0B Nov  4 00:52 archivo2.log
-rw-r--r--  1 rafael  0xl337     0B Nov  4 00:52 archivo3.log
> [ rafael ] ~ $

El comando touch archivo{1..3}.log, me ha creado los tres archivos y los ha enumerado; {1..3}, de igual forma podemos usarlo para ahorrarnos tiempo al crear los archivos de logs y su respaldo por así decirlo:

> [ rafael ] ~ $ touch logs.txt{,.bak}
> [ rafael ] ~ $ ls -lt
total 0
-rw-r--r--  1 rafael  0xl337    0B Nov  4 01:02 logs.txt
-rw-r--r--  1 rafael  0xl337    0B Nov  4 01:02 logs.txt.bak
> [ rafael ] ~ $

Otra de las utilidades que le eh encontrado es para cambiar de nombre o extensión a los archivos y así cómo copiarlos:

> [ rafael ] ~ $ touch logs.texto
> [ rafael ] ~ $ ls
logs.texto
> [ rafael ] ~ $ mv logs.{texto,txt}
> [ rafael ] ~ $ ls
logs.txt
> [ rafael ] ~ $ cp logs.txt{,.texto}
> [ rafael ] ~ $ ls
logs.txt        logs.txt.texto
> [ rafael ] ~ $

De esta forma nos ahorramos tiempo en cp/mv logs.txt logs.texto. Existen varias formas para sacarle provecho:

> [ rafael ] ~/ $ echo bucio.{mx,com.mx} | xargs -n 1 host -v
Trying "bucio.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5972
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.mx.			IN	A

;; ANSWER SECTION:
bucio.mx.		289	IN	A	104.28.29.99
bucio.mx.		289	IN	A	104.28.28.99

Received 58 bytes from 8.8.8.8#53 in 48 ms
Trying "bucio.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5653
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.mx.			IN	AAAA

;; AUTHORITY SECTION:
bucio.mx.		1799	IN	SOA	jean.ns.cloudflare.com. dns.cloudflare.com. 2016419193 10000 2400 604800 3600

Received 88 bytes from 8.8.8.8#53 in 63 ms
Trying "bucio.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32175
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.mx.			IN	MX

;; ANSWER SECTION:
bucio.mx.		231	IN	MX	10 aspmx2.googlemail.com.
bucio.mx.		231	IN	MX	5 alt2.aspmx.l.google.com.
bucio.mx.		231	IN	MX	1 aspmx.l.google.com.

Received 115 bytes from 8.8.8.8#53 in 49 ms
Trying "bucio.com.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59119
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.com.mx.			IN	A

;; ANSWER SECTION:
bucio.com.mx.		172	IN	A	104.28.21.102
bucio.com.mx.		172	IN	A	104.28.20.102

Received 62 bytes from 8.8.8.8#53 in 47 ms
Trying "bucio.com.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54856
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.com.mx.			IN	AAAA

;; ANSWER SECTION:
bucio.com.mx.		299	IN	AAAA	2400:cb00:2048:1::681c:1466
bucio.com.mx.		299	IN	AAAA	2400:cb00:2048:1::681c:1566

Received 86 bytes from 8.8.8.8#53 in 98 ms
Trying "bucio.com.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22122
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.com.mx.			IN	MX

;; ANSWER SECTION:
bucio.com.mx.		299	IN	MX	5 alt2.aspmx.l.google.com.
bucio.com.mx.		299	IN	MX	10 aspmx2.googlemail.com.
bucio.com.mx.		299	IN	MX	1 aspmx.l.google.com.

Received 119 bytes from 8.8.8.8#53 in 63 ms
> [ rafael ] ~ $

(y)

Lunes 03 de noviembre de 2014

Marco Islas

Marco Islas
Marco Islas Blog

Cleaning the PS3

My PS3 is basically a Netflix client (the Wii do the same thing) for my wife and kids, but for me this is where I play, my MacBook Pro sucks at games because of the shitty HD3000 video chip which is fine for video play but not that good for gaming, which in some way Read More →

Sábado 01 de noviembre de 2014

Marco Islas

Marco Islas
Marco Islas Blog

Another thing that iOS needs to improve

I have to create an email for work, I usually respond to email in my computer but since it have no power (I left it like that, I’m doing the monthly maintenance), I tried to do it I my iPad. The message must contain a PDF file, the good thing is: that file is in Read More →

Jueves 30 de octubre de 2014

César Yáñez Fernández

Donación de Libros

En el área de cómputo, al igual que en otras áreas y ciencias, existe mucha literatura, libros de texto, manuales, documentos, artículos, etcétera. Uno cuando empieza a recabar esta información, llega el momento que necesitas espacio.

Un libro es como un ser vivo, que necesita ser adoptado para que siga cumpliendo su función, para que se mantenga vivo. Es por esto que me doy a la tarea de crear una lista de libros que se encuentran disponibles para adoptar.

Si alguien quiere uno de los libros listados, se sugiere cumplir las siguientes condiciones:

  1. El libro no está en venta, ni tiene un precio definido.
  2. El libro es donado, no hay costo por el libro.
  3. Para pedir un libro, me pueden contactar personalmente.
  4. El libro será enviado por DHL sin costo, Correos de México no está aceptando libros.
  5. Si es revista o comic, será enviado por Correos de México.
  6. Si el solicitante prefiere otro método de envío (DHL, UPS), el solicitante deberá pagar por el envío.
  7. Si se solicita más de 1 libro, revista o comic, el paquete será enviado por DHL, y el solicitante deberá pagar por el envío.

La lista de libros aún no está completa, y no sólo habrá libros de cómputo, esta lista se irá actualizando con más libros y se eliminarán los que ya fueron adoptados.

Gerónimo Orozco

Gerónimo Orozco
Patux's booring news

OpenStack GDL November 2014

Registrate

Miércoles 29 de octubre de 2014

Eduardo Ruiz Duarte

Eduardo Ruiz Duarte
beck's site

j-invariante y anillo de endomorfismos de curvas elípticas (isogenias)

Ahora, estoy dedicándome a explorar el anillo de endomorfismos de una curva elíptica $latex C$
sobre un campo perfecto (todo polinomio irreducible sobre este campo tenga raíces diferentes) para poder hablar de aplicaciones criptográficas.

Estos campos perfectos por excelencia en criptografía son $latex \mathbb{F}_q$.

Vamos a definir algunas cosas para clasificarlas, ya que anteriormente nos habíamos dedicado a estudiar cada curva por separado, pero ahora queremos considerar TODAS las curvas elípticas sobre un campo $latex \mathbb{K}$ , y ver cuáles son isomorfas, y ver cada clase de curvas isomorfas como la misma curva,  como un sólo punto, este espacio es una espacio modular, y generalmente es estudiado como un esquema.

Algo interesante es que en las curvas elípticas es que este espacio tiene dimensión 1, y de hecho es una linea topológicamente hablando.

Como sabemos, una curva elíptica tiene una estructura algebraica y una estructura geométrica, las curvas elípticas son el caso más simple de una variedad abeliana, éstas tienen dimensión 1 (Es decir, al considerar su anillo de coordenadas, su dimensión de Krull es 1, lo cual se traduce a que la cadena más grande de ideales por contención que se puede construir $latex \lbrace J_i \rbrace$ es de altura 1 por lo que $latex J_0 \subset J_1 \subset J_2$ tenemos que $latex J_1 = J_2$ lo que hace al anillo Noetheriano.

Vamos a explorar un poco lo que es una curva elíptica desde el punto de vista más formal, y construiremos relaciones de éstas, clasificaciones, y exploraremos cómo se comporta el anillo de morfismos de la curva en si misma, así como la relación que hay entre la traza y determinante de ciertos endomorfismos con el subgrupo de torsión de la curva en cuestión.


Curva suave de género 1, entonces es elíptica

Todas las curvas de género 1 son elípticas, como lo pueden ver en este post via el teorema de Riemann-Roch , y la construcción de la ecuación en la forma de Weierstrass ahora redefiniremos de una curva elíptica, recordemos que en la estructura algebraica de la curva siempre hay un punto distinguido que nos sirve como identidad visto como variedad abeliana, llamémoslo $latex \mathcal{O}$ , entonces si tenemos que una curva $latex E$ es suave de género g=1 y proyectiva , entonces por el teorema de Riemann-Roch tenemos que si $latex n>2g-2=0$ tenemos que $latex \mathcal{L}(n0)=n-g+2=n$  si $latex n=2$ y $latex n=3$ podemos encontrar dos funciones $latex x,y\in \mathbb{K}(E)$ que tienen exactamente 2 polos en $latex \mathcal{O}$ y $latex y$ tiene 3 polos en $latex \mathcal{O}$ , ahora si $latex n=6$, obtenemos una base para el espacio vectorial $latex \mathcal{L}(6\mathcal{O})$ la cual es $latex \lbrace 1,x,x^2,x^3,y,y^2,xy \rbrace$

La cual nos da la forma usual de la curva elíptica en la forma de Weierstrass como todos la conocemos.

$latex y^2 + f_1xy+f_3y = x^3+f_2x^2 + f_4x + f_6$

tal que $latex f_i \in \mathbb{K}$

Aquí fuimos de álgebra directamente a geometría.

Ahora, ya para geometrizar esto por completo, considera:

$latex \Phi: E \rightarrow \mathbb{P}^{2}_{\mathbb{K}}$
$latex (x,y) \mapsto [x:y:1]$

Ahora, también por lo anterior y Riemann-Roch tenemos que $latex [\mathbb{K}(E):\mathbb{K}(x)]=2$ y que $latex [\mathbb{K}(E):\mathbb{K}(y)]=3$ lo cual implica que $latex [\mathbb{K}(E):\mathbb{K}(x,y)]=1$, por lo que $latex \Phi$ tiene grado 1, como por hipótesis tenemos que $latex E$ es suave, sabemos que su discriminante $latex \Delta\neq 0$ ,  es decir $latex \Phi(\mathcal{O})=[0:1:0]=\infty$  es el punto al infinito.


Isogenias

La palabra "isogenia" no me gusta, pero no sé cómo traducirla, en inglés se dice "isogeny" , pero bueno, hay poca literatura en español sobre curvas isógenas (o no he buscado bien... o no he buscado más bien en español).

Lo que queremos hacer ahora es definir homomorfismos entre curvas elípticas, es decir queremos comenzar a compararlas de tal manera que ésta comparación respete sus propiedades geometricas y algebraicas.

Sean $latex E$ y $latex F$ dos curvas elípticas sobre $latex \mathbb{K}$ , una isogenia es un mapeo racional $latex \alpha: E\rightarrow F$ que induce homomorfismo de grupos de $latex E(\mathbb{K})$ y $latex F(\mathbb{K})$ (es decir entre los grupos abelianos inducidos por la curva elíptica)


Para entender esta definición, como ya lo había definido en el post antes citado en este post, vamos a redefinir lo que es un campo de funciones de una curva proyectiva en general para saber qué es un mapeo racional.

Sea $latex C(\mathbb{K})$ una curva proyectiva definida por $latex f(x,y,z)=0$ donde $latex f\in \mathbb{K}[x,y,z]$ es irreducible en $latex f\in \bar{\mathbb{K}}[x,y,z]$.

El campo de funciones $latex \mathbb{K}(C)$ son las funciones $latex g/h$ tal que

$latex g,h$ polinomios homogéneos del anillo $latex \mathbb{K}[x,y,z]$ de mismo grado
$latex h\notin (f)$  (el ideal generado por f)
$latex g_1/h_1$ y $latex g_2/h_2$ son equivalentes cuando $latex g_1h_2-g_2h_1 \in (f)$

Si te da miedo lo proyectivo, aquí te dejo la definición afín, pero debes trabajar proyectivamente, aquí te dejo un post anterior sobre el espacio proyectivo.

$latex \mathbb{K}(C)=Frac(\mathbb{K}[C])=Frac(\mathbb{K}[x,y]/(f))$

Decimos que un mapeo racional entre dos curvas proyectivas

$latex \Phi: E \rightarrow F$
$latex P\mapsto [\phi_x(P):\phi_y(P):\phi_z(P)]$

Tal que $latex \phi_i \in \mathbb{K}(E)$

Decimos que el mapeo es regular en $latex P\in E(\bar{\mathbb{K}})$  (puntos de E con coordenadas en la cerradura del campo) si existe $latex g\in\bar{\mathbb{K}}(E)$ tal que $latex [g\phi_x(P):g\phi_y(P):g\phi_z(P)]$ está bien definida y no todos son coordenada 0 ($latex [0:0:0] \notin \mathbb{P}^2$).


Si un mapeo es regular en todos los puntos, decimos que es un morfismo , puede verse en el libro Advanced topics in the arithmetic of elliptic curves (Silverman) que si $latex E$ es suave proyectiva, entonces todo mapeo racional de $latex E$ a una curva proyectiva $latex F$ es un morfismo.

Tambien decimos que un isomorfismo entre curvas elípticas es una isogenia invertible.

Como ejemplos que pueden trabajar en casa, consideren los mapeos sobre una curva $latex E$ sobre el campo $latex \mathbb{F_q}$  con $latex q=p^n$

$latex P\mapsto 2P$

Pueden demostrar que eso realmente es una isogenia

También
$latex \pi:E \rightarrow E$
$latex [x:y,z] \mapsto [x^q:y^q:z^q]$

Donde este mapeo es el endomorfismo de Frobenius y tenemos que
$latex \hat{\pi}:\mathbb{F}_q \rightarrow \mathbb{F}_q$
$latex x\mapsto x^p$

Este mapeo es muy importante , ya que es un automorfismo, y tenemos que

$latex \pi(\mathbb{F}_q)$ deja fijos a los elementos $latex \mathbb{F}_p$


Ahora queremos representar explícitamente las isogenias entre curvas elípticas.

Lema: Si $latex E$ y $latex F$ son curvas elípticas sobre $latex \mathbb{K}$  en su forma estándar de Weierstrass (como en los ejemplos) y si $latex \alpha$ es una isogenia no trivial, entonces tiene la siguiente forma:

$latex \alpha(x,y)=\Big( \frac{u(x)}{v(x)} , \frac{s(x)}{t(x)}y \Big )$

donde

$latex u,v,s,t \in \bar{\mathbb{K}}[x]$

y las fracciones están reducidas (numerador y cocientes son primos relativos)


Esto es fácil demotrarlo, te dejo los hints porque es mucha talacha para que tú lo hagas.

Considera lo que ya sabemos, supón que $latex \alpha$ está definido por el mapeo racional $latex [\alpha_x:\alpha_y:\alpha_z]$, y considera para todo punto afín

$latex [x:y:1] \in E(\bar{\mathbb{K}})$

$latex \alpha(x,y)=\Big ( r_1(x,y), r_2(x,y) \Big )$  donde $latex r_1(x,y)=\alpha_x(x,y,1)/\alpha_z(x,y,1)$ y $latex r_2(x,y)=\alpha_y(x,y,1)/\alpha_z(x,y,1)$

utilizando la relación de $latex E$ que ya conoces entre $latex x,y$ que es $latex y^2=x^3+ax+b$ elimina los factores $latex y^n$ y reescribe $latex r_1(x,y)=\frac{p_1(x)+p_2(x)y}{p_3(x)+p_4(x)y}$, multiplica el numerador y denominador por $latex p_3(x)-p_4(x)y$ y vuelve a reducir los $latex y^n$

Eso te dara otra versión de $latex \alpha$ que también tiene $latex y$, pero considera la simetría de la curva y el inverso de los puntos... sabes que $latex \alpha(x,-y)=-\alpha(x,y)$ por lo que deben haber cosas que se hagan 0, el argumento en $latex \alpha_y$ es similar.

El grado de una isogenia se define bajo esta representación tan cómoda como $latex \partial(\alpha):=max\lbrace u,v\rbrace$, y decimos que la isogenia $latex \alpha$ es separable si la derivada de $latex \frac{u}{v}$ NO es la función 0

El grado jugara un papel importante para despues definir otras cosas y jugar con la funcion zeta elíptica y el teorema de Hasse.

Corolario-Definición

Si $latex \alpha(x,y)$ es una isogenia como en el lema pasado, $latex v,t$ tienen las mismas raíces, y justamente estas raíces corresponden al kernel de $latex \alpha$



Teorema-Definición: 
Sea $latex \alpha: E\rightarrow F$ una isogenia con $latex \partial(\alpha)=n$ separable, entonces existe una única isogenia $latex \hat\alpha:F\rightarrow E$ tal que $latex \hat\alpha \circ \alpha = [n]$ , y le llamamos isogenia dual de $latex \mathbb{\alpha}$


Cosas que se pueden demostrar es que si $latex \alpha:E\rightarrow F$ y $latex \beta:E\rightarrow F$ entonces $latex \hat{\alpha+\beta}=\hat\alpha+\hat\beta$ y que $latex \alpha + \hat\alpha = 1 + \partial(\alpha)-\partial(1-\alpha)$, lo cual nos lleva a que definamos la traza  de un endomorfismo

$latex tr(\alpha)=tr(\hat\alpha)=\alpha+\hat\alpha$

Nota que tenemos que $latex \alpha\cdot \hat\alpha=[\partial(\alpha)]$ (en la misma curva elíptica) por lo que $latex \partial(\hat\alpha) = \partial(\alpha)$

Lo anterior nos lleva a un teorema importante que nos relaciona con un polinomio cuadrático cada endomorfismo.

Teorema: 

Sea $latex \alpha \in End_\mathbb{K}(E)$ , entonces $latex \alpha$ y $latex \hat\alpha$ son raíces del polinomio característico

$latex \xi(\lambda)=\lambda^2 - (tr\alpha)\lambda + \partial(\alpha) = 0$

Esto es muy fácil de probar

$latex \alpha^2 -(tr\alpha)\alpha+\partial(\alpha)=\alpha^2 - (\alpha+\hat\alpha)\alpha + \hat\alpha\alpha = 0$  lo mismo para $latex \hat\alpha$.

Ahora... como última parte de esta sección, consideremos el campo de caracteristica p y vamos a restringir los endomorfismos al subgrupo de torsión de la curva elíptica, es decir, sólo los evaluaremos en elementos de $latex E[n]$
y si $latex \alpha \in latex End(E)_\mathbb{K}$ a la restricción de $latex \alpha\mid_{E[n]}$ la redefiniremos como:

$latex \alpha_n$

Esta $latex \alpha_n$ es un endomorfismo del subgrupo abeliano $latex E[n]$ ya que $latex \alpha$ es un morfismo y manda puntos de torsión a puntos de torsión y como vimos anteriormente:

$latex E[n] \cong \mathbb{Z}/n\mathbb{Z} \oplus \mathbb{Z}/n\mathbb{Z}$, considera una base para $latex E[n]$ , llámale $latex (P_1,P_2)$

entonces podemos representar en forma de matriz a $latex \alpha_n=\begin{pmatrix}a&b\\c&d\end{pmatrix}$ donde $latex a,b,c,d \in \mathbb{Z}/n\mathbb{Z}$ y $latex \alpha(P_1)=aP_1\oplus cP_2$ y $latex \alpha(P_2)=bP_1+dP_2$ , la representación de la matriz depende de la base, pero la traza  $latex tr \alpha_n$ y $latex det \alpha_n$ no.


Lo que nos deja con este teorema que es MUY importante, ya que es la conexión más importante que hay entre los endomorfismos y las restricciónes a $latex E[n]$


Teorema: 
Sea $latex \alpha \in End_\mathbb{K}(E)$ con $latex E$ elíptica sobre $latex \mathbb{K}$  y sea $latex n$ un número positivo primo relativo a la característica de $latex \mathbb{K}$

entonces:

$latex tr \alpha \equiv tr \alpha_n \bmod n$   y    $latex \partial(\alpha) \equiv det(\alpha_n) mod n$


Con esto ya estamos bien equipados.

j-Invariante


Ahora, ya que sabemos que todas las curvas de género 1 son elípticas, hay una manera de clasificarlas muy eficientemente, consideremos $latex \mathcal{E}$ como el espacio de todas las curvas elípticas sobre $latex \mathbb{K}$ , entonces existe una función

$latex j: \mathcal{E} \rightarrow \mathbb{K}$

Llamada j-invariante que cumple que:

$latex j(E)=j(F)\Leftrightarrow E \cong F$ sobre $latex \bar{\mathbb{K}}$

Se ha demostrado que la función $latex j$ es suprayectiva, por lo que $latex \mathbb{K}$ es el espacio modular de dimensión 1y tenemos que las fibras $latex j^{-1}(x)$ son clases de $latex \bar{\mathbb{K}}$-isomorfismos de curvas elípticas definidas sobre $latex \mathbb{K}$

Las curvas elípticas que generalmente usamos en criptografía son de la forma

$latex E:=y^2 - x^3 - px -q $

Por lo que podemos expresar el j-invariante de manera más reducida como:

$latex j(E)=1728 \frac{4p^3}{4p^3+27q^2}$

Torsiones cuadráticas de curvas elípticas

Aquí no voy a entrar tanto en detalle porque tengo poca experiencia pero es importante.

Imagina que tenemos las curvas $latex E$ y $latex F$ definids sobre $latex \mathbb{K}$ tal que existe un isomorfismo $latex E\rightarrow F$ sobre $latex \bar{\mathbb{K}}$ pero no sobre $latex \mathbb{K}$ , decimos en este caso que $latex E$ y $latex F$ son torsiones.

Ejemplo:

Considera las curvas $latex E:y^2=x^3+11664$ y $latex F:y^2=x^3+1$

Ambas suaves y lindas definidas sobre $latex \mathbb{Q}$ , estas curvas NO pueden ser isomorfas sobre $latex \mathbb{Q}$ ya que $latex F$ tiene un punto de orden 2 $latex (-1,0)$ y $latex E$ no tienen ningun punto de orden 2 (el punto de orden 2 en este caso como son simetricas son el eje x , tendria que se un punto de weierstrass, lo cual implica que x=0 por lo que $latex y\notin \mathbb{Q}$)

Pero ahora considera las curvas en la extensión cuadrática $latex \mathbb{Q}(\sqrt{2})$,
aquí podemos definir el isomorfismo:

$latex \Psi: E \rightarrow F$
$latex (x,y) \mapsto (2^3 3^6 \sqrt{2}\cdot x , 2^2 3^3\cdot y)$

Por lo que decimos que $latex E$ y $latex F$ son twists cuadráticos.

Por lo anterior... deberían de tener el mismo j-invariante, el cual es claramente 0, por lo que todas las curvas existentes con j-invariante 0 , serán isomorfas a estas que ejemplificamos en alguna extensión del campo en el que estén trabajando.


Subgrupo de torsión y endomorfismo de una curva elíptica

Sabemos que el mapeo que manda a multiplicar por $latex [n]$ los puntos de una curva $latex E$ es un morfismo, al kernel de este mapeo le llamamos subgrupo de torsión y lo denotamos como $latex E[n]$ , y tenemos el siguiente teorema cuando $latex K$ tiene caracteristica p

$latex E[n]\cong \mathbb{Z}/n\mathbb{Z}\oplus \mathbb{Z}/n\mathbb{Z}$ si $latex p=0$ o $latex p\ndiv n$

o

$latex E[n]\cong \mathbb{Z}/n\mathbb{Z}$ o $latex \lbrace 0\rbrace 0$  si $latex p>0$ y $latex n=p^m$

Qué corolario de este teorema pueden deducir de $latex E[p]$ ?

Pero lo que diremos es que en un campo de caracteristica positiva , si $latex E[p]\cong \mathbb{Z}/p\mathbb{Z}$ le llamamos a la curva $latex E$ ordinaria, y si es $latex E[p]\cong \lbrace 0\rbrace $ supersingular.


Ahora, aquí el anillo de Endomorfismos  de la curva $latex E$ los denotamos como $latex End_\mathbb{K}(E)$
y tenemos que las isogenias $latex \alpha:E\rightarrow E$ son endomorfismos, y forman un anillo

bajo las siguientes operaciones

$latex \alpha,\beta \in End_\mathbb{K}(E)$

$latex (\alpha + \beta)(P)=\alpha(P)\oplus\beta(P)$
$latex (\alpha\cdot \beta)(P)=(\alpha \circ \beta)(P)$

donde $latex \oplus$ es la adición elíptica .

Tenemos que ahora con esto podemos construir una infinidad de elementos ya que $latex [n] \ in End_\mathbb{K}(E)$

esto debería ser para ustedes pero lo pongo.

$latex (\alpha\cdot [n])(P)=\alpha(nP)=\alpha(\bigoplus_{i=1}^n {P}) = \bigoplus_{i=1}^n { \alpha(P) }=n\alpha(P)=([n]\cdot \alpha(P)$

Esto nos dice que $latex \mathbb{Z}$ es un subanillo de $latex End_\mathbb{K}(E)$ , lo puedes observar viendo como se comporta la composición y la suma de $latex [n]$ y $latex [m]$ , verás que forman un anillo esos endomorfismos y son isomorfos a $latex \mathbb{Z}$

Este anillo de endomorfismos no sólo tiene a $latex \mathbb{Z}$ , como vimos, también está el endomorfismo $latex \pi$ de Frobenius (con $latex \mathbb{K}$ de caracteristica p>0 como el caso de criptografía) y pues por lo tanto todas las composiciones y sumas de éste con los isomorfos a $latex \mathbb{Z}$ cuando la curva $latex E$ es supersingular, este anillo de endomorfismos se comporta como un álgebra de cuaternios y no es conmutativo.



Espero les haya interesado, cualquier duda o corrección háganmela saber

Eduardo Ruíz Duarte (beck)
Twitter: @toorandom


Martes 28 de octubre de 2014

Marco Islas

Marco Islas
Marco Islas Blog

Disk speed

Although this is not the fastest SSD drive, it takes nothing to launch the apps I use every day. Please excuse me, I’m amazed. from Flickr http://flic.kr/p/pyniDg via IFTTT

Sábado 25 de octubre de 2014

Farid Bielma

¿Quiénes ganan y quiénes pierden con la Reforma Energética?

Promulgación de la Reforma Energética por el presidente Enrique Peña

Promulgación de la Reforma Energética por el presidente Enrique Peña

En recientes presentaciones me han preguntado sobre mi opinión personal de los pros y contras de la Reforma Energética y apertura del sector a inversión privada. En esta ocasión no quiero hablar sobre los contras, ya que deseo centrar este análisis en los beneficios que pueden obtener cientos de empresas mexicanas, aquí algunos de mis comentarios:

  • Llegarán un número importante de empresas extranjeras, muchas de ellas con su cadena de suministro de proveedores bien establecida, a pesar de ello, varias compañías desarrollarán estrategias de desarrollo de proveedores locales, solo las empresas con altos estándares de calidad, capacidad y recurso humano competitivo podrán aprovechar los nuevos proyectos que se desarrollarán. Es necesario que muchas empresas mexicanas superen la barrera del idioma al lenguaje de negocios: inglés, y que obtengan certificaciones de calidad ISO o alguna norma internacional.
  • El propio CONACYT ha detectado que existe insuficiencia en mano de obra calificada en el país y en número de empresas que ofrezcan valor agregado a sus servicios, por ello, impulsará un ambicioso programa para capacitar a 200,000 jóvenes en áreas de ingeniería del sector energético, además de ello, las empresas tendrán apoyos de Secretaría de Energía y Secretaría de Economía para desarrollar competencias internacionales.
  • Las empresas que tengan como modelo de negocio desarrollar nuevos productos, procesos y modelos para el sector, y que puedan detectar necesidades o fallas en el mercado tendrán un crecimiento exponencial, empresas que visualicen esas oportunidades y obtengan información de inteligencia competitiva estarán un paso adelante de competidores.

Viernes 24 de octubre de 2014

César Yáñez Fernández

Resucitando a BSD (en México)

Érase una vez...

Hace poco más de 10 años, que había mucho ímpetu y movimiento de grupos de usuarios, que además de los ya conocidos grupos de usuarios de Linux, los grupos de usuarios de BSD; siendo concretos, los de FreeBSD, los de NetBSD y los de OpenBSD, en esos se conocieron amistades largas...

Esos usuarios han crecido, se han casado, han creado familia, y muchos por cuestiones de responsabilidades y trabajo, hemos dejado a un lado los foros y listas de correo. BSD sigue usándose mucho, tanto en productos propietarios (como NetScaler de Citrix); y en empresas conocidas (el caso de Netflix).

La lista de correo de NetBSD México lleva meses sin actividad, y seguro no es la única; hay algunos artículos en borrador, pendientes de publicarse en el sitio, y hasta siento feo verlo acumulando polvo.

Hace unos años, escribí hacia dicha lista sobre qué se puede hacer para retomar estos trabajos, que si bien nuestras responsabilidades no nos permiten que lo tengamos actualizado diariamente, podemos darnos 1 hora a la semana para mantenerlo vigente.

Esos puntos que escribí en la lista, quiero exponerlos aquí, digo, son solo unas vagas ideas de qué se puede hacer; seguro habrá opiniones propias, pero que se pueden tomar en cuenta.

Unificar el contenido generado

Hay varios sitios con dominio MX que se rodean alrededor de FreeBSD, NetBSD y OpenBSD, que siguen todavía vigentes aunque los sitios ya no tienen actualizaciones, lo que creo mejor es que se unifiquen todos en un solo lugar, o que apunten a un solo lugar, y que se platique en general de:

De la misma manera, se pueden unificar los foros y listas de correo, manteniendo un idioma común.

Generación de contenido

Ya he comentado y dejado claro que el contenido ahí sigue, pero que ya no se ha generado seguimiento, es difícil para muchos escribir una entrada de blog en un lugar específico solo para decir: “¡FreeBSD 10 a sido liberado! ¡Yay!”.

Lo que se puede hacer es compartir información de cómo resolvieron un problema en algún BSD que usen; es contenido que no tiene que estar todo el tiempo actualizándose, pero se puede tener como referencia cuando tengamos un problema similar; con esto, también evangelizando acerca de estas tecnologías libres.

Tendencias

¿En qué lugar se puede colocar a los BSD con las tendencias tecnológicas actuales (llámese Virtualización, Nube, Big Data, etcétera)?

BSD aún tiene cabida en estos nichos, principalmente en NAS, SAN, Virtualización y Nubes públicas, hay que experimentar con las tecnologías abrigadas por algún proyecto BSD y compartir sus casos de uso.

Planeta

Va de la mano con generación de contenido. Planeta Linux es un excelente lugar para reunir diferentes blogs de usuarios, y no está peleado con BSD, se puede usar este, o también crear un Planeta BSD donde se indexen nuestros artículos relacionados.

Como he comentado, son ideas vagas que se pueden seguir, ojalá en poco tiempo podamos consensuar en una dirección, con muchos que no he conocido, de los usuarios que aún andan por ahí.

Antonio de Dios

Antonio de Dios
Webadedios » Linux

[fix] geany no inicia, “Attempt to unlock mutex that was not locked”

Hice una actualización, y después de unos días feliz intento abrir el editor geany y cual es mi sorpresa de toparme con el mensaje


toto@linux:~$ geany
Attempt to unlock mutex that was not locked
Abortado

Y pues efectivamente no abría, abortaba el inicio del programa.

corro entonces geany, dándole la instrucción geany -v, para leer el mensaje de donde podría estar el error, y veo que se detiene al momento de invocar los plugins


toto@sidux:~$ geany -v
Geany-INFO: Geany 1.24.1, es_MX.UTF-8
Geany-INFO: GTK 2.24.25, GLib 2.42.0
Geany-INFO: System data dir: /usr/share/geany
Geany-INFO: User config dir: /home/toto/.config/geany
Geany-INFO: System plugin path: /usr/lib/i386-linux-gnu/geany
Geany-INFO: Added filetype Go (58).
Geany-INFO: Added filetype Clojure (59).
Geany-INFO: Added filetype Genie (60).
Geany-INFO: Added filetype Scala (61).
Geany-INFO: Added filetype Cython (62).
Geany-INFO: Added filetype CUDA (63).
Geany-INFO: Added filetype Graphviz (64).
Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/autoclose.so (Autocierre)
Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/addons.so (Añadidos)
Geany-INFO: Loaded: /usr/lib/i386-linux-gnu/geany/defineformat.so (Definir formateador)
Attempt to unlock mutex that was not locked
Abortado

hago una prueba de llamar a geany, sin plugins, con la instrucción geany -p y abre perfectamente

toto@sidux:~$ geany -p

por lo que voy a ver (editar) el archivo ~/.config/geany/geany.conf para ver cuales plugins están activos y cual es él que esta dando problemas.

Solución

Después de probar quitando uno por uno, veo que es debugger.so el que da problemas, por lo cual borro de la lista, guardo, inicio geany y todo funciona bien nuevamente

la linea editada en la sección plugins, listado en active_plugins= quedo así después de borrar /usr/lib/i386-linux-gnu/geany/debugger.so; (efectivamente, tengo activados muchos plugins)


[plugins]
load_plugins=true
custom_plugin_path=
active_plugins=/usr/lib/i386-linux-gnu/geany/autoclose.so;/usr/lib/i386-linux-gnu/geany/addons.so;/usr/lib/i386-linux-gnu/geany/defineformat.so;/usr/lib/i386-linux-gnu/geany/geanypy.so;/usr/li
b/i386-linux-gnu/geany/geanymacro.so;/usr/lib/i386-linux-gnu/geany/multiterm.so;/usr/lib/i386-linux-gnu/geany/filebrowser.so;

Miguel de Icaza

Miguel de Icaza
Miguel de Icaza

Mono for Unreal Engine

Earlier this year, both Epic Games and CryTech made their Unreal Engine and CryEngine available under an affordable subscription model. These are both very sophisticated game engines that power some high end and popular games.

We had previously helped Unity bring Mono as the scripting language used in their engine and we now had a chance to do this over again.

Today I am happy to introduce Mono for Unreal Engine.

This is a project that allows Unreal Engine users to build their game code in C# or F#.

Take a look at this video for a quick overview of what we did:

This is a taste of what you get out of the box:

  • Create game projects purely in C#
  • Add C# to an existing project that uses C++ or Blueprints.
  • Access any API surfaced by Blueprint to C++, and easily surface C# classes to Blueprint.
  • Quick iteration: we fully support UnrealEngine's hot reloading, with the added twist that we support it from C#. This means that you hit "Build" in your IDE and the code is automatically reloaded into the editor (with live updates!)
  • Complete support for the .NET 4.5/Mobile Profile API. This means, all the APIs you love are available for you to use.
  • Async-based programming: we have added special game schedulers that allow you to use C# async naturally in any of your game logic. Beautiful and transparent.
  • Comprehensive API coverage of the Unreal Engine Blueprint API.

This is not a supported product by Xamarin. It is currently delivered as a source code package with patches that must be applied to a precise version of Unreal Engine before you can use it. If you want to use higher versions, or lower versions, you will likely need to adjust the patches on your own.

We have set up a mailing list that you can use to join the conversation about this project.

Visit the site for Mono for Unreal Engine to learn more.

(I no longer have time to manage comments on the blog, please use the mailing list to discuss).

Domingo 19 de octubre de 2014

Itzcoalt Alvarez Moreno

Itzcoalt Alvarez Moreno
Itzcoalt (itz) Álvarez

Seguros

Hace mas de un mes tuve un problema con el auto, por lo que la persona que daño mi vehículo llamo a su seguro a fin de responsabilizarse por los daños.

Debido al modelo de mi auto, seleccione que fuera atendido por la Agencia Nissan Fuji Automotriz, en donde fue recibido y empezo el proceso de reparacón.

Casi un mes después, paso a recoger mi vehículo y observo que vibra y que uno de los soportes del motor esta ROTO, lo reporto a la agencia, ellos a su vez al taller quien me dice que debo hablar directamente con la aseguradora.

Y en este momento, inician los problemas.

Para empezar, mi primera llamada no fue registrada en su sistema, y tuve que llamar 3 días después, el supervisor de calidad, me dice que el golpe fue de lado izquierdo, y que el soporte del motor esta del lado derecho por lo que no procede la reclamación, sin embargo, me indica que pasará su reporte y que contactaran al ajustador para validar con el la informacion.

 

Después de otras 4 días vuelvo a llamar, y el departamento de calidad de la aseguradora no desea tomarme la llamada, me canaliza nuevamente con el supervisor asignado a la agencia, y me indica que  ha recibido un correo en donde le indican que no procede, le pido copia del mismo, y se niega a proporcionarla.

Interesante que un departamento de calidad tenga problemas en la calidad del servicio que deben supervisar.

Es un hecho que antes del accidente el soporte del motor no estaba roto, sin embargo, la aseguradora no se hizo responsable, el ajustador incluyo en la orden de admisión la leyenda “mecánica a consecuencia“, sin embargo, ni la agencia, ni el seguro verificaron  que se le realizaran las pruebas necesarias al auto, a tal grado, que la propia agencia estaba entregándome el auto sin avisar del soporte roto, y la ¿calidad?, acaso, si no esta roto no implica que este “afectado”. donde queda la responsabilidad de la aseguradora y la agencia en estos casos.

Es preocupante que ninguna de las dos empresas se preocupen por el afectado y por la calidad de sus servicios.

Recomendaciones para casos similares.

1.- Tomen fotos de todos los ángulos del golpe, y de todo el motor.

2.- Valide o haga validar las fotos con el ajustador,  una forma fácil es tomar algunas con el de fondo :)

3.- El seguro y la Agencia no les importa lo que pase con tu auto y no te informaran del avance, llama,llama,llama, y si te es posible acude

4.- El seguro y la agencia solo se responsabilizan con lo que dice la orden de admisión y por ende, lo que dice el ajustador que esta roto, así que asegurarte te pongan todo, y apoyarte en las fotos en caso de problemas

5.- PROFECO es una opción,  sin embargo, esto llevara tiempo.

6.- Consideran la no contratación de aseguradoras que tienen este tipo de vicios en su organizacion.

 

Para el registro.

 

Aseguradora QUALITAS

Agencia: Fuji Automotriz.

 

 

Actualización.

Molesto por la atención recibida, pedí me indicaran el proceso para levantar una queja, me canalizaron al envío de un correo a la cuenta ccq@qualitas.com.mx.

 

El día 15 de Octubre envie el siguiente correo, y debo decir que hasta el día de hoy (18 de octubre) , no he recibido comunicación alguna por parte de la aseguradora, no hay correo de confirmación de recepción, no hay comunicación de un gerente, o en su caso de un departamento encargado de la atención al cliente, por lo que podemos decir, que es un buzon, que se va directo a  /dev/null

—- Correo —-

Numero de Reporte: 737617
Automovil: Sentra 2007.
Por medio del presente me dirigo a quien corresponda con el fin de levantar una queja en base a su servicio, y procedimiento de seguimiento hacia sus clientes.
Narrativa de hechos:

Soy el 3ero perjudicado dentro de un accidente ocurrido el dia 9 de Septiembre, quien golpeo mi auto tenia asegurada su unidad con ustedes.
El trato de su ajustador fue correcto, y fui canalizado a Fuji Automotriz. en donde el auto fue recibido y se procedio a la preparacion.

Anomalias:

Al recoger el auto, me percado que este VIBRA cuando esta encendido, procedo a revisar el motivo de esta vibracion y observo el soporte del motor Roto del lado opuesto a donde fue el golpe, la agencia me remite al taller automotriz, en donde en ninguna de las fotos que observamos se pude detemrinar el estado del soporte al momento de la recepcion del mismo y me indica que no esta cubierto este daño, que debo levantar una queja con Calidad de Quialitas.

Procedo a hacer esta llamada el dia 7de Octubre, en donde se me indica que lo canalizaran con el supervisor de Calidad, y que me llamaran, espero hasta el dia 10 de octubre sin respuesta alguna y decido llamar, y solo me entero que mi reporte anterior no fue levantado y que de acuerdo a la Base de datos de seguimiento no se reporto mi llamada, molesto les pido me auxilien por que tengo ya una SEMANA mas sin mi auto.

Atienden la llamada y ese mismo dia el supervidor de Calidad me llama para indicarme que de acuerdo a sus observaciones no procede el pago del soporte dañano. aun cuando comente que dicho daño no estaba antes del accidente, mis argumentos son desechados sin mayor afan que la de no cubrir el costo, toda que vez que aun que el no estubo en accidente, carece de la informacion del propio dueño y conductor del auto., el mismo supervisor me indica que el pasara su reporte a QUALITAS y que contactaran al Ajustador para verificar lo procedente, que Quialitas me llamará.

Pasan 3 dias y Quialitas no me llama, decido hacer la llamada personalmente para que me comuniquen con CALIDAD, y el area de calidad simplemente no me quiere tomar la llamada arguementando que el caso esta cerrado.

Punto importante, CERRADO si nunca Qualitas me llamo para darme esta informacion y quedamos en la espera de la informacion del Ajustador.

Quien me atiente, una recepcionista, tal vez sin el entrenamiento adecuado para las labores especifica del area de CALIDAD, me comunican nuevamente con el supervisor de CALIDAD asignado a la Agancia Fuji Automitriz, quien me informa que el dia de ayer recibio un correo en donde indican TEXTUALMENTE que no procede mi reclamacion, le pido me reenvie el correo, y me indica que no puede hacerlo.
QUEJA.

Cual es el seguimiento que dan a sus reportes, que ustedes como OFICINA CENTRAL no se comunicaron en ningun MOMENTO con un servidor para dar seguimiento a mi queja, en todo momento yo como cliente he tenido que hacer las llamadas para ver el seguimiento a una REPORTE de su area de CALIDAD.

Por que CALIDAD no desea contestar mi llamada argumentando que esta CERRADO el reporte y sin informarme el resultado del mismo, cual es el procedimiento para una queja de la CALIDAD del servicio que de su departamento de CALIDAD?

Por que la Agencia no reviso el auto antes de entregarlo y peor aun, por que la agencia no valido que la entrega de la unidas se haya realizado acorde a un protocolo.?, mas si dentro de la orden de admision se estipulo “MECANICA a CONSECUENCIA”, si la afectacion fuera en un soporte de la suspencion o en alguna otra parte que quedará dañada producto del accidente, este daño no seria identificado de manera VISUAL, luego entoces… hasta donde llega la responsabilidad en la reparacion de una unidad que ingreso con esa nota “MECANICA a CONSECUENCIA”

¿Que Pruebas se realizaron a la unidad para descartar otros daños? fuera de los observador VISUALMENTE por el ajustador?
En cuanto al hecho de no querer pagar el daño del soporte al motor, me parece un error, toda vez, que como dueño de la unidad les afirmo, el daño no estaba antes del Accidente, por que no me mostraron las fotos que tomo el ajustador y que integran el expediente?

Quedo en espera de sus comentarios y de acciones.

Atentamente.

Izcoalt Alvarez Moreno.

—- Correo —-

 

Martes 14 de octubre de 2014

Gerónimo Orozco

Gerónimo Orozco
Patux's booring news

OpenStackGDL October 2014

Registrate


César Yáñez Fernández

Lista de Donación de Libros

En el área de cómputo, al igual que en otras áreas y ciencias, existe mucha literatura, libros de texto, manuales, documentos, artículos, etcétera. Uno cuando empieza a recabar esta información, llega el momento que necesitas espacio.

Un libro es como un ser vivo, que necesita ser adoptado para que siga cumpliendo su función, para que se mantenga vivo. Es por esto que me doy a la tarea de crear una lista de libros que se encuentran disponibles para adoptar.

Si alguien quiere uno de los libros listados, se sugiere cumplir las siguientes condiciones:

  1. El libro no está en venta, ni tiene un precio definido.
  2. El libro es donado, sin un costo por el libro.
  3. Para pedir un libro, me pueden contactar personalmente.
  4. El libro será enviado por Correos de México.
  5. Si el solicitante prefiere otro método de envío (DHL, UPS), el solicitante deberá pagar por el envío.
  6. Si se solicita más de 1 libro, el paquete será enviado por DHL, y el solicitante deberá pagar por el envío.

La lista de libros aún no está completa, y no sólo habrá libros de cómputo, esta lista se irá actualizando con más libros y se eliminarán los que ya fueron adoptados.

Lunes 13 de octubre de 2014

Eduardo Ruiz Duarte

Eduardo Ruiz Duarte
beck's site

Leyes fundamentales de la estupidez humana (Carlo M Cipolla)

Esto es algo que me llamó la atención, gracias a Omar Lara que me lo compartió
es un tratado formal sobre la estupidez humana, el artículo completo aquí


Introducción

"La humanidad se encuentra (y sobre esto el acuerdo es unánime) en un estado deplorable. Ahora bien, no se trata de ninguna novedad. Si uno se atreve a mirar hacia atrás, se da cuenta de que siempre ha estado en una situación deplorable. El pesado fardo de desdichas y miserias que los seres humanos deben soportar, ya sea como individuos o como miembros de la sociedad organizada, es básicamente el resultado del modo extremadamente improbable (y me atrevería a decir estúpido) como fue organizada la vida desde sus comienzos. 
Desde Darwin sabemos que compartimos nuestro origen con las otras especies del reino animal, y todas las especies -ya se sabe- desde el gusanillo al elefante tienen que soportar sus dosis cotidianas de tribulaciones, temores, frustraciones, penas y adversidades. Los seres humanos, sin embargo, poseen el privilegio de tener que cargar con un peso añadido, una dosis extra de tribulaciones cotidianas provocadas por un grupo de personas que pertenecen al propio género humano. Este grupo es mucho más poderoso que la Mafia, o que el complejo industrial-militar o que la Internacional Comunista. Se trata de un grupo no organizado, que no se rige por ninguna ley, que no tiene jefe, ni presidente, ni estatuto, pero que consigue, no obstante, estar en perfecta sintonía, como si estuviese guiado por una mano invisible, de tal modo que las actividades de cada uno de sus miembros contribuyen poderosamente a reforzar y ampliar la eficacia de la actividad de todos los demás miembros. La naturaleza, el carácter y el comportamiento de los miembros de este grupo constituyen el tema de las páginas que siguen. 
Es preciso subrayar a este respecto que este ensayo no es ni producto del cinismo ni un ejercicio de derrotismo social -no más de cuanto pueda serlo un libro de microbiología-. Las páginas que siguen son, de hecho, el resultado de un esfuerzo constructivo por investigar, conocer y, por lo tanto, posiblemente neutralizar, una de las más poderosas y oscuras fuerzas que impiden el crecimiento del bienestar y de la felicidad humana. "



1. Siempre e inevitablemente cada uno de nosotros subestima el número de individuos 
  estúpidos que circulan por el mundo

2. La probabilidad de que una persona determinada sea una estúpida es independiente 
  de cualquier otra característica de la misma persona

3. Una persona estúpida es una persona que causa un daño a otra persona o grupo de 
  personas sin obtener, al mismo tiempo, un provecho para sí, o incluso obteniendo un 
  perjuicio. 

4. Las personas no estúpidas subestiman siempre el potencial nocivo de las personas 
  estúpidas. Los no estúpidos, en especial, olvidan constantemente que en cualquier 
  momento y lugar, y en cualquier circunstancia, tratar y/o asociarse con individuos 
  estúpidos se manifiesta infaliblemente como costosísimo error. 


Carlo M Cipolla

Planeta Laguna: PoC Shell Sock Reverse Shell cgi-bin

Miércoles 08 de octubre de 2014

Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo

¿Dónde te agarró el temblor?

2014-10-08 02:40:54 (M6.2) GULF OF CALIFORNIA 23.8 -108.4 (82934)



Region: GULF OF CALIFORNIA
Geographic coordinates: 23.817N, 108.423W
Magnitude: 6.2
Depth: 10 km
Universal Time (UTC): 8 Oct 2014 02:40:54
Time near the Epicenter: 7 Oct 2014 19:40:54
Local standard time in your area: 7 Oct 2014 20:40:54

Location with respect to nearby cities:
121 km (75 mi) WSW of El Dorado, Mexico
128 km (79 mi) SW of Navolato, Mexico
128 km (79 mi) SW of Campo Gobierno, Mexico
135 km (83 mi) SW of Costa Rica, Mexico
1077 km (667 mi) WNW of Mexico City, Mexico


ADDITIONAL EARTHQUAKE PARAMETERS
________________________________
event ID : us b000sjt0

This is a computer-generated message and has not yet been reviewed by a
seismologist.
For subsequent updates, maps, and technical information, see:
http://earthquake.usgs.gov/earthquakes/eventpage/usb000sjt0
or
http://earthquake.usgs.gov/

National Earthquake Information Center
U.S. Geological Survey
http://earthquake.usgs.gov/regional/neic/


DISCLAIMER: https://sslearthquake.usgs.gov/ens/help.html?page=help#disclaimer

Martes 07 de octubre de 2014

Planeta Laguna: Shell Shock Reverse Shell DHCP

Domingo 05 de octubre de 2014

FSL se acerca

Jueves 02 de octubre de 2014

Renich Bon Ciric

HowTo: How to use your jack audio card with pulseaudio in Fedora 20

I, honestly, don’t know what happens here. I dunno if you’re delegating pulseaudio to jack or viseversa. Anyway, I use this method to enable my Focusrite Scarlett 18i20 in Fedora 20. I hope it helps out:

Procedure

#!/usr/bin/env bash

pulseaudio -k
pulseaudio -k
pulseaudio -k

pactl load-module module-jack-source;
pactl load-module module-jack-sink

After that (in GNOME 3), just go to Settings > Sound > Output and choose “Jack sink” as the default device. It should now work as your main audio output device.

Let me know, with your comments, of any success stories or feedback you might provide.

Lunes 29 de septiembre de 2014

Planeta Laguna: Limpiar y restaurar una máquina de afeitar

Domingo 28 de septiembre de 2014

Alex Callejas

Bash critical security vulnerability: shellshock

watchmen-rorschach

Por cierto, necesitas una cerradura más resistente, la nueva se ha roto de un sólo empujónRorschach [Watchmen]

El pasado miércoles se descubrió una vulnerabilidad en el intérprete de comandos más utilizado en la mayoría de los sistemas Linux, bash, la vulnerabilidad surge del hecho de que se pueden crear variables de entorno con valores especialmente diseñados antes de llamar a la shell bash. Estas variables pueden contener código que es ejecutado tan pronto como se invoca el shell. El nombre de estas variables no importa, sólo sus contenidos.

Al día de hoy, varios sitios han publicado guías y análisis de esta vulnerabilidad:

IMG_7408

La forma más simple de saber si alguno de nuestros equipos es vulnerable, es ejecutando:

[root@hobbiton ~]# env x='() { :;}; echo OOPS' bash -c /bin/true

Si el comando nos devuelve la cadena OOPS, significa que nuestro equipo es vulnerable y tenemos que actualizar.

Diferentes sitios de varias distribuciones han publicado la actualización correspondiente a esta vulnerabilidad:

Incluso los sistemas OS X también son vulnerables, aquí la guía para aplicar el patch. Update: Aquí las ligas de descarga del patch, según su OS X:

Es muy importante actualizar el paquete porque ya han utilizado la vulnerabilidad para realizar ataques:

Espero les sirva…