<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://snippets.inacho.es/feed.xml" rel="self" type="application/rss+xml" />
      	<title>Snippets</title>
      	<link>http://snippets.inacho.es</link>
      	<description>Últimos Snippets</description>
		      		<item>
         		<title>Virtual host</title>
         		<link>http://snippets.inacho.es/snippet/virtual-host</link>
         		<description><![CDATA[<h1>Htaccess</h1> <pre>&lt;VirtualHost *:10088&gt;
	DocumentRoot &quot;/my/path/to/server&quot;
	ServerName mypage.com

	# This should be omitted in the production environment
	SetEnv APPLICATION_ENV development

	&lt;Directory &quot;/my/path/to/server&quot;&gt;
		Options Indexes MultiViews FollowSymLinks
		AllowOverride All
		Order allow,deny
		Allow from all
	&lt;/Directory&gt;

&lt;/VirtualHost&gt;</pre> ]]></description>
         		<pubDate>Sun, 05 Dec 2010 16:17:39 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/virtual-host</guid>
      		</item>
		      		<item>
         		<title>Evitar acceso a .svn</title>
         		<link>http://snippets.inacho.es/snippet/evitar-acceso-ficheros-svn</link>
         		<description><![CDATA[<h1>Htaccess</h1> <pre>&lt;DirectoryMatch .*.svn/.*&gt;
	Deny From All
&lt;/DirectoryMatch&gt;</pre> <p>
Regla en htaccess para evitar que los ficheros de metadata de svn sean visibles a través de http.<br/>
Esto es útil para el servidor de producción, donde las actualizaciones de los ficheros se hacen actualizando una copia del repositorio
</p>]]></description>
         		<pubDate>Thu, 07 Oct 2010 10:48:28 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/evitar-acceso-ficheros-svn</guid>
      		</item>
		      		<item>
         		<title>Chmod Apache</title>
         		<link>http://snippets.inacho.es/snippet/chmod-apache</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>find . -type d -exec chmod 755 {} \;

find . -type f -exec chmod 644 {} \;</pre> <p>Propaga permisos de forma recursiva partiendo del directorio actual.</p>

<p>Aplica 0755 para directorios y 0644 para ficheros</p>]]></description>
         		<pubDate>Mon, 01 Mar 2010 16:19:05 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/chmod-apache</guid>
      		</item>
		      		<item>
         		<title>Ampersand tipográfico</title>
         		<link>http://snippets.inacho.es/snippet/ampersand-tipografico</link>
         		<description><![CDATA[<h1>CSS</h1> <pre>.amp{
	font-family: 'Hoefler Text', Baskerville, 'Palatino Linotype', 'Times New Roman', serif;
	font-style: italic;
}</pre> <p>Ejemplo del efecto:</p>

<p style="font-family:'Hoefler Text', Baskerville, 'Palatino Linotype', 'Times New Roman', serif; font-style: italic; font-size:22px;">
&
</p>]]></description>
         		<pubDate>Tue, 16 Feb 2010 19:03:33 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/ampersand-tipografico</guid>
      		</item>
		      		<item>
         		<title>Sincronizar app en Dropbox</title>
         		<link>http://snippets.inacho.es/snippet/sincronizar-app-dropbox</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>mv ~/Library/Application\ Support/AddressBook ~/Dropbox/DB/
ln -s ~/Dropbox/DB/AddressBook ~/Library/Application\ Support/AddressBook</pre> ]]></description>
         		<pubDate>Sun, 10 Jan 2010 03:33:16 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/sincronizar-app-dropbox</guid>
      		</item>
		      		<item>
         		<title>Validar Email</title>
         		<link>http://snippets.inacho.es/snippet/validar-email</link>
         		<description><![CDATA[<h1>JavaScript</h1> <pre>var email = 'steve@apple.com'
if(!(/^((([a-z]|\d|[!#\$%&amp;'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&amp;'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(email)))
alert('Email inv&aacute;lido');</pre> ]]></description>
         		<pubDate>Sat, 09 Jan 2010 01:42:35 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/validar-email</guid>
      		</item>
		      		<item>
         		<title>Tooltips</title>
         		<link>http://snippets.inacho.es/snippet/tooltips</link>
         		<description><![CDATA[<h1>CSS</h1> <pre>a.tooltip:hover {background:#ffffff; text-decoration:none;}
a.tooltip span {display:none; padding:2px 3px; margin-left:8px; width:130px;}
a.tooltip:hover span{display:inline; position:absolute; background:#ffffff; border:1px solid #cccccc; color:#6c6c6c;}

/*
	Uso:
	&lt;a class=&quot;tooltip&quot; href=&quot;#&quot;&gt;Tooltip&lt;span&gt;Contenido del tooltip&lt;/span&gt;&lt;/a&gt;
*/</pre> ]]></description>
         		<pubDate>Wed, 16 Dec 2009 00:14:12 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/tooltips</guid>
      		</item>
		      		<item>
         		<title>Optimizar DB Firefox</title>
         		<link>http://snippets.inacho.es/snippet/optimizar-basedatos-firefox</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre># V&aacute;lido para Mac OS X

cd ~/Library/Application\ Support/Firefox/Profiles/
for f in */*.sqlite; do sqlite3 $f 'VACUUM;'; done</pre> <p>Compacta las bases de datos sqlite de Firefox, conviene hacerlo cuando el navegador empieza a ir más lento de lo normal.</p>]]></description>
         		<pubDate>Mon, 07 Dec 2009 19:53:33 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/optimizar-basedatos-firefox</guid>
      		</item>
		      		<item>
         		<title>Comprimir con gzip</title>
         		<link>http://snippets.inacho.es/snippet/comprimir-gzip</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>ob_start('ob_gzhandler');

// c&oacute;digo fuente</pre> <p>La llamada a <em>ob_start</em> debe estar al principio del fichero php</p>]]></description>
         		<pubDate>Wed, 02 Dec 2009 12:05:16 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/comprimir-gzip</guid>
      		</item>
		      		<item>
         		<title>Compila .java, ejecuta y borra</title>
         		<link>http://snippets.inacho.es/snippet/compilar-ejecutar-java</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>function jr()
{
	file=$(basename $@ .java)
	if [ -f $@ ]; then
		if [ -f $file.class ]; then #si existe una version anterior eliminar
			rm $file.class
		fi

		javac $@;

		if [ -f $file.class ]; then #si existe el fichero compilado ejecutar
			java $file;
			rm $file.class #eliminar el fichero
		fi
	else
		echo El fichero especificado no existe
	fi
}</pre> Creado por <a href="http://www.gspidermac.es/">gspidermac</a>]]></description>
         		<pubDate>Sun, 22 Nov 2009 23:17:47 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/compilar-ejecutar-java</guid>
      		</item>
		      		<item>
         		<title>Función autoload</title>
         		<link>http://snippets.inacho.es/snippet/funcion-autoload</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>function __autoload($clase)
{
	require_once($clase . '.class.php');
}</pre> ]]></description>
         		<pubDate>Mon, 09 Nov 2009 14:51:30 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/funcion-autoload</guid>
      		</item>
		      		<item>
         		<title>Clase Singleton</title>
         		<link>http://snippets.inacho.es/snippet/clase-singleton</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>class Singleton
{
	private static $instancia;

	private function __construct()
	{
		
	}

	public static function getInstancia()
	{
		if (!isset(self::$instancia))
		{
			$c = __CLASS__;
			self::$instancia = new $c;
		}
		return self::$instancia;
	}

	public function __clone()
	{
		trigger_error('No se permite clonar la clase', E_USER_ERROR);
	}

}</pre> ]]></description>
         		<pubDate>Sat, 07 Nov 2009 22:23:08 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/clase-singleton</guid>
      		</item>
		      		<item>
         		<title>Doctype XHTML Transitional</title>
         		<link>http://snippets.inacho.es/snippet/doctype-xhtml-transitional</link>
         		<description><![CDATA[<h1>HTML</h1> <pre>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
        &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;es&quot; lang=&quot;es&quot;&gt;
&lt;head&gt;
	&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
	&lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;/body&gt;
&lt;/html&gt;</pre> ]]></description>
         		<pubDate>Mon, 02 Nov 2009 18:57:58 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/doctype-xhtml-transitional</guid>
      		</item>
		      		<item>
         		<title>Timer infinito</title>
         		<link>http://snippets.inacho.es/snippet/timer-infinito</link>
         		<description><![CDATA[<h1>JavaScript</h1> <pre>function timeout()
{
	// c&oacute;digo

	setTimeout(&quot;timeout()&quot;, 1000);
}

timeout();</pre> ]]></description>
         		<pubDate>Thu, 29 Oct 2009 19:41:57 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/timer-infinito</guid>
      		</item>
		      		<item>
         		<title>Punteros a funciones</title>
         		<link>http://snippets.inacho.es/snippet/punteros-funciones</link>
         		<description><![CDATA[<h1>C</h1> <pre>// fptr es un puntero a una funci&oacute;n, sin par&aacute;metros, que devuelve void.
void (*fptr)();

// fptr es un puntero a funci&oacute;n que recibe un int como par&aacute;metro y devuelve void.
void (*fptr)(int);

// fptr es puntero a funci&oacute;n, que acepta un int y un char como argumentos y devuelve un int.
int (*fptr)(int, char);

// fptr es puntero a funci&oacute;n, que acepta sendos punteros a int y char como argumentos, y devuelve un puntero a int.
int* (*fptr)(int*, char*);</pre> ]]></description>
         		<pubDate>Tue, 27 Oct 2009 00:07:31 +0100</pubDate>
         		<guid>http://snippets.inacho.es/snippet/punteros-funciones</guid>
      		</item>
		      		<item>
         		<title>Conexión con base de datos</title>
         		<link>http://snippets.inacho.es/snippet/conexion-base-datos</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>$host = 'localhost';
$user = 'user';
$pass = 'pass';
$database = 'database';
$encoding = 'utf8';

$conexion = mysql_connect($host, $user, $pass);
if($encoding) mysql_set_charset($encoding, $conexion);
mysql_select_db($database, $conexion);</pre> ]]></description>
         		<pubDate>Sat, 24 Oct 2009 21:36:27 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/conexion-base-datos</guid>
      		</item>
		      		<item>
         		<title>HtmlEntities con UTF-8</title>
         		<link>http://snippets.inacho.es/snippet/htmlentities-utf8</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>htmlentities($texto, ENT_COMPAT, 'UTF-8');</pre> ]]></description>
         		<pubDate>Sat, 24 Oct 2009 20:45:52 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/htmlentities-utf8</guid>
      		</item>
		      		<item>
         		<title>Favicon</title>
         		<link>http://snippets.inacho.es/snippet/favicon</link>
         		<description><![CDATA[<h1>HTML</h1> <pre>&lt;link rel=&quot;icon&quot; href=&quot;favicon.gif&quot; type=&quot;image/gif&quot; /&gt;</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:48 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/favicon</guid>
      		</item>
		      		<item>
         		<title>Evitar www</title>
         		<link>http://snippets.inacho.es/snippet/evitar-www</link>
         		<description><![CDATA[<h1>Htaccess</h1> <pre>RewriteCond %{HTTP_HOST} ^www.miweb.es$ [NC]
RewriteRule ^(.*)$ http://miweb.es/$1 [R=301,L]</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:46 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/evitar-www</guid>
      		</item>
		      		<item>
         		<title>URLs amigables</title>
         		<link>http://snippets.inacho.es/snippet/urls-amigables</link>
         		<description><![CDATA[<h1>Htaccess</h1> <pre>RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?p=$1 [L]</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:44 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/urls-amigables</guid>
      		</item>
		      		<item>
         		<title>Bloquear Perl</title>
         		<link>http://snippets.inacho.es/snippet/bloquear-perl</link>
         		<description><![CDATA[<h1>Htaccess</h1> <pre>RewriteEngine on
# si no est&aacute; en error, continuar con la siguiente regla
RewriteCond %{REQUEST_FILENAME} !.*error\.html.*
# si es perl, redirigir a error
RewriteCond %{HTTP_USER_AGENT} .*(libwww-perl|libwwwperl).* [nc]
RewriteRule .* http://miweb.es/error.html [r=301,l]</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:42 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/bloquear-perl</guid>
      		</item>
		      		<item>
         		<title>Objeto Flash</title>
         		<link>http://snippets.inacho.es/snippet/objeto-flash</link>
         		<description><![CDATA[<h1>HTML</h1> <pre>&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,22,0&quot; width=&quot;300&quot; height=&quot;120&quot;&gt;
	&lt;param name=&quot;movie&quot; value=&quot;flash.swf&quot; /&gt;
	&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;
	&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;
	&lt;!--[if !IE]&gt; &lt;--&gt;
		&lt;object data=&quot;flash.swf&quot; width=&quot;300&quot; height=&quot;120&quot; type=&quot;application/x-shockwave-flash&quot;&gt;
			&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;
			&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;
			&lt;param name=&quot;pluginurl&quot; value=&quot;http://www.macromedia.com/go/getflashplayer&quot; /&gt;
		&lt;/object&gt;
	&lt;!--&gt; &lt;![endif]--&gt;
&lt;/object&gt;</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:40 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/objeto-flash</guid>
      		</item>
		      		<item>
         		<title>Cargar jQuery dinámicamente</title>
         		<link>http://snippets.inacho.es/snippet/cargar-jquery-dinamicamente</link>
         		<description><![CDATA[<h1>jQuery</h1> <pre>var jQueryCargado = false;

function iniciarJQuery()
{
	if (typeof(jQuery) == 'undefined')
	{
		if (!jQueryCargado)
		{
			jQueryCargado = true;
			document.write('&lt;scr' + 'ipt type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;&gt;&lt;/scr' + 'ipt&gt;');
		}
		setTimeout('iniciarJQuery()', 50);
	}
	else
	{
		$(function(){
			// c&oacute;digo
		});
	}
}

iniciarJQuery();</pre> <p>Si jQuery ya está cargado, ejecuta el código, en caso contrario, primero lo carga y luego ejecuta el código</p>]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:38 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/cargar-jquery-dinamicamente</guid>
      		</item>
		      		<item>
         		<title>Window load</title>
         		<link>http://snippets.inacho.es/snippet/window-load</link>
         		<description><![CDATA[<h1>jQuery</h1> <pre>$(window).load(function(){
	// c&oacute;digo
});</pre> <p>A diferencia de document ready, esta función espera a que toda la página se haya cargado, incluyendo imágenes, etc.</p>]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:36 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/window-load</guid>
      		</item>
		      		<item>
         		<title>Prompt coloreado</title>
         		<link>http://snippets.inacho.es/snippet/prompt-coloreado</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>amarillo='\[\e[0;33m\]'
normal='\[\e[0m\]'
cyan='\[\e[0;36m\]'
blanco='\[\e[0;37m\]'

PS1=$cyan'\u@\h'$blanco': '$amarillo'\w '$normal'\$ '
export PS1</pre> <p>Meter dentro del .bash_profile</p>]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:34 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/prompt-coloreado</guid>
      		</item>
		      		<item>
         		<title>Modificar colores ls</title>
         		<link>http://snippets.inacho.es/snippet/colores-ls</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>export LSCOLORS=dxfxcxdxbxegedabagacad</pre> <p>Meter dentro del .bash_profile</p>]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:32 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/colores-ls</guid>
      		</item>
		      		<item>
         		<title>Alias útiles</title>
         		<link>http://snippets.inacho.es/snippet/alias-utiles</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>alias root='sudo -i'
alias ls='ls -Gh'
alias grep='grep --color'
alias curld='curl -C - -O'
alias rmsvn='rm -rf `find . -type d -name .svn`'
alias flushhosts='dscacheutil -flushcache'
alias finder='open . -a finder.app'</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:30 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/alias-utiles</guid>
      		</item>
		      		<item>
         		<title>AFP con túnel SSH</title>
         		<link>http://snippets.inacho.es/snippet/afp-tunel-ssh</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>sudo ssh -L 22:127.0.0.1:548 usuario@host</pre> <p>Después de hacer el túnel, conectar a: <em>afp://127.0.0.1:22</em></p>]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:28 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/afp-tunel-ssh</guid>
      		</item>
		      		<item>
         		<title>Sombra en cajas</title>
         		<link>http://snippets.inacho.es/snippet/sombra-cajas</link>
         		<description><![CDATA[<h1>CSS</h1> <pre>box-shadow: 5px 5px 5px #ccc;
-moz-box-shadow: 5px 5px 5px #ccc;
-webkit-box-shadow: 5px 5px 5px #ccc;</pre> <p>Puede ser utilizado en elementos tipo <em>div</em>, <em>img</em>, etc.</p>]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:26 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/sombra-cajas</guid>
      		</item>
		      		<item>
         		<title>Bordes redondeados</title>
         		<link>http://snippets.inacho.es/snippet/bordes-redondeados</link>
         		<description><![CDATA[<h1>CSS</h1> <pre>-moz-border-radius: 10px;
-webkit-border-radius: 10px;

/* Individuales */

-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
-moz-border-radius-bottomright: 10px;
-moz-border-radius-bottomleft: 10px;

-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 10px;
-webkit-border-bottom-right-radius: 10px;
-webkit-border-bottom-left-radius: 10px;</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:24 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/bordes-redondeados</guid>
      		</item>
		      		<item>
         		<title>Target blank en xhtml strict</title>
         		<link>http://snippets.inacho.es/snippet/target-blank-strict</link>
         		<description><![CDATA[<h1>HTML</h1> <pre>&lt;a href=&quot;http://google.es&quot; onclick=&quot;window.open(this.href); return false;&quot;&gt;http://google.es&lt;/a&gt;</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:22 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/target-blank-strict</guid>
      		</item>
		      		<item>
         		<title>Parámetros en AJAX</title>
         		<link>http://snippets.inacho.es/snippet/parametros-ajax</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>// Codificar en javascript con:
// encodeURIComponent( parametro );

// Descodificar en PHP con:

$param = $_GET['param'];
$param = preg_replace('/%([0-9a-f]{2})/ie', &quot;chr(hexdec('\\1'))&quot;, $param);
$param = stripslashes ( $param );</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:20 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/parametros-ajax</guid>
      		</item>
		      		<item>
         		<title>Obtener IP</title>
         		<link>http://snippets.inacho.es/snippet/obtener-ip</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>function getIP()
{
	$ip = false;
	if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
	elseif(isset($_SERVER['HTTP_VIA'])) $ip = $_SERVER['HTTP_VIA'];
	elseif(isset($_SERVER['REMOTE_ADDR'])) $ip = $_SERVER['REMOTE_ADDR'];
	return $ip;
}</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:18 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/obtener-ip</guid>
      		</item>
		      		<item>
         		<title>Descargar fichero</title>
         		<link>http://snippets.inacho.es/snippet/descargar-fichero</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>header('Content-Disposition: attachment; filename=&quot;descarga.zip&quot;');
header('Content-Length: ' . $size);
header('Content-Type: application/application/octet-stream;');
readfile($fichero);

// otra forma, puede no funcionar bien en safari

header('Content-Disposition: inline; filename=&quot;descarga.zip&quot;');
header('Content-Transfer-Encoding: Binary');
header('Content-length: ' . $size); // tama&ntilde;o de fichero (filesize)
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=&quot;descarga.zip&quot;');
readfile($fichero);</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:16 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/descargar-fichero</guid>
      		</item>
		      		<item>
         		<title>Curl</title>
         		<link>http://snippets.inacho.es/snippet/curl</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>$curl = curl_init('http://ejemplo.com');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

//curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie.txt');
//curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie.txt');
//curl_setopt($curl, CURLOPT_POST, 1);
//curl_setopt($curl, CURLOPT_POSTFIELDS, $valores);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$resultado = curl_exec($curl);
curl_close($curl);</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:14 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/curl</guid>
      		</item>
		      		<item>
         		<title>Aumentar memoria</title>
         		<link>http://snippets.inacho.es/snippet/aumentar-memoria</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>ini_set('memory_limit', '1024M');</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:12 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/aumentar-memoria</guid>
      		</item>
		      		<item>
         		<title>Interpolado bicúbico en IE7</title>
         		<link>http://snippets.inacho.es/snippet/interpolado-bicubico-ie7</link>
         		<description><![CDATA[<h1>CSS</h1> <pre>img { -ms-interpolation-mode:bicubic; }</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:10 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/interpolado-bicubico-ie7</guid>
      		</item>
		      		<item>
         		<title>Compila .c, ejecuta y borra</title>
         		<link>http://snippets.inacho.es/snippet/compilar-ejecutar-c</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>function cr()
{
	if [ -f $@ ]; then
		if [ -f $@.out ]; then #si existe una version anterior eliminar
			rm $@.out
		fi
	
		gcc $@ -o $@.out;
	
		if [ -f $@.out ]; then #si existe el fichero compilado ejecutar
			./$@.out
			rm $@.out #eliminar el fichero
		fi
	else
		echo El fichero especificado no existe
	fi
}</pre> <p>Meter la función dentro del .bash_profile para usar cómodamente</p>]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:08 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/compilar-ejecutar-c</guid>
      		</item>
		      		<item>
         		<title>Eliminar .svn</title>
         		<link>http://snippets.inacho.es/snippet/eliminar-ocultos-svn</link>
         		<description><![CDATA[<h1>UNIX Bash</h1> <pre>rm -rf `find . -type d -name .svn`</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:04 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/eliminar-ocultos-svn</guid>
      		</item>
		      		<item>
         		<title>Video Quicktime</title>
         		<link>http://snippets.inacho.es/snippet/video-quicktime</link>
         		<description><![CDATA[<h1>HTML</h1> <pre>&lt;object classid=&quot;clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B&quot; codebase=&quot;http://www.apple.com/qtactivex/qtplugin.cab&quot; width=&quot;320&quot; height=&quot;260&quot;&gt;
	&lt;param name=&quot;src&quot; value=&quot;movie.mov&quot; /&gt;
	&lt;param name=&quot;autoplay&quot; value=&quot;true&quot; /&gt;
	&lt;param name=&quot;pluginspage&quot; value=&quot;http://www.apple.com/quicktime/download/&quot; /&gt;
	&lt;param name=&quot;controller&quot; value=&quot;true&quot; /&gt;
	&lt;!--[if !IE]&gt; &lt;--&gt;
		&lt;object data=&quot;movie.mov&quot; width=&quot;320&quot; height=&quot;260&quot; type=&quot;video/quicktime&quot;&gt;
			&lt;param name=&quot;pluginurl&quot; value=&quot;http://www.apple.com/quicktime/download/&quot; /&gt;
			&lt;param name=&quot;controller&quot; value=&quot;true&quot; /&gt;
		&lt;/object&gt;
	&lt;!--&gt; &lt;![endif]--&gt;
&lt;/object&gt;</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:02 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/video-quicktime</guid>
      		</item>
		      		<item>
         		<title>Mostrar errores</title>
         		<link>http://snippets.inacho.es/snippet/mostrar-errores</link>
         		<description><![CDATA[<h1>PHP</h1> <pre>error_reporting(E_ALL);
ini_set('display_errors', '1');</pre> ]]></description>
         		<pubDate>Mon, 19 Oct 2009 22:00:00 +0200</pubDate>
         		<guid>http://snippets.inacho.es/snippet/mostrar-errores</guid>
      		</item>
		   	</channel>
</rss>