<?xml version="1.0" encoding="ISO-8859-1"?>
<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>elpauer</title>
	<atom:link href="http://www.elpauer.org/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.elpauer.org</link>
	<description>telecommunications &#38; computer science engineer. fixer. inventor. always thirsty of knowledge.</description>
	<lastBuildDate>Sat, 23 Mar 2013 14:54:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>¿Van a desaparecer canales de TDT en España en 2013?</title>
		<link>http://www.elpauer.org/?p=1318</link>
		<comments>http://www.elpauer.org/?p=1318#comments</comments>
		<pubDate>Sat, 23 Mar 2013 00:14:11 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1318</guid>
		<description><![CDATA[Hace unos meses el Tribunal Supremo anuló la asignación de multiplex de Televisión Digital Terrestre que hizo en 2010 el Gobierno de Zapatero. Todo el mundo dice estar sorprendido y el Gobierno de Rajoy dice que no queda más remedio que eliminar 9 canales de televisión. Y yo digo que es mentira. En realidad no [...]]]></description>
				<content:encoded><![CDATA[<p>Hace unos meses el Tribunal Supremo anuló la asignación de multiplex de Televisión Digital Terrestre que hizo en 2010 el Gobierno de Zapatero.</p>
<p>Todo el mundo dice estar sorprendido y el Gobierno de Rajoy dice que no queda más remedio que eliminar 9 canales de televisión.</p>
<p>Y yo digo que es mentira.</p>
<p>En realidad no se tiene porqué borrar ningún canal.</p>
<p>La sentencia del Tribunal Supremo declara nulo el reparto anterior, con lo cual, la lógica dice que hay que hacer un nuevo reparto. El quid de la cuestión es quién se llevaría los canales con ese nuevo reparto:</p>
<ul>
<li>Los que hasta hoy son dueños de esos multiplex (Mediaset, Antena 3, NetTV, etc) querrán que el concurso se haga a su medida para que el nuevo reparto sea, oh casualidad, exactamente el mismo que el antiguo</li>
<li>Los que hasta hoy están alquilando canales a los dueños de los multiplex (Paramount, Disney, etc) querrán que el concurso se haga a su medida para que les den el canal y así ahorrarse el alquiler</li>
</ul>
<p>Tema aparte es que el Estado ha cobrado a los operadores de Telecomunicaciones (Movistar, Vodafone, Orange, etc) un dinero por el espacio radioeléctrico que va a quedar libre (el &#8220;dividendo digital&#8221;) :</p>
<ul>
<li>Ese dinero, de acuerdo con la normativa anterior (y la nueva) y la Directiva Europea en la mano, tiene que destinarse a ayudas para adaptar las antenas</li>
<li>Sin embargo, como el Estado no tiene un duro (bueno, lo tiene, pero se va en sobres, Olimpiadas, EREs, trajes, etc), quieren quedarse con el dinero y no darlo para adaptar antenas</li>
<li>Para poder quedarse con el dinero sin que al ciudadano de a pie le cueste dinero, lo que se les ha ocurrido es anular la adjudicación anterior y no hacer una nueva adjudicación. Al no haber nuevos multiplex, no hay canales en frecuencias nuevas, y por tanto, no tenemos que adaptar las antenas. Más propio de Austin Powers que de un Gobierno decente.</li>
</ul>
<p>Explicado para niños:</p>
<ol>
<li>Pepito tiene una manzana, Pedrito una pera y Jaimito una naranja</li>
<li>Pepito dice &#8220;Pedrito, si le das tu pera a Jaimito, yo te doy mi manzana&#8221; y &#8220;Jaimito, si me das tu naranja, Pedrito te dará una pera&#8221;</li>
<li>Pedrito le da su pera a Jaimito, Jaimito le da su naranja a Pepito y Pepito NO le da su manzana a Pedrito</li>
<li>Pedrito protesta y Pepito, para no aguantar quejas por incumplir su parte del trato, mata a Pedrito y esconde el cuerpo</li>
</ol>
<p>Lo gracioso del asunto es que tanto Gobierno como propietarios de los multiple se declaran sorprendidos.</p>
<p>Sorprendidos, ¿de qué?</p>
<p>Todos conocían al dedillo la ley y presionaron para que los canales se asignaran por adjudicación directa en lugar de por concurso, sabiendo que violaban la ley. ¿Esperaban que quien no se llevó multiplex se quedara de brazos cruzados?</p>
<p>Recapitulando:</p>
<p>Una vez más: relee lo que escribí ayer</p>
<ul>
<li>La sentencia anula el reparto anterior de canales, pero NO prohíbe hacer un nuevo reparto de esos canales. Es más, es justo al contrario: la sentencia dice que los canales hay que darlos, pero por concurso, no por adjudicación directa. Es el Gobierno Rajoy quien quiere hacernos creer que la sentencia obliga a eliminar canales</li>
<li>Efectivamente, el Gobierno Zapatero ingresó un dinero de las empresas de móviles y NO se lo gastó. Ese dinero era para darlo en la segunda mitad de 2012 y todo 2013 para adaptar antenas. Es el Gobierno Rajoy quien ha decidido quedarse con el dinero y no darlo para adaptar antenas.</li>
<li>Es más, lo de quedarse el dinero y NO darlo para adaptar antenas lo decidieron MUCHO antes de que se supiera nada de esa sentencia que anulaba el reparto anterior (puedes tirar de hemeroteca y cualquier antenista del foro te lo puede confirmar)</li>
<li>En definitiva: otro engaño más de Rajoy. Y van&#8230;</li>
</ul>
<p>Si yo fuera Movistar, Vodafone, Orange o Yoigo, estaría muy pendiente de lo que ocurre ahora. Si el Gobierno NO convoca un concurso para dar los multiplex, inmediatamente reclamaría la devolución de mi parte de los 1800 millones de euros que el Estado ingresó en concepto de ayuda a la reantenización. Al fin y al cabo, si no hay nuevos multiplex, no hace falta reantenizar, y por tanto, no las operadoras móviles no tienen porqué pagar.</p>
<p>De hecho, la solución más sensata para este problema después de la sentencia sería:</p>
<ol>
<li>Convocar concurso público con plazo límite 30 de junio</li>
<li>A 15 de agosto se publica la resolución (quién obtiene multiplex y quién no). Sí, mucha gente se va a quedar sin vacaciones. Una pena.</li>
<li>Hasta el 15 de septiembre para alegaciones</li>
<li>El 30 de septiembre, alegaciones resueltas</li>
<li>El 15 de diciembre cesan las emisiones por parte de los antiguos dueños de los multiplex. Esto da 75 días a los antiguos y a los nuevos dueños para negociar alquiler de canales, en caso de que entre algún nuevo jugador y salga uno de los antiguos, sin necesidad de que haya corte en las emisiones.</li>
<li>¿Por qué el 15 de diciembre y no el 31, que sería lo más lógico? Porque está Navidad, que es una época de gran audiencia, y además algún canal puede querer retransmitir las campanadas y no vas a hacer que justo cuando suena la última campanada, se apague <img title="elrisas" alt="" src="http://st.forocoches.com/foro/images/smilies/qmeparto.gif" border="0" /></li>
</ol>
<p>Pero claro, hace falta voluntad, y el Gobierno actual lo que quiere es eliminar los canales y quedarse con 1800 millones de euros por la cara. Unos sinvergüenzas.</p>
<p>(Actualizado con mi propuesta de plan de transición no traumático)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1318</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mark&#8217;s divisive leadership</title>
		<link>http://www.elpauer.org/?p=1309</link>
		<comments>http://www.elpauer.org/?p=1309#comments</comments>
		<pubDate>Thu, 07 Mar 2013 23:25:17 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Unix/Linux]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1309</guid>
		<description><![CDATA[Mark Shuttleworth recently critized Jonathan Riddell for proposing Xubuntu and others join the Kubuntu community. I thought I could make a few amendments to Mark&#8217;s writing: Jonathan Mark says that Canonical Kubuntu is not taking care of the Ubuntu community. Consider for a minute, Jonathan Mark, the difference between our actions. Canonical Kubuntu, as one stakeholder in [...]]]></description>
				<content:encoded><![CDATA[<p>Mark Shuttleworth recently critized Jonathan Riddell for proposing Xubuntu and others join the Kubuntu community. I thought I could make a few amendments to Mark&#8217;s writing:</p>
<p style="padding-left: 30px;"><del>Jonathan</del> <em>Mark</em> <a href="http://www.markshuttleworth.com/archives/1232">says that <del>Canonical </del><em>Kubuntu</em> is not taking care</a> of the Ubuntu community.</p>
<p style="padding-left: 30px;">Consider for a minute, <del>Jonathan</del> <em>Mark</em>, the difference between our actions.</p>
<p style="padding-left: 30px;"><del>Canonical</del> <em>Kubuntu</em>, as one stakeholder in the Ubuntu community, is spending a large amount of energy to evaluate how its actions might impact on all the other stakeholders, and offering to do chunks of work in support of those other stakeholder needs.</p>
<p style="padding-left: 30px;">You, as one stakeholder in the Ubuntu community, are inviting people to contribute less to the broader project <em>[all the X and Wayland -based desktops]</em>, and more to one stakeholder <em>[Unity and Mir]</em>.</p>
<p style="padding-left: 30px;">Hmm. Just because you may not get what you want is no basis for divisive leadership.</p>
<p style="padding-left: 30px;">Yes, you should figure out what’s important to <del>Kubuntu</del> <em>Ubuntu Unity and Mir</em>, and yes, you should motivate folks to help you achieve those goals. But it’s simply wrong to suggest that <del>Canonical</del> <em>Kubuntu</em> isn&#8217;t hugely accommodating to the needs of others, or that it&#8217;s not possible to contribute or participate in the parts of Ubuntu which <del>Canonical</del> <em>Kubuntu</em> has a particularly strong interest in. Witness the fantastic work being done on both the system and the apps to bring <del>Ubuntu</del> <em>Plasma</em> to the phone and tablet. That may not be your cup of tea, but it’s tremendously motivating and exciting and energetic.</p>
<p>See Mark? I only needed to do a little search and replace on your words and suddenly, meaning is completely reversed!</p>
<p>Canonical started looking only after its own a couple of years ago and totally dumped the community. Many people have noticed this and written about this in the past two years.</p>
<p>How dare you say Jonathan or anyone from Kubuntu is proposing contributing less to the broader community? <span style="line-height: 1.714285714; font-size: 1rem;">The broader community uses X and/or Wayland.</span></p>
<p>Canonical recently came with Mir, a replacement for X and Wayland, out of thin air. Incompatible with X and Wayland.</p>
<p>No mention of it at all to anyone from X or Wayland.</p>
<p>No mention of it at FOSDEM <strong>one month ago</strong>, even though I, as the organizer of the Cross Desktop DevRoom, had been stalking your guy for months because we wanted diversity (and we got it: Gnome, KDE, Razor, XFCE, Enlightenment, etc, we even invided OpenBox, FVWM, CDE and others!). I even wrote a mail to you personally warning you Unity was going to lose its opportunity to be on the stand at FOSDEM. You never answered, of course.</p>
<p>Don&#8217;t you think Mir, a whole new replacement for X and Wayland, which has been in development for 8 months, deserved a mention at the largest open source event in Europe?</p>
<p>Come on, man.</p>
<p>It is perfectly fine to say &#8220;yes, Canonical is not so interested in the community. It&#8217;s our way or the highway&#8221;.</p>
<p>But do not pretend it&#8217;s anything else or someone else is a bad guy.</p>
<p>In fact, is there any bad guy in this story at all!? I think there is not, it&#8217;s just people with different visions and chosen paths to achieve them.</p>
<p>Maybe Mir and Unity are great ideas, much better than X and Wayland. But that&#8217;s not what we are talking about. We are talking about community, and Canonical has been steadily destroying it for a long time already. If you cannot or do not want to see that, you&#8217;ve got a huge problem going on.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1309</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>FOSDEM CrossDesktop DevRoom 2013 &#8211; Call for Talks</title>
		<link>http://www.elpauer.org/?p=1264</link>
		<comments>http://www.elpauer.org/?p=1264#comments</comments>
		<pubDate>Wed, 31 Oct 2012 20:26:03 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[CMake]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wt]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1264</guid>
		<description><![CDATA[FOSDEM is one of the largest gatherings of Free Software contributors in the world and happens each February in Brussels (Belgium). One of the tracks will be the CrossDesktop  DevRoom, which will host Desktop-related talks. We are now inviting proposals for talks about Free/Libre/Open-source Software on the topics of Desktop development, Desktop applications and interoperativity amongst Desktop Environments. This is [...]]]></description>
				<content:encoded><![CDATA[<p>FOSDEM is one of the largest gatherings of Free Software contributors in the world and happens each February in Brussels (Belgium). One of the tracks will be the CrossDesktop  DevRoom, which will host Desktop-related talks.</p>
<p>We are now inviting proposals for talks about Free/Libre/Open-source Software on the topics of Desktop development, Desktop applications and interoperativity amongst Desktop Environments. This is a unique opportunity to show novel ideas and developments to a wide technical audience.</p>
<p>Topics accepted include, but are not limited to: Enlightenment, Gnome, KDE, Unity, XFCE, Windows, Mac OS X, general desktop matters, applications that enhance desktops and web (when related to desktop).</p>
<p>Talks can be very specific, such as developing mobile applications with Qt Quick; or as general as predictions for the fusion of Desktop and web in 5 years time. Topics that are of interest to the users and developers of all desktop environments are especially welcome. The FOSDEM 2012 schedule might give you some inspiration:<br />
<a href="https://archive.fosdem.org/2012/schedule/track/crossdesktop_devroom.html" target="_blank">https://archive.fosdem.org/2012/schedule/track/crossdesktop_devroom.html</a></p>
<p>Please include the following information when submitting a proposal:</p>
<ul>
<li>Your name</li>
<li>The title of your talk (please be descriptive, as titles will be listed with around 250 from other projects)</li>
<li>Short abstract of one or two paragraphs</li>
<li>Short bio</li>
<li>Requested time: from 15 to 45 minutes. Normal duration is 30 minutes. Longer duration requests must be properly justified.</li>
</ul>
<p>The deadline for submissions is December 14th 2012. FOSDEM will be held on the weekend of 2-3 February 2013. Please submit your proposals to <a href="mailto:crossdesktop-devroom@lists.fosdem.org">crossdesktop-devroom@lists.fosdem.org</a> (subscribtion page for the mailing list: <a href="https://lists.fosdem.org/listinfo/crossdesktop-devroom" target="_blank">https://lists.fosdem.org/listinfo/crossdesktop-devroom</a> )</p>
<p>&#8211; The CrossDesktop DevRoom 2013 Organization Team</p>
<p>PS: Qt and KDE people are starting to organize for the booth, devroom, Saturday &amp; Sunday night, etc. If you want to help, join <a href="https://mail.kde.org/mailman/listinfo/kde-promo">kde-promo</a> and add yourself to the <a href="http://community.kde.org/Promo/Events/FOSDEM/2013">wiki</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1264</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>On HTML5 and native</title>
		<link>http://www.elpauer.org/?p=1205</link>
		<comments>http://www.elpauer.org/?p=1205#comments</comments>
		<pubDate>Tue, 02 Oct 2012 22:44:56 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Wt]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1205</guid>
		<description><![CDATA[A few months ago I wrote on my disbelief of HTML5 being the right tool for everything . Some people took that as me saying HTML5 is useless. That&#8217;s obviously not true and it&#8217;s certainly not what I think. It&#8217;s my opinion there is room for HTML5 and there is room for native applications and the [...]]]></description>
				<content:encoded><![CDATA[<p>A few months ago I wrote on <a href="http://www.elpauer.org/?p=1134">my disbelief of HTML5 being the right tool for everything</a> . Some people took that as me saying <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a> is useless.</p>
<p>That&#8217;s obviously not true and it&#8217;s certainly not what I think.</p>
<p>It&#8217;s my opinion there is room for HTML5 and there is room for native applications and the decision on what to use should not be taken lightly.</p>
<p>Here are a few questions that may help you to make a wise decision.</p>
<p>&nbsp;</p>
<h2>Target user</h2>
<p>Is it corporate? Is it consumer?</p>
<p>Corporate devices are usually under control and users may not be able to install software. </p>
<p>Or traffic may be filtered and users cannot browse to your website to use your webapp and getting the authorization will take months, therefore they give up before they have even started using it.</p>
<p>Or they may be on a slow Internet connection and using that HTML5 webapp that took years to develop and add all those nice effects is hardly possible due to megabytes of JavaScript and images needing to be downloaded.</p>
<p>As for consumers, despite having full control of their systems, it&#8217;s not roses either: not all consumers know how to install software and/or they may be scared by <a href="http://en.wikipedia.org/wiki/User_Account_Control">UAC</a> dialogs (hint: always <a href="http://en.wikipedia.org/wiki/Code_signing">sign your software</a> with a certificate whose signature chain reaches <a href="http://www.verisign.com/">VeriSign</a>).</p>
<p>&nbsp;</p>
<h2>Target device</h2>
<p>Is it a computer? Smartphone? Tablet? Web browser?</p>
<p>If a computer, is it a PC running Windows? Linux? Mac? All of them? Are you trying to reach as many platforms as possible?</p>
<p>How old of a computer are you targeting? Pentium 4? Core 2 Duo? Core i5? How much RAM? Try a fancy website with a lot of HTML5 niftiness on an old computer and you&#8217;ll probably be surprised at how slow HTML5 can be, even on modern browsers.</p>
<p>&nbsp;</p>
<h2>Deployment</h2>
<p>Deploying native applications in corporate environments is a bit of a nightmare due to different operating system versions, hardware, etc</p>
<p>Deploying native applications in consumer computers is only a problem if you are targeting low-skilled users.</p>
<p>HTML5 is easy to deploy, provided that you can get the user to use a proper version of the browser. This is workable with consumers but often impossible with corporate, so if you go for HTML5 for a corporate application, make sure you support everything from at least down to <a href="http://en.wikipedia.org/wiki/Internet_Explorer">Internet Explorer</a> 8.</p>
<p>For mobile devices (smartphones and tablets), it doesn&#8217;t really matter whether it&#8217;s an HTML5 or native application: it has to be installed on the device, the device goes with the user everywhere and when the user moves to another device, re-installing all the applications is a matter of accessing the Apple Store, Android Market or equivalent and say &#8220;download it all&#8221;.</p>
<p><span id="more-1205"></span></p>
<p>&nbsp;</p>
<h2>Performance</h2>
<p>If you need high performance, then native is going to be the best choice in most cases.</p>
<p>There are a lot of HTML5 libraries, frameworks and toolkits but HTML5 is still far from native performance-wise on all the platforms where a native (or almost native*) <a href="http://en.wikipedia.org/wiki/Sdk">SDK</a> is available (which is all of them).</p>
<p>* almost native = <a href="http://en.wikipedia.org/wiki/.NET_Framework">.NET</a> on <a href="http://en.wikipedia.org/wiki/Windows_phone_7">Windows Phone 7</a>, for instance.</p>
<p>&nbsp;</p>
<h2>UI</h2>
<p>If you need your application to melt into the platform, then native is the best path: native applications call the platform-specific API, which may have changed from one version of the operating system to another. But it will certainly look as it should. Always.</p>
<p>HTML5 may or may not look good. It may look good today but may not with the next update to the operating system. You may find yourself in need to update to a newer version of the HTML5 framework just to get the application to look native, i. e. no new functionality but a lot of work and cost just to make the application look good in iOS 7.0 or Android 5.0. It&#8217;s one of the dangers I described in &#8220;<a href="http://www.elpauer.org/?p=1134">HTML5 for everything?</a>&#8221; back in January.</p>
<p>&nbsp;</p>
<h2>Connectivy</h2>
<p>Applications running fully on device, no matter whether they are native or HTML5, need no data connection.</p>
<p>Applications which access an external server (website, database and/or alike) need a data connection and this may be a problem, especially if the user is out of his area. Roaming charges are steep.</p>
<p>On the other hand&#8230;</p>
<p>&nbsp;</p>
<h2>DRM</h2>
<p>Native applications can use all kind of tips and tricks, especially on computers (Windows, Mac, Linux, etc)</p>
<p>HTML5 applications running &#8220;on device&#8221; are quite limited in that regard. You are essentially limited to what the Store or Market provide.</p>
<p>Applications which access an external server (website, database and/or alike) are in the best position for copy-protection: the only way users have to not pay is to find a hole in your authentication system, account creation mechanism, etc. Difficult.</p>
<p>&nbsp;</p>
<h2>Future-proof</h2>
<p>Native code is native and that&#8217;s good. Dynamically-linked native code always calls the native APIs and those APIs do the right thing when a new version of the operating system is available.</p>
<p>On mobile platforms, HTML5 is almost native these days but supporting several versions of browsers and/or browser engines is becoming a hassle. It will become a very serious problem soon. Wrapping HTML5 around a <a href="http://en.wikipedia.org/wiki/WebKit">WebKit</a> to have a &#8220;native&#8221; application (like <a href="http://en.wikipedia.org/wiki/PhoneGap">PhoneGap</a> does) gives you the advantage of supporting only a few browser engines, although you still have the</p>
<p>On desktop platforms, HTML5 is not native by any means and the pace at which browsers are being updated make is almost impossible to adapt to. Even if you are using libraries (<a href="http://en.wikipedia.org/wiki/JQuery">jQuery</a>, <a href="http://en.wikipedia.org/wiki/ExtJS">ExtJS</a>, <a href="http://www.kendoui.com/">Kendo</a>), frameworks (<a href="http://en.wikipedia.org/wiki/Ruby_on_Rails">Rails</a>, <a href="http://en.wikipedia.org/wiki/CodeIgniter">CodeIgniter</a>, <a href="http://en.wikipedia.org/wiki/Apache_Wicket">Wicket</a>), etc</p>
<p>There is a third approach some libraries (such as Unity 3D) are taking: use a plugin. Be it a &#8220;private plugin&#8221; (Unity Web Player) or a &#8220;generally available plugin&#8221; (Flash). In my opinion, both of them are a recipe for trouble and should only be used as a last-resort mechanism to reach a platform quick.</p>
<p>&nbsp;</p>
<h2>Resources</h2>
<p>Human resources, I mean.</p>
<p>If you want to be native on each platform, do you have enough developers to reach all the platforms you want to reach?</p>
<p>If you don&#8217;t, can you afford them?</p>
<p>Are your developers skilled enough? If they have to learn each platform&#8217;s technology on the spot, your project may be too late.</p>
<p>HTML5 toolkits allow to you develop a single application for all platforms. They may not look perfect but you shouldn&#8217;t dismiss HTML5 if you are tight on resources.</p>
<p>&nbsp;</p>
<h2>Time to market</h2>
<p>Time to market is everything. If your application is too late, you may lose all your potential business to some competitor.</p>
<p>Do you want to release for all the platforms at the same time? As each platform&#8217;s application is ready? Maybe first use HTML5 to quickly reach all platforms, then replace that with native applications on mobile platforms?</p>
<p>It might even be the case you can afford (both on money and technical criteria) to reach all the platforms at the same time but you want to do some A/B testing (using one platform as A and the other as B), therefore you want slightly different applications?</p>
<p>&nbsp;</p>
<h2>Download size</h2>
<p>There are two things to consider here: application size and toolkit size.</p>
<p>The application size may vary depending on whether you use native toolkits (be it native code or the platform-blessed HTML5 toolkit) or a cross-platform toolkit, but that&#8217;s generally not important.</p>
<p>Applications developed with cross-platform toolkits are usually a bit smaller because those toolkits usually provide a lot of functionality you don&#8217;t need to code yourself.</p>
<p>Problem is the cross-platform toolkit size.</p>
<p>If you use Cocoa on iOS, Silverlight on WP7 and Java on Android, then you don&#8217;t need to download anything in addition to your application:</p>
<p>But if you use a cross-platform toolkit, if it&#8217;s the first time the user downloads an application that requires that toolkit, there is an additiona download involved. And that download may be in the tens of megabytes, which is a lot over 3G, which means users will only purchase your application when on wifi.</p>
<table width="390" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th></th>
<th>Using platform-provided toolkit</th>
<th>Using cross-platform toolkit</th>
</tr>
<tr>
<th>Application size</th>
<td>Whatever</td>
<td>~Whatever</td>
</tr>
<tr>
<th>Toolkit size</th>
<td>0 (zero)</td>
<td>1-20 MB</td>
</tr>
</tbody>
</table>
<p>&nbsp;<br />
&nbsp;</p>
<h2>Footprint</h2>
<p>A second problem caused by cross-platform toolkits is your application will need more space on disk (installation size) and more memory (RAM) than if you develop an application specifically for one device.</p>
<p>If you want to reach the users running the first smartphones, which had only 192 MB of RAM or even less, using a cross-platform toolkit is almost immediately a no-no.</p>
<p>If you are thinking in static linking to reduce the download size and/or footprint, better think about it twice: some app stores may not allow it.</p>
<p>&nbsp;</p>
<h2>Maintenance</h2>
<p>How long will your application live? </p>
<p>Is it a one-off application that will reach its peak, you make money and forget about it? Or do you intend to provide updates and/or keep adding features for a long time?</p>
<p>If the former, maintenance is not a big hurdle: you have essentially decided there will be little or none.</p>
<p>If the latter, then you better consider maintenance. </p>
<p>As I said above, HTML5 applications suffer from the &#8220;web moves too fast&#8221; syndrome and you may find yourself in need of releasing a new version of the application just because a new version of some browsing engine is available. Sooner or later that will boil down to releases which add no new features but just fix the behavior for a new version of WebKit or Trident. Wrapping your HTML5 application into a native WebKit wrapper provided by you (via a cross-platform toolkit such as Qt) may be an option worth considering: it &#8220;freezes&#8221; the browser engine your application will use.</p>
<p>Native applications may also suffer from changing APIs but when that happens is usually due to a bug or change in app store policy. There is more stability in the native world.</p>
<p>If you are going to keep adding new features to your application, using a cross-platform toolkit ensures you will only need to add them once (maybe with some platform-specific code some times). Instead of implementing the same feature for iOS, Android, BlackBerry 10, Windows Phone 8 and Symbian, you can implement it once in Qt.</p>
<p>&nbsp;</p>
<h2>Licensing</h2>
<p>Vendor-provided toolkits are generally free: <a href="http://en.wikipedia.org/wiki/IOS_SDK">iOS SDK</a>, Android <a href="http://en.wikipedia.org/wiki/Android_software_development#Android_SDK">SDK</a>/<a href="http://en.wikipedia.org/wiki/Android_software_development#Native_development_kit">NDK</a>, a variety of <a href="https://developer.blackberry.com/platforms/bb10">SDKs</a> for BlackBerry, etc.</p>
<p>Most HTML5 and cross-platform native toolkits are available for free (support being available only via forums, mailing lists, IRC, etc) and also offer a paid version which includes support. You are in fact essentially paying for premium support, something some vendor SDKs do not offer.</p>
<p>If support in the form of a guaranteed response in a reasonable time is important for you, you should know using a third-party development toolkit offers you this possibility. Prices are usually around US $1,000/developer/platform/year.</p>
<p>&nbsp;</p>
<h2>My advice</h2>
<p><span style="text-decoration:underline;">If you can afford it</span></p>
<ul>
<li>Native mobile app for iOS using iOS SDK</li>
<li>Native mobile app for Android using Android SDK/NDK</li>
<li>Native mobile app for Windows Phone 7 using .NET</li>
<li>Native mobile app for BlackBerry using the Qt SDK (Cascades)</li>
<li>Native mobile app for Symbian using Qt</li>
<li>Native desktop app for Windows, Mac and Linux/Unix using Qt</li>
<li>Web app using <a href="http://webtoolkit.eu">Wt</a> and <a href="http://www.kendoui.com">Kendo</a> widgets (check their grid)</li>
</ul>
<p>You will be able to share code in all the Qt versions (at least the backend, maybe some UI stuff too).</p>
<p>You may also be able to reuse some of the code from the Qt version in the web version via the <a href="https://github.com/kdeforche/wt/tree/master/examples/wtwithqt">wtwithqt</a> library.</p>
<p>Depending on how old the Symbian device you are targeting, you may be limited to Qt 4.6. Check the <a href="http://qt-project.org/wiki/Support-for-Symbian">support table</a> over at <a href="http://www.qt-project.org">qt-project.org</a>.</p>
<p><span style="text-decoration:underline;">If you are tight on money</span></p>
<ul>
<li>Native mobile app for iOS, Android, BlackBerry and Symbian using Qt (useful links: <a href="http://mediator-software.com/">Qt for iOS</a>, <a href="http://necessitas.kde.org/">Qt for Android</a>)</li>
<li>Native desktop app for Windows, Mac and Linux/Unix using Qt</li>
<li>Web app using <a href="http://webtoolkit.eu">Wt</a> and <a href="http://www.kendoui.com">Kendo</a> widgets (check their grid)</li>
</ul>
<p>The main problem with Qt on iOS and Android is the download size and the footprint. If you are targeting first generation devices, this may not be possible.</p>
<p>No, I have not forgot about Windows Phone in this &#8220;category&#8221;. But it&#8217;s such a niche market that deciding on developing something for WP7 requires careful study on ROI. As for WP8, very little is known about the SDK yet, but Qt support for WP8 (via WRT) is expected soon.</p>
<p><span style="text-decoration:underline;">If you are really tight on money</span></p>
<p>HTML5 version for everybody using PhoneGap or similar (consider making it native by adding a WebKit wrapper)</p>
<p>or</p>
<p>Web app for everybody using Wt and Kendo (this will require network access, so it may not be an option unless your application can require network access for some feature)</p>
<p><span style="text-decoration:underline;">If you need a something done quickly</span></p>
<p>Use <a href="http://en.wikipedia.org/wiki/Adobe_Flash">Flash</a> or something like <a href="http://unity3d.com/">Unity 3D</a> for every platform (including the web: <a href="http://unity3d.com/webplayer/">Unity Web Player</a>).</p>
<p>You need to be aware anything that requires a plugin is quickly getting deprecated and/or may even not be available to a large segment of users (e. g. Android 4.0 no longer includes Flash, neither Unity nor Unity Web Player are available for Linux, etc). If you intend your application to live long, you may need to replace it later with one of the recommendations I&#8217;m giving above.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1205</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plasma Active on Android?</title>
		<link>http://www.elpauer.org/?p=1191</link>
		<comments>http://www.elpauer.org/?p=1191#comments</comments>
		<pubDate>Tue, 18 Sep 2012 16:10:27 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Unix/Linux]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1191</guid>
		<description><![CDATA[Aaron recently posted an update about the progress of Vivaldi and the new setbacks and progresses in the project. In case you are not familiar with Vivaldi, here&#8217;s a quick recap: the idea is to have a tablet running Linux (Mer, the continuation of Maemo and MeeGo) and Plasma Active. Apparently the easiest and cheapest [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Aaron_Seigo">Aaron</a> recently <a href="http://aseigo.blogspot.com.es/2012/09/a-small-update-on-vivaldi.html">posted an update</a> about the progress of <a href="http://makeplaylive.com/">Vivaldi</a> and the new setbacks and progresses in the project.</p>
<p>In case you are not familiar with Vivaldi, here&#8217;s a quick recap: the idea is to have a tablet running Linux (<a href="http://merproject.org/">Mer</a>, the continuation of Maemo and MeeGo) and <a href="http://plasma-active.org/">Plasma Active</a>. Apparently the easiest and cheapest way to achieve this was to get all the sources code for the software running on one of the many tablets which are sold with <a href="http://www.android.com/">Android</a> (which is, after all, a variation of Linux).</p>
<p style="text-align: center;"><a href="http://www.elpauer.org/images/vivaldi-android-plan.png" rel="http://www.elpauer.org/images/vivaldi-android-plan.png" target="_blank"><img class="aligncenter size-full wp-image-1195" title="vivaldi-android-plan-small" src="http://www.elpauer.org/wordpress/wp-content/uploads/2012/09/vivaldi-android-plan-small.png" alt="" width="438" height="135" /></a></p>
<p>But then problems arise: those tablets run Android and vendors often provide only binary drivers, which is useless for Mer (or any other distribution of Linux). Once they finally got enough source to move Vivaldi forward, the board (electronics) changes and back to square 1 (or almost).</p>
<p>According to Aaron, it seems this time they have found a partner which is willing to provide the device and the source. Grea!</p>
<p>However, since the beginning of the Vivaldi Project (back when it was called Spark), there is one thing there is one thing I have always wondered.</p>
<p>Why Mer? In fact, why a Linux distribution? I know, I know, Plasma Active needs Linux to run.</p>
<p>But what about taking a completely different approach?</p>
<p>Instead of trying to get Mer and Plasma Active running on a tablet which is meant to run Android, why not taking a less radical approach?</p>
<p>We have <a href="http://qt-project.org/wiki/Necessitas">Necessitas</a> (Qt for Android).</p>
<p>So why not taking the opposite approach?</p>
<p>Instead of adapting Mer (operating system) + Plasma Active (&#8220;desktop environment&#8221;) to a tablet (the &#8220;device&#8221;) which is meant to run Android</p>
<p>what about this:</p>
<p>Port Plasma Active (desktop environment) to Android (operating system), which is already running on the tablet (the &#8220;device&#8221;).</p>
<p style="text-align: center;"><a href="http://www.elpauer.org/images/vivaldi-android-plan-2.png" rel="http://www.elpauer.org/images/vivaldi-android-plan-2.png" target="_blank"><img class="aligncenter size-full wp-image-1196" title="vivaldi-android-plan-2-small" src="http://www.elpauer.org/wordpress/wp-content/uploads/2012/09/vivaldi-android-plan-2-small.png" alt="" width="467" height="126" /></a></p>
<p>Then create KDE&#8217;s own &#8220;CyanogenMod&#8221; that can be installed on top of many tablet devices. And sell those devices: you get to choose 7&#8221;, 9.7&#8221;, 10.1&#8221;, etc</p>
<p>Or maybe even sell Plasma Active and the application in the Android Market, if that&#8217;s possible (I don&#8217;t know enough about Android and the Market Terms and Conditions to know whether it&#8217;s possible technically and legally to replace the desktop).</p>
<p>Yes, that&#8217;s a different business and it&#8217;s probably not what Make·Play·Live had in mind.</p>
<p>With this approach, the business is no longer about selling hardware + software but mainly only about selling software. How to make that profitable is a topic for another post.</p>
<p>And there are technical limitations: <a href="http://en.wikipedia.org/wiki/Bionic_(software)">Bionic</a>, the amount of linked libraries, applications may need tablet-specific details (not unexpected, even with Mer), etc</p>
<p>But at least it&#8217;s something that we know how to do: it&#8217;s code, not hardware, and there is no need to deal with people who will promise source code and then won&#8217;t deliver. It will work on top of Android, and we just need to create our own distribution.</p>
<p>It&#8217;s just one more platform for KDE: first it was Linux, then other Unices, Mac, Windows&#8230; next Android.</p>
<p>Am I too crazy or dumb?</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1191</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Guidelines on cross-platform porting</title>
		<link>http://www.elpauer.org/?p=972</link>
		<comments>http://www.elpauer.org/?p=972#comments</comments>
		<pubDate>Sun, 29 Jul 2012 21:35:31 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[CMake]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=972</guid>
		<description><![CDATA[There is a nifty piece of software called zsync, which is kind-of like rsync, except it is totally different. Rsync Rsync is mainly useful when you want to synchonize a list of files, or directories, between two servers. It will only download the new files and files which have changed. It will even delete or [...]]]></description>
				<content:encoded><![CDATA[<p>There is a nifty piece of software called <a title="zsync" href="http://zsync.moria.org.uk/">zsync</a>, which is kind-of like <a title="Rsync" href="http://en.wikipedia.org/wiki/Rsync">rsync</a>, except it is totally different.</p>
<h2></h2>
<h2>Rsync</h2>
<p>Rsync is mainly useful when you want to synchonize a list of files, or directories, between two servers. It will only download the new files and files which have changed. It will even delete or backup the files which have been removed at the original site. Nice.</p>
<p>For a project I was involved until recently at work we had a slightly different problem: we generate a huge file (an ISO image) which contains about 6 GB of data. This ISO image contains the daily build of our application. It contains only a handful of files. Problem is some of them are generated and GB in size, yet from day to day only maybe 100-150 MB have changed (and it would be even less if it were not because of this &#8220;feature&#8221; of .NET that <a href="http://blogs.msdn.com/b/ericlippert/archive/2012/05/31/past-performance-is-no-guarantee-of-future-results.aspx">never generates identical binaries even if using exactly the same source code</a>)</p>
<p>Rsync was not useful in this case: it would download the whole file, gigabytes! (some of the people downloading the ISO are on a slow link in India)</p>
<p>&nbsp;</p>
<h2>zsync</h2>
<p>This is exactly the case zsync targets: zsync will only download the changed parts of the file thanks to the <a href="http://rsync.samba.org/tech_report/node3.html">rolling checksum</a> algorithm.</p>
<p>Best of all: no need for an rsync server, opening port TCP 873 (which requires months of arguing with <a href="http://en.wikipedia.org/wiki/Bastard_Operator_From_Hell">BOFHs</a> in some companies), or anything special: HTTP over port 80 and you are done. Provided that you are not using Internet Information Server, which happens to support only 6 ranges in an HTTP request (hint: configure <a href="http://nginx.org/">nginx</a> in reserve proxy mode).</p>
<p>But I&#8217;m digressing.</p>
<p>Cool. Great. Awesome. Zsync. The perfect tool for the problem.</p>
<p>&nbsp;</p>
<h2>Hello Windows</h2>
<p>Except for this project is for Windows, people work on Windows, they are horrified of anything non-Windows, and zsync is only available for Unix platforms.</p>
<p>Uh oh.</p>
<p>In addition to that, the <a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a> port suffers from many connection error problems on Windows 7 and does not work on a <a href="http://en.wikipedia.org/wiki/Command_Prompt">cmd.exe</a> prompt, it wants the Cygwin bourne shell prompt.</p>
<p>So I started to port zsync to Windows natively.</p>
<p>&nbsp;</p>
<h2>Native port howto</h2>
<p>The starting point was:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/C99">C99</a> code</li>
<li><a href="http://en.wikipedia.org/wiki/GNU_build_system">autotools</a> build system</li>
<li>No external dependencies (totally self-contained)</li>
<li>Heavy use of <a href="http://en.wikipedia.org/wiki/POSIX">POSIX</a> and Unix-only features (such as reading from a socket via <a href="http://en.wikipedia.org/wiki/File_descriptor">file descriptors</a>, renaming a file while open, deleting a file while open and replacing it with another file yet still use the same file descriptor, etc)</li>
</ul>
<p>To avoid breaking too much, and because I wanted to contribute my changes upstream, my intention was to do the port step by step:</p>
<ol>
<li>Linux/<a href="http://gcc.gnu.org">gcc</a>/autotools</li>
<li>Linux/gcc/<a href="http://www.cmake.org">CMake</a></li>
<li>Cygwin/gcc/CMake</li>
<li><a href="http://www.mingw.org/wiki/msys/">MSYS</a>/<a href="http://mingw.org/">MinGW</a> gcc/CMake</li>
<li><a href="http://en.wikipedia.org/wiki/Visual_C%2B%2B">Visual C++</a>/CMake</li>
</ol>
<p>&nbsp;</p>
<h2>Autotools</h2>
<p>Autotools was the first stone in the path.</p>
<p>With some work (calling MSYS from a DOS prompt, etc) it would have been possible to make it generate a Visual C++ Makefile but it would have been painful.</p>
<p>Plus the existing autotools build system did not detect the right configuration on MinGW.</p>
<p>Step 1: replace autotools with CMake. On Linux. This was relatively easy (although time consuming) and did not require any change in the code.</p>
<p>&nbsp;</p>
<h2>Cygwin</h2>
<p>The second step was to build zsync on Windows using Cygwin (which provides a POSIX compatibility layer) and CMake.</p>
<p>No code changes were required here either, only a few small adjustments to the CMake build system. I tested on Linux again, it worked fine.</p>
<p>At this point, I had only made a pyrrhic progress: zsync was still Unix only, but with a cross-platform build system.</p>
<p>&nbsp;</p>
<h2>MinGW</h2>
<p>My next step was a serious one: port zsync to use MinGW, which generates a native Windows application with gcc.</p>
<p>That means using <a href="http://en.wikipedia.org/wiki/Winsock">Winsock</a> where required.</p>
<p>5And hitting Microsoft&#8217;s understanding of &#8220;POSIX-compliant&#8221;: the standard Windows POSIX C functions do not allow to treat sockets as files, rename open files, <a href="http://www.elpauer.org/?p=971">temporary files are created in C:\</a> (which fails on Windows Vista and newer), etc. And that&#8217;s when the functions do exist. In many cases (<a href="http://linux.die.net/man/3/mkstemp">mkstemp</a>, <a href="http://linux.die.net/man/2/pread">pread</a>, <a href="http://linux.die.net/man/3/gmtime_r">gmtime_r</a>&#8230;) those functions were outright inexistent and I needed to provide an implementation.</p>
<p>Plus adapting the build system. Fortunately, I was still using gcc and <a href="http://en.wikipedia.org/wiki/Qt_Creator">Qt Creator</a> provides great support for MinGW and <a href="http://en.wikipedia.org/wiki/GNU_Debugger">gdb</a> on Windows, and decent support for CMake.</p>
<p>Some other &#8220;surprises&#8221; were <a href="http://en.wikipedia.org/wiki/Large_file_support">large file support</a>, <a href="http://www.elpauer.org/?p=971">a stupid &#8220;bug&#8221;</a> and the difficulties of emulating all the file locking features of Unix on Windows.</p>
<p>Regarding LFS, I took the easy path: instead of using 64-bit Windows API directly, I used the <a href="http://mingw-w64.sourceforge.net/">mingw-w64</a> flavor of gcc on Windows, which implements 64-bit <a href="http://www.gnu.org/software/libc/manual/html_node/File-Position-Primitive.html">off_t</a> on 32-bit platforms transparently via <a href="http://www.suse.de/~aj/linux_lfs.html">_FILE_OFFSET_BITS</a>.</p>
<p>&nbsp;</p>
<h2>Visual C++ misery</h2>
<p>Porting to Visual C++ was the last step.</p>
<p>This was not strictly required. After all, all I had been asked for as a native version, not a native version that used Visual C++.</p>
<p>Yet I decided to give VC++2010 a try.</p>
<p>The main problem was lack of C99 support (though you can partially workaround that by compiling as C++) and importing symbols due to lack of symbol exports in the shared library (attributes for symbol visibility were introduced in gcc4.0, but many libraries do not use them because gcc does its &#8220;magic&#8221;, especially MinGW, which will &#8220;guess&#8221; the symbols).</p>
<p>Porting to Visual C++ 2010 required either to give up some C99 features in use (e. g. moving variable declarations to the beginning of the functions) or adding a lot of C++-specific workarounds (<a href="http://msdn.microsoft.com/en-us/library/0603949d(v=vs.100).aspx">extern &#8220;C&#8221;</a>).</p>
<p>I was a bit worried upstream would not accept this code because it didn&#8217;t really provide any benefit for the application (for the developer, use of a great IDE and <a href="http://msdn.microsoft.com/en-us/library/k70yt3e2(v=vs.100).aspx">very powerful debugger</a>), therefore I didn&#8217;t finish the Visual C++ port. Maybe some day if Microsoft decides to finally provide C99.</p>
<p>The result (so far) is available in the <a href="https://www.assembla.com/spaces/zsync-windows">zsync-window</a>s space in <a href="http://www.assembla.com">Assembla</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=972</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Problemas de la economía española (III): demasiados políticos, demasiado mal pagados</title>
		<link>http://www.elpauer.org/?p=1171</link>
		<comments>http://www.elpauer.org/?p=1171#comments</comments>
		<pubDate>Sat, 21 Jul 2012 19:37:48 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1171</guid>
		<description><![CDATA[Lo sé, lo sé: &#8220;¿¡mal pagados!? ¡Pero si un concejal, ministro, presidente del Gobierno, etc cobran 80.000 EUR prácticamente libres de impuestos!&#8221; Pues es un sueldo bajo, mira por donde. &#160; Los sueldos de los políticos Hace unos días, el Gobierno de Mariano Rajoy aprobó un proyecto de ley por el que el sueldo máximo [...]]]></description>
				<content:encoded><![CDATA[<p>Lo sé, lo sé: &#8220;¿¡mal pagados!? ¡Pero si un concejal, ministro, presidente del Gobierno, etc cobran 80.000 EUR prácticamente libres de impuestos!&#8221;</p>
<p>Pues es un sueldo bajo, mira por donde.</p>
<p>&nbsp;</p>
<h2>Los sueldos de los políticos</h2>
<p>Hace unos días, el Gobierno de Mariano Rajoy <a href="http://www.diariodeleon.es/noticias/afondo/68-981-euros-sueldo-tope-de-alcalde-y-menos-concejales_707607.html">aprobó un proyecto de ley</a> por el que el sueldo máximo de concejales y alcaldes será el mismo que un diputado: no llega a 69.000 EUR al año.</p>
<p>El Presidente del Gobierno cobra algo más, <a href="http://www.elmundo.es/elmundo/2012/04/03/espana/1333448004.html">unos 78.000 EUR</a>.</p>
<p>&nbsp;</p>
<h2>Casos reales</h2>
<p>El señor <a href="http://es.wikipedia.org/wiki/Manuel_Pizarro">Pizarro</a> ganaba unos 10 millones de euros al año en Endesa. Cuando fue elegido diputado por el Partido Popular pasó a ganar unos 65.000 EUR al año. En los 2 años que fue diputado, Manuel Pizarro perdió, en números redondos, 20 millones de euros. Probablemente más, porque no estamos contando los paquetes de acciones, opciones sobre acciones, jubilaciones, etc.</p>
<p>Luis de Guindos, actual Ministro de Economía, <a href="http://elpais.com/diario/2012/01/22/negocio/1327241005_850215.html">cobraba más de 300.000 EUR al año</a> como consejero de varias empresas. Ahora gana la cuarta parte, es uno de las personas más odiadas de España y no sé cómo duerme por las noches.</p>
<p>Hay más casos: Pedro Morenés (Ministro de Defensa del Gobierno Rajoy, ex-presidente de MDBA), Pedro Argüelles (Secretario de Estado de Defensa, ex-presidente de Boeing España), etc</p>
<p>&nbsp;</p>
<h2>Pero son raros</h2>
<p>Visto que en la empresa privada se gana mucho más que en la política, lo normal es que el cambio vaya en sentido contrario: pasar de la política a la empresa privada.</p>
<p><a href="http://elpais.com/diario/2012/01/22/negocio/1327241005_850215.html">Casos hay muchos</a>: Felipe González, José María Aznar, Elena Salgado, Pedro Solbes, Eduardo Zaplana, Jordi Sevilla, Josu Jon Imaz, Josep Piqué, en fin, mil.</p>
<p>&nbsp;</p>
<h2>Gestores inútiles</h2>
<p>Visto lo visto, ¿a alguien le extraña que estemos gobernados por inútiles? ¡Es la evolución natural!</p>
<ul>
<li>Si uno es bueno en su trabajo, gana mucho más en la empresa privada que en la política</li>
<li>Si uno es un inútil, en la empresa privada no se va a &#8220;comer un torrao&#8221;, así que se mete a política.</li>
</ul>
<p>&nbsp;</p>
<h2>Corolario</h2>
<p>Los inútiles se meten en política, hacen contactos y con su gestión destrozan la economía. Al poco de dejar la política, pasan a la empresa privada, donde ganarán mucho dinero en empresas a las que &#8220;casualmente&#8221; beneficiaron mientras estaban en política.</p>
<p>&nbsp;</p>
<h2>La solución</h2>
<p>Menos políticos, muchos menos, pero mucho mejor pagados: ¿cómo vamos a encontrar un ministro de Economía capaz si sólo pagamos 69.000 EUR al año?</p>
<p>Los únicos dispuestos a aceptar un cargo así son unos pocos gestores buenos que tienen vocación política (se cuentan con los dedos de una mano), o una caterva de políticos inútiles que quieren usar el cargo como lanzadera para irse luego a la empresa privada y ganar mucho más. Abundan los segundos.</p>
<p>(Todo lo dicho sobre ministros y presidentes del gobierno se aplica idéntico a concejales, alcaldes, diputados autonómicos, presidentes autonómicos, etc)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1171</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cómo ahorrar 800 millones de euros: España debería abandonar el Protocolo de Kioto inmediatamente</title>
		<link>http://www.elpauer.org/?p=1167</link>
		<comments>http://www.elpauer.org/?p=1167#comments</comments>
		<pubDate>Sat, 21 Jul 2012 18:09:28 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1167</guid>
		<description><![CDATA[Wikipedia tiene un buen artículo sobre el Protocolo de Kioto: El Protocolo de Kioto sobre el cambio climático2 es un protocolo de la CMNUCC Convención Marco de las Naciones Unidas sobre el Cambio Climático , y un acuerdo internacional que tiene por objetivo reducir las emisiones de seis gases de efecto invernadero que causan el [...]]]></description>
				<content:encoded><![CDATA[<p>Wikipedia tiene un buen artículo sobre el <a href="http://es.wikipedia.org/wiki/Protocolo_de_Kioto_sobre_el_cambio_clim%C3%A1tico">Protocolo de Kioto</a>:</p>
<p><em>El Protocolo de Kioto sobre el cambio climático2 es un protocolo de la CMNUCC Convención Marco de las Naciones Unidas sobre el Cambio Climático , y un acuerdo internacional que tiene por objetivo reducir las emisiones de seis gases de efecto invernadero que causan el calentamiento global: dióxido de carbono (CO2), gas metano (CH4) y óxido nitroso (N2O), además de tres gases industriales fluorados: Hidrofluorocarbonos (HFC), Perfluorocarbonos (PFC) y Hexafluoruro de azufre (SF6), en un porcentaje aproximado de al menos un 5%, dentro del periodo que va desde el año 2008 al 2012, en comparación a las emisiones al año 1990.</em></p>
<h2></h2>
<h2>La realidad</h2>
<p>Bueno, esa era la intención. Lo que ha sucedido en realidad ha sido:</p>
<ol>
<li>Muy pocos países han conseguido reducir las emisiones de CO2</li>
<li>Se creó un <a href="http://es.wikipedia.org/wiki/Comercio_de_derechos_de_emisi%C3%B3n">mercado de &#8220;aire limpio&#8221;</a>, en el cual los países que excedían en sus emisiones de CO2 compraban &#8220;no emisiones&#8221; a los países que sí cumplían. Un anglosajón diría que literalmente hemos creado un mercado &#8220;<a href="http://forum.wordreference.com/showthread.php?t=1417935&amp;p=7178181#post7178181">out of thin air</a>&#8220;. Yo lo completaría con un &#8220;out of thin <em>clean</em> air&#8221;</li>
</ol>
<p>En cuanto al primer punto, hay que destacar que España es uno de los países más idiotas del Protocolo de Kioto: asumimos unos compromisos irrealizables, a los que en realidad nadie nos obligaba, y en lugar de abandonar el Protocolo, como hicieron el resto de países que no iban a cumplir (<a href="http://es.wikipedia.org/wiki/Protocolo_de_Kioto_sobre_el_cambio_clim%C3%A1tico#Estados_Unidos">Estados Unidos</a>, <a href="http://es.wikipedia.org/wiki/Protocolo_de_Kioto_sobre_el_cambio_clim%C3%A1tico#Canad.C3.A1">Canadá</a>, etc), seguimos y hemos pagado y vamos a pagar un dineral.</p>
<p>En cuanto al segundo punto, en realidad los países &#8220;contaminadores&#8221; no están comprando a países &#8220;limpios&#8221;, sino (mayoritariamente) a países subdesarrollados, que simplemente no contaminan más porque no tienen industria, no porque su industria sea eficiente.</p>
<p>&nbsp;</p>
<h2>¿Y España?</h2>
<p>España ha fracasado absolutamente en todo: <a href="http://www.elmundo.es/elmundo/2012/05/08/natura/1336471445.html">no hemos cumplido con las emisiones</a>, y en lugar de abandonar, seguimos porque somos &#8220;buenrrollistas&#8221;, y como consecuencia vamos a pagar unos 800 millones de euros por el periodo 2008-2012.</p>
<p>Ya es demasiado tarde para ahorrarnos esos 800 millones de euros (<a href="http://www.lavanguardia.com/medio-ambiente/20111214/54240196099/lo-que-le-cuesta-a-espana-seguir-en-kioto.html">la fecha límite era el 31 de diciembre de 2011</a>), pero lo que sí podemos hacer &#8220;darnos de baja&#8221; del &#8220;<a href="http://es.wikipedia.org/wiki/Protocolo_de_Kioto_sobre_el_cambio_clim%C3%A1tico#Estados_Unidos">club post-Kioto</a>&#8220;.</p>
<p>&nbsp;</p>
<h2>¡Contaminador! ¡Antiecológico! ¡Asesino de la Naturaleza!</h2>
<p>Para el carro.</p>
<p>Me gustaría que cumpliéramos con Kioto, con Durban y con Bali, pero ya que no vamos a poder hacerlo, y ya que tenemos la economía hecha trizas, lo mejor es que nos borremos y que lo hagamos lo mejor que podamos.</p>
<p>Y sin pagar estúpidas sanciones autoimpuestas.</p>
<p>Prefiero destinar esos 800 millones de euros a mil cosas más importantes.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1167</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A wish a day 16: libdbusfat</title>
		<link>http://www.elpauer.org/?p=1157</link>
		<comments>http://www.elpauer.org/?p=1157#comments</comments>
		<pubDate>Mon, 26 Mar 2012 22:24:46 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[A wish a day]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=1157</guid>
		<description><![CDATA[D-BUS (Desktop Bus) is a simple inter-process communication (IPC) open-source system for software applications to communicate with one another. It replaced DCOP in KDE4 and has also been adopted by Gnome, XFCE and other desktops. It&#8217;s, in fact, the main interoperability mechanism in the &#8220;Linux desktop&#8221; world thanks to the freedesktop.org standards. The architecture of [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/D-Bus">D-BUS</a> (Desktop Bus) is a simple inter-process communication (IPC) open-source system for software applications to communicate with one another. It replaced <a href="http://en.wikipedia.org/wiki/DCOP">DCOP</a> in KDE4 and has also been adopted by <a href="http://www.gnome.org">Gnome</a>, <a href="http://www.xfce.org">XFCE</a> and other desktops. It&#8217;s, in fact, the main interoperability mechanism in the &#8220;Linux desktop&#8221; world thanks to the <a href="http://www.freedesktop.org">freedesktop.org</a> standards.</p>
<p>The architecture of D-Bus is pretty simple: there is a <a href="http://linux.die.net/man/1/dbus-daemon-1">dbus-daemon</a> server process which runs locally and acts as a &#8220;messaging broker&#8221; and applications exchange messages through the dbus-daemon.</p>
<p>But of course you already new that because you are supersmart developers and/or users.</p>
<h1>D-Bus on Windows</h1>
<p>What you may not know is how much damage is D-Bus making to open source software on Windows.</p>
<p>A few years ago I tried to introduce <a href="http://en.wikipedia.org/wiki/KDELibs">kdelibs</a> for a large cross-platform project but I got it rejected, despite some obvious advantages, mainly due to D-Bus.</p>
<p>Performance and reliability back then was horrible. It works much better these days but it still scares Windows users. In fact, you may also  replace &#8220;it scares Windows users&#8221; with &#8220;it scares IT departments in the enterprise world*&#8221;. </p>
<p>The reason?</p>
<p>A dozen processes randomly started, <a href="http://en.wikipedia.org/wiki/Inter-process_communication">IPC</a> with no security at all, makes difficult to upgrade/kill/know when to update applications, and many more. I&#8217;m not making this out, this has already happened to me.</p>
<p>* <i>yes, I know our friends from Kolab are doing well, but how many KDE applications on desktop have you seen out of that &#8220;isolation bubble&#8221;</i></p>
<h1>D-Bus on mobile</h1>
<p>One other problem is D-Bus is not available on all platforms (<a href="http://www.android.com">Android</a>, <a href="http://en.wikipedia.org/wiki/Symbian">Symbian</a>, <a href="http://en.wikipedia.org/wiki/IOS">iOS</a>, etc), which makes porting KDE applications to those platforms difficult.</p>
<p>Sure, Android uses D-Bus internally, but that&#8217;s an implementation detail and we don&#8217;t have access to it). That means we still need a solution for platforms where you cannot run or access dbus-daemon.</p>
<h1>Do we need a daemon?</h1>
<p>A few months ago I was wondering: do we really need this dbus-daemon process at all?</p>
<p>What we have now looks like this:</p>
<p style="text-align: center;"><a href="/images/libdbusfat-currentsituation.png"><img class="aligncenter" title="DBUS (current situation)" src="/images/libdbusfat-currentsituation_thumb.png" alt="" /></a></p>
<p>As you can see, D-Bus is a local IPC mechanism, i. e. it does not allow applications to communicate over the network (although technically, it would not be difficult to implement). And every operating system these days has its own IPC mechanism. Why create a new one with a new daemon? Can&#8217;t we use an existing one?</p>
<p>I quickly got my first answer: D-Bus was created to expose a common API (and message and data format, i. e. a common &#8220;wire protocol&#8221;) to applications, so that it&#8217;s easy to exchange information.</p>
<p>As for the second answer, reusing an existing one, it&#8217;s obvious we cannot: KDE applications run on a variety of operating systems, every one of them has a different &#8220;native&#8221; IPC mechanism. Unices (Linux, BSD, etc) may be quite similar, but Windows, Symbian, etc are definitely very different.</p>
<h1>No, we don&#8217;t!</h1>
<p>So I though let&#8217;s use some technospeak buzzword and make HR people happy! The <a href="http://en.wikipedia.org/wiki/Facade_pattern">façade pattern!</a></p>
<p>Let&#8217;s implement a libdbusfat which offers the <a href="http://dbus.freedesktop.org/doc/api/html/index.html">libdbus</a> API on one side but talks to a native IPC service on the other side. That way we could get rid of the dbus-daemon process and use the platform IPC facilities. For each platform, a different &#8220;native IPC side&#8221; would be implemented: on Windows it could be COM, on Android something else, etc</p>
<p style="text-align: center;"><a href="/images/libdbusfat-proposal.png"><img class="aligncenter" title="ZFS snapshots visualization" src="/images/libdbusfat-proposal_thumb.png" alt="" /></a></p>
<h1>Pros</h1>
<p>The advantage of libdbusfat would be applications would not need any change and they would still be able to use DBus, which at the moment is important for cross-desktop interoperability.</p>
<p>On Unix platforms, applications would link to libdbus and talk to dbus-daemon.</p>
<p>On Windows, Android, etc, applications would link to libdbusfat and talk to the native IPC system.</p>
<p>By the magic of this façade pattern, we could compile, for instance, QtDBUS so that it works exactly like it does currently but it does not require dbus-daemon on Windows. Or Symbian. Or Android.</p>
<h1>QtMobility?</h1>
<p>QtMobility implements a Publish/Subscribe API with a D-Bus backend but it serves a completely different purpose: it&#8217;s not available glib/gtk/EFL/etc and it&#8217;s implemented in terms of QtDBUS (which in turn uses dbus-daemon for D-Bus services on every platform).</p>
<p>It&#8217;s, in fact, a perfect candidate to become a user of libdbusfat.</p>
<h1>Cons</h1>
<p>A lot of work.</p>
<p>You need to cut dbus-daemon in half, establish a clear API which can be implemented in terms of each platform&#8217;s IPC, data conversion, performance, etc. Very interesting work if you&#8217;ve got the time to do it, I must say. Perfect for a <a href="http://en.wikipedia.org/wiki/Google_Summer_of_Code">Google Summer of Code</a>, if you already know D-Bus and IPC on a couple of different-enough two platforms (Linux and Windows, or Linux and Android, or Linux and iOS, etc).</p>
<h1>Summary</h1>
<p>TL;DR: The idea is to be able to compile applications that require DBus without needing to change the application. This may or may not be true on Android depending on the API, but it is true for Windows.</p>
<p>Are you brave enough to develop libdbusfat it in a Qt <a href="http://wiki.qt-project.org/GSoC_Proposals"> or </a><a href="http://community.kde.org/GSoC/2012/Ideas">KDE GSoC</a>?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=1157</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>A wish a day 15: MSVC compiler in KDevelop</title>
		<link>http://www.elpauer.org/?p=939</link>
		<comments>http://www.elpauer.org/?p=939#comments</comments>
		<pubDate>Thu, 08 Mar 2012 22:31:07 +0000</pubDate>
		<dc:creator>pgquiles</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[A wish a day]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.elpauer.org/?p=939</guid>
		<description><![CDATA[This is a short one and probably doable as a Summer of Code project. The idea: add support for the Microsoft compiler and linker and Visual Studio projects and solutions (.sln, .vcproj, et)c in KDevelop, at least in the Windows version. QtCreator has suport for the first part (compiler and linker). For the the second [...]]]></description>
				<content:encoded><![CDATA[<p>This is a short one and probably doable as a Summer of Code project.</p>
<p>The idea: add support for the Microsoft <a href="http://msdn.microsoft.com/en-us/library/9s7c9wdw.aspx">compiler</a> and <a href="http://msdn.microsoft.com/en-us/library/y0zzbyt4.aspx">linker</a> and <a href="http://www.microsoft.com/visualstudio/en-us">Visual Studio</a> projects and solutions (.sln, .vcproj, et)c in KDevelop, at least in the Windows version.</p>
<p>QtCreator has suport for the first part (compiler and linker).</p>
<p>For the the second part (solutions and <a href="http://msdn.microsoft.com/en-us/library/y4sy8216.aspx">projects</a>), code can probably be derived (directly or indirectly) from <a href="http://monodevelop.com/">MonoDevelop</a>&#8216;s and <a href="http://www.cmake.org">CMake</a>&#8216;s. The starting point would be <a href="http://msdn.microsoft.com/en-us/library/5dy88c2e.aspx">MSBuild</a> support, as it&#8217;s what VS2010 is based on.</p>
<p>Bonus points if you add C#/.NET support (Qyoto/Kimono).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elpauer.org/?feed=rss2&#038;p=939</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
