<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://www.lacoctelera.com/stylesheets/atom.css" type="text/css"?>
<feed version="0.3" 
xmlns="http://purl.org/atom/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
>
	<title>mamuso.net</title>
	<tagline type="text/html" mode="escaped"></tagline>
	<link rel="alternate" type="text/html" href="http://mamuso.net"/>
	<modified>2010-01-24T21:41:14+00:00</modified>
	<info type="application/xhtml+xml" mode="xml">
		<div xmlns="http://www.w3.org/1999/xhtml">
			This is an Atom syndication feed. It is intended to be viewed in a news aggregator or syndicated to another site.  Please visit the <a href="http://intertwingly.net/wiki/pie/">Atom Project</a> for more information.
		</div>
	</info>	
	<dc:subject>Música</dc:subject>
	
	<generator url="http://www.the-shaker.com" version="v0.1">the-shaker: that blog/flickr/multimedia-aggregator kind of thing</generator>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2010/01/24/frontend-andar-casa</id>
		<title>Frontend de andar por casa</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2010/01/24/frontend-andar-casa" />
		<issued>2010-01-24T21:41:14+00:00</issued>
		<updated>2010-01-28T00:01:42+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;&lt;a href=&quot;http://frontdeandarporcasa.mamuso.net/&quot;&gt;&lt;img class=&quot;imgdcha&quot; src=&quot;http://s3.amazonaws.com/lcp/mamuso/myfiles/frontend.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;Me &lt;strong&gt;encanta&lt;/strong&gt; dar cursitos. En realidad me gusta todo lo que implique hablar e intercambiar opiniones.&lt;/p&gt;
&lt;p&gt;Hace unos meses tuve la suerte de dar un cursete para un pequeño puñado de almas pacientes. Todo empezó con un mensaje de &lt;a href=&quot;http://raul.murciano.net/&quot;&gt;Raul Murciano&lt;/a&gt; en la lista de &lt;a href=&quot;http://groups.google.com/group/madrid-rb&quot;&gt;madrid-rb&lt;/a&gt; y de ahí salió una propuesta de temario sobre temas variados de front dirigido a desarrolladores y preparados para degustar en una tarde de viernes y una mañana de sábado.&lt;/p&gt;
&lt;p&gt;En resumen, me lo pasé genial, y encima ellos me trataron como un rey.&lt;/p&gt;
&lt;p&gt;Como todo el mundo sabía algo de html (algunos sabían mucho) la idea era reforzar conceptos, jugar con ejemplos y aprender truquitos para usar todos los días.&lt;/p&gt;
&lt;p&gt;Al terminar el curso quedamos en que les enviaría material, pero la verdad es que había preparado una presentación con tan poquito texto que enviar un pdf con notas y unos ejemplos se me quedaba muuuy cortito.&lt;/p&gt;
&lt;p&gt;Tras darle un par de vueltas la docu del curso ha quedado &lt;a href=&quot;http://frontdeandarporcasa.mamuso.net/&quot;&gt;tal que así&lt;/a&gt;, y por aquí queda por si alguien más puede sacarle partido.&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2010/01/18/correr-grupo</id>
		<title>Correr en grupo</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2010/01/18/correr-grupo" />
		<issued>2010-01-18T23:03:02+00:00</issued>
		<updated>2010-01-29T09:03:04+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;Hace mucho mucho tiempo, al final de mi época universitaria, tenía la suerte de salir a correr de vez en cuando con un par de profesores del departamento donde trabajaba. Ambos tenían más de 50 años por muy poquito y mucha más práctica que yo.&lt;/p&gt;
