<?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>Indalcasa</title>
	<atom:link href="http://www.indalcasa.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.indalcasa.com</link>
	<description>Un blog de tecnologia</description>
	<lastBuildDate>Tue, 03 Jan 2012 15:14:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>La muerte de symbian</title>
		<link>http://www.indalcasa.com/telefonia/la-muerte-de-symbian/</link>
		<comments>http://www.indalcasa.com/telefonia/la-muerte-de-symbian/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 15:14:37 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[Telefonía]]></category>
		<category><![CDATA[andorid]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[movil]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Symbian]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=796</guid>
		<description><![CDATA[En el año 2010, escribí un artículo que dio un tanto de que hablar, el artículo en concreto fue Los sistemas operativos móviles para smartphones: Android vs iOS vs Symbian vs Windows Phones. Es curioso ver como si se leen los comentarios, la gente va pasando de defensores de Symbian frente al resto de sistemas a [...]]]></description>
			<content:encoded><![CDATA[<p>En el año 2010, escribí un artículo que dio un tanto de que hablar, el artículo en concreto fue<strong> <a title="Los sistemas operativos móviles para smartphones: Android vs iOS vs Symbian vs Windows Phone" href="http://www.indalcasa.com/dispositivos-moviles/los-sistemas-operativos-moviles-para-smartphones-android-vs-ios-vs-symbian-vs-windows-phone/">Los sistemas operativos móviles para smartphones: Android vs iOS vs Symbian vs Windows Phones</a></strong>. Es curioso ver como si se leen los comentarios, la gente va pasando de defensores de <strong>Symbian</strong> frente al resto de sistemas a poco a poco, ir queriendo actualizar a <strong>iOS</strong> o a <strong>Android</strong>. Bueno, escribo esto como aclaratoria, <strong>Symbian finalmente murió</strong>, y <strong>Symbian ha muerto</strong> no por que lo diga yo, sino por los hechos. <strong>Nokia compro el 100% de Symbian</strong>, por lo que el resto de marcas se interesaron por otros sistemas mas estables para los <strong>teléfonos de última generación</strong> (de todos es sabido los problemas de <strong>Symbian</strong> y los <strong>telefonos táctiles</strong>). La propia <strong>Nokia</strong>, por si aun queda algún defensor de este <strong>sistema operativo para móvil</strong>, abandono <strong>Symbian</strong> para utilizar <strong>Windows Phone</strong>, increíble pero cierto. Los planes de futuro de <strong>Symbian</strong>, en teoría mantenido con respiración asistida hasta 2016, son para <strong>teléfonos de baja gama de Nokia</strong>, el típico <strong>teléfono</strong> que tu madre se compraría.</p>
<p>Tengo que decir que es una lastima, ya que todos hemos <strong>crecido con Symbian</strong>, pero en la vida hay que ser fuerte y reconocer una <strong>derrota</strong>, solo nos queda mirar a los <strong>nuevos sistemas como Windows Phone, Android, iOS</strong>, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/telefonia/la-muerte-de-symbian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Deploy de ASP.Net MVC en Apache con mod_mono</title>
		<link>http://www.indalcasa.com/programacion/deploy-de-asp-net-mvc-en-apache-con-mod_mono/</link>
		<comments>http://www.indalcasa.com/programacion/deploy-de-asp-net-mvc-en-apache-con-mod_mono/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 12:34:10 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[.Net (C#)]]></category>
		<category><![CDATA[Mono (C#)]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Visual Basic .Net]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[asp.net mvc]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[vb]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[visual basic]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=792</guid>
		<description><![CDATA[Lo que voy a escribir aquí no es una guía de como instalar Mono ASP.Net con MVC sobre apache con mod_mono, aunque la escribiré, sino como hacer el deploy de una aplicación. Cuando montamos un sistema Mono ASP.Net con MVC sobre apache con mod_mono, hay que tener 3 cosas en cuenta para su correcto funcionamiento, son [...]]]></description>
			<content:encoded><![CDATA[<p>Lo que voy a escribir aquí no es una <strong>guía de como instalar Mono ASP.Net con MVC sobre apache con mod_mono</strong>, aunque la escribiré, sino como hacer el <strong>deploy de una aplicación</strong>. Cuando montamos un <strong>sistema Mono ASP.Net con MVC sobre apache con mod_mono</strong>, hay que tener 3 cosas en cuenta para su correcto funcionamiento, son pequeños detalles pero que te pueden dar algún que otro quebradero de cabeza. Las 3 cosas a tener en cuenta son:</p>
<ul>
<li><strong>Apache no entiende que tu app es MVC</strong>, por lo que hay que decirselo.</li>
<li><strong>Apache ni mod_mono son capaces de dictaminar tu index</strong></li>
<li>Siempre hay que tener algo para <strong>recompilar el backend en caso de cacheo o fallo</strong> (generalmente cuando desarrollamos).</li>
</ul>
<p>Bueno, expliquemos cada una, en primer lugar apache no sabe que tu <strong>app es un MVC de ASP.Net</strong>, por lo que cuando hagamos un <strong>deploy</strong> o creemos un proyecto nuevo de <strong>Mono ASP.Net con MVC</strong>, lo primero a crear es un <strong>.htaccess</strong> forzando a que es un <strong>MVC</strong>. El <strong>código del htaccess</strong> es:</p>
<pre class="brush: text; gutter: true">ForceType application/x-asp-net</pre>
<p>Con esto ya  podemos poner a funcionar nuestra <strong>aplicación web</strong>. El siguiente paso para hacer las cosas bien, sería <strong>crear un index</strong>, ¿Por qué? ¿Acaso no saben cual es mi <strong>index</strong>? Pues no, todas las pruebas, tanto en <strong>Linux</strong> como en <strong>Mac OS X</strong>, es que <strong>mod_mono</strong> no es capaz de entender cual es el <strong>index</strong> que definimos en el <strong>global.asax</strong>, por lo que lo mejor es crear un <strong>index.aspx</strong> que cargue nuestro <strong>HomeController</strong>, o el que queramos. El <strong>index</strong> estaría en el raiz del proyecto y su código sería:</p>
<pre class="brush: csharp; gutter: true">&lt;%@ Page Language=&quot;C#&quot; Inherits=&quot;System.Web.Mvc.ViewPage&quot; %&gt;
&lt;%
   this.Context.RewritePath(&quot;Home&quot;, false);

   IHttpHandler httpHandler = new MvcHttpHandler();
   httpHandler.ProcessRequest(this.Context);
%&gt;</pre>
<p>Lo que hacemos con este <strong>index.aspx</strong> es decirle que cuando cargue la <strong>home</strong> (el <strong>index</strong>) cargue automáticamente el <strong>HomeController</strong>. Ahora solo nos falta crear un sistema de <strong>reseteo de backend</strong> por si se queda en <strong>cache</strong> y queremos cambiar algo. Para ello creamos una carpeta, por ejemplo, <strong>reset-mono-backend</strong> y creamos un <strong>.htaccess</strong> dentro de esa carpeta. Cabe decir que al htaccess lo podemos otorgar de un sistema de <strong>autentificación</strong> y cosas por el estilo para acceder, pero como esto es un ejemplo, será lo más básico. El <strong>contenido del .htaccess</strong> será:</p>
<pre class="brush: text; gutter: true">ForceType None
SetHandler mono-ctrl</pre>
<p>Al entrar en /nuestroproyecto/reset-mono-backend, nos aparecerá una <strong>interfaz</strong> que nos permitirá entre otras cosas, <strong>resetear el backend</strong>. Otro día explicaré como se instala el sistema en si.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/deploy-de-asp-net-mvc-en-apache-con-mod_mono/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Buscar por tag, clase e id en jquery</title>
		<link>http://www.indalcasa.com/programacion/javascript/buscar-por-tag-clase-e-id-en-jquery/</link>
		<comments>http://www.indalcasa.com/programacion/javascript/buscar-por-tag-clase-e-id-en-jquery/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 11:32:16 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=780</guid>
		<description><![CDATA[Hace tiempo escribí un artículo hablando de rendimiento de jQuery y el uso de selectores dobles con jQuery, pero lo que no he hecho es explicar como funciona un selector de jQuery. La idea es que esto no sea "la guía definitiva de jQuery", ni nada por el estilo, sino un breve apunte para los [...]]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo escribí un artículo hablando de <strong><a title="Guía de buenas prácticas para aumentar el rendimiento de jQuery" href="http://www.indalcasa.com/programacion/javascript/guia-de-buenas-practicas-para-aumentar-el-rendimiento-de-jquery/">rendimiento de jQuery</a></strong> y el <strong><a title="Selectores dobles con JQuery, aumentando el rendimiento de JQuery" href="http://www.indalcasa.com/programacion/javascript/selectores-dobles-con-jquery-aumentando-el-rendimiento-de-jquery/">uso de selectores dobles con jQuery</a></strong>, pero lo que no he hecho es explicar <strong>como funciona un selector de jQuery</strong>. La idea es que esto no sea <em><strong>"la guía definitiva de jQuery"</strong></em>, ni nada por el estilo, sino un breve apunte para los lectores, la <strong>visión mas básica del uso de jQuery</strong>.</p>
<p>En este artículo voy a exponer como <strong>seleccionar</strong> de forma mas que simple utilizando un <strong>tag</strong> (<strong>etiqueta de html</strong>), una <strong>clase de css</strong> y un <strong>id</strong>. <strong>jQuery</strong> es un ente muy inteligente y por tanto, sabrá si lo que le estamos pidiendo es que <strong>convierta una etiqueta a jQuery</strong> o que la busque.</p>
<ul>
<li><strong>Buscar por tag con jQuery</strong>: este junto con el de <strong>clase</strong>, son métodos de <strong>búsqueda de poco rendimiento</strong> y que pueden dar como resultado varios objetos (ya que un tag se puede repetir), se indicaría a <strong>jQuery el nombre del tag</strong>.</li>
<li><strong>Buscar por clase con jQuery</strong>: al igual que el anterior, es de <strong>bajo rendimiento</strong> y dará como resultado un <strong>array de objetos</strong>, ya que una <strong>clase</strong> se puede repetir.</li>
<li><strong>Buscar por id con jQuery</strong>: es el mas <strong>optimo</strong> y el que se ha de usar siempre que sea posible. Devolverá un <strong>único objeto</strong> ya que los <strong>id's</strong> en teoría no se repiten.</li>
</ul>
<p>Ahora vista un poco la teoría viene la practica. Lo primero es entender como se hace la <strong>llamada a jQuery</strong>, que tiene 2 formas, la original que es usando la función <strong>jQuery</strong> o la corta que es usando su alias a la <strong>función $</strong>. Veamos un ejemplo genérico de esto y luego uno por cada <strong>selector</strong>.</p>
<pre class="brush: javascript; gutter: true">var selectorjQuery = jQuery(&quot;#mi_id_a_seleccionar&quot;);
var selectorAlias = $(&quot;#mi_id_a_seleccionar&quot;);</pre>
<p>En el ejemplo anterior, el resultado sería el mismo, ya que es similar utilizar la <strong>función jQuery</strong> que la <strong>función $</strong>. Ahora veamos un <strong>ejemplo con los selectores</strong>, con un <strong>código en html</strong> y otro de <strong>código javascript</strong>.</p>
<pre class="brush: xhtml; gutter: true">&lt;p&gt;
   &lt;a href=&quot;#&quot;&gt;Mi link 1&lt;/a&gt;
   &lt;a href=&quot;#&quot; class=&quot;enlace&quot;&gt;Mi link 2&lt;/a&gt;
   &lt;a href=&quot;#&quot; class=&quot;enlace&quot; id=&quot;myLink&quot;&gt;Mi link 3&lt;/a&gt;
&lt;/p&gt;</pre>
<p>Ahora vamos a hacer lo siguiente, con estos enlaces, vamos a poner el color del enlace en negro para todos los enlaces, rojo para los enlaces que tienen una clase enlace y azul para el id myLink</p>
<pre class="brush: javascript; gutter: true">//ponemos todos los enlaces a negro
$(&quot;a&quot;).css(&quot;color&quot;, &quot;#000&quot;);
//los enlaces con la clase .enlace los dejamos en rojo
$(&quot;.enlace&quot;).css(&quot;color&quot;, &quot;#ff0000&quot;);
//el enlace con el id myLink lo ponemos azulado
$(&quot;#myLink&quot;).css(&quot;color&quot;, &quot;#336699&quot;);</pre>
<p>Como podemos observar, las etiquetas se indican con su nombre, las <strong>clases</strong> como si de <strong>css</strong> se tratase, con un punto delante, al igual que los <strong>ids</strong>, que al igual que <strong>css</strong> utilizan una <strong>almohadilla</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/javascript/buscar-por-tag-clase-e-id-en-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Por que no usar django. Breve comparativa entre django, ruby y Mono ASP.Net con MVC</title>
		<link>http://www.indalcasa.com/web-2/por-que-no-usar-django-breve-comparativa-entre-django-ruby-y-mono-asp-net-con-mvc/</link>
		<comments>http://www.indalcasa.com/web-2/por-que-no-usar-django-breve-comparativa-entre-django-ruby-y-mono-asp-net-con-mvc/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 12:26:08 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[asp.net mvc]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=778</guid>
		<description><![CDATA[Hace un tiempo empecé a oír hablar de django y empecé a interesarme por el. La verdad que al principio me llamaba mucho la atención porque la gente no hacia mas que alabar las virtudes de django. Investigando encontraba mas y mas alabanzas, incluso expertos que comparaban django con otros entornos como Mono ASP.Net con [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo empecé a oír hablar de <strong>django</strong> y empecé a interesarme por el. La verdad que al principio me llamaba mucho la atención porque la gente no hacia mas que alabar las virtudes de <strong>django</strong>. Investigando encontraba mas y mas alabanzas, incluso expertos que comparaban <strong>django</strong> con otros entornos como <strong>Mono ASP.Net con MVC</strong> o <strong>ruby</strong>.</p>
<p>A veces las comparaciones son odiosas y esto es que lo les pasa a los demás entornos cuando los comparamos con <strong>django</strong>. Al comparar <strong>django</strong> con <strong>Mono ASP.Net con MVC</strong>, comentaban como un mismo proyecto realizado por programadores expertos en <strong>django</strong>, realizaban muchas mas tareas que los expertos en <strong>ASP.Net</strong> en el mismo tiempo y que el resultado final del proyecto es que era mas rápido y consistente el desarrollo en <strong>django</strong> que en <strong>ASP.Net</strong>. Yo no digo que <strong>django</strong> sea un mal entorno, ni que los programadores de <strong>ASP.Net</strong> sean malos, pero la calidad de un programador de <strong>.Net</strong> realizando una web deja un poco que desear en la mayoría de los casos, no asi un programador friki de <strong>python</strong> que ha decidido hacer webs y que seguramente sea mucho mas versátil que uno de asp.net aunque hiciera la web en <strong>php</strong> y para mi esto no es comparable. Por otro lado comparaban <strong>django</strong> con <strong>ruby</strong> y no me gusto nada la comparación, ya que al comparar, decían que <strong>ruby on rails</strong> era para “nenas” y <strong>django</strong> para “hombre de pelo en pecho”. La verdad que esta comparación, es un poco ridícula, hasta llego a hacerme gracia a pesar de no gustarme.</p>
<p>Ahora vayamos a mi experiencia personal. Decidí instalarme <strong>django</strong>, <strong>ruby</strong> y <strong>Mono ASP.Net con MVC</strong>. Al buscar información, tutoriales o algo de guía para instalar e iniciar <strong>django</strong>, me encuentro con poca información y además centrada para <strong>linux</strong>, seguía las guías para <strong>mac</strong> y me costo sudor y lágrimas hacerlo correr (mi amigo @saikus no fue capaz). Cuando ya conseguí, intente hacer una prueba pero fui incapaz, bastante complicado para empezar sin un libro o sin que alguien te enseñe. Aun así, vi que utiliza una especie de servidor propio, por lo que para por ejemplo hacerlo correr en apache, hay que arrancarlo desde <strong>ssh</strong> y enlazarlo por un fastcgi o similar con <strong>apache</strong>, pero la cuestión es, cuanta comunidad puede generar algo que es muy muy muy dificil que sin ser pro y sin gastar un dineral en hosting, puedan hacer pruebas (yo en mi hosting no puedo instalarlo de momento).</p>
<p>Por ejemplo, mi experiencia con <strong>ruby</strong> o <strong>asp.net</strong> es muy mas satisfactoria, puesto que ruby es tan fácil como instalarlo desde algún <strong>apt-get</strong>, <strong>ports</strong>, descargable, etc y luego instalar las mil y una gemas necesarias. De una forma rápida y fácil puedes hacer funcionar un ejemplo o programar algo no solo en <strong>linux</strong>, sino en <strong>MacOSX</strong>, que es importante, ya que cada vez hay mas gente que usa este sistema. Por otro lado <strong>Mono ASP.Net con MVC</strong> es también muy fácil, quizás algo mas complejo que <strong>ruby</strong>, pero tan fácil como bajarse el instalable o en el peor de los casos las fuentes de la web de <strong>mono</strong> y compilar. <strong>Mono</strong> ya tiene <strong>XSP</strong> que es su propio <strong>server</strong> como ocurre con <strong>django</strong> y <strong>rails</strong>, y con <strong>mod_mono</strong> lo compilamos e instalamos en un periquete en <strong>apache</strong>.</p>
<p>Por que me gusta mas usar <strong>Mono ASP.Net con MVC</strong> que usar <strong>ruby</strong> o <strong>django</strong>. <strong>Django</strong> lo descarto por el costo de su instalación, porque no tengo un buen <strong>IDE</strong> donde poder programarlo y si quisiera pagar aunque fuera poco por los <strong>IDES</strong>, ¿Por qué no volverme a <strong>Windows</strong> y usar <strong>Visual Studio</strong>? <strong>Ruby</strong> es un poco parecido, es mas fácil de instalar y trabajar, pero falta un buen <strong>IDE</strong>, <strong>Netbeans</strong> tiene soporte, al igual que <strong>Eclipse</strong> para <strong>django</strong>, pero son plugins para mi gusto no estan muy muy depurados. Por el lado de <strong>Mono ASP.Net con MVC</strong> tenemos la opción de <strong>monodevelop</strong>, que si bien es cierto que sus primeras versiones eran como los plugins antes mencionados, las ultimas han mejorado sustancialmente y no hay que olvidar que en lugar de ser un <strong>IDE</strong> de java con plugins para <strong>python</strong> o <strong>ruby</strong>, es un <strong>IDE de .Net (dotnet)</strong>, por lo que <strong>mvc</strong> esta soportado nativamente.</p>
<p>En conclusión, a <strong>django</strong> le veo demasiadas pegas que ensombrecen las virtudes que tiene. <strong>Ruby</strong> es quizás el mas equilibrado en cuanto a potencia y tiempo de desarrollo y <strong>Mono ASP.Net con MVC</strong> es mas lento en cuanto a desarrollo pero muy potente, además de no ser un framework añadido a un lenguaje (<strong>mvc</strong> si, pero no <strong>asp</strong>) sino todo un entorno preparado para la web, donde con un par de clicks es muy fácil generar <strong>clientes de servicios web</strong>, o <strong>crear un servicio web xml</strong>, una pagina web o mil cosas mas. Es por esto que yo personalmente me quedo con <strong>Mono ASP.Net con MVC</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/web-2/por-que-no-usar-django-breve-comparativa-entre-django-ruby-y-mono-asp-net-con-mvc/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Nace una nueva empresa, ventanilla única</title>
		<link>http://www.indalcasa.com/la-empresa/nace-una-nueva-empresa-ventanilla-unica/</link>
		<comments>http://www.indalcasa.com/la-empresa/nace-una-nueva-empresa-ventanilla-unica/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 11:22:16 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[La empresa]]></category>
		<category><![CDATA[altair studios]]></category>
		<category><![CDATA[empresa]]></category>
		<category><![CDATA[legal]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=775</guid>
		<description><![CDATA[Llevo demasiado tiempo sin escribir nada. Esto es debido a que tengo tantísimo trabajo que no paro. Tengo tanto trabajo a nivel personal aparte del trabajo ordinario que he decidido crear mi propia empresa de forma oficial. Es por eso que ando tan liado, porque hay que hacer muchas cuentas, prepararlo todo, pagos que hay [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo demasiado tiempo sin escribir nada. Esto es debido a que tengo tantísimo <strong>trabajo</strong> que no paro. Tengo tanto <strong>trabajo</strong> a nivel personal aparte del <strong>trabajo</strong> ordinario que he decidido <strong>crear mi propia empresa de forma oficial</strong>. Es por eso que ando tan liado, porque hay que hacer muchas <strong>cuentas</strong>, prepararlo todo, <strong>pagos</strong> que hay que hacer, <strong>papeles</strong> a rellenar, es una locura. Es por eso que escribo este post, para aquel que le sirva un poco de <strong>guía</strong> y se encuentre en una situación similar a la mía.</p>
<p>En mi caso, no es una <strong>empresa</strong> como tal, sino <strong>darme de alta como autónomo</strong>. El proceso es simple, lo primero que hay que ver antes de <strong>darse de alta como autónomo</strong>, es si te merece o no la pena. En mi caso, en teoría voy a <strong>facturar</strong> bastante, asi que me sale a cuentas, aunque como <strong>autónomo</strong>, siempre esta la opción de <strong>darse de baja el mes que no facturemos</strong>, ahorrándonos la <strong>seguridad social</strong>. Esta práctica no es muy limpia, pero es <strong>legal</strong>. Si en lugar de <strong>autónomo</strong>, se hiciera con una <strong>empresa</strong>, no puedes disolverla tan fácilmente.</p>
<p>Una vez tenemos decidido que vamos a ser <strong>autónomos</strong>, el siguiente paso es acercarnos a la <strong>ventanilla única</strong>, pero ¿Qué es la <strong>ventanilla única</strong>? La <strong><a title="ventanilla única" href="http://www.ventanillaunica.org" target="_blank">ventanilla única</a></strong> es un servicio que ha puesto el <strong>gobierno</strong> para poder realizar <strong>todos los tramites necesarios</strong> en un <strong>único lugar</strong>. Llevando <strong>original</strong> y <strong>fotocopia</strong> (siempre, aunque no se diga, que luego pasa lo que pasa) del <strong>DNI</strong>, <strong>Número de la Seguridad Social</strong> y <strong>número de cuenta bancaria</strong>. Con todo esto en un tris te dan de <strong>alta en la seguridad social como trabajador autónomo</strong>, igual en <strong>hacienda</strong> y con tu <strong>número de cuenta</strong> te lo dejan preparado para <strong>cobrarte</strong> sin molestias.</p>
<p>Una vez hecho esto, solo nos faltará un pequeño detalle y es preparar nuestra <strong>oficina</strong>. Como en mi caso la <strong>empresa</strong> sería una <strong>oficina en casa</strong>, no hace falta que vaya a pedir <strong>permiso al ayuntamiento</strong>, pero si necesito un <strong>libro de visitas</strong>, que habrá que <strong>comprar y sellar</strong> para cuando empiecen a llegar <strong>inspecciones</strong>, te sellen las mismas.</p>
<p>Así empieza un futuro, con mucho trabajo y muchos mas papeles, persiguiendo un sueño que espero que algún día llegue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/la-empresa/nace-una-nueva-empresa-ventanilla-unica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Habilitar sesiones en un handler.ashx con IRequiresSessionState e IReadOnlySessionState</title>
		<link>http://www.indalcasa.com/programacion/dotnet-csharp/habilitar-sesiones-en-un-handler-ashx-con-irequiressessionstate-e-ireadonlysessionstate/</link>
		<comments>http://www.indalcasa.com/programacion/dotnet-csharp/habilitar-sesiones-en-un-handler-ashx-con-irequiressessionstate-e-ireadonlysessionstate/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 08:04:59 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[.Net (C#)]]></category>
		<category><![CDATA[Mono (C#)]]></category>
		<category><![CDATA[Visual Basic .Net]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[Handler]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[vb]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[visual basic]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=766</guid>
		<description><![CDATA[En .Net, bien sea en C# o en VB.Net, hay un tipo de clases llamadas controladores genéricos que nos proveen de un nivel muy básico de controlador web. En ASP.Net, los handlers o  HttpHandler son un tipo de clases tan básicas, que no implementan entre otras cosas, las sesiones, por lo que tendremos que indicar [...]]]></description>
			<content:encoded><![CDATA[<p>En <strong>.Net</strong>, bien sea en <strong>C#</strong> o en <strong>VB.Net</strong>, hay un tipo de clases llamadas <strong>controladores genéricos</strong> que nos proveen de un <strong>nivel muy básico de controlador web</strong>. En <strong>ASP.Net</strong>, los <strong>handlers</strong> o  <strong>HttpHandler</strong> son un tipo de clases tan básicas, que no implementan entre otras cosas, las <strong>sesiones</strong>, por lo que tendremos que indicar explícitamente en la clase que tipo de <strong>sesión vamos a implementar</strong>.</p>
<p>Me voy a centrar en explicar 3 casos que son los más comunes, a la hora de <strong>implementar un handler</strong>:</p>
<ul>
<li><strong>Sin sesión</strong>: para esto no hay que hacer nada, con la declaración por defecto nos es suficiente. <strong>No tendremos acceso a la sesión</strong>, que sera nula si hacemos un <strong>context.Session</strong></li>
<li><strong>Sesión de solo lectura</strong>: para esto debemos <strong>implementar la interfaz IReadOnlySessionState</strong>, de tal modo que al hacer <strong>context.Session</strong>, tenga los <strong>valores de la sesión</strong>, pero no podremos añadir o actualizar datos sobre la <strong>sesión</strong>.</li>
<li><strong>Sesión de lectura y escritura</strong>: para esto debemos <strong>implementar la interfaz IRequiresSessionState</strong>, que nos permitirá acceder a los <strong>datos de la sesión</strong>, así como añadir y actualizar los datos.</li>
</ul>
<div>A continuación dejo unos ejemplos en C# y en VB.Net para que os hagais una idea.</div>
<pre class="brush: csharp; title: Ejemplo de implementación de handlers en C#; notranslate">
//Este ejemplo devolverá un error ya que context.Session es Nothing
public class IndalcasaSessionHandler : System.Web.IHttpHandler {
    public void ProcessRequest(HttpContext context) {
        Object value;

		context.Session.Add(&quot;value&quot;, &quot;un valor&quot;);
		value = context.Session.Item(&quot;value&quot;);

		context.Response.Write(value);
    }
}

//Este ejemplo no devolverá un error ya que context.Session no es Nothing
//pero value tendrá el valor original que tuviera y no el valor &quot;nuevo valor&quot;
//ya que no se puede escribir en la sesión
public class IndalcasaSessionHandler : System.Web.IHttpHandler, System.Web.SessionState.IReadOnlySessionState {
    public void ProcessRequest(HttpContext context) {
        Object value;

		context.Session.Add(&quot;value&quot;, &quot;un valor&quot;);
		value = context.Session.Item(&quot;value&quot;);

		context.Response.Write(value);
    }
}

//Este ejemplo no devolverá un error ya que context.Session no es Nothing
//y actualizará el valor de la sesión correctamente
public class IndalcasaSessionHandler : System.Web.IHttpHandler, System.Web.SessionState.IRequiresSessionState {
    public void ProcessRequest(HttpContext context) {
        Object value;

		context.Session.Add(&quot;value&quot;, &quot;un valor&quot;);
		value = context.Session.Item(&quot;value&quot;);

		context.Response.Write(value);
    }
}
</pre>
<pre class="brush: vb; title: Ejemplo de implementación de handlers en VB.Net; notranslate">
'Este ejemplo devolverá un error ya que context.Session es Nothing
Public Class IndalcasaSessionHandler
    Implements System.Web.IHttpHandler

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        Dim value As Object

		context.Session.Add(&quot;value&quot;, &quot;un valor&quot;)
		value = context.Session.Item(&quot;value&quot;)

		context.Response.Write(value)
    End Sub
End Class

'Este ejemplo no devolverá un error ya que context.Session no es Nothing
'pero value tendrá el valor original que tuviera y no el valor &quot;nuevo valor&quot;
'ya que no se puede escribir en la sesión
Public Class IndalcasaSessionHandler
    Implements System.Web.IHttpHandler, System.Web.SessionState.IReadOnlySessionState

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        Dim value As Object

		context.Session.Add(&quot;value&quot;, &quot;nuevo valor&quot;)
		value = context.Session.Item(&quot;value&quot;)

		context.Response.Write(value)
    End Sub
End Class

'Este ejemplo no devolverá un error ya que context.Session no es Nothing
'y actualizará el valor de la sesión correctamente
Public Class IndalcasaSessionHandler
    Implements System.Web.IHttpHandler, System.Web.SessionState.IRequiresSessionState

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        Dim value As Object

		context.Session.Add(&quot;value&quot;, &quot;nuevo valor&quot;)
		value = context.Session.Item(&quot;value&quot;)

		context.Response.Write(value)
    End Sub
End Class
</pre>
<p>Espero que os saque de un apuro en el que alguna vez me he visto metido por no recordar las <strong>interfaces que hay que implementar para poder leer y/o escribir en la sesión en un controlador genérico de ASP.Net</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/dotnet-csharp/habilitar-sesiones-en-un-handler-ashx-con-irequiressessionstate-e-ireadonlysessionstate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Double.Parse y Decimal.Parse con símbolos de putuación</title>
		<link>http://www.indalcasa.com/programacion/dotnet-csharp/double-parse-y-decimal-parse-con-simbolos-de-putuacion/</link>
		<comments>http://www.indalcasa.com/programacion/dotnet-csharp/double-parse-y-decimal-parse-con-simbolos-de-putuacion/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 09:02:18 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[.Net (C#)]]></category>
		<category><![CDATA[Mono (C#)]]></category>
		<category><![CDATA[Visual Basic .Net]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[vb]]></category>
		<category><![CDATA[vb.net]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=758</guid>
		<description><![CDATA[Un problema que me encuentro a menudo en .Net por igual en Visual Basic o en C#, es cuando tengo que parsear un decimal o un double desde un string. Muchas veces, cuando parseas un double o un decimal, encontramos un error ya que en operaciones matemáticas, el símbolo de puntuación para la parte decimal [...]]]></description>
			<content:encoded><![CDATA[<p>Un problema que me encuentro a menudo en <strong>.Net</strong> por igual en <strong>Visual Basic</strong> o en <strong>C#</strong>, es cuando tengo que <strong>parsear un decimal o un double desde un string</strong>. Muchas veces, cuando <strong>parseas un double o un decimal</strong>, encontramos un error ya que en <strong>operaciones matemáticas</strong>, el <strong>símbolo de puntuación para la parte decimal es el punto</strong>, por lo que al hacer un <strong>Double.Parse(number)</strong> o un <strong>Decimal.Parse(number)</strong>, lo que hace es ignorar el punto y por tanto tomar la <strong>parte decimal</strong> como si fuera <strong>parte entera</strong>. Para que esto no nos pase, tenemos que indicar que el <strong>sistema numérico utilizado es el matemático</strong>, aquel que no varia con la <strong>cultura</strong>. Con un ejemplo se verá mas claro.</p>
<p>Un ejemplo en <strong>C#</strong>:</p>
<pre class="brush: csharp; title: Ejemplo en C#; notranslate">
string number = &quot;15.3&quot;;
double doNumber;
decimal deNumber;

doNumber = double.Parse(number);
deNumber = decimal.Parse(number);

/*
Los valores son:
doNumber = 153
deNumber = 153
*/

doNumber = double.Parse(number, CultureInfo.InvariantCulture);
deNumber = decimal.Parse(number, CultureInfo.InvariantCulture);

/*
Los valores son:
doNumber = 15.3
deNumber = 15.3
*/
</pre>
<p>Un ejemplo en <strong>VB.Net</strong></p>
<pre class="brush: vb; title: Ejemplo en VB.Net; notranslate">
Dim number As String = &quot;15.3&quot;;
Dim doNumber As Double;
Dim deNumber As Decimal;

doNumber = double.Parse(number);
deNumber = decimal.Parse(number);

'Los valores son:
'doNumber = 153
'deNumber = 153

doNumber = double.Parse(number, CultureInfo.InvariantCulture);
deNumber = decimal.Parse(number, CultureInfo.InvariantCulture);

'Los valores son:
'doNumber = 15.3
'deNumber = 15.3
</pre>
<p><strong>CultureInfo</strong> es una clase que provee de información de las culturas y en concreto, la propiedad <strong>InvariantCulture</strong> o <strong>CultureInfo.InvariantCulture</strong>, es quien provee la información de la cultura que no varia por localizaciones, vease el <strong>simbolo de puntuación matemático</strong>. La clase <strong>CultureInfo</strong> se encuentra en el namespace <strong>System.Globalization</strong>, quedado la ruta así: <strong>System.Globalization.CultureInfo.InvariantCulture</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/dotnet-csharp/double-parse-y-decimal-parse-con-simbolos-de-putuacion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guía de buenas prácticas para aumentar el rendimiento de jQuery</title>
		<link>http://www.indalcasa.com/programacion/javascript/guia-de-buenas-practicas-para-aumentar-el-rendimiento-de-jquery/</link>
		<comments>http://www.indalcasa.com/programacion/javascript/guia-de-buenas-practicas-para-aumentar-el-rendimiento-de-jquery/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 08:29:58 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=750</guid>
		<description><![CDATA[Llevo tiempo con ganas de escribir esta guía de buenas prácticas para aumentar el rendimiento de jQuery y de javascript en general. Uno de los principales problemas que nos encontramos por internet son que hasta hace un tiempo, cada javascript era de su padre y de su madre, por lo que perdía importancia dentro del [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.indalcasa.com/wp-content/uploads/2011/04/jquery.png"><img class="alignleft size-full wp-image-730" title="JQuery" src="http://www.indalcasa.com/wp-content/uploads/2011/04/jquery.png" alt="JQuery" width="256" height="256" /></a>Llevo tiempo con ganas de escribir esta <strong>guía de buenas prácticas para aumentar el rendimiento de jQuery y de javascript en general</strong>. Uno de los principales problemas que nos encontramos por internet son que hasta hace un tiempo, cada <strong>javascript </strong>era de su padre y de su madre, por lo que perdía importancia dentro del <strong>desarrollo web</strong> y no <strong>optimizando </strong>esta parte del <strong>código</strong>. Con la inclusión de nuevas ideas a la hora de <strong>desarrollar webs</strong> y la aparición de multitud de <strong>frameworks como jQuery</strong>, <strong>mootools</strong>, <strong>sproutcore</strong>, hacen que el <strong>código javascript</strong> que escriben los desarrolladores, funcione en todos o casi todos los navegadores, pero aún así, algo falla.</p>
<p>Aunque ya no es como pasaba antiguamente que al entrar en una web o tenías <strong>Internet Explorer</strong> o podías olvidarte del <strong>javascript</strong> y por tanto de una gran parte de <strong>funcionalidad en la web</strong>, hoy en día esto no pasa gracias a los <strong>frameworks de javascript</strong>, es cierto que hay un problema y es el <strong>rendimiento</strong>. En este artículo me quiero centrar en el <strong>framework</strong> mas extendido, que es <strong>jQuery</strong> y una <strong>breve guía de como aumentar el rendimiento de jQuery</strong> y por tanto aumentar el <strong>rendimiento de javascript</strong>.</p>
<p>A continuación, detallo un <strong>listado de buenas practicas para aumentar el rendimiento de jQuery</strong>.</p>
<p>&nbsp;</p>
<h2>1. Acceder a id's y no a clases</h2>
<p>Cuando vemos algun ejemplo de <strong>jQuery</strong>, siempre se nos muestra con <em>$(".clase").html("prueba")</em>, esto es un ejemplo que nos lleva a cometer grandes <strong>faltas de rendimiento</strong> cuando trabajamos con un proyecto muy grande. Aunque a veces no nos queda mas remedio que acceder a <strong>clases</strong>, su uso dentro de los <strong>selectores de jQuery</strong>, debemos de evitarlo siempre que podamos, ya que al <strong>acceder por clase</strong>, <strong>jQuery </strong>buscará en todo el código esa <strong>clase</strong>, todas las veces pueda, sin embargo, si utilizamos un <strong>id</strong>, al encontrar la <strong>primera coincidencia</strong>, la búsqueda parará y por tanto la ejecución será mas rápida.</p>
<blockquote>
<pre class="javascript">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.clase&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">html</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;prueba&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #009900; font-style: italic;">//es mas lento</span>
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#id&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">html</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;prueba&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #009900; font-style: italic;">//es mas rápido</span></pre>
</blockquote>
<p>&nbsp;</p>
<h2>2. Utilizar selectores dobles en jQuery</h2>
<p>Hace poco tiempo escribí un artículo sobre el <strong><a href="http://www.indalcasa.com/programacion/javascript/selectores-dobles-con-jquery-aumentando-el-rendimiento-de-jquery/">uso de selectores dobles para aumentar el rendimiento en jQuery</a></strong>. Básicamente y sin entrar mucho en detalle, ya que para ello hay ya un articulo dedicado, un <strong>selector doble</strong> lo que hace es <strong>crear un contexto donde buscar el selector</strong>. Imaginemos que queremos cambiar el html  de un menú (si es un absurdo) para ello, en lugar de ejecutar:</p>
<blockquote>
<pre class="javascript">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.menu&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">html</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;jodimos el menú&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre>
</blockquote>
<p>Lo ideal es usar un <strong>contexto con base a un id</strong>, donde <strong>jquery </strong>tenga que buscar menos cantidad de datos</p>
<blockquote>
<pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> header = $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#header&quot;</span><span style="color: #66cc66;">&#41;</span>;
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.menu&quot;</span>, header<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">html</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;jodimos el menú&quot;</span><span style="color: #66cc66;">&#41;</span>;</pre>
</blockquote>
<p>De esta forma, capturamos un contexto y le decimos a <strong>jQuery que busque solo en ese contexto</strong> en lugar de en toda la web, por lo que la ejecución de un <strong>selector de clase</strong>, será mas rápida.</p>
<p>&nbsp;</p>
<h2>3. Cachear variables que mas utilicemos y de contexto</h2>
<p>Cuando escribimos <strong>código de jQuery</strong>, es normal que recurrentemente accedamos a ciertas partes de la página, que como hemos visto en el ejemplo anterior, utilizaríamos variables de contexto. Para agilizar la carga, es recomendable <strong>cachear estas variables</strong>, para que no tengamos que buscarlas cada vez que vayamos a utilizarlas:</p>
<blockquote>
<pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> header = $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#header&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #003366; font-weight: bold;">var</span> footer = $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#footer&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
.....
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> bordemenu<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.menu&quot;</span>, header<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">css</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;border&quot;</span>, <span style="color: #3366CC;">&quot;solid 1px #000000&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
</blockquote>
<p>De esta forma, no buscamos header, sino que accedemos a la misma variable que cargamos al cargar la página. Incluso, si ya sabemos de antemano que vamos a acceder muchas veces al menú, podríamos cachearlo también.</p>
<p>&nbsp;</p>
<h2>4. Evitar el uso de each</h2>
<p>En <strong>jQuery</strong>, la función each no es más que un <strong>foreach</strong> que nos devuelve los <strong>nodos</strong> que hemos seleccionado. Es por esto que debemos de intentar, en la medida de lo posible, no utilizar este <strong>método</strong> para no ejecutar un <strong>foreach</strong> e intentar recorrer los nodos con un <strong>for</strong>, que aunque un poco mas complejo, su <strong>ejecución será mas rápida</strong>.</p>
<p>&nbsp;</p>
<h2>5. Centralizar la carga de eventos</h2>
<p>Cuando hacemos una aplicación web muy muy grande y con mucho uso de <strong>ajax</strong>, nos damos cuenta de que cada vez tenemos mas y mas <strong>eventos </strong>y que como nos descuidemos, acabamos escribiendo casi los mismos <strong>eventos</strong> en multitud de sitios. Es por ello, que es recomendable tener una o varias funciones donde <strong>incialicemos los eventos</strong> para su <strong>carga y ejecución</strong>. Parece una tontería, pero a la larga, mas que en <strong>rendimiento</strong>, nos favorecerá en <strong>rendimiento a la hora de escalar nuestra aplicación</strong>, aunque también evitará la <strong>duplicidad de eventos</strong> sobre un mismo objeto y por tanto la <strong>ejecución será mas rápida</strong>.</p>
<p>&nbsp;</p>
<p>Estos son 5 sencillos casos en los que podemos <strong>aumentar considerablemente la velocidad de ejecución de una web utilizando jQuery</strong>. Quizás, haciendo sencillos ejemplos, no seamos coscientes de esa diferencia de velocidad, pero en una macroaplicación que mueve multitud de datos <strong>asíncronamente</strong>, nos daremos cuenta que estas practicas <strong>agilizarán la página en general y agilizarán jQuery</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/javascript/guia-de-buenas-practicas-para-aumentar-el-rendimiento-de-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hosting SVN con XP-Dev</title>
		<link>http://www.indalcasa.com/servicios/hosting-svn-con-xp-dev/</link>
		<comments>http://www.indalcasa.com/servicios/hosting-svn-con-xp-dev/#comments</comments>
		<pubDate>Mon, 30 May 2011 07:13:37 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[Servicios]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[servicios]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=746</guid>
		<description><![CDATA[Llevo tiempo buscando alguna formula para organizar los fuentes de mis proyectos. Cada día que pasa, tengo mas y mas proyectos y se me hace difícil organizarme, eso, sin tener en cuenta la posible perdida de información o el problema que supone cambiar de equipo. Hace tiempo tuve un hosting que ademas de poder alojar [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo tiempo buscando alguna formula para organizar los <strong>fuentes de mis proyectos</strong>. Cada día que pasa, tengo mas y mas <strong>proyectos </strong>y se me hace difícil organizarme, eso, sin tener en cuenta la posible <strong>perdida de información</strong> o el problema que supone <strong>cambiar de equipo</strong>. Hace tiempo tuve un <strong>hosting </strong>que ademas de poder <strong>alojar webs</strong>, podía <strong>crear repositorios SVN</strong>, el problema era que para ello, tenía que entrar por <strong>consola</strong>, crear los repositorios y poco mas se podía hacer aparte de usar los <strong>repositorios SVN</strong>. Algunos <strong>proyectos </strong>decidí que al tener una idea de que fueran <strong>opensource</strong>, podía aprovechar el servicio que ofrece <strong>Google Code</strong>, pero claro, otros <strong>proyectos </strong>son <strong>proyectos personales</strong> o que estoy <strong>desarrollando </strong>para otras empresas y <strong>Google Code</strong>, solo te permite utilizar <strong>proyectos opensource</strong>.</p>
<p>Investigando un poco por internet, encontré <strong>XP-Dev</strong>, un servicio de hosting que solo ofrece <strong>hosting para SVN, Mercurial y GIT</strong>. El servicio dispone de una <strong>versión gratuita</strong> por el que podremos utilizarlo para <strong>2 proyectos privados</strong> y todos los que queramos <strong>públicos</strong>, con un espacio en disco máximo de 200 MB. El <strong>servicio gratuito</strong> nos limita un poco funcionalidades como son el <strong>acceso SSL</strong>, además, el resto de funcionalidades no se echa en falta nada , ya que dispone de un completo sistema con el que poder <strong>gestionar proyectos</strong>, con <strong>gestionar tareas</strong>, <strong>gestionar bugs</strong>, <strong>wikis</strong>, etc. todo fácilmente configurable. A partir de 4€ al mes, 5$, tenemos acceso a la <strong>cuenta básica</strong>, que nos dará acceso al <strong>servicio completo</strong> como <strong>acceso SSL</strong>, podemos crear tantos <strong>proyectos opensource o privados</strong> como queramos.</p>
<p>Quizás alguno piense que lo mejor y mas sencillo es montarse un <strong>servidor con SVN en casa</strong>, pero la realidad es que a veces, es mas cómodo, utilizar un <strong>servicio en nube</strong> y despreocuparnos de <strong>perder los fuentes de nuestros proyectos</strong> o poder acceder a ellos siempre que queramos y para ello, lo mejor es <strong>XP-Dev</strong>.</p>
<p>Podéis encontrar una <a title="Lista de precios de XP-Dev" href="http://www.xp-dev.com/pricing">lista de precios</a> y una <a title="Lista de características de XP-Dev" href="http://www.xp-dev.com/features">lista de características</a> en la web de <a title="Web de hosting SVN XP-Dev" href="http://www.xp-dev.com">XP-Dev</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/servicios/hosting-svn-con-xp-dev/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Los logos de las compañias de venta de viajes online</title>
		<link>http://www.indalcasa.com/turismo/los-logos-de-las-companias-de-venta-de-viajes-online/</link>
		<comments>http://www.indalcasa.com/turismo/los-logos-de-las-companias-de-venta-de-viajes-online/#comments</comments>
		<pubDate>Fri, 27 May 2011 11:29:41 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[Turismo]]></category>
		<category><![CDATA[atrapalo]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[logitravel]]></category>
		<category><![CDATA[muchoviaje]]></category>
		<category><![CDATA[rumbo]]></category>
		<category><![CDATA[turismo]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=739</guid>
		<description><![CDATA[Quien me conozca, sabe que llevo trabajando en el sector del turismo online desde hace ya unos 6 años mas o menos (que se dice pronto) y como apasionado de este sector, me gustaría realizar una serie de artículos empezando por este donde analizar y comentar como es el mundo de las agencias de viajes [...]]]></description>
			<content:encoded><![CDATA[<p>Quien me conozca, sabe que llevo trabajando en el sector del <strong>turismo online</strong> desde hace ya unos 6 años mas o menos (que se dice pronto) y como apasionado de este sector, me gustaría realizar una serie de artículos empezando por este donde analizar y comentar como es el mundo de las <strong>agencias de viajes online</strong>.</p>
<p>Hoy me gustaría comentar como es el mundo de los<strong> logos en las agencias de viajes online españolas</strong> y como estas se adaptan a los nuevos tiempos y a sus clientes. Voy a analizar 4 de las <strong>mas grandes agencias de viajes online</strong> que existen ahora mismo en <strong>España </strong>y son <strong>Rumbo</strong>, <strong>Atrapalo</strong>, <strong>Logitravel </strong>(que ha ido creciendo muchísimo y a muy buen ritmo) y <strong>Muchoviaje</strong>.</p>
<p><a href="http://www.indalcasa.com/wp-content/uploads/2011/05/atrapalo-logo.png"><img class="alignleft size-medium wp-image-740" title="Atrapalo" src="http://www.indalcasa.com/wp-content/uploads/2011/05/atrapalo-logo-300x266.png" alt="Atrapalo" width="300" height="266" /></a>Aunque trabajo en <strong><a title="Viajes baratos con Muchoviaje" href="http://www.muchoviaje.com">Muchoviaje.com</a></strong>, me gustaría comenzar por <strong>Atrapalo</strong>, ya que es mi <strong>logotipo </strong>favorito. El <strong>logo de <a title="Atrapalo" href="http://www.atrapalo.com">Atrapalo.com</a></strong>, es un <strong>logo </strong>que ha cambiado con el tiempo, desde esa frase de <strong>"atrapalo.com"</strong> con la "a" roja señalada por flechas, hasta la actual <strong>"A" volteada</strong> con el <strong>corredor saltando</strong>. Independientemente de la página, que ahora mismo quiero valorar los <strong>logotipos</strong>, cuando veo el <strong>logotipo de Atrapalo</strong>, me da esa sensación de juventud, su <strong>"A" volteada</strong>, el chaval que salta, el rojo pasión, fuerza. Las <strong>páginas de viajes</strong> son páginas donde su clientela aunque comparan, suele ser fija por confianza que tienen en la marca y <strong>Atrapalo </strong>juega un papel muy importante porque esta captando a la juventud, desde los 18 años, hasta los 35, gente joven, con pareja o sin ella, pero sin hijos, donde llegará el día en que esas parejas crezcan y robaran cuota al resto de marcas que están centradas en otros rangos de edades, porque tendrán <strong>confianza en Atrapalo</strong>.</p>
<p><a href="http://www.indalcasa.com/wp-content/uploads/2011/05/logitravel-logo.png"><img class="alignright size-medium wp-image-741" title="Logitravel" src="http://www.indalcasa.com/wp-content/uploads/2011/05/logitravel-logo-300x57.png" alt="Logitravel" width="300" height="57" /></a>El segundo <strong>logo </strong>que mas me gusta, porque me parece que refleja una completa filosofía de la página y lo que quiere mostrar es <strong>Logitravel</strong>, que mas o menos fiel a su estilo desde sus comienzos, tiene a <strong>"Logi"</strong> como <strong>mascota </strong>y que actualmente aparece en toda la web. <strong>"Logi"</strong> es una especie de <strong>marcianillo verde</strong> muy característico que aparece vestido de <strong>azafata</strong>, <strong>piloto</strong>, en la <strong>playa </strong>con un bañador de hombre o de mujer, etc. Al igual que el <strong>logotipo de Atrapalo</strong>, creo que <strong>Logitravel </strong>se centra en un sector joven de la población, jovenes, parejas con hijos pequeños, gente muy tranquila, no tan entusiastas y emotivos como podría resultar en una primera instancia con <strong>Atrapalo</strong>. Lo que mas me gusta de <strong>Logitravel </strong>es como saben situar a "Logi" en diferentes situaciones dentro de la web para promocionar sus productos, apareciendo en la <strong>playa en vacaciones</strong> o <strong>vestido de piloto en la sección de vuelos</strong>. Digamos que lo integran de una manera excepcional en toda la web y aunque el <strong>logo de Logitravel</strong> no es gran cosa, he de darle mis felicitaciones a los <strong>diseñadores</strong> porque han sabido explotarlo a la perfección.</p>
<p><a href="http://www.indalcasa.com/wp-content/uploads/2011/05/rumbo-logo.png"><img class="alignleft size-full wp-image-742" title="Rumbo" src="http://www.indalcasa.com/wp-content/uploads/2011/05/rumbo-logo.png" alt="Rumbo" width="250" height="80" /></a>Sigo con <strong>Rumbo, la empresa de viajes online mas grande de España</strong>, perteneciente al grupo <strong>Orizonia</strong>. Su <strong>logotipo </strong>no ha variado practicamente desde sus comienzos. Su <strong>logo refleja una brújula</strong>, dando sentido entre el <strong>logotipo y el nombre de la compañia</strong>. A mi personalmente me recuerda al <strong>Telefónica de los viajes online</strong>, y no solo porque en su momento perteneció al <strong>grupo Telefónica y Amadeus</strong>, sino por su web, <strong>colores corporativos</strong>. Quizás no sean los mas <strong>baratos</strong>, ni los que tienen la mejor web de todas, ni el <strong>mejor producto</strong>, pero tienen ese algo, que <strong>inspira confianza</strong> a la hora de comprar.</p>
<p><a href="http://www.indalcasa.com/wp-content/uploads/2011/05/muchoviaje-logo.png"><img class="alignright size-full wp-image-743" title="Muchoviaje" src="http://www.indalcasa.com/wp-content/uploads/2011/05/muchoviaje-logo.png" alt="Muchoviaje" width="235" height="60" /></a>Dejo para el final el <strong>logotipo de Muchoviaje</strong>, porque realmente es el que menos me gusta y eso que trabajo aquí. El <strong>logotipo de Muchoviaje</strong> ha cambiado muy poco con el paso de los años, mas que cambiar lo que ha hecho es ir perfilandose, eliminando una ola, cambiando un poco la tonalidad de los colores base y eliminando el sol que había detrás de <strong>la "M" de Muchoviaje</strong>. El <strong>logotipo antiguo de Muchoviaje</strong>, era igual que el actual, mas <strong>pasteloso a nivel de color</strong> que el actual, con 2 olas y 2 ondulaciones bajo la palabra <strong>"Mucho"</strong> y con un sol detrás de la <strong>"M" de Muchoviaje</strong>. Con el paso de los años, una ola ha desaparecido, dejando solo una única ola con 2 ondulaciones en las letras y el sol también ha desaparecido. <strong>Los colores del logotipo de Muchoviaje se han intensificado</strong>, dejando de ser tan pastelosos como eran en sus comienzos. Refleja perfectamente lo que son unas <strong>vacaciones de playa</strong>, el naranja arena de la <strong>playa </strong>y el <strong>verdoso mar con las olas y el sol</strong> (cuando este aún estaba). Es la <strong>marca de vacaciones</strong> para cuarentones y cincuentones, que buscan esas <strong>vacaciones en la playa</strong>, para desconectar y descansar y no consigue conectar con la gente joven, pero si con personas de mas edad.</p>
<p>En conclusión, cada marca tiene su prototipo de cliente bien marcado y quien consiga captar a clientes de otro rango será quien gane la <strong>batalla por la venta de viajes online</strong>. Para mi, quien mas fácil lo tiene es <strong>Atrapalo</strong>, ya que la gente mayor se suele dejar aconsejar en aspectos tecnológicos por la gente joven, que se suelen decantar mas por <strong>Atrapalo </strong>que por el resto de marcas. Todo este articulo se basa en una opinión personal, no va mas allá que un mero comentario, que puede ser mas acertado o equivocado, pero es una sensación de alguien que lleva ya unos años en este sector y que ha crecido junto con el.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/turismo/los-logos-de-las-companias-de-venta-de-viajes-online/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

