Feeds:
Entradas
Comentarios

Posts Tagged ‘trucos’

En los días que he estado fuera, ha debido de lanzarse oficialmente Ubuntu 12.04, pues mi ordenador me pidió actualizar al encenderlo.

Si usáis Gnome Shell (personalmente, Unity no me gusta nada), con la actualización a la versión 3.4 se pierden una vez más los botones de minimizar y maximizar. El viejo truco de usar gconf-editor para cambiar el layout de los botones en metacity ya no funciona, siendo necesario usar dconf-editor para acceder al valor button-layout en la clave org.gnome.shell.overrides, y establecer el valor deseado. Por ejemplo, “:minimize,maximize,close“.

Cambiar botones de Gnome Shell con dconf-editor

Cambiar botones de Gnome Shell con dconf-editor

Anuncios

Read Full Post »

Aún cuando el desarrollo de complejos proyectos, a día de hoy, no se concibe sin la utilización de un entorno de desarrollo integrado (IDE); en ocasiones puede resultar interesante ejecutar estos proyectos desde un entorno de consola.

En primer lugar, eliminar la carga que supone la ejecución del propio IDE acelera el proceso y reduce el consumo de recursos. Además, se puede integrar el flujo de ejecución de los programas dentro de algún tipo de script, lo cual puede llegar a resultar muy útil.

Para ejecutar un proyecto Java compilado con Maven, simplemente hay que ejecutar la siguiente orden, desde el directorio que contiene el fichero “pom.xml“:

mvn exec:java -Dexec.mainClass=”com.domain.project.Class”

Para añadir parámetros a la ejecución, se usará además el siguiente modificador:

-Dexec.args=”argumento1 argumento2 argumento 3″

También es posible especificar un classpath específico:

-Dexec.classpathScope=runtime

Para conocer todas las posibilidades de ejecución de Maven desde una terminal, sólo hay que ejecutar la siguiente orden:

mvn exec:help -Ddetail=true -Dgoal=java

Read Full Post »

Curioseando por ahí (bueno vale, estaba buscando algo en concreto :P) encontré esta página:

Hidden Features on …

En ella, se enlazan varios debates de stackoverflow, en los que gente con experiencia en distintos lenguajes, APIs o entornos de desarrollo cuentan trucos curiosos y muy interesantes. Si desarrolláis en algún lenguaje o entorno concreto, no dejéis de echarle un ojo al mismo, porque seguramente os sorprenderéis bastante.

Porque, en el fondo, a todos nos encanta aderezar el código con algún comentario que rece “hack“. :-P

Read Full Post »

Al arrancar gdb y engancharlo a un proceso en ejecución, éste carga automáticamente todos los símbolos. Para ciertas librerías, estos símbolos pueden llegar a ocupar una cantidad indecente de memoria.

Para evitar este comportamiento, debemos añadir la siguiente línea al fichero “$HOME/.gdbinit“:

set auto-solib-add off

Read Full Post »

Creía que ya había puesto esto por aquí, pero acabo de comprobar que no era así.

Salvo que tengáis una pantalla muy pequeña (tipo miniportátil), las “overlay scrollbars” de Ubuntu son más un estorbo que otra cosa. Para eliminarlas, simplemente hay que ejecutar la siguiente orden:

ramiro@cormanthor:~$ sudo apt-get remove overlay-scrollbar liboverlay-scrollbar-0.1-0

Pegar una paliza a su inventor es opcional.

Read Full Post »

Aunque se trate de algo muy básico, siempre me sorprende la cantidad de gente que no conoce el modo de depuración de bash.

Principalmente, este modo se habilita con el modificador “-x“, aunque suele combinarse con el modificador “-v” de verbose. Lo normal, para depurar un script entero, sería ejecutar éste con los citados modificadores:

ramiro@cormanthor:~$ bash -xv prueba.sh

Para scripts muy largos, probablemente sea más sencillo habilitarlo sólo para ciertas secciones del código, incluyendo la orden “set -xv” antes de la sección a depurar, y la orden “set +xv” después.

Aún así, por supuesto, siempre nos quedará la depuración mediante impresión masiva de variables… que al final es la más utilizada. :-D

Read Full Post »

Si queréis estar seguros de que la sincronización de NTP de vuestro sistema está funcionando, sólo tenéis que acudir a la orden ntpq (NTP query).

Mediante este programa, podemos enviar distintas consultas (queries) al servicio NTP. En el caso de consultas simples, y para evitar tener que abrir el prompt del programa y escribir una orden, podemos pasar ésta como parámetro con el modificador “-c”.

Así, la comprobación del estado de los servidores (peers) se consulta con la siguiente orden:

ramiro@cormanthor:~$ ntpq -c peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+li153-120.membe 129.69.1.153     2 u  333 1024  377   68.526   -1.562   4.262
*ntp1.exa-networ 195.66.241.10    2 u  705 1024  377   70.418    1.283   1.273
+ntp3.0x00.lv    213.251.128.249  2 u  159 1024  377  116.340    1.721   0.841
-ns2.novatelbg.n 193.204.114.232  2 u  992 1024  377  108.726    6.036   0.524
-europium.canoni 193.79.237.14    2 u  882 1024  377   63.975   -3.908   0.218
ramiro@cormanthor:~$

Esta orden, muy utilizada, sería equivalente a “ntpq -p“, como se puede constatar en el manual. Para cada línea del resultado, encontramos la siguiente información:

  • Palabra de estado (peer status word): indica si se trata de un peer válido (*), si se ha incluido por el algoritmo de inclusión (+), si se ha descartado por el algoritmo de cluster (-), etc.
  • Sistema remoto.
  • ID de asociación o kiss code.
  • Estrato: cuanto menor sea el número, más cerca estaremos de la fuente de tiempo.
  • Tipo: unicast (u), broadcast (b), local (l)…
  • Tiempo desde la recepción del último paquete.
  • Intervalo de muestreo.
  • Registro de alcance (en octal).
  • Retraso de la comunicación (roundtrip delay, que le llaman en redes).
  • Offset del servidor con respecto a nosotros.
  • Jitter, como se define en la especificación de NTP.

Como resumen, si algún servidor se encuentra con palabra de estado asterisco (*) o suma (+), tendremos sincronización. Y, como norma general, cuanto más bajo sea el número del estrato, mejor situación tendremos con respecto al servidor en cuestión.

Read Full Post »

Older Posts »

A %d blogueros les gusta esto: