<?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>ZardoZ The Technomage</title>
	<atom:link href="http://zardoz.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://zardoz.es</link>
	<description>Venturas y desventuras de un friki linuxero</description>
	<lastBuildDate>Sun, 31 Mar 2013 15:40:10 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>A1200. Un Amiga con su monitor 1084S</title>
		<link>http://zardoz.es/amiga-a1200-y-monitor-1084s/</link>
		<comments>http://zardoz.es/amiga-a1200-y-monitor-1084s/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 00:59:54 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[amiga]]></category>
		<category><![CDATA[retroinformatica]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=940</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Justo este Lunes, he echado mano a un Amiga a1200 con su monitor, fuente, ratón original y una capturadora de video, a un precio baratisimo! Obviamente quien me lo vendio, en un mercadillo, no tenia ni idea de que era. El muy pobre pensaba &#8230; <a href="http://zardoz.es/amiga-a1200-y-monitor-1084s/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><div id="attachment_941" class="wp-caption alignright" style="width: 310px"><a href="http://zardoz.es/wp-content/uploads/20130311_122229.jpg"><img class="size-medium wp-image-941" alt="Amiga a1200 y su monitor 1084S" src="http://zardoz.es/wp-content/uploads/20130311_122229-300x225.jpg" width="300" height="225" /></a><p class="wp-caption-text">Amiga a1200 y su monitor 1084S</p></div>
<p>Justo este Lunes, he echado mano a un <a title="Amiga a1200" href="http://es.wikipedia.org/wiki/Commodore_Amiga_1200" target="_blank">Amiga a1200</a> con su monitor, fuente, ratón original y una capturadora de video, a un precio baratisimo! Obviamente quien me lo vendio, en un mercadillo, no tenia ni idea de que era. El muy pobre pensaba que era un teclado y un monitor viejos sin valor alguno. En fin, así que lo pille sin pensármelo dos veces y ahora tengo en mis mano una pieza de museo en un estado de conservación impecable.</p>
<p>Para quienes no lo sepáis un Amiga era un ordenador personal fabricado por Commodore, a finales de los 80 y principios de los 90. Dichos ordenadores eran capaces de dejar en la estacada a un PC de la época  De hecho, los PCs no se les pusieron de tu a tu, hasta que aparecieron los 386 y las gráficas SVGA. Para que os hagáis una idea, este a1200 del 93 era capaz de capturar y hacer edición de vídeo básica !!</p>
<p>Bueno, así que una vez conseguido esta ganga y verificado que funciona, ahora me toca cacharear y descubrir sus entresijos.</p>
<p>&nbsp;</p>
<p><span id="more-940"></span></p>
<p>&nbsp;</p>
<div id="attachment_942" class="wp-caption alignright" style="width: 160px"><a href="http://zardoz.es/wp-content/uploads/20130311_220103.jpg"><img class="size-thumbnail wp-image-942 " title="Disco duro Amiga" alt="Disco duro Amiga" src="http://zardoz.es/wp-content/uploads/20130311_220103-1024x768.jpg" width="150" height="&quot;150" /></a><p class="wp-caption-text">Disco duro del Amiga, de 127MiB</p></div>
<p>&nbsp;</p>
<p>En fin, después de conseguir ponerlo en ingles, ya que venia puesto en italiano y ver que el disco duro estaba casi lleno (al 90%), me toco limpiarlo un poco, aunque la verdad casi no le hacia falta. Solo tenia unas pocas manchas rojas en una parte de la rejilla.</p>
<p>Luego, ya por la tarde/noche, lo abrí para darle un vistazo rápido. Así descubrí que el disco duro es de 127MiB (un Seagate ST9145AG).</p>
<p>También observe la versión del Kickstart, siendo la 3.0. El Kickstart seria el semejante a la BIOS de un PC, pero llevaba más funciones integradas, incluyendo funciones gráficas usadas por el entorno grafico. Desde luego algo bastante curioso.</p>
<p>&nbsp;</p>
<div id="attachment_943" class="wp-caption alignright" style="width: 160px"><a href="http://zardoz.es/wp-content/uploads/20130311_220041.jpg"><img class="size-thumbnail wp-image-943" alt="Kickstart 3.0" src="http://zardoz.es/wp-content/uploads/20130311_220041-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Kickstart 3.0</p></div>
<p>Luego, vi unas ranuras de expansión de RAM, que creí que eran del diseño original de la maquina. Pues resulta ser que realmente es una<a title="tarjeta de expansión" href="http://amiga.resource.cx/exp/dkb1202"> tarjeta de expansión</a> del a1200, que le añade un reloj con batería, dos ranuras para expandir la RAM hasta 8 MiB, y la posibilidad de añadirle un coprocesador matemático. Dicha tarjeta de expansión se une a la placa principal por un bus llamado Zorro II, y que normalmente es accesible por debajo de la maquina vía una trampilla de acceso.<br />
Lo más curioso de esta placa de expansión, es que por un casual tengo un modulo de 4Mib FPG 70ns SIMM de 72 pines que le debería de valer y por lo tanto me permitiría ampliar el Amiga a 8Mib de RAM, lo cual es una ganancia muy buena para este ordenador.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="attachment_945" class="wp-caption aligncenter" style="width: 762px"><a href="http://zardoz.es/wp-content/uploads/20130311_220026.jpg"><img class=" wp-image-945 " title="Tarjeta de expansión" alt="Tarjeta de expansión" src="http://zardoz.es/wp-content/uploads/20130311_220026-1024x768.jpg" width="752" height="564" /></a><p class="wp-caption-text">Tarjeta de expansión DKB 1202</p></div>
<div id="attachment_946" class="wp-caption aligncenter" style="width: 762px"><a href="http://zardoz.es/wp-content/uploads/20130313_011001.jpg"><img class=" wp-image-946 " alt="Trampilla de acceso" src="http://zardoz.es/wp-content/uploads/20130313_011001-1024x768.jpg" width="752" height="564" /></a><p class="wp-caption-text">Trampilla de acceso para el bus de expansión</p></div>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/amiga-a1200-y-monitor-1084s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multipantalla con ATI (fglrx) en Ubuntu</title>
		<link>http://zardoz.es/multipantalla-con-ati-en-ubuntu/</link>
		<comments>http://zardoz.es/multipantalla-con-ati-en-ubuntu/#comments</comments>
		<pubDate>Fri, 12 Oct 2012 09:56:47 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=919</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Bien ! Si eres un usuario de una gráfica ATI y por alguna razón necesitas usar el driver propietario (en mi caso, tener bajo consumo en el portátil), entonces habrás tenido que lidiar con el fglrx y catalyst de ATI. &#8230; <a href="http://zardoz.es/multipantalla-con-ati-en-ubuntu/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Bien ! Si eres un usuario de una gráfica ATI y por alguna razón necesitas usar el driver propietario (en mi caso, tener bajo consumo en el portátil), entonces habrás tenido que lidiar con el fglrx y catalyst de ATI. Resulta que si intentáis usarlo con varias pantallas normalmente va a tratar de forzaros a tener la pantalla clonada, en vez de poder colocarla a un lado, encima, etc&#8230; La razón es que al parecer fglrx cuando se instala en Ubuntu  &amp; cia, configura las X con un escritorio virtual apenas más grande que la máxima resolución de la pantalla, lo cual hace imposible colocar la segunda pantalla a un lado de la principal.</p>
<p>La solución, es editar el fichero <em>/etc/X11/xorg.conf</em> y buscar la linea &#8220;Virtual  <em>X</em> <em>Y</em>&#8220;, para cambiar los valores de X e Y por unos que os permitan colocar la pantalla de forma contigua verticalmente o lateralmente, en mi caso uso los valores de 2560 y 2048. Encontrar dicha linea no tiene dificultad ya que en el xorg.conf de Ubuntu y derivadas, suele ser 4 lineas.</p>
<p>Los valores de X e Y deben ser tales que os permitan tener la resolución máxima de ambas pantallas, de forma contigua. Por ejemplo, tengamos dos monitores, uno de 1680&#215;1050 y otro de 1280&#215;720 . Si queréis poder poner la imagen de uno al lado de otro (lo típico), entonces X &gt;= 1680+1280 = 2930 e Y &gt;= 1050. Si queréis poder poner la imagen de uno encima de la del otro (muy útil para portátiles), entonces X &gt;= 1680 e Y &gt;= 1050 +720 = 1770 . Sencillo¿ no ?</p>
<p style="text-align: center;"><a href="/wp-content/uploads/20121010_155519.jpg"><img class="aligncenter size-large wp-image-931" title="Dual Screen con ATI" src="http://zardoz.es/wp-content/uploads/20121010_155519-806x1024.jpg" alt="Ejemplo de Dual Screen funcionando con ATI fglrx" width="806" height="1024" /></a></p>
<p>Fuente : <a title="Ask Ubuntu" href="http://askubuntu.com/questions/101978/get-multiple-screens-working-in-11-10-the-selected-configuration-for-displays" target="_blank">Ask Ubuntu</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/multipantalla-con-ati-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Preparando para compilar con GTK en Windows</title>
		<link>http://zardoz.es/preparando-para-compilar-con-gtk-en-windows/</link>
		<comments>http://zardoz.es/preparando-para-compilar-con-gtk-en-windows/#comments</comments>
		<pubDate>Tue, 05 Jun 2012 08:42:59 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=915</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Últimamente he estado &#8220;experimentando&#8221; con GTK+2 en el lenguaje D, gracias a GtkD (bindings de GTK para D) y decidí probar hasta que punto era problemático que el programa fuese multi-plataforma. La verdad ,es que por la parte del código &#8230; <a href="http://zardoz.es/preparando-para-compilar-con-gtk-en-windows/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Últimamente he estado &#8220;experimentando&#8221; con GTK+2 en el lenguaje D, gracias a GtkD (bindings de GTK para D) y decidí probar hasta que punto era problemático que el programa fuese multi-plataforma. La verdad ,es que por la parte del código no he tenido problemas, por el momento. Lo único complicado fue establecer el <em>environment</em> para compilar y prepararme, inicialmente, unos <em>scripts</em> <strong>BAT</strong> para hacerlo, aunque actualmente lo he pasado a CMake para poder automatizar otras tareas.</p>
<p>Así que si más preámbulos, resumiré que he hecho para conseguir que pueda compilar programas que usan GTK en Windows.</p>
<ol>
<li>Instalar <a href="http://www.mingw.org/" target="_blank">MinGW</a>. También es posible instalar la suite<a href="http://tdm-gcc.tdragon.net/" target="_blank"> TDM-GCC</a> que incluye MinGW y <strong>gcc</strong> de forma fácil de instalar, y es lo que hice yo.</li>
<li>Descargar <a href="http://www.gtk.org/download/win32.php" target="_blank">GTK+ All-on-in-bundle</a> y descomprimirlo en un directorio a tu elección (c:\gtk por ejemplo)</li>
<li>Añadir estas variables al entorno de windows (en W7-Vista: Panel de control-&gt;Sistema-&gt;Confg. Avanzada del sistema, variables de entorno ) :</li>
<ol>
<li><strong>GTK_BASEPATH</strong> = <em>&#8220;Directorio donde has descomprimido gtk</em>&#8221; (en nuestro ejemplo c:\gtk )</li>
<li><strong>PKG_CONFIG</strong> = <em>&#8220;Mismo Dir que antes</em>&#8220;<strong>\lib\pkgconfig </strong> ( c:\gtk\lib\pkgconfig )</li>
<li><strong>PATH</strong> = Añadir &#8220;<em>Mismo Dir que antes</em>&#8220;<strong>\bin</strong> <strong></strong>( c:\gtk\bin )</li>
</ol>
</ol>
<p>Y partir de aquí ya depende de que lenguaje estés usando, etc&#8230; pero ya dispones de un <strong>make</strong> (mingw32-make), <strong>pkg-config</strong> , las librerías y los <em>includes</em> de <strong>GTK+2</strong> en Windows. Si lo hicisteis por la via de TDM-GCC, y el proyecto esta en C, ya deberías de poder directamente compilar.</p>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/preparando-para-compilar-con-gtk-en-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DEDCPU-16 Un emulador sencillo de DCPU-16</title>
		<link>http://zardoz.es/dedcpu-16-un-emulador-sencillo-de-dcpu-16/</link>
		<comments>http://zardoz.es/dedcpu-16-un-emulador-sencillo-de-dcpu-16/#comments</comments>
		<pubDate>Sat, 07 Apr 2012 16:09:00 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[dcpu]]></category>
		<category><![CDATA[dedcpu]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=906</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Y siguiendo con que tengo que estar enfermo, ayer en un rato hice un emulador sencillote del DCPU-16. Es muy simplón y funciona step by step, ejecutando instrucciones cada vez que se presiona el enter. Esta disponible en GitHub. Tengo &#8230; <a href="http://zardoz.es/dedcpu-16-un-emulador-sencillo-de-dcpu-16/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Y siguiendo con que tengo que estar enfermo, ayer en un rato hice un emulador sencillote del DCPU-16.<br />
Es muy simplón y funciona <em>step by step</em>, ejecutando instrucciones cada vez que se presiona el enter.<br />
Esta disponible en <a href="https://github.com/Zardoz89/DEDCPU-16">GitHub</a>.</p>
<p><del>Tengo planeado darle un pequeño interprete para poder controlar la información en pantalla y poder visualizar trozos de la memoria ram de la CPU. Además de cambiar como se presenta la información para que sea más útil.</del></p>
<p>Actualmente creo que ya es una herramienta que puede ser util.<br />
<a href="http://imageshack.us/photo/my-images/716/dedcpu.png/"><img class="aligncenter" src="http://img716.imageshack.us/img716/1837/dedcpu.png" alt="" width="490" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/dedcpu-16-un-emulador-sencillo-de-dcpu-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RDCPU-16 ¡Estoy enfermo!</title>
		<link>http://zardoz.es/rdcpu-16-estoy-enfermo/</link>
		<comments>http://zardoz.es/rdcpu-16-estoy-enfermo/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 12:45:10 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[dcpu]]></category>
		<category><![CDATA[retroinformatica]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=907</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Creo que solo han pasado dos días desde que Noth anuncio 0x10c, su nuevo juego de ciencia ficción en que habrá que programar un microordenador con una CPU de 16 bits al mas puro estilo ochentero. La gracia es que &#8230; <a href="http://zardoz.es/rdcpu-16-estoy-enfermo/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Creo que solo han pasado dos días desde que Noth anuncio 0x10c, su nuevo juego de ciencia ficción en que habrá que programar un microordenador con una CPU de 16 bits al mas puro estilo ochentero. La gracia es que en ese breve lapso de tiempo, ya han aparecido, ensambladores, compiladores, desensambladores, emuladores y hasta una IDE!</p>
<p>Yo por mi parte, hice mi propia especificación de una CPU basada en la original de Notch con un diseño RISC, a la cual la llamo RDCPU-16</p>
<p><span id="more-907"></span></p>
<blockquote><p>RISC DCPU-16 variant</p>
<p>* Work with 16 bit unsigned words, but have basic 16 bit signed two complement arithmetic (not MUL / DIV / MOD for signed integers)</p>
<p>* 0&#215;10000 word of RAM</p>
<p>* 11 general 16 bit registers (A, B, C, D, E, F, X, Y, Z, I, J)<br />
* program counter (PC)<br />
* base pointer (BP)<br />
* stack pointer (SP)<br />
* overflow (O)</p>
<p>In this document, anything within [brackets] is shorthand for &#8220;the value of the RAM at the location of the value inside the brackets&#8221;.<br />
For example, SP means stack pointer, but [SP] means the value of the RAM at the location the stack pointer is pointing at.<br />
Access to RAM memory for data are only by RAM I/O instructions.<br />
Instructions are from 1 to 3 words of long and can handle a max of 1024 + 64 different instructions<br />
Whenever the CPU needs to read a word, it reads [PC], then increases PC by one. Shorthand for this is [PC++].<br />
In some cases, the CPU will modify a value before reading it, in this case the shorthand is [++PC].</p>
<p>General Format of Instructions:<br />
bbbbbb aaaa oooooo</p>
<p>Where aaaa: (destination)<br />
0&#215;0 &#8211; 0xB : Registros (A,B,&#8230; Z, I ,J)<br />
0xC : SP<br />
0xD : BP<br />
0xE : PC<br />
0xF : O</p>
<p>Where bbbbbb: (source)<br />
0&#215;00 &#8211; 0x0B : Registros (A,B,&#8230; Z, I ,J)<br />
0x0C : SP<br />
0x0D : BP<br />
0x0E : PC<br />
0x0F : O<br />
0&#215;10 : next word is a 16 bit literal<br />
0&#215;11 &#8211; 0x3f : Literal value -1, 0&#215;00-0x2D</p>
<p>Where oooooo are the basic OpCodes</p>
<p>Special opcodes:<br />
0&#215;00: non-basic instruction &#8211; see below<br />
0x3F: JSR a &#8211; pushes the address of the next instruction to the stack, then sets PC to a (like STORE SP&#8211;, PC+1; SET PC, a)<br />
0x3E: NOP &#8211; Not Operation (do nothing)<br />
0x3D: SWP a, b &#8211; Swap two register values</p>
<p>Math OpCodes:<br />
0&#215;01: SET a, b &#8211; sets a to b<br />
0&#215;02: ADD a, b &#8211; sets a to a+b, sets O to 0&#215;0001 if there&#8217;s an overflow, 0&#215;0 otherwise<br />
0&#215;03: SUB a, b &#8211; sets a to a-b, sets O to 0xffff if there&#8217;s an underflow, 0&#215;0 otherwise<br />
0&#215;04: MUL a, b &#8211; sets a to a*b, sets O to ((a*b)&gt;&gt;16)&amp;0xffff<br />
0&#215;05: DIV a, b &#8211; sets a to a/b, sets O to ((a&lt;&lt;16)/b)&amp;0xffff. if b==0, sets a and O to 0 instead.<br />
0&#215;06: MOD a, b &#8211; sets a to a%b. if b==0, sets a to 0 instead.<br />
0&#215;11: NEG a, b &#8211; sets a to -b (!b +1 &amp; 0xffff)</p>
<p>Logical OpCodes<br />
0&#215;07: SHL a, b &#8211; sets a to a&lt;&lt;b, sets O to ((a&lt;&lt;b)&gt;&gt;16)&amp;0xffff<br />
0&#215;08: SHR a, b &#8211; sets a to a&gt;&gt;b, sets O to ((a&lt;&lt;16)&gt;&gt;b)&amp;0xffff<br />
0&#215;09: AND a, b &#8211; sets a to a&amp;b<br />
0x0a: BOR a, b &#8211; sets a to a|b<br />
0x0b: XOR a, b &#8211; sets a to a^b<br />
0&#215;10: NOT a, b &#8211; sets a to !b</p>
<p>Branch/Jump OpCodes<br />
0x0c: IFE a, b &#8211; performs next instruction only if a==b<br />
0x0d: IFN a, b &#8211; performs next instruction only if a!=b<br />
0x0e: IFG a, b &#8211; performs next instruction only if a&gt;b (unsigned)<br />
0x0f: IFB a, b &#8211; performs next instruction only if (a&amp;b)!=0<br />
0&#215;12: IFSG a, b &#8211; performs next instruction only if a&gt;b (signed two complement)</p>
<p>RAM OpCodes :<br />
0x3B: READ a, b &#8211; Read the address in b and stores his value in a<br />
0x3C: WRT b, a &#8211; Get the value of a and write in the address b</p>
<p>From 0&#215;12 to 1x3A OpCodes, are reserver for future instructions (28 OpCodes)</p>
<p>Non-basic OpCodes always have their lower six bits unset.<br />
In additon the next word uses this structure:<br />
oooooo oooo 000000<br />
That allow to use 10 bits OpCodes (1024 extra OpCodes!!)<br />
This extra OpCodes are reserver for future instructions</p>
<p>In the case that bbbbb was 0&#215;10, then the 16 bit literal is the next word to the non-basic OpCode.</p>
<p>* SET, AND, BOR, XOR, NOT, ADD, SUB, SHR, SHL take 1 cycle, plus the cost of b<br />
* MUL take 2 cycles, plus the cost of b<br />
* NEG, DIV and MOD take 3 cycles, plus the cost of  b<br />
* IFE, IFN, IFG, IFB, IFSG take 2 cycles, plus the cost of  b, plus 1 if the test fails<br />
* JSR takes 3 cycles.<br />
* READ and WRT takes 2 cyles to perform the operation, plus the cost of b.</p>
<p>The FAQ are nearly equal that DCPU-16 v1.1<br />
Except for &#8230;.</p>
<p>Change SET [0x1000], 0&#215;20 for:<br />
SET I, 0&#215;20<br />
WRT 0&#215;1000, I</p>
<p>Change SUB A, [0x1000] for :<br />
READ I, 0&#215;1000<br />
SUB A, I</p>
<p>Change :loop SET [0x2000+I], [A] for :<br />
ADD I, 0&#215;2000<br />
loop:  READ J, A<br />
WRITE I, J</p>
<p>Conventions about the use of the registers:<br />
BP It&#8217;s Base Pointer, used to store SP when a subroutine needs to read parameters and use local vars in stack.<br />
I and J are used mainly like auxiliary registers to work with the RAM (set a literal value to be writes to RAM, etc&#8230;)</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/rdcpu-16-estoy-enfermo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Practicas de SI2&#8230; que dolor</title>
		<link>http://zardoz.es/practicas-de-si2-que-dolor/</link>
		<comments>http://zardoz.es/practicas-de-si2-que-dolor/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 10:26:52 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=852</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Bueno, despues de debanarme los sesos día y medio con este error : Bien&#8230; despues de indagar, encontre como solucionarlo en StackOverflow. Segun pude entender, hay un conflicto en Glashfish, con uno de sus modelos. Desisntalando dicho modulo tanto en &#8230; <a href="http://zardoz.es/practicas-de-si2-que-dolor/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Bueno, despues de debanarme los sesos día y medio con este error :</p>
<p><a href="http://zardoz.es/wp-content/uploads/2012/03/Pantallazo.png"><img class="aligncenter  wp-image-853" title="Error de Glashfish" src="http://zardoz.es/wp-content/uploads/2012/03/Pantallazo.png" alt="" width="490" height="157" /><span id="more-852"></span></a><br />
Bien&#8230; despues de indagar, encontre como solucionarlo en StackOverflow. Segun pude entender, hay un conflicto en Glashfish, con uno de sus modelos. Desisntalando dicho modulo tanto en la maquina que ofrece el webservice, como la maquina cliente del webservice, se soluciona el toston :</p>
<pre style="padding-left: 30px;">/opt/glassfish3/bin$ sudo ./pkg uninstall sun-javaee-engine
$ asadmin stop-domain
$ asadmin start-domain
</pre>
<p>Y ya tira asi&#8230;</p>
<p>Fuente :</p>
<p><a title="Stackoverflow" href="http://stackoverflow.com/questions/4935226/deploying-war-with-cxf-in-glassfish-v3">http://stackoverflow.com/questions/4935226/deploying-war-with-cxf-in-glassfish-v3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/practicas-de-si2-que-dolor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lighttpd sobre chroot con php5 en Debian 6</title>
		<link>http://zardoz.es/lighttpd-sobre-chroot-con-php5-en-debian-6/</link>
		<comments>http://zardoz.es/lighttpd-sobre-chroot-con-php5-en-debian-6/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 16:57:43 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[how]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=845</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Bueno, últimamente me ha dado por enjaular un servidor web que tenemos en Antares, y me topado con algunas cosas que los how-to&#8217;s que hay por ahí no comentan. Enjaular (chrootear) el servidor web, sirve para que si de alguna &#8230; <a href="http://zardoz.es/lighttpd-sobre-chroot-con-php5-en-debian-6/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Bueno, últimamente me ha dado por enjaular un servidor web que tenemos en Antares, y me topado con algunas cosas que los how-to&#8217;s que hay por ahí no comentan.</p>
<p>Enjaular (<em>chrootear</em>) el servidor web, sirve para que si de alguna forma alguien rompe / hackea el servidor web, no pueda acceder al resto del servidor. Se queda encerrado dentro de lo que es el servidor web. Para ello se ejecuta el servidor web dentro de una estructura de directorios aparte y sin capacidad de ver el resto del entorno del servidor.</p>
<p>Obviamente, no recomiendo seguir este proceso si solo necesitas el servidor web para hacer chorradas / pruebas. Esto es más si va a dejar un servidor web medio serio y la maquina tiene algún otro servicio aparte de la web que no quieras que te tiren.</p>
<p><span id="more-845"></span></p>
<h2>Paso 1: Instalar lighttpd y php5</h2>
<p>Habiendo logeado en la maquina y habiendo ejecutdo su root para entrar en modo superusuario, hay que instalar los paquetes lighttpd php5 php5-cgi php5-cli :<code></code></p>
<p><code># apt-get install lighttpd php5-cgi php5-cli  </code></p>
<p><code></code><em>Nota</em>: Si necesitas otros módulos php como php-gd, php-mysql, php-psql , etc&#8230; Se instalan igual</p>
<h2>Paso 2:Preparar el sistema de ficheros</h2>
<p>Creamos un directorio llamado /webroot:</p>
<p><code># mkdir /webroot</code></p>
<p>Creamos un subdirectoio tmp :</p>
<p><code># mkdir /webroot/tmp/<br />
# chmod 1777 /webroot/tmp/</code></p>
<p>Creamos un directorio /etc para almacenar los ficheros de configuración necesarios:</p>
<p><code># mkdir /webroot/etc</code></p>
<p>Crear un directorio de logs para lighttpd:</p>
<p><code># mkdir -p /webroot/var/log/lighttpd<br />
# chown www-data:www-data /webroot/var/log/lighttpd</code></p>
<p>Crear el directorio de cahce para lighttpd:<code></code></p>
<p><code># mkdir -p /webroot/var/cache/lighttpd/compress/<br />
# chown www-data:www-data /webroot/var/cache/lighttpd/compress/<br />
</code></p>
<p>Crear un directorio <em>home</em> para lighttpd:<br />
<code># mkdir -p /webroot/home/lighttpd<br />
# chown www-data:www-data /webroot/home/lighttpd<br />
# chmod 0700 /webroot/home/lighttpd<br />
# ls -dl /webroot/home/lighttpd<br />
</code>Debería de salir algo como t:</p>
<pre>drwx------  2 www-data www-data 4096 Oct  5 23:15 /webroot/home/lighttpd</pre>
<p>Este script (<a href="http://www.cyberciti.biz/files/lighttpd/l2chroot.txt">l2chroot</a>) es útil para copiar las librerías compartidas del sistema a la jaula:</p>
<pre># wget http://www.cyberciti.biz/files/lighttpd/l2chroot.txt
# mv l2chroot.txt l2chroot
# cp l2chroot /bin<code> # chmod +x /bin/l2chroot</code></pre>
<h2>Paso 3: Enjaulando PHP</h2>
<p>Ahora toca copiar los ejecutables de PHP, extensiones y los ficheros que necestian (php-gd, php-psql, etc&#8230;) al directorio /webroot :</p>
<p><code># mkdir -p /webroot/usr/bin<br />
# cp /usr/bin/php5-cgi /webroot/usr/bin/<br />
# cp /usr/bin/php5 /webroot/usr/bin/</code></p>
<p>Copiamos /etc/php5/cgi/php.ini al directorio /webroot/etc/  :</p>
<p><code># cd /webroot/etc/<br />
# cp -avr /etc/php5 .</code></p>
<p>Ahora copiamos otros ficheros de configuración a la jaula:</p>
<p><code># cp /etc/hosts /webroot/etc/<br />
# cp /etc/nsswitch.conf /webroot/etc/<br />
# cp /etc/resolv.conf /webroot/etc/<br />
# cp /etc/services /webroot/etc/<br />
# cp /etc/localtime /webroot/etc/</code></p>
<p>Copiamos las librerías compartidas de PHP con el script de antes :<br />
<code># /bin/l2chroot /usr/bin/php5<br />
# /bin/l2chroot /usr/bin/php5-cgi</code></p>
<p>Ahora tenemos todas las librerias compartidas necesarias para PHP en el directorio de la jaula. Podemos verificar esto usando el comando ls. Peero aun así, es necesario copiar otro fichero mas de forma manual  &#8211; /lib/ld-linux.so.2:<br />
<code># cp /lib/ld-linux.so.2 /webroot/lib</code></p>
<h2>Paso 4: Metiendo las extensiones de PHP en la jaula</h2>
<p>Para ver los ficheros que contiene una extensión, usamos dpkg para listar los ficheros del paquete que los instalo.<br />
Copy php mysql extension from /usr/lib/php4/20050606 directory, use following command to determine exact location of mysql.so file:<br />
<code><br />
# dpkg -L php5-gd<br />
/.<br />
/etc<br />
/etc/php5<br />
/etc/php5/conf.d<br />
/etc/php5/conf.d/gd.ini<br />
/usr<br />
/usr/lib<br />
/usr/lib/php5<br />
/usr/lib/php5/20090626+lfs<br />
/usr/lib/php5/20090626+lfs/gd.so<br />
/usr/share<br />
/usr/share/doc<br />
/usr/share/doc/php5-gd<br />
</code><br />
Copiamos los ficheros *.so de las extensiones de <code>/usr/lib/php5<em>/un_numero</em></code>/<em>loquesea</em>.so a /webroot/usr/lib/php5<code><em>/el_mismo_numero</em></code>/<em>loquesea</em>.so y ficheros relacionasdo con el script l2chroot:</p>
<p><code># mkdir -p /webroot/usr/lib/php5/<code><code>20090626+lfs</code></code><br />
# cp /usr/lib/php5/<code>20090626+lfs/gd.so</code> /webroot/usr/lib/php5/<code>20090626+lfs/</code><br />
# /bin/l2chroot /usr/lib/php<code>5/<code>20090626+lfs/gd.so</code></code></code></p>
<p>Repetimos el proceso con todas los módulos de PHP que queramos.</p>
<h2>Paso 5: Configurar lighttpd para que se ejecute en la jaula</h2>
<p>Primeros nos aseguramos que el modulo fastcgi este funcionando con:<br />
<code></code></p>
<p><code># lighty-enable-mod fastcgi</code></p>
<p>Mostrando:</p>
<pre>Available modules: auth cgi cml fastcgi proxy simple-vhost ssi ssl trigger-b4-dl userdir
Already enabled modules:
Enabling fastcgi: ok
Run /etc/init.d/lighttpd force-reload to enable changes</pre>
<p>Configuramos lighttpd editando /etc/lighttpd/lighttpd.conf file:<br />
<code># vim /etc/lighttpd/lighttpd.conf </code></p>
<p>The most importat part is server.chroot directive. Open config file:<br />
<code># vim /etc/lighttpd/lighttpd.conf</code><br />
Descomentamos / editamos la linea con server.chroot :<br />
<code>server.chroot = "/webroot"</code></p>
<p>Y además descomentamos o editamos la linea con server-document-root a :<br />
<code>server.document-root       = "/home/lighttpd"</code></p>
<p>Con la directiva server.chroot , hacemos que ningún usuario (exceptuando el root claro) ejecutando lighttpd dentro de webroot, pueda acceder a directorios fuera, ergo, efectivamente enjaulando el servidor web y el php.</p>
<p>Finalmente editamos un script del sistema para que lanze el modulo fastcgi correctamente. Editamos el fichero /etc/lighttpd/conf-enabled/10-fastcgi.conf y añadimos estas lineas  :<br />
<code><br />
## Start an FastCGI server for php5 (needs the php5-cgi package)<br />
fastcgi.server    = ( ".php" =&gt;<br />
((<br />
"bin-path" =&gt; "/usr/bin/php5-cgi",<br />
"socket" =&gt; "/tmp/php.socket",<br />
"max-procs" =&gt; 2,<br />
"idle-timeout" =&gt; 20,<br />
"bin-environment" =&gt; (<br />
"PHP_FCGI_CHILDREN" =&gt; "4",<br />
"PHP_FCGI_MAX_REQUESTS" =&gt; "10000"<br />
),<br />
"bin-copy-environment" =&gt; (<br />
"PATH", "SHELL", "USER"<br />
),<br />
"broken-scriptfilename" =&gt; "enable"<br />
))<br />
)<br />
</code><br />
Ahora para iniciar el servidor web hacemos :</p>
<p><code># /etc/init.d/lighttpd start</code>   (o restart si ya estaba funcionando previamente)</p>
<p>Finalmente para testear que todo va bien, dentro de /webroot/home/lighttpd/, creamos un fichero llamado test.php y copiamos dentro :<br />
<code><br />
&lt;?php<br />
phpinfo();<br />
?&gt;<br />
</code><br />
Ahora desde el navegador, accedemos a nuestra dirección y si todo va bien, deberíamos de tener una típica pagina de información sobre la configuración de PHP en nuestra maquina.</p>
<p>Si se tiene algún problema, o no funciona el servidor, se puede consultar los logs con <code>tail /webroot/var/log/lighttpd/error.log</code> . Si la información mostrada no es suficiente, se puede ejecutar el servidor a mano con <code>#lighttpd -f /etc/lighttpd/lighttpd.conf -D</code> para que muestre más información.</p>
<p>Fuentes :</p>
<ul>
<li><a title="How-to antiguo para Debian" href="http://www.cyberciti.biz/tips/howto-setup-lighttpd-php-mysql-chrooted-jail.html">How-to antiguo para Debian</a></li>
<li><a title="How-to para Ubuntu x64" href="http://www.cyberciti.biz/tips/howto-install-configure-ubuntu-linux-lighttpd-webserver.html">How-to para Ubuntu x64</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/lighttpd-sobre-chroot-con-php5-en-debian-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agarradme ese Spectrum +3 !!!!</title>
		<link>http://zardoz.es/agarrdme-ese-spectrum-3/</link>
		<comments>http://zardoz.es/agarrdme-ese-spectrum-3/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 06:16:24 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Informatica]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=841</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Que recuerdos&#8230;. 9_9</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><div id="divVideo_986109" style="width: 480px; height: 360px; display: block; position: relative; z-index: 2;"><iframe id="iframe_content_986109" src="http://www.cadenaser.com/comunes/player/video_iframe.html?xref=20111025csrcsrtec_1.Ves&amp;conf=skins/ser/conf.php&amp;id=986109&amp;logo=&amp;skin=ser&amp;referer=" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="100%" height="100%"></iframe></div>
<div id="divVideo_986109" style="width: 480px; display: block; position: relative; z-index: 2;">Que recuerdos&#8230;. 9_9<iframe style="display: none;" src="about:blank" width="320" height="240"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/agarrdme-ese-spectrum-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recuperando Grub despues de instalar Windows</title>
		<link>http://zardoz.es/recuperando-grub-despues-de-instalar-windows/</link>
		<comments>http://zardoz.es/recuperando-grub-despues-de-instalar-windows/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 20:48:04 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[grub]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=838</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Alguna vez nos ocurre esto. Reinstalas Windoor que se ha embotado de tanta mierda acumulada, y te encuentras que el selector de arranque ha desaparecido y solo arranca en Windows. Muy tipico. Por suerte la solución es sencilla, se arranca &#8230; <a href="http://zardoz.es/recuperando-grub-despues-de-instalar-windows/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Alguna vez nos ocurre esto. Reinstalas Windoor que se ha embotado de tanta mierda acumulada, y te encuentras que el selector de arranque ha desaparecido y solo arranca en Windows. Muy tipico. Por suerte la solución es sencilla, se arranca desde un pendrive / cd-rom con alguna versión reciente de Ubuntu y se selecciona el modo de Probar Ubuntu. Una vez en el modo <em>LIVE</em> , abrimos una terminal y procedemos a listar las particiones del disco duro con <strong><code>sudo fdisk -l</code></strong> (si tuvieses más disco duros, se puede seleccionar añadiendo <strong>/dev/sd</strong>X)</p>
<p>Una vez vista la particion , la montamos con <strong><code>mount /dev/sdaN /mnt/</code></strong> Si no nos hemos equivocado de particion dentro de la carpeta /mnt, deberia de haber un arbol de directorios que entre otras carpetas apareza una llamada /boot y dentro de eta varios ficheros y una carpeta llamada grub . Procedemos a reinstalar grub con <strong><code>sudo grub-install --root-directory=/mnt /dev/sda</code></strong></p>
<p>Nos debería de salir que todo esta OK. Una vez hecho esto, desmontamos el disco duro ( <strong><code>sudo umount /mnt</code></strong>) y reiniciamos el PC. Ya volvemos a tener metido Grub para seleccionar el SO.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/recuperando-grub-despues-de-instalar-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KDE 4 a la Unity : Un escritorio rápido, funcional y atractivo</title>
		<link>http://zardoz.es/kde-4-a-la-unity/</link>
		<comments>http://zardoz.es/kde-4-a-la-unity/#comments</comments>
		<pubDate>Wed, 18 May 2011 14:16:54 +0000</pubDate>
		<dc:creator>Zardoz</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[kwin]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[unity]]></category>

		<guid isPermaLink="false">http://zardoz.es/?p=783</guid>
		<description><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p>Bueno, navegando, encontré sugerencias para poner a KDE estilo Unity. Se me ocurrió ponerme un rato a enredar y he ido sacando el siguiente mejunge que creo que combina un estilo visual bonito, practico y útil. Yo de antemano ya lo tenia en &#8230; <a href="http://zardoz.es/kde-4-a-la-unity/">Continuado</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://zardoz.es">ZardoZ The Technomage</a></p><p><div id="attachment_748" class="wp-caption alignright" style="width: 160px"><a href="http://img191.imageshack.us/i/unitylike.jpg/" target="_blank"><img src="http://img191.imageshack.us/img191/7017/unitylike.th.jpg" border="0" alt="Aspecto final" /></a><p class="wp-caption-text">KDE a la unity</p></div>Bueno, navegando, encontré sugerencias para poner a KDE estilo Unity. Se me ocurrió ponerme un rato a enredar y he ido sacando el siguiente mejunge que creo que combina un estilo visual bonito, practico y útil. Yo de antemano ya lo tenia en estilo Mac OSX que es bastante parecido, así que tratare de describir como se hace desde la configuración por defecto de KDE. Nota importante, lo que voy a explicar es funcionalmente similar a unity y para mi particularmente mejor, en especial tenéis una pantalla táctil y/u os gusta mucho aprovechar al máximo la pantalla.</p>
<p>En primer lugar, le damos al símbolo de plasma en el panel, para entrar en el modo de configuración del panel principal. Pinchamos en &#8220;<strong>Borde de la Pantalla</strong>&#8221; y arrastramos hasta colocarlo en la parte superior. Luego se quita el Lanzador de Aplicaciones, el gestor de tareas, el botón de Acceso rápido,el paginador y el botón de mostrar escritorio (estos dos últimos a gusto del consumidor).</p>
<p><span id="more-783"></span></p>
<p>Ahora toca colocar el  menú global estilo Mac. Yo antes usaba <strong>XBar</strong> que por el momento solo se  puede usar con el motor QT Bespin y QTCurve (ni de coña los programas que usan GTK+), pero he decidido mandarlo a paseo y poner el  teóricamente más universal &#8221;<strong>Barra de menu ventana</strong>&#8220;, que traducción más horrible&#8230; su nombre original en ingles es &#8220;<strong>Window MenuBar&#8221;. </strong>Según tengo entendido, debería de soportar aplicar la barra de  menús global a aplicaciones GTK+ &#8230; al menos aplicando un parche a las QT. Por desgracia yo no he visto que funcione a pelo ese detalle en Ubuntu Maverick. Lo único que hecho de menos de <strong>XBar</strong> vs <strong>MenuBar</strong>, es que  podías cambiar de  menú de aplicación con la rueda y que  podías hacerte tu menú personalizado cuando no hay aplicación abierta, aunque  últimamente ha venido dando un poco por saco al no poner el menú de algunos programas como Okular. Si lo carga, pero hay que ir con la rueda del  ratón  para que sea visible o maximizar la ventana; un bug un tanto peculiar. Con <strong>MenuBar</strong> el  menú que aparece siempre es de la ventana con el foco (incluido escritorio). Lo colocamos a la izquierda del todo.</p>
<p>Volviendo al tema, el  siguiente paso es instalar  el plasmoide &#8220;<strong><a title="KWin Buttons" href="http://kde-look.org/content/show.php/KWin+Button+Applet?content=122092" target="_blank">KWin Buttons</a></strong>&#8221; que permite tener los  botones de Maximizar/Restaurar, Minimizar, Cerrar y WindowMenu como  botones de plasma, pudiendose colocar en el panel. Una vez instalado, se coloca 4 instancias de plasmoide en el panel. Uno a la izquierda del todo, y los otros 3 a la derecha del <strong>MenuBar</strong> (o la <strong>XBar</strong>). Haciendo click derecho en plasmoides, se les configura para que el de la izquierda sea &#8220;<strong>Show window menu</strong>&#8220;, y los otros sean &#8220;<strong>Maximice/restore</strong>&#8221; , &#8220;<strong>Iconify</strong>&#8221; y &#8220;<strong>Close</strong>&#8220;. Ademas hay una  opción de apariencia que deja designar el icono a usar, si el del tema de escritorio/dolphin, el de tema de plasma, o uno a elección. Yo he usado el de escritorio para el  menú de aplicación y para el resto el de plasma. Adicionalmente podeis colocar un espaciador a la derecha de los 3 botones para separarlos un poco de notificador (System tray). Y para terminar con esta barra, añado a la derecha el plasma de &#8220;<strong>Bloquear/Terminar</strong>&#8220;, para poder apagar el PC rápido.</p>
<p>Haciendo click derecho en el escritorio, le damos a <strong>Añadir panel -&gt; panel vacio </strong>y movemos el nuevo panel a la izquierda, ajustamos la anchura al gusto, y reajustamos su tamaño para que no tape el panel de arriba. Dandolé a &#8220;<strong>Más opciones</strong>&#8220;, le damos a &#8220;<strong>Alieación abajo</strong>&#8221; y &#8220;<strong>Ocultar automaticamente</strong>&#8220;. Ya tenemos casi logrado el comportamiento de unity en el lateral. Solo queda añadir el <strong>Lanzador de aplicaciones</strong>, un gestor de tareas como &#8220;<strong>Fancy Tasks</strong>&#8221; o &#8220;<strong>Smooth Tasks</strong>&#8221; (disponibles en los paquetes de Ubuntu Maverick y más modernos, y si no en KDE-Looks), el plasmoide de &#8220;<strong>Acceso rápido</strong>&#8221; (yo lo configuro solo par que muestre carpetas), la Palera en la parte inferior, y las aplicaciones que quieras en el panel.</p>
<p><div id="attachment_748" class="wp-caption alignright" style="width: 160px"><a href="http://img717.imageshack.us/i/unitylikefull.jpg/" target="_blank"><img src="http://img717.imageshack.us/img717/6637/unitylikefull.th.jpg" border="0" alt="Ejemplo de como quedan las ventanas maximizadas" /></a><p class="wp-caption-text">Una aplicación maximizada</p></div>Ya tenemos lograda una funcionalidad similar a Unity, a excepcion del comportamiendo cuando se maximiza una ventana. <strong>Kwin</strong> puede hacer desaparecer los bordes a las ventanas maximizadas, pero la opcion no esta visible en las opciones de configuración, asi que hay que tocar el fichero <em>~/.kde/share/config/kwinrc</em> y añadir la siguiente linea en la seccion <em>[Windows]</em> :<br/> <strong>BorderlessMaximizedWindows=true</strong></p>
<p>&nbsp;</p>
<p>Reiniciamos <strong>kwin</strong> ejecutando en KRunner (Alt+F2) &#8220;<em>kwin &#8211;replace</em>&#8220;. Ahora cuando maximiceis una ventana se le quitara el borde, dando una utilidad inmensa al KWin Buttons y aprovechando al  máximo toda la pantalla.</p>
<p>Ya solo queda los detalles estéticos. Un detalle curioso es que el <strong>WindowMenu</strong>, como color del texto de los  menús, usa la misma tinta que usaría el  menú si fuese un  menú normal, y no el color que da al texto  el tema de plasma. Esto puede ser problemático si usáis un tema de plasma transparente y el fondo tiene un color que sea parecido, haciendo que todo plasma se vea bien, excepto el  menú que es casi ilegible. La solución es jugar con los temas de plasma y de colores de KDE para evitar esto. Ademas yo utilizo un tema de plasma opaco.</p>
<p>Como tema de plasma, es escogido &#8220;<strong>Ambience</strong>&#8221; que evidentemente imita el estilo de Ambience de Unity. Es agradable, pero por lo que he comentado antes, hay que escoger un esquema de colores para KDE a juego, oscuro. En mi caso, seleccione el tema &#8220;<del><strong>Oxygen Dark</strong></del>&#8220;, aunque otros temas como &#8220;<strong>Green-Purple-Black</strong>&#8221; o &#8220;<strong>Obsidian Coast</strong>&#8221; dan un resultado muy bueno.</p>
<p>Para colocar los botones de maximizar /minimizar, etc.. de la ventana en si, en &#8220;<strong>Preferencias del sistema-&gt;Apariencia del espacio de trabajo-&gt; Decoración de ventanas</strong>&#8221; y le dais al  botón de configurar botones. Hay tenis una libertad total de colocar los botones como os de la real gana. Si estilo Windows, o Mac, o inventado.</p>
]]></content:encoded>
			<wfw:commentRss>http://zardoz.es/kde-4-a-la-unity/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.448 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-05-19 23:54:10 -->

<!-- Compression = gzip -->