<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
>

<channel>
	<title>Luis Puente &#8211; Blog</title>
	<atom:link href="http://blog.luispuente.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.luispuente.net</link>
	<description>Este es el blog personal de Luis Puente. Un consultor de HP Software con inquietudes en comunicación</description>
	<lastBuildDate>
	Wed, 09 May 2018 09:20:11 +0000	</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.1.1</generator>
	<item>
		<title>PowerShell renombrado de ficheros</title>
		<link>http://blog.luispuente.net/powershell-renombrado-de-ficheros/</link>
				<comments>http://blog.luispuente.net/powershell-renombrado-de-ficheros/#respond</comments>
				<pubDate>Wed, 09 May 2018 09:20:11 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5794</guid>
				<description><![CDATA[Para la expresión regular use la aplicación web txt2re Se aplico a este formato de nombre de fichero : Fullmetal Alchemist Shinsetsu &#8211; 30 [10A879D9] Pero es ampliable a varios subconjuntos de corchetes Fullmetal Alchemist Shinsetsu &#8211; 30 [10A879D9] [hola] La información para el comando la tienes en un caso de HowToGeek Con esto eliminamos &#8230; <p class="link-more"><a href="http://blog.luispuente.net/powershell-renombrado-de-ficheros/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "PowerShell renombrado de ficheros"</span></a></p>]]></description>
								<content:encoded><![CDATA[<p>Para la expresión regular use la aplicación web <a href="http://txt2re.com/index.php3?s=Fullmetal%20Alchemist%20Shinsetsu%20-%2030%20[10A879D9]&amp;1">txt2re</a></p>
<p>Se aplico a este formato de nombre de fichero :</p>
<p style="padding-left: 30px;"><em>Fullmetal Alchemist Shinsetsu &#8211; 30 [10A879D9]</em></p>
<p>Pero es ampliable a varios subconjuntos de corchetes</p>
<p style="padding-left: 30px;"><em>Fullmetal Alchemist Shinsetsu &#8211; 30 [10A879D9] [hola]</em></p>
<p>La información para el comando la tienes en un caso de HowToGeek</p>
<p>Con esto eliminamos los corchetes de todos los ficheros , ya que realiza el for-each <a href="https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/rename-item?view=powershell-5.1">automáticamente</a>.</p>
<p><em>dir | rename-item -NewName {$_.name -replace &#8216;\[.*?\]&#8217;,&#8221;}</em></p>
<div id="selenium-highlight"></div>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/powershell-renombrado-de-ficheros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Recodificar pistas de audio con FFMPEG</title>
		<link>http://blog.luispuente.net/recodificar-pistas-de-audio-con-ffmpeg/</link>
				<comments>http://blog.luispuente.net/recodificar-pistas-de-audio-con-ffmpeg/#comments</comments>
				<pubDate>Tue, 08 May 2018 14:54:11 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5791</guid>
				<description><![CDATA[Actualmente tengo un chromecast y el sonido en AC3 y  DTS esta soportado. ¿Pero de que manera ? Usando passthrough , así que si tu TV no es decodifica te quedas sin sonido. Solución: La opción más eficiente es re-codificar las pistas de audio a AAC , pero esto tiene un coste , el fichero &#8230; <p class="link-more"><a href="http://blog.luispuente.net/recodificar-pistas-de-audio-con-ffmpeg/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Recodificar pistas de audio con FFMPEG"</span></a></p>]]></description>
								<content:encoded><![CDATA[<p>Actualmente tengo un chromecast y el sonido en AC3 y  DTS esta soportado.</p>
<p><strong>¿Pero de que manera ?</strong> <em>Usando passthrough , así que si tu TV no es decodifica te quedas sin sonido.<br />
</em></p>
<p><strong>Solución:<br />
</strong></p>
<p>La opción más eficiente es re-codificar las pistas de audio a AAC , pero esto tiene un coste , el fichero queda estructurado de forma ineficiente para streaming. En este punto hubo que pasarse por la documentación de matroska, no sabia nada de esto , así que a mover neuronas un poco. Vamos  re-codificamos con FFMEG y optimizamos los ficheros para streaming con herramientas de matroska.</p>
<p><strong>Vamos a re-codificar</strong></p>
<p>Con el FFMPEG generaremos un fichero nuevo con todas sus pistas en las mismas posiciones y  las de audio procesadas , el resto (vídeo y subtítulos ) copiadas. Por si en un futuro tengo un equipo de audio con varios canales he preferido resamplear la pista de AAC a Dolby Prologic II en vez de mantener pistas y añadir nuevas. Esto es una elección personal , máxima información en el menor espacio posible</p>
<p>Para el resampleado utilicé esta <a href="https://superuser.com/questions/594741/how-to-use-ffmpeg-to-downmix-5-1-dts-hd-ma-or-dolby-truehd-to-stereo-aac-with-do" target="_blank" rel="noopener">web:</a></p>
<p>-af &#8220;aresample=matrix_encoding=dplii&#8221;</p>
<p>Mapeo de pistas, <a href="https://trac.ffmpeg.org/wiki/Map">utilicé la wiki oficial</a></p>
<ul>
<li>-map 0  Seleciona todas las pistas</li>
<li>-c:v copy  Copia las pista de vídeo sin codificar</li>
<li>-c:a aac    Codifica las pistas de audio en AAC</li>
<li>-c:s copy   Copia las pistas de subtitulos</li>
</ul>
<p>Comando de ejemplo:</p>
<p>for %x in (*.mkv) do ( ffmpeg.exe -i &#8220;%~x&#8221; -map 0 -c:v copy -c:a aac -af &#8220;aresample=matrix_encoding=dplii&#8221; -c:s copy &#8220;%~nx[AAC].mkv&#8221;)</p>
<p><strong>Nota</strong>: el sistema de nombres &#8220;%~nx&#8221; devuelve el nombre sin extensión</p>
<p>Para asegurar el rendimiento en streaming utilizo la herramienta mkclean para estructurar el fichero de forma optima. Mas info en la <a href="https://www.matroska.org/technical/order/index.html">estructura del mkv</a> y de la <a href="https://www.matroska.org/downloads/mkclean.html">herramienta</a></p>
<p>Comando de ejemplo:</p>
<p>for %x in (*.mkv) do ( mkclean.exe &#8211;optimize &#8220;%~x&#8221; )</p>
<p><strong>Nota: </strong>optimize<strong> lleva dos guiones  &#8220;- &#8211; &#8220;</strong></p>
<p>Ejemplos:</p>
<p>for %x in (*.mkv) do ( ffmpeg.exe -i &#8220;%~x&#8221; -map 0 -c:v copy -c:a aac -af &#8220;aresample=matrix_encoding=dplii&#8221; -c:s copy &#8220;%~nx_ENC.mkv&#8221;)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="selenium-highlight"></div>
<div id="selenium-highlight"></div>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/recodificar-pistas-de-audio-con-ffmpeg/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
							</item>
		<item>
		<title>Ubuntu y Python</title>
		<link>http://blog.luispuente.net/ubuntu-y-python/</link>
				<comments>http://blog.luispuente.net/ubuntu-y-python/#respond</comments>
				<pubDate>Sun, 30 Mar 2014 10:15:39 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5561</guid>
				<description><![CDATA[Entrar en consola e instalar: sudo apt-get install python-pip (paquete para instalar modulos de python) sudo pip install -I Django==1.5 (instalar el paquete django) sudo apt-get install apache2 sudo apt-get install mysql-server sudo apt-get install phpmyadmin sudo pip install mysql-python Error:: linux mysql-server can&#8217;t find mysql_config sudo apt-get install libmysqlclient-dev Error: Python.h: No such file &#8230; <p class="link-more"><a href="http://blog.luispuente.net/ubuntu-y-python/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Ubuntu y Python"</span></a></p>]]></description>
								<content:encoded><![CDATA[<p>Entrar en consola e instalar:<br />
sudo apt-get install python-pip (paquete para instalar modulos de python)<br />
sudo pip install -I Django==1.5 (instalar el paquete django)<br />
sudo apt-get install apache2<br />
sudo apt-get install mysql-server<br />
sudo apt-get install phpmyadmin<br />
sudo pip install mysql-python</p>
<p>Error:: <a title="linux-mysql-server-cant-find-mysql-config" href="https://stackoverflow.com/questions/8496660/linux-mysql-server-cant-find-mysql-config" target="_blank">linux mysql-server can&#8217;t find mysql_config</a></p>
<p>sudo apt-get install libmysqlclient-dev</p>
<p>Error: <a title="python-h-no-such-file-or-directory" href="https://stackoverflow.com/questions/11041299/python-h-no-such-file-or-directory" target="_blank">Python.h: No such file or directory</a><br />
sudo apt-get install python2.7-dev<br />
sudo apt-get install python-virtualenv</p>
<p>Para crear proyectos debemos de seguir los siguientes pasos:<br />
Pasos en consola linux:<br />
virtualenv dj14<br />
./dj14/bin/pip install django<br />
./dj14/bin/pip install django-registration<br />
./dj14/bin/pip install mysql-python<br />
./dj14/bin/pip install flup<br />
./dj14/bin/pip install django-debug-toolbar<br />
./dj14/bin/pip install South</p>
<p>sudo apt-get install python-setuptools python-dev build-essential python-mysqldb python-tz python-imaging<br />
<sub>/dj14/bin/pip install pil</sub></p>
<p><sub>sudo apt-get install python-mysqldb</p>
<p></sub>/dj14/bin/python manage.py syncdb<br />
~/dj14/bin/python manage.py migrate</p>
<p>Pasos en consola Windos:<br />
virtualenv dj14<br />
.\dj14\Scripts\pip install django<br />
.\dj14\Scripts\pip install django-registration<br />
.\dj14\Scripts\pip install mysql-python<br />
.\dj14\Scripts\pip install flup<br />
.\dj14\Scripts\pip install django-debug-toolbar<br />
.\dj14\Scripts\pip install South<br />
Instalar la librería pil descargándola de: <a href="http://www.pythonware.com/products/pil/">http://www.pythonware.com/products/pil/</a><br />
Instalar la librería mysql-python de: <a href="http://sourceforge.net/projects/mysql-python/files/latest/download">http://sourceforge.net/projects/mysql-python/files/latest/download</a><br />
.\dj14\Scripts\python manage.py syncdb<br />
.\dj14\Scripts\python manage.py migrate</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/ubuntu-y-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Instalación de Virtualmin con FTP chroot</title>
		<link>http://blog.luispuente.net/instalacion-de-virtualmin-con-ftp-chroot/</link>
				<comments>http://blog.luispuente.net/instalacion-de-virtualmin-con-ftp-chroot/#respond</comments>
				<pubDate>Mon, 24 Mar 2014 19:59:11 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[virtualmin]]></category>
		<category><![CDATA[webmin]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5527</guid>
				<description><![CDATA[Estos días he estado preparando un servidor con Virtualmin. Va a ser mi laboratorio de pruebas , webmin y yo somos amigos desde hace muchos años y esta evolución me ha empezado ser interesante. Me estoy haciendo profesional y muchas tareas las puedes hacer a mano o con interfaz web así que  en vez de &#8230; <p class="link-more"><a href="http://blog.luispuente.net/instalacion-de-virtualmin-con-ftp-chroot/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Instalación de Virtualmin con FTP chroot"</span></a></p>]]></description>
								<content:encoded><![CDATA[<p>Estos días he estado preparando un servidor con Virtualmin. Va a ser mi laboratorio de pruebas , webmin y yo somos amigos desde hace muchos años y esta evolución me ha empezado ser interesante. Me estoy haciendo profesional y muchas tareas las puedes hacer a mano o con interfaz web así que  en vez de picar scripts  estoy aprendiendo a usar esta interfaz sobre una Ubuntu 12.04.2 LTS.</p>
<p>La Instalación de Virtualmin con FTP chroot es sencilla siempre que cumplas con la lista de SO compatibles , cosa que no hice en primera instancia  y toco formatear todo y volver a empezar.</p>
<p><a title="Automated Virtualmin Installation" href="http://www.virtualmin.com/documentation/installation/automated" target="_blank">Manual de referencia para la instalación fácil , con script.</a></p>
<p>Tras el típico siguiente siguiente que deberíamos de leer , viene la parte de como quieres que este configurado tu virtualmin A base de preguntas sobre módulos adicionales los habilitas y estableces como deben de comportarse:</p>
<ul>
<li>mail</li>
<li>antivirus</li>
<li>DNS</li>
</ul>
<p>Principalmente  la opción más importante  es subirlos memoria ram para que vayan más rápido , si tienes ram de sobra lo podrás hacer sino  ajo y agua. Yo trabajo sobre 2 GB de RAM y lo he subido todo a memoria.</p>
<p>Ahora con la instalación de Virtualmin con FTP chroot debemos configurar lo. Desde el modo sencillo , busquemos las opciones en la interfaz que nos permitan dar seguridad a nuestros usuarios.</p>
<p>No es de recibo que un usuario con ftp pueda ver todas las cuentas registradas en el servidor , hay que &#8220;enjaularlo&#8221; , es un proceso muy sencillo y nativo en sistemas NIX* . Se llama &#8220;chroot&#8221; , cambio de raiz ,  ahora necesitamos que los usuario tengan como raiz su directorio home. De esta forma no podrán desplazarse un nivel inferior y ver las cuentas del servidor.</p>
<p>Esto que parece algo importante y que siempre debemos de hacer resulta extremadamente sencillo , Virtualmin lo tiene implementado de forma gráfica y con apenas un par de click , así que  no tienes sentido no hacerlo.</p>
<p>Instrucciones:</p>
<p>En nuestro panel de administración de Virtualmin desplegamos el menú &#8220;Limits and Validation&#8221; , en la ultima opción &#8220;$chroot_title&#8221; marcamos la opción que deseemos para los servidores que queramos y listo.</p>
<h3>Fuentes:</h3>
<p><a title="Documentación oficial ProFTPd" href="http://www.proftpd.org/docs/howto/Chroot.html" target="_blank">Documentación oficial ProFTPd </a></p>
<div>
<p><a title="restringir-acceso-ftp-en-virtualmin" href="http://fruteroloco.es/content/restringir-acceso-ftp-en-virtualmin" target="_blank">Restringir acceso FTP en Virtualmin</a></p>
</div>
<p>&nbsp;</p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/instalacion-de-virtualmin-con-ftp-chroot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>ZTE MonteCarlo modificar la MAC</title>
		<link>http://blog.luispuente.net/zte-montecarlo-modificar-la-mac/</link>
				<comments>http://blog.luispuente.net/zte-montecarlo-modificar-la-mac/#respond</comments>
				<pubDate>Wed, 01 Jan 2014 20:34:11 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[montecarlo]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5516</guid>
				<description><![CDATA[zte montecarlo Para este proceso necesitas tenerla apuntada anteriormente. Nota: Este post se escribió tras los comentarios en la entrada  Skate (ZTE) volver al estado de fábrica Truco: [box type=&#8221;info&#8221;] Si no la tienes puedes tirar de los logs del DHCP del router donde la puedes obtener.[/box] Necesitamos modificar un fichero del sistema operativo. Es &#8230; <p class="link-more"><a href="http://blog.luispuente.net/zte-montecarlo-modificar-la-mac/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "ZTE MonteCarlo modificar la MAC"</span></a></p>]]></description>
								<content:encoded><![CDATA[<h2>zte montecarlo</h2>
<p style="text-align: center;">Para este proceso necesitas tenerla apuntada anteriormente.</p>
<p style="text-align: left;">Nota: Este post se escribió tras los comentarios en la entrada  <a title="Skate (ZTE) volver al estado de fábrica" href="http://blog.luispuente.net/skate-zte-volver-al-estado-de-fabrica/" target="_blank">Skate (ZTE) volver al estado de fábrica</a></p>
<h3>Truco:</h3>
<p>[box type=&#8221;info&#8221;] Si no la tienes puedes tirar de los logs del DHCP del router donde la puedes obtener.[/box]</p>
<h2 style="text-align: center;">Necesitamos modificar un fichero del sistema operativo.</h2>
<p>Es necesario ser root o poseer los privilegios en zte montecarlo</p>
<h3>Instrucciones:</h3>
<ul>
<li>Con la ROM nueva necesitamos ser root  y utilizar una aplicación de explorador de ficheros , yo he utilizado  ES File explorer.</li>
<li>Para estas aplicaciones debemos de activar su modo root</li>
<li>Editamos el fichero: <em>system/etc/nv_4319.txt</em></li>
<li>Localizamos la linea “macadress=…”</li>
<li>Modificamos … por  &#8220;Nuestra_MAC&#8221;</li>
</ul>
<p>Fuentes:</p>
<p><a title="HTCMania Painkiller" href="http://www.htcmania.com/showthread.php?p=3148587#post3148587" target="_blank">HTC Mania &#8211; PainKiller</a></p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/zte-montecarlo-modificar-la-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>GPT &#8211; Regenerar backup</title>
		<link>http://blog.luispuente.net/gpt-regenerar-backup/</link>
				<comments>http://blog.luispuente.net/gpt-regenerar-backup/#respond</comments>
				<pubDate>Mon, 30 Dec 2013 14:57:34 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[gpt]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5498</guid>
				<description><![CDATA[GPT ese gran desconocido &#160; [box type=&#8221;info&#8221;] GPT o Tabla de partición GUID [/box] Lo primero una introducción para el que ha llegado aquí sin saber lo que buscaba , vamos como yo hace unos días. Los discos duros poseen un tabla de particiones , antiguamente referenciado por el MBR , ahora es algo más &#8230; <p class="link-more"><a href="http://blog.luispuente.net/gpt-regenerar-backup/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "GPT &#8211; Regenerar backup"</span></a></p>]]></description>
								<content:encoded><![CDATA[<h2>GPT ese gran desconocido</h2>
<p>&nbsp;</p>
<p>[box type=&#8221;info&#8221;] GPT o Tabla de partición GUID [/box]</p>
<p>Lo primero una introducción para el que ha llegado aquí sin saber lo que buscaba , vamos como yo hace unos días.</p>
<p>Los discos duros poseen un tabla de particiones , antiguamente referenciado por el MBR , ahora es algo más complejo  para dar cabida al sistema EFI y a las grandes capacidades de almacenamiento. Yo lo descubrí por comprarme un disco de 3TB . Sigue existiendo el MBR para proporciona retrocompatibilidad.</p>
<p><img src="https://upload.wikimedia.org/wikipedia/commons/0/07/GUID_Partition_Table_Scheme.svg" alt="GPT esquema" /></p>
<p>Después de meses utilizando el disco decido redimensionar las particiones  y me encuentro con un error al arrancar el  GParted.</p>
<p>[box type=&#8221;warning&#8221;] ¡ dios voy a perder todos los datos ![/box]</p>
<p>Puff , he tenido suerte  , GPT utiliza dos tablas particiones , una de copia de seguridad. Pues no se como pero me he quedado sin backup  , esta corrupto.</p>
<p>La solución pasa por reconstruir el backup en base  de la tabla primaria.  La verdad es que suena como algo &#8220;super técnico&#8221; , pero solo necesitamos la primera piedra.</p>
<p>Nuestro punto de inicio es la aplicación gdisik  , según el man  un manipulador de tablas GPT.</p>
<pre lang="CONF"> gdisk /dev/sdXX</pre>
<pre lang="bash">Command (? for help): ?
b	back up GPT data to a file
c	change a partitions name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Command (? for help): r

Recovery/transformation command (? for help): ?
b	use backup GPT header (rebuilding main)
c	load backup partition table from disk (rebuilding main)
d	use main GPT header (rebuilding backup)
e	load main partition table from disk (rebuilding backup)
f	load MBR and build fresh GPT from it
g	convert GPT into MBR and exit
h	make hybrid MBR
i	show detailed information on a partition
l	load partition data from a backup file
m	return to main menu
o	print protective MBR data
p	print the partition table
q	quit without saving changes
t	transform BSD disklabel partition
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Recovery/transformation command (? for help): d</pre>
<p>Utilizamos la  &#8220;?&#8221; para ver el menú , seleccionamos:</p>
<pre lang="bash">r    recovery and transformation options (experts only)</pre>
<p>volvemos a utilizar la  &#8220;?&#8221; para ver el menú y seleccionamos:</p>
<pre lang="bash">d    use main GPT header (rebuilding backup)</pre>
<p>&nbsp;</p>
<h3>Fuentes:</h3>
<p><a title="Tabla de particiones GUID" href="https://es.wikipedia.org/wiki/Tabla_de_particiones_GUID" target="_blank">Tabla de particiones GUID</a></p>
<p><a title="gdisk repararciones" href="http://www.rodsbooks.com/gdisk/repairing.html" target="_blank">Gdisk &#8211; reparaciones de GPT</a></p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/gpt-regenerar-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>optimizar Ext4 con fstab</title>
		<link>http://blog.luispuente.net/optimizar-ext4-con-fstab/</link>
				<comments>http://blog.luispuente.net/optimizar-ext4-con-fstab/#respond</comments>
				<pubDate>Thu, 26 Dec 2013 19:12:28 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[fstab]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5485</guid>
				<description><![CDATA[Optimizar Ext4 Toca dar un poco de vidilla a esos discos duros que tengo en modo almacenamiento de diógenes. Hay que especificar que esta parametrización la utilizo para discos duro de almacenamiento y el sistema /tmp en RAM. No se debe de utilizar para otros fines. Un poco de teoría , eso lo tenemos en  la &#8230; <p class="link-more"><a href="http://blog.luispuente.net/optimizar-ext4-con-fstab/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "optimizar Ext4 con fstab"</span></a></p>]]></description>
								<content:encoded><![CDATA[<h2>Optimizar Ext4</h2>
<p><img class="alignnone size-full wp-image-5505" alt="filesystem" src="http://blog.luispuente.net/wp-content/uploads/2013/12/filesystem.png" width="250" height="254" /></p>
<p>Toca dar un poco de <em>vidilla</em> a esos discos duros que tengo en modo almacenamiento de diógenes. Hay que especificar que esta parametrización la utilizo para discos duro de almacenamiento y el sistema /tmp en RAM. No se debe de utilizar para otros fines.</p>
<p>Un poco de teoría , eso lo tenemos en  la explicación del <em>man</em> del <em>fstab</em>  o en <a title="fstab" href="https://wiki.archlinux.org/index.php/Fstab_%28Espa%C3%B1ol%29" target="_blank">FSTAB</a> de ArchLinux. Aquí podemos leer el porque de cada uno de los parámetro que utilizo , y alguno más  que a lo mejor os puede hacer falta.</p>
<p>Los primero es quitar el <em>defaults</em> ,  es un poco de estorbo ya que con <em>user</em> son dos super parámetros, esto sengloban variso y luego colisionan. Yo prefiero ponerlos de uno en uno  cuando sea posible.</p>
<p>Editamos el /etc/fstab</p>
<p>localizamos nuestro dispositivo (mediante UUID , si no hemos sido buenos chicos dejando los comentarios bien puestos)</p>
<p>Esto es como lo tengo ahora (fijaros en el comentario ;) ):</p>
<pre lang="bash">#Cosas1         /dev/sdb1
UUID=a13e4ab5-5979-4451-b093-69af9ae9761d       /media/series   ext4    rw,user,suid,dev,exec,auto,async,noatime,nofail,data=writeback,nobh     0       0</pre>
<p>&nbsp;</p>
<p>Ahora paso a paso ver lo que he puesto para optimizar ext4</p>
<pre lang="bash">rw,user,suid,dev,exec,auto,async,noatime,nofail,data=writeback,nobh     0       0</pre>
<p>&nbsp;</p>
<p>Listado de parámetros utilizados</p>
<ul>
<li> <em>rw:</em> Lectura y escritura</li>
<li><em>user: </em>Permite a un usuario  montar el dispositivo</li>
<li><em>suid: </em> Ejecuciones con elevaciones de privilegios para los usuarios<em><br />
</em></li>
<li><em>exec: </em>Permite ejecutar binarios<em><br />
</em></li>
<li><em>auto: </em>Se monta automáticamente al inicio y con el parámetro</li>
<li><em>async:</em> Escritura asíncrona de datos en el disco</li>
<li><em>noatime: </em>No registra modificaciones  en el diario para ficheros y directorios</li>
<li><em>nofail: S</em>i el dispositivo no existe no emite fallo y continua el proceso</li>
<li><em>data=writeback: </em>Especifica escritura rápida para los metadatos , al estilo de XFS<em><br />
</em></li>
<li><em>nobh: Es necesario habilitar el writeback primero. </em>Esto no lo entiendo así que os dejo el enlace: <a title="Optimizar Ext4 y Ext3" href="http://www.pacorabadan.com/?p=557" target="_blank">Optimizar Ext4 y Ext3</a><em><br />
</em></li>
</ul>
<p>Ahora actualizaremos el tipo de registro diario a <em>&#8220;writeback&#8221;</em></p>
<pre lang="bash">tune2fs -o journal_data_writeback /dev/sdXX</pre>
<p>Ya hemos acabado con los parámetros de montajes , ahora hagamos un poco de &#8220;tune&#8221; en los sistemas de ficheros.</p>
<p>Esto son tareas más regulares de mantenimiento , todas empiezan igual</p>
<p style="text-align: center;"><strong>HAY QUE DESMONTAR LOS SISTEMAS DE FICHEROS</strong> ,</p>
<p>después ya ejecutamos los comandos.</p>
<pre lang="bash">e2fsck -f -D /dev/sdXX</pre>
<h2></h2>
<h2>Fuentes:</h2>
<p><a title="Optimizar Ext4 y Ext3" href="http://www.pacorabadan.com/?p=557" target="_blank">Optimizar Ext4 y Ext3</a></p>
<p><a title="fstab" href="https://wiki.archlinux.org/index.php/Fstab_%28Espa%C3%B1ol%29" target="_blank">FSTAB</a></p>
<p><a title="Optimización de sistemas de archivos ext3 y ext4" href="http://www.alcancelibre.org/staticpages/index.php/como-optimizar-ext3" target="_blank">Optimización de sistemas de archivos ext3 y ext4</a></p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/optimizar-ext4-con-fstab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Expresiones regulares JS</title>
		<link>http://blog.luispuente.net/expresiones-regulares-js/</link>
				<comments>http://blog.luispuente.net/expresiones-regulares-js/#respond</comments>
				<pubDate>Thu, 12 Dec 2013 18:26:22 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5470</guid>
				<description><![CDATA[Pon expresiones regulares en tu vida Tras unos días con Expresiones regulares terminas viendo patrones , si como si fuera matrix , pero en horizontal he resumido un detalle de código. Es un anota para la próxima vez que me vea con ello pueda saber un poco por donde empezar . Lo primero es indicar &#8230; <p class="link-more"><a href="http://blog.luispuente.net/expresiones-regulares-js/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Expresiones regulares JS"</span></a></p>]]></description>
								<content:encoded><![CDATA[<h2>Pon expresiones regulares en tu vida</h2>
<p>Tras unos días con Expresiones regulares terminas viendo patrones , si como si fuera matrix , pero en horizontal he resumido un detalle de código. Es un anota para la próxima vez que me vea con ello pueda saber un poco por donde empezar .</p>
<p>Lo primero es indicar la función principal , en este caso es la búsqueda y la sustitución de dicha búsqueda en todo el texto de entrada por un &#8220;Delimitador&#8221;.</p>
<p>Lo segundo es traducir a lenguaje natural el &#8220;churro&#8221; de la expresión regular. Buscamos el patrón :<br />
&#8220;, Letras mayúscula y un igual&#8221;</p>
<p>Siguiendo con las partes he de indicar que en JS hay una función de remplazado , pero esta necesita retocar la expresión con los operadores de indica sustitución o sustitución global , como es este caso &#8220;/g&#8221;</p>
<p><code><br />
var separador = "|";<br />
if(typeof(Delimitador) != "undefined"){ separador = Delimitador; }</code></p>
<p>if (texto == &#8220;&#8221;) {<br />
Response = &#8220;failure&#8221;<br />
} else {<br />
var expresion = /, ([A-Za-z]*=)/g;<br />
var texto_procesado = texto.replace(expresion,Delimitador + &#8220;$1&#8221;);<br />
Result = texto_procesado;<br />
Response = &#8220;Success&#8221;;<br />
}</p>
<p>Después de revisar el código un par de veces desgranemos las Expresiones regulares usando esta como ejemplo. Es requisito tenerla encapsulada entre &#8220;/&#8221; , primordial , la &#8220;g&#8221; como dijimos antes es requisito de la función de remplazo . Ahora la explicación en pasos de dentro a fuera:</p>
<p><code>[A-Za-z]*</code><br />
Los corchetes define una palabra que posea mayúsculas y minúscula, numero indeterminado de letras en mayúsculas y/o minúsculas.</p>
<p><code>([A-Za-z]*=)</code><br />
Los paréntesis define la palabra anterior y que este seguida sin espacion de un signo de igual , &#8220;=&#8221;</p>
<p><code>, ([A-Za-z]*=)</code></p>
<p>Si hay un espacio en blanco porque yo buscaba dicho espacio al inicio , así que forma parte del patrón.</p>
<p>Con esto y un bizcocho tenemos un ejemplo para entender un poco las expresiones regulares y sobre todo para utilizarlas en JS</p>
<p>Fuentes:</p>
<p><a title="Regular Expression (Objeto de JavaScript)" href="http://msdn.microsoft.com/es-es/library/ie/h6e2eb7w%28v=vs.94%29.aspx" target="_blank">Regular Expression (Objeto de JavaScript)</a></p>
<p><a title="RegExp (Objeto de JavaScript)" href="http://msdn.microsoft.com/es-es/library/ie/9dthzd08%28v=vs.94%29.aspx" target="_blank">RegExp (Objeto de JavaScript)</a></p>
<p><a title="replace (Método, String de JavaScript)" href="http://msdn.microsoft.com/es-es/library/ie/t0kbytzc%28v=vs.94%29.aspx" target="_blank">Replace (Objeto String)</a></p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/expresiones-regulares-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Natillas al Microndas</title>
		<link>http://blog.luispuente.net/natillas-al-microndas/</link>
				<comments>http://blog.luispuente.net/natillas-al-microndas/#respond</comments>
				<pubDate>Mon, 21 Oct 2013 18:40:42 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Receta]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5451</guid>
				<description><![CDATA[Natillas al microondas con un toque personal. Pues si , hoy toca recuperar la receta materna de las natillas. Los complementos típicos son la galleta maría encima , pero realmente son MUCHAS galletas lo que es más divertido. Ingredientes Cucharada sopera de mantequilla/margarina 1/2 Litro de leche 2 Cucharadas maizena/Sobre de natillas 2 Huevos 4 &#8230; <p class="link-more"><a href="http://blog.luispuente.net/natillas-al-microndas/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Natillas al Microndas"</span></a></p>]]></description>
								<content:encoded><![CDATA[<h1>Natillas al microondas con un toque personal.</h1>
<p>Pues si , hoy toca recuperar la receta materna de las natillas. Los complementos típicos son la galleta maría encima , pero realmente son MUCHAS galletas lo que es más divertido.</p>
<h2></h2>
<h2>Ingredientes</h2>
<p>Cucharada sopera de mantequilla/margarina</p>
<ul>
<li>
<h4>1/2 Litro de leche</h4>
</li>
<li>
<h4>2 Cucharadas maizena/Sobre de natillas</h4>
</li>
<li>
<h4>2 Huevos</h4>
</li>
<li>
<h4>4 Cucharadas Azucar</h4>
</li>
<li>
<h4>Canela en rama</h4>
</li>
</ul>
<h2>Procedimiento:</h2>
<ol>
<li>
<h4>Derretir la mantequilla  en el microondas</h4>
</li>
<li>
<h4>Mezclar los ingredientes con la mantequilla</h4>
</li>
<li>
<h4>Repetir cada 2 minutos Ciclo &#8220;Microondas &#8211; batir manualmente&#8221;</h4>
</li>
<li>
<h4>Al final meter batidora , si es necesario</h4>
</li>
</ol>
<p><a href="http://www.flickr.com/photos/12949201@N08/10341436495/" title="natillas por Luis Puente"><br />
<img src="http://farm4.staticflickr.com/3702/10341436495_4088dba47d_z.jpg" width="640" height="480" alt="natillas por Luis Puente"><br />
</a></p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/natillas-al-microndas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Loop y Codex WordPress</title>
		<link>http://blog.luispuente.net/loop-y-codex-wordpress/</link>
				<comments>http://blog.luispuente.net/loop-y-codex-wordpress/#respond</comments>
				<pubDate>Wed, 25 Sep 2013 18:03:53 +0000</pubDate>
		<dc:creator><![CDATA[Luis Puente]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[WeB]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.luispuente.net/?p=5410</guid>
				<description><![CDATA[Loop ordenado Hoy he tenido que modificar el orden en el que muestra los datos un Loop. Es bastante sencillo cuando entiendes su funcionamiento. Recopilo los recursos que he utilizado y las dos forma de estructurar el código para obtener el mismo efecto. [box] En WordPress el Loop es toda una institución , posee un &#8230; <p class="link-more"><a href="http://blog.luispuente.net/loop-y-codex-wordpress/" class="more-link">Continuar leyendo<span class="screen-reader-text"> "Loop y Codex WordPress"</span></a></p>]]></description>
								<content:encoded><![CDATA[<h2>Loop ordenado</h2>
<p>Hoy he tenido que modificar el orden en el que muestra los datos un Loop. Es bastante sencillo cuando entiendes su funcionamiento. Recopilo los recursos que he utilizado y las dos forma de estructurar el código para obtener el mismo efecto.</p>
<p>[box] En WordPress el Loop es toda una institución , posee un serie de objetos en la API para abstraerte de las consultas SQL.[/box]</p>
<p>Lo más <strong>correcto</strong> es utilizar <a title="codex WP_Query" href="codex.wordpress.org/Class_Reference/WP_Query" target="_blank">WP_Query</a></p>
<p style="padding-left: 30px;">El código esta generado mediante arrays , este contiene todos los parámetros de la búsqueda que queremos realizar. Desde el Codex podéis ver todos los parámetros implementados , estos son solo los tipos posibles de parámetros que posee esta fantástica API</p>
<p>[box]</p>
<ul>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.1</span> <span class="toctext">Author Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.2</span> <span class="toctext">Category Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.3</span> <span class="toctext">Tag Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.4</span> <span class="toctext">Taxonomy Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.5</span> <span class="toctext">Search Parameter</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.6</span> <span class="toctext">Post &amp; Page Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.7</span> <span class="toctext">Type Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.8</span> <span class="toctext">Status Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.9</span> <span class="toctext">Pagination Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.10</span> <span class="toctext">Order &amp; Orderby Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.11</span> <span class="toctext">Time Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.12</span> <span class="toctext">Custom Field Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.13</span> <span class="toctext">Permission Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.14</span> <span class="toctext">Caching Parameters</span></a></li>
<li class="toclevel-2"><a href="&quot;#"><span class="tocnumber">5.15</span> <span class="toctext">Return Fields Parameter</span></a></li>
</ul>
<p>[/box]</p>
<p>&nbsp;</p>
<p>Siempre puedes usar la técnica antigua , generar una cadena  con la consulta  SQL</p>
<p style="padding-left: 30px;">Para este caso se concatenan los parámetros separados por &#8220;&amp;&#8221;</p>
<p>&nbsp;</p>
<p>La mezcla en este caso no es una mejora.</p>
<p style="padding-left: 30px;">Puedes tener que modificar un Loop realizado con arrays , puedes obtener la consulta final y concatenar parámetros. Esto es una <em>GUARRADA</em> ,  si funciona pero crear un array para la búsqueda y poder entender el código después no tienen precio.</p>
<p>En mi caso trabajo , siempre que puedo , con temas hijos , así que regenero la plantilla casi por completo. Coges el código antiguo y lo modificas siguiendo las reglas de estilos de WordPress.</p>
<h3>Recursos:</h3>
<p>He buscado un poco por internet para realizar esta tarea  y he encontrado una persona con más experiencia que yo  , explicando perfectamente los tipos de código que nos podemos encontrar en los Loop.</p>
<p>Post: <a title="Editando el “loop” de WordPress" href="http://hbravo.com/editar-loop-wordpres/">Editando el &#8220;loop&#8221; de WordPress</a></p>
]]></content:encoded>
							<wfw:commentRss>http://blog.luispuente.net/loop-y-codex-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
	</channel>
</rss>
