Como editar archivos remotos con un editor local en Ubuntu
Normalmente cuando se esta desarrollando una aplicación se usa algún repositorio de codigo como Subversion y descargamos el código a nuestra PC local, modificamos/agregamos algo y “subimos” los cambios realizados usando lo que llamamos “commit”. Eso en la mayoría de los casos, pero en otros surge la necesidad de editar los archivos en el servidor remoto, como la mayoría que entienda de Linux sabrá que se puede editar con Vi u otro editor por consola, sin embargo también es posible editar dichos archivos remotos con nuestro editor local preferido como Gedit, basta con montar nuestro directorio remoto en una carpeta local de nuestra pc.
Esto se logra usando SSHFS (SSH Filesystem or Secure SHell Filesystem) que nos permite montar un sistema de archivos remoto a nuestra PC, lo que hay que hacer es lo siguiente.
-
Obviamente si no lo tienes instalado, debes instalarlo, en Ubuntu es muy fácil,
~$ sudo apt-get install sshfs -
Crear la carpeta donde montaras el sistema de archivos.
en este caso he creado una carpeta “mount” en mi directorio local /home/joselo/~$ mkdir /home/joselo/mount -
Finalmente montar el directorio remoto vía sshfs.
~$ sshfs usuario@maquinaremota:/directorio /home/joselo/mount -o allow_other
Eso es todo, ahora puedes abrir/editar/crear archivos desde cualquier editor sobre ese directorio de manera transparente, muy sencillo pero muy útil.
Renovando...
Ya han pasado 2 meses desde mi último post bueno algo hay que escribir no!, en esta ocasión voy comentar algunos libros que ya tengo en mis manos para renovarme en todo lo concerniente al mundo de Ruby on Rails he descuidado un poco algunos aspectos y creo que ya es hora de actualizarse, los libros a los que hago referencia son:
Agile Web Development with Rails, Third Edition
Este libro es super bueno es el primero que lei para introducirme en el mundo de Rails, esta es la 3ra. edición voy a empezar por este.
Deploying Rails Applications: A Step-by-Step Guide
Según el contenido que vi esta muy bueno, cubre gran parte de un buen “Deployment” de aplicaciones Rails.
Este último libro cubre aquellas “recetas” que no pueden faltar cuando se cocina una aplicación :) muy buen libro de referencia de cosas puntuales (Esta edición cubre Rails 2).
Todos los libros se pueden adquirir en PragProg.
Ahora habrá que hacer un tiempo para empezar a leer y a sobre todo ha hacer los ejemplos
Al paso cambie el promt de la terminal de Ubuntu GNU/Linux
Recién hace una semana instale la nueva versión de Ubuntu y va muy bien, después de cada versión de GNU/Linux que he instalado en toda mi vida lo que hago es cambiar el Promt de la Terminal de comandos, no me gusta el formato que normalmente trae, así que, sin largas al asunto este pequeño post indico como cambiar el Promt a la manera mas simple que se pueda.
1) Este es un pantallazo del formato original del promt que normalmente incluyen las versiones de Ubuntu.

2) Modificar el archivo ~/.bashrc que esta en tu “Home” oculto, lo puede editar con el Vim así:
vim ~/.bashrc
3) Lo siguiente es agregar el formato del Promt que se desee ( en mi caso voy a usar simplemente el símbolo ” $ ” ) al final del archivo agregando la siguiente linea.
PS1="\w\$
el archivo debería verse así:

4) Guarda el archivo y cierra la terminal, el resultado me quedo asi:

Es importante decir que hay un montón de formas de personalizar el Promt de una terminal acá un enlace un poco más completo.
La verdad que he escrito este post nada más para acordarme como hacerlo por si-acaso me traicione la memoria :) pero si a alguien le sirve, en buena hora.
Gmate ahora si Gedit como Textmate para GNU/Linux 1
Definitivamente me he quedado impresionado con este proyecto en alojado en Git. Si alguna vez yo intente acercar Gedit lo más parecido a Textmate, el sueño se cumple con este proyecto llamado Gmate esta buenisimo incluye todos los plugins necesarios y casi todos los temas de Textmate, no voy a describir todo lo que tiene mejor visiten el proyecto y mírenlo por ustedes mismo. Ha y con el nuevo Gedit que vienen en el nuevo Ubuntu 9.04 va de maravilla.
Algo que puedo acotar es que me gustaron los temas que incluye sin embargo no me agrado el echo de que no se resalte el codigo ERB o codigo ruby embebido en los archivos html.erb, pero esto se resuelve muy fácil simplemente haz lo siguiente:
1) Edita el archivo /usr/share/gtksourceview-2.0/language-specs/rhtml.lang
sudo vim /usr/share/gtksourceview-2.0/language-specs/rhtml.lang
Agrega y edita las siguientes lineas, de tal modo que quede asi:
2) Agrega el estilo que tendrá el código ruby (ERB) al tema que tu prefieras, los temas una vez instalados siguiendo la guía se encuentran en el directorio:
~/.gnome2/gedit/styles/
A mi particularmente me gusto el tema de Django. Para editar el estilo edita el archivo de este tema asi:
vim ~/.gnome2/gedit/styles/Django.xml
y agrega el siguiente estilo de tal modo que te quede así:
3) Una vez realizado este paso cierra y abre nuevamente el Gedit y un ejemplo de como debería verse el resaltado de codigo ERB en un archivo RHTML:
Hay que decir que al instalar este proyecto se activan una serie de plugins en Gedit si no estas conforme bueno tendras que ir a el menú: Editar > Preferencias > Tab Complementos y activar los que tu desees.
Collabtive una buena alternativa a Basecamp para gestion de proyectos
Me ha gustado mucho esta herramienta llamada Collabtive para gestionar proyectos en mi caso de Software aunque creo que puede planificarse lo que uno guste, entre las características que puedo destacar estan:
- Creación ilimitada de proyectos
- Lista de tareas
- Plazos
- Usuarios por Roles
- Mensajeria entre usuarios
- Upload de archivos
- Seguimiento de Tiempo (Time Tracking)
- Notificaciones por mail
- Reportes en distintos formatos: Excel PDF, vCard
- Calendario
- Multiidioma más de 25 idiomas incluido español
- Permite importar proyectos de Basecamp
- Themes para distintos aspectos de la interfaz gráfica
- Ha por cierto es OpenSource
Se que existen muchas herramientas de gestión de proyectos online, una de las más conocidas es Basecamp sin embargo no por el costo que implique pagar servicios online uno también se puede dar el gusto de manejar su propia herramienta, en verdad Collabtive es una excelente opción OpenSource para gestionar proyectos, la recomiendo de echo ya la estoy usando para mis proyectos.
A los tiempos escribiendo en el Blog
Ha pasado ya bastante desde mi último post, la verdad no puedo decir que no haya tenido tiempo de escribir solo que no quiero hacer un Ctrl+V de otros sitios y pegarlo en mi blog, hay muchas cosas que quiero escribir pero como aún son confidenciales no puedo dar detalles jaja la plena, en todo caso no falta mucho para liberar un proyecto en el cual trabajo y ahí si faltarán dedos para escribir.
En fin, hay muchas cosas que se vienen, ya hace 1 mes cumplí 1 año como desarrollar freelancer y no me puedo quejar. Ha sido muy gratificante en muchos sentidos y claro trabajar en tecnologías que me agradan mucho como son:
- Ruby on Rails, Php, Python.
- Metodologías ágiles como SCRUM
- Desarrollo de applicaciones usando los APIS de Facebook, Twitter, OpenSocial, y otros mas
- Ajax con Jquery, Prototype, etc.
- Y otro poco más.
Voy ha asistir al Barcamp Ecuador aun nose si exponer algo pero no quiero hablar de programación realmente no alcanzaría el tempo nose aún que ponencia daría estoy pensándolo.
Antes del Barcamp Ecuador no hay como dejar pasar el concierto de Iron Maiden, mañana viajo para ese concierto descomunal ya me imagino.
Eso por ahora, acá dejo una imagen buenaza del arte metalero
Interfaces minimalistas 1
Que es minimalista?’ la verdad no he buscando el concepto real aplicado al software, pero deduciendo un poco diria que:
Son aquellas interfaces que abstraen la usabilidad más compleja de una aplicación en tareas pequeñas y simples para una persona comun y corriente, usando fuentes de letra y colores planos dando un toque de sensilles y elegancia a la aplicacion, además de hacerla ver fácil de usar.
En palabras cortas son aquellas aplicaciones que carecen de una gran controles (botones, cajas de texto, etc.) arriba, abajo a los lados y con imágenes poco estéticas usadas como background.
Me gustan mucho este tipo de interfaces “minimalistas” como las de Google por ejemplo:
Un par de botones y una caja de texto para buscar. Claro que tiene una búsqueda avanzada pero que es lo mas común? pues… escribir algo y obtener resultados.
Otras interfaces que me gustan muchos son las que hacen los tipos de 37signals a mi criterio su esquema para distribuir las funcionalidades de la aplicación son muy simples y prácticamente lo aplican a casi todos sus productos.
Me gusto tanto esta interfaz que hace unos meses hice una maqueta de sus aplicaciones, la pueden ver acá.
Claro no esta muy elaborada y faltan algunas cosas como los mensajes de notificación, error, botones como imagen, etc. Pero en fin la comparto para que la usen o la modifiquen.
Acá el demo.
Acá el archivo comprimido.
Herramientas para gestionar MySQL 1
Había estado utilizando el mas conocido PhpAdmin y me he sentido conforme, pero gracias a este post me entere de 7 herramientas exelentes para administrar bases de datos MySQL, pero me quedo con la que esta en primer lugar, una herramienta llamada Turbodbadmin.
Aca un demo ha a por cierto esta hecha en PHP.
The Rails Way Book en mis manos
Acaba de llegarme el libro The Rails Way escrito por Obie Fernandez y publicado por Addison Wesley. No voy a resumir todo lo que trata el libro ya se ha hablado mucho del mismo solo dejo este link:
http://www.rubyinside.com/the-rails-way-by-obie-fernandez-679.html
Donde están algunas impresiones.
Y nada… decir que este libro no es para principiantes en Ruby on Rails mas bien es una guiá para hacer aplicaciones profesionales, ha tambien incluye la versión de 2.0 de Rails y trata temas como RSpec, REST, XML Active Resource y Deployment.
Claro que un libro no lo es todo, siempre toca recurrir a Google por alguna cosa :-)
Gedit como Textmate mejorado para Rails en GNU/Linux 27
Actualización (14 de Mayo de 2009) hay un proyecto excelente para transformar Gedit en un Textmate, por favor revisen este post en este mismo blog.
Saludos :)
En mi lucha por transformar Gedit en un aproximado de Textmate hace algunos días les comente que había migrado los archivos de la vieja versión Gtksourceview 1.0 a la nueva versión 2.0. Tambien comentaba un poco mi frustración acerca de no poder resaltar la sintaxis de ruby en archivos rhtml o html.erb, ya saben el código entre:
<% ...... %>
pues bien al fin lo logré, reescribi todo la extension .lang para los archivos rhtml, he aquí el resultado

y los archivo yaml

También escribí un nuevo tema para Gedit, lo que tienen que hacer es prácticamente lo mismo que mi post anterior, es decir lo siguiente:
1) Bajar todo de Aquí
2) Agregar las extensiones rhtml, html.erb, yml y rjs al final del archivo /etc/mime.types
text/x-ruby-source rhtml html.erb
text/x-eruby rjs
text/x-yaml yml
3) Actualizar las nuevas extensiones mime types
sudo update-mime-database /usr/share/mime
4) Copiar el archivo x-rhtml.xml al directorio /usr/share/mime/packages
sudo cp gmate2/mime/x-rhtml.xml /usr/share/mime/packages
5) Copiar las extensiones ruby.lang, rhtml.lang y rjs.lang al directorio /usr/share/gtksourceview-2.0/language-specs
sudo cp gmate2/langs/*.lang /usr/share/gtksourceview-2.0/language-specs
6) Actualizar los plugins
cp -R gmate2/plugins/* ~/.gnome2/gedit/plugins/
Si la carpeta ~/.gnome2/gedit/plugins no existe hay que crearla
7) Copiar los snippets (recortes)
cp -R gmate2/snippets/* ~/.gnome2/gedit/snippets/
Si la carpeta ~/.gnome2/gedit/snippets no existe hay que crearla
8) Copiar el tema de colores
cp gmate2/styles/Rubycius.xml ~/.gnome2/gedit/styles/
Si la carpeta ~/.gnome2/gedit/styles no existe hay que crearla
9) Borra el directorio de tu sesión temporal de gnome
rm -Rf /tmp/gconfd-joselo
Donde “joselo” es tu nombre de usuario del sistema
10) Abre el Gedit y en el menú: Editar > Preferencias, tab “Complementos” realiza lo siguiente
Activar los plugins:
- Gemini (Que auto completa paréntesis, comillas, corchetes, etc)
- Panel del examinador de archivos (Menú: Ver > Panel Lateral)
- Recortes (Snippets)
- Snap Open (Con la combinación de las teclas CTRL+ALT+O se abre un dialogo donde puedes buscar los archivos que quieras)
Hay que desactiva el plugin de “completar paréntesis” que ya viene en Gedit, ya que puede dar conflictos con otro plugin (Gemini)
Obviamente puedes activar los plugins que desees pero esos son los básicos y mas funcionales a mi criterio
11) Seleccionar el tema “Rubycius” en el menu: Editar > Preferencias, tab “Tipografias y Colores”
12) Por ultimo, si lo deseas en el menu: Editar > Preferencias, tab “Ver” puedes: Mostrar números de línea, Highlight current line y Mostrar margen derecho.
La fuente de letra que yo usos es Monaco de 10
También si por alguna razón al abrir archivos con extensión .rhtml, .html.erb, .yml o .rjs la sintaxis no resalta es necesario correr el comando:
sudo update-mime-database /usr/share/mime
o en el por de los casos seleccionar el resaltado en el menú: Ver > Modo Resaltado.
Muchos diran “Pero el netbeans hace todo y mas” la verdad si.. pero que mas da a mi me gusta la simplicidad más que la cantidad, acá un vídeo del resulatado.



