Monday, November 21, 2011

Ignorar un directorio de SVN en Ubuntu

Si se han preguntado cómo ignorar un directorio de SVN en Ubuntu. Este

svn propedit svn:ignore path/to/dir
o


svn propedit svn:ignore . si estan en la carpeta
se abre un archivo y se debe escribir * para ignorar todo o bien se puede escribir el nombre de un archivo que se desee ignorar.


Bookmark and Share

Saturday, November 19, 2011

Could not find a JavaScript runtime. al correr rake db:create

Si se encontraron con el error

Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

al correr rake db:create

Lo pueden solucionar al agregar dos lineas a su Gemfile:


gem 'execjs'
gem 'therubyracer'

Y luego corriendo:

bundle install


Bookmark and Share

Wednesday, November 9, 2011

RoR: Tablas y Columnas

Trabajando con Ruby on Rails, muchas veces olvido las tablas y columnas que tengo creadas en mi base de datos. Esto se puede solucionar inspeccionando la base de datos desde la consola de rails.

Para abrir la consola en Ubuntu ejecuta desde la linea de comando:

rails console

luego para ver las tablas creadas puedes correr el comando:

ActiveRecord::Base.connection.tables
Y para ver las columnas de una tabla puede correr:

ActiveRecord::Base.connection.columns("nombre_tabla").map{|c| [c.name, c.type]}

donde el .map{..} se usa para que puedas ver las columnas de una forma más ordenada, ya que de otra forma el comando te retorna los objectos de las colmnas en lugar de solo el nombre y el tipo.


Bookmark and Share
-->

Tuesday, November 1, 2011

Error: ActionView::Template::Error (application.css isn't precompiled):

Al tratar de visualizar una página de mi aplicación de rails me apareció el siguiente error:


ActionView::Template::Error (application.css isn't precompiled):
    2: <html>
    3: <head>
    4:   <title>MyApp</title>
    5:   <%= stylesheet_link_tag    "application" %>
    6:   <%= javascript_include_tag "application" %>
    7:   <%= csrf_meta_tags %>
    8: </head>
  app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__312531564_69848393197180'
  app/controllers/users_controller.rb:7:in `index'

Por defecto Rails asume que se tienen los archivos en producción precompilados.

Para solucionar este problema se debe configurar config.assets.compile a true

De esta manera de compilarán los archivos faltantes que sean necesarios.

Este cambio se debe hacer en el archivo production.rb ubicado en config/environments.

La solución la encontré aquí

Bookmark and Share

Saturday, October 29, 2011

Borrar archivos faltantes de svn

Si por casualidad borraron archivos de manera manual de una carpeta que tienen con svn. Este programa los va a marcar como faltantes. Para eliminar todos los archivos faltantes se debe correr el siguiente comando en su terminal:

svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' )

Luego se corre un commit (svn ci -m "un mesaje") y se borrarán esos archivos de su repositorio

Bookmark and Share

Wednesday, October 26, 2011

iTunes playlists y DoubleTwist

Recientemente bajé la aplicación DoubleTwist para poder sincronizar la música de mi computador con mi celular Android.

En cuanto inicié la aplicación, DoubleTwist reconoció toda la música en mi iTunes, pero no apareció ninguna lista.

Para importar las playlist a iTunes hay que hacer click en el botón Playlist Setup (bajo Playlist, en la barra del costado izquierdo). Ahí se abrirá una pantalla y te preguntará qué playlist deseas importar: iTunes, WMP, o ambos. Haces clic en importar y listo!

Un detalle importante, si haces cambios en tu biblioteca de iTunes los éstos no se verán reflejados en DoubleTwist. Para ello es necesario eliminar la carpeta /Library/Application Support/doubleTwist/Libraries en Mac o C:\Users\%UserName%\AppData\Local\doubleTwist Corporation\doubleTwist desktop\Data\%long_hexadecimal_number_here% en Windows y se volverá a realizar el escaneo de la biblioteca cuando vuelvas a iniciar la aplicación y se re-importará la información de iTunes y iPhoto.

Bookmark and Share

missing org.eclipse.wst.sse.core 0.0.0

Es posible que al instalar el ADT de Android en Eclipse, les aparezca el error donde indica que falta el componente org.eclipse.wst.sse.core 0.0.0

De este link encontré los siguientes pasos a seguir para solucionar el problema, (se los dejo en inglés):


Eclipse 3.6 (Helios)

  1. Select Help > Install New Software...
  2. Click the link for Available Software Sites.
  3. Ensure there is an update site named Helios. If this is not present, click Add... and enterhttp://download.eclipse.org/releases/helios for the Location.



Una vez realizado esto, vayan a Help > Install New Software... y vuelvan a intentar con el ADT, fíjense que deben tener marcada la casilla "Contact all update sites during the install to find required software"

Bookmark and Share

Tuesday, October 25, 2011

Crear xml personalizado en Rails

En el controlador probablemente tienen lo siguiente:

def mi_accion
    @algos = Algo.all

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @algos }
    end
  end

El primer paso es sacar la información adicional que contiene el format.xml y dejarlo de esta manera:


def mi_accion
    @algos = Algo.all

    respond_to do |format|
      format.html # index.html.erb
      format.xml
    end
  end

El segundo paso es crear un archivo nuevo en la sección Vistas (Views) con la extensión: .xml.builder
En este caso: mi_accion.xml.builder
y dentro de este archivo es donde podrán crear el xml a su gusto. Deben partir colocando xml.instruct! al inicio de su archivo. Puede tener una estructura como esta:

xml.instruct!
xml.algos do
  @algos.each do |algo|
     xml.algo
        xml.tipo algo.tipo
        xml.id algo.id
        xml.nombre algo.nombre
    end
  end
end

y generará algo como:

<algos>
  <algo>
   <tipo>0</tipo>
   <id>33</id>
   <nombre>Rafael</nombre>
  <algo>
</algos>

Recuerden siempre tener sólo un nodo raíz, de otra manera no se generará el archivo que buscan.

Bookmark and Share

Friday, October 21, 2011

Dropdown en Ruby on Rails

Los formularios generados por rails generan campos de texto o checkboxes, pero qué pasa si quiero otro tipo de input del usuario, por ejemplo un dropdown?

Es tan fácil como cambiar

<%= f.text_field :pais %>

por

<%= f.select :pais, [['Chile','CL'],['Estados Unidos','USA'],['Argentina','ARG']] %>

Espero les sirva el dato :)


Bookmark and Share

Saturday, September 3, 2011

[Rhomobile Rhodes] error: device not found

Si les sale el mensaje "error: device not found" cuando tratan de correr su aplicación en el emulador, es muy posible que no hayan instalado el SDK de Android en la carpeta adecuada. Por ejemplo si la tienen en
C:\Archivos de Programa\Android\android-sdk

Muevan la carpeta de Android/android-sdk de manera que la ruta les quede así:

C:\Android\android-sdk

Luego corran en la consola:

$ rhodes-setup

Y configuren la nueva ruta del sdk.

Ahora el problema debiese estar solucionado. Esto se debe a que se produce en error por los espacios que contiene el nombre de las carpetas que venían antes de Android.
Si usan el SDK de Android con Eclipse también tendrán que hacer un arreglito para que les corra el emulador.

Bookmark and Share

Thursday, September 1, 2011

Rhodes: "Error wrong android API version:"

Si al tratar de correr tu aplicación con Rhodes te tira el error "Error wrong android API version:" revisa los Android API's que tienes instalado desde el Android SDK and AVD Manager

Rhodes sólo soporta hasta el SDK 3.0, por lo que si cuentas con las API's 12 y/o superiores instaladas debes eliminarlas para poder correr tu aplicación.

Para eliminar basta seleccionarlas de la lista y luego hacer clic en el botón delete
O bien se puede ir a la carpeta del Android SDK, luego a la carpeta Platforms y eliminar las API's que "nos sobran".

Con eso se soluciona el problema.

Bookmark and Share

Sunday, June 26, 2011

Generar latitud y longitud a partir de una dirección en javascript

Google nos proporciona una herramienta para realizar lo que necesitamos, se llama Geocoder y se suele usar como parte del API de Google Maps

El código que nos interesa es el siguiente:

var geocoder = new google.maps.Geocoder();

var address = 'Santiago, Chile'
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {

    var latitude = results[0].geometry.location.lat();

    var  longitude = results[0].geometry.location.lng();

    alert('La longitud es: ' + longitude + ', la latitud es: ' + latitude);

    } 
}); 

Como podemos ver, necesitamos crear una variable que contenga la dirección de nuestro interés, en este caso está hardcodeada pero también se puede generar de manera dinámica. Lo importante es que la variable address tenga una dirección asignada. Luego dentro de la función de geocode se asignan los valores de nuestro interés a las variables latitude y longitude, desplegamos un mensaje de alerta para ver los valores que nos está retornando el código, este mensaje se puede sacar al ver que los valores son los adecuados.
Dentro de la misma función se puede agregar más codigo para trabajar con los valores recién obtenidos

IMPORTANTE: Para poder utilizar este código, es necesario agregar la siguiente linea a nuestro documento:

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript">

Bookmark and Share

Saturday, June 25, 2011

Fuerza un estilo CSS

Si te pasa que una propiedad de tu css se está sobrescribiendo con otra cosa hay una solución muy facil de implementar.

Se debe agregar  !important al final de aquella propiedad que se está sobreescribiendo.

Así por ejemplo, en tu CSS puedes tener lo siguiente:

a {
   color: #ffffff !important;
 }

fuerza que los links sean de ese color. Esto no siempre va a funcionar, pero en algunos casos puede ser de utilidad.


Bookmark and Share

Friday, June 17, 2011

Crear un botón con un link en Ruby on Rails

Ya conocemos la linea:

<%= link_to 'Volver', :back %>
Si queremos convertir esto en un botón en lugar de tener un simple link, basta realizar esta pequeña modificación:

<%= button_to 'Volver', :back %>

Bookmark and Share

Thursday, June 16, 2011

Solicitar confirmación de una acción en Ruby on Rails

Muchas veces necesitamos asegurarnos que el usuario realmente quiere hacer lo que está solicitando. Por ejemplo:  hacer click en un link mientras se está editando un formulario, si se dirije al otro link se perderán los cambio.

Para eso existe una simple linea de código que se agrega al link:

 :confirm => 'Seguro que desea seguir?'
Agregando esto a un link, al hacer click en el se desplegará un mensaje de alerta preguntando si está seguro de querer continuar (o cualquier texto que quieran). Si el usuario acepta, se realizará la acción del link, en caso contrario no se hará nada.

Este es un ejemplo de un link y su confirmación:

<%= link_to 'Volver', :back, :confirm => "Seguro que desea seguir?\nLos cambios no han sido guardados" %>

Ahí tenemos un link que retorna a la página anterior que visitó el usuario, esta se encuentra al final de un formulario, por lo que advertimos al usuario que si sigue se perderán todos los cambios.


Bookmark and Share

Crea un link a la página visitada previamente en Ruby on Rails

Para crear un link a la página de donde viene el usuario en Ruby on Rails, basta colocar la siguiente linea de código:

<%= link_to_function 'Volver', 'history.back()' %>
o bien:

<%= link_to_function 'Volver', :back %>

Esto es equivalente a lo que hace la linea de código:

javascript:history.back()


Bookmark and Share

Wednesday, April 27, 2011

Abre archivos .docx en versiones antiguas de Office

Un dato de ayuda pública:

Si aun utilizan versiones de Office 2003 o XP, bajen el siguiente plugin para abrir archivos creados con versiones más nuevas de Office como (2007 o 2010), los archivos .docx y similares.

El plugin lo proporciona Microsoft, les dejo el link aqui.

Bookmark and Share

Edita grub para iniciar con otro sistema operativo por defecto


Si quieren tener Windows 7 y Ubuntu 10.04 corriendo en un mismo computador es muy fácil realizar la instalación. Basta con crear las particiones pertinentes, instalar Windows 7 primero en una partición y luego Ubuntu en otra partición.
 Así, automáticamente se les instalará GRUB, un multiboot boot loader, de esta manera al encender su computador les aparecerá los dos sistemas operativos que tienen instalado y podrán escoger con cual iniciar, pero habrá uno que iniciará por defecto después de 10 segundos si no le indican lo contrario

Si quieren editar el sistema operativo que inicia por defecto deben hacer lo siguiente:

  1. Iniciar Ubuntu 10.04 (ojo que en versiones más nuevas que utilizan grub 2 esta solución no sirve)
  2. Abrir el terminal
  3. Escribir: sudo gedit /boot/grub/grub.cnf
  4. Deben ingresar su clave y luego se les abrirá un archivo que comienza con algo como "#DONT EDIT THIS FILE"
  5. Como en la 4ta linea de código, la linea 12 del archivo, dice: set default = "0", ese es el número que les interesa cambiar. Cuando inician su computador y les aparece el grub con la lista de los sistemas operativos a iniciar deben ver en qué lugar está su sistema operativo de interés. Recuerden que se empieza a contar desde 0 y no desde 1.
  6. Cambian ese número por el que necesitan, guardan el archivo y están listos. La próxima vez que inicien su computador tendrán por defecto el sistema operativo que ustedes señalaron.

Bookmark and Share

Sunday, April 17, 2011

Error de instalación de Visual Studio 2008

Si al tratar de instalar Visual Studio 2008 les aparece el siguiente error:
 error:the following component failed to install :Microsoft Visual Studio Web Authoring Component
Este error puede ser causado por Microsoft Office 2007, si lo tienes instalado, desinstalalo y vuelve a intentar con Visual Studio 2008.


Bookmark and Share



Saturday, April 16, 2011

Google talk en tu sitio web o blog

Si quieres incluir un live chat en tu sitio web y que éste sea gratis, lo puedes hacer con Google Talk chatback Badge. Sólo debes agregar un par de lineas de código html y listo! Verás algo así:


El código lo puedes sacar de aquí, es un simple copy/paste. También te permite editar lo que se muestra en letras azules en la imagen de arriba, y si quieres o no mostrar tu status.

Un detalle no menor es que este servicio no se puede usar directamente con Google talk para el computador, sólo te avisa que alguien se metió a chatear contigo y tu debes conectarte a tu cuenta de Gmail para continuar con el chat. Esto es algo que deberían mejorar, pero por mientras el servicio saca de apuros.

También hay servicios pagados como OggChat en caso que busquesn algo más profesional. Permite tener varias cuentas y redirigirlas entre operadores.

Bookmark and Share

Thursday, April 14, 2011

Crea tu mail @tudominio.cl para tu blog editando los registros MX en CDMon

En el post pasado indiqué cómo crear tu propio dominio .cl para tu blog. El siguiente paso es configurar un correo de la forma tunombre@tudominio.cl. Para esto necesitaremos la ayuda de Google Apps.

1. Si es que no tienen una cuenta en Google Apps, regístrense aquí o aquí, es gratis. Una vez que sigan todas las instrucciones y terminen con su registro, sigan al paso siguiente:

2. Activen la opción de correo electrónico en su Google apps. Esto los llevará a una segunda página que les indicará los registros MX que deben configurar más adelante, mantengan esa página abierta (o copien esos registros ya que los usarán en los siguientes pasos). Los registros MX tienen la forma "Dirección - prioridad". Deben ser algo como:


Dirección del servidor MXPrioridad
ASPMX.L.GOOGLE.COM10
ALT1.ASPMX.L.GOOGLE.COM20
ALT2.ASPMX.L.GOOGLE.COM20
ASPMX2.GOOGLEMAIL.COM30
ASPMX3.GOOGLEMAIL.COM30
ASPMX4.GOOGLEMAIL.COM
ASPMX5.GOOGLEMAIL.COM
30
30
                   

3. Ahora diríjanse a su panel de control en CDmon, vayan a la opción DNS Estático,

 Ahí deben ver una lista de sus dominios, seleccionen el dominio de interés y hagan click en gestionar.

4. Hagan clic en editar registro CName del registro principal que les aparece ahí

5. Les aparecerán las siguientes opciones:

y hagan clic en Redirección URL (si, estamos cambiando de CNAME a Redirección, pero es la única manera de hacerlo funciona ya que el registro CNAME no permite modificar los registros MX)
Como URL coloquen www.midominio.cl y hagan click en guardar.

6. Ahora debemos agregar los registros MX que nos entregó Google Apps anteriorment. Para esto debemos hacer click en el link que parece un sobre:

Esto lo deberán hacer 6 veces, una para cada registro entregado por Google. Es muy importante que indiquen las prioridades que les entregó google.

Finalmente se verá así:

Deben esperar a que CDmon publique sus cambios para ver si todo anda bien. Esto demora unos 15 minutos.

7. Ahora vuelvan a Google Apps y hagan clic en el botón "He realizado estos pasos" para efectuar la verificación de los registros MX. Esta verificación puede demorar hasta 48 horas, en mi caso demoró sólo un par de minutos

Y listo! Ya tienen su mail@midominio.cl configurado. Espero les haya ayudado este tutorail

Bookmark and Share

Friday, April 8, 2011

Dominio propio para tu blog de blogger

Blogger te permite tener tu propio dominio para tu Blog. Aquí te cuento los pasos a seguir, hay dos alternativas:

A. Ir a la sección de configuración de tu Blog -> Publicación -> Dominio Personalizado -> Comprar un dominio a través de Google checkout. Puedes escoger un .com, .net, .org, .info, .biz.
Realizada la compra, Blogger te configura todo automáticamente

B. Comprar tu dominio por otro medio. En este caso configuraremos un .cl que se compra en nic.cl. En este ejemplo se utilizará el dominio peliculasdelrio.cl, POR FAVOR NO LO UTILICEN USTEDES, UTILICEN SU DOMINIO PROPIO
  1. El dominio en nic.cl está costando actualmente $18.900 por dos años y lo puedes pagar con tarjeta de crédito.
  2. Una vez que lo compras, se activa en unas 24 horas, así que aunque realicen la siguiente configuración no podrán ver los cambios hasta que se active el dominio.
  3. Necesitarán un gestor de DNS, ya que blogger no cuenta con uno, yo les recomiendo CDmon, creen una cuenta ahí, es gratis (dice arriba a la derecha panel de control, vayan ahí para registrarse).
  4. Una vez que ya ingresaron a su cuenta, deben hacer click en DNS Estático:
  5. Luego llegaremos a un panel que nos entregará unos datos importantes, estos están indicados por el número "1" en la imagen:
    Estos 3 números son las IP's que se deben colocar en la página de nic.cl cuando configuramos nuestro dominio. Deben quedar de la siguiente manera:
  6. Ahora volvemos a la imagen anterior donde está marcado con un "2". Ahí es donde debemos ingresar nuestro nuevo dominio, en este caso dice "peliculasdelrio.cl". Hacemos clic en añadir.
  7. Nos aparecerá el siguiente menú, donde debemos hacer click en "Registro CNAME" como lo indica el número "1" y luego colocar la dirección que nos indica blogger: ghs.google.com. Hacen clic en guardar
  8. Ahora deben crear el registro "A name". Para ello deben hacer clic en el siguiente ícono y colocar "www" donde les pide subdominio. Hacer clic en guardar.

  9. Ahora les aparecerá un registro con un triangulo amarillo y un signo de exclamación y dirá "Por determinar, www.peliculasdelrio.cl", eso es porque no han terminado aun. Ahora deben hacer clic en el icono de las llaves, de ese A Name que acaban de registrar, que dice "Editar registro" cuando colocan el mouse encima.
  10. Aquí deben volver a hacer clic en el botón "Registro CNAME" y vuelven a colocar "ghs.google.com" y hacen clic en guardar. Básicamente vuelven a repetir el paso 7, pero esta vez para el registro A Name que acaban de ingresar (el que dice www.sudominio.cl, y no sudominio.cl que fue el primero que crearon y que ya apunta a ghs.google.com). Esto es todo lo que hay que hacer en CDMon, se demora a lo más 15 minutos en publicar los cambios que han realizado.
  11.  Ahora volvemos a blogger, van a Configuración -> Publicación -> Dominio Personalizado -> Cambiar a opciones avanzadas
  12. Aparecerá un recuadro que dice "Tu dominio http://" ahí ustedes deben ingresar su dominio, incluyendo "www". Y listo! Ya han configurado su dominio personal. Sólo falta colocar guardar los cambios más abajo. Si quieren también pueden marcar la opción de direccionar su dominio vacío al indicado anteriormente (en este caso, direccionar peliculasdelrio.cl a www.peliculasdelrio.cl) Lo cual viene a ser útil para que todos lleguen a tu sitio. 
Si tienen consultas las pueden realizar en los comentarios. Espero este tutorial les sirva para configurar su sitio.

Bookmark and Share

Sunday, March 20, 2011

Marca de Agua para tus fotos con Picasa

Hoy en día las personas comparten gran cantidad de sus fotos por internet. Las publican en redes sociales, blogs o las comparten por mail. Por lo que le ha surgido una necesidad al usuario promedio y no sólo al fotógrafo profesional, que es colocar marcas de agua en una foto.

Tal vez algunos se preguntan ¿qué es una marca de agua? Se le suele llamar así a un texto que va sobre la imagen original que suele indicar algunos de los siguientes: fecha, autor, e-mail, página web, etc.

La utilidad de esta marca de agua es mayormente para proporcionar información al espectador de los orígenes de la foto, pero el uso más común es para que no las roben y que otro se adjudique los créditos.

Como se suele tomar un gran número de fotos, colocar manualmente la marca de agua viene a ser tedioso, por lo que les quería contar que Picasa 3 (una herramienta gratuita de Google), actualmente en su versión 3.8, proporciona la posibilidad de realizarlo sobre una carpeta completa. Sólo deben seleccionar las fotos que desean aplicarle la marca de agua, hacer click en el botón export que se encuentra en la parte inferior de la pantalla, indicar una carpeta a donde exportar estas nuevas imágenes y colocar el texto que se desea que tenga la marca de agua. Así, automáticamente, Picasa colocará un texto en la parte inferior de la imagen y las guardará como una imagen nueva en la carpeta indicada.

Más detalles sobre como personalizar el texto: aquí

También existen otros programas gratuitos para realizar lo mismo, varían en que unos tienen más opciones que otros para personalizar la marca de agua sobre la foto. Una búsqueda rápida en google los puede llevar a ellos.

Bookmark and Share

Sunday, January 30, 2011

Constante bloqueo de pantalla de Android Nexus One

El Android Nexus One es un excelente teléfono, pero constantemente se apagaba la pantalla y no podía encenderlo nuevamente hasta que removía la batería, la colocaba de nuevo y presionaba el botón encender para que inciara desde cero. Lo que aparentaba que el teléfono se estaba congelando.

La búsqueda que realicé en internet me llevó a una posible y muy obvia solución: una aplicación es la que está causando el problema. Específicamente la que más puede causar un problema es un Task Killer, una aplicación que permite terminar otras aplicaciones. Por lo que formatié mi celular y específicamente desinstalé el Task Killer, pero el problema seguía ocurriendo.

Lo que sí solucionó el problema es algo que no encontré en ningún foro y por eso lo comparto aquí: la tarjeta microSD.
Resultó que la tarjeta microSD que estaba usando no era de muy buena calidad, la cambié por una SanDisk y el problema desapareció. Así de fácil. Espero esto le sirva a alguien.

SanDisk 16 GB microSDHC Flash Memory Card SDSDQ-016G (Bulk Packaging)

Bookmark and Share
Related Posts Plugin for WordPress, Blogger...