&lt;p&gt;Siempre hacíamos el mismo circuito, y siempre en el mismo tiempo más o menos. A mi me llevó un mes y pico pillar su ritmo y no ir con la lengua fuera a 50 metros del segundo. A partir de ahí empezamos a recortar tiempos.&lt;/p&gt;
&lt;p&gt;Nunca me dijeron que no daban un duro por mi como corredor de fondo, aunque imagino que el primer día lo pensaron. Tampoco bajaron el ritmo de carrera por mi porque, ellos lo sabían, me harían un flaco favor. Siempre había palabras de ánimo. Y, en lo más profundo de mi flato, siempre sabía quién iba a marcar el ritmo a los dos minutos de empezar a correr.&lt;/p&gt;
&lt;p&gt;Y todo eso no tiene nada que ver con correr, y mucho con el grupo.&lt;/p&gt;
&lt;p&gt;Ahora toca correr solo.&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2009/12/01/poniendo-bonito-input-file</id>
		<title>Poniendo bonito un input file</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2009/12/01/poniendo-bonito-input-file" />
		<issued>2009-12-01T06:15:56+00:00</issued>
		<updated>2009-12-03T21:13:16+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;&lt;img class=&quot;imgcen&quot; src=&quot;http://s3.amazonaws.com/lcp/mamuso/myfiles/file.png&quot; alt=&quot;&quot; /&gt;Revisando los diseños de formularios que últimamente pasan por mis manos no está de más revisitar las técnicas que nos permiten &quot;poner bonito un input file&quot;.&lt;/p&gt;
&lt;p&gt;Las más populares son &lt;a href=&quot;http://www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom&quot;&gt;la clásic de shaun inman&lt;/a&gt;, y una elaborada por Michael McGrady (&lt;a href=&quot;http://www.quirksmode.org/dom/inputfile.html&quot;&gt;según PPK&lt;/a&gt;). Por mi parte estoy mucho más de acuerdo esta última, aunque creo que si la vamos a usar varias veces en un proyecto necesitamos que sea un poquito más flexible.&lt;/p&gt;
&lt;p&gt;He escrito un plugin pequeñito que hace el trabajo sucio y nos permite centrarnos en estilizar el input file falso y no en todo lo demás. Depende de jquery porque la mayoría del tiempo trabajo con este framework, pero sería fácil dejarlo limpio de dependencias.&lt;/p&gt;
&lt;p&gt;Por el momento funciona, echadle un vistazo a la &lt;strong&gt;&lt;a href=&quot;http://demo.mamuso.net/0002_jquery.prettyfile.html&quot;&gt;demo&lt;/a&gt;&lt;/strong&gt; :)&lt;/p&gt;
&lt;p&gt;El código fuente lo podéis encontrar en su correspondiente &lt;a href=&quot;http://github.com/mamuso/jquery.prettyfile&quot;&gt;repositorio en github&lt;/a&gt;..&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2009/11/08/filtrando-clases-con-jquery-filterprojects</id>
		<title>filtrando por clases con jquery.filterprojects</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2009/11/08/filtrando-clases-con-jquery-filterprojects" />
		<issued>2009-11-08T21:51:34+00:00</issued>
		<updated>2009-11-30T00:22:26+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;&lt;a href=&quot;http://demo.mamuso.net/0001_jquery.filterprojects.html&quot;&gt;&lt;img class=&quot;imgcen&quot; src=&quot;http://s3.amazonaws.com/lcp/mamuso/myfiles/jquery.filterprojects.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;Hace unos días andaba buscando alguna solución que cuadrase para la interfaz de la zona de clientes de la web de &lt;a href=&quot;http://the-cocktail.com/es/projects&quot;&gt;The Cocktail&lt;/a&gt;. Los requerimientos eran fáciles: teníamos una lista de proyectos tagueados con el sector al que pertenecen (ocio, servicios financieros, educación) y con las áreas que han intervenido (front, back, marketing, hci...) y teníamos que poder filtrarlos combinando ambos parámetros.&lt;/p&gt;
&lt;p&gt;Sin rascar demasiado encontré &lt;a href=&quot;http://www.newmediacampaigns.com/files/posts/filterable/filterable.html&quot;&gt;filterable&lt;/a&gt;, y la verdad a simple vista parecía cuadrar así que me guardé el enlace y seguí trabajando. Cuando me tocó ponerme manos a la obra entendí que filterable sólo me iba a servir como inspiración para empezar a trabajar.&lt;/p&gt;
&lt;p&gt;Ya con el filtro de The Cocktail hecho empecé a pensar que seguro que podía hacerlo un poquito más genérico y darle un poquito más de alma. El resultado es &lt;strong&gt;jquery.filterprojects&lt;/strong&gt;, un plugincillo que facilita esta tarea y que no está especialmente atado a la sintaxis de tu html.&lt;/p&gt;
&lt;p&gt;Puedes personalizar unas cuantas cosillas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;filterTagSelector: &lt;/strong&gt;Debe de ser un array con una colección de enlaces cuyo href sea el tag a filtrar (href=&quot;#enanos-de-jardin&quot;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;animationSpeed (900): &lt;/strong&gt;Puedes ajustar la duración de la animación que se va a ejecutar al filtrar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;animationPulse (100): &lt;/strong&gt;Esto me encanta :) Es el tiempo que va a dejar entre el comienzo de cada animación, hace el efecto menos mecánico. Si prefieres todo al mismo tiempo pon un 0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;animationEase (&quot;linear&quot;): &lt;/strong&gt;puedes usar también &quot;swing&quot; o instalar cositas extra para poder aplicárselo al &lt;a href=&quot;http://docs.jquery.com/Effects/animate&quot;&gt;animate&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;activeClass (&quot;active&quot;): &lt;/strong&gt;Qué clase vas a usar en los selectores de filtrado cuando esté la clase activa.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;allTag (&quot;all&quot;): &lt;/strong&gt;Es el tag que queremos usar en los selectores de filtrado para decir que seleccione todos los tags del grupo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;randomize (true): &lt;/strong&gt;Hace que al filtrar los elementos estos aparezcan y desaparezcan en ordern aleatorio. Si tenemos animationPulse a 0 no se nota nada :)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;show: ({ width: 'show', opacity: 'show' }): &lt;/strong&gt;parámetros para mostrar los elementos, basados en los necesarios para &lt;a href=&quot;http://docs.jquery.com/Effects/animate&quot;&gt;animate&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;hide: ({ width: 'hide', opacity: 'hide' }): &lt;/strong&gt;parámetros para ocultar los elementos, basados en los necesarios para &lt;a href=&quot;http://docs.jquery.com/Effects/animate&quot;&gt;animate&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y la sintaxis es facilita:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;  $(&quot;#posts&quot;).filterprojects({      animationSpeed: 1000,      animationPulse: 80,      randomize: false,      show: { height: 'show' },      hide: { height: 'hide' },      filterTagSelector: [ '#issues a' ]    });    &lt;/pre&gt;
&lt;p&gt;Pero como esto es mucho más fácil verlo que contarlo (como siempre) échale un vistazo a &lt;a href=&quot;http://demo.mamuso.net/0001_jquery.filterprojects.html&quot;&gt;estas demos&lt;/a&gt; o descárgatelo en &lt;a href=&quot;http://github.com/mamuso/jquery.filterprojects&quot;&gt;github&lt;/a&gt;. Durante los próximos días le casco unos tests, le paso la podadora y le amplio la documentación.&lt;/p&gt;
&lt;p&gt;Me lo disfruten :)&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2009/11/01/presentando-sociedad-reticulatorjs</id>
		<title>Presentando en sociedad a Reticulatorjs</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2009/11/01/presentando-sociedad-reticulatorjs" />
		<issued>2009-11-01T22:48:23+00:00</issued>
		<updated>2009-11-01T23:01:40+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;&lt;a href=&quot;http://reticulatorjs.mamuso.net/&quot;&gt;&lt;img class=&quot;imgdcha&quot; src=&quot;http://s3.amazonaws.com/lcp/mamuso/myfiles/reticulatorjs.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;Hace ya un tiempecillo que terminé este pequeño experimento y todavía no había dejado nada por escrito aquí (si hasta le he hecho un site!).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://reticulatorjs.mamuso.net/&quot;&gt;Reticulatorjs&lt;/a&gt; es una pequeña librería que te permite poner una retícula encima de la maqueta que estés realizando.&lt;/p&gt;
