Navigation


RSS:   Blog / Fotos



SshFs

martes 12 abril 2011 12:09:44

0.- Instalar sshfs
1.- Crear un directorio para montar que el usuario sea dueño
2.- Añadir al usuario al grupo fuse

sudo adduser username fuse
3.- Relogear al usuario para que tome los cambios
4.- Montar
sshfs dominio.com:/cosas /directorio/creado/para/montar
5.- Enjoy
6.- Dismont
fusermount -u /directorio/creado/para/montar



Email desde Python

lunes 24 enero 2011 17:06:12


#!/usr/bin/python
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText

# configuraciones smtp
server    = mail.dominio.com
puerto    = 25
user      = usuario
password  = password

msg = MIMEText ('Cuerpo del mensaje')
msg['Subject'] = 'Título'
msg['From']    = 'Nombre '
msg['To'] = 'destinatario@dominio.com'

s = smtplib.SMTP (server, puerto)
s.login (user, password)
s.sendmail (msg[From], 'destinatario@dominio.com', msg_as_string())
s.quit
print ('Mensaje enviado ;)')




Convertir de .flv a .mp3

sábado 20 febrero 2010 06:33:30

ffmpeg -i archivo.flv -f mp3 -vn -acodec copy archivo.mp3



Carbonada

lunes 11 octubre 2010 19:32:20

Ingredientes

  • 400 - 500 grs de posta negra (o rosada)
  • 5 papas medianas (y dos zanahorias si se quiere)
  • 1 cebolla mediana
  • 1 diente de ajo
  • 1/4 de cucharadita de pimienta (negra o blanca)
  • 1 sopa en sobre Carne y verduras de preferencia o la que mas guste
  • 1 caldo maggi de carne (si se quiere echar más agua a la olla)
  • 1 litro de agua
  • 3 cucharadas de aceite
  • 1 kilo de pulpa de amor
  • Cilantro a gusto para darle un poquito de verde
Procedimiento:
1.- Picar o rallar la cebolla y el ajo.



2.- Freir el resultado de (1) con las 3 cucharadas de aceite, añadir media taza de agua para bajar los niveles de potencia de ambos ingredientes. Es un buen momento para poner la pimienta, asi se mezclan mejor los sabores.

3.- Picar las papas (y zanahorias...) en el corte preferido (el de las papas fritas o cuadritos)



4.- Picar la carne en trozos de tamaño 'comible sin volver a trozar', que puedan ser tomados facilmente con la cuchara al momento de comer.



5.- Después cocinar un rato prudente el resultado de (2), se cristaliza o tiende a ponerse trasparente la cebolla... Agregar la carne picada (4) y poner a fuego lento.



6.- Poner en una olla de más de 1 litro y medio las papas y zanahorias a cocer.



7.- Esperar algo de tiempo, ir observando en base al tamaño de corte de las papas & zanahorias y agregar el contenido de la sopa en sobre y el resultado de (5) en la olla donde se estan ejercitando las papas.

8.- Cocinar con la tapa durante otro rato a fuego lento, revolviendo de forma suave, como si el hambre misma fuera quien revuelve los ingredientes.

9.- Cortar el fuego y esperar 3 a 4 minutos (recomiendo esperar una canción de agrado).

10.- Es importante ir agregando el kilo de amor durante la preparación de forma racionada.

11.- Sirva en platos hondos con un poco de cilantro encima o en un plato a parte. (ver salsa verde)



Redimensionar fotos con CI

martes 24 noviembre 2009 16:16:39

<?php

class Deploy extends Controller {

  function resize()
  {
      # nuevos ancho y alto
  	  $newWidth                 = '640';
	  $newHeight                = '480';
  
	  # configurar el resize
	  $config['image_library']  = 'gd2';
	  $config['source_image']   = '/ruta/a/la/imagen/original'
	  $config['new_image']      = '/ruta/a/la/imagen/nueva';
	  $config['create_thumb']   = FALSE;
	  $config['maintain_ratio'] = TRUE;
	  $config['width']          = $newWidth;
	  $config['height']         = $newHeight;

	  $this->load->library('image_lib', $config);

	  if ( ! $this->image_lib->resize())
	  {
		  echo $this->image_lib->display_errors();
	  }

	  # dejar limpia la condig de la biblioteca
	  $this->image_lib->clear();

      $this->load->view('vista_de_salida');
  }
}



