[ UBUNTU ] [TORRENT] [ TRANSMISSION] Como actualizar a Transmission 1.75 (9117)

Como instalar la última version de Transmission (Light bittorrent client), en nuestro Ubuntu.

Una de las razones principales para hacerlo, es que muchos sistemas p2p-torrent basados en ratio, nos piden la última versión.

Primero agregamos las siguiente lines a nuestra linea apt. (Se puede usar el editor preferido)

sudo vim /etc/apt/sources.list

 o

gksudo gedit /etc/apt/sources.list

 Vamos al final del archivo y agregamos:

#transmission
deb http://ppa.launchpad.net/transmissionbt/ubuntu jaunty main
deb-src http://ppa.launchpad.net/transmissionbt/ubuntu jaunty main

Cabe destacar, que su versión de ubuntu es distinta a la mía ,simplemente sustituyan «jaunty» con la adecuada.

Ahora como es habitual, para que nuestros repositorios sean «VALIDADOS» debemos instalar la llave,

gpg --keyserver keyserver.ubuntu.com --recv 976b5901365c5ca1
gpg --export --armor 976b5901365c5ca1 | sudo apt-key add

 Y por ultimo actualizamos e instalamos.

sudo apt-get update
sudo apt-get install transmission

 

Si todo sale como es esperado, ahora tenemos la última versión de este cliente de torrents.

 

Transmission 1.75

 

 

 

 

[ PHP ] Leer fotos de una carpeta.

 

Publico un script que me vi en la necesidad de realizar, cuando quería agregar de manera masiva fotos a una base de datos. Este scripts sin embargo solo lee todas las fotos de una carpeta, que están en la lista de extensiones validas.

 

function getFotosCarpeta($carpeta)
{
    $extensionesPermitidas=array('jpg','jpeg','png','bmp','gif');
    $largo;

    $resultado = array();
    $cantidad=0;
    if(is_dir($carpeta))
    {
        if ($handle = opendir($carpeta))
        {
            while (false !== ($file = readdir($handle)))
            {
                //Eliminamos los datos que no nos sirven
                if ($file != "." && $file != "..")
                {
                    //Filtramos las imagenes.
                        //Obtenemos la extension
                        $args = explode('.',$file);
                        $largo = count($args);
                        
                            if($largo>1)
                                {
                                    $extension = strtolower(end($args));
                                    if(in_array($extension,$extensionesPermitidas))
                                        {
                                            
                                            $resultado[$cantidad] = $file;
                                            $cantidad++;
                                        }

                                }
                }
               
            }

            closedir($handle);
                if($cantidad!=0)
                {
                    return $resultado;
                }
                else
                {
                    //Quiere decir que no existen fotos en la carpeta
                    return null;
                }
        }
    }
    else
    {
        return null;
    }
}

 

[ CODEIGNITER ] Dynamic base_url – base_url dinámica

En muchos casos, si estas desarrollando de manera colaborativa, usas cvs, svn, etc, es posible que un mismo proyecto lo pruebes en maquinas o servidores distintos. Uno de los problemas con los que me topé, fue el hecho de teenr que cambiar el » $config[‘base_url’] » , cada vez que ocupaba un computador distinto. 

Si bien, este no es un problema «TERRIBLE» se vuelve tedioso al momento de desarrollar de manera colaborativa, en este caso con codeigniter. Para solucionarlo, simplemente, haremos que el config..php (application/config/config.php) establezca nuestro base_url dependiendo de donde nos encontremos.

 

Sustituiremos

$config['base_url']    = "http://localhost/Proyectos/

Con un simple switch, que además depende del nombre del servidor donde nos encontremos. 

<?php

define('SERVER_NAME_DEV', 'localhost');
define('SERVER_NAME_EMPRESA', 'www.PAGINA_UNO.cl');
define('SERVER_NAME_FINAL', 'www.PAGINA_DOS.cl');

//Obtenemos el nombre actual para el servidor donde nos encontramos
$nombreServerActual = $_SERVER['SERVER_NAME'];
switch($nombreServerActual)
{
    case SERVER_NAME_DEV:
            $config['base_url'] = "http://localhost/Proyectos/";
            break;
    case SERVER_NAME_EMPRESA:
            $config['base_url'] = "http://www.PAGINA_UNO.cl";
            break;
    case SERVER_NAME_FINAL:
            $config['base_url'] = "http://www.PAGINA_DOS.cl";
            break;
    default:
            $config['base_url'] = "http://localhost/Proyectos/";
            break;
}
?>

Con este pequeño truco, no importa en cual server estemos desarrollando con CodeIgniter. El resultado siemrpe será el mismo, nuestra página sin tener que cambiar el base_url.

Con este sistema, no importa la CANTIDAD de servidores de desarrollo, o incluso los distintos nombres que pueda tener tu página.

 

 

[CODEIGNITER] [CALLBACKs] Como generar nuestros callbacks con parámetros

Cuando generamos los callbacks, nos vemos en la necesidad de usar parámetros por lo general. De la misma forma que el «matches» de codeigniter compara dos campos proporcionados por nosotros, en general nos gustaría por ejemplo comparar un usuario y un password , por ejemplo, para hacer un pequeño sistema de autentificación.

 Simplemente creamos el callback, y además de recibir el parámetro primero, el cual es el field que nosotros poseemos, recibiremos a continuación todos los parámetros que necesitemos (El truco esta en la llamada).

 

Si quiero crear un callback para revisar si una clave corresponde a un usuario en particular , debería crear un callback que lo revisara al momento de validar el formulario.

<?php
function check_usuario_clave($usuario,$clave)
{


}
?>

 Al momento de llamar al calback es cuando debemos hacer la diferencia. En este caso en vez de llamar a callback_check_usuario_clave , llamaremos a callback_check_usuario_clave[clave] .

Hasta ahora, nuestro parámetro clave tendrá simplemente el valor de «clave», por lo tanto debemos obtener el contenido original.

<?php
function check_usuario_clave($usuario,$clave)
{
$clave = $_POST[$clave];

}
?>

De esta manera podemos trabajar con ambas variables, sin necesidad de ejecutar funciones aparte de los callback. En este caso la variable $clave es redefinida para contener el valor que nos interesa. Espero que les sirva y éxito ! ! 

 

 

 

 

Ayudantía 20/08/09 Repaso C++

Aquí les dejo la primera ayudantía. Espero que sirva de algo.

 

 

Les adjunto también el código del cuenta vocales. Este código solo cuenta las vocales en minúsculas, como contaría también las mayúsculas?

 

 

#include <iostream>

using std::cout;
using std::cin;
int main()
{

int entrada;
int contador = 0 ;

while((entrada=cin.get())!=EOF)
{
switch(entrada)
{
case 'a':
contador++;
break;

case 'e':
contador++;
break;


case 'i':
contador++;
break;


case 'o':
contador++;
break;


case 'u':
contador++;
break;
}
cout << "Cantidad = " << contador << std::endl ;
}

cout << "EOF" << std::endl;

}