<?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/"
	>

<channel>
	<title>MacOSas</title>
	<atom:link href="http://www.macosas.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.macosas.com</link>
	<description></description>
	<lastBuildDate>Thu, 23 May 2013 19:28:35 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Modificar el formulario de comentarios de WordPress</title>
		<link>http://www.macosas.com/archives/modificar-el-formulario-de-comentarios-de-wordpress/</link>
		<comments>http://www.macosas.com/archives/modificar-el-formulario-de-comentarios-de-wordpress/#comments</comments>
		<pubDate>Thu, 23 May 2013 19:27:45 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[trucos]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3095</guid>
		<description><![CDATA[Editando el fichero comments.php de nuestro theme, ya sea un child theme o no, podemos modificar los campos, añadir, quitar… sin tocar el core de WordPress, que no es nada<br/><a href="http://www.macosas.com/archives/modificar-el-formulario-de-comentarios-de-wordpress/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Editando el fichero comments.php de nuestro theme, ya sea un child theme o no, podemos modificar los campos, añadir, quitar… sin tocar el core de WordPress, que no es nada recomendable.</p>
<p>En esencia, se trata de crearnos un <strong>array personalizado</strong>, con los campos y valores que escojamos, y se lo volvamos a pasar a la función <a title="Codex WordPress" href="http://codex.wordpress.org/Function_Reference/comment_form">comment_form()</a> del core de WordPress. Creamos el array comentarios:</p>
<pre>$comentarios = array ();</pre>
<p>Y la forma de pasar el nuevo array a la función de comment_form es:</p>
<pre>comment_form($comentarios);</pre>
<p>Así no conseguiríamos todavía nada. Veamos unos casos prácticos para modificarlo.<br />
Por defecto, en nuestro formulario, tenemos indicados las <strong>etiquetas HTML permitidas</strong> al escribir en el campo &#8216;comentario&#8217;. Si quisiéramos quitarlos y que no se mostraran, añadimos a nuestro array:</p>
<pre>'comment_notes_after' =&gt; '',</pre>
<p>Lo que resetea el valor por defecto de WordPress a nuestro nuevo valor, un valor vacío y no escribe esa parte de texto en el formulario. Ale, hemos quitado la lista de etiquetas permitidas.</p>
<p>Ahora un ejemplo más complicado. Para modificar los campos del formulario de <strong>email</strong> y <strong>url</strong> para adaptarlos a los teclados de los <strong>dispositivos móviles</strong>, como el iPhone y el iPad, facilitando escribir las arrobas, las barras de URL y los dominios. Para eso creamos un array independiente al anterior, lo llamo <em>$campos</em>, con los parámetros y valores de author, email y url. Realmente, a los campos por defecto, solo cambiamos el &#8216;type&#8217; del campo: para email un type=&#8221;mail&#8221;, y para las url un type=&#8221;url&#8221;:</p>
<pre>$campos = array(
 'author' =&gt; '&lt;p class="comment-form-author"&gt;&lt;label for="author"&gt;' . __( 'Name', 'domainreference' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span class="required"&gt;*&lt;/span&gt;' : '' ) . '&lt;input id="author" name="author" type="text" pattern="" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /&gt;&lt;/p&gt;',
 'email' =&gt; '&lt;p class="comment-form-email"&gt;&lt;label for="email"&gt;' . __( 'Email', 'domainreference' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span class="required"&gt;*&lt;/span&gt;' : '' ) . '&lt;input id="email" name="email" pattern="" type="email" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /&gt;&lt;/p&gt;',
 'url' =&gt; '&lt;p class="comment-form-url"&gt;&lt;label for="url"&gt;' . __( 'Website', 'domainreference' ) . '&lt;/label&gt;&lt;input id="url" name="url" type="url" pattern="" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /&gt;&lt;/p&gt;'
);</pre>
<p>Y este array &#8216;campos&#8217; los añadimos a nuestro array &#8216;comentarios&#8217;, aplicando filtros:</p>
<pre>'fields' =&gt; apply_filters( 'comment_form_default_fields', $campos ),</pre>
<p>El código completo de las modificaciones del formulario de comentarios queda así:</p>
<pre>&lt;?php
$campos = array(
 'author' =&gt; '&lt;p class="comment-form-author"&gt;&lt;label for="author"&gt;' . __( 'Name', 'domainreference' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span class="required"&gt;*&lt;/span&gt;' : '' ) . '&lt;input id="author" name="author" type="text" pattern="" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /&gt;&lt;/p&gt;',
 'email' =&gt; '&lt;p class="comment-form-email"&gt;&lt;label for="email"&gt;' . __( 'Email', 'domainreference' ) . '&lt;/label&gt; ' . ( $req ? '&lt;span class="required"&gt;*&lt;/span&gt;' : '' ) . '&lt;input id="email" name="email" pattern="" type="email" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /&gt;&lt;/p&gt;',
 'url' =&gt; '&lt;p class="comment-form-url"&gt;&lt;label for="url"&gt;' . __( 'Website', 'domainreference' ) . '&lt;/label&gt;&lt;input id="url" name="url" type="url" pattern="" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /&gt;&lt;/p&gt;'
);
$comentarios = array(
 // remove "Text or HTML to be displayed after the set of comment fields"
 'comment_notes_after' =&gt; '',
 // Campos del formulario con type para dispositivos moviles
 'fields' =&gt; apply_filters( 'comment_form_default_fields', $campos ),
 // redefine your own textarea (the comment body)
 //'comment_field' =&gt; '&lt;p class="comment-form-comment"&gt;&lt;label for="comment"&gt;' . _x( 'Comment', 'noun' ) . '&lt;/label&gt;&lt;br /&gt;&lt;textarea id="comment" name="comment" aria-required="true"&gt;&lt;/textarea&gt;&lt;/p&gt;',
);</pre>
<pre>comment_form($comentarios);
?&gt;</pre>
<p>Y si comprobamos el resultado en un iPhone, veremos nuestro teclado adaptado al campo, con la arroba en email, y el .com en la url. Más cómodo.</p>
<p style="text-align: center;"><img class=" wp-image-3096 aligncenter" title="Teclados personalizados" src="http://www.macosas.com/wp-content/uploads/2013/05/tecados.png" alt="Teclados personalizados" /></p>
<p>Que lo disfrutéis!<br />
Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/modificar-el-formulario-de-comentarios-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajustar la zona horaria y la hora en CentOS</title>
		<link>http://www.macosas.com/archives/ajustar-la-zona-horaria-y-la-hora-en-centos/</link>
		<comments>http://www.macosas.com/archives/ajustar-la-zona-horaria-y-la-hora-en-centos/#comments</comments>
		<pubDate>Wed, 22 May 2013 06:37:46 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[línea de comandos]]></category>
		<category><![CDATA[trucos]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3093</guid>
		<description><![CDATA[Para asignar una zona horaria al sistema en CentOS, desde la consola de comandos, debemos hacer un enlace simbólico al fichero de la ciudad más cercana a nuestra zona horaria<br/><a href="http://www.macosas.com/archives/ajustar-la-zona-horaria-y-la-hora-en-centos/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Para asignar una zona horaria al sistema en <a title="CentOS" href="http://www.centos.org/">CentOS</a>, desde la consola de comandos, debemos hacer un enlace simbólico al fichero de la ciudad más cercana a nuestra zona horaria local.</p>
<p>En mi caso, la zona horaria es Europa, y la ciudad Madrid. Con el GMT +1 y +2 según sea el horario de verano o invierno, con el cambio de fecha de horario programado.</p>
<p>Para asignar la zona horaria al sistema, renombramos el fichero preconfigurado de localtime:</p>
<pre># mv /etc/localtime /etc/localtime-old</pre>
<p>Y hacemos un enlace simbólico al fichero de nuestra zona horaria:</p>
<pre># ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime</pre>
<p>Una vez hecho esto, podemos revisar la hora de nuestro sistema, ejecutando:</p>
<pre># date</pre>
<p>Esto nos muestra la fecha y hora del sistema. Si no es correcta, la cambiamos ejecutando &#8216;<strong>date</strong>&#8216; y pasándole la fecha en el formato MMDDhhmmYY, de la forma: mes, día, hora, minutos y año, todos con dos cifras.</p>
<p>Si queremos cambiar la hora a las 19:53h del día 18 de mayo de 2013, por ejemplo, hacemos:</p>
<pre># date 0518195313</pre>
<p>Y alehop, cambiada, podemos comprobarla de nuevo ejecutando &#8216;<strong>date</strong>&#8216; sin parámetros.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/ajustar-la-zona-horaria-y-la-hora-en-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo cargar tamaños de imágenes según dispositivos en WordPress: Featured-Images</title>
		<link>http://www.macosas.com/archives/como-cargar-tamanos-de-imagenes-segun-dispositivos-en-wordpress-featured-images/</link>
		<comments>http://www.macosas.com/archives/como-cargar-tamanos-de-imagenes-segun-dispositivos-en-wordpress-featured-images/#comments</comments>
		<pubDate>Mon, 20 May 2013 19:48:26 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[trucos]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3090</guid>
		<description><![CDATA[En un diseño Responsive debemos tener en cuenta el tamaño de las imágenes que cargamos en cada dispositivo. En los dispositivos móviles el ancho de banda suele ser más reducido<br/><a href="http://www.macosas.com/archives/como-cargar-tamanos-de-imagenes-segun-dispositivos-en-wordpress-featured-images/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>En un diseño Responsive debemos tener en cuenta el tamaño de las imágenes que cargamos en cada dispositivo. En los dispositivos móviles el ancho de banda suele ser más reducido que en un equipo de escritorio, velocidades módem, 3G o similares.</p>
<p>El caso concreto que os propongo es para las imágenes que en WordPress llama imagen destacada, featured-image, que sale en la cabecera de nuestro mensaje, por defecto tomará las medidas de los previos que tengamos marcada en los ajustes Media del administrador.</p>
<p>Para un móvil no interesa mostrar un previo, thumbnail, más pequeño que en una tablet o un equipo escritorio. Para eso:</p>
<p>1. Descargar el plugin <a title="Mobble plugin for WordPress" href="http://wordpress.org/plugins/mobble/">Mobble</a><br />
2. Instalar: copiar en la carpeta Plugins de WordPress. Activar desde el administrador de plugins.<br />
3. Modificar los PHP donde se muestra la featured-imagen (post-thumbnail) por ejemplo:</p>
<ul>
<li>loop.php</li>
<li>single.php</li>
</ul>
<p>Pasos a seguir:</p>
<p>1. Editar el fichero php<br />
2. Buscar la función post_thumbnail<br />
3. Reemplazar:</p>
<pre>&lt;?php //the_post_thumbnail(); // Declare pixel size you need inside the array ?&gt;</pre>
<p>Por:</p>
<pre>&lt;?php
if (is_mobile()) {
the_post_thumbnail('small');
} else {
the_post_thumbnail('large');
}
?&gt;</pre>
<h4>Podemos usar en los if los dispositivos genéricos:</h4>
<p>is_handheld(); // any handheld device (phone, tablet, Nintendo)<br />
is_mobile(); // any type of mobile phone (iPhone, Android, etc)<br />
is_tablet(); // any tablet device<br />
is_ios(); // any Apple device (iPhone, iPad, iPod)</p>
<h4>La lista completa de dispositivos:</h4>
<p>is_iphone();<br />
is_ipad();<br />
is_ipod();<br />
is_android();<br />
is_blackberry();<br />
is_opera_mobile();<br />
is_symbian();<br />
is_kindle();<br />
is_windows_mobile();<br />
is_motorola();<br />
is_samsung();<br />
is_samsung_tablet();<br />
is_sony_ericsson();<br />
is_nintendo();</p>
<p>SaludoX</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/como-cargar-tamanos-de-imagenes-segun-dispositivos-en-wordpress-featured-images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo preparar WordPress para imágenes en un diseño fluido</title>
		<link>http://www.macosas.com/archives/como-preparar-wordpress-para-imagenes-en-un-diseno-fluido/</link>
		<comments>http://www.macosas.com/archives/como-preparar-wordpress-para-imagenes-en-un-diseno-fluido/#comments</comments>
		<pubDate>Sun, 19 May 2013 11:40:19 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3087</guid>
		<description><![CDATA[WordPress añade por defecto y de forma automática la información del alto y ancho de la imagen que subimos desde su gestor multimedia. Para un diseño fluido o responsive no<br/><a href="http://www.macosas.com/archives/como-preparar-wordpress-para-imagenes-en-un-diseno-fluido/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><strong>WordPress</strong> añade por defecto y de forma automática la información del alto y ancho de la imagen que subimos desde su gestor multimedia. Para un diseño fluido o <strong>responsive</strong> no nos interesa ese dato, pues haría que salieran en pantalla a un tamaño fijo, todo lo contrario a lo que se persigue con estos diseños, en los que queremos que se <strong>adapte</strong> al tamaño de pantalla de nuestro dispositivo.</p>
<p>Para eso, debemos quitar en la etiqueta <strong>img</strong> el alto y ancho desde los filtros de nuestro theme, y ajustar las CSS para que muestren las imágenes a un máximo del 100%, independiente del tamaño original de la imagen.</p>
<p>Ajustar las <strong>CSS</strong>:</p>
<pre>img{max-width: 100%;}</pre>
<p>En el fichero <strong>functions.php</strong> de nuestro theme añadimos una función que quite los tags width y height de la función del core de WordPress:</p>
<pre>// Remove thumbnail width and height dimensions that prevent fluid images in the_thumbnail
function remove_thumbnail_dimensions( $html )
{
  $html = preg_replace('/(width|height)=\"\d*\"\s/', "", $html);
  return $html;
}</pre>
<p>Y en el mismo fichero de functions.php añadir los filtros:</p>
<p>Este quita los atributos width y height de los thumbnails:</p>
<pre>add_filter('post_thumbnail_html', 'remove_thumbnail_dimensions', 10);</pre>
<p>Y este otro los quita de las imágenes de los mensajes:</p>
<pre>add_filter('image_send_to_editor', 'remove_thumbnail_dimensions', 10);</pre>
<p>Que lo disfrutéis</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/como-preparar-wordpress-para-imagenes-en-un-diseno-fluido/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generar llaves SSH entre hosts</title>
		<link>http://www.macosas.com/archives/generar-llaves-ssh-entre-hosts/</link>
		<comments>http://www.macosas.com/archives/generar-llaves-ssh-entre-hosts/#comments</comments>
		<pubDate>Mon, 13 May 2013 08:04:24 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[línea de comandos]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3079</guid>
		<description><![CDATA[Hace mucho tiempo ya expliqué como hacerlo entre dos Macs, primero con una visión genérica de SSH y después con el tema más concreto de &#8216;SCP, automatizar las copias de<br/><a href="http://www.macosas.com/archives/generar-llaves-ssh-entre-hosts/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Hace mucho tiempo ya expliqué como hacerlo entre dos Macs, primero con una <a title="Copia de archivos vía SSH" href="http://www.macosas.com/archives/copia-de-archivos-va-ssh/">visión genérica de SSH</a> y después con el tema más concreto de &#8216;<a title="SCP, automatizar las copias de archivos" href="http://www.macosas.com/archives/scp-automatizar-las-copias-de-archivos/">SCP, automatizar las copias de archivos</a>&#8216;. Y nada cambia, es un procedimiento idéntico para cualquier Unix y distribución Linux.</p>
<p>En este caso lo reescribo para tenerlo en cuenta con sistema CentOS y el SELinux, que debes reconfigurar si quieres usarlo. Para el ejemplo utilizaré 2 hosts, Host A y Host B como indica la imagen:</p>
<div id="attachment_3080" class="wp-caption aligncenter" style="width: 360px"><img class=" wp-image-3080" title="Esquema Hosts SSH" src="http://www.macosas.com/wp-content/uploads/2013/05/esquema.png" alt="" width="350" /><p class="wp-caption-text">Esquema Hosts SSH</p></div>
<p>Siendo el Host A nuestra propia máquina, un cliente que se va a conectar vía SSH al equipo remoto, denominado aquí Host B, un servidor o máquina a la que te conectas.<br />
<strong></strong></p>
<p><strong>1. Generar</strong> la llave pública id_dsa.pub, si no está creada, en el Host A. Si ya la tenemos, pasamos al punto 2.</p>
<pre>HostA:/ usuario$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (~/.ssh/id_dsa): (pulsar enter)
Enter passphrase (empty for no passphrase): (pulsar enter)
Enter same passphrase again: (pulsar enter)
Your identification has been saved in ~/.ssh/id_dsa.
Your public key has been saved in ~/.ssh/id_dsa.pub.
HostA:/ usuario $</pre>
<p>&nbsp;</p>
<p><strong>2. Crear</strong>, si no existe, el directorio .ssh en el Host B</p>
<pre>HostB:/ root$ mkdir ~/.ssh</pre>
<p>&nbsp;</p>
<p>Ajustar permisos al directorio:</p>
<pre>HostB:/ root$ chmod 700 .ssh</pre>
<p>&nbsp;</p>
<p><strong>3. Copiar</strong> la llave pública desde el Host A al B</p>
<pre>HostA:/ usuario$ scp ~/.ssh/id_dsa.pub
root@&lt;ip_equipo_remoto&gt;:~/.ssh/public-key.tmp</pre>
<p>&nbsp;</p>
<p><strong>4. Añadir</strong> la llave pública a las autorizaciones del Host B.</p>
<pre>HostB:/ root$ cat ~/.ssh/public-key.tmp &gt;&gt; ~/.ssh/authorized_keys</pre>
<p>Con esto ya tenemos generada la confianza entre ambos hosts vía SSH. Si usamos un sistema <strong>CentOS</strong> o cualquier otro con el sistema de seguridad SELinux, debemos hacer lo siguiente:</p>
<p>&nbsp;</p>
<p><strong>5. Resetear</strong> la configuración de <strong>SELinux</strong> en el Host remoto, servidor. En CentOS es necesario corregir las opciones de seguridad del directorio .ssh en SELinux:</p>
<pre>HostB:/ root$ restorecon -Rv ~/.ssh</pre>
<p>&nbsp;</p>
<p>SaludoX</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/generar-llaves-ssh-entre-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magia dorada al atardecer</title>
		<link>http://www.macosas.com/archives/magia-dorada-al-atardecer/</link>
		<comments>http://www.macosas.com/archives/magia-dorada-al-atardecer/#comments</comments>
		<pubDate>Tue, 07 May 2013 05:12:37 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Aficiones]]></category>
		<category><![CDATA[atardecer]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[Madrid]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3072</guid>
		<description><![CDATA[Uno de estos sábados, tumbado en casa, te da por mirar por la ventana cuando cae el sol, que entre nubarrones oscuros, de gran contraste, hace que los últimos rayos<br/><a href="http://www.macosas.com/archives/magia-dorada-al-atardecer/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Uno de estos sábados, tumbado en casa, te da por mirar por la ventana cuando cae el sol, que entre nubarrones oscuros, de gran contraste, hace que los últimos rayos de luz sean dorados, iluminando la frontera.</p>
<p>Estas son dos fotos que fui capaz a capturar del momento. Que las disfruten.</p>
<p style="text-align: center;">
<p>Tomadas con una Lumix GX-1 y el objetivo Panasonic 45-175mm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/magia-dorada-al-atardecer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurar noatime para los discos SSD</title>
		<link>http://www.macosas.com/archives/configurar-noatime-para-los-discos-ssd/</link>
		<comments>http://www.macosas.com/archives/configurar-noatime-para-los-discos-ssd/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 15:37:09 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[trucos]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3065</guid>
		<description><![CDATA[Esta semana me he enterado vía GUMCAM (Grupo de Usuarios Mac de la Comunidad de Madrid) que los discos SSD pueden sufrir por el exceso de accesos a parámetros de los<br/><a href="http://www.macosas.com/archives/configurar-noatime-para-los-discos-ssd/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Esta semana me he enterado vía <a title="GUM CAM.org" href="http://gumcam.org/">GUMCAM</a> (Grupo de Usuarios Mac de la Comunidad de Madrid) que los discos SSD pueden sufrir por el exceso de accesos a parámetros de los ficheros.</p>
<p>El GUMCAM organizó unas sesiones abiertas a tod@s en las que te enseñaban a desmontar un portátil Mac montar un disco SSD en  la bahía del lector DVD y configurarlo para que tu Mac OS X vaya fino, fino. Y entre toda la documentación que han contando por su twitter <a title="GUMCAM_ORG en Twitter" href="http://twitter.com/gumcam_org">#gumcam_org</a> me ha chocado esto del <strong><em>noatime</em></strong>.</p>
<h2>La propiedad atime de los discos duros</h2>
<p>Cada vez que se accede a un fichero del disco duro, el sistema Unix lee el <strong>atime</strong> para saber el último acceso al fichero, lo abre y graba en el fichero la fecha en nuevo <strong>atime</strong>. Es decir, por cada acceso 3 operaciones.</p>
<p>En un disco convencional no tiene la mayor importancia. Pero en los discos SSD es muy recomendable desactivarlo porque el ciclo de escrituras sobre el disco son limitadas, para alargar la vida del dispositivo desactivando <strong>atime</strong>.</p>
<p>Pasos para desactivar la propiedad <strong>atime</strong> del disco SSD:</p>
<p>1. Crear un fichero plist para que cada vez que arranque el equipo se active &#8216;noatime&#8217;<br />
Crear y editar un fichero plist:</p>
<p>$ sudo vi /Library/LaunchDaemons/com.macosas.noatime.plist</p>
<pre>Añadir al fichero el contenido xml:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
 &lt;dict&gt;
  &lt;key&gt;Label&lt;/key&gt;
  &lt;string&gt;com.macosas.noatime&lt;/string&gt;
  &lt;key&gt;ProgramArguments&lt;/key&gt;
  &lt;array&gt;
    &lt;string&gt;mount&lt;/string&gt;
    &lt;string&gt;-vuwo&lt;/string&gt;
    &lt;string&gt;noatime&lt;/string&gt;
    &lt;string&gt;/&lt;/string&gt;
  &lt;/array&gt;
  &lt;key&gt;RunAtLoad&lt;/key&gt;
  &lt;true/&gt;
 &lt;/dict&gt;
&lt;/plist&gt;</pre>
<p>2. Revisar los permisos del fichero, deben quedar así:</p>
<pre>$ ls -al /Library/LaunchDaemons/com.macosas.noatime.plist
-rw-r--r-- 1 root wheel /Library/LaunchDaemons/com.macosas.noatime.plist</pre>
<p>3. Cargar el fichero en el launchd de sistema:</p>
<pre>$ sudo launchctl load -w /Library/LaunchDaemons/com.macosas.noatime.plist</pre>
<p>El cambio a noatime podremos comprobarlo al reiniciar, ejecutando el comando <strong>mount</strong>:</p>
<pre>$ mount
/dev/disk0s2 on / (hfs, local, journaled, noatime)</pre>
<p>Larga vida al SSD! O al menos, alargad la vida.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/configurar-noatime-para-los-discos-ssd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real Compañía Asturiana de Minas</title>
		<link>http://www.macosas.com/archives/real-compania-asturiana-de-minas/</link>
		<comments>http://www.macosas.com/archives/real-compania-asturiana-de-minas/#comments</comments>
		<pubDate>Sat, 30 Mar 2013 12:19:51 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Aficiones]]></category>
		<category><![CDATA[arquitectura]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[Madrid]]></category>
		<category><![CDATA[viajes]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3053</guid>
		<description><![CDATA[El palacete de la Real Compañía Asturiana de Minas Este maravilloso edificio de la Plaza de España madrileña, de piedra y ladrillo visto, destaca cuando subes por la Cuesta de San<br/><a href="http://www.macosas.com/archives/real-compania-asturiana-de-minas/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>El <a title="Palacete de la Real Compañía Asturiana de Minas" href="http://es.wikipedia.org/wiki/Compañ%C3%ADa_Asturiana_de_Minas">palacete de la Real Compañía Asturiana de Minas</a></p>
<p>Este maravilloso edificio de la Plaza de España madrileña, de piedra y ladrillo visto, destaca cuando subes por la Cuesta de San Vicente desde el río, destaca cuando lo ves desde el Palacio de Oriente o cuando te asomas desde Ferraz.</p>
<p>El edificio recoge como pocos la luz del cielo madrileño. Recogido en la esquina de Plaza de España 8 y calle Bailén, junto al Senado y a los Reales Jardines de Sabatini. Protegido, tapado o qué se yo por el puente/tunel de Plaza de España, puedes verlo en un día nuboso como es capaz de recibir los pocos rayos de sol que haya y hacer que te fijes en él.</p>
<p>En la puerta principal se puede ver como fecha del edificio la de 1898, pero el palacete fue construido entre 1891 y 1899 por el arquitecto <a href="http://es.wikipedia.org/wiki/Manuel_Mart%C3%ADnez_Ángel">Manuel Martínez Ángel</a>, director de la Real Compañía, empresa belga que explotaba las minas de Asturias. El edificio albergaba las oficinas y viviendas de los ingenieros, incluida la del propio Manuel Martínez. En la zona central que une ambas alas, se realizó un enorme almacén, al más puro estilo industrial de la época, acristalado con estructura de cerchas de hierro.</p>
<p>La fachada de piedra y ladrillo visto, está ornamentada con ménsulas de angelotes, personajes mitológicos y motivos vegetales. Los balcones tienen unas balaustradas muy decoradas de plomo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/real-compania-asturiana-de-minas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aproximación a HTML5</title>
		<link>http://www.macosas.com/archives/aproximacion-a-html5/</link>
		<comments>http://www.macosas.com/archives/aproximacion-a-html5/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 19:10:20 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3049</guid>
		<description><![CDATA[Este es in índice de tutoriales, páginas con ejemplos, frameworks y cualquier tipo de ayuda para empezar en HTML5. Este índice se centra en HTML5 pero no deja de lado<br/><a href="http://www.macosas.com/archives/aproximacion-a-html5/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Este es in índice de tutoriales, páginas con ejemplos, frameworks y cualquier tipo de ayuda para empezar en <a title="HTML5" href="http://www.w3.org/html/logo/">HTML5</a>. Este índice se centra en HTML5 pero no deja de lado tecnologías como CSS o JavaScript, la relación es muy estrecha para el desarrollo de contenidos en HTML5.</p>
<p>Con esto, voy a iniciar una aproximación personal a fondo en el diseño para dispositivos móviles, bajo el lema <a title="Mobile First - A List Apart" href="http://www.abookapart.com/products/mobile-first">Mobile First</a>, y luego adaptar esos diseños a tablets y pantallas de escritorio, o mantener varios diseños para el mismo contenido, ya veremos. Mi día a día para aprender y praticar la llevo en una lista de tareas con la filosofía <a title="Getting Things Done - de David Allen" href="http://www.davidco.com/">GTD</a> en <a title="OmniFocus - de OmniGroup" href="http://www.omnigroup.com/products/omnifocus/">OmniFocus</a>, mis apuntes &#8216;en sucio&#8217; los llevo en <a title="Evernote" href="http://www.evernote.com/">Evernote</a>, donde guardo capturas, ideas, bocetos, códigos para reutilizar… En este <a title="MacOSas.com" href="http://www.macosas.com/">sitio web</a> plasmaré todo lo que aprenda.</p>
<p>Estáis tod@s invitados al viaje iniciático.</p>
<p>Tutoriales</p>
<ul>
<li><a title="HTML5 Introduction – What is HTML5 Capable of, Features, and Resources" href="http://www.1stwebdesigner.com/design/html5-introduction/">HTML5 Introduction – What is HTML5 Capable of, Features, and Resources</a></li>
<li><a title="Basic HTML5 Page Template" href="http://webdesignledger.com/tips/8-code-snippets-templates-for-new-website-projects">Basic HTML5 Page Template</a></li>
<li><a title="Estructura de tags en HTML5" href="http://orderedlist.com/resources/html-css/structural-tags-in-html5/">Estructura de tags en HTML5</a></li>
<li><a title="HTML5 Embedded Media" href="https://gist.github.com/ElismaD/3951144">HTML5 Embedded Media</a></li>
<li><a title="HTML5 Canvas: How And What" href="http://www.webdeveloperjuice.com/2012/10/26/html5-canvas-how-and-what/">HTML5 Canvas: How And What</a> animaciones, efectos, gráficos…</li>
<li><a title="Código HTML5 para sitios responisve's" href="http://www.alistapart.com/d/responsive-web-design/ex/ex-site-larger.html">Código HTML5 para sitios responisve&#8217;s</a> para ver el código</li>
</ul>
<p>Imágenes</p>
<ul>
<li><a title="Imágenes para una web Responsive para galería de fotos" href="http://www.matanich.com/2012/11/06/picture-polyfill/">Imágenes para una web Responsive, para galería de fotos</a></li>
<li><a title="Fluid Images" href="http://alistapart.com/article/fluid-images">Fluid Images</a>, adaptar contenido al ancho de contenido</li>
<li><a title="Imágenes con más resolución - Retina.js" href="http://retinajs.com/">Imágenes con más resolución &#8211; Retina.js</a></li>
<li><a title="Slider de Imagen a ancho completo" href="http://tympanus.net/codrops/2013/02/26/full-width-image-slider/">Slider de Imagen a ancho completo</a></li>
<li><a title="Imágenes Responsive con IIPImage" href="http://iipimage.sourceforge.net/2012/08/responsive-images-using-iipimage/">Imágenes Responsive con IIPImage</a></li>
<li><a title="A Pure CSS3 Cycling Slideshow" href="http://coding.smashingmagazine.com/2012/04/25/pure-css3-cycling-slideshow/">A Pure CSS3 Cycling Slideshow</a></li>
</ul>
<p>Mobile</p>
<ul>
<li><a title="HTML5 Mobile First tutorial paso a paso" href="http://www.html5rocks.com/en/mobile/responsivedesign/">HTML5 Mobile First tutorial paso a paso</a></li>
<li><a title="Adaptar web al iPhone paso a paso" href="http://theproc.es/2011/1/29/12241/como-adaptar-una-web-para-el-iphone-paso-a-paso">Adaptar web al iPhone paso a paso</a></li>
<li><a title="Looking Beyond Common Media Query Breakpoints" href="http://mobile.smashingmagazine.com/2012/10/24/beyond-common-media-query-breakpoints/">Looking Beyond Common Media Query Breakpoints</a></li>
<li><a title="Primeros pasos con Modernizr. Instalación" href="http://modernizr.com/docs/#installing">Primeros pasos con Modernizr. Instalación</a></li>
<li><a title="HTML5 y CSS3 con Modernizr" href="http://alistapart.com/article/taking-advantage-of-html5-and-css3-with-modernizr">HTML5 y CSS3 con Modernizr</a></li>
</ul>
<p>Webs completas &#8211; Responsive</p>
<ul>
<li><a title="Web de ejemplo Responsive, paso a paso" href="http://thinkvitamin.s3.amazonaws.com/dribbble-api/part-1/Dribble-Portfolio/index.html">Web de ejemplo Responsive, paso a paso</a></li>
<li><a title="Responsive jQuery Masonry, crear el HTML, CSS y usar JavaScript" href="http://osvaldas.info/responsive-jquery-masonry-or-pinterest-style-layout">Responsive jQuery Masonry, crear el HTML, CSS y usar JavaScript</a></li>
<li><a title="Sistema de comentarios en tiempo real" href="http://www.smashingmagazine.com/2012/05/09/how-to-build-a-real-time-commenting-system/">Sistema de comentarios en tiempo real</a></li>
</ul>
<p>Herramientas</p>
<ul>
<li><a title="FitText.js Hacer el tamaño de fuente flexible" href="http://fittextjs.com/">FitText.js Hacer el tamaño de fuente flexible</a></li>
<li><a title="This Is Responsive. - CSS-Tricks - Web de ejemplos" href="http://bradfrost.github.com/this-is-responsive/index.html">This Is Responsive. &#8211; CSS-Tricks &#8211; Web de ejemplos</a></li>
<li><a title="40+Useful Responsive Web Design Tools and Techniques" href="http://www.freshdesignweb.com/responsive-web-design-tools-and-techniques.html">40+Useful Responsive Web Design Tools and Techniques</a></li>
<li><a title="CSS Hórus – A CSS framework for responsive and mobile websites" href="http://csshor.us/">CSS Hórus – A CSS framework for responsive and mobile websites</a></li>
<li><a title="Demos HTML + CSS + JS con ejemplos claros" href="http://css-tricks.com/downloads/css-stuff/">Demos HTML + CSS + JS con ejemplos claros</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/aproximacion-a-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar y configurar Log.io</title>
		<link>http://www.macosas.com/archives/instalar-y-configurar-log-io/</link>
		<comments>http://www.macosas.com/archives/instalar-y-configurar-log-io/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 18:26:45 +0000</pubDate>
		<dc:creator>nico</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[línea de comandos]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS X 10.6]]></category>
		<category><![CDATA[Mac OS X 10.7]]></category>
		<category><![CDATA[Mac OS X 10.8]]></category>
		<category><![CDATA[trucos]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.macosas.com/?p=3044</guid>
		<description><![CDATA[De hace años tengo la necesidad en mi trabajo de poder controlar los logs de varias máquinas, cada una con unos servicios diferentes, versiones de sistema distinto, etc Y cada<br/><a href="http://www.macosas.com/archives/instalar-y-configurar-log-io/" class="more">Read More &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>De hace años tengo la necesidad en mi trabajo de poder controlar los logs de varias máquinas, cada una con unos servicios diferentes, versiones de sistema distinto, etc Y cada vez lo mismo, me tenía que conectar vía SSH a cada host para leer los logs, o si eran realmente grandes, copiarlos a mi equipo y abrirlos con la propia Console.app o con un editor de textos como BBEdit.</p>
<p>Pues hoy, de casualidad, sin buscarlo, ha surgido el tema en <a title="Madrid-DevOps Google Groups" href="http://groups.google.com/group/madrid-devops" target="_blank">MadridDevOps</a>, un grupo de google bastante activo con muchos profesionales que saben lo que se hacen, y donde cualquiera puede preguntar y ser respondido. Pues eso, ha salido de casualidad el tema de métricas, y <a title="Log.io" href="http://logio.org/"><strong>Log.io</strong></a>, que permite leer logs remotos desde tu equipo. Tachán! lo tanto buscado y nunca encontrado.</p>
<p><img class=" wp-image-3045 " title="Interfaz web de Log.io" src="http://www.macosas.com/wp-content/uploads/2013/03/logio.png" alt="Interfaz web de Log.io" width="auto" height="auto" /></p>
<p><a title="Log.io" href="http://logio.org/"><strong>Log.io</strong></a> está basado en <a title="Node.js" href="http://nodejs.org/">Node.js</a>, con sus ventajas e inconvenientes, pero que queréis que os diga, por ahora son todo ventajas. Y una vez istalado, todo es accesible vía web. Inconvenientes: que solo sirve para Mac&#8217;s Intel, con sistema operativo 10.6 o superior.</p>
<ol>
<li>Instalar Node.js</li>
<li>Instalar Log.io</li>
<li>Configurar el Log.io Server</li>
<li>Configurar los Log.io clientes o harvester</li>
</ol>
<h2>1. Instalar Node.js</h2>
<p><a title="Node.js download" href="http://nodejs.org/download/">Descargar el instalador</a>, el binario, el compilable&#8230; que nos convenga para nuestro equipo. En mi caso, lo más cómodo es el pkg para Mac OS X Universal. En Mac todo se instala en /usr/local/bin. Asegúrate de tener /usr/local/bin en el PATH de sistema.</p>
<ul>
<li>
<pre>/usr/local/bin/node</pre>
</li>
<li>
<pre>/usr/local/bin/npm</pre>
</li>
</ul>
<h2>2. Instalar Log.io</h2>
<p>Para no tener problemas de permisos, la instalación la hago como root, pero podrías pasarle el parámetro de <em>&#8211;user = &#8216;tu_usuario&#8217;</em> al ejecutar la instalación con sudo.</p>
<p>Instalar Log.io vía paquetes <strong>npm</strong> (esto es el Node.js instalado antes):</p>
<pre>$ npm install -g log.io</pre>
<p>Arrancar el servicio de log.io server</p>
<pre>$ log.io-server</pre>
<h2>3. Configurar el Log.io Server</h2>
<p>Por defecto, el fichero de configuración tiene el servicio Apache configurado para leer tus logs, si quieres ver como funciona sin más, arranque el servidor web si no lo tienes arrancado antes de seguir, ejecutando en Terminal:</p>
<pre>$ apachectl graceful</pre>
<p>Configurar el fichero harvester.conf, lo editamos con un editor de textos, como vi, y modificamos la IP del host que recibe las peticiones y las gestiona, el Server, en este ejemplo le pongo 192.168.1.10.</p>
<pre>$ vi /var/root/.log.io/harvester.conf
exports.config = {
  nodeName: "application_server",
    logStreams: {
    apache: [
    "/var/log/apache2/access_log",
    "/var/log/apache2/error_log"
    ]
    },
  server: {
    host: '192.168.1.10',
    port: 28777
  }
}</pre>
<p>Arrancar el log harvester, para que recoja los logs de nuestro propio equipo.</p>
<pre>$ log.io-harvester</pre>
<p>Para ver los resultados ya podemos ir a la web <strong>http://192.168.1.10:28778/</strong></p>
<p>En el servidor no es necesario correr log.io-harvester, si no vamos a recoger los logs propios de ese equipo.</p>
<h2>4. Configurar los Log.io clientes o harvester</h2>
<p>La forma de trabajo de Log.io son peticiones TCP, en el equipo cliente debe correr el servicio harvester, que cada vez que reciba un cambio lo enviará vía TCP al servicio log.io del Server. De esta forma, configurando el fichero harvester.conf con la lista de logs a &#8216;vigilar&#8217; y el host a donde debe enviar los eventos tendremos nuestro sistema de monitorización a nivel de logs montado.</p>
<p>Para todo esto, instalamos en los equipos clientes Node.js y Log.io con npm.</p>
<p>Configuramos el fichero harvester.conf, por ejemplo, para vigilar un entorno de desarrollo con MAMP, pero podemos añadir tantos como querramos:</p>
<pre>$ vi /var/root/.log.io/harvester.conf
exports.config = {
  nodeName: "application_server",
    logStreams: {
    apache: [
    "/Applications/MAMP/logs/apache_error_log",
    "/Applications/MAMP/logs/mysql_error_log.err",
    "/Applications/MAMP/logs/php_error.log"
    ]
    },
  server: {
    host: '192.168.1.10',
    port: 28777
  }
}</pre>
<p>Guardamos el fichero, y arrancamos log.io-harvester:</p>
<pre>$ log.io-harvester</pre>
<p>Y listo, desde nuestro propio equipo, o donde tengamos el Server, podremos abrir la web de Log.io http://192.168.1.10:28778/ y disfrutar vigilando los logs de sistema remotos.</p>
<p>SaludoX</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macosas.com/archives/instalar-y-configurar-log-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
