Para ver las variables de ambiente utiliza el comando env. Para ver el valor de una variable de ambiente en específico puedes utilizar el comando echo $VARIABLE.

Para modificar el valor de una variable de ambiente, por ejemplo el PATH, necesitas editar el archivo ~/.bash_profile. Para ello puedes utilizar cualquier editor de archivos (vi, vim, nano, pico, TextEdit, TextMate, sublime, etc).

En lo personal, prefiero utilizar un editor simple como TextEdit, para ello puedes ejecutar el siguiente comando en la terminal

open -e ~/.bash_profile

Ten en cuenta que si vas a utilizar las comillas dobles para establecer el valor del PATH, por ejemplo

export PATH="$HOME/Applications/sdk/android/tools:$HOME/Applications/sdk/android/platform-tools:$PATH"

Necesitas modificar las preferencias del teclado para que no sustituya las comillas simples por caracteres no ASCII. Para ello ve a las preferencias del teclado y en la sección “Text” desactiva la opción “use smart quotes and dashes”.

Fuentes:
http://stackoverflow.com/questions/7501678/set-environment-variables-on-mac-os-x-lion
http://apple.stackexchange.com/questions/11745/reset-your-path-variable
http://apple.stackexchange.com/questions/120486/quotes-problem-in-mavericks-or-textedit

chrome memory profiler

chrome memory profiler

Después de tener una aplicación web abierta por un tiempo prolongado, empecé a notar que esta incrementaba mucho el uso de memoria. Este problema comenzó a presentarse cuando introduje un ‘timer’ para cambiar de vistas cada cierto tiempo. Al parecer no se estaba liberando la memoria en algún lado.
Crear y desplegar vistas en backbone es algo aparentemente sencillo, pero –como ya fue analizado– realmente no lo es.

Al principio recreaba las vistas de la siguiente manera

app.Router = Backbone.Router.extend({
    routes: {
        "": "audiencias",
        "audiencias": "audiencias",
        "screensaver": "screensaver"
    },
    initialize: function(){
        this.$content = $('#content')
    },

audiencias: function(){
    app.views.audiencias = new app.views.Audiencias({model: new app.models.AudienciaCollection()})
    this.$content.html(app.views.audiencias.render().el)
},

screensaver: function(){
    app.views.screensaver = new app.views.Screensaver()
    this.$content.html(app.views.screensaver.render().el)
}
})

Para evitar recrearlas y sólo hacer un ‘render’ cada que cambiaba de vista, lo modifiqué de la siguiente manera y la fuga de memoria ya no se presentó

app.Router = Backbone.Router.extend({
    routes: {
        "": "audiencias",
        "audiencias": "audiencias",
        "screensaver": "screensaver"
    },

initialize: function(){
    this.$content = $('#content')
    app.views.audiencias = new app.views.Audiencias({model: new app.models.AudienciaCollection()})
    app.views.screensaver = new app.views.Screensaver()
},

audiencias: function(){
    app.views.audiencias.setElement(this.$content).render()
},

screensaver: function(){

    app.views.screensaver.setElement(this.$content).render()
}
})

Fuentes:
http://ianstormtaylor.com/rendering-views-in-backbonejs-isnt-always-simple/
http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/

Es común tener carpetas compartidas en nuestros lugares de trabajo. Para conectarte a una carpeta compartida de Windows en Ubuntu 13.10 sólo tienes que abrir el nautilus y poner en la barra de direcciones la ip o el nombre de la computadora con el recurso compartido de la siguiente manera (también puedes seleccionar el menú Files->Connect to Server)

smb://192.168.0.2/

opcionalmente el nombre de la carpeta

smb://192.168.0.2/Compartido

Si necesitas conectarte como un usuario distinto al tuyo, basta con agregar en la url el nombre del usuario

smb://jhondoe@192.168.0.2/Compartido

si seleccionas guardar la contraseña para la conexión y después la quieres eliminar, puedes administrarla a través de la aplicación ‘passwords and keys’ (seahorse)

JDeveloper 11g – Changing default JVM

Cuando instalas JDeveloper 11g, este incluye el JDK (necesario para ejecutar la aplicación). El problema es que incluye una versión de 32bits. Si tu sistema operativo es a 64 bits -Ubuntu 12.04 por ejemplo- probablemente te aparezca un error como el siguiente

libX11.so.6: cannot open shared object file: No such file or directory

Para resolverlo hay que instalar un JDK a 64 bits y configurarlo en el archivo jdeveloper/jdev/jdev.conf

SetJavaHome /usr/lib/jvm/java-6-openjdk-amd64/

Ya que en mi caso utilizo OpenJDK.

via OTN Discussion Forums : Changing default JVM in Jdeveloper 11 ….

Si necesitas modificar el query de un dataset, en tiempo de ejecución, por cualquier motivo. Puedes utilizar la sección “Property Binding” en el editor o modificar la consulta en el evento “beforeOpen” del DataSet. Recuerda que el código que utilices en BIRT es javascript.

Por ejemplo, podemos utilizar un esquema dinámico de la siguiente forma


var query="SELECT FRECEPCION  FROM @ESQUEMA.DOCUMENTOS WHERE ID = ?";

query.replace(/@ESQUEMA/g,params["Esquema"].value);

El esquema lo recibimos como parámetro. En la función “replace” utilizamos la forma global para que reemplace todas las ocurrencias de “@ESQUEMA”, de lo contrario sólo sustituiría la primera.

Fuentes:
http://vhspiceros.blogspot.mx/2008/12/replace-all-en-javascript.html
http://www.w3schools.com/jsref/jsref_replace.asp

Para renombrar, primero cierra el proyecto en Qt Creator. Abre una terminal y ve al directorio donde esta el archivo con extensión ‘.pro’ y renombralo.

mv miproyecto.pro elproyecto.pro

Vuelve a abrirlo en Qt Creator y ya debería aparecerte con el nuevo nombre 😀

Fuentes:
http://www.qtcentre.org/threads/26845-Copy-Rename-project 

Hace poco instale la última versión de Ubuntu, la 11.10. Pues después de usarla por casi un mes ya no pude aguantar más, es demasiado lenta como para trabajar sin molestarme. Entonces decidí regresar a la versión 10.10 que recordaba tenía un rendimiento fabuloso. Después de volver a instalar la versión “vieja” fue sorprendente, me cambio la cara al ver que volvía a iniciar rapidísimo mi laptop y se apagaba en no más de 5 segundos, volví a utilizar una máquina virtual al mismo tiempo que compilaba algún proyecto, en fin, una maravilla.

Pero hay ciertas cosas que debes tomar en cuenta al regresar a una versión anterior de Ubuntu, la primera que noté es que después de haber instalado todas las actualizaciones que me notificaba, seguía con la versión 3.6.23 de Firefox. No lo podía creer, actualmente están por liberar la versión 8 de este excelente navegador. La última versión de Digikam no estaba disponible y supongo que muchas otras tampoco.

Desafortunadamente tendrás que buscar formas alternativas de instalar las últimas versiones del software que te interese (y yo que ya me había acostumbrado a obtener el software desde el Ubuntu Software Center con tan solo seleccionarlo).

Para instalar las últimas versiones de Firefox agrega el repositorio del mozilla-team mediante el siguiente comando

sudo add-apt-repository ppa:mozillateam/firefox-stable && sudo apt-get update

luego abre el Update Manager y te notificará que hay una actualización disponible para firefox

Otro repositorio PPA que contiene software muy interesante es el de Philip Johnsson.

Pues creo que tendré que volver a instalar el software de la forma antigua: configure, make, make install 😦

Fuentes:

http://ubuntuperonista.blogspot.com/2011/09/como-actualizo-firefox-602-en-ubuntu.html
https://launchpad.net/~philip5/+archive/extra