<?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>Segmentation Fault! &#187; Trucos</title>
	<atom:link href="http://www.segmentationfault.es/category/trucos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.segmentationfault.es</link>
	<description>La formulación de un problema es más importante que su solución.</description>
	<lastBuildDate>Tue, 29 Jun 2010 19:45:33 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Crear listas ordenables con Prototype y Scriptaculous</title>
		<link>http://www.segmentationfault.es/2009/08/listas-ordenadas-scriptaculous/</link>
		<comments>http://www.segmentationfault.es/2009/08/listas-ordenadas-scriptaculous/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 20:21:03 +0000</pubDate>
		<dc:creator>Noemí Losada</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[efectos visuales]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[lorem ipsum]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[script.aculo.us]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.es/?p=1085</guid>
		<description><![CDATA[Scriptaculous es una librería que extiende a Prototype proporcionándonos la capacidad de crear efectos visuales e incluso animaciones a partir de unas funciones muy sencillas. Para poder implementar listas ordenadas necesitamos usar una de las funciones de Scriptaculous que convierte una lista convencional en una lista ordenable en tiempo real.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.prototypejs.org/" target="_blank">Prototype</a> es un <a href="http://es.wikipedia.org/wiki/Framework" target="_blank">framework</a> de javascript que pretende facilitar el desarrollo de aplicaciones web dinámicas. Prototype extiende javascript y nos ofrece funcionalidades que serían complejas de desarrollar con el clásico javascript.</p>
<p><a href="http://script.aculo.us/" target="_blank">Scriptaculous</a> es una librería que extiende a Prototype proporcionándonos la capacidad de crear efectos visuales e incluso animaciones a partir de unas funciones muy sencillas. Para poder implementar listas ordenadas necesitamos usar una de las funciones de Scriptaculous que convierte una lista convencional en una lista ordenable en tiempo real.</p>
<p>Para crear la lista ordenada nos basaremos en  el ejemplo que podemos encontrar en la <a href="http://wiki.github.com/madrobby/scriptaculous/sortable-lists-demo" target="_blank">wiki de scriptaculous</a>.</p>
<p>En primer lugar crearemos un documento html en el que añadiremos nuestra lista:</p>
<pre class="brush: xml;">

&lt;ul id=&quot;lista&quot;&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;Lorem&lt;/li&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;ipsum&lt;/li&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;dolor&lt;/li&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;sit&lt;/li&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;amet&lt;/li&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;consectetur&lt;/li&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;adipisci&lt;/li&gt;
  &lt;li style=&quot;position:relative;&quot;&gt;velit&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Como veis hemos asignado una id al elemento <em>ul</em><strong> </strong>llamado &#8220;lista&#8221; que después utilizaremos para decirle a Scriptaculous que lista debe convertir en ordenable. Por otra parte también hemos añadido <em>position:relative;</em> como estilo de cada ítem de la lista para que al convertirse en ordenable se puedan mover.</p>
<p>Para poder hacer uso de Prototype y Scriptaculous tenemos dos maneras de incluir las librerías, la primera de ellas es descargárnoslas y llamarlas desde nuestro html y la segunda manera es incluirlas directamente desde la web oficial (cabe destacar que google tiene una versión cacheada de estas librerías y podemos acceder a ellas desde el apartado API&#8217;S).</p>
<p>En nuestro código optamos por incluírlas directamente, para ello escribiremos el siguiente fragmento html entre las etiquetas <em>head</em> (aunque recientemente ha aparecido una <em>Best Practice </em>que indica que para cargar la página más rápidamente hay que llamar a javascript al final de la página justo antes del cierre del <em>body</em>) :</p>
<pre class="brush: xml;">

&lt;script src=&quot;http://script.aculo.us/prototype.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;http://script.aculo.us/scriptaculous.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p>Por último debemos decirle a Scriptaculous que lista debe convertir, para ello utilizaremos la siguiente instrucción:</p>
<pre class="brush: xml;">

&lt;script language=&quot;javascript&quot;&gt;
  Sortable.create(&quot;lista&quot;);
&lt;/script&gt;
</pre>
<p>Con la línea &#8220;Sortable.create(&#8220;lista&#8221;);&#8221; convertimos nuestra lista convencional en una lista ordenable mediante <a href="http://es.wikipedia.org/wiki/Drag_%27n_drop" target="_blank">Drag&amp;Drop</a> que esta muy de moda en la web 2.0. Si os fijáis en la llamada a la función create pasamos como primer parámetro el id de la lista que queremos convertir, esta función tiene otro parámetros que podemos descubrir en la <a href="http://wiki.github.com/madrobby/scriptaculous/sortable-create" target="_blank">página de la wiki referente a esta función</a>, entre otras opciones podemos especificar que elementos son los que se van a mover por la lista (como por ejemplo <em>tr</em> en el caso de querer una tabla con sus filas ordenables) e incluso podemos especificar un <em>handler</em> (un elemento que va a actuar como el punto desde el que arrastrar el elemento).</p>
<p>Si os interesa saber más sobre los efectos que puede realizar esta librería sólo es cuestión de investigar en la <a href="http://wiki.github.com/madrobby/scriptaculous/sortable-lists-demo" target="_blank">wiki de scriptaculous</a> dónde tenéis otra manera de ordenar listas como por ejemplo escoger que parte del ítem es la que queréis mover.</p>
<p>Aquí os dejo una pequeña demo de nuestra lista:</p>
<ul id="lista">
<li style="position:relative;">Lorem</li>
<li style="position:relative;">ipsum</li>
<li style="position:relative;">dolor</li>
<li style="position:relative;">sit</li>
<li style="position:relative;">amet</li>
<li style="position:relative;">consectetur</li>
<li style="position:relative;">adipisci</li>
<li style="position:relative;">velit</li>
</ul>
<p><script>// < ![CDATA[
  Sortable.create("lista");
// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.segmentationfault.es/2009/08/listas-ordenadas-scriptaculous/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Instalar y configurar Nano en Ubuntu y MacOS X</title>
		<link>http://www.segmentationfault.es/2009/07/instalar-y-configurar-nano-en-ubuntu-y-macos-x/</link>
		<comments>http://www.segmentationfault.es/2009/07/instalar-y-configurar-nano-en-ubuntu-y-macos-x/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 21:52:09 +0000</pubDate>
		<dc:creator>Christopher Vallés</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[comando]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.es/?p=987</guid>
		<description><![CDATA[Nano es un editor de ficheros por terminal, nos puede ser muy util sobretodo si tenemos que editar ficheros en un servidor o maquina remota mediante una conexión SSH. Aparentemente puede parecer muy sencillo pero tiene algunas características que lo hacen muy potente como las búsquedas por expresiones regulares, coloreado de sintaxis, etc.]]></description>
			<content:encoded><![CDATA[<p>Después de mucho tiempo sin actividad volvemos a la carga con este post, hoy voy a explicar como instalar y configurar Nano en Ubuntu y MacOS, el apartado de instalación difiere dependiendo del sistema operativo utilizado, en Mac OS por ejemplo nano ya viene instalado por defecto, en ubuntu deberemos ejecutar un comando en el terminal en caso de que no venga instalado y en el resto de sistemas operativos cada uno tendrá su propio método de instalación.</p>
<p>Nano es un editor de ficheros por terminal, nos puede ser muy util sobretodo si tenemos que editar ficheros en un servidor o maquina remota mediante una conexión SSH. Aparentemente puede parecer muy sencillo pero tiene algunas características que lo hacen muy potente como las búsquedas por expresiones regulares, coloreado de sintaxis, etc.</p>
<p>Actualmente nano viene instalado o se puede instalar en aquellos sistemas operativos que son compatibles con UNIX como Linux, BSD o MacOS X incluso existe en la web oficial una versión para Windows utilizando las herramientas Cygwin. En principio suele venir ya pre-instalado, como es el caso de MacOS X o Ubuntu Desktop pero en otros sistemas operativos como Ubuntu server será necesario instalarlo desde el terminal o algún programa de gestión de paquetes.</p>
<p><strong>Cómo instalar Nano</strong></p>
<p>Para instalar nano desde el terminal en sistemas Debian basta con ejecutar este comando:</p>
<pre class="brush: bash;">
sudo apt-get install nano
</pre>
<p>Como he comentado antes en el sistema operativo MacOS X nano ya viene pre-instalado así que no hará falta hacer nada para tenerlo.</p>
<p><strong>Configuración de nano<br />
</strong></p>
<p>La configuración de nano es extremadamente sencilla, solo debemos editar un fichero de configuración. La ruta a este fichero puede variar dependiendo del sistema operativo, en el caso de Ubuntu y MacOS X lo podremos encontrar en /etc/nanorc.</p>
<p>Para proceder a editarlo podemos ejecutar este comando en el terminal:</p>
<pre class="brush: bash;">
sudo nano /etc/nanorc
</pre>
<p>Básicamente nos encontraremos con tres casos, el primero es que no exista el fichero con lo cuál lo crearemos, el segundo caso es que el fichero este vacío y el último caso es que el fichero venga con contenido por defecto. En este último caso solo tendremos que ir descomentando las líneas que nos interesen, en los otros dos casos simplemente escribimos las líneas de configuración que queremos utilizar.</p>
<p>Aquí debajo podremos encontrar una muestra de cómo puede ser el fichero nanorc.</p>
<pre class="brush: bash;">
## Sample initialization file for GNU nano.
##
## Please note that you must have configured nano with --enable-nanorc
## for this file to be read!  Also note that this file should not be in
## DOS or Mac format, and that characters specially interpreted by the
## shell should not be escaped here.
##
## To make sure a value is disabled, use &quot;unset &quot;.
##
## For the options that take parameters, the default value is given.
## Other options are unset by default.
##
## Quotes inside string parameters don't have to be escaped with
## backslashes.  The last double quote in the string will be treated as
## its end.  For example, for the &quot;brackets&quot; option, &quot;&quot;')&gt;]}&quot; will match
## &quot;, ', ), &gt;, ], and }.

## Use auto-indentation.
# set autoindent

## Backup files to filename~.
# set backup

## The directory to put unique backup files in.
# set backupdir &quot;&quot;

## Do backwards searches by default.
# set backwards

## Use bold text instead of reverse video text.
# set boldtext

## The characters treated as closing brackets when justifying
## paragraphs.  They cannot contain blank characters.  Only closing
## punctuation, optionally followed by closing brackets, can end
## sentences.
##
# set brackets &quot;&quot;')&gt;]}&quot;

## Do case sensitive searches by default.
# set casesensitive

## Constantly display the cursor position in the statusbar.  Note that
## this overrides &quot;quickblank&quot;.
# set const

## Use cut to end of line by default.
# set cut

## Set the line length for wrapping text and justifying paragraphs.
## If fill is 0 or less, the line length will be the screen width less
## this number.
##
# set fill -8

## Enable ~/.nano_history for saving and reading search/replace strings.
# set historylog

## The opening and closing brackets that can be found by bracket
## searches.  They cannot contain blank characters.  The former set must
## come before the latter set, and both must be in the same order.
##
# set matchbrackets &quot;(&lt; [{)&gt;]}&quot;

## Use the blank line below the titlebar as extra editing space.
# set morespace

## Enable mouse support, if available for your system.  When enabled,
## mouse clicks can be used to place the cursor, set the mark (with a
## double click), and execute shortcuts.  The mouse will work in the X
## Window System, and on the console when gpm is running.
##
# set mouse

## Allow multiple file buffers (inserting a file will put it into a
## separate buffer).  You must have configured with --enable-multibuffer
## for this to work.
##
# set multibuffer

## Don't convert files from DOS/Mac format.
# set noconvert

## Don't follow symlinks when writing files.
# set nofollow

## Don't display the helpful shortcut lists at the bottom of the screen.
# set nohelp

## Don't add newlines to the ends of files.
# set nonewlines

## Don't wrap text at all.
# set nowrap

## Set operating directory.  nano will not read or write files outside
## this directory and its subdirectories.  Also, the current directory
## is changed to here, so any files are inserted from this dir.  A blank
## string means the operating directory feature is turned off.
##
# set operatingdir &quot;&quot;

## Preserve the XON and XOFF keys (^Q and ^S).
# set preserve

## The characters treated as closing punctuation when justifying
## paragraphs.  They cannot contain blank characters.  Only closing
## punctuation, optionally followed by closing brackets, can end
## sentences.
##
# set punct &quot;!.?&quot;

## Do quick statusbar blanking.  Statusbar messages will disappear after
## 1 keystroke instead of 26.  Note that &quot;const&quot; overrides this.
##
# set quickblank

## The email-quote string, used to justify email-quoted paragraphs.
## This is an extended regular expression if your system supports them,
## otherwise a literal string.  Default:
# set quotestr &quot;^([     ]*[#:&gt;\|}])+&quot;
## if you have extended regular expression support, otherwise:
# set quotestr &quot;&gt; &quot;

## Fix Backspace/Delete confusion problem.
# set rebinddelete

## Fix numeric keypad key confusion problem.
# set rebindkeypad

## Do extended regular expression searches by default.
# set regexp

## Make the Home key smarter.  When Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards).  If the
## cursor is already at that position, it will jump to the true
## beginning of the line.
# set smarthome

## Use smooth scrolling as the default.
# set smooth

## Use this spelling checker instead of the internal one.  This option
## does not properly have a default value.
##
# set speller &quot;aspell -x -c&quot;

## Allow nano to be suspended.
# set suspend

## Use this tab size instead of the default; it must be greater than 0.
# set tabsize 8

## Convert typed tabs to spaces.
# set tabstospaces

## Save automatically on exit, don't prompt.
# set tempfile

## Disallow file modification.  Why would you want this in an rcfile? <img src='http://www.segmentationfault.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
# set view

## The two single-column characters used to display the first characters
## of tabs and spaces.  187 in ISO 8859-1 (0000BB in Unicode) and 183 in
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
# set whitespace &quot;  &quot;

## Detect word boundaries more accurately by treating punctuation
## characters as parts of words.
# set wordbounds

## Color setup
##
## Format:
##
## syntax &quot;short description&quot; [&quot;filename regex&quot; ...]
##
## The &quot;none&quot; syntax is reserved; specifying it on the command line is
## the same as not having a syntax at all.  The &quot;default&quot; syntax is
## special: it takes no filename regexes, and applies to files that
## don't match any other syntax's filename regexes.
##
## color foreground,background &quot;regex&quot; [&quot;regex&quot;...]
## or
## icolor foreground,background &quot;regex&quot; [&quot;regex&quot;...]
##
## &quot;color&quot; will do case sensitive matches, while &quot;icolor&quot; will do case
## insensitive matches.
##
## Valid colors: white, black, red, blue, green, yellow, magenta, cyan.
## For foreground colors, you may use the prefix &quot;bright&quot; to get a
## stronger highlight.
##
## To use multi-line regexes, use the start=&quot;regex&quot; end=&quot;regex&quot;
## [start=&quot;regex&quot; end=&quot;regex&quot;...] format.
##
## If your system supports transparency, not specifying a background
## color will use a transparent color.  If you don't want this, be sure
## to set the background color to black or white.
##
## If you wish, you may put your syntaxes in separate files.  You can
## make use of such files (which can only include &quot;syntax&quot;, &quot;color&quot;, and
## &quot;icolor&quot; commands) as follows:
##
## include &quot;/path/to/syntax_file.nanorc&quot;
##
## Unless otherwise noted, the name of the syntax file (without the
## &quot;.nanorc&quot; extension) should be the same as the &quot;short description&quot;
## name inside that file.  These names are kept fairly short to make
## them easier to remember and faster to type using nano's -Y option.
##
## All regexes should be extended regular expressions.

## Key bindings
## Please see nanorc(5) for more details on this
##
## Here are some samples to get you going
##
# bind M-W nowrap main
# bind M-A casesens search
# bind ^S research main

## Set this if your backspace key sends delete most of the time (2.1.3+)
# bind kdel backspace all

## Nanorc files
# include &quot;@PKGDATADIR@/nanorc.nanorc&quot;

## C/C++
# include &quot;@PKGDATADIR@/c.nanorc&quot;

## Cascading Style Sheets
# include &quot;@PKGDATADIR@/css.nanorc&quot;

## Debian files
# include &quot;@PKGDATADIR@/debian.nanorc&quot;

## Gentoo files
# include &quot;@PKGDATADIR@/gentoo.nanorc&quot;

## HTML
# include &quot;@PKGDATADIR@/html.nanorc&quot;

## PHP
# include &quot;@PKGDATADIR@/php.nanorc&quot;

## TCL
# include &quot;@PKGDATADIR@/tcl.nanorc&quot;

## TeX
# include &quot;@PKGDATADIR@/tex.nanorc&quot;

## Quoted emails (under e.g. mutt)
# include &quot;@PKGDATADIR@/mutt.nanorc&quot;

## Patch files
# include &quot;@PKGDATADIR@/patch.nanorc&quot;

## Manpages
# include &quot;@PKGDATADIR@/man.nanorc&quot;

## Groff
# include &quot;@PKGDATADIR@/groff.nanorc&quot;

## Perl
# include &quot;@PKGDATADIR@/perl.nanorc&quot;

## Python
# include &quot;@PKGDATADIR@/python.nanorc&quot;

## Ruby
# include &quot;@PKGDATADIR@/ruby.nanorc&quot;

## Java
# include &quot;@PKGDATADIR@/java.nanorc&quot;

## AWK
# include &quot;@PKGDATADIR@/awk.nanorc&quot;

## Assembler
# include &quot;@PKGDATADIR@/asm.nanorc&quot;

## Bourne shell scripts
# include &quot;@PKGDATADIR@/sh.nanorc&quot;

## POV-Ray
# include &quot;@PKGDATADIR@/pov.nanorc&quot;

## XML-type files
# include &quot;@PKGDATADIR@/xml.nanorc&quot;
</pre>
<p>Básicamente las líneas que deberíamos descomentar son las siguientes:</p>
<p><span style="text-decoration: underline;">set const</span> (Esta funcionalidad muestra constantemente la posición del cursor file/columna en el cuadro de abajo)<br />
<span style="text-decoration: underline;">set mouse</span> (Habilita el uso del ratón para poder seleccionar texto, pegarlo y demás)<br />
<span style="text-decoration: underline;">set rebinddelete</span> (Configura el botón de borrar como acción borrar y no suprimir como puede venir en algunos sistemas)<br />
<span style="text-decoration: underline;">set smooth</span> (Mejora el salto del texto al hacer scroll)<br />
<span style="text-decoration: underline;">set tabsize 2</span> (Especificamos el numero de columnas que va a ocupar una tabulación)<br />
<span style="text-decoration: underline;">set tabstospaces</span> (Especificamos que el programa debe utilizar espacios en lugar de tabulaciones, muy útil si modificamosficheros YAML)</p>
<p>Y además también descomentamos todos los includes que hay al final del fichero (solo en sistemas linux, no sirve en MacOS X) para poder activar el coloreado del texto dependie<span><span style="margin-left: 0px ! important;">ndo del tipo de fichero. Como podréis comprobar la línea <em>set tabsize 2</em> es la línea <em>set tabsize 8</em> en el fichero de arriba, además de descomentarla le hemos modificado el tamaño de 8 a 2.</span></span></p>
<p><span><span style="margin-left: 0px ! important;">Una vez realizados todos estos cambios pulsamos las teclas Ctrl+X escribirmos &#8220;Y&#8221; y pulsamos Enter.</span></span></p>
<p><span><span style="margin-left: 0px ! important;">Ahora al abrir un fichero ANSI C por ejemplo podremos ver que nos muestra algo similar a esto.</span></span></p>
<p><div id="attachment_992" class="wp-caption aligncenter" style="width: 464px"><a href="http://www.segmentationfault.es/wp-content/2009/07/Imagen-1.png"><img class="size-full wp-image-992 " title="Editor NANO" src="http://www.segmentationfault.es/wp-content/2009/07/Imagen-1.png" alt="Imagen 1" width="454" height="322" /></a><p class="wp-caption-text">Fichero ANSI C abierto en nano después de configurarlo</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.segmentationfault.es/2009/07/instalar-y-configurar-nano-en-ubuntu-y-macos-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pendrive bootable en MacOS</title>
		<link>http://www.segmentationfault.es/2009/06/pendrive-bootable-macos/</link>
		<comments>http://www.segmentationfault.es/2009/06/pendrive-bootable-macos/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 09:12:38 +0000</pubDate>
		<dc:creator>Gabi García</dc:creator>
				<category><![CDATA[Trucos]]></category>
		<category><![CDATA[bootable]]></category>
		<category><![CDATA[comando]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[pendrive]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.es/?p=972</guid>
		<description><![CDATA[Si tenéis un netbook posiblemente os hayáis planteado cambiar el sistema operativo o renovar el que traía por defecto. Pero claro, estos pequeños ordenadores carecen de lector de CD/DVD. ¿Qué hacemos? Podemos crear un pendrive bootable y lo podemos hacer desde nuestro Mac de forma sencilla y sin tener que recurrir a una máquina con Windows. ¡Leed el post completo si queréis saber cómo!]]></description>
			<content:encoded><![CDATA[<p>Posiblemente algun@s de vosotr@s hayáis pretendido crear un pendrive <em>bootable</em> que contuviese, por ejemplo, una distribució de Linux para instalarla en algun netbook o para ejecutarla en modo <em>live</em>. Y si &#8220;googleamos&#8221; un poco nos salen muchos resultados y muchas aplicaciones para crearlos bajo Windows. Pero los usuarios de MacOS lo tenemos más crudo. Yo, finalmente, logré encontrar cómo hacerlo de forma sencilla desde el Terminal.</p>
<p>Para ello vamos a hacer uso de la Utilidad de Discos, pero desde el terminal obviamente. Debemos abrir un terminal y navegar hasta la ruta:</p>
<pre class="brush: bash; toolbar: false;">
cd /Applications/Utilities/
</pre>
<p>Una vez en este directorio, antes de conectar nuestra unidad flash externa, ejecutamos el siguiente comando para listar los discos conectados en ese momento a nuestro Mac:</p>
<pre class="brush: bash; toolbar: false;">
diskutil list
</pre>
<p>Ahora conectamos el pendrive y volvemos a ejecutar el comando anterior.</p>
<pre class="brush: bash; toolbar: false;">
diskutil list
</pre>
<p>Debe aparecer un dispositivo nuevo, algo como /dev/diskX (donde X es un número). Una vez identificado, procedemos a desmontar el volumen de nuestra máquina con el comando:</p>
<pre class="brush: bash; toolbar: false;">
diskutil unmountDisk /dev/diskX
</pre>
<p>Ahora es cuando procedemos a grabar la imagen ISO en nuestro pendrive (para ello debemos conocer el <em>path</em> hasta el fichero de la imagen) ejecutando lo siguiente (<strong>¡Alerta, se perderán todos los datos contenidos en el pendrive!</strong>):</p>
<pre class="brush: bash; toolbar: false;">
sudo dd if=/path/hasta/imagen.iso of=/dev/diskX bs=1m
</pre>
<p>Sed pacientes porque el proceso puede durar bastantes minutos. Una vez terminado solo nos queda desmontar el dispositivo para poseer nuestro pendrive bootable!</p>
<pre class="brush: bash; toolbar: false;">
diskutil eject /dev/diskX
</pre>
<p>Espero que os sea útil a todos los usuarios de la manzana y, como siempre, ante cualquier duda usad los comentarios.</p>
<p><span style="text-decoration: underline;">Fuente</span></p>
<p><a href="https://help.ubuntu.com/community/Installation/FromImgFiles#Mac%20OS%20X">Ubuntu Documentation -</a><a href="https://help.ubuntu.com/community/Installation/FromImgFiles"> https://help.ubuntu.com/community/Installation/FromImgFiles#Mac%20OS%20X</a><span style="text-decoration: underline;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.segmentationfault.es/2009/06/pendrive-bootable-macos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalador automatizado de CodeIgniter</title>
		<link>http://www.segmentationfault.es/2009/05/instalador-codeigniter/</link>
		<comments>http://www.segmentationfault.es/2009/05/instalador-codeigniter/#comments</comments>
		<pubDate>Sat, 16 May 2009 08:50:05 +0000</pubDate>
		<dc:creator>Christopher Vallés</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Shell Scripting]]></category>
		<category><![CDATA[Trucos]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.es/?p=893</guid>
		<description><![CDATA[Todos estos días de sequía tienen un motivo... A parte de mejorar el blog para permitir multiples autores en un post, Gabi y yo hemos estado desarrollando una herramienta que para muchos programadores les será un alivio de trabajo importante. Todos los que usamos el framework CodeIgniter sabemos que hay que modificar el .htaccess, crear las carpetas auxiliares que necesitamos, instalar el TinyMCE, bajar prototype y scriptaculous y demás.]]></description>
			<content:encoded><![CDATA[<p>Todos estos días de sequía tienen un motivo&#8230; A parte de mejorar el blog para permitir multiples autores en un post, Gabi y yo hemos estado desarrollando una herramienta que para muchos programadores les será un alivio de trabajo importante. Todos los que usamos el framework CodeIgniter sabemos que hay que modificar el .htaccess, crear las carpetas auxiliares que necesitamos, instalar el TinyMCE, bajar prototype y scriptaculous y demás.</p>
<p>Hemos creado una herramienta, que en su versión beta funciona por terminal, que nos va a ayudar en este proceso, básicamente las funciones que realiza son:</p>
<ol>
<li>Descarga e instala la última versión de CodeIgniter desde la página oficial.</li>
<li>Aplica el parche de idioma en castellano a CodeIgniter.</li>
<li>Descargar e instala la última versión del editor WYSISYG TinyMCE desde la página oficial.</li>
<li>Instala también la versión comprimida del editor TinyMCE.</li>
<li>Descarga la última versión de Prototype desde la página oficial.</li>
<li>Descarga la última versión de Script.aculo.us desde la página oficial.</li>
<li>Crea el fichero robots.txt con el contenido por defecto para los bots de búsquedas.</li>
<li>Crea la carpeta css.</li>
<li>Crea la carpeta img.</li>
<li>Crea la carpeta js.</li>
<li>Crea la carpeta swf.</li>
<li>Crea el fichero .htaccess con las directivas necesarias para que funcione CodeIgniter con mod_rewrite y permite el acceso a todas las carpetas creadas.</li>
</ol>
<p>Las características que esperamos tener en la versión estable a parte de las existentes son:</p>
<ol>
<li>Selección del idioma a instalar con CodeIgniter.</li>
<li>TinyMCE, Prototype y Script.aculo.us pasarán a ser instalaciónes opcionales (podremos escogerlo en el momento de la instalación).</li>
<li>En caso de instalar TinyMCE podremos escoger el idioma que queremos instalar así como la versión, estándar o comprimida.</li>
<li>Posibilidad de nombrar a las carpetas de imágenes, css, js y swf de la manera que nosotros queramos (se decide en el momento de la instalación).</li>
<li>Integración en el propio sistema operativo (Solo para Linux y MacOS de momento), es decir desde el terminal escribiremos <em><strong>installci</strong></em> y automáticamente se ejecutará el script.</li>
<li>Integración con el Finder de MacOS.</li>
</ol>
<p>Para ejecutar el script hay que crear una carpeta dónde vamos a ir metiendo nuestros ficheros, copiar ahí el script <em><strong>installci.sh</strong></em> otorgar permisos con <em><strong>chmod 777 ./installci.sh</strong></em> y ejecutar dicho script con <em><strong>./installci.sh</strong></em>.</p>
<p>De momento y hasta que esté disponible la versión estable aquí os dejamos el enlace para <a href="http://www.segmentationfault.es/wp-content/2009/05/installci.zip">descargar la versión beta</a>. Esperamos vuestras sugerencias y opiniones en los comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.segmentationfault.es/2009/05/instalador-codeigniter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Alias, agiliza tu terminal en MacOS</title>
		<link>http://www.segmentationfault.es/2009/05/alias-en-macos/</link>
		<comments>http://www.segmentationfault.es/2009/05/alias-en-macos/#comments</comments>
		<pubDate>Tue, 12 May 2009 08:33:50 +0000</pubDate>
		<dc:creator>Gabi García</dc:creator>
				<category><![CDATA[Trucos]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[comando]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Terminal]]></category>

		<guid isPermaLink="false">http://www.segmentationfault.es/?p=870</guid>
		<description><![CDATA[¿Cansad@ de tener que escribir siempre los mismos comandos? ¿Hart@ de pelearte con el oscuro Terminal? Agiliza tu trabajo en la linea de comandos gracias a los alias. Aquí te explicaremos como definir un alias en MacOS de forma rápida y sencilla. ¡Échale un vistazo!]]></description>
			<content:encoded><![CDATA[<p>Aunque posiblemente muchos intentamos evitar el uso de &#8220;esa pantalla oscura e incomprendida&#8221; que es el Terminal, hay veces que irremediablemente debemos echar mano de él.</p>
<p>Y lo engorroso del Terminal suele ser el hecho de tener que teclear largos comandos llenos de opciones secundarias y parámetros. Casualmente estos comandos interminables acostumbran a ser los que más debemos utilizar (cosas de la <a href="http://es.wikipedia.org/wiki/Ley_de_murphy" target="_blank">Ley de Murphy</a>).</p>
<p>¡Pero éste no va a ser un problema para nosotros! Para estos casos contamos con nuestros amigos los &#8220;alias&#8221;. Crear un alias, como su propio nombre indica, consiste en renombrar un comando, posiblemente pesado de escribir o difícil de recordar, para denominarlo de forma más corta o intuitiva.</p>
<p>A continuación os voy a indicar como crear un alias en vuestro Mac de forma rápida y sencilla. Como ejemplo tomaremos el comando para listar todos los ficheros (incluidos los ocultos) de un directorio concreto:</p>
<pre class="brush: cpp;">
ls -la
</pre>
<p>En el sistema operativo de la manzana los alias se definen en el fichero de configuración profile, situado en /etc/profile. Abrimos un terminal y lo editaremos utilizando el editor <a href="http://es.wikipedia.org/wiki/Nano_(editor_de_texto)" target="_blank"><em>nano</em></a> (Advertencia: Necesitamos permisos de administrador).</p>
<p><a rel="attachment wp-att-872" href="http://www.segmentationfault.es/wp-content/2009/05/term1.png"></a><a rel="attachment wp-att-887" href="http://www.segmentationfault.es/wp-content/2009/05/terminal-profile.png"><img class="aligncenter size-medium wp-image-887" title="terminal-profile" src="http://www.segmentationfault.es/wp-content/2009/05/terminal-profile-300x211.png" alt="terminal-profile" width="300" height="211" /></a>El comando es:</p>
<pre class="brush: cpp;">
sudo nano /etc/profile
</pre>
<p>Después de introducir la contraseña de administrador podemos ir al final del fichero y escribir lo siguiente:</p>
<pre class="brush: cpp;">
alias ll='ls -la'
</pre>
<p>Ahora pulsamos Ctrl+X para salir del programa y seguidamente le damos a la tecla Y para guardar los cambios. Para que podamos utilizar nuestro alias debemos reiniciar el Terminal. Un vez reiniciado, solo deberemos teclear:</p>
<pre class="brush: cpp;">
ll
</pre>
<p>y voilá&#8230; El resultado será algo parecido a esto:</p>
<p><a rel="attachment wp-att-873" href="http://www.segmentationfault.es/wp-content/2009/05/terminal2.png"><img class="aligncenter size-medium wp-image-873" title="terminal2" src="http://www.segmentationfault.es/wp-content/2009/05/terminal2-300x211.png" alt="terminal2" width="300" height="211" /></a></p>
<p>De esta forma podéis definir los alias que queráis y así agilizar vuestro trabajo en la linea de comandos. Espero que os sea útil  este pequeño truquillo. ¡Ante cualquier duda nos vemos en los comentarios!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.segmentationfault.es/2009/05/alias-en-macos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->