<?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>teknomada</title>
	<atom:link href="http://teknomada.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://teknomada.es</link>
	<description>tips, ideas y código en el futuro del desarrollo web</description>
	<lastBuildDate>Tue, 18 Dec 2012 21:03:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Introducción a SASS/Compass: Programabilidad para tus Estilos CSS</title>
		<link>http://teknomada.es/desarrollo-web/introduccion-a-sass-compass/</link>
		<comments>http://teknomada.es/desarrollo-web/introduccion-a-sass-compass/#comments</comments>
		<pubDate>Thu, 17 May 2012 02:28:33 +0000</pubDate>
		<dc:creator>Mora Zyx</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[SASS]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=516</guid>
		<description><![CDATA[Quizas los más dificil a la hora de entender SASS es comprender para que sirve. Si ya tenemos CSS, sabemos escribirlo y es lo único que entienden los navegadores, ¿para que queremos otro lenguaje de estilos? Lo que hay que entender es que SASS no reemplaza a CSS, todo código que escribamos en SASS se ]]></description>
			<content:encoded><![CDATA[<p><a href="http://teknomada.es/teknomada/wp-content/uploads/Sass_Logo.gif"><img class="alignright size-full wp-image-563" title="Sass - Syntactically Awesome Stylesheets | sass-lang.com" src="http://teknomada.es/teknomada/wp-content/uploads/Sass_Logo.gif" alt="Sass - Syntactically Awesome Stylesheets | sass-lang.com" width="217" height="238" /></a></p>
<p style="text-align: justify; padding-bottom: 10px;">Quizas los más dificil a la hora de entender SASS es comprender para que sirve. Si ya tenemos CSS, sabemos escribirlo y es lo único que entienden los navegadores, ¿para que queremos otro lenguaje de estilos? Lo que hay que entender es que SASS no reemplaza a CSS, todo código que escribamos en SASS se convertirá en CSS estandar mediante un preprocesador (en esto se parece a PHP). Seguirá siendo CSS normal lo que produzcamos, pero con SASS podremos hacer del componerlo un proceso más cómodo, rápido y funcional.</p>
<p style="text-align: justify;">Algunas Caraterísticas: <strong>variables</strong>, <strong>operaciones matemáticas</strong> (+, -, *, / y %), <strong>código anidado</strong>, <strong>mixins</strong> y bastantes mas&#8230;</p>
<p><span id="more-516"></span></p>
<p>&nbsp;</p>
<h2>Introducción a SASS</h2>
<p>&nbsp;</p>
<p style="text-align: justify;"><em>Syntactically Awesome Stylesheets</em> o SASS es una <strong>extensión de CSS3</strong>. Se escriben en archivos SCSS que son iguales que los CSS con las caracerísticas añadidas de SASS (acepta CSS normal). Se guardan con la extensión <code>.scss</code> y estos se compilan. Se generan los archivos <code>.css</code> que usaremos en el <code>&lt;head&gt;...&lt;/head&gt;</code> la página.</p>
<p style="text-align: justify;">Gracias al SASS podemos darle funcionalidad dinámica a nuestro CSS. Tiene muchisimas ventajas sobre escribir CSS normal y produce código que seguramente sea mejor que el que escribiriamos a mano ya que es un procesador inteligente y optimizará el código para que no haya codigo duplicado y otras cosas que puedan reducir el rendimiento de nuestros estilos. Recomiendo a aquellos que ya esten familiarizados con CSS echarle un vistazo a SASS. Le ayudara mucho, sobre todo a nivel de proyectos grandes. Es en gran parte la tendencia hacia el desarrollo web de futuro, parecido a otras tecnologías sobre de todo de templating como LESS, Jade, CoffeScript, etc.. aunque me parece a mí, personalmente, bastante más útil SASS que los mencionados.</p>
<p>&nbsp;</p>
<h2>Instalación</h2>
<p>&nbsp;</p>
<blockquote style="margin: 0 0 0 40px;">
<ul>
<li><strong>1. Instalar Rubygems :</strong><span style="color: #999;"><br />
</span>$ <code>sudo apt-get install rubygems</code></li>
<li><strong>2. Instalar SASS :</strong><br />
$ <code>sudo gem install sass</code></li>
<li><strong>3. Listos. Pruebalo&#8230;<br />
</strong>$ <code>sass -v</code></li>
</ul>
</blockquote>
<p>&nbsp;</p>
<p><em>Nota: En algunos sistemas (eg. Windows) no hara falta poner sudo delante de los comandos. En algunos sistemas unix quizas haga falta añadir la ruta a los binarios de rubygems al final del archivo <code>~/.bashrc</code>. Prueba: $ <code>export PATH=$PATH:/var/lib/gems/1.8/bin</code></em></p>
<p>&nbsp;</p>
<h2>Uso Rápido</h2>
<p>&nbsp;</p>
<blockquote style="margin: 0 0 0 40px;"><p>$ <code>sass --watch style.scss:style.css</code></p></blockquote>
<p style="text-align: justify;">Esto vigilará tus archivos. Cuando detecta cambios en <code>style.scss</code>, SASS actualiza el <code>style.css</code> automáticamente. También se puede vigilar carpetas enteras:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>$ sass --watch estilos/sass:estilos/css</code></p></blockquote>
<p style="text-align: justify;">Vigila la carpeta <code>estilos/sass</code> y genera los CSS en <code>estilos/css</code>.</p>
<p>Como tambien es CSS normal, puedes empezar a usar SASS moviendo tus archivos de CSS a SCSS:</p>
<blockquote style="margin: 0 0 0 40px;"><p>$ <code>mv style.css style.scss</code><br />
$ <code>sass --watch style.scss:style.css</code></p></blockquote>
<p>&nbsp;</p>
<h2>Variables / Operaciones</h2>
<p>&nbsp;</p>
<p style="text-align: justify;"> SASS nos permite usar variables en nuestro código CSS. Nos puede ahorrar muchisimo trabajo si queremos cambiar por ejemplo el color de nuestra web.. buscariamos cada vez que sale el color que queremos cambiar para textos, bordes, fondos, etc. Con SASS podemos asignarle valores variables con el formato:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code><strong>$</strong>&lt;nombre-variable&gt;<strong>:</strong> &lt;valor&gt;;</code></p></blockquote>
<p>El valor puede ser cualquier valor que ya usemos en CSS &#8212; colores, tamaños, etc&#8230;</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>$<strong>myColor</strong>: #BADA55;<br />
$sidebarWidth: 100px;<br />
$articleWidth: 960px - $sidebarWidth;</code></p>
<p>.mainContent {<br />
<span style="margin-left:10px">&nbsp;</span>width: $articleWidth;<br />
<span style="margin-left:10px">&nbsp;</span>color: $<strong>myColor</strong>;<br />
}</p>
<p>.sidebar {<br />
<span style="margin-left:10px">&nbsp;</span>width: $sidebarWidth;<br />
<span style="margin-left:10px">&nbsp;</span>background: $<strong>myColor</strong>;<br />
}</p></blockquote>
<p style="text-align: justify;">En el ejemplo tambien se demuestra como podemos usar operaciones matemáticas en nuestro código SCSS.</p>
<p>&nbsp;</p>
<h2>Código Anidado (Nesting)</h2>
<p>&nbsp;</p>
<p style="text-align: justify;">El código anidado en SASS nos permite crear relaciones complejas con la simplicidad del anidado. Si queremos seleccionar un elemento especifico a traves de CSS usamos selectores avanzados con simbolos como ul &gt; li. En SASS podemos simplemente anidar código para darle relación. Ejemplo:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>h1 {<br />
<span style="margin-left:10px">&nbsp;</span>color: #000;<br />
<span style="margin-left:10px">&nbsp;</span><strong>span {</strong><br />
<span style="margin-left:10px">&nbsp;</span><span style="margin-left:10px">&nbsp;</span>color: #777;<br />
<span style="margin-left:10px">&nbsp;</span><strong>}</strong><br />
}</code></p></blockquote>
<p>Produce el código CSS siguiente:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>h1 {<br />
<span style="margin-left:10px">&nbsp;</span>color: #000;<br />
}<br />
h1 span {<br />
<span style="margin-left:10px">&nbsp;</span>color: #777;<br />
}</code></p></blockquote>
<p>Muy útil para situaciones complejas que se pueden formar con los formularios, cosas como:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>form ul > li .input</code> &#8230;</p></blockquote>
<p>&nbsp;</p>
<h2>Mixins</h2>
<p>&nbsp;</p>
<p>Los mixins de SASS son como <strong>funciones</strong>. Se les puede pasar arguments como color, border-radius, etc.. y este devolverá el código preciso:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>@mixin <strong>rounded</strong>($radius: 5px) {<br />
<span style="margin-left:10px">&nbsp;</span>-webkit-border-radius: $radius;<br />
<span style="margin-left:10px">&nbsp;</span>-moz-border-radius: $radius;<br />
<span style="margin-left:10px">&nbsp;</span>border-radius: $radius;<br />
}</p>
<p>#box {<br />
<span style="margin-left:10px">&nbsp;</span>@include <strong>rounded</strong>(10px); /* @include rounded; usara valor por defecto */<br />
}</code></p></blockquote>
<p>Podriamos crear un mixin para elementos que queremos flotar a la izquierda:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>@mixin <strong>izquierda</strong>($dist) {<br />
<span style="margin-left:10px">&nbsp;</span>float: left;<br />
<span style="margin-left:10px">&nbsp;</span>margin-left: $dist;<br />
}</p>
<p>.thumbnail {<br />
<span style="margin-left:10px">&nbsp;</span>@include <strong>izquierda</strong>(10px);<br />
}</code></p></blockquote>
<p>&nbsp;</p>
<h2>Herencia de Selectores</h2>
<p>&nbsp;</p>
<p style="text-align: justify;">Con la herencia podemos extender las propiedades de nuestras clases a otras sin duplicar código. Esto se hace usando @extend y el selector de nombre de la clase que queremos incorporar:</p>
<blockquote style="margin: 0 0 0 40px;"><p><strong>.myClass</strong> {<br />
<span style="margin-left:10px">&nbsp;</span>color: #000;<br />
<span style="margin-left:10px">&nbsp;</span>font-family: monospace;<br />
}</p>
<p>#box2 {<br />
<span style="margin-left:10px">&nbsp;</span>@<strong>extend .myClass</strong>;<br />
<span style="margin-left:10px">&nbsp;</span>font-size: bold;<br />
}</p></blockquote>
<p>&nbsp;</p>
<h2>Compass: Framework SASS</h2>
<p>&nbsp;</p>
<p>Estríctamente hablando, Compass es un framework CSS. Pero hace uso del lenguaje SASS para crear los estilos. Se podría considerar un framework de frameworks &#8212; ya que es muy fácil incorporar otros frameworks a tu proyecto (como podrian ser otros frameworks de grids o botones, etc..). Compass te ayuda a estructurar tus proyectos CSS que usen SASS y además tiene una <a href="http://compass-style.org" target="_blank">grandisima librería</a> de utilidades, hacks y estilos ya creados para que solo tengas que importarlos a tu proyecto. Compass te permite trabajar con CSS de una manera distinta y muy efectiva. Podemos usar @import en nuestro código sin problema de rendimiento ya que no es el SASS lo que servimos al cliente si no el CSS optimizado.
<p>&nbsp;</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>$ sudo gem install compass<br />
$ compass create &lt;nombre-del-proyecto&gt;<br />
$ compass watch &lt;nombre-del-proyecto&gt;</code><br />
&#8230;(edita los archivos SCSS que se encuentran en la carpeta /src de tu proyecto)&#8230;
</p></blockquote>
<p>&nbsp;</p>
<p>Ver los estilos disponibles en <a href="http://compass-style.org" target="_blank">compass-style.org</a> y importalos a tu proyecto:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>@import "compass/reset";<br />
@import "compass/css3/border-radius";</p>
<p>/* incluye todo el modulo css3: <strong>@import "compass/css3";</strong> */</p>
<p>@import "compass/utilities"; /* mixins utiles (eg. sprites). */</code></p>
<p>&nbsp;</p>
</blockquote>
<p>Y ahora podemos usar las funciones importadas asi:</p>
<blockquote style="margin: 0 0 0 40px;"><p><code>@include <strong>border-radius</strong>(10px);<br />
@include <strong>border-shadow</strong>(red, 2px, 5px, 10px);</code></p>
<p>&nbsp;</p>
</blockquote>
<p><span style="text-decoration: underline;">Ejemplo: Usando la Utilidad de Sprites</span></p>
<blockquote style="margin: 0 0 0 40px;"><p><code>.logo {<br />
<span style="margin-left:10px">&nbsp;</span>background: <strong>sprite-image</strong>("img/sprite.png");<br />
}</p>
<p>.linea {<br />
<span style="margin-left:10px">&nbsp;</span>background: <strong>sprite-image</strong>("img/sprite.png") 0 26px;<br />
}</code></p></blockquote>
<p>Más Información: <a href="http://sass-lang.com" target="_blank">http://sass-lang.com</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "ca-pub-8070480955737782";
/* banner728x90 */
google_ad_slot = "7502381478";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/desarrollo-web/introduccion-a-sass-compass/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Trucar el Reproductor de Audio HTML5 y Hacerlo Más Inteligente</title>
		<link>http://teknomada.es/desarrollo-web/trucar-el-reproductor-de-audio-html5-y-hacerlo-mas-inteligente/</link>
		<comments>http://teknomada.es/desarrollo-web/trucar-el-reproductor-de-audio-html5-y-hacerlo-mas-inteligente/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 21:48:30 +0000</pubDate>
		<dc:creator>Mora Zyx</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=443</guid>
		<description><![CDATA[Pienso que el nuevo elemento HTML5 &#60;audio&#62; es una maravilla. Es super simple de usar, intuitivo de programar y es hasta bonito por defecto. Trae consigo todas las opciones que habitualmente pediriamos de un reproductor de de audio: botones de control (volumen, etc.), autoplay (reproducción automática), loop (reproducción continua) y preload (si deberiamos cargar el ]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">Pienso que el nuevo elemento HTML5 <strong>&lt;audio&gt;</strong> es una maravilla. Es super simple de usar, intuitivo de programar y es hasta <em>bonito</em> por defecto. Trae consigo todas las opciones que habitualmente pediriamos de un reproductor de de audio: botones de <strong>control</strong> (volumen, etc.), <strong>autoplay</strong> (reproducción automática), <strong>loop</strong> (reproducción continua) y <strong>preload</strong> (si deberiamos cargar el archivo cuando cargamos la página). ¡Casi todo lo que necesitariamos! Solo nos quedaría tweakear algunos detalles para que sea el reproductor perfecto.</p>
<h3><span id="more-443"></span>Un Problema</h3>
<p style="text-align: justify;">Toma la siguiente situación: tenemos el reproductor instalado en nuestro sitio, por ejemplo, con una música ambiental que se reproduce de fondo. La canción en sí dura unos minutos. El problema con el que nos encontramos es que cada vez que cambiamos de página (refrescamos o cliqueamos un link), <strong>vuelve a reproducirse nuestra canción desde el principio</strong>. Esto puede dar un efecto muy feo, incluso puede hacer que decidamos ni si quiera usar el HTML5 &lt;audio&gt; en nuestras páginas&#8230;</p>
<p style="text-align: center;"><a href="http://teknomada.es/wp-content/uploads/200x200.jpg"><img class="aligncenter  wp-image-473" src="http://teknomada.es/teknomada/wp-content/uploads/200x200.jpg" alt="" /></a></p>
<p style="text-align: justify;">Por suerte hay soluciones que podremos implementar facilmente y resolver este problema. Os recomiendo la siguiente solución (para un simple problema) para usarlo como acercamiento al elemento &lt;audio&gt; en HTML5, pero también os diré que ya hay muy buenas soluciones a este y muchos otros problemas de &lt;audio&gt; en librerias gratuitas que encontrarás online. Al final detallaré algunas de estas.</p>
<h3>Una Solución</h3>
<div style="text-align: center;"><iframe style="margin: 0pt auto;" src="http://teknomada.es/teknomada/wp-content/uploads/demo/audio" width="210" height="55"></iframe></div>
<p style="text-align: center;"><span style="color: #808080;">( <em>refresca la página para ver como el audio sigue</em> )</span></p>
<h4>Paso 1</h4>
<p style="text-align: justify;">Descargar: <a href="http://teknomada.es/teknomada/wp-content/uploads/demo/demo-audio.zip">aqui</a>. Tenemos que incluir un archivo para el CSS, la librería jQuery (que aquí haremos usando la versión que hospeda Google) y este archivo JavaScript. Pondriamos en el &lt;head&gt; &#8230; &lt;/head&gt; de nuestra página:</p>
<pre class="html-code">&lt;link href="estilo.css" rel="stylesheet" type="text/css" /&gt;

&lt;script src="js/jquery.min.js"&gt;&lt;/script&gt;
&lt;script src="js/bgaudioplayer.js"&gt;&lt;/script&gt;</pre>
<p>Ver / Descargar:</p>
<ul>
<li><a href="http://teknomada.es/wp-content/uploads/demo/audio/js/bgaudioplayer.js" target="_blank">bgaudioplayer.js</a></li>
<li><a href="http://teknomada.es/wp-content/uploads/demo/audio/estilo.css" target="_blank">estilo.css</a></li>
<li><a href="http://teknomada.es/wp-content/uploads/demo/audio/js/jquery.min.js" target="_blank">jquery.min.js</a></li>
</ul>
<h4></h4>
<h4>Paso 2</h4>
<p>Ahora en el cuerpo:</p>
<pre class="html-code">&lt;audio id="mybgplayer"&gt;
&lt;source src="audio/SWEAT.mp3" type="audio/mpeg"&gt;
&lt;source src="audio/SWEAT.ogg" type="audio/ogg"&gt;
&lt;/audio&gt;

&lt;div id="mybgplayerui"&gt;

&lt;img src="imagenes/play.gif" data-pausesrc="imagenes/pause.gif" style="padding-top: 3px;" /&gt;
&lt;img src="imagenes/restart.gif" style="position:relative; left:-4px" /&gt;
&lt;div&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;
var playerinstance=bgaudioplayer({
audioid: 'mybgplayer',
audiointerface: 'mybgplayerui',
autoplay: true,
persistTimeLine: true,
volume: 0.1,
volumelevels: 12
});
&lt;/script&gt;</pre>
<p>Ver / Descargar:</p>
<ul>
<li>Audio: <a href="http://teknomada.es/wp-content/uploads/demo/audio/audio/SWEAT.mp3" target="_blank">MP3</a> / <a href="http://teknomada.es/wp-content/uploads/demo/audio/audio/SWEAT.ogg" target="_blank">OGG</a></li>
<li>Imagenes: <a href="http://teknomada.es/wp-content/uploads/demo/audio/imagenes/play.gif" target="_blank">play.gif</a> / <a href="http://teknomada.es/wp-content/uploads/demo/audio/imagenes/pause.gif" target="_blank">pause.gif</a> / <a href="http://teknomada.es/wp-content/uploads/demo/audio/imagenes/restart.gif" target="_blank">restart.gif</a></li>
</ul>
<p>&nbsp;</p>
<h3>Paso 3</h3>
<p style="text-align: justify;">¡Ya esta listo! Configuralo a tu gusto usando la simple API.</p>
<h4 style="text-align: center;"><a href="http://teknomada.es/teknomada/wp-content/uploads/demo/demo-audio.zip">Descarga un ZIP con todo</a></h4>
<p>&nbsp;</p>
<p style="text-align: justify;">Esta sencilla solución podrá reproducir audio sin tener que volver a empezar la canción desde el principio cada vez refrescamos (o cambiamos de página si quieres). Tambíen se acuerda de las preferencias de reproducción, es decir, se acuerda del la última posición de volumen o si el reproductor estaba en play o pause cuando lo dejamos. Muy bueno.</p>
<h3>Librerias y Otras Soluciones</h3>
<p style="text-align: justify;"><strong><a title="Accessible Audio Player (AAP)" href="http://www.terrillthompson.com/music/aap/" target="_blank">AAP</a></strong> &#8211; Accessible Audio Player (AAP). Usa el elemento &lt;audio&gt; HTML5 para los navegadores que lo browsers soportan, y el reproductor de media de Yahoo! para los que no. Para navegadores que no corren HTML5 muestra una lista de archivos MP3. AAP tiene una versión plugin WordPress llamado Accessible Audio Player Plugin (AAPP).</p>
<p style="text-align: justify;"><strong><a title="audio.js" href="http://kolber.github.com/audiojs/" target="_blank">audio.js</a></strong> &#8211; Utiliza el &lt;audio&gt; nativo donde este disponible y un reproductor de flash invisible para emular el &lt;audio&gt; en otros navegadores. Ofrece un consistente interfaz de usuario (UI) del reproductor HTML5 para todos los navegadores que permiten estilos css.</p>
<p style="text-align: justify;"><strong><a title="boombox.js HTML5 audio player by audiofile.cc" href="https://audiofile.cc/boombox/" target="_blank">boombox.js</a></strong> &#8211; Fácil uso. Utiliza HTML5 &lt;audio&gt; y jQuery to crear un boombox (mini-cadena) digital. Crear reproductores de audio de alta calidad se hace más fácil con boombox.</p>
<p style="text-align: justify;"><strong><a title="jPlayer: HTML5 Audio &amp; Video for jQuery" href="http://www.jplayer.org/" target="_blank">jPlayer</a></strong> &#8211; jPlayer es una completa librería escrita en JavaScript. Es un plugin jQuery. jPlayer te permite rápida y fácilmente integrar audio <em>y video</em> en tus páginas. API comprensiva y comunidad activa.</p>
<p style="text-align: justify;"><strong><a title="Speakker - The new way of &lt;audio&gt;" href="http://www.speakker.com/" target="_blank">Speakker</a></strong> &#8211; Muy atractivo. Viene de casa en dos variantes con increibles opciones de customización: dimensiones flexibles, colores ilimitados y dos conjuntos de botones para tanto para temas claros como oscuros. Fácil instalación.</p>
<p style="text-align: justify;"><strong><a title="Yahoo! WebPlayer: The easiest way to add video and audio to your site" href="http://webplayer.yahoo.com/" target="_blank">Yahoo! WebPlayer</a></strong> &#8211; Integra el reproductor de Yahoo! WebPlayer en tu página fácilmente poniendo un código HTML justo antes del final de la etiqueta &lt;/body&gt;.</p>
<p style="text-align: justify;"><strong><a title="ZEN - HTML5-CSS3 Audio Player" href="http://lab.simurai.com/zen-player/" target="_blank">Zen</a></strong> &#8211; Muy buena implementación de jPlayer que crea un super reproductor en CSS3. Muy atractivo.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/desarrollo-web/trucar-el-reproductor-de-audio-html5-y-hacerlo-mas-inteligente/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://teknomada.es/wp-content/uploads/demo/audio/audio/SWEAT.mp3" length="811648" type="audio/mpeg" />
<enclosure url="http://teknomada.es/wp-content/uploads/demo/audio/audio/SWEAT.ogg" length="695068" type="audio/ogg" />
		</item>
		<item>
		<title>SEO Avanzado (o Como &#8220;Hacerle la Pelota&#8221; a Google)</title>
		<link>http://teknomada.es/desarrollo-web/seo-avanzado-o-como-hacerle-la-pelota-a-google/</link>
		<comments>http://teknomada.es/desarrollo-web/seo-avanzado-o-como-hacerle-la-pelota-a-google/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 21:05:48 +0000</pubDate>
		<dc:creator>Mora Zyx</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=346</guid>
		<description><![CDATA[Esto no pretende ser una introducción al tema SEO, pero si detallaré brevemente lo que es: el SEO (Search Engine Optimization en inglés), tal y como su nombre indica, es la optimización de una página hacia los buscadores. Parece una tontería, pero no se debe confundir esto con su opuesto que seria: optimizar los buscadores ]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">Esto no pretende ser una introducción al tema SEO, pero si detallaré brevemente lo que es: el SEO (<em><strong>S</strong>earch <strong>E</strong>ngine <strong>O</strong>ptimization</em> en inglés), tal y como su nombre indica, es la optimización de una página hacia los buscadores. Parece una tontería, pero no se debe confundir esto con su opuesto que seria: optimizar los buscadores hacia tu página. Esto es lo que piensa mucha gente&#8230; que entras en alguna parte medio-perdido de las páginas más secretas de google.com y les truqueas desde dentro para que siempre que alguien busque algo, sea lo que sea, se encuentren con tu página, ahí, la <span style="font-style: normal;">Primera</span>. No se trata de eso. Se trata de optimizar tu página, tu código, para facilitarles la vida a los buscadores a la hora de determinar las cosas más relevantes que puede aportar tu pagina.</p>
<p><span id="more-346"></span><script type="text/javascript">// <![CDATA[
google_ad_client = "ca-pub-8070480955737782";
/* TopPosts */
google_ad_slot = "4475498534";
google_ad_width = 336;
google_ad_height = 280;
// ]]&gt;</script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">// <![CDATA[</p>
<p>// ]]&gt;</script></p>
<h3><strong>SEO Normal</strong></h3>
<p style="text-align: justify;">El SEO normal, típico de toda la vida (desde los noventa), tiene todo que ver con <em>links</em> (enlaces). Cuantas más páginas externas enlacen con una en particular, esa se verá mejor reflejado en Google en cuanto al criterio de búsqueda se refiere. (Por muchos enlaces externos que tenga una página, si el tema no tiene nada que ver con la búsqueda seguramente no saldrá entre los resultados). <a title="Abrir enlace: Wikipedia" href="http://es.wikipedia.org" target="_blank">Wikipedia</a> o <a title="Abrir enlace: Marca.com" href="http://www.marca.com" target="_blank">Marca.com</a> no salen los primeros en muchas búsquedas porque hayan firmado algún acuerdo con Google&#8211;salen los primeros porque miles (quizas incluso millones) de páginas externas enlazan con su contenido. Para Google han generado una <em>confianza</em> y eso determina el ranking. Incluso se llama así: <a title="Wikipedia: PageRank" href="http://es.wikipedia.org/wiki/Pagerank" target="_blank">PageRank</a>.</p>
<p style="text-align: justify;">La otra cosa que determina el SEO normal son las palabras claves. Es el método tradicional de asociarle algunas palabras clave al tema y al contenido de una página para que los buscadores puedan mediante ellos saber mejor lo que tiene que ofrecer una página. Conviene tener bien definidas las palabras claves, las justas y necesarias, respaldadas realmente en el contenido, para que pueda crecer la confianza (y no te <a title="Algunas consideraciones a tener en cuenta en tu estrategia de enlaces" href="http://googlewebmaster-es.blogspot.com.es/2012/04/algunas-consideraciones-tener-en-cuenta.html" target="_blank">penalizen</a> por impostor). Google tiene una guía de introducción a la optimización de motores de búsqueda <a title="Guía de introducción a la optimización de motores de búsqueda" href="http://support.google.com/webmasters/bin/answer.py?hl=es&amp;hlrm=en&amp;answer=35291" target="_blank">aquí</a>.</p>
<p>&nbsp;</p>
<h3><strong>Nuevas Técnicas de SEO</strong></h3>
<p style="text-align: justify;">Con el tiempo el SEO ha ido de ser una idea y un proceso bastante simples, a convertirse en algo más parecido a un arte. Muchas técnicas se han ido descubriendo y desarrollando para optimizar tu página hacia los buscadores. Mayormente tiene que ver con buen código y el uso de las redes sociales para hacer crecer una marca. Aquí nos interesa el código&#8230;</p>
<p style="text-align: justify;">¿Como se mejora el código? Toda página de internet es HTML. Esto es lo que leen los robots de los buscadores. No leen imágenes, ni sonidos, ni películas muy bonitas hechas en Flash*. Leen HTML y esto es lo que hay que optimizar. De entrada, existen algunas etiquetas HTML que nos permiten especificar algo de más de información a los buscadores sobre nuestro sitio. Las etiquetas &lt;meta &#8230; /&gt; para meta-datos van en la cabecera del documento HTML entre las etiquetas &lt;head&gt; &#8230; &lt;/head&gt;. Con ellos podremos especificar el idioma, una descripción y las palabras claves para nuestro sitio:</p>
<p><span style="font-size: small;"> </span></p>
<pre class="html-code">&lt;html lang="es"&gt;
&lt;head&gt;
  &lt;meta charset="utf-8"/&gt;
  &lt;meta name="description" value="La mejor y única página dedicado a gatos asesinos." /&gt;
  &lt;meta name="keywords" value="gatos asesinos, killer cats, mi lindo gatito, humor animal, katz" /&gt;
  &lt;title&gt;Gatos Asesinos | MiLindoGatito.es&lt;/title&gt;

&lt;/head&gt;
&lt;body&gt;
...</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">Otras Consideraciones</span></p>
<p style="text-align: justify;"><strong><em>Palabras Clave</em></strong>: Si decides especificar que las palabras claves son realmente el tema de tu página debes respaldarlo por lo menos salpicando esas palabras por diversas partes de la página. Cogamos el ejemplo de GATO&#8230; si elegimos &#8220;gato&#8221; como una palabra clave, conviene que este esa palabra en el titulo, en algún encabezado (&lt;h1&gt;Gato del Día&lt;/h1&gt;), en el pie de página, etc. Ahora con <strong>HTML5</strong> podemos ser hasta más descriptivos y semánticos con nuestro código. Ver: <a title="Fragmentos Enriquecidos (microdatos, microformatos y RDFa)" href="http://support.google.com/webmasters/bin/answer.py?hl=es&amp;answer=99170" target="_blank">Microdatos</a></p>
<p style="text-align: justify;"><strong><em>URLs</em></strong>: La URL es la dirección de la página (que verás arriba en el navegador). Elegir buenas URLs pueda ayudar enormemente al ranking de una página. Dos cosas que pueden influir son el dominio (el nombre .com o .es &#8230;) y las direcciones de las páginas internas&#8211;es decir la dirección de las diversas páginas repartidas por el dominio. Si alguien busca &#8220;El Barrio de Triana&#8221; y existiera un www.elbarriodetriana.com fácilmente llegaría a ser de los primeros. En cuanto a las páginas internas, también conviene que sean descriptivas. No es lo mismo:</p>
<pre style="font-size: small;">http://teknomada.es/index.php?p=135</pre>
<p>que</p>
<pre style="font-size: small;">http://teknomada.es/desarrollo-web/top-10-frameworks-php/</pre>
<p>Aunque sean la misma página, una dirección es mucho más descriptiva del contenido de la página y los buscadores también usan este método para determinar la relevancia que tiene.</p>
<p style="text-align: justify;"><strong><em>Títulos</em></strong>: En conexión con las URLs y de gran importancia son los títulos. Los títulos, tanto de las entradas como de las páginas, pueden ser de más o menos interés para los buscadores dependiendo de como esta escritos. Hay muchas teorías sobre que tipo de títulos son mejores para el SEO, pero una forma de averiguarlo es comparar las palabras claves más buscadas para tu nicho o mercado. Google ofrece un comparador de palabras clave como parte de su plataforma <a title="google AdWords" href="http://www.google.es/intl/es/adwords/jumpstart/phone.html" target="_blank">AdWords</a>. Normalmente, las palabras claves mejor pagadas son las que más interesan&#8211;teniendo en cuenta siempre la competencia. Como norma es bueno tener títulos que sean descriptivos y hagan uso moderado y inteligente de palabras que sabes que buscan. (El <em>Blog de Webmasters de Google</em> tiene una entrada: <a title="Títulos de páginas más adecuados en los resultados de búsqueda" href="http://googlewebmaster-es.blogspot.com.es/2012/04/titulos-de-paginas-mas-adecuados-en-los.html" target="_blank">Títulos de páginas en los resultados de búsqueda</a>)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3><strong>SEO Avanzado</strong></h3>
<p style="text-align: justify;">Ahora os presento una técnica <em>avanzada</em> de SEO. No es avanzada por ser muy difícil de implementar, la considero avanzada por lo nueva que es y lo poco que aún se usa. Os presento: <a title="Google+ Authorship" href="https://plus.google.com/authorship" target="_blank"><strong>Google Authorship</strong></a>.</p>
<p style="text-align: justify;">¿Has notado que a veces cuando buscas algo en Google te aparece una imagen debajo con la foto del autor?</p>
<p style="text-align: center;"><a href="http://support.google.com/webmasters/bin/answer.py?hl=es&amp;hlrm=en&amp;answer=1408986"><img class="aligncenter  wp-image-362" style="border: 1px solid #dddddd; box-shadow: 0pt 1px 5px #cccccc;" title="Información sobre autor incluida en los resultados de búsqueda " src="http://teknomada.es/teknomada/wp-content/uploads/webmasters_1408986_websearch_en.png" alt="Información sobre autor incluida en los resultados de búsqueda" /></a></p>
<p style="text-align: justify;">Configurando Google Authorship puedes demostrar combinar tu marca personal con tu contenido original. Es una manera que promete mucho en cuanto a ayudar a los buscadores entregar la información que realmente busca, usando al mismo tiempo el poder social que acarrea tu persona online. En el marketing cada vez más el boca-a-boca y la confianza entre el creador y consumidor son factores cruciales.</p>
<p style="text-align: justify;">Hay algunas restricciones ahora mismo, ante todo te pide: una foto de perfil de tu cara. Piensen lo que quieran. Esto es el futuro del marketing online, hacer crecer tu marca como &#8220;persona&#8221;.</p>
<p style="text-align: justify;">Te pedirán dos cosas: 1) validar que realmente eres el autor que dices ser, recibiendo un mail / agregando un poco de HTML en la página y 2) poner un poco de HTML en un link que ponga claramente que eres el autor (&#8220;Escrito por &lt;TU NOMBRE&gt;&#8221;). Algo así:</p>
<p>&nbsp;</p>
<pre class="html-code">Escrito por &lt;a href="https://plus.google.com/105021271828492368956?rel=author"&gt;TEKNOMADA&lt;/a&gt;</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">La ruta del enlace debe apuntar a tu perfil de Google+ agregándole al final la parte de ?rel=author (es necesario).</p>
<h3 style="text-align: justify;"><strong>Enlaces</strong></h3>
<p style="text-align: justify;"><a title="Google+ Authorship" href="https://plus.google.com/authorship" target="_blank">Google Authorship</a> &#8211; Linkea tu perfil de Google+ al contenido que creas.</p>
<p style="text-align: justify;"><a title="Latent Semantic Indexing" href="http://lsikeywords.com/" target="_blank">LSI Keywords</a> &#8211; Herramienta que estudia las primeras posiciones de Google para alguna búsqueda sacando de ellas las palabras clave. Muy bueno para estudiar el mercado.</p>
<p style="text-align: justify;"><a title="Ayuda de Adwords" href="https://support.google.com/adwords/?hl=es" target="_blank">Ayuda de AdWords</a> &#8211; Guía de ayuda en linea de usuarios de Google AdWords</p>
<div style="margin-top: -20px; margin-left: -5px;"><script type="text/javascript">// <![CDATA[
     google_ad_client = "ca-pub-8070480955737782"; /* MobileBanner320x50 */ google_ad_slot = "2893213642"; google_ad_width = 320; google_ad_height = 50;
// ]]&gt;</script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">// <![CDATA[</p>
<p>// ]]&gt;</script></div>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/desarrollo-web/seo-avanzado-o-como-hacerle-la-pelota-a-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipografía Web: Cómo Usar Fuentes Personalizadas en CSS3</title>
		<link>http://teknomada.es/desarrollo-web/tipografia-web-como-usar-fuentes-personalizadas-en-css3/</link>
		<comments>http://teknomada.es/desarrollo-web/tipografia-web-como-usar-fuentes-personalizadas-en-css3/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 06:29:37 +0000</pubDate>
		<dc:creator>Mora Zyx</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=282</guid>
		<description><![CDATA[Desde la segunda versión de CSS ya teníamos a nuestra disposición la regla @font-face, pero con CSS3 viene estandarizada. Sigue habiendo temas de licenciatura de fuentes comerciales pero tenemos a nuestra disposición para usar los miles de fuentes de libre distribución que existen. Encontrarás una gran colección de fuentes gratuitas aqui. También tenemos con CSS3 ]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">Desde la segunda versión de CSS ya teníamos a nuestra disposición la regla @font-face, pero con CSS3 viene estandarizada. Sigue habiendo temas de licenciatura de fuentes comerciales pero tenemos a nuestra disposición para usar los miles de fuentes de libre distribución que existen. Encontrarás una gran colección de fuentes gratuitas <a title="DaFont" href="http://dafont.com" target="_blank">aqui</a>. También tenemos con CSS3 más de una forma de incorporar nuestras fuentes. Os mostraré las distintas formas, detallando algunos cosas que debeis tener en cuenta.</p>
<p><span id="more-282"></span></p>
<p style="text-align: center;"><a href="http://teknomada.es/wp-content/uploads/89-480x571.jpg"><img class="aligncenter  wp-image-333" style="background: none repeat scroll 0% 0% #ffffff; padding: 5px; border: 1px solid #cccccc;" title="Tipografía Web" src="http://teknomada.es/teknomada/wp-content/uploads/89-480x571-252x300.jpg" alt="Tipografía Web" /></a></p>
<p style="text-align: justify;">Tenemos tres maneras de incluir una fuente en una página a través de CSS. La primera es la canónica, mientras que los otros dos son variaciones sobre el concepto de importar archivos externos.</p>
<p>&nbsp;</p>
<p><strong>1) @font-face</strong></p>
<p style="text-align: justify;">Suponiendo que nuestra fuente (archivos OTF o TTF) esta en el mismo directorio que nuestro archivo de CSS, escribiremos en nuestra hoja de estilo:</p>
<pre class="css-code">@font-face {
   font-family: Delicious;
   src: url('Delicious-Roman.otf');
 }

@font-face {
   font-family: Delicious;
   font-weight: bold;
   src: url('Delicious-Bold.otf');
 }</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">Ahora lo podremos usar con cualquier elemento de texto, por ejemplo:</p>
<pre class="css-code">h3 { font-family: Delicious, sans-serif; }</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>2) @import</strong></p>
<p style="text-align: justify;">Esta manera es la menos recomendada, pudiendo relentizar considerablemente el tiempo de carga tu página. Esto es dado que descarga (e importa) archivos externos, pero lo hace de manera sincrónica. Se recomienda usar la manera &lt;link &#8230;&gt; que puede descargar archivos asincronicamente. Aun asi, le pongo la demostración de su uso:</p>
<pre class="css-code">@import url(http://fonts.googleapis.com/css?family=Crete+Round);</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>3) &lt;link &#8230;&gt; Web Fonts</strong></p>
<p style="text-align: justify;">Podemos incluir fuentes en la cabecera de nuestro documento html entre &lt;head&gt; &#8230; &lt;/head&gt;:</p>
<pre class="css-code">&lt;link href='http://fonts.googleapis.com/css?family=Crete+Round' rel='stylesheet' type='text/css'&gt;</pre>
<p style="text-align: justify;">Y en ambos casos para usarlos:</p>
<pre class="css-code">font-family: 'Crete Round', sans-serif;</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">NOTA: En los ejemplos 2) y 3) usamos la Web Fonts API de Google, un servicio de fuentes online que puedes incluir en tu código sin necesidad de incluir los archivos .ttf &#8230; visita: <a title="Google Web Fonts" href="http://google.com/webfonts" target="_blank">Google Web Fonts</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/desarrollo-web/tipografia-web-como-usar-fuentes-personalizadas-en-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuración Avanzada de un Servidor Local: php.ini, .htaccess y módulos de Apache2.</title>
		<link>http://teknomada.es/linux/configuracion-avanzada-de-un-servidor-local-php-ini-htaccess-y-modulos-de-apache2/</link>
		<comments>http://teknomada.es/linux/configuracion-avanzada-de-un-servidor-local-php-ini-htaccess-y-modulos-de-apache2/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 02:35:40 +0000</pubDate>
		<dc:creator>Mora Zyx</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=285</guid>
		<description><![CDATA[NOTA: Este post es el antiguo. Puedes ver el nuevo visitando http://ciberpunktxt.tumblr.com/post/38066198867/instalacion-y-configuracion-local-de-un-servidor-web . &#160; php.ini El primer problema que puedes encontrar con tu configuración inicial es el limite que impone PHP para subir archivos. En la instalación por defecto de apache2  mod_php el tamaño máximo permitido pa la subida de archivos es 2mb. (Resulta ser ]]></description>
			<content:encoded><![CDATA[<blockquote>
<p class="extracto" style="text-align: justify;">NOTA: Este post es el antiguo. Puedes ver el nuevo visitando <a href="http://ciberpunktxt.tumblr.com/post/38066198867/instalacion-y-configuracion-local-de-un-servidor-web">http://ciberpunktxt.tumblr.com/post/38066198867/instalacion-y-configuracion-local-de-un-servidor-web </a>.</p>
</blockquote>
<p>&nbsp;</p>
<p><strong>php.ini</strong></p>
<p style="text-align: justify;">El primer problema que puedes encontrar con tu configuración inicial es el limite que impone PHP para subir archivos. En la instalación por defecto de apache2  mod_php el tamaño máximo permitido pa la subida de archivos es 2mb. (Resulta ser un problema a la hora de, por ejemplo, importar una base de datos con phpmyadmin si el archivo .sql pesa más de 2mb) Para esto, y todas las otras configuraciones de PHP con Apache, esta el archivo llamado php.ini que puede estar en distintos sitios dependiendo de la instalación, pero que en Ubuntu se encuentra en: /etc/php5/apache2/php.ini</p>
<p style="text-align: justify;">Para cambiar el limite de subida buscaremos la linea que lee <strong>upload_max_filesize = 2M</strong> y lo cambiamos al tamaño que queremos.</p>
<p>&nbsp;</p>
<p><strong>.htaccess</strong></p>
<p style="text-align: justify;">Este archivo es la diferencia entre una URL al estilo de http://ejemplo.com/index.php?id=36 y una URL mucho más bonita como http://ejemplo.com/contacto &#8230; En el archivo .htaccess podemos introducir reglas para Apache (el ejemplo anterior usa una regla para re-escribir la URL para &#8220;esconder&#8221; el index.php). Para poder usar la función de URLs bonitas en WordPress tengo que crear un archivo en la carpeta raiz del blog llamada .htaccess y rellenarlo con:</p>
<pre class="html-code">&lt;IfModule mod_rewrite.c&gt;
  RewriteEngine On
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
&lt;/IfModule&gt;</pre>
<p>&nbsp;</p>
<p><strong>mod_rewrite</strong></p>
<p style="text-align: justify;">Para que funcione el .htaccess anterior es necesario tener activado el módulo mod_rewrite de Apache. Lo usaremos de ejemplo de como instalar módulos de apache2:</p>
<pre class="linux-code">$ sudo a2enmod rewrite
$ sudo /etc/init.d/apache2 restart</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">El comando <strong>a2enmod</strong> ACTIVA los módulos y <strong>a2dismod</strong> los DESACTIVA.</p>
<p>&nbsp;</p>
<p><strong>userdir</strong></p>
<p style="text-align: justify;">Habilitar carpetas de usuarios (ej. http://localhost/~usuario) para no tener que usar sudo en /var/www &#8230; la carpeta por defecto es: /home/&lt;usuario&gt;/public_html y se habilita asi:</p>
<pre class="linux-code">$ cd /etc/apache2/mods-enabled
$ sudo ln -s ../mods-available/userdir.conf ./userdir.conf
$ sudo ln -s ../mods-available/userdir.load ./userdir.load
$ sudo /etc/init.d/apache2 restart</pre>
<p>&nbsp;</p>
<p style="text-align: justify;"><strong>Importante:</strong>  Para activar PHP en las carpetas de usuarios tenemos que editar el archivo /etc/apache2/mods-enabled/php5.conf y comentar las lineas que deshabilitan el uso de .htaccess. Buscamos las lineas que leen:</p>
<pre class="html-code">    &lt;IfModule mod_userdir.c&gt;
        &lt;Directory /home/*/public_html&gt;
            php_admin_value engine Off
        &lt;/Directory&gt;
    &lt;/IfModule&gt;</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">Y los comentamos empezando cada línea con una almohadilla ( # ) quedando asi:</p>
<pre class="html-code">#    &lt;IfModule mod_userdir.c&gt;
#        &lt;Directory /home/*/public_html&gt;
#            php_admin_value engine Off
#        &lt;/Directory&gt;
#    &lt;/IfModule&gt;</pre>
<p>&nbsp;</p>
<p>Reinicia el servidor con el comando:</p>
<pre class="linux-code">$ sudo /etc/init.d/apache2 restart</pre>
<p>&nbsp;</p>
<p><strong>NameVirtualHost (hosts virtuales)</strong></p>
<p>A veces incluso las URLs estilo http://localhost/~usuario/blog son muy largos. Usando hosts virtuales podemos hacer que cualquier URL que definimos que  apunte a nuestro servidor local. Para esto tendremos que tocar el archivo /etc/hosts y agregar al final:</p>
<pre class="html-code">NameVirtualHost *:80
127.0.0.1    www.ejemplo.com</pre>
<p>&nbsp;</p>
<p>Y finalmente tenemos que crear un sitio virtual en /etc/apache2/sites-available y linkearlo a /etc/apache2/sites-enabled:</p>
<pre class="linux-code">$ sudo nano /etc/apache2/sites-available/w<wbr>ww.ejemplo.com</wbr></pre>
<p>&nbsp;</p>
<p>Escribiremos:</p>
<pre class="html-code">&lt;VirtualHost *:80&gt;
  ServerAdmin webmaster@localhost
  ServerName www.ejemplo.com
  DocumentRoot /home/--USUARIO--/public_html/www.ejemplo.com

  &lt;Directory /&gt;
    Options FollowSymLinks
    AllowOverride None
  &lt;/Directory&gt;

  ErrorLog ${APACHE_LOG_DIR}/error.log
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;</pre>
<p>&nbsp;</p>
<p>Linkeamos y reiniciamos&#8230;</p>
<pre class="linux-code">$ sudo ln -s /etc/apache2/sites-available/www.ejemplo.com /etc/apache2/sites-enabled/www.ejemplo.com
$ sudo /etc/init.d/apache2 reload</pre>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/linux/configuracion-avanzada-de-un-servidor-local-php-ini-htaccess-y-modulos-de-apache2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 10 Frameworks PHP</title>
		<link>http://teknomada.es/desarrollo-web/top-10-frameworks-php/</link>
		<comments>http://teknomada.es/desarrollo-web/top-10-frameworks-php/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 22:17:42 +0000</pubDate>
		<dc:creator>Mora Zyx</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=135</guid>
		<description><![CDATA[Un framework te puede agilizar el trabajo repetitivo o bien te puede servir de herramienta de construcción. Y usándolas es una muy buena forma de aprender como funcionan las aplicaciones PHP. A continuación os presento con los Top 10 de frameworks PHP. De todo un poco, desde la más minimalista hasta las más robustas de ]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">Un framework te puede agilizar el trabajo repetitivo o bien te puede servir de herramienta de construcción. Y usándolas es una muy buena forma de aprender como funcionan las aplicaciones PHP. A continuación os presento con los Top 10 de frameworks PHP. De todo un poco, desde la más minimalista hasta las más robustas de nivel enterprise. La mayoria de ellos usan (o se basan en) la metodología MVC, que quiere decir Modelo-Vista-Control &#8211; una manera de organizar el código que escribimos dependiendo de lo que hace.. Muy basicamente: la base de datos (el Modelo), el HTML/CSS/&#8230; (la Vista) y la lógica que los une en código (el Controlador).</p>
<p><span id="more-135"></span></p>
<p style="text-align: justify;">He jugueteado con muchos de estos frameworks y verdaderamente depende de tus preferencias y necesidades a la hora de elegir un framework. Si solo quieres una aplicacion que pueda comunicarse con una base de datos, conviene usar un framework pequeño (como el F3) que se ocupe de la ORM. Si buscas una solución de plugins quizas el <a href="http://cakephp.org/" target="_blank">CakePHP</a> sea lo que buscas. ¿Te gusta <em>Ruby on Rails</em>? Prueba: <a href="http://symfony.com/" target="_blank">Symfony</a>. ¿Solución Enterprise? <a href="http://framework.zend.com/" target="_blank">Zend</a>. A mi personalmente, siempre me ha gustado la libertad que me da <a href="http://codeigniter.com/" target="_blank">CodeIgniter</a>&#8230;</p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://cakephp.org"><img class="alignright  wp-image-149" style="margin-top: 40px; margin-bottom: 30px;" title="CakePHP" src="http://teknomada.es/teknomada/wp-content/uploads/deeee8d3.png" alt="CakePHP" /></a><strong><a title="CakePHP: the rapid development php framework." href="http://cakephp.org/" target="_blank">CakePHP</a></strong> &#8211; CakePHP usa algunos conceptos de ruby on rails. Su meta es el desarrollo rapido de manera estructurada y flexible. Tiene una comunidad activa que organiza conferencias anuales. Compatible con PHP 4 y PHP5. Funciones CRUD (Create-Read-Update-Delete). Listo para integrar con bases de datos. Arquitectura MVC. Validación integrado. Templating de vistas a traves de View Helpers para AJAX, JavaScript, Formularios HTML&#8230; Fácil configuración. <strong>Extensible.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://codeigniter.com"><img class="alignleft  wp-image-168" style="margin-top: 105px; margin-bottom: 95px;" title="CodeIgniter" src="http://teknomada.es/teknomada/wp-content/uploads/db5549-150x150.jpg" alt="CodeIgniter" /></a><strong><a title="CodeIgniter - Open source PHP web application framework" href="http://codeigniter.com/" target="_blank">CodeIgniter</a></strong> &#8211; Este framework es más como una caja de herramientas para aquellos desarrolladores que quieran usar PHP cuando crean sus aplicaciones. Ayuda a desarrolladores que quieren construir un sitio web de manera agil y los que quieren escribir el framework desde cero. Pone a disposición de programador un amplio y rico conjunto de librerias, con una interfaz simple y estructura lógica. CodeIgniter minimiza la cantidad de programación necesaria para determinada tarea. Pesa poco (lightweight). Cero configuración. No necesita usar la linea de comandos. Sin restricciones a la hora de escribir código. Perfecto para sitios pequeños y hosting básico. <strong>Excelente documentación.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://bcosca.github.com/fatfree/"><img class="alignright  wp-image-199" style="margin-bottom: 35px; margin-top: 70px; margin-left: 25px;" title="Fat-Free Framework (F3)" src="http://teknomada.es/teknomada/wp-content/uploads/phpffthumb1-150x150.png" alt="Fat-Free Framework (F3)" /></a><strong><a title="PHP Fat-Free Framework" href="http://bcosca.github.com/fatfree/" target="_blank">Fat-Free (F3)</a></strong> &#8211; Fat-Free es un potente micro-framework muy bien diseñado para ayudarte a construir aplicaciones dinámicas rapidamente. Esta condensao en un solo archivo de 55KB. F3 (que se le llama) te proporciona un base sólida sobre la que construir agilmente. En esta pequeña cajita de herramientas encontrarás el enrutador URL de alto rendimiento, soporte de localización multi-idiomas, un procesador de formularios HTML, sistema de cache integrado y herramientas para el testing y perfilado de código. Todo en tán <strong>solo 55KB.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://fuelphp.com/"><img class="alignleft  wp-image-209" style="margin-top: 30px; margin-bottom: 30px; margin-right: 25px;" title="FuelPHP" src="http://teknomada.es/teknomada/wp-content/uploads/5b1fab08145b08252241d52e94ff0137.jpg" alt="FuelPHP" /></a><strong><a title="FuelPHP &gt; A simple, flexible, community driven PHP5.3 framework." href="http://fuelphp.com/" target="_blank">FuelPHP</a></strong> &#8211; Interesante proyecto bastante nuevo. Coge lo mejor de otros frameworks y lo desarolla desde el comienzo otra vez sin ataduras a convenciones antiguas. Esta escrito en PHP 5.3+ y sigue el MVC desde el diseño. Incluye ViewModels que une las vistas con los controladores. Enrutamiento avanzado. HVMC. <strong>Moderno.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://kohanaframework.org/"><img class="alignright  wp-image-215" style="margin-top: 35px; margin-bottom: 100px; margin-left: 25px;" title="Kohana Framework" src="http://teknomada.es/teknomada/wp-content/uploads/468-150x150.jpg" alt="Kohana Framework" /></a><strong><a title="Kohana: The Swift PHP Framework" href="http://kohanaframework.org/" target="_blank">Kohana</a></strong> &#8211; Kohana es un proyecto bastante grande usado por muchos clientes en producción. Ayuda a crear aplicaciones PHP más rapida y efectivamente usando algunos objetos y classes predefinidos. Convención-sobre-configuración (como Ruby on Rails). Rige una estructura altamente organizada y implementa patrones de diseño bien establecidos en la ingeniería de software—<strong>Model View Controller(MVC)</strong>.</p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://lithify.me"><img class="alignleft  wp-image-220" style="margin-top: 125px; margin-bottom: 115px;" title="Lithium" src="http://teknomada.es/teknomada/wp-content/uploads/small.png" alt="Lithium" /></a><strong><a title="Lithium: the most rad php framework" href="http://lithify.me/" target="_blank">Lithium</a></strong> &#8211; Lithium es un framework que promete. Al estilo de muchos proyectos de código libre collaborativos aunque tiene buenas ideas para el futuro parece que aun le queda implementar muchas de ellas. Ahora mismo dispone de algunas herramientas útiles para el desarrollo rápido. Sistema de cacheado. Y ademas se entiende muy bien con las bases de datos orientados-a-documentos como CouchDB o MongoDB al igual que con MySQL. Para el futuro tienen previsto el manejo de sesiones, localización y enrutamiento de URLs.<strong> Atrevido.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://makoframework.com"><img class="alignright  wp-image-222" title="Mako Framework" src="http://teknomada.es/teknomada/wp-content/uploads/download-150x150.png" alt="Mako Framework" /></a><strong><a title="Mako Framework" href="http://makoframework.com/" target="_blank">Mako Framework</a></strong> &#8211; Mako es encantador. Un framework minimalista, pero facilmente extensible, que te proporciona todo lo necesario para desarrollar tus aplicaciones rápidamente en PHP. Caching. Encriptación. Bases de datos. Sesiones. Logs. Etc.. <strong>Todo en uno.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://symfony.com/"><img class="alignleft  wp-image-154" style="margin-top: 35px; margin-bottom: 25px; margin-right: 25px;" title="Symfony" src="http://teknomada.es/teknomada/wp-content/uploads/avatar34_4.gif.png" alt="Symfony" /></a><strong><a title="High Performance PHP Framework for Web Development - Symfony" href="http://symfony.com/" target="_blank">Symfony</a></strong> &#8211; Symfony maduró y Symfony2 gira el enfoque incluso más hacia aplicaciones enterprise. Tomando muchos conceptos de Ruby on Rails busca proveer el control a través de unas convenciones (en lugar de muchas configraciones). Symfony viene provisto tambien de unas herramientas (de comando de linea) para hacer pruebas, depurar código y documentar tu aplcación web. Estilo <strong>Django / Ruby on Rails.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://www.yiiframework.com/"><img class="alignright  wp-image-152" style="margin-bottom: 25px; margin-top: 35px;" title="Yii Framework" src="http://teknomada.es/teknomada/wp-content/uploads/yii_framework_jpg_15153.jpg" alt="Yii Framework" /></a><strong><a title="Yii Framework: Best for Web 2.0 Development" href="http://www.yiiframework.com/" target="_blank">Yii Framework</a></strong> &#8211; Yii tiene muy buena fama. Es un framework PHP orientado-a-objetos que se basa en componentes. Dice ser el mejor framework el desarrollo de aplicaciones web 2.0 .. MVC. Puede hacer bases de datos (DAO/ActiveRecord). Caching. Localización de idiomas. Validación. Autenticación. Roles. Ademas viene con herramientas para agilizar el desarrollo y probar el código. <strong>PHP puro y duro.</strong></p>
<hr style="margin: 40px 0pt 50px 15%; width: 70%; color: rgba(150, 150, 150, 0.5);" />
<p style="text-align: justify;"><a href="http://framework.zend.com/"><img class="alignleft  wp-image-256" style="margin-top: 40px;" title="Zend Framework" src="http://teknomada.es/teknomada/wp-content/uploads/zend-framework-150x150.png" alt="Zend Framework" /></a><strong><a title="Zend Framework" href="http://framework.zend.com/" target="_blank">Zend Framework</a></strong> &#8211; Zend es la solución corporativa. Destacan sus licencias corporativas amigables y su base de código. Zend la empresa que se encarga del lenguaje PHP disponen de documentación extensa, comunidad activa y extensiblilidad con modulos probados. Arquitectura flexible. Muchas extensiones como Zend Studio, Zend Server, etc&#8230; <strong>Enterprise.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/desarrollo-web/top-10-frameworks-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>¡Feliz 420!</title>
		<link>http://teknomada.es/sin-categoria/feliz-420/</link>
		<comments>http://teknomada.es/sin-categoria/feliz-420/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 02:25:52 +0000</pubDate>
		<dc:creator>teknomada</dc:creator>
				<category><![CDATA[Sin categoría]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=139</guid>
		<description><![CDATA[¡Una vez al año no hace daño! Y como verán por esta imagen hay razones para creer que esta planta es verdaderamente buena y útil para la humanidad.. como lo ha sido durante grandisima parte de la historia. Más información acerca del cannabis en Rincon del Kenke. Visita: Rincon del Kenke (www.rincondelkenke.com)]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">¡Una vez al año no hace daño! Y como verán por esta imagen hay razones para creer que esta planta es verdaderamente buena y útil para la humanidad.. como lo ha sido durante grandisima parte de la historia. Más información acerca del cannabis en <a style="font-style: normal;" title="RINCON DEL KENKE | INFORMACION CANNABICA" href="http://rincondelkenke.com/" target="_blank">Rincon del Kenke</a>.</p>
<p><span id="more-139"></span></p>
<p style="text-align: center;"><a href="http://static.teknomada.es/images/15-things-weed.jpg"><img class=" aligncenter" title="15 Cosas Que Deberias Saber Sobre la Marijuana" src="http://teknomada.es/teknomada/wp-content/uploads/weed.jpg" alt="" /></a></p>
<p>Visita: <a title="RINCON DEL KENKE | INFORMACION CANNABICA" href="http://rincondelkenke.com/" target="_blank">Rincon del Kenke (www.rincondelkenke.com)<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/sin-categoria/feliz-420/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Herramientas (Gratuitas) Online para Desarrolladores Web</title>
		<link>http://teknomada.es/desarrollo-web/10-herramientas-gratuitas-online-para-desarrolladores-web/</link>
		<comments>http://teknomada.es/desarrollo-web/10-herramientas-gratuitas-online-para-desarrolladores-web/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 00:16:06 +0000</pubDate>
		<dc:creator>teknomada</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=103</guid>
		<description><![CDATA[Se acerca el día en el que casi todas las aplicaciones se ejecutaran en el navegador. Ya tenemos editores de imagenes online (estilo PhotoShop), editores de flash, de documentos como Google Docs&#8230; aplicaciones web para todo! Reproductores de música, traductores, etc. etc&#8230; Hoy os voy a dejar con algunas de las aplicaciones online especialmente útiles ]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">Se acerca el día en el que casi todas las aplicaciones se ejecutaran en el navegador. Ya tenemos editores de imagenes online (estilo PhotoShop), editores de flash, de documentos como Google Docs&#8230; aplicaciones web para todo! Reproductores de música, traductores, etc. etc&#8230; Hoy os voy a dejar con algunas de las aplicaciones online especialmente útiles para desarrolladores web. La mayoría de estas utilidades os ayudaran a crear código HTML5, CSS3 y JavaScript, aunque incluire también algunos otros que puedan servir.</p>
<p><span id="more-103"></span></p>
<p style="text-align: center;"><a href="http://teknomada.es/wp-content/uploads/html5-logo.png"><img class="aligncenter  wp-image-104" title="HTML5/CSS3 - Utilidades Online para Desarrolladores Web" src="http://teknomada.es/teknomada/wp-content/uploads/html5-logo-300x261.png" alt="HTML5/CSS3 - Utilidades Online para Desarrolladores Web" /></a></p>
<p style="text-align: center;"><strong><span style="text-decoration: underline;">HTML5/CSS3</span></strong></p>
<ul>
<li style="text-align: justify;"><a title="CSS3 Generator" href="http://css3generator.com/" target="_blank">CSS3 Generator</a> &#8211; Generador de CSS3. Muy útil para bordes, sombras, transiciones y gradientes.</li>
<li style="text-align: justify;"><a title="Creador del elemento &lt;audio&gt; HTML5" href="http://westciv.com/tools/audio/" target="_blank">HTML5 Audio</a> &#8211; Creador del elemento &lt;audio&gt; HTML5 con muchas opciones. Muy bueno!</li>
<li style="text-align: justify;"><a title="Generador de patrones CSS" href="http://patternizer.com" target="_blank">Patternizer</a> &#8211; Generador de patrones complejos en CSS .</li>
<li style="text-align: justify;"><a title="Validator.nu - Validador de código HTML5" href="http://validator.nu/" target="_blank">Validator.nu</a> &#8211; Validador de código HTML5. Muy bueno!</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><strong><span style="text-decoration: underline;">IMAGEN</span></strong></p>
<ul>
<li style="text-align: justify;"><a title="Color Scheme Designer - Diseña Esquemas de Colores" href="http://colorschemedesigner.com/" target="_blank">Color Scheme Designer</a> &#8211; Experimenta y diseña un buen esquema de colores con esta aplicación.</li>
<li style="text-align: justify;"><a title="Generador de FavIcon" href="http://tools.dynamicdrive.com/favicon/" target="_blank">FavIcon</a> &#8211; Generador de favicon.ico que permite subir archivos para convertirlos. *</li>
<li style="text-align: justify;"><a title="Spritebox - Crea el CSS para imagenes sprite." href="http://www.spritebox.net/" target="_blank">Spritebox</a> &#8211; Crea el CSS necesario para tus imagenes sprite.</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><strong><span style="text-decoration: underline;">UTILIDADES</span></strong></p>
<ul>
<li style="text-align: justify;"><a title="jsFiddle - Crear un nuevo Fiddle ..." href="http://jsfiddle.net/" target="_blank">jsFiddle</a> &#8211; Prueba todo tu código en este IDE de HTML5 (HTML, CSS y JavaScript) en directo y en el navegador. Muy recomendado!</li>
<li style="text-align: justify;"><a title="resizeMyBrowser - Prueba distintas resoluciones de monitor..." href="http://resizemybrowser.com/" target="_blank">resizeMyBrowser</a> &#8211; Prueba distintos resoluciones de monitor. Esta utilidad le abrira una nueva ventana al tamaño deseado.</li>
<li style="text-align: justify;"><a title="Style Master CSS Editor" href="http://westciv.com/tools/index.html" target="_blank">Style Master</a> &#8211; Tiene dos <em>bookmarklets</em> (XRAY &amp; MRI) que puedes agregar al navegador, muy utiles para estudiar el código de la página que estas visitando. Parecido al Inspector de Elemento que traen los navegadores.</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><strong><span style="text-decoration: underline;">BONUS </span></strong></p>
<ul>
<li style="text-align: justify;"><a title="Pixlr - Editor de imagenes online" href="http://pixlr.com/editor/" target="_blank">Pixlr</a> &#8211; Editor de imagenes online (estilo Photoshop).</li>
<li style="text-align: justify;"><a title="Cliente FTP en el navegador" href="http://net2ftp.com/" target="_blank">net2ftp</a> &#8211; Cliente FTP en el navegador.</li>
</ul>
<p><a title="resizeMyBrowser - Prueba distintas resoluciones de monitor..." href="http://resizemybrowser.com/" target="_blank"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/desarrollo-web/10-herramientas-gratuitas-online-para-desarrolladores-web/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Monta Tu Propia Nube Privada (con ownCloud)</title>
		<link>http://teknomada.es/linux/monta-tu-propia-nube-privada-con-owncloud/</link>
		<comments>http://teknomada.es/linux/monta-tu-propia-nube-privada-con-owncloud/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 06:35:03 +0000</pubDate>
		<dc:creator>Mora Zyx</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=82</guid>
		<description><![CDATA[Una de las tendencias hoy en las nuevas tecnologías es el de la computación en la nube. Muchas compañías se dedican a proveer a sus clientes de sistemas de cloud computing como son: DropBox, Google Docs, Amazon EC2 &#8230; son algunos de los más conocidos. Algo menos conocido es el sistema de código abeirto ownCloud, ]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">Una de las tendencias hoy en las nuevas tecnologías es el de la computación en la nube. Muchas compañías se dedican a proveer a sus clientes de sistemas de <em style="font-style: normal;">cloud computing</em> como son: <a style="font-style: normal;" title="Dropbox" href="http://www.dropbox.com" target="_blank">DropBox</a>, <a style="font-style: normal;" title="Google Docs" href="http://docs.google.com" target="_blank">Google Docs</a>, <a style="font-style: normal;" title="Amazon EC2" href="http://aws.amazon.com/ec2/" target="_blank">Amazon EC2</a> &#8230; son algunos de los más conocidos. Algo menos conocido es el sistema de código abeirto <a title="ownCloud" href="http://www.owncloud.org" target="_blank">ownCloud</a>, una solución sencilla para montar tu propia nube.</p>
<p><span id="more-82"></span></p>
<p style="text-align: center;"><a href="http://teknomada.es/wp-content/uploads/002fa_ownCloud-logo-square.png"><img class="aligncenter  wp-image-94" style="background: none repeat scroll 0% 0% #ffffff; padding: 5px; border: 1px solid #cccccc;" title="Monta tu propia nube privada (con ownCloud)" src="http://teknomada.es/teknomada/wp-content/uploads/002fa_ownCloud-logo-square-150x150.png" alt="Monta tu propia nube privada (con ownCloud)" /></a></p>
<p style="text-align: justify;">Yo diría que <a title="ownCloud" href="http://www.owncloud.org" target="_blank">ownCloud</a> es incluso más fácil de montar que <a title="WordPress" href="http://www.wordpress.org" target="_blank">WordPress</a>, pues no es necesario configurar una base de datos <em>MySQL</em> para que funcione. Es parecido a <em>WordPress</em> en que es simplemente un programa <em>PHP</em> que puedes subir a tu servidor y usar.</p>
<p style="text-align: justify;">Con <em>ownCloud</em> podras subir y editar archivos desde el navegador y/o sincronizarlo con tu ordenador personal usando <em>WebDav</em>. Algunas de las características destacadas de <em>ownCloud</em> son:</p>
<ul style="text-align: justify;">
<li>Editar Archivos de Texto y Código</li>
<li>Reproductor de Música</li>
<li>Compartir con Grupos y Otros Usuarios</li>
</ul>
<p style="text-align: justify;"> Para instalarlo,</p>
<ol>
<li style="text-align: justify;">Visita <a title="ownCloud" href="http://www.owncloud.org" target="_blank">www.owncloud.org</a> y descarga la última versión &#8230;</li>
<li style="text-align: justify;">Extraer los archivos. Subirlos al servidor &#8230;</li>
<li style="text-align: justify;">Darle permisos de escritura al servidor para la carpeta data/ &#8230;</li>
<li style="text-align: justify;">Empezar a disfrutar de tu propia nube privada.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/linux/monta-tu-propia-nube-privada-con-owncloud/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Diseño &#8220;Responsive&#8221; con HTML5/CSS3 @media</title>
		<link>http://teknomada.es/desarrollo-web/diseno-responsive-con-html5-css3-media/</link>
		<comments>http://teknomada.es/desarrollo-web/diseno-responsive-con-html5-css3-media/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 12:21:33 +0000</pubDate>
		<dc:creator>teknomada</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://teknomada.es/?p=24</guid>
		<description><![CDATA[Los @media &#8220;queries&#8221; (o peticiones) en CSS estan consideros como algo dificiles, aunque resultan facil y muy útil para ciertas situaciones. Se usan ampliamente para darle a un página responsividad, que en términos de diseño web quiere decir hacer que una página se adapte a distintas navegadores en muy diversos dispositivos. &#8230; que la experiencia ]]></description>
			<content:encoded><![CDATA[<p class="extracto" style="text-align: justify;">Los @media &#8220;queries&#8221; (o <em>peticiones</em>) en CSS estan consideros como algo dificiles, aunque resultan facil y muy útil para ciertas situaciones. Se usan ampliamente para darle a un página <em>responsividad</em>, que en términos de diseño web quiere decir hacer que una página se adapte a distintas navegadores en muy diversos dispositivos.</p>
<p><span id="more-24"></span></p>
<p style="text-align: center;"><a href="http://teknomada.es/wp-content/uploads/2012/04/responsive-css-media.jpg"><img class="aligncenter  wp-image-48" style="border: 1px solid;" title="Diseño Web &quot;Responsive&quot; con HTML5/CSS3 @media" src="http://teknomada.es/teknomada/wp-content/uploads/2012/04/responsive-css-media.jpg" alt="Diseño Web &quot;Responsive&quot; usando HTML5/CSS3 @media" /></a></p>
<address style="text-align: center;"><em>&#8230; que la experiencia sea mas personalizada &#8230;</em></address>
<p>&nbsp;</p>
<p>Para usarlo creamos un estilo CSS como siempre y ponemos:</p>
<pre class="css-code">@media (max-width: 500px) {
  body { background: red; }
}</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">Aqui podemos hacer que el body tenga un fondo rojo si sucede que la anchura (max-width) sea menor de alguna cantidad &#8211; aqui 500px.</p>
<p style="text-align: justify;">Podemos extender esto facilmente para darnos unos efectos simples pero inspiradoras &#8230;</p>
<pre class="css-code">@media (max-width: 500px) {
  body { background: red; }
}

@media (max-width: 700px) {
  body { background: yellow; }
}</pre>
<p>&nbsp;</p>
<p style="text-align: justify;"> Ahora veremos que el fondo va cambiando dependiendo de la anchura de nuestra ventana del navegador.</p>
<p style="text-align: justify;">¿Para que sirve esto? Mayormente, es asi que se hacen interfazes dedicadas para dispositivos (como los comunes iPad, y tal &#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://teknomada.es/desarrollo-web/diseno-responsive-con-html5-css3-media/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 3.753 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-02-28 16:44:05 -->
<!-- Compression = gzip -->