Revisar ortografía archivos latex con aspell

jueves 15 octubre 2009 17:32:54

aspell -d es -c archivo.tex



Enviar correos desde Symfony con Swift Mailer

jueves 01 octubre 2009 18:28:49

Primero se necesario bajar las clases de Swift Mailer. A parte de las cosas que trae como licencia y ejemplos, lo importante es el directorio lib el cual debe ser copiado en el directorio actions del módulo que enviará los correos. Fragmento de action.class.php


<?php

class mailActions extends sfActions
{

public function executeSendmsg (sfWebRequest $request)
  {
	// datos para cargar el correo
	$title    = "el titulo del correo";
	$email    = "kope@dominio.com";
	$from     = "sender@dominio.com";
	$message  = "El cuerpo del mensaje";
	$ip       = $_SERVER["REMOTE_ADDR"];
	$servidor = "smtp.dominio.com";
	$puerto   = 25;

	// lib requerida para la clase de envio de correos
	require_once 'lib/swift_required.php';

	// Crear objetos y configurar el correo
	$msg = Swift_Message::newInstance();
	$msg->setSubject ($title);
	$msg->setFrom (array ($from => 'Nombre del emisor'));
	$msg->setTo (array ($email => 'Destinatario'));
	$msg->setBody ($email . ' wrote:<br />'.$message.'<br /><br /><br />From ' . $ip, 'text/html');
	
	$transport = Swift_SmtpTransport::newInstance ($servidor, $puerto);
	$transport->setUsername ('usuario');
	$transport->setPassword ('p4ssw0rd');

	$mailer = Swift_Mailer::newInstance ($transport);

	// Enviar el mensaje
	$numSent = $mailer->send ($msg);
	if ($numSent)
	{
		// método para notificar el éxito
		$this->redirect ('contact/thanks');
	} else {
		// método para notificar el fracazo
		$this->redirect ('contact/fail');
	}
  }
}



Mysql desde C

jueves 24 septiembre 2009 11:33:13

Compilar con:

gcc -I/usr/include/mysql archivo.c -lmysqlclient -lsocket -lnsl -lm -lz
Code archivo.c:
#include <mysql.h>
#include <stdio.h>

int main (void)
{
   MYSQL *conn;
   MYSQL_RES *res;
   MYSQL_ROW row;

   char *server   = "servidor.mysql.com";
   char *user     = "usuario";
   char *password = "password";
   char *database = "nombreBaseDatos";
   
   conn = mysql_init (NULL);
   
   /* Connect to database */
   if (!mysql_real_connect (conn, server, user, password, database, 0, NULL, 0))
   {
      fprintf (stderr, "%s
", mysql_error (conn));
      return(0);
   }

   /* send SQL query */
   if (mysql_query (conn, "SELECT * FROM tabla"))
   {
      fprintf (stderr, "%s
", mysql_error(conn));
      return(0);
   }

   res = mysql_use_result (conn);
   
   /* output fields 1 and 2 of each row */
   while ((row = mysql_fetch_row (res)) != NULL)
      printf("%s %s
", row[1], row[2]);

   /* Release memory used to store results and close connection */
   mysql_free_result (res);
   mysql_close (conn);
}



Encontrar un archivo

jueves 24 septiembre 2009 11:13:29

find / -iname nombreArchivo.algo



Convertir varias imagenes de tamaño en un directorio

miércoles 23 septiembre 2009 13:09:27

for i in $(ls); do convert $i -geometry 500 $i;done



Leer datos desde archivo en python

miércoles 23 septiembre 2009 12:24:42

cat datos.txt

Nombre: Juan
Apellido: Perez
Edad: 30
#!/usr/bin/env python
for line in open("datos.txt"):
    line=line.strip()
    if "Nombre" in line:
        firstname = line.split(":")[1]

    if "Apellido" in line:
        lastname = line.split(":")[1]

    if "Edad" in line:
        age = line.split(":")[1]

print "Nombre   = " + firstname
print "Apellido = " + lastname
print "Edad = " + age



Md5 en Python

miércoles 23 septiembre 2009 11:04:45

#!/usr/bin/env python

import hashlib, string, base64
m = hashlib.md5()
m.update("Some text")
print m.hexdigest()



Comprimir / Descomprimir Linux

viernes 24 julio 2009 08:20:58

Comprimir .tar

tar cvf archivo.tar /archivos/a/comprimir/*
Descomprimir .tar
tar xvf archivo.tar
Ver contenido .tar
tar tvf archivo.tar
Comprimir .tar.gz
tar zcvf archivo.tar.gz /archivos/a/comprimir/*
Descomprimir .tar.gz
tar zxvf archivo.tar.gz
Ver contenido .tar.gz
tar tzvf archivo.tar.gz
Comprimir .gz
gzip -q archivo
# el archivo lo renombra a archivo.gz
Descomprimir .gz
gzip -d archivo.gz
Comprimir .bz2
bzip2 archivo
bunzip archivo
Descomprimir .bz2
bzip2 -d archivo.bz2
bunzip2 archivo.bz2
Comprimir .tar.bz2
tar -c archivos | bzip2 > archivo.tar.bz2
Descomprimir .tar.bz2
bzip2 -dc archivo.tar.bz2 | tar -xv
# versiones recientes de tar
tar jvxf archivo.tar.bz2
Ver contenido .tar.bz2
bzip2 -dc archivo.tar.bz2 | tar -tv



Bajar un html por CLI

martes 21 julio 2009 15:07:00

lynx -dump somefile.html



Cantidad commit por usuario SVN

martes 21 julio 2009 14:42:49

svn log -q|grep "|"|awk "{print \$3}"|sort|uniq -c|sort -nr



LIKE en SF 1.2 (Propel)

jueves 02 julio 2009 08:22:00

<?php
class AlgunPeer extends BaseAlgunPeer
{
  public static function nombre_funcion ($param1)
  {
    $c = new Criteria();
    // is like en SQL
    $c->add (AlgunPeer::CAMPO,"%{$param1}%", Criteria::LIKE);
    // para no discriminar entre mayúsculas y minúsculas
    $c->setIgnoreCase (true);
    return AlgunPeer::doSelect ($c);
  }
}

?>



Arrays Perl

jueves 28 mayo 2009 08:45:30

Función Definición
push (@array, elemento) Añade un elemento al fin del arreglo
pop (@array, elemento) Remueve el último elemento de un arreglo
unshift (@array, elemento) Añade un elemento al principio del arreglo
shift (@array) Saca el primer elemento de un arreglo
delete $array[indice] Borra el elemento index del arreglo



Tunel ssh

viernes 22 mayo 2009 06:51:56

ssh -L <puerto_remoto>:localhost:<puerto_local> <usuario_remoto>@server_remoto



Montar .iso

viernes 22 mayo 2009 06:43:00

mount -o loop imagen.iso /mnt/donde/montar



Eliminar recursivamente los .svn

sábado 16 mayo 2009 16:46:44

rm -rf `find . -type d -name .svn`



Generar un .cap con tcpdump

viernes 15 mayo 2009 12:59:57

tcpdump -v -w archivo.cap -xX -s 0 -i <interface>



Boolean en C

miércoles 06 mayo 2009 07:33:24

// booleano
typedef int Bool;
#define FALSE 0
#define TRUE 1



Procedimientos almacenados desde Symfony 1.2

domingo 26 abril 2009 18:45:58

Dentro de el modelo Peer

<?php 
class EjemploPeer extends BaseEjemploPeer
{
  $con = Propel::getConnection(EjemploPeer::DATABASE_NAME);
  $sql = "SELECT * FROM procedimiento('". $param1."', '".$param2."');";
  $st = $con->prepare($sql);
  $st->execute();

  return true;
}
?>



Crontab Commands

lunes 18 mayo 2009 13:54:00

export EDITOR=vim ;para especificar que editor usar.
crontab -e     Edit your crontab file, or create one if it do not already exist.
crontab -l      Display your crontab file.
crontab -r      Remove your crontab file.
crontab -v      Display the last time you edited your crontab file.
(This option is only available on a few systems.)



About kope

Edo kopE
Edad: 30
Ubicacion actual:
B. Aires,
(Arg)
 

About Nero

Nero (okubi)
Edad: 57 @perro
Ubicacion actual:
Santiago, Chile



Categorias


Categorias Cookbook

Proyectos


Links