Controla tus versiones y programas con Git y Gitorious

802-git_ee_part1

Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.

Gitorious es el nombre de un sistema para ofrecer hospedaje a proyectos de desarrollo cooperativo de software libre basado en un entorno Web usando el sistema de control de versiones distribuidos Git, así como el software de este servidor de código abierto que es desarrollado y alojado en él.

 

¿Qué podemos hacer con estos dos elementos?
Estos dos elementos van de la mano, con git empaquetamos nuestro código de fuente. Con Gitorious lo compartimos de una manera simple y elegante, para que mas desarrolladores puedan contribuir con el proyecto, al mismo tiempo gestionamos las versiones que se hayan echo con anterioridad.

¿Comó usar Git & Gitorius ?

Empezemos con Gitorius

  • Registrarse y confirmar cuenta por correo
  • Crear SSH Key. La SSH Key es nuestra clave de acceso para subir los archivos a gitorius.
  • Para crear la llave de acceso vamos a la terminal e instalamos el paquete “sudo apt-get install ssh”
  • Ejecutamos en el terminal “ssh-keygen”
  • Seguimos los pasos e introducimos la clave.
  • Si todo sale bien tenemos nuestra clave sera creada
  • Accedemos al directorio /home/usuario/.ssh
  • Copiamos lo que esta adentro del archivo id_rsa.pub
  • Luego accedemos a nuestra sesión de gitorious e ingresamos lo que copiamos al “Manage SSH Keys”
  • Ahora bien, ya podemos crear el proyecto en la pagina de gitorius. “Create a New Proyect”, llenamos el formulario.
  • Creamos el repositorio, Añadimos un nombre y una descripción al mismo.

Ahora vamos con GIT

Ahora solicitamos una copia del proyecto.

git clone git@gitorious.org:nombredelrepositorio/nombredelrepositorio.git
cd nombredelrepositorio

Crea una rama llamada “master” en tu repositorio desde Gitorious, ejecutando:

git remote add master git@gitorious.org:nombredelrepositorio/nombredelrepositorio.git

Copia todo el código fuente de tu proyecto en el interior de tu directorio actual:

cp -rv /path/to/your/code/nombredelrepositorio/* . O crea los archivos fuente de tu proyecto

Añade los nuevos archivos a esta rama (master):

git add .

Haz commit de este cambio, quiero decir, haz commit de todos los archivos que copiaste hace un minuto:

git commit -a

git commit -m "Este es un comentario tambien"

Actualiza tu proyecto en el repositorio de Gitorious:

git push --all

Notas:

Hay más opciones con git, esto es lo básico, para poder crear el proyecto, subir y actualizar los archivos, obviamente git es más complejo.

Se que existen front – end para git pero lo prefiero así, y de eso se trata el articulo.

También aplica para bitbucket

 

Problemas como :

Permission denied (publickey)

fatal: The remote end hung up unexpectedly

 

Solución

usar : ssh-keygen

Agregar la key a gitorious (perfil de usuario, ir a la opción : Dashboard->Manage SSH Key->Add Key), agregar la llave publica

para agregar la lleve privada realizar:

$ ssh-add ~/.ssh/id_rsa (y luego  Enter)

passphrase for /home/adam/.ssh/id_rsa:

ahora se podrán subir los archivos al repositorio con el comando:

$ git push origin master

 

 

Problemas como:

Al hacer ssh-add, me aparece el error could not open a connection to your authentication agent.
Para solucionarlo hay que introducir dos instrucciones:
eval `ssh-agent`
y luego

y ya se podrá hacer el ssh-add

 

Fuentes:

 

Actualizar de Debian Squeeze a Wheezy,

newdeb

Hace unos días atrás me toco actualizar la versión de Debian en un tarro que tengo como servidor web y de impresoras, al realizar apt-get update && apt-get upgrade me salir un curioso error que mencionaba que mi versión de SO estaba desactualizado. OMG, entonces la solución es actualizar Debian de Squeeze a Wheezy

para ello:

 

1) modificamos el archivo source.list ubicado en /etc/apt/

 

comentamos los repositorios antiguos y agregamos los nuevos , los cuales son

 ##########################
# Debian Wheeze #
##########################
# Oficiales
deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free
# Seguridad
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

 

 

2) Actualizamos el sistema:

aptitude update && aptitude upgrade

 

3)Saltamos a Wheezy

 

aptitude dist-upgrade

 

Al terminar, reiniciamos la maquina y volvemos aplicar los comando del inicio para comprobar su versión y núcleo actual. Y listo :)

Matando internet explorer

1329922535_kill_internet_explorer_D_gag

En el ultimo tiempo, me estado dedicando a desarrollar un sitio web, el cual usando bootstrap, entre otras cosas va quedan bien estilizado, el único problema ha sido Internet Explorer.

Este famoso navagado, esta años luz pasos a atraz de navegadores como Chome o Firefox o derivados, el ultimo problema que me tope fue reasignar dimenciones a una foto, con el famoso <img src=” width=”>, el cual tampoco lo soporta D: , en sus versiones más instaladas por Windows  (waka)

Solución:  <img style=”width: 25px;  height: 25px” src=’test.jpg’/>

ahora para joder un poco más la mano nunca esta de más informar al asuario, por medio de una alerta e java script sobre los problemas de usar el navegador, para ellos se puede usar este script que reconoce el navegador “Internet Explorer y recomendá descargar Chrome o Firefox :)

el siguiente php a modo ejemplo lo llamaremos comprobarnavegador.php, el cual contendrá:

<?php

function comprobarnavegador(){
?>
<script type=”text/javascript”>
var is_ie = navigator.userAgent.toLowerCase().indexOf(‘msie ‘) > -1;
if (is_ie ) {
            var posicion = navigator.userAgent.toLowerCase().lastIndexOf(‘msie ‘);
            var ver_ie = navigator.userAgent.toLowerCase().substring(posicion+5, posicion+8);
            //Comprobar version
            ver_chrome = parseFloat(ver_ie);
            alert(‘Su navegador es Internet Explorer, Version: ‘ + ver_ie);
            alert(‘Puede ser que el sitio no se vea de forma correcta: ‘);
            alert(‘Porfavor descargue un navegador m&acute;s actualizada como Firefox o Chrome: ‘);
        }
</script>
<?php
}
?>

para utilizarlo bastara con incluir este php colocando dentro de nuestro php que despliga la web usuando:

include ("comprobarnavegador.php");

y para invocar la funcion para desplegar la alerta en cualquier lado del código, idealmente antes de cargar el sitio web o al inicio clocamos:

comprobarnavegador();

y listo :)

Saludos

 

 

 

Instalar KDE 4.10.x / Install KDE 4.10.x

Hace ya aprox 6 meses que estoy en KDE, y debo decir que la versión 10 me acomodo demasiado, la nueva forma de administrar directorios y algunas vistas han cambiado levemente e incluso me recuerda algo de Gnome2 en su mejor epoca :) .

vamos al asunto

primero agregaremos el PPA de KDE en su ultima version:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update

ahora para los que no tienen instalado KDE, deben realiazar

sudo apt-get install kubuntu-desktop

para los que tienen instalado KDE

sudo apt-get upgrade

Saludos!

Forzar descargas de archivos con PHP

 

En algunas ocasiones necesitamos que un archivo sea para descargar y no para ser visualizado en el navegador. Esto se puede hacer utilizando una tecnología del lado del servidor, como puede ser PHP.

Selección_025-557x375

Veremos dos formas de hacerlo, una básica y otra más avanzada pero también más segura.

Forzar descarga (Básico)

Primero creamos un archivo llamado, por ejemplo, “download.php“, en el que tendríamos que colocar el siguiente código:

1
2
3
4
5
6
<?php
$file = $_GET['file'];
header("Content-disposition: attachment; filename=$file");
header("Content-type: application/octet-stream");
readfile($file);
?>

 

Con “Content-disposition: attachment; filename=$file” indicamos que el archivo se debe mostrar como adjunto (para descargar).

Y para crear el enlace pondríamos:

1
<a href="download.php?file=imagen.jpg">Descargar</a>

Forzar descarga (Seguro)

Ahora veamos cómo hacer el script más seguro.

Por un lado, el script anterior permite descargar cualquier archivo del servidor. Por ejemplo, cualquiera podría descargar nuestro archivo ‘index.php‘ con solo cambiar la ruta  de descarga por “download.php?file=../index.php“.

Además, vamos a comprobar previamente que el archivo existe, para evitar errores en caso de que el archivo no se encuentre en el servidor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
if (!isset($_GET['file']) || empty($_GET['file'])) {
 exit();
}
$root = "archivos/";
$file = basename($_GET['file']);
$path = $root.$file;
$type = '';
if (is_file($path)) {
 $size = filesize($path);
 if (function_exists('mime_content_type')) {
 $type = mime_content_type($path);
 } else if (function_exists('finfo_file')) {
 $info = finfo_open(FILEINFO_MIME);
 $type = finfo_file($info, $path);
 finfo_close($info);
 }
 if ($type == '') {
 $type = "application/force-download";
 }
 // Definir headers
 header("Content-Type: $type");
 header("Content-Disposition: attachment; filename=$file");
 header("Content-Transfer-Encoding: binary");
 header("Content-Length: " . $size);
 // Descargar archivo
 readfile($path);
} else {
 die("El archivo no existe.");
}
?>

Mediante la función basename() hacemos que se devuelva únicamente el nombre del archivo, eliminando cualquier ruta, para que no se puedan descargar archivos de otras carpetas del servidor.

Con la variable $root hemos definido la carpeta donde se encuentran los archivos para descargar.

Fuente: http://www.ngeeks.com/forzar-descargas-de-archivos-con-php/

 

Detectar la latencia en la red #Bash

Pequeño script en bash que detecta nuestro enlace y la latencia que existe con el.

#!/bin/bash


ip=`route | grep default | awk '{print $2}'`
echo "[AWK] La ip del router es:" $ip


###LATENCIA####

lag=`ping $ip -w1 | grep "time=" | awk '{print $7}' | sed -e 's/time//g' -e 's/=//g'`
echo "La latencia es :" $lag "ms"

Saludos!

Argegar usuarios a Postgres

postgre

primero como usuario “postgres” podemos realizar

su - postgres
psql template1

o tambien :

psql -d template1 -U postgres

para agregar a un usuario por ejemplo llamado “Juanito”

template1=# CREATE USER juanito WITH PASSWORD 'myPassword';

para crear una base de datos llamada “Prueba”

template1=# CREATE DATABASE prueba;

y ahora queremos que “Juanito” tenga acceso a la base de datos “Prueba” es cosa de:

GRANT ALL PRIVILEGES ON DATABASE prueba to juanito;

para logearce en la bdd es cosa de realizar  un :

 psql -d prueba -U juanito  -W -h 127.0.0.1

Nota : si sale un error como : “FATAL:  no hay una l?nea en pg_hba.conf para <<[local]>>, usuario <<juanito>>, base de datos <<prueba>>, SSL inactivo

hay que editar el archivo pg_hba.conf ubicado en /etc/postgresql/$numero/main/pg_hba.conf y agregar la base de datos prueba

Reproductor de musica HTML5

Simpático reproductor de música en html5 , les dejo los jquery, el css y un  html de prueba.

La descarga se puede tomar su tiempo ya que viene con unas pistas en ogg de prueba.

r

Autor: Cali Rojas
sitio web: www.lewebmonster.com 

DESCARGAR

DESCARGAR

DESCARGAR

Saludos

 

Quitar espacios y caracteres especiales de los nombres de archivo en Linux

 

Aquí les dejo un truco bastante interesante que conocí hace un tiempo, el cual nos permitirá eliminar todos los espacios y caracteres especiales de los nombres de los archivos en forma automática en nuestros Linuxs. Lo cual, por ejemplo es muy útil si los vamos a trabajar mediante consola por citar un ejemplo.

Para eso, solamente debemos instalar el programa Detox:

sudo apt-get install detox

Y, una vez instalado, ejecutamos el comando:

detox -s iso8859_1 -r /directorio/archivos

Y listo, automáticamente eliminará todos los espacios del nombre del archivo, reemplazándolos por guiones bajos. Sencillo ;) .

Fuente: http://www.thalskarth.com.ar/2011/11/22/tip-quitar-espacios-y-caracteres-especiales-de-los-nombres-de-archivo-en-linux/