I’ve installed netbeans on Ubuntu 16.04 from the official repositories.

sudo apt-get install netbeans

It opened correctly but I noticed it didn’t have all the plugins I required. First, i tried to install them from “Help | About | Plugins”. It complained about not having permission to extract/install the plugin. So, I closed netbeans and started it with root user, then it finished adding the plugins but when I tried to start it again with my regular user it wouldn’t boot.

I decided to remove netbeans repositorie’s version and instead download and install manually.

sudo apt-get purge netbeans

I’ve downloaded and extracted the OS independent full version of netbeans on my home directory ‘~/Apps/netbeans/8.1’ but when I tried to start it from the terminal nothing happened.

As it happens, the problem was that when I started netbeans as root it changed ownership of some files on two folders: ~/.netbeans and ~/.cache/netbeans

The solution is to delete those folders (those will be recreated when starting netbeans) and start netbeans again as a regular user.

sudo rm -rf ~/.netbeans ~/.cache/netbeans

Sources:
https://bbs.archlinux.org/viewtopic.php?id=164323
http://wiki.netbeans.org/FaqLogMessagesFile

Anuncios

Aunque ya no es necesario utilizar un servidor de aplicaciones como glassfish en nuestras aplicaciones, áun tenemos algunas que se ejecutan en uno.

Ahora me tocó instalar un servidor de aplicaciones desde cero. Entonces lo primero que hice fue instalar Ubuntu Server.
Una vez instalado, descargué Glassfish (Web Profile) con el comando:

wget http://download.java.net/glassfish/4.1/release/glassfish-4.1-web.zip -O ~/glassfish-4.1-web.zip

Para descomprimir el archivo, necesitamos primero instalar la herramienta unzip mediante el comando:

sudo apt-get install unzip

Para ejecutar el servidor vamos a necesitar, también, instalar java

sudo apt-get install openjdk-7-jdk

una vez instalados, hay que extraer los archivos de glassfish en alguna carpeta (yo elegí /opt)

cd /opt/
unzip ~/glassfish-4.1-web.zip

vamos a cambiar el propietario y el grupo de la carpeta por el nuestro

sudo chown usuario:grupo -R /opt/glassfish4

vamos a agregar temporalmente la carpeta de glassfish a nuestro PATH (también puedes hacerlo permanente) con el siguiente comando

export PATH=/opt/glassfish4/bin:$PATH

y vamos a iniciar el servidor de la siguiente manera

asadmin start-domain

si todo va bien, veremos el mensaje

Successfully started the domain : domain1
domain  Location: /opt/glassfish4/glassfish/domains/domain1
Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

Ahora hay que abrir en un navegador la ip del servidor en el puerto 4848. Dado que Ubuntu Server no tiene instalado por defecto una interfaz gráfica, tenemos que hacerlo desde otra computadora.
Por default Ubuntu server bloquea todos los puertos. Entonces tenemos que abrir el puerto 4848 para poder acceder a la consola de glassfish.

sudo ufw enable
sudo ufw allow 4848

Nota: Si tenías instalado el servidor ssh tienes que abrir nuevamente el puerto mediante el comando sudo ufw allow 22. Si no, puedes instalarlo con el comando

sudo apt-get install openssh-server

Al ingresar a la url, por ejemplo http://glassfish-server:4848 o http://192.168.0.15:4848

nos va a mostrar un error que dice que debemos activar la administración segura para poder acceder a la consola de forma remota

Configuration Error
Secure Admin must be enabled to access the DAS remotely.

para activar esto debemos primero asignar una contraseña para el usuario admin

asadmin change-admin-password
asadmin restart-domain

y luego ejecutar

asadmin enable-secure-admin
asadmin restart-domain

Si sólo ejecutas el comando enable-secure-admin te mostrará el siguiente error

remote failure: At least one admin user has an empty password, which secure admin does not permit. Use the change-admin-password command or the admin console to create non-empty passwords for admin accounts.
Command enable-secure-admin failed.

Listo, ya podemos entrar a la consola y, por ejemplo, hacer el deploy de nuestra aplicación.

Fuentes:
https://glassfish.java.net/documentation.html
https://charleech.wordpress.com/2012/03/23/glassfish-version-3-1-2-secure-admin-must-be-enabled-to-access-the-das-remotely/
https://help.ubuntu.com/community/EnvironmentVariables


Uno de los grandes cambios al pasar de Linux a Mac, es sin duda, el teclado. Y con ello vienen todas las combinaciones de teclas (shortcuts) a las que estaba acostumbrado.

Intenté varias cosas como

  • Aprender los shortcuts de cada sistema operativo
  • Utilizar el keymap de OSX en ambas plataformas. Para ello busqué la forma de mapear la tecla CMD (command/meta) a la tecla Super (Windows) en Ubuntu, pero no tuve éxito.
  • Mapear distintas configuraciones de teclas para que la distribución se pareciera a la del teclado de la Mac
  • Incluso pensé en comprar un teclado Mac y utilizarlo en Ubuntu, pero al parecer tampoco es del todo transparente.

Si utilizas IntelliJ Idea lo mejor que puedes hacer es utilizar el mismo “Keymap” en las 2 plataformas. Decidí utilizar el de “Eclipse” debido a que previamente usaba Eclipse como IDE primario y ya conocía bastantes combinaciones. Además es la que más se parece en ambos sistemas operativos.

Fuentes:
http://superuser.com/questions/246345/how-can-i-make-my-super-keys-windows-key-behave-more-like-ctrl-alt-shift-in-li
https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/
https://help.ubuntu.com/community/AppleKeyboard
http://stackoverflow.com/questions/21845209/remap-ctrl-alt-super-keys-in-ubuntu-13-10
https://www.jetbrains.com/idea/help/keyboard-shortcuts-you-cannot-miss.html

Puedes abrir una terminal desde el launcher o mediante spotlight. Si ejecutas un comando como java -version o git --version y no tienes estos programas instalados, te muestra un diálogo con la opción para descargar/instalar estas herramientas (en el caso de git te dará la opción de instalar Xcode, que de cualquier forma tendrás que instalar si vas a desarrollar aplicaciones)

Si instalaste java 7, y quieres utilizar intellij idea 13 o 14 te pide que instales la versión 6. Para utilizar java 7 con intellij idea modifica el archivo Info.plist. Para editarlo abre en Finder la carpeta de Aplicaciones y da clic derecho en intellij idea y selecciona “Show package contents” y busca el archivo mencionado. Cambia el valor de la llave JVMOptions->JVMVersion de 1.6* a 1.7*

http://stackoverflow.com/questions/13019199/how-do-i-run-idea-intellij-on-mac-os-x-with-jdk-7
http://blog.jetbrains.com/idea/2013/09/jdk7_compatibility/

Para facilitar la instalación de otras herramientas instala homebrew, puedes leer más acerca de homebrew aquí
Una vez instalado brew puedes instalar nodejs

Instalar postgresql

Para autocompletar los comandos en la terminal (presionando tab tab) es necesario instalar ‘bash-completion’

Para ejecutar scripts de inicio, configurar variables de ambiente, incluir rutas en el $PATH utiliza el archivo ~/.bash_profile. Si no existe crealo con el comando touch ~/.bash_profile y editalo con el comando open -a TextEdit ~/.bash_profile

http://superuser.com/questions/409501/edit-bash-profile-in-os-x

Lo que no me gustó

  • La distribución del teclado. No existe por ejemplo la tecla DEL, tienes que presionar fn + BACKSPACE para borrar el carácter delante del cursor. No encuentras la tilde ´~´ en el teclado (muy útil para hacer referencia al directorio ‘home’ del usuario en una terminal) tienes que presionar alt + ñ. No existen las teclas de inicio o fin (utiliza cmd + flecha_izuierda/flecha_derecha). Tampoco existen avanzar o retroceder página, utiliza cmd + flecha_arriba/flecha_abajo.
    Para seleccionar texto por palabra, en linux utilizaba ctrl + flecha en mac utilizas alt + flecha

http://superuser.com/questions/406356/how-to-make-a-tilde-on-a-spanish-keyboard-set-to-english

  • No asocia automáticamente la configuración de la red inalámbrica al punto de acceso, es decir, si tu configuración (IP, Proxy, DNS, Gateway, etc.) difiere entre la red inalámbrica de tu trabajo y la de tu casa, tienes que utilizar “Locations” (Ubicaciones) lo cual apesta porque tienes que seleccionar tu ubicación cada vez que, bueno, cambias de ubicación. En linux, esto es automático.

http://superuser.com/questions/341182/mac-network-locations-automatic-selection-by-available-network

  • No tiene un cliente por default para descargar torrents, tienes que instalar transmission. Para descargar un torrent mediante ‘magnet links’ en transmission, solo copia el enlace y pega cmd + v en la ventana de transmission.

  • En finder no aparece por ningún lado mi directorio “home”, puedes navegar a el presionando shift + cmd + h o en el menú “go -> home” y luego agregarlo a los favoritos en el sidebar presionando alt + cmd + t

