<?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>tecnocracia .es</title>
	<atom:link href="http://www.tecnocracia.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tecnocracia.es</link>
	<description>Acercando la tecnología desde 2007</description>
	<lastBuildDate>Thu, 15 Aug 2024 15:23:49 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Gestión de fotografías &#8211; ordenar las fotos por fechas</title>
		<link>http://www.tecnocracia.es/gestion-de-fotografias-ordenar-las-fotos-por-fechas/</link>
					<comments>http://www.tecnocracia.es/gestion-de-fotografias-ordenar-las-fotos-por-fechas/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Tue, 15 Oct 2024 14:30:00 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1879</guid>

					<description><![CDATA[Un esquema de fotos debe ser simple: Para ello, llevo años usando el script photosort que crea carpetas leyendo los metadatos de la foto de los archivos exif: https://github.com/mangelajo/photosort. Las instrucciones llevan a instalar con pip, pero en Debian 12.6, al intentar ejecutarlo, manda ya a usar pipx https://packages.debian.org/buster/pipx. Además, el sistema debe contar con [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Un esquema de fotos debe ser simple:</p>



<ul class="wp-block-list">
<li>Todos los dispositivos móviles (teléfono,tablet) suben a un sitio común.</li>



<li>Ese sitio común se debe organizar igual, en mi caso carpetas por año, y dentro de cada año, carpeta con año mes día. Es decir YYYY/YYMMDD-id</li>
</ul>



<p>Para ello, llevo años usando el script photosort que crea carpetas leyendo los metadatos de la foto de los archivos exif: <a href="https://github.com/mangelajo/photosort">https://github.com/mangelajo/photosort</a>.</p>



<p>Las instrucciones llevan a instalar con pip, pero en Debian 12.6, al intentar ejecutarlo, manda ya a usar pipx <a href="https://packages.debian.org/buster/pipx">https://packages.debian.org/buster/pipx</a>. Además, el sistema debe contar con las utilidades de exiftool para poder ver la fecha de modificación de cada foto en los metadatos del exif:</p>



<pre class="wp-block-code"><code>apt install libimage-exiftool-perl
apt-get install pipx
pipx install photosort</code></pre>



<p>con todo esto bien escrito, llegamos a un punto muerto:</p>



<p><code>File "/usr/local/bin/photosort", line 33, in<br>sys.exit(load_entry_point('photosort==2021.1.4', 'console_scripts', 'photosort')())<br>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>File "/usr/local/lib/python3.11/dist-packages/photosort-2021.1.4-py3.11.egg/photosort/photosort.py", line 135, in main<br>exif.start()<br>File "/usr/local/lib/python3.11/dist-packages/photosort-2021.1.4-py3.11.egg/photosort/exif.py", line 11, in start<br>et.start()<br>^^^^^^^^<br>AttributeError: 'ExifTool' object has no attribute 'start'</code></p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/gestion-de-fotografias-ordenar-las-fotos-por-fechas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cliente de nextcloud con letras ínfimas</title>
		<link>http://www.tecnocracia.es/cliente-de-nextcloud-con-letras-infimas/</link>
					<comments>http://www.tecnocracia.es/cliente-de-nextcloud-con-letras-infimas/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Sat, 19 Feb 2022 11:13:00 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1870</guid>

					<description><![CDATA[El cliente de nextcloud se carga con un tamaño de letra pequeño, que impide directamente leer los mensajes. Muchos post, ligan esto a la librería Qt, pero, en mi PC, esto no funcionó. Resulta que está unido a la configuración del grub. Por lo que si las variables de grub no tienen una resolución definida, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>El cliente de nextcloud se carga con un tamaño de letra pequeño, que impide directamente leer los mensajes. Muchos post, ligan esto a la librería Qt, pero, en mi PC, esto no funcionó.</p>



<p>Resulta que está unido a la configuración del grub. Por lo que si las variables de grub no tienen una resolución definida, carga que no se puede leer.</p>



<p>Archivo /etc/default/grub</p>



<p>The resolution used on graphical terminal<br></p>



<p>GRUB_GFXMODE=1280x800x16<br>GRUB_GFXPAYLOAD_LINUX=keep</p>



<p></p>



<p>Cambios en /etc/grub.d/00-header</p>



<p>if [ «x${GRUB_GFXMODE}» = «x» ] ; then GRUB_GFXMODE=auto ; fi<br>if [ «x${GRUB_GFXMODE}» = «x» ] ; then GRUB_GFXMODE=1280x800x16; fi<br>if [ «x${GRUB_GFXPAYLOAD_LINUX}» = «x» ] ; then GRUB_GFXPAYLOAD_LINUX=1280x800x16; fi<br>(&#8230;.)<br>set gfxmode=${GRUB_GFXMODE}<br>set gfxpayload=keep</p>



<p>Versión OS: Debian. Grub 2.04.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/cliente-de-nextcloud-con-letras-infimas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>nextCloud: request entity too large</title>
		<link>http://www.tecnocracia.es/nextcloud-request-entity-too-large/</link>
					<comments>http://www.tecnocracia.es/nextcloud-request-entity-too-large/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Sat, 27 Apr 2019 07:20:29 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[nextcloud]]></category>
		<category><![CDATA[not working]]></category>
		<category><![CDATA[owncloud]]></category>
		<category><![CDATA[request entity]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[too large]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1851</guid>

					<description><![CDATA[If you are willing to upload files larger than 511 MB, please check this guide: https://docs.nextcloud.com/server/9/admin_manual/configuration_files/big_file_upload_configuration.html#configuring-your-web-server If even your 2MB files fail, check all size limits in the following settings files: .htaccess root@f3d81bd814d4:/# grep upload /var/www/html/.htaccess php_value upload_max_filesize 511M php_value upload_max_filesize 511M Nginx conf If it is running, you should have /etc/nginx/nginx.conf file, where client_max_body_size [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you are willing to upload files larger than 511 MB, please check this guide:</p>
<p><a href="https://docs.nextcloud.com/server/9/admin_manual/configuration_files/big_file_upload_configuration.html#configuring-your-web-server">https://docs.nextcloud.com/server/9/admin_manual/configuration_files/big_file_upload_configuration.html#configuring-your-web-server</a></p>
<p>If even your 2MB files fail, check all size limits in the following settings files:</p>
<h2>.htaccess</h2>
<pre>root@f3d81bd814d4:/# grep upload /var/www/html/.htaccess 
php_value upload_max_filesize 511M 
php_value upload_max_filesize 511M</pre>
<h2>Nginx conf</h2>
<p>If it is running, you should have <code>/etc/nginx/nginx.conf</code> file, where client_max_body_size needs to be configured to, at least, 512M</p>
<pre>root@f3d81bd814d4:/# find . | grep nginx| xargs grep size | grep -v '#' 
./usr/src/nextcloud/core/doc/admin/_sources/installation/nginx.rst.txt: client_max_body_size 512M; 
./usr/src/nextcloud/core/doc/admin/_sources/installation/nginx.rst.txt: client_max_body_size 512M; 
./usr/src/nextcloud/core/doc/admin/installation/nginx.html: &lt;span class="kn"&gt;client_max_body_size&lt;/span&gt; &lt;span class="s"&gt;512M&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
./usr/src/nextcloud/core/doc/admin/installation/nginx.html: &lt;span class="kn"&gt;client_max_body_size&lt;/span&gt; &lt;span class="s"&gt;512M&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
./var/www/html/core/doc/admin/_sources/installation/nginx.rst.txt: client_max_body_size 512M; 
./var/www/html/core/doc/admin/_sources/installation/nginx.rst.txt: client_max_body_size 512M; 
./var/www/html/core/doc/admin/installation/nginx.html: &lt;span class="kn"&gt;client_max_body_size&lt;/span&gt; &lt;span class="s"&gt;512M&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
./var/www/html/core/doc/admin/installation/nginx.html: &lt;span class="kn"&gt;client_max_body_size&lt;/span&gt; &lt;span class="s"&gt;512M&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;</pre>
<h1>Nextcloud configuration</h1>
<p>Settings &gt; Administration &gt; Settings &gt; Basic settings</p>
<h2 style="padding-left: 90px;">File handling</h2>
<p style="padding-left: 90px;"><label for="maxUploadSize">Maximum upload size </label><br />
<input id="maxUploadSize" name="maxUploadSize" type="text" value="511 MB" /></p>
<p style="padding-left: 90px;"><em>With PHP-FPM it might take 5 minutes for changes to be applied.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/nextcloud-request-entity-too-large/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Imprimir pdf en modo espejo en linux</title>
		<link>http://www.tecnocracia.es/imprimir-pdf-en-modo-espejo-en-linux/</link>
					<comments>http://www.tecnocracia.es/imprimir-pdf-en-modo-espejo-en-linux/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Sat, 24 Nov 2018 10:15:29 +0000</pubDate>
				<category><![CDATA[Centos 7]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[americana]]></category>
		<category><![CDATA[chorro de tinta]]></category>
		<category><![CDATA[conveert]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[crafts]]></category>
		<category><![CDATA[decoupage]]></category>
		<category><![CDATA[deskjet]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[espejo]]></category>
		<category><![CDATA[flop]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[impresión]]></category>
		<category><![CDATA[impresora]]></category>
		<category><![CDATA[ink transfer]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[madera]]></category>
		<category><![CDATA[mirror]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[printer]]></category>
		<category><![CDATA[tinta]]></category>
		<category><![CDATA[transfer]]></category>
		<category><![CDATA[transferencia]]></category>
		<category><![CDATA[transferir]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1843</guid>

					<description><![CDATA[Los driver de impresión compatibles con HP en linux, no tienen modo espejo (o mirror) para imprimir. Sólo tienen opción para hacer una impresión en orden inverso de las páginas. La impresión en modo espejo, es necesaria si vamos a usar la tinta de nuestra impresora, para transferirla sobre otra superficie. La impresión deberá estar [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Los driver de impresión compatibles con HP en linux, no tienen modo espejo (o mirror) para imprimir. Sólo tienen opción para hacer una impresión en orden inverso de las páginas.</p>
<p>La impresión en modo espejo, es necesaria si vamos a usar la tinta de nuestra impresora, para transferirla sobre otra superficie. La impresión deberá estar invertida, para que la transferencia sea legible.</p>
<p>OPCIÓN 1: En svg con <a href="https://inkscape.org/">inkscape</a></p>
<ol>
<li>En el canvas de inkscape, se seleccionan los textos a invertir, y con la herramienta selección &gt; reflejo horizontal se invierten todos los elementos seleccionados.</li>
<li>Imprimir el resultado.</li>
</ol>
<p>OPCIÓN 2: En pdf con un editor de textos</p>
<p>Para conseguir una impresión invertida, el mecanismo es el siguiente:</p>
<ol>
<li>Crear el documento</li>
<li>Guardar en pdf. Este pdf no estará invertido.</li>
<li>Inventirlo mediante <a href="https://linux.die.net/man/1/convert">convert</a>:</li>
</ol>
<pre>convert -flop archivo1.pdf archivo1_invertido.pdf</pre>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/imprimir-pdf-en-modo-espejo-en-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Simple logging en python.</title>
		<link>http://www.tecnocracia.es/simple-logging-en-python/</link>
					<comments>http://www.tecnocracia.es/simple-logging-en-python/#comments</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Tue, 16 Oct 2018 20:18:30 +0000</pubDate>
				<category><![CDATA[python]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[def]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[handler]]></category>
		<category><![CDATA[init]]></category>
		<category><![CDATA[lines]]></category>
		<category><![CDATA[logger]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[logs]]></category>
		<category><![CDATA[rotate]]></category>
		<category><![CDATA[simple]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1840</guid>

					<description><![CDATA[Tras muchas idas y venidas con la gestión de logs en python, he llegado a este tutorial de python que resume bastante bien la gestión más básica que se puede hacer en una aplicación con los logs: https://tutorialedge.net/python/python-logging-best-practices/ En mi caso, los requisitos son: &#8211; El log se guarda en fichero. &#8211; El fichero debe [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>Tras muchas idas y venidas con la gestión de logs en python, he llegado a este tutorial de python que resume bastante bien la gestión más básica que se puede hacer en una aplicación con los logs:</div>
<div></div>
<div><a href="https://tutorialedge.net/python/python-logging-best-practices/" target="_blank" rel="noopener" shape="rect">https://tutorialedge.net/python/python-logging-best-practices/</a></div>
<div></div>
<div>En mi caso, los requisitos son:</div>
<div>&#8211; El log se guarda en fichero.</div>
<div>&#8211; El fichero debe rotar.</div>
<div>&#8211; Desde cualquier clase del workspace se puede acceder al log</div>
<div></div>
<div>
<div style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"><br clear="none" /></p>
<div><span style="color: #569cd6;">import</span><span style="color: #d4d4d4;"> logging</span></div>
<div><span style="color: #569cd6;">import</span><span style="color: #d4d4d4;"> logging.handlers </span><span style="color: #569cd6;">as</span><span style="color: #d4d4d4;"> handlers</span></div>
</div>
<div style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #608b4e;"> </span></div>
<div style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #608b4e;"># Se le puede poner cualquier nombre</span><br clear="none" /></p>
<div><span style="color: #d4d4d4;">logger </span><span style="color: #d4d4d4;">=</span><span style="color: #d4d4d4;"> logging.getLogger(</span><span style="color: #ce9178;">&#8216;mi_app_name&#8217;</span><span style="color: #d4d4d4;">)</span></div>
<div><span style="color: #d4d4d4;">logger.setLevel(logging.INFO)</span></div>
<p><br clear="none" /></p>
<div><span style="color: #608b4e;">#Log handler to file:</span></div>
<div><span style="color: #d4d4d4;">logHandler </span><span style="color: #d4d4d4;">=</span><span style="color: #d4d4d4;"> handlers.RotatingFileHandler(</span><span style="color: #ce9178;">&#8216;mi_archivo_salida.log&#8217;</span><span style="color: #d4d4d4;">, maxBytes</span><span style="color: #d4d4d4;">=</span><span style="color: #b5cea8;">1000</span><span style="color: #d4d4d4;">, backupCount</span><span style="color: #d4d4d4;">=</span><span style="color: #b5cea8;">2</span><span style="color: #d4d4d4;">)</span></div>
<div><span style="color: #d4d4d4;">logHandler.setLevel(logging.INFO)</span></div>
<div><span style="color: #608b4e;"># output format</span></div>
<div><span style="color: #d4d4d4;">formatter </span><span style="color: #d4d4d4;">=</span><span style="color: #d4d4d4;"> logging.Formatter(</span><span style="color: #ce9178;">&#8216;%(asctime)s &#8211; %(name)s &#8211; %(levelname)s &#8211; %(message)s&#8217;</span><span style="color: #d4d4d4;">)</span></div>
<div><span style="color: #d4d4d4;">logHandler.setFormatter(formatter)</span></div>
<p><br clear="none" /></p>
<div><span style="color: #d4d4d4;">logger.addHandler(logHandler)</span></div>
<p><br clear="none" /></p>
<div><span style="color: #608b4e;"># Comprobar que todos los logs van al mismo fichero:</span></div>
<div><span style="color: #d4d4d4;">logger.info(</span><span style="color: #ce9178;">«Primer mensaje al log de tipo INFO»</span><span style="color: #d4d4d4;">)</span></div>
<div><span style="color: #d4d4d4;">logger.error(</span><span style="color: #ce9178;">«Primer mensaje al log de tipo ERROR»</span><span style="color: #d4d4d4;">)</span></div>
</div>
</div>
<div>En cada clase que se vaya a usar el log, se instancia en el init, y luego se usa como un atributo de la clase:</div>
<div></div>
<div>
<div style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;"><br clear="none" /></p>
<div><span style="color: #569cd6;">class</span><span style="color: #d4d4d4;"> ejemplo:</span></div>
<div><span style="color: #ce9178;">«»» Clase de ejemplo para ver el log «»»</span></div>
<p><br clear="none" /></p>
<div><span style="color: #569cd6;">def</span><span style="color: #d4d4d4;"> __init__(self):</span></div>
<div><span style="color: #ce9178;">«»»Inicializa el objeto «»»</span></div>
<div></div>
<div><span style="color: #569cd6;">self</span><span style="color: #d4d4d4;">.logger </span><span style="color: #d4d4d4;">=</span><span style="color: #d4d4d4;"> logging.getLogger(</span><span style="color: #ce9178;">&#8216;mi_app_name&#8217;</span><span style="color: #d4d4d4;">) </span><span style="color: #608b4e;"># Configurar el log.</span></div>
<div><span style="color: #608b4e;"> </span></div>
<div>
<div style="color: #d4d4d4; background-color: #1e1e1e; font-family: Consolas, 'Courier New', monospace; font-weight: normal; font-size: 14px; line-height: 19px; white-space: pre;">
<div><span style="color: #569cd6;">     def</span><span style="color: #d4d4d4;"> metodo1. (self):</span></div>
<div><span style="color: #ce9178;">«»» Metodo 1 «»»</span></div>
<p><span style="color: #569cd6;">self</span><span style="color: #d4d4d4;">.logger.info</span><span style="color: #d4d4d4;">(</span><span style="color: #ce9178;">&#8216;Mensaje de ejemplo 1&#8217;</span><span style="color: #d4d4d4;">) </span><br clear="none" /></p>
<div><span style="color: #d4d4d4;"> </span></div>
</div>
</div>
<div><span style="color: #608b4e;"> </span></div>
</div>
</div>
<div></div>
<div></div>
<div>Para saber mucho más sobre los logs en python: <a shape="rect">https://docs.python.org/3/howto/logging-cookbook.html</a></div>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/simple-logging-en-python/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Despliegue Apache Hadoop sobre Debian</title>
		<link>http://www.tecnocracia.es/despliegue-apache-hadoop-sobre-debian/</link>
					<comments>http://www.tecnocracia.es/despliegue-apache-hadoop-sobre-debian/#comments</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Thu, 04 Jan 2018 18:38:56 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[análisis masivo de datos]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[big data]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[detailed installation]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[no cluster]]></category>
		<category><![CDATA[procesado de datos]]></category>
		<category><![CDATA[single-node]]></category>
		<category><![CDATA[stable]]></category>
		<category><![CDATA[visualización de datos]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1826</guid>

					<description><![CDATA[Despliegue de Apache hadoop sobre Debian con un nodo único. Esta guía particulariza la instalación sobre un servidor Debian, actualizando las rutas y valores que en la guía original de Hadoop, es necesario cambiar para que funcione. Instalación de paquetes previos sudo apt-get install -y ssh rsync Instalación de los paquetes propios de Apache Hadoop [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Despliegue de Apache hadoop sobre Debian con un nodo único.</p>
<p>Esta guía particulariza la instalación sobre un servidor Debian, actualizando las rutas y valores que en la <a href="https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html">guía original de Hadoop,</a> es necesario cambiar para que funcione.</p>
<h3>Instalación de paquetes previos</h3>
<pre> sudo apt-get install -y ssh rsync
</pre>
<h3>Instalación de los paquetes propios de Apache Hadoop 2.9 (versión estable:</h3>
<pre>wget http://apache.uvigo.es/hadoop/common/stable/hadoop-2.9.0.tar.gz ;
# Descomprimir:
tar -xvzf hadoop-2.9.0.tar.gz ;
# Moverlo a /usr/bin
sudo mv hadoop-2.9.0 /usr/bin/hadoop-2.9.0 ;
# Creo un enlace, para no tener que buscar las rutas:
sudo ln -s /usr/bin/hadoop-2.9.0/bin/hadoop /usr/bin/hadoop</pre>
<h2>Configuración del entorno</h2>
<p>Cambiar en la configuración, la ruta donde tengamos en nuestro sistema java.</p>
<pre>whereis java; 
medit /usr/bin/hadoop-2.9.0/etc/hadoop<tt>/hadoop-env.sh</tt></pre>
<pre># set to the root of your Java installation
 export JAVA_HOME=/usr/bin/java</pre>
<h2>Iniciar Hadoop</h2>
<p>Al haber creado ya un enlace durante la instalación, es suficiente con invocar hadoop de la siguiente manera:</p>
<pre>hadoop</pre>
<h2>Desinstalación</h2>
<pre>rm -rf /usr/bin/hadoop-2.9.0
rm -rf /usr/bin/hadoop</pre>
<p>Más información: <a href="https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html">https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html</a></p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/despliegue-apache-hadoop-sobre-debian/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Editar pdf multipágina en linux / Debian con master pdf editor</title>
		<link>http://www.tecnocracia.es/editar-pdf-multipagina-en-linux-debian-con-master-pdf-editor/</link>
					<comments>http://www.tecnocracia.es/editar-pdf-multipagina-en-linux-debian-con-master-pdf-editor/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Thu, 21 Sep 2017 15:33:43 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dpkg]]></category>
		<category><![CDATA[master pdf]]></category>
		<category><![CDATA[multipage]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[rpm]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1822</guid>

					<description><![CDATA[Descarga de paquetes Descarga de paquete .deb de Master PDf editor Instalación a través de dpkg: dpkg -i master-pdf-editor-4.3.10_qt5.amd64.deb Dependencias: Requiere tener una versión de librerías QT 5.4.1 o superior.]]></description>
										<content:encoded><![CDATA[<p>Descarga de paquetes</p>
<p><a href="https://code-industry.net/free-pdf-editor/#get">Descarga de paquete .deb de Master PDf editor</a></p>
<p>Instalación a través de dpkg:</p>
<pre>dpkg -i master-pdf-editor-4.3.10_qt5.amd64.deb</pre>
<p>Dependencias:</p>
<p>Requiere tener una versión de librerías QT 5.4.1 o superior.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/editar-pdf-multipagina-en-linux-debian-con-master-pdf-editor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python: Encoding latin-1 utf-8</title>
		<link>http://www.tecnocracia.es/python-encoding-latin-1/</link>
					<comments>http://www.tecnocracia.es/python-encoding-latin-1/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Mon, 28 Nov 2016 20:48:16 +0000</pubDate>
				<category><![CDATA[python]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[encoding]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1800</guid>

					<description><![CDATA[#!/usr/bin/python # coding: latin-1 If script is stored in utf-8, a u character has to appear before any utf-8 strings, as in following example: #!/usr/bin/python # coding: utf-8 (....) ws.write_string ("B6",u'Ñéñººª') For cygwin users, python should be manually pointed at windows python available. ln -s  /cygdrive/c/Python27/python.exe /usr/bin/python If encoding is not set up: $ python [&#8230;]]]></description>
										<content:encoded><![CDATA[<pre>#!/usr/bin/python
# coding: latin-1</pre>
<p>If script is stored in utf-8, a <strong>u</strong> character has to appear before any utf-8 strings, as in following example:</p>
<pre>#!/usr/bin/python
# coding: utf-8

(....)

ws.write_string ("B6",<strong>u</strong>'Ñéñººª')</pre>
<p>For cygwin users, python should be manually pointed at windows python available.</p>
<pre> ln -s  /cygdrive/c/Python27/python.exe /usr/bin/python</pre>
<p>If encoding is not set up:</p>
<pre>$ python fmyscript.py
  File "fmyscript.py", line 20
SyntaxError: Non-ASCII character '\xc3' in file ficha_conecta.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details</pre>
<p>To learn more about encoding: https://www.python.org/dev/peps/pep-0263/</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/python-encoding-latin-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python: problemas con tildes, ñ, acentos, etc.</title>
		<link>http://www.tecnocracia.es/python-problemas-con-tildes-n-acentos-etc/</link>
					<comments>http://www.tecnocracia.es/python-problemas-con-tildes-n-acentos-etc/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Mon, 28 Nov 2016 07:52:52 +0000</pubDate>
				<category><![CDATA[python]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[-n]]></category>
		<category><![CDATA[acentos]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[ES]]></category>
		<category><![CDATA[tildes]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1803</guid>

					<description><![CDATA[#!/usr/bin/python # coding: latin-1 Si elegimos usar UTF-8, en todas las cadenas que vayan a tener un carácter especial se debe especificar una U delante de la cadena: #!/usr/bin/python # coding: utf-8 (....) ws.write_string ("B6",u'Ñéñººª') Si el script va a ejecutarse desde cygwin, es necesario apuntar /usr/bin/python a la versión del sistema: ln -s  /cygdrive/c/Python27/python.exe [&#8230;]]]></description>
										<content:encoded><![CDATA[<pre>#!/usr/bin/python
# coding: latin-1</pre>
<p>Si elegimos usar UTF-8, en todas las cadenas que vayan a tener un carácter especial se debe especificar una U delante de la cadena:</p>
<pre>#!/usr/bin/python
# coding: utf-8

(....)

ws.write_string ("B6",<strong>u</strong>'Ñéñººª')</pre>
<p>Si el script va a ejecutarse desde cygwin, es necesario apuntar /usr/bin/python a la versión del sistema:</p>
<pre> ln -s  /cygdrive/c/Python27/python.exe /usr/bin/python</pre>
<p>Si en los scripts de python, no está bien especificado el tipo de caracteres de los fuentes, ante cualquier carácter especial del castellano aparece el siguiente error:</p>
<pre>$ python fmyscript.py
  File "fmyscript.py", line 20
SyntaxError: Non-ASCII character '\xc3' in file ficha_conecta.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details</pre>
<p>Para saber más:  https://www.python.org/dev/peps/pep-0263/</p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/python-problemas-con-tildes-n-acentos-etc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python 2.7. Instlar pypdfocr en windows</title>
		<link>http://www.tecnocracia.es/python-2-7-instlar-pypdf-en-windows/</link>
					<comments>http://www.tecnocracia.es/python-2-7-instlar-pypdf-en-windows/#respond</comments>
		
		<dc:creator><![CDATA[tres]]></dc:creator>
		<pubDate>Mon, 14 Nov 2016 20:56:33 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[10]]></category>
		<category><![CDATA[7]]></category>
		<category><![CDATA[8]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[pip]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[VC]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[yaml]]></category>
		<guid isPermaLink="false">http://www.tecnocracia.es/?p=1779</guid>

					<description><![CDATA[Si al instalar pypdfocr en windows 7, da un error de compilación $ pip2.exe  install pypdfocr (...) Installing collected packages: PyYAML, argh, pathtools, watchdog, httplib2, oauth2, evernote, pypdfocr   Running setup.py install for PyYAML: started     Running setup.py install for PyYAML: finished with status 'error'     Complete output from command c:\python27\python.exe -u -c "import setuptools, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Si al instalar pypdfocr en windows 7, da un error de compilación</p>
<pre>$ pip2.exe  install pypdfocr

(...)
Installing collected packages: PyYAML, argh, pathtools, watchdog, httplib2, oauth2, evernote, pypdfocr
  Running setup.py install for PyYAML: started
    Running setup.py install for PyYAML: finished with status 'error'
    Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\cygwin\\tmp\\pip-build-k7lz4j\\PyYAML\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\cygwin\tmp\pip-nggirp-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    creating build\lib.win32-2.7\yaml
    copying lib\yaml\composer.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\constructor.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\cyaml.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\dumper.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\emitter.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\error.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\events.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\loader.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\nodes.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\parser.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\reader.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\representer.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\resolver.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\scanner.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\serializer.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\tokens.py -&gt; build\lib.win32-2.7\yaml
    copying lib\yaml\__init__.py -&gt; build\lib.win32-2.7\yaml
    running build_ext
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    checking if libyaml is compilable
    error: [Error 2] El sistema no puede encontrar el archivo especificado

    ----------------------------------------
Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\cygwin\\tmp\\pip-build-k7lz4j\\PyYAML\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\cygwin\tmp\pip-nggirp-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in c:\cygwin\tmp\pip-build-k7lz4j\PyYAML\</pre>
<p>Es necesario instalar tal y como comentan en <a href="http://stackoverflow.com/questions/38253685/tox-fails-to-install-pyyaml-on-windows">stackoverflow vc  </a>para windows :</p>
<p><a href="https://www.microsoft.com/en-gb/download/details.aspx?id=44266">Microsoft Visual C++ Compiler for Python 2.7</a></p>
<p>Una vez instalado, vc for Python, debe estar accesible desde el path. Desde command :</p>
<p><a href="http://www.tecnocracia.es/wp-content/uploads/2016/11/cmd_python_pypdfocr.png"><img decoding="async" class="alignnone size-medium wp-image-1785" src="http://www.tecnocracia.es/wp-content/uploads/2016/11/cmd_python_pypdfocr-300x154.png" alt="cmd_python_pypdfocr" width="300" height="154" srcset="http://www.tecnocracia.es/wp-content/uploads/2016/11/cmd_python_pypdfocr-300x154.png 300w, http://www.tecnocracia.es/wp-content/uploads/2016/11/cmd_python_pypdfocr.png 646w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>http://www.tecnocracia.es/python-2-7-instlar-pypdf-en-windows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
