Android Libre

¡Hola a todos!

Les quería comentar una anécdota, me pasó el otro día que iba caminando por la calle y me encontré un celular, el día de Guy Fawkes, que es un festejo raro que se hace en estos países por los que ando. Cuestión que la gente se emborracha muchísimo y va por la calle perdiendo celulares, aparentemente.

No era un celular muy bueno, mas bien de esos baratos, pero tenía instalado un Android. Por supuesto que el primer impulso fue intentar llamar al dueño por teléfono para devolverle el celular, pero el celular estaba protegido con contraseña y no lo pude acceder sin resetear el celular a su configuración por defecto, así que procedí a hacer eso. Eso me permitió acceder a los contactos del señor, pero así y todo no me pude poner en contacto.

En lo personal, estos celulares nuevos no me interesan en lo mas mínimo, para mi son un sistema bastante vulnerable, imposible de actualizar con la mayoría de los proveedores, y que viene con software privativo y nos niega control sobre el dispositivo, forzándonos a hacer un jailbreak, perdiendo la garantía. Considero que ese tipo de tratos entre entidades privadas y usuarios no debería de ser legal, después de todo el usuario no está pagando solo por el software, sino que principalmente por el hardware, y debería de tener el acceso que quiera.

Pero no todo esta perdido con Android. Hay una versión libre, Cyanogenmod, que en los celulares que están soportados oficialmente te ayudan a hacer el rooteo, a sobrescribir el booteo de recuperación (el recovery, en inglés), y la instalación del nuevo software. La verdad que no es nada complicado, y me parece que la instalación por defecto de Cyanogenmod es superior en muchos sentidos sobre la oficial, especialmente en el hecho de que de entrada uno tiene control total sobre el usuario root.

Hay un problema de proporciones tiránicas, sin embargo, con el ecosistema Android: Google, sabiendo bien que no podía cobrar por Android en si, al menos por las partes open-source de este, optó por hacer privativo el gestor de paquetes de Cyanogenmod, Google Play.

Esto es inimaginable de parte de Google, pero sin embargo es muy real. Es difícil imaginarse un mundo donde Debian nos permitiera acceso a sus repositorios, pero el código fuente de apt-get no estuviera disponible, y no pudiera ser distribuido en distribuciones Debian no oficiales. Este es el caso en instalaciones no oficiales Android, y esto no es solamente teórico, Google esta ejerciendo sus derechos sobre su propiedad intelectual.

Las buenas noticias, son, sin embargo, que alguien se tomó el trabajo de crear una app-store que solamente distribuye software libre, F-Droid. Mucho del software que esta disponible en la app-store de google no es libre, y mucho del software que es libre no esta disponible en F-Droid, pero la verdad que es un buen comienzo, y me recuerda a Debian.

Próximamente, le voy a instalar un servidor SSH para que sea mas fácil de configurar, con SSHelper, y luego creo que lo voy a usar de servidor, y con un dominio no-ip, lo voy a usar para darme acceso remoto a mi red por VPN.

Un abrazo grande!
Pedro

Compilado de enlaces

Ho la a to dos.

Es te es un com pi la do de en la ces.

Un ab ra zo.
Pe dro

Compilado de compilados de BASH

¡Hola gente!

Les traigo, valga la redundancia, un compilado de compilados de BASH.

http://blog.urfix.com/25-–-sick-linux-commands/

http://www.ibm.com/developerworks/aix/library/au-badunixhabits.html?ca=dgr-jw64tenunixtips&S_TACT=105AGX59&S_CMP=GR

ttp://ad.hominem.org/log/2006/02/7_bash_tips.php

¡Espero que les sea de utilidad!

Un abrazo grande,
Pedro

Compilado de enlaces programación III

¡Hola Gente!

A continuación, otro compilado de enlaces. Estos me parece que son particularmente buenos :)

¡Espero que les sea de utilidad!

Un abrazo grande
Pedro

Simplificar ajax en JS puro

¡Hola Amigos!

Encontré este blog, que propone reemplazar nuestra clásica forma de llamar un objeto XMLHttpRequest:

if (window.XMLHttpRequest){ // Firefox, Chrome, ...
    xhrRequest = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE
    try {
        xhrRequest = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xhrRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e) {}
    }
}

Por esta nueva forma:

 
if(!window.XMLHttpRequest) window.XMLHttpRequest = function(){
    return new ActiveXObject("Msxml2.XMLHTTP")
    || new ActiveXObject("Microsoft.XMLHTTP");
};
ajax = new XMLHttpRequest();

Nótese que las primeras cuatro líneas de este código solo tienen que ser escritas una sola vez en todo el script. Dejo a continuación el script que utilizé para comprobar que esto funcionara. Quedé maravillado por la simpleza que adoptó mi código.

<script>
// declaramos nuestro XMLHttpRequest
if(!window.XMLHttpRequest) window.XMLHttpRequest = function(){
    return new ActiveXObject("Msxml2.XMLHTTP")
    || new ActiveXObject("Microsoft.XMLHTTP");
};

var ajax;

// inicializamos un pedido ajax
function ajaxRequest(where) {
	//mucho mas lindo, verdad? : )
	ajax = new XMLHttpRequest();
	ajax.onreadystatechange = ajaxListen;
	ajax.open('get', where, true);
	ajax.send(null);
}

// esta funcion sera llamada a medida que el servidor procesa nuestro pedido
function ajaxListen() {
	if(ajax.readyState === 4)
		alert(ajax.responseText);
}

ajaxRequest("asd.html");
</script>

¡Espero que les sea de utilidad!
Saludos,
Pedro

Puppy linux en español-castellano

Puppy linux es un sabor minimalista de linux que apunta a tener todo lo necesario para un usuario final utilizando el mínimo peso posible. Actualmente pesa alrededor de 100mb (aunque esta pupplet pesa 610mb), y tiene todas las aplicaciones necesarias: Word, Excel, calculadora, browser, editor de gráficos vectoriales, editor de mapas de bit, etc.

Esta versión en particular de puppy, desarrollada por Proudog, se encuentra totalmente en español.

Pensé que valía la pena hacer un post para esto. :)

Home: http://puppxigen.wordpress.com/mami-edition/
Link directo: http://home.galileo.edu/%7Etutor00344/descargas/linux/pupxigen4.iso
Screenshots: http://puppxigen.wordpress.com/mami-edition/

¡Un saludo!
Droope

¿Por qué Open Source?

Hoy en día nos encontramos con que cada día comprar software es mas barato, y existen incluso empresas que, sin algun precio para el usuario final permiten a este la utilización de su software. Este artículo no intentará demostrar la superioridad técnica del software libre, ni de su superioridad en ningún otro aspecto, sino a la diferencia de actitud frente al desarrollo y la solución de bugs.

Hay que tener en cuenta que el software libre se lleva adelante en situaciones ideales:

  • Sin presiones de ningún tipo
  • Motivadas solamente por el amor al arte
  • Son desarrolladas por quienes realmente tienen una necesidad de el producto, y un conocimiento en el área

Estos puntos, si bien pueden llegar a ser no tan acertados en algunas situaciones, son asi en la mayoría de los casos. ¿Quién dedicaría tiempo a un proyecto sin fines de lucro si este le trayera presiones de algún tipo? ¿Por qué otro motivo, dedicaría alguien tantas horas a algo si no fuera un placer? ¿Por qué desarrollaría alguen una aplicación si no tiene la necesidad de usarla?

Por otro lado, las companías, para lograr mantener su cuota del mercado, tienen que adoptar tácticas que no son quizás tan positivas para el desarrollo del software. Tomemos por ejemplo la solución de bugs críticos en un área donde companías y emprendimientos Open Source compiten a la par: Los browsers. Hace un par de semanas, se llevó a cabo pwn2own, un evento en el que hackers de todo el mundo se reunen para encontrar vulnerabilidades en todo tipo de sistemas. Este año, se encontraron varias que ponían en juego la estabilidad y/o la seguridad de los sistemas en los que se ejecutaban los tres browsers, firefox, IE y Safari.
Libertad
Esto no es para nada criticable, si no mas bien una realidad; no existe un sistema totalmente seguro. Sin embargo, la actitud que tomaron Firefox, IE y Safari demuestran claramente que la actitud correcta está en las manos de Firefox. A los diez días de el evento, firefox no solo ya había solucionado el bug, sinó que había también prometido actualizar una versión mas antigua de el navegador, para proteger aquellos usuarios que aún no se habían actualizado.

Las companías privativas, por otro lado, se comportaron como tales: Microsoft reconoció el error, y prometió arreglarlo. De Mac aún no he oido nada, aunque quizás ya hayan solucionado el problema sin decir nada. ¿La realidad? …

Se podría decir que el artículo, en este caso, es la conclusión en si. Para aquellos que saben el precio que trae el no poder acceder a el código fuente de una aplicación para la humanidad, no es necesario explicar nada… Pero para aquellos que aún no lo saben, tienen en vista otros motivos para finalmente abandonar algo que a la larga tiene consecuencias evidentemente negativas.