&lt;p&gt;La idea era fusilar el &lt;a href=&quot;http://sofanaranja.com/reticulator/&quot;&gt;Reticulator&lt;/a&gt; para Fireworks de &lt;a href=&quot;http://sofanaranja.com/&quot;&gt;Ale&lt;/a&gt; (actualmente dentro de &lt;a href=&quot;http://sofanaranja.com/orangecommands/&quot;&gt;OrangeCommands&lt;/a&gt;) y trasladarlo al entorno web. Cuando un diseñador marca una retícula le encanta que se la respeten al traducir su trabajo a html y muchas veces unas guías son más que suficientes para ver si vas bien o no.&lt;/p&gt;
&lt;p&gt;Si la descargas puedes configurártela al gusto y poner guías horizontales y verticales. Si eres vaguete (como yo) puedes configurarlo a través de un bookmarklet o usar un bookmarklet preconfigurado.&lt;/p&gt;
&lt;p&gt;Se puede configurar prácticamente todo: color, opacidad, columnas, gutter... y además puedes activar y desactivar la retícula creada pulsando g+r.&lt;/p&gt;
&lt;p&gt;Siente libre de 'forkear' &lt;a href=&quot;https://github.com/mamuso/reticulatorjs/&quot;&gt;el repo en github&lt;/a&gt;, como hizo el majísimo de &lt;a href=&quot;http://blog.scriptia.net/&quot;&gt;Choan&lt;/a&gt;, que tras unas semanas en funcionamiento me envió un pull request que prácticamente lo reescribía todo :D&lt;/p&gt;
&lt;p&gt;No me enrollo mucho por aquí, es mucho mejor verlo en marcha, así que os invito a que os deis una vueltecita por los &lt;a href=&quot;http://reticulatorjs.mamuso.net/#examples&quot;&gt;ejemplos&lt;/a&gt; :)&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2009/11/01/resumen-casi-ano-casi-post</id>
		<title>Resumen de casi un año en casi un post</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2009/11/01/resumen-casi-ano-casi-post" />
		<issued>2009-11-01T02:15:29+00:00</issued>
		<updated>2009-11-01T21:17:05+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;Casi un año hace que no escribo por aquí, y la verdad es que no será porque no han habido cosas que contar. En estos 10 meses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Me he enamorado un poquito más cada día&lt;/li&gt;
&lt;li&gt;He trabajado mucho, pero he disfrutado mucho más&lt;/li&gt;
&lt;li&gt;Duermo mejor&lt;/li&gt;
&lt;li&gt;Vivo en un 'fin de ciclo' permanente&lt;/li&gt;
&lt;li&gt;Ahora puedo hablar sobre lo que significa estar rodeado de un buen equipo&lt;/li&gt;
&lt;li&gt;Fuí a una mesa redonda en Fundamentos Web y conocí a gente interesantísima&lt;/li&gt;
&lt;li&gt;Cosas estupendas pasaron y pasan en &lt;a href=&quot;http://iwannagothere.com/&quot;&gt;iwannagothere&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Disfruté mucho en &lt;a href=&quot;http://businesstobuttons.com/&quot;&gt;Suecia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Sigo buscando un lightbox que me guste y sea ligero&lt;/li&gt;
&lt;li&gt;Soy muchísimo más manioso, pero más tolerante&lt;/li&gt;
&lt;li&gt;Mis vacaciones de ultramar se convirtieron en vacaciones de 'ultrasofá' &lt;/li&gt;
&lt;li&gt;Me frustra no poder aprender más rápido y en más campos&lt;/li&gt;
&lt;li&gt;Entré en la &quot;zona de confort&quot; y me obligué a salir de ella&lt;/li&gt;
&lt;li&gt;Participé en la &lt;a href=&quot;http://letswadus.com/&quot;&gt;rails rumble&lt;/a&gt; y en la tck rumble improvisada en el wild congress&lt;/li&gt;
&lt;li&gt;He dado muchísisisimos cursos sobre lo bello que es el front (me falta colgar la docu de uno, lo se)&lt;/li&gt;
&lt;li&gt;Escribí por fin &lt;a href=&quot;https://github.com/mamuso/reticulatorjs/tree/master&quot;&gt;reticulatorjs&lt;/a&gt;, aunque luego llegó &lt;a href=&quot;http://www.scriptia.net/&quot;&gt;choan&lt;/a&gt; y me lo reescribió &lt;/li&gt;
&lt;li&gt;Perdí amigos y gané muchos malos ratos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ahora, hablemos de front.&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2009/01/27/google-website-optimizer-on-rails</id>
		<title>Google Website Optimizer (on Rails)</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2009/01/27/google-website-optimizer-on-rails" />
		<issued>2009-01-27T00:30:40+00:00</issued>
		<updated>2009-05-08T14:11:02+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;Sobre el papel &lt;a href=&quot;http://www.google.com/websiteoptimizer&quot;&gt;Google Website Optimizer&lt;/a&gt; parece una herramienta de marketing estupenda. Nos permite definir unos objetivos y probar distintos contenidos o alternativas de una misma página para ver qué funciona mejor. El problema es que para ponerlo en marcha hacen falta &lt;span style=&quot;text-decoration: line-through;&quot;&gt;dos ingenieros de caminos&lt;/span&gt; algunos conocimientos técnicos.&lt;/p&gt;
&lt;p&gt;Tras seleccionar los objetivos google nos da huellas javascript para poner en cabeceras, pies, rodear secciones... Esta página da verdadero pavor la primera vez que la ves. No es de extrañar que antes de asustarte pregunte si lo vas a instalar tú o vas a contar con un equipo técnico para instalarlo.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;imgcen&quot; src=&quot;http://mamuso.net/myfiles/mamuso/Imagen-5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Como miré en mis cajones y no encontré ningún 'web team' me imaginé que esto iba a tener que acabar probándolo en mis propias carnes, así que pensé ¿que haría McGiver?, o mejor, alguien más vago ¿qué haría &lt;a href=&quot;http://www.lacoctelera.com/porras&quot;&gt;Porras&lt;/a&gt;?. Evidentemente algo que me quitase de trabajar más de una vez en esto.&lt;/p&gt;
&lt;p&gt;Buscando lo que había hecho por ahí encontré &lt;a href=&quot;http://github.com/apatten-kidzui/website_optimizer/tree/master&quot;&gt;este plugin&lt;/a&gt;, que incorporaba unos helpers monísimos pero no me valía por tres cositas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GWO es para usarlo una temporadita, decidir qué contenido es el que nos da mejor rendimiento y olvidarlo. Así que si puedo evitar modificar la aplicación mejor.&lt;/li&gt;
&lt;li&gt;Tengo que incluir scripts concretos en páginas concretas. Si todas mis páginas comparten layout y quiero tener varios experimentos activos al mismo tiempo me toca montar la fiesta del 'elsif' o alguna similar, y... ﻿﻿si puedo evitar modificar la aplicación mejor.&lt;/li&gt;
&lt;li&gt;Si esto del GWO al final es buena idea, que parece que sí, van a querer usarlo en más sitios, y si yo o cualquiera de los agraciados podemos evitar modificar las aplicaciones... mejor!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Así que lo descarté y traté de construir algo que cumpliese con todo lo anterior.&lt;/p&gt;
&lt;p&gt;Y de la &lt;a href=&quot;http://sofanaranja.com/2007/09/19/elogio-de-la-vagancia/&quot;&gt;vagancia&lt;/a&gt; más absoluta ha salido la primera versión de &lt;strong&gt;&lt;a href=&quot;http://github.com/mamuso/gwo_on_rails/tree/master&quot;&gt;gwo_on_rails&lt;/a&gt;&lt;/strong&gt;, un pequeñisimo plugin que te permite integrar este servicio tirando de un triste (pero bonito) yaml.&lt;/p&gt;
&lt;p&gt;Está por limpiar, refactorizar y podar, amen de hacer tests más robustos, pero la realidad es que simplifica bastante el trabajo y ya está funcionando en un site en producción, en una home, a las mil maravillas sin modificar para nada la aplicación: instalar y rellenar el fichero de configuración.&lt;/p&gt;
&lt;p&gt;¿Se puede pedir más? seguro que sí, hay partes que seguro se pueden resolver de formas más eficientes y otras que se a ciencia cierta que son un poquito matar moscas a cañonazos, así que cualquier sugerencia para mejorar el plugin será recibida con los brazos abiertos.&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2009/01/05/acts_as_unvlogable-plugin-manejarlos-todos</id>
		<title>Acts_as_unvlogable: un plugin para manejarlos a todos :)</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2009/01/05/acts_as_unvlogable-plugin-manejarlos-todos" />
		<issued>2009-01-05T00:18:26+00:00</issued>
		<updated>2009-12-07T15:35:44+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;Hace ya más de un añito que &lt;a href=&quot;http://unvlog.com/&quot;&gt;unvlog&lt;/a&gt; salió a la luz y durante todo este tiempo hemos ido añadiendo soporte para más servicios de video a la criatura.&lt;/p&gt;
&lt;p&gt;Como cualquier 'equipo A' que se precie teníamos un plan: sólo integraríamos servicios que tuviesen API. Pero un día implementas el primero que no la tiene, después ves que la estructura inicial la podías haber planteado de otro modo... y a la vuelta de un año tienes un montón de código esparcido por controladores, modelos y módulos que necesita orden.&lt;/p&gt;
&lt;p&gt;De este 'barrer la casa' ha salido el plugin &lt;a href=&quot;http://github.com/mamuso/acts_as_unvlogable/tree/master&quot;&gt;acts_as_unvlogable&lt;/a&gt; que permite sacar de varios servicios de video, más o menos populares, una información básica a partir de la url.&lt;/p&gt;
&lt;p&gt;Por ejemplo. Si tenemos este preciosos video de vimeo: &lt;a href=&quot;http://vimeo.com/1766353&quot;&gt;http://vimeo.com/1766353&lt;/a&gt; podemos averiguar su título, conseguir un thumbnail, la url del embed, el html necesario para embeberlo y la url del flv así de fácil:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt;  video = UnvlogIt.new(&quot;http://vimeo.com/1766353&quot;) video.title # =&gt; &quot;Nice Clean White&quot;  video.thumbnail # =&gt; &quot;http://images.vimeo.com/ [...] /141150563_506.jpg&quot;  video.embed_url # =&gt;  &quot;http://vimeo.com/moog [...] how_portrait=1&quot;  video.embed_html(400, 300) # =&gt; &quot; object width='400' height='300' [...] /object&quot;  video.flv # =&gt;  &quot;http://www.vimeo.com/ [...] /video.flv&quot;  &lt;/pre&gt;
&lt;p&gt;La elección de estos datos y no otros es porque nostros utilizamos en la aplicación, y porque es el minimo común en todos los servicios.&lt;/p&gt;
&lt;p&gt;Para saber cómo instalarlo, conocer todos los métodos y en general para tener información totalmente actualizada te recomiendo que le eches un vistazo a la &lt;a href=&quot;http://github.com/mamuso/acts_as_unvlogable/tree/master&quot;&gt;página del plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;El plugin tiene dos dependencias, &lt;a href=&quot;http://rubyforge.org/projects/youtube-g/&quot;&gt;youtube-g&lt;/a&gt; y &lt;a href=&quot;https://code.whytheluckystiff.net/hpricot/&quot;&gt;hpricot&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En esta versión del plugin los servicios soportados son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/&quot;&gt;Youtube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://video.google.com/&quot;&gt;Google video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://flickr.com/&quot;&gt;Flickr (videos)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://metacafe.com/&quot;&gt;Metacafe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dailymotion.com/&quot;&gt;Dailymotion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://collegehumor.com/&quot;&gt;Collegehumor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blip.tv/&quot;&gt;Blip.tv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://vids.myspace.com/&quot;&gt;Myspace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ted.com/talks/&quot;&gt;Ted Talks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://11870.com/&quot;&gt;11870.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://qik.com/&quot;&gt;Qik&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.marca.tv/&quot;&gt;Marca.tv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.dalealplay.com/&quot;&gt;Dalealplay&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estamos abiertos a incluir muchísimos más, no os cortéis en pedir! Además todos los que vayamos integrando en unvlog, acabarán en el plugin.&lt;/p&gt;
&lt;p&gt;La intención es mantener el plugin vivo y hacerlo evolucionar, así que si lo usáis en una aplicación y encontráis cualquier fallo o deja de funcionar algún servicio o tenéis alguna idea para hacerlo más útil nos gustaría que nos lo contases en nuestro &lt;a href=&quot;http://tickets.unvlog.com/projects/show/acts-as-unvlogable&quot;&gt;sistema de soporte&lt;/a&gt;.
&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2008/12/04/attachment_fu-rmagick-y-cintas-video</id>
		<title>Attachment_fu, RMagick y cintas de video</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2008/12/04/attachment_fu-rmagick-y-cintas-video" />
		<issued>2008-12-04T02:36:36+00:00</issued>
		<updated>2008-12-04T09:10:43+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;Hoy hemos hecho un import masivo de imágenes a una web, y han quedado así, tan bonitas con todos sus tamaños bien buestos gracias a &lt;a href=&quot;http://github.com/technoweenie/attachment_fu/tree/master&quot;&gt;attachment_fu&lt;/a&gt; (vía &lt;a href=&quot;http://rmagick.rubyforge.org/&quot;&gt;RMagick&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Cuando he ido a la web a comprobar qué tal quedaba todo me he dado cuenta de que los thumbnails generados descargaban lentitos, así que por pura casualidad me dió por mirar el tamaño de cada imagencita de 50x50 pixeletes de nada.&lt;/p&gt;
&lt;p&gt;Mmmm.... 60kb!!!! WTF!!!!&lt;/p&gt;
&lt;p&gt;Vale, tranquilidad... es un error... voy a mirar mi importación en local que seguro que está mejor.&lt;/p&gt;
&lt;p&gt;Pues mira no, está igual :)&lt;/p&gt;
&lt;p&gt;La primera solución, y la más obvia, es la de tocar la calidad de la imagen en la importación en rmagick, de hecho &amp;lt;a href=&quot;http://sobrerailes.com/&quot;&amp;gt;Lupión&amp;lt;/a&amp;gt; me envió &lt;a href=&quot;http://blog.philburrows.com/articles/2008/05/03/hacking-attachment_fu-to-cut-down-on-image-size-while-keeping-things-pretty/&quot;&gt;este post&lt;/a&gt; donde incluso te hablan de tocar la imagen de forma selectiva en función del thumbnail.&lt;/p&gt;
&lt;p&gt;Así que nada... toco mi métodito en attachment_fu y le casco una calidad de 70 y... ya está!!&lt;/p&gt;
&lt;p&gt;Reimportamos mientras me tomo un cafetito y... ale, ha terminado. Esto no puede haber salido mal, pero por si las moscas voy a ver qué ocupa la misma image de 50x50.&lt;/p&gt;
&lt;p&gt;Aha... 45kb... mecagoen!!!!!&lt;/p&gt;
&lt;p&gt;Antes de sacar el hacha vamos a ver qué puede tener esa imagen. Command + i y...&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;imgcen&quot; src=&quot;http://mamuso.net/myfiles/mamuso/perfilimg.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Aha... así que este thumbnail se ha hecho con una nikon :)&lt;/p&gt;
&lt;p&gt;El caso es que RMagick al manipular una imagen no nos elimina ni los posibles comentarios y notas que pueda tener la imagen, ni ninguno de sus perfiles, ni exif... vamos, que se viene con todos los metadatos puestos. En una imagen mediana o grande tal vez esos Kbs de más no molesten, pero en cositas tan pequeñas yo prefiero eficiencia a sobreinformación.&lt;/p&gt;
&lt;p&gt;Podemos ser mucho más selectivos, pero por lo general el comando &lt;a href=&quot;http://www.simplesystems.org/RMagick/doc/image3.html#strip_bang&quot;&gt;strip!&lt;/a&gt; es nuestro amigo :) De este modo en &lt;em&gt;vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb&lt;/em&gt;, en el método &lt;em&gt;resize_image&lt;/em&gt;, retocamos esta linea:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt; self.temp_path = write_to_temp_file(img.to_blob) &lt;/pre&gt;
&lt;p&gt;Por esto:&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;ruby&quot;&gt; img.strip! self.temp_path = write_to_temp_file(img.to_blob {self.quality = 70}) &lt;/pre&gt;
&lt;p&gt;Lo de la calidad es opcional, RMagick usa por defecto el 75% de calidad, que es válida para un montón de casos.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;imgdcha&quot; src=&quot;http://mamuso.net/myfiles/mamuso/A0100283_1_thumbnail.jpg&quot; alt=&quot;&quot; /&gt;Así que volvemos a lanzar la importación... 3... 2... 1... y a ver. Esta vez no nos esperamos a que acabe :) Et voilà! Su imagen de 4Kb!&lt;/p&gt;
&lt;p&gt;Cosa fina!&lt;/p&gt;

		</content>
	</entry>
	<entry>
		<author>
			<name>mamuso.net</name>
			<logo>http://s3.amazonaws.com/lcp/mamuso/myfiles/v2-200-thumb-10344-mamuso2-065x65.gif</logo>
		</author>
		<id>http://mamuso.net/post/2008/10/29/tag-me-baby</id>
		<title>Tag me baby</title>
		<link rel="alternate" type="text/html" href="http://mamuso.net/post/2008/10/29/tag-me-baby" />
		<issued>2008-10-29T09:36:37+00:00</issued>
		<updated>2008-10-29T09:36:37+00:00</updated>
		<content type="text/html" mode="escaped">		
&lt;p&gt;Aquí el posteador tardío :)&lt;/p&gt;
&lt;p&gt;Algunos de los sospechosos habituales, lease &lt;a href=&quot;http://www.furilo.com/&quot;&gt;Álvaro Ortiz&lt;/a&gt;, &lt;a href=&quot;http://www.inwebwetrust.net/&quot;&gt;Fernando Blat&lt;/a&gt;, &lt;a href=&quot;http://www.kekoponte.com/&quot;&gt;Keko&lt;/a&gt; y un servidor, hicimos equipo para el pasado &lt;a href=&quot;http://railsrumble.com/&quot;&gt;Rails Rumble&lt;/a&gt; y por fin llevamos a cabo &lt;a href=&quot;http://tagueame.r08.railsrumble.com/&quot;&gt;Tagueame&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src='http://mamuso.net/myfiles/mamuso/tagueame.png' width='312' height='104' class='imgcen'/&gt;&lt;/p&gt;
&lt;p&gt;El concepto es fácil, taguear personas :) Como este es un post que viene del pasado ya lo han explicado mis compañeros estupendamente &lt;a href=&quot;http://www.furilo.com/archivos/tagueame-nuestra-participacion-en-el-rails-rumble-08/&quot;&gt;aquí&lt;/a&gt;, &lt;a href=&quot;http://www.inwebwetrust.net/post/2008/10/20/tagueame-the-rails-rumble-application&quot;&gt;aquí&lt;/a&gt; o &lt;a href=&quot;http://www.kekoponte.com/?p=477&quot;&gt;aquí&lt;/a&gt;. Así que yo sólo voy a decir que el reto de hacer una aplicación en un par de días, sin horarios extremos es refrescante.&lt;/p&gt;
&lt;p&gt;Además, que yo tenga controlado, hay dos equipos más de rails hispano: &lt;a href=&quot;http://ostraka.r08.railsrumble.com/&quot;&gt;ostraka&lt;/a&gt; y &lt;a href=&quot;http://cahiers.r08.railsrumble.com/&quot;&gt;cahiers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Quedaron listas para calificación &lt;a href=&quot;http://railsrumble.com/entries&quot;&gt;130 aplicaciones&lt;/a&gt; y todavía hoy se puede votar con un sistema aleatorio bastante curioso.
&lt;/p&gt;

		</content>
	</entry>
</feed>
