sábado, 15 de septiembre de 2012

Modelos de Django a UML

Una vez que inicie a trabajar con Django me gusto mucho la facilidad con la que se puede iniciar a trabajar con los modelos, sin embargo, cambie mucho de mi diagrama de base de datos inicial a lo que quedo implementado por lo que necesitaba una herramienta para poder pasar los modelos a un diagrama inicie trabajando con models.app y también con freemind.app pero me di cuenta que necesitaba algo más ágil.

Buscando en internet me tope con que hay una librería de extensiones para Django en el siguiente sitio:
http://code.google.com/p/django-command-extensions/

Dicha librería se puede instalar siguiendo estas instrucciones:
http://code.google.com/p/django-command-extensions/wiki/InstallationInstructions

Una vez realizada la instalación, se puede ejecutar el siguiente comando:
$ python manage.py graph_models -a > ihospital.dot

Posteriormente descargue este software que permite ver este tipo de archivos:
http://www.graphviz.org

Una vez descargado e instalado, abri el archivo .dot y me construyo el diagrama automáticamente, es genial esta automatización de Django.

Saludos espero te sirva ...


Tips TextMate Transparente tm_properties etc.


Es muy interesante que ahora TextMate se haya convertido en OpenSource: https://github.com/textmate/textmate/downloads , aunque algunos auguran su caída considero que esta estrategia lo hará más fuerte, aquí voy a ir dejando algunos tips para utilizarlo.


Fondo Transparente
Lo primero que no encontré, fue, como poder hacer el fondo transparente, lo cuál es una de las características que más me gusta en este editor, para lograrlo realice lo siguiente:


  1. Clic en Bundles -> Edit Bundles
  2. Posteriormente localizar la sección que dice Themes.
  3. Y en la siguiente columna localizar nuevamente Themes.
  4. En mi caso me gusta el tema Cobalt por lo que al hacer clic sobre el aparecerá el archivo de configuración en la parte inferior.
  5. Dentro de las primeras líneas (en mi caso la línea 4) existe un parametro que dice background el cuál esta en formato RGB con números hexadecimales, aparecerá algo como '#001130', al final podemos añadir dos digitos más que nos permitirán controlar el nivel de transparencia, en mi caso  agregue cb y con esto logre una transparencia excelente para mi uso, esto es quedo así: background = '#001130cb';

tm_propiertes

En este caso se debe configurar el archivo .tm_properties para lograrlo dentro del File Browser encontramos un icono de forma de engrane, cuando se hace clic aparece un menú que al final tiene la opción: Preferences ...

Cuando se hace clic abre el archivo .tm_properties (es probable que se encuentre en blanco), dentro este archivo vamos añadir la siguiente línea, de acuerdo a lo que necesitemos:

# Tamaño de Fuente por Omisión
fontSize = 15

# En el título de la ventana colocará la ruta completa del archivo abierto
windowTitle    = "$TM_DISPLAYNAME${TM_DIRECTORY/\A(?:\/Users\/username\w+\/?(.*)|(.+))\z/${2:? – ${2/\A\/Users\/username/~/}:${1/\A(?=.)/ – /}}/}"

Nuevas Características Geniales

Algo que me gusto mucho es que desde TextMate->Preferences ahora ya se puede configurar que al inicio (At startup) no abrá los documentos de la última sesión. 

Así como también dentro de la sección Projects si se selecciona la opción Placement: Right side se puede poner la barra de File Browser del lado derecho, lo cuál para mi es muy útil ya que prefiero navegar entre archivos utilizando ⌘T.


Deshabilitar Suavizado de las Fuentes

En el terminal ejecutar el siguiente comando:

$ defaults write com.macromates.TextMate.preview disableAntiAlias -bool YES



Continuará ...




Fuentes:

viernes, 31 de agosto de 2012

Error en Django 1.4 Mac OSX al crear el superuser o super usuario (Solucionado)


Al querer crear el súper usuario de Django 1.4 en Mac OSX genera una serie de errores:
File "manage.py", line 10, in
ValueError: unknown locale: UTF-8

El error tiene que ver con sistema de codificación que esta configurado en Python, al correr el comando:

$ locale -a 

Da por resultado las codificaciones disponibles en el equipo …

af_ZA
af_ZA.ISO8859-1
es_ES.UTF-8

En mi caso particular de interés lo configure con: 'es_ES.UTF-8', entonces lo que se debe hacer, es editar el archivo: ~/.bash_profile ; yo utilice TextMate desde la línea de comandos de la siguiente forma:

$mate ~/.bash_profile

Sin embargo puede utilizarse cualquier otro editor de texto como Sublime Text o Coda por ejemplo.

Dentro de este archivo se debe colocar lo siguiente:

export LANG="es_ES.UTF-8"
export LC_COLLATE="es_ES.UTF-8"
export LC_CTYPE="es_ES.UTF-8"
export LC_MESSAGES="es_ES.UTF-8"
export LC_MONETARY="es_ES.UTF-8"
export LC_NUMERIC="es_ES.UTF-8"
export LC_TIME="es_ES.UTF-8"
export LC_ALL=

Es probable que en el archivo ya se tengan más cosas por lo que podemos dejarlo al final.

Posteriormente al reiniciar el Terminal. Para corroborar que Python ya este utilizando la configuración deseada realizamos lo siguiente:

$Python 
Python 2.7.1 …
....
>>> import locale
>>> print(locale.getdefaultlocale());
('es_ES','UTF8')

Con lo anterior quiere decir que la configuración ha sido correcta ahora intentamos nuevamente crear el súper usuario en Django.

Si la creación de tablas no tuvo ningún problema al correr el syncdb entonces se puede utilizar el comando:
$ Python manage.py createsuperuser

Espero les sea de utilidad …


Referencia:

lunes, 13 de agosto de 2012

WAMP Permitir Acceso Remoto de Otros Equipos Apache

Hace unos días instalé WAMP y no podía navegar desde otros equipos a mi maquina marcaba algo como que no había permiso para ver la página, entonces buscando en internet  me tope con que el WAMP por omisión se instala con el acceso bloqueado y realice lo siguiente cambiar el archivo httpd.conf esto es buscar la siguientes líneas:


    Options Indexes FollowSymLinks
    AllowOverride all

    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1


Cambiar por:


    Options Indexes FollowSymLinks
    AllowOverride all

    Order Deny,Allow
    Allow from all
    Allow from 127.0.0.1



Espero te sea de utilidad...

Salu2


Fuentes:
http://kosiara87.blogspot.mx/2011/03/allow-remote-access-to-apache-on-wamp.html

viernes, 3 de agosto de 2012

Papelera Mac OS X: Borrar archivos por separado, o bien eliminar o vaciar papeleras dificiles


Hace poco me entro la inquietud de eliminar un archivo por separado de la papelera y después de varias búsquedas encontré que es muy sencillo desde el terminal:


  1. Entrar al terminal de Mac OSX
  2. Una vez en el prompt teclear: sudo rm -rf 
  3. Dejar un espacio en blanco, después de rf.
  4. Ahora abrir la Papelera y seleccionar los archivos que queramos borrar, aquí viene la magia, arrastrar esos archivos al terminal, y automáticamente serán capturados en él, junto con su ruta completa. Por ejemplo con un solo archivo podría quedar de la siguiente manera: 
    • $ sudo rm -rf /Users/omendoza/.Trash/Archivo\ 2.0.3.ipa
  5. Presionar Enter y con esto los archivos serán eliminados.

Espero les sea de utilidad.

LinkSys Router: mis equipos no se ven entre si, no hacen ping.

Tuve un problema con un Linksys WRT320N en el cual no podía hacer ping entre equipos si estaban conectados al ruteador de forma inalámbrica, es decir no se veían entre si en la red ...

Revise Firewalls, los desactive los reactive y nada (tanto del sistema operativo como del ruteador), hasta que al final buscando en internet encontré este sitio: http://forums.cabling-design.com/wireless/problem-pinging-between-PC-es-connected-to-Linksys-WRT54GS-r-13403-.htm donde aparece un post de Jeff Liebermann donde el explica lo siguiente:

Los ruteadores Linksys tienen una utilería que le llaman "AP Isolation" la intención de esta opción es prevenir ataques entre usuarios que se encuentran conectados a la misma red inalámbrica, esta opción puede ser muy útil en un café de internet, o lugares públicos, pero en una red local quizá ya no lo sea, por que impide la comunicación entre los ordenadores conectados.

Para arreglar el problema accedí a la opción Wireless y después en la sección que dice Advanced Wireless Settings, y dentro de esta sección apareció dicha opción AP Isolation la cuál la fije como Disabled y listo ahora ya puedo hacer ping entre equipos, por lo que puedo utilizar mis aplicaciones TCP/IP entre equipos.

Espero te sea de utilidad ... Gracias !