Archivo de la etiqueta: truco

Lo que he aprendido: una mejor ayuda en Matlab

A estas alturas de la película sabemos todos ya que documentar nuestro código es una buena idea. También sabemos que Matlab asume que un comentario que se inicie en la primera línea de un script o justo debajo de la definición de una función es la documentación del archivo en cuestión.

Refresquémonos la memoria. Por ejemplo, si definimos una función así (he cogido una que tenía yo por ahí):

function x = euler_1gdl(data, ci, N, h)

% Computes time response of 1dof system using forward Euler

end

Y hacemos:

>>> help FUNCIÓN

Nos apacerá lo siguiente:

>> help euler_1gdl
Computes time response of 1dof system using forward Euler

Fácil y eficaz. ¡Pues hoy he aprendido tres cosas que no sabía sobre esta historia!

Seguir leyendo →

Anuncios

Lo que he aprendido: trucos para borrar desde la terminal

Aquí en mi gesta para parecer que sé usar el ordenador he aprendido nuevos truquillos, en este caso para borrar cosas. Os cuento.

Borrar el contenido de un fichero

Me acabo de encontrar un truco todo loco para dejar un archivo vacío pero que se le mantengan los permisos. Simplemente redirigimos nuestro querido periférico nulo al archivo en cuestión:

cat /dev/null > ARCHIVO

Así nos ahorramos el tener que borrarlo, crear uno nuevo y asignarle los permisos correspondientes.

Para ver que efectivamente se mantienen los permisos he hecho esta prueba:

$ echo "Letra aleatoria" > archivo
$ chmod +x archivo
$ ls -l archivo
-rwxr-xr-x 1 usuario grupo 16 jul  2 12:09 archivo
$ cat /dev/null/ > archivo
$ ls -l archivo
-rwxr-xr-x 1 usuario grupo 0 jul 2 12:12 archivo

También se ve que el archivo se vacía, ya que el último ls nos dice que su tamaño es de cero.

Borrar el contenido de una carpeta

Todos conocemos el mítico rm -r para borrar una carpeta y su contenido, pero a mí al menos me da miedillo. Ahora he aprendido sobre dos opciones que me ayudan a saber lo que estoy haciendo:

  • --verbose, -v: explica lo que va borrando.
  • --interactive, -i: nos va preguntando si queremos borrar o no cada uno de los archivos. También hay una versión -I que solo pregunta al borrar más de tres cosas, lo que es menos molesto.

Por ejemplo, si usamos la opción -v vemos lo siguiente:

$ rm -rv carpeta
«carpeta/archivo» borrado
directorio borrado: «carpeta/»

La versión interactiva hace algo así:

$ rm -ir carpeta
rm: ¿descender al directorio «carpeta/»? (s/n) s
rm: ¿borrar el fichero regular «carpeta/archivo»? (s/n) s
rm: ¿borrar el directorio «carpeta/»? (s/n) s

Hasta aquí el briconsejo de hoy. ¿Qué trucos usáis vosotros para borrar? Comentadme debajo para que aprendamos todos 🙂

Referencias

Man de rm

Lo que he aprendido: limpiar un repo

Leyendo por ahí como es mi costumbre me he encontrado con un par de trucos de git para hacer limpieza en nuestro repo. La limpieza en cuestión tiene dos partes: eliminar los archivos que hemos creado nosotros pero que no queremos tener bajo control y que el propio git adecente sus historias.

Quitar nuestras mierdas

Para eliminar de un plumazo todos los archivos a los que no estemos haciendo un seguimiento simplemente hacemos:

git clean -f

La -f viene de force, nos obliga a escribirlo si queremos que borre, es precavido él.

Este comando tiene varias opciones interesantes:

  • -d elimina también las carpetas
  • -i inicia el modo interactivo
  • -n no elimina de verdad pero vemos una lista de archivos que eliminará.

Podemos usarlo en combinación con git reset --hard para devolver el repo al estado en el que estaba justo tras el último commit. Otra aplicación interesante es cargarnos los archivos auxiliares que aparecen al compilar algo, es especialmente útil si los tenemos en el .gitignore, así no nos saldrán al commitear y tendremos el repo bien limpio.

Yo lo uso concretamente para matar los archivos auxiliares de LaTeX, que llega un momento en que me agobian y no sé qué demonios es lo que tengo que modificar. Mi .gitignore en un proyecto latexiano suele tener esta pinta:

# Ignorar archivos auxiliares de Latex

! *.tex
! Contenido/
! Figuras/

De esta manera, si me organizo en condiciones solo tengo bajo control los archivos necesarios y puedo destruir el resto con git clean.

Adecentar las cosas de git

Aparte de borrar nuestras basuras, git también es capaz de hacer limpieza sobre sus archivos. Para ello tenemos este simpático comando:

git gc

Sirve para que git gestione mejor el espacio y quite las referencias que ya no sirven, por ejemplo. Podemos ejecutarlo con la opción --auto para que actúe solo si es necesario. No os puedo decir en detalle qué hace ya que git es una cosa muy loca, pero me parece un comando a tener en la recámara, sobre todo en los proyectos grandes o con archivos binarios (como los pdfs).

Nada más por hoy, ¿qué trucos de git usáis vosotros, gentes del Internet? Contadme para que aprenda 🙂

Referencias

Man de git clean

Man de git gc

Undoing Changes en el tuto de Atlassian

Is there a way to clean up git? en StackOverflow

git gc: cleaning up after yourself git-fu

Git Tip of the Week: GC and Pruning


Bailando en la cocina:

Lo que aprendido: destacar términos de ecuaciones en LaTeX

Hoy en los trucos rápidos de LaTeX tenemos maneras de destacar términos de una ecuación. Esto es especialmente interesante cuando estamos explicando el significado de los diferentes términos de determinada ecuación o queremos remarcar una ecuación especialmente interesante.

Cajas de colores con tcolorbox

Vuelve nuestro viejo amigo tcolorbox para ayudarnos a pintar cajas multicolores en las ecuaciones. Necesitamos antes de nada cargar la biblioteca theorem que carga a su vez el paquete amsmath:

\usepackage{tcolorbox}
\tcbuselibrary{theorems}

Ahora tenemos disponibles los comandos \tcboxmath, que nos dibuja una caja alrededor de una ecuación o uno de sus términos, y \tcbhighmath, un caso especial del anterior que depende del contexto. Estos dos comandos se utilizan igual que otras cajas que hemos visto anteriormente con la única diferencia que van dentro de un entorno para escribir ecuaciones:

\begin{equation}
 a x^2 + bx + c = 0 \rightarrow 
\tcboxmath[colback=magenta!25!white,colframe=magenta, title=Solución]
{x = \frac{-b\pm\sqrt{b^2-4ac}}{2a}}  
\end{equation}

Nos daría este resultado, terriblemente apropiado para poner en un documento científico ❤ :

eqSol

Seguir leyendo →

Lo que he aprendido: el comando find

El comando find me lía. Es así. Así que después de un comentario explicativo de mi hermano he decidido ganarle y aprender a usarlo para no tener que usar locate todo el rato.

Suelo buscar así:

sudo updatedb
locate PATRÓN

Donde PATRÓN es el nombre de lo que quiero encontrar, generalmente usando comodines.

Usando find para hacer lo mismo tendría que escribir:

find LUGAR -name PATRÓN

Seguir leyendo →

Lo que he aprendido: wrapfig

Hoy traigo un truco rápido de LaTeX. Madre mía, siempre hablo de LaTeX últimamente, echadme la bronca maldita sea. En fin, que he descubierto el paquete wrapfig que sirve, como su nombre indica, para rodear las imágenes con texto.

Así funciona:

\begin{wrapfigure}[NÚMERO LÍNEAS]{POSICIÓN}[OVERHANG]{ANCHO}
% Insertar imagen
\end{wrapfigure}
  • NÚMERO DE LÍNEAS es un parámetro opcional que indica el número de líneas de texto que irán en paralelo a la imagen.
  • POSICIÓN indica la posición de la figura respecto al texto, puede tomar los valores l (left), r (right), i (inside, cerca de la unión en los documentos a dos páginas) y o (outside, cerca del borde en los documentos a dos páginas). Todas estos valores tienen versiones en mayúsculas que permiten a la figura flotar, las minúsculas son equivalente a la opción H para las figuras de toda la vida.
  • OVERHANG es un parámetro opcional que indica cuanto margen puede invadir la figura. Por defecto este valor es cero.
  • ANCHO es el ancho del hueco que hay que reservar para meter la figura.

También tiene un entorno equivalente para tablas, wraptable. Hay que tener cuidado porque las figuras y las tablas creadas así no son objetos flotantes como los de costumbre y eso puede dar lugar a cosas raras, pero por lo demás va bastante bien.

He fusionado esta funcionalidad recién aprendida con nuestros viejos conocidos blindtext y tcolorbox para crear este cuadrado con imagen. A ver si sabéis para qué quiero usarlo 😀

colorbox

Seguir leyendo →

Lo que he aprendido: una manera salvaje de actualizar paquetes de LaTeX

Hoy os voy a contar un truco de esos que no hay que usar pero que a mí me encantan. Esto viene de un bug de titlesec que desgraciaba los número de sección y que se solucionaba en la siguiente versión del paquete. Los que usáis tlmgr me diréis que actualizar un paquete es de lo más fácil, pero no lo es tanto cuando dependes de los paquetes viejunos de tu distro linuxera. En fin, ¡ahí va el truco!

Primero localizamos el paquete en cuestión, en este caso titlesec:

ondiz@slimbook101:~$ locate titlesec.sty
/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty

Uso locate porque find me lía, soy así de monger.

Ahora podríamos ir a la carpeta y cambiar su contenido por lo que hay en CTAN para la versión más moderna, pero como solo necesitamos el nuevo sty podemos descargarlo directamente en esa carpeta usando wget:

sudo wget http://mirrors.ctan.org/macros/latex/contrib/titlesec/titlesec.sty -O /usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty

¡Hala! ¡Problema con la versión del paquete solucionada! Evidentemente esta no es la manera de actualizar todos los paquetes, pero nos ayuda en esos casos de desesperación en los que tenemos que acabar algo ya y todo nos va mal.


Suena en mi casa: