<?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>jlaso, autor en BorrowBits</title>
	<atom:link href="https://borrowbits.com/author/joseluislaso/feed/" rel="self" type="application/rss+xml" />
	<link>https://borrowbits.com/author/joseluislaso/</link>
	<description>...un blog sobre Tecnología y Opinión</description>
	<lastBuildDate>Mon, 02 Mar 2015 21:50:37 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://i0.wp.com/borrowbits.com/wp-content/uploads/2016/06/cropped-logo-bbits-nuevo-crayon.png?fit=32%2C32&#038;ssl=1</url>
	<title>jlaso, autor en BorrowBits</title>
	<link>https://borrowbits.com/author/joseluislaso/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">188667123</site>	<item>
		<title>[Evento] Introducción a Appcelerator Titanium y conexión con un backend en PHP</title>
		<link>https://borrowbits.com/2014/08/evento-introduccion-a-appcelerator-titanium-y-conexion-con-un-backend-en-php/</link>
					<comments>https://borrowbits.com/2014/08/evento-introduccion-a-appcelerator-titanium-y-conexion-con-un-backend-en-php/#comments</comments>
		
		<dc:creator><![CDATA[jlaso]]></dc:creator>
		<pubDate>Wed, 27 Aug 2014 07:00:30 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tecnologia & Ciencia]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[appcelerator titanium]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[slimframework]]></category>
		<category><![CDATA[titanium]]></category>
		<guid isPermaLink="false">http://borrowbits.com/?p=5972</guid>

					<description><![CDATA[<p>El día 5 de setiembre de 2014 tendré la oportunidad de hablar en el grupo de PHP Valencia acerca de como  crear una app móvil con el entorno de desarrollo de Appcelerator &#8220;Titanium&#8221;. Los que tengaís la posibilidad de acudir se celebrará en el espacio de cooworking GeeksHubs a las 19&#8217;00 del 5 de Septiembre [&#8230;]</p>
<p>La entrada <a href="https://borrowbits.com/2014/08/evento-introduccion-a-appcelerator-titanium-y-conexion-con-un-backend-en-php/" data-wpel-link="internal">[Evento] Introducción a Appcelerator Titanium y conexión con un backend en PHP</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">El día 5 de setiembre de 2014 tendré la oportunidad de hablar en el grupo de <a title="PHP Valencia" href="https://twitter.com/phpvalencia" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">PHP Valencia</a> acerca de como  crear una app móvil con el entorno de desarrollo de <a title="Appcelerator" href="http://www.appcelerator.com/" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">Appcelerator</a> &#8220;Titanium&#8221;.</p>
<p style="text-align: justify;"><span id="more-5972"></span></p>
<p style="text-align: justify;">Los que tengaís la posibilidad de acudir se celebrará en el espacio de cooworking <a title="Geeks Hubs" href="http://www.geekshubs.com" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">GeeksHubs</a> a las 19&#8217;00 del 5 de Septiembre de 2014.</p>
<p style="text-align: justify;">El entorno de desarrollo elegido no es otro que el afamado Titanium de Appcelerator, debido a su <strong>sencillez</strong> de uso, su curva de <strong>aprendizaje</strong>, su cantidad de <strong>documentación</strong>, a que admite desarrollo <strong>multiplataforma</strong> y a que el entorno corre en los <span style="text-decoration: underline;">tres sistemas operativos más utilizados</span>. Como backend usaremos una aplicación desarrollada en <a title="SlimFramework" href="http://www.slimframework.com/" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">SlimFramework:</a> un framework de PHP muy ligero.</p>
<p style="text-align: justify;"><img data-recalc-dims="1" fetchpriority="high" decoding="async" class="alignnone size-large wp-image-5980" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/08/Screen-Shot-2014-08-25-at-03.54.05-pm-1024x767.png?resize=770%2C577" alt="Screen Shot 2014-08-25 at 03.54.05 pm" width="770" height="577" /></p>
<p style="text-align: justify;">De la mano de una sencilla aplicación para móvil, que no por sencilla no va a recoger todos los puntos carismáticos que debería de recoger cualquier aplicación móvil que se precie &#8230; intentaré abrir los ojos a los desarrolladores de aplicaciones web hechas con PHP para que <strong>se lancen</strong> al mundo de aplicaciones móviles.</p>
<p style="text-align: justify;">Creando una sencilla API REST veremos como somos capaces de integrar en una <strong>aplicación online</strong> todos los datos necesarios, abarcando toda la idiosincrasia propia de este tipo de aplicaciones: <span style="text-decoration: underline;">notificaciones push</span>, <span style="text-decoration: underline;">geolocalización</span>, conexión con un backend, uso del <strong>ACS</strong> de Appcelerator.</p>
<p style="text-align: justify;">A los que no podáis ir no os preocupéis pues publicaré las transparencias y el video de la presentación, con alusiones directas al código fuente que voy a utilizar para la charla.</p>
<p style="text-align: justify;">Ambos se publicarán en github en código abierto y será posible descargarse la aplicación del market y verla en vivo gracias a la colaboración de <a title="Ahiroo server solutions" href="http://www.ahiroo.com" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">ahiroo</a> que  presta un servidor para hacer correr la parte backend de PHP.</p>
<p style="text-align: justify;">Ya os digo que no será una aplicación muy útil a nivel práctico aunque si a nivel de tocar todos los puntos fuertes en el desarrollo de este tipo de <strong>aplicaciones online</strong>.</p>
<p style="text-align: justify;">Este es el enlace al <a title="Doodle para la charla de Patrick JL Laso" href="http://doodle.com/ara2k85mpgzkfdrf" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">doodle</a> para asistir.</p>
<p style="text-align: justify;"><a title="Introduction to Titanium and how to connect with a PHP backend" href="http://www.jaitec.net/blog/introduction-to-titanium-and-how-to-connect-with-a-php-backend" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">You can see this post in english.</a></p>
<p>La entrada <a href="https://borrowbits.com/2014/08/evento-introduccion-a-appcelerator-titanium-y-conexion-con-un-backend-en-php/" data-wpel-link="internal">[Evento] Introducción a Appcelerator Titanium y conexión con un backend en PHP</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://borrowbits.com/2014/08/evento-introduccion-a-appcelerator-titanium-y-conexion-con-un-backend-en-php/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5972</post-id>	</item>
		<item>
		<title>DeSymfonyDay 2014</title>
		<link>https://borrowbits.com/2014/06/desymfonyday-2014/</link>
					<comments>https://borrowbits.com/2014/06/desymfonyday-2014/#respond</comments>
		
		<dc:creator><![CDATA[jlaso]]></dc:creator>
		<pubDate>Thu, 05 Jun 2014 15:19:26 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tecnologia & Ciencia]]></category>
		<category><![CDATA[desymfony]]></category>
		<category><![CDATA[desymfonyday]]></category>
		<category><![CDATA[desymfonyday 2014]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[tradukoj]]></category>
		<guid isPermaLink="false">http://borrowbits.com/?p=5870</guid>

					<description><![CDATA[<p>Después de vivir otro intenso DeSymfony estas son mis primeras impresiones. Este año se ha celebrado en un sólo un día y con menos asistentes, volviendo de alguna manera  a los orígenes, a los primeros DeSymfony. Para mí una suerte haber estado entre las 160 o 170 personas que pudieron adquirir su entrada. Supongo que [&#8230;]</p>
<p>La entrada <a href="https://borrowbits.com/2014/06/desymfonyday-2014/" data-wpel-link="internal">DeSymfonyDay 2014</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Después de vivir otro intenso DeSymfony estas son mis primeras impresiones.</p>
<p style="text-align: justify;">Este año se ha celebrado en un sólo un día y con menos asistentes, volviendo de alguna manera  a los orígenes, a los primeros <a title="DeSymfony" href="http://www.desymfony.com" target="_blank" data-wpel-link="external" rel="external noopener noreferrer"><strong>DeSymfony</strong></a>. Para mí una suerte haber estado entre las 160 o 170 personas que pudieron adquirir su entrada. Supongo que los que se han quedado fuera no les habrá parecido tan bien.</p>
<p style="text-align: justify;"><span id="more-5870"></span></p>
<p style="text-align: justify;"><strong>Quiero contaros primero cómo lo vi como asistente.</strong></p>
<p style="text-align: justify;"><a href="http://www.uab-casaconvalescencia.org/es/index.php?lg=es" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="alignleft size-medium wp-image-5871" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Bo-2_V1IYAArUbp.jpg_large-300x168.jpeg?resize=300%2C168" alt="Bo-2_V1IYAArUbp.jpg_large" width="300" height="168" /></a>Como en otras ediciones la organización lo dio todo para hacer que los asistentes nos sintiéramos a gusto en un entorno espectacular: <a title="Casa Convalescencia, Barcelona" href="http://www.uab-casaconvalescencia.org/es/index.php?lg=es" target="_blank" data-wpel-link="external" rel="external noopener noreferrer"><strong><span style="text-decoration: underline;">la Casa Convalescencia en Barcelona</span></strong></a>. El catering: soberbio,  debo decir no obstante que me despistó un poco el tipo de comida, quizá demasiado natural para las cosas que acostumbro a comer.</p>
<p style="text-align: justify;">Lo de tener <strong>un solo <em>track</em></strong> me evitó tener que decidir qué charla quería escuchar, cosa que agradecí.  Para incentivar el uso del &#8220;coco&#8221; entre los asistentes la organización propuso un <a title="Reto deSymfonyDay 2014" href="https://github.com/deSymfonyDay/phpGolf/blob/master/terms/challenge.md" target="_blank" data-wpel-link="external" rel="external noopener noreferrer"><strong>reto</strong></a> con el premio de una entrada para el próximo SymfonyCon, valorada por lo visto en unos 250 euros. Lo del reto <strong>me partió por la mitad</strong>,  en cuanto mi cerebro escuchó reto no quedó sitio en mi cabeza para nada más.</p>
<p style="text-align: justify;">Desde aquí dar las gracias a la organización por la brillante iniciativa y la <strong>enhorabuena al ganador</strong>, y decirle que no se confíe pues de no haberme quedado sin batería la cosa hubiera cambiado  <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p style="text-align: justify;"><a href="http://www.phpgolf.org/challenge/99-Tests" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="aligncenter wp-image-5872 size-medium" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-05-31-a-las-20.39.47-285x300.png?resize=285%2C300" alt="Captura de pantalla 2014-05-31 a la(s) 20.39.47" width="285" height="300" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-05-31-a-las-20.39.47.png?resize=285%2C300&amp;ssl=1 285w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-05-31-a-las-20.39.47.png?resize=286%2C300&amp;ssl=1 286w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-05-31-a-las-20.39.47.png?resize=370%2C388&amp;ssl=1 370w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-05-31-a-las-20.39.47.png?resize=270%2C283&amp;ssl=1 270w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-05-31-a-las-20.39.47.png?resize=570%2C598&amp;ssl=1 570w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-05-31-a-las-20.39.47.png?w=648&amp;ssl=1 648w" sizes="(max-width: 285px) 100vw, 285px" /></a></p>
<p style="text-align: justify;"><strong>Ahora mis impresiones como ponente.</strong></p>
<p style="text-align: justify;"><strong><img data-recalc-dims="1" decoding="async" class="alignright size-medium wp-image-5873" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/IMG_0572-300x225.jpg?resize=300%2C225" alt="IMG_0572" width="300" height="225" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/IMG_0572.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/IMG_0572.jpg?resize=370%2C278&amp;ssl=1 370w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/IMG_0572.jpg?resize=270%2C203&amp;ssl=1 270w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/IMG_0572.jpg?resize=80%2C60&amp;ssl=1 80w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/IMG_0572.jpg?w=480&amp;ssl=1 480w" sizes="(max-width: 300px) 100vw, 300px" />Aunque yo había presentado los papeles para asistir como ponente</strong>, no fuí seleccionado. He de reconocer que el nivel de las charlas era muy superior a lo que yo iba a contar. Aún así, gracias al modelo <em>unconference</em> que instauraron en la edición anterior y al voto de compañeros y amigos conseguí al final hablar en una de esas mini-charlas de 10 minutos.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">La verdad es que no lo pasé muy bien</span>, los nervios me traicionaron y el hecho de no llevar nada medianamente preparado unido al control del poco tiempo me hizo precipitarme y al final terminar en mucho menos de lo acordado (10 minutos). <strong>Me faltan tablas</strong> y sobre todo &#8220;chicha&#8221; en lo que tengo que contar, espero que esto no merme mis oportunidades de hablar el año que viene, aunque <strong>me ha venido bien</strong> para  preparar en el futuro presentaciones mejores, abundar más en lo que quiero contar y sobre todo con fundamento.</p>
<p style="text-align: justify;">En todo caso, <strong>agradecer</strong> de corazón a la organización y a los compañeros que me votaron, dándome así esa tan ansiada oportunidad y pedir disculpas si el contenido de mi charla no fue tan brillante como la de otros compañeros de <em>unconference</em>.</p>
<p style="text-align: justify;"><img data-recalc-dims="1" decoding="async" class="alignleft wp-image-5874 size-medium" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/06/Captura-de-pantalla-2014-06-01-a-las-07.24.36-300x168.png?resize=300%2C168" alt="Captura de pantalla 2014-06-01 a la(s) 07.24.36" width="300" height="168" /></p>
<p style="text-align: justify;">He colgado las <em>slides</em> de la presentación <strong><a title="Sockets in PHP by Joseluis Laso" href="http://www.slideshare.net/JoseluisLaso/sockets-in-php-by-joseluislaso" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">aquí</a> </strong>tal cual se expusieron, pero prometo hacer una presentación completa con lo que quería contar y resubir la presentación con todo, con más código y alguna demostración del comando que pretendo implementar en tradukoj explicado de arriba a abajo.</p>
<blockquote>
<p style="text-align: justify;">Gracias de nuevo a todos y  especialmente a aquellos que se han interesado por el proyecto <strong><a title="Translations by JLaso dor Symfony2 projects" href="http://www.tradukoj.com" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">www.tradukoj.com</a></strong>, si alguno leéis estas líneas sed libres de preguntar cuantas cosas creáis oportunas sobre el proyecto y sed bienvenidos al <strong><a title="Translations group" href="https://groups.google.com/forum/?hl=es#!forum/translations_sf" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">grupo de google</a></strong>.</p>
</blockquote>
<p>La entrada <a href="https://borrowbits.com/2014/06/desymfonyday-2014/" data-wpel-link="internal">DeSymfonyDay 2014</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://borrowbits.com/2014/06/desymfonyday-2014/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5870</post-id>	</item>
		<item>
		<title>DrupalCamp Spain 2014</title>
		<link>https://borrowbits.com/2014/05/drupalcamp-spain-2014/</link>
					<comments>https://borrowbits.com/2014/05/drupalcamp-spain-2014/#comments</comments>
		
		<dc:creator><![CDATA[jlaso]]></dc:creator>
		<pubDate>Wed, 21 May 2014 06:17:55 +0000</pubDate>
				<category><![CDATA[Cultura]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[drupalcamp]]></category>
		<category><![CDATA[drupalcampspain]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tradukoj]]></category>
		<guid isPermaLink="false">http://borrowbits.com/?p=5844</guid>

					<description><![CDATA[<p>Este fín de semana la capital del Turia ha acogido a la DrupalCamp Spain 2014, a la cual fuí en calidad de ponente. No puedo dejar pasar la oportunidad de contaros lo que ha supuesto para mí esta experiencia. En primer lugar aclarar que ha sido  la segunda vez que he hablado en público, la [&#8230;]</p>
<p>La entrada <a href="https://borrowbits.com/2014/05/drupalcamp-spain-2014/" data-wpel-link="internal">DrupalCamp Spain 2014</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Este fín de semana la capital del Turia ha acogido a la <strong><a title="DrupalCamp Spain 2014" href="http://2014.drupalcamp.es" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">DrupalCamp Spain 2014</a></strong>, a la cual fuí en calidad de ponente.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;"><em>No puedo dejar pasar la oportunidad de contaros lo que ha supuesto para mí esta experiencia.</em></span></p>
<p style="text-align: justify;"><span id="more-5844"></span></p>
<p style="text-align: justify;">En primer lugar aclarar que ha sido  la segunda vez que he hablado en público, la <strong>primera</strong> en un evento tan importante, ya que la anterior en realidad la hice en un grupo de amigos para preparar ésta.</p>
<p style="text-align: justify;"><a href="http://2014.drupalcamp.es" target="_blank" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="alignright wp-image-5846 size-thumbnail" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/badge01_imaspeaker_orange-150x150.png?resize=150%2C150" alt="badge01_imaspeaker_orange" width="150" height="150" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/badge01_imaspeaker_orange.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/badge01_imaspeaker_orange.png?w=300&amp;ssl=1 300w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/badge01_imaspeaker_orange.png?resize=270%2C270&amp;ssl=1 270w" sizes="(max-width: 150px) 100vw, 150px" /></a></p>
<p style="text-align: justify;">Sin duda, y pese a mis nervios, para mí, <strong>todo un éxito</strong>. Fué gente, a pesar de la hora de la charla (9 de la mañana de un domingo de resaca), y además se hicieron algunas preguntas, lo cual indica que los asistentes estaban más o menos despiertos. Muchos de ellos son amigos o compañeros, a los cuales desde este foro quiero agradecer la deferencia de seguirme y sobre todo el <em>feedback</em> que me ayudará a mejorar como ponente para las próximas.</p>
<p style="text-align: justify;">En cuanto al evento, <strong>quiero felicitar oficialmente a la organización</strong> por la pulcritud en el desarrollo de todos los actos. En el terreno particular soy una persona a la que le gusta comer, y el catering fué sencillamente espectacular, quizá, por no ponerlo todo de color de rosa, el café era muy mejorable. Hubo paella como no podía ser de otra manera y cena de hermandad en un entorno único (L&#8217;Umbracle).</p>
<p style="text-align: justify;"><strong>El entorno</strong>: el centro cultural Bancaja que hay en la plaza Tetúan, sin duda, perfecto para la ocasión.</p>
<p style="text-align: justify;">En cuanto a las charlas, he de aclarar que hasta que no me decidí a participar en ese evento como ponente, <strong>poco o nada sabía de Drupal</strong>, salvo el hecho de que la próxima versión, la 8, incorporará componentes de Symfony en el núcleo.</p>
<p style="text-align: justify;"><a href="http://www.slideshare.net/JoseluisLaso" target="_blank" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="alignright wp-image-5855 size-medium" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-20-a-las-04.27.20-300x224.png?resize=300%2C224" alt="Captura de pantalla 2014-05-20 a la(s) 04.27.20" width="300" height="224" /></a></p>
<p style="text-align: justify;">Tengo que decir que si me jacto de que la comunidad de Symfony a la que pertenezco es numerosa, comprometida y hermanada, <strong>no puedo decir menos de la comunidad de Drupal</strong>. Desde dentro viví momentos de verdadero compromiso, hermanamiento y ansias por compartir experiencias y conocimientos. Para mí además, a valorar el hecho de que están organizados y tienen una asociación nacional, cosa que hecho en falta en mi ámbito.</p>
<p style="text-align: justify;">Al final, se demostró que no somos tan diferentes, y que como programadores web en PHP, buscamos, además de <strong>ganarnos la vida</strong> con algo que nos satisface y enorgullece,  tratamos de hacerlo <strong>lo mejor posible</strong>, cada cual con las armas de las que dispone.</p>
<p style="text-align: justify;"><img data-recalc-dims="1" decoding="async" class="alignleft wp-image-5851 size-full" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/logo-translations.png?resize=242%2C242" alt="logo-translations" width="242" height="242" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/logo-translations.png?w=242&amp;ssl=1 242w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/logo-translations.png?resize=150%2C150&amp;ssl=1 150w" sizes="(max-width: 242px) 100vw, 242px" /></p>
<p style="text-align: justify;">Yo hablé de un desarrollo personal para ayudar a los programadores de Symfony (próximamente para más ámbitos) a gestionar las traducciones de sus proyectos: <a title="Translations by JLaso for Symfony2 projects" href="https://www.tradukoj.com" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">www.tradukoj.com</a> (leído tradúcoi). Y sobre todo centré la charla en la dificultad técnica que encontré durante los múltiples procesos de sincronización de información que al final resolví con la utilización de alguna que otra  argucia, como puede ser el hecho de <strong>usar sockets en bruto</strong> y la <strong>compresión de la información</strong>.</p>
<p style="text-align: justify;">He recibido críticas, enhorabuenas y consejos, los cuales desde aquí quiero agradecer porque es justo lo que busco: mejorar. Y  además ofrecer a todos aquellos que quieran usar el proyecto, además de colaborar, la posibilidad de hacerme llegar cualquier cuestión que crean que ayudará a mejorarlo. Para los interesados dejo aquí el <strong><a title="Sockets al límite" href="http://www.slideshare.net/JoseluisLaso/sockets-al-limite-drupalcamp14" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">link de la presentación</a></strong>, cuando esté el video subido añadiré un link al mismo.</p>
<p style="text-align: justify;"><a href="http://2014.drupalcamp.es/al-l%C3%ADmite-con-los-sockets" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="aligncenter size-medium wp-image-5847" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Bn5ox6PCYAAtW6d-300x225.jpg?resize=300%2C225" alt="Bn5ox6PCYAAtW6d" width="300" height="225" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Bn5ox6PCYAAtW6d.jpg?resize=300%2C225&amp;ssl=1 300w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Bn5ox6PCYAAtW6d.jpg?resize=370%2C278&amp;ssl=1 370w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Bn5ox6PCYAAtW6d.jpg?resize=270%2C203&amp;ssl=1 270w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Bn5ox6PCYAAtW6d.jpg?resize=570%2C428&amp;ssl=1 570w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Bn5ox6PCYAAtW6d.jpg?resize=80%2C60&amp;ssl=1 80w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Bn5ox6PCYAAtW6d.jpg?w=600&amp;ssl=1 600w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<blockquote>
<p style="text-align: justify;">Para cerrar, y como conclusión decir que ha sido el fin de semana <strong>más intenso</strong> que jamás he vivido, con experiencias únicas, cerca de personas con los mismos intereses que yo, frikies en la mayoría de los casos, como yo, y gente con unas ganas de compartir increíbles.</p>
</blockquote>
<p style="text-align: justify;"><strong>Gracias DrupalCamp, y hasta bien pronto.</strong></p>
<p style="text-align: justify;"><a class="gridlove-popup-img" href="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="aligncenter size-medium wp-image-5845" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b-300x199.jpg?resize=300%2C199" alt="14020798160_c896a2c6a6_b" width="300" height="199" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg?resize=300%2C199&amp;ssl=1 300w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg?resize=768%2C510&amp;ssl=1 768w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg?w=1024&amp;ssl=1 1024w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg?resize=370%2C246&amp;ssl=1 370w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg?resize=270%2C179&amp;ssl=1 270w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg?resize=570%2C379&amp;ssl=1 570w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/14020798160_c896a2c6a6_b.jpg?resize=740%2C491&amp;ssl=1 740w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>La entrada <a href="https://borrowbits.com/2014/05/drupalcamp-spain-2014/" data-wpel-link="internal">DrupalCamp Spain 2014</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://borrowbits.com/2014/05/drupalcamp-spain-2014/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5844</post-id>	</item>
		<item>
		<title>Usar el servidor embebido de PHP 5.4</title>
		<link>https://borrowbits.com/2014/05/usar-el-servidor-embebido-de-php-5-4/</link>
					<comments>https://borrowbits.com/2014/05/usar-el-servidor-embebido-de-php-5-4/#comments</comments>
		
		<dc:creator><![CDATA[jlaso]]></dc:creator>
		<pubDate>Tue, 13 May 2014 15:23:03 +0000</pubDate>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[servidor embebido]]></category>
		<category><![CDATA[wamp]]></category>
		<category><![CDATA[xampp]]></category>
		<guid isPermaLink="false">http://borrowbits.com/?p=5741</guid>

					<description><![CDATA[<p>¿Cómo sacar partido al servidor http embebido que traen las nuevas versiones de PHP? Sé que si te dedicas al desarrollo web como yo tendrás instalado con toda probabilidad en tu ordenador de trabajo algún servidor http más o menos profesional, casi con seguridad basado en apache, como Xampp o Wamp para Windows, Mamp para [&#8230;]</p>
<p>La entrada <a href="https://borrowbits.com/2014/05/usar-el-servidor-embebido-de-php-5-4/" data-wpel-link="internal">Usar el servidor embebido de PHP 5.4</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify;">¿Cómo sacar partido al servidor http embebido que traen las nuevas versiones de PHP?</h2>
<p style="text-align: justify;">Sé que si te dedicas al desarrollo web como yo tendrás instalado con toda probabilidad en tu ordenador de trabajo algún servidor http más o menos profesional, casi con seguridad basado en apache, como <strong>Xampp</strong> o <strong>Wamp</strong> para Windows, <strong>Mamp</strong> para Mac o el consabido <strong>LAMP</strong> en Linux.</p>
<p style="text-align: justify;"><span id="more-5741"></span></p>
<p style="text-align: justify;"><a href="http://www.php.net" target="_blank" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="alignleft wp-image-5815" title="Logo PHP" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/php-logo-300x210.jpeg?resize=211%2C148" alt="php-logo" width="211" height="148" /></a></p>
<p style="text-align: justify;">Pero aunque sólo sea para aprender algo nuevo o sencillamente por hacer una instalación o prueba rápida voy a presentarte la posibilidad, si tienes instalado php 5.4 o superior de utilizar el servidor http embebido que lleva incorporado.</p>
<p style="text-align: justify;"><strong>Lo primero</strong>: es necesario aclarar  que no se trata de un servidor que debamos usar en producción. Aunque a menudo puedes necesitar probar algo en una máquina diferente de la tuya o probar alguna funcionalidad sin afectar a la configuración de los virtualhost de apache de la máquina en cuestión.</p>
<p style="text-align: justify;">Vamos a ver como se haría  y en todo caso la aplicación práctica puede venir  con un uso futuro. Cuando termines de leer este artículo sabrás usarlo, o al menos que existe la posibilidad, aunque no tengas muy claro los propósitos inicialmente.</p>
<p style="text-align: justify;"><strong>Para arrancar el servicio</strong>, tal y como lo haríamos con un apache, desde el terminal invocaremos la orden <span style="color: #008000;"><strong>php -S localhost:port</strong></span>, siendo localhost  la IP por la que vamos a acceder, si quisieramos que este servicio esté disponible a otros ordenadores de nuestra red en lugar de localhost pondríamos 0.0.0.0</p>
<p style="text-align: justify;">Si tenemos funcionando un servidor apache en el puerto convencional 80 es conveniente lanzar el comando anterior (php -S localhost:port) <strong>con un puerto diferente al 80</strong>, para no solaparnos con el de apache, en el mejor de los casos no se atenderá la petición correctamente y en el peor podemos dejar al ordenador colgado.</p>
<p style="text-align: justify;">Una vez iniciado veremos la siguiente traza en el terminal:</p>
<pre><span style="color: #000000;"><strong>  PHP 5.4.24 Development Server started at Tue Apr 15 23:43:00 2014</strong>
 <strong> Listening on http://localhost:8080</strong>
 <strong> Document root is /Users/joseluislaso/prueba</strong>
 <strong> Press Ctrl-C to quit.</strong></span></pre>
<p style="text-align: justify;">Una de las ventajas de usar este método es que todas las peticiones que se hagan en el navegador producirán una salida en el terminal con los detalles de la misma.</p>
<p style="text-align: justify;">Por ejemplo si ponemos en la barra del navegador la siguiente direccion: <span style="text-decoration: underline; color: #3366ff;">http://localhost:8080 </span>veremos la siguiente <strong>traza</strong>:</p>
<pre><span style="color: #000000;"><strong>  [Tue Apr 15 23:45:10 2014] ::1:64354 [302]: /</strong>
 <strong> [Tue Apr 15 23:45:10 2014] ::1:64358 [404]: /favicon.ico - No such file or directory</strong>
 <strong> [Tue Apr 15 23:45:10 2014] ::1:64359 [404]: /favicon.ico - No such file or directory</strong></span></pre>
<p style="text-align: justify;">Como puedes ver además de lo que se muestre propiamente en el navegador obtendremos de manera inmediata el resultado de lo que hace internamente el servidor de http.</p>
<p style="text-align: justify;">Esto también lo podemos obtener de apache con un tail del log, pero aquí es mucho más rápido y compacto en principio.</p>
<p style="text-align: justify;">Veamos ahora de que manera podemos <strong>configurar el comportamiento</strong> del servidor embebido.</p>
<ul style="text-align: justify;">
<li>Podemos indicar una carpeta como raiz, simplemente indicándola a continuación:</li>
</ul>
<p style="padding-left: 30px; text-align: justify;"><strong>php -S localhost:8080 /raiz</strong></p>
<ul style="text-align: justify;">
<li>Podemos indicar un script enrutador que hará las veces de .htaccess, de alguna manera antes de servir cualquier archivo se invocará primero el archivo router y se hará lo que ahí se indique.</li>
</ul>
<p style="padding-left: 30px; text-align: justify;"><span style="text-decoration: underline;">Un ejemplo de router<strong>:</strong></span></p>
<p style="padding-left: 30px; text-align: justify;"><img data-recalc-dims="1" decoding="async" class="alignnone wp-image-5817 size-large" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17-1024x297.png?resize=770%2C223" alt="Captura de pantalla 2014-05-08 a la(s) 07.22.17" width="770" height="223" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?resize=1024%2C297&amp;ssl=1 1024w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?resize=300%2C87&amp;ssl=1 300w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?resize=768%2C223&amp;ssl=1 768w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?resize=370%2C107&amp;ssl=1 370w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?resize=270%2C78&amp;ssl=1 270w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?resize=570%2C165&amp;ssl=1 570w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?resize=740%2C215&amp;ssl=1 740w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/05/Captura-de-pantalla-2014-05-08-a-las-07.22.17.png?w=1296&amp;ssl=1 1296w" sizes="(max-width: 770px) 100vw, 770px" /></p>
<p style="padding-left: 30px; text-align: justify;">Fíjate en que el router está filtrando <strong>por el tipo de archivo</strong> que se le está pidiendo, dando paso tal cual a los archivos de imágenes y añadiendo a la salida un texto en los demás casos. Este es un ejemplo didáctico y su utilidad es bastante nula, en todo caso ten en cuenta que si añadimos a la salida algo antes de enviar una imágen, el flujo de datos hará creer al navegador que la imagen está corrupta, por ello se han exceptuado en el router.</p>
<h2 style="text-align: justify;"><strong>Conclusión</strong></h2>
<p style="text-align: justify;">Los usos prácticos de este mini-tutorial quedan de la mano del lector, como ya he dicho te va permitir por ejemplo probar algún proyecto que te hayas clonado de github y al que quieras echar un vistazo sin necesidad de configurar un virtualhost para él.</p>
<p style="text-align: justify;"><span style="color: #ff6600;"><strong>Recuerda en todo caso que no es un sistema seguro para producción.</strong></span></p>
<p style="text-align: justify;">Puedes encontrar más información en <a title="Servidor web interno en PHP 5.4+" href="http://php.net/manual/es/features.commandline.webserver.php" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">php.net</a></p>
<p>La entrada <a href="https://borrowbits.com/2014/05/usar-el-servidor-embebido-de-php-5-4/" data-wpel-link="internal">Usar el servidor embebido de PHP 5.4</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://borrowbits.com/2014/05/usar-el-servidor-embebido-de-php-5-4/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5741</post-id>	</item>
		<item>
		<title>Symfonycon o deSymfony Day</title>
		<link>https://borrowbits.com/2014/04/symfonycon-o-desymfony-day/</link>
					<comments>https://borrowbits.com/2014/04/symfonycon-o-desymfony-day/#comments</comments>
		
		<dc:creator><![CDATA[jlaso]]></dc:creator>
		<pubDate>Fri, 18 Apr 2014 08:00:50 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[desymfony]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[symfonycon]]></category>
		<guid isPermaLink="false">http://borrowbits.com/?p=5736</guid>

					<description><![CDATA[<p>Hace años que estoy asistiendo a las jornadas que más o menos, coincidiendo con el final del curso lectivo, se vienen celebrando en distintos puntos de de la geografía española, al principio en Castellón, el año pasado en Madrid. Y cuando creíamos que se había consolidado el evento en la capital, se oyen rumores de [&#8230;]</p>
<p>La entrada <a href="https://borrowbits.com/2014/04/symfonycon-o-desymfony-day/" data-wpel-link="internal">Symfonycon o deSymfony Day</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hace años que estoy asistiendo a las jornadas que más o menos, coincidiendo con el final del curso lectivo, se vienen celebrando en distintos puntos de de la geografía española, al principio en Castellón, el año pasado en Madrid.</p>
<p>Y cuando creíamos que se había consolidado el evento en la capital, se oyen rumores de que, como este año <strong>Symfonycon se va a celebrar en España</strong>, no va a realizarse el evento deSymfony (<a title="deSymfony descará en 2014" href="http://desymfony.com/noticias/desymfony-descansara-en-2014-dando-la-bienvenida-a-symfonycon-madrid" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">ver noticia</a>).</p>
<p><span id="more-5736"></span></p>
<h3>¿Cómo, cuándo, dónde&#8230;?<a class="gridlove-popup-img" href="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/04/symfonycon.png" data-wpel-link="external" rel="external noopener noreferrer"><img data-recalc-dims="1" decoding="async" class="alignright size-full wp-image-5751" src="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/04/symfonycon.png?resize=256%2C256" alt="symfonycon" width="256" height="256" srcset="https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/04/symfonycon.png?w=256&amp;ssl=1 256w, https://i0.wp.com/borrowbits.com/wp-content/uploads/2014/04/symfonycon.png?resize=150%2C150&amp;ssl=1 150w" sizes="(max-width: 256px) 100vw, 256px" /></a></h3>
<p>Al final los organizadores, con muy buen criterio, han decidido hacer una sóla jornada. Esta vez en la ciudad condal. <strong>Desde el día 15 de Abril las entradas están a la venta</strong> y se espera que se vendan todas en la fase early. ¡Dáte prisa si aún no tienes la tuya! <a title="Day deSymfony" href="http://day.desymfony.com" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">day.deSymfony</a></p>
<p>Yo vengo acudiendo a este evento desde el segundo, y tengo que decir que por nada del mundo me gustaría perdermelo. Aunque, este año he estado dudando, entre que sólo es un día y que también está <a title="Symfonycon Madrid 2014" href="https://twitter.com/symfonycon" target="_blank" data-wpel-link="external" rel="external noopener noreferrer">Symfonycon</a>.</p>
<p>Pero al final, presenté mi candidatura para hablar, como ya lo hice el año pasado (espero que mi suerte sea distinta éste) y compré mi flamante entrada de los primeros.</p>
<h3><strong>El 31 de Mayo viviré las 12 horas más intensas de este año</strong>.</h3>
<p>Con gente a la que le mueve lo mismo que a mí, rodeado de amigos y compañeros. Intentando expimir cada minuto del día, asistiendo a todas las charlas y acumulando conceptos. Conceptos que es fácil que ya conozca, sobre todo porque  trabajo con Symfony a nivel profesional desde hace años. Pero, siento decirlo, me sorprendo cada vez más de lo poco que sé.</p>
<p>Ya el año pasado narré una semi crónica del evento en<a href="http://www.jaitec.net/blog/desymfony-2013/" target="_blank" data-wpel-link="external" rel="external noopener noreferrer"> mi blog personal</a>, por eso, no quiero perder la oportunidad de ponerme al día, de estar con gente como yo,<em> frikies</em> la mayoría, <strong>apasionados por el desarrollo web</strong>. Cuando salgan las entradas de Symfonycon y según haya quedado mi economía y mis ganas veré lo que hago, pero lo que va  delante va delante.<br />
A los que tengáis la suerte de poder ir,<strong> ¡nos vemos allí!</strong>, a los que no, procuraré manteneros al día de todas las novedades que allí sucedan.</p>
<p>La entrada <a href="https://borrowbits.com/2014/04/symfonycon-o-desymfony-day/" data-wpel-link="internal">Symfonycon o deSymfony Day</a> se publicó primero en <a href="https://borrowbits.com" data-wpel-link="internal">BorrowBits</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://borrowbits.com/2014/04/symfonycon-o-desymfony-day/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5736</post-id>	</item>
	</channel>
</rss>