Es conveniente mencionar la relación que presenta el uso de las tecnologías de
información y comunicación (TIC) con la música y los jóvenes. En la actualidad, los jóvenes
emplean diariamente las TIC para incrementar conocimiento, buscar información, relacionarse
con otras personas o para divertirse. En la música, las TIC influyen en la manera en que ésta se
crea, se produce y se difunde; éstas también han generado cambios que ofrecen gran cantidad de
opciones musicales, desde la composición hasta el consumo de la música, y que gracias a los
medios de comunicación han permitido la distribución musical masiva, inmediata y global

http://musica.rediris.es/leeme/revista/terrazasetal13.pdf

En la página oficial de spotify nos dice como debemos instalar el cliente de spotify en linux

  1. Agrega esta línea a tu lista de depósitos al # editar tu /etc/apt/sources.list

    deb http://repository.spotify.com stable non-free

  2. Si quieres verificar los paquetes descargados,
    necesitarás agregar nuestra clave pública

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59

  3. Ejecuta la aplicación - obtén la actualización

    sudo apt-get update

  4. ¡Instala Spotify!

    sudo apt-get install spotify-client

Recientemente quise instalarlo y me arrojó errores debido a que no localizaba el servidor repository.spotify.com

Al parecer esto se debe a algún problema con sus servidores DNS, para instalarlo debes utilizar http://repository-origin.spotify.com en vez de http://repository.spotify.com

Fuentes:
https://www.spotify.com/mx/download/previews/
http://community.spotify.com/t5/Help-Desktop-Linux-Mac-and/Spotify-0-9-11-for-GNU-Linux/td-p/842969/page/4

Para comenzar un proyecto, de las primeras cosas que necesitamos es una base de datos. En ubuntu podemos utilizar postgresql.

Para instalar postgres basta con ejecutar el siguiente comando

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

Una vez instalado podemos conectarnos como el usuario postgres (super admin)

sudo -i -u postgres
psql

Una vez en el prompt de postgresql podemos ejecutar los siguientes comandos

\conninfo    # nos muestra información de nuestra conexión
\conn database_name    # cambiar la base de datos activa
\d    # lista los objetos de la base de datos
\dt    # lista las tablas de la base de datos
\q    # salir del prompt de postgresql

Ya fuera del prompt de postgresql podemos crear un usuario y su base de datos de la siguiente manera

createuser -D -A -P username
createdb -O username dbname

El primer comando crea un usuario sin privilegio de crear bases de datos (-D), ni agregar usuarios (-A) y nos preguntará la contraseña para el usuario (-P). El segundo comando crea la base de datos y asigna como propietario al usuario que especifiquemos.

Para conectarnos como un usuario diferente necesitamos hacerlo de la siguiente manera

psql -U username -h 127.0.0.1 database

Fuentes:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04
http://stackoverflow.com/questions/8420761/postgres-authentication-fails-when-try-to-login-with-different-unix-user
https://help.ubuntu.com/community/PostgreSQL#Managing_users_and_rights


Una vez creada tu aplicación móvil con ionic framework, lo más natural es probarla. Intenté hacerlo con un emulador pero no lo puedes ejecutar al mismo tiempo que otras máquinas virtuales. Así que decidí mejor probarlo en mi teléfono.

Para ello, primero es necesario activar el modo de depuración usb en tu teléfono. Si tienes una versión de Android igual o superior a la 4.2, ve a los ajustes del teléfono->acerca de y busca hasta el final el número de compilación (build number), toca 7 veces y se activará la opción progrmador. Regresa a los ajustes y ve a la opción de programador, activa la depuración usb.
Después, en ubuntu, crea un archivo llamado /etc/udev/rules.d/51-android.rules con el siguiente contenido, reemplazando 0bb4 por el id del proveedor de tu dispositivo, lo obtienes conectando tu teléfono y ejecutando lsusb, son los 4 carácteres antes de los dos puntos

SUBSYSTEM==”usb”, ATTR{idVendor}==”0bb4″, MODE=”0666″, GROUP=”plugdev”

guarda el archivo y agrega permisos de lectura con sudo chmod a+r /etc/udev/rules.d/51-android.rules

Desconecta y vuelve a conectar tu teléfono, te pedirá que aceptes una llave RSA para permitir el acceso de tu computadora, selecciona “aceptar siempre” y acepta. Verifica que puedes acceder a tu dispositivo ejecutando adb devices y debe aparecer en el listado.

Para probar tu aplicación en el dispositivo basta con ejecutar

ionic run android --device

Fuentes: