Porfin!
Esta es una de las aplicaciones que más esperaba para los reproductores pero siempre tenía problemas porque por ejemplo Amarok tiene uno, pero no me gusta como funciona la librería. en cambio Rhythmbox maneja muy bien los archivos y también tiene un ecualizador pero no viene incorporado.
Pero hoy supe de PulseAudio Equalizer Script, que es un ecualizador pero para todo el sistema! Espectacular!
Además mejora más la calidad que el ecualizador de Rhythmbox
El problema que le veo ahora que al cambiar el volumen suena un tic, sólo eso hasta el momento.
Actualización: Si activas crossfade en Rhythmbox se soluciona el problema de los tics:
Descarga PulseAudio Equalizer Script
Fuente
Thursday, December 03, 2009
Monday, November 16, 2009
Ubuntu Make Link (Acceso directo a archivos y Directorios)
Nota: tomar link como acceso directo.
Me he dado cuenta que el acceso directo en ubuntu es más que eso. Como soy un un usuario emigrante de windows pensaba que era lo mismo, sólo un "atajo", pero veo que en ubuntu es una especie de "Clon". ¿A que me refiero? a que puedes tener links de archivos y directorios y tratarlos como si fuera el original, y ¿para qué sirve eso? bueno, yo le he encontrado una utilidad muy interesante.
Como trabajo con web, para alojar mis proyectos los debía guardar en var/www. Pero esto me traía problemas al momento de formatear ya que tenía que respaldar como 3 gigas de proyectos, una verdadera lata.
Pero hoy se me ocurrió utilizar la propiedad de link e hice el siguiente ejercicio:
Bueno si haz organizado las particiones así:
Espero les sirva, y creo que pueden darle cualquier otra aplicación útil.
Me he dado cuenta que el acceso directo en ubuntu es más que eso. Como soy un un usuario emigrante de windows pensaba que era lo mismo, sólo un "atajo", pero veo que en ubuntu es una especie de "Clon". ¿A que me refiero? a que puedes tener links de archivos y directorios y tratarlos como si fuera el original, y ¿para qué sirve eso? bueno, yo le he encontrado una utilidad muy interesante.
Como trabajo con web, para alojar mis proyectos los debía guardar en var/www. Pero esto me traía problemas al momento de formatear ya que tenía que respaldar como 3 gigas de proyectos, una verdadera lata.
Pero hoy se me ocurrió utilizar la propiedad de link e hice el siguiente ejercicio:
- Moví todos los archivos en www a /home/mi_usuario/www
- Creé un link a www de /home/mi_usuario/www
- borré el directorio www/ en /var
- moví a /var el link www
- Y magia! funciona como si estuviera en ese lugar
Bueno si haz organizado las particiones así:
- /
- /home
- /swap
Espero les sirva, y creo que pueden darle cualquier otra aplicación útil.
Wednesday, October 21, 2009
PHP: Forzar la ejecución del método mágico __destruct
Es simple la solución pero lo publico para alguien que esté pasando por este problema:
Si tenemos una clase:
Class miClase{
miMetodo(){
return 1;
}
__destruct(){
echo "Adiós mundo cruel!";
}
}
y queremos forzar su destrucción, sólo utilizamos la función PHP: unset().
Es decir:
$nuevaInstancia=new miClase();
unset($nuevaInstancia);//Destruimos la instancia y se ejecuta __destruct()
//Acá más código
Fácil no?
Si tenemos una clase:
Class miClase{
miMetodo(){
return 1;
}
__destruct(){
echo "Adiós mundo cruel!";
}
}
y queremos forzar su destrucción, sólo utilizamos la función PHP: unset().
Es decir:
$nuevaInstancia=new miClase();
unset($nuevaInstancia);//Destruimos la instancia y se ejecuta __destruct()
//Acá más código
Fácil no?
Sunday, October 11, 2009
Automontar Discos en Ubuntu
Para recordar:
sudo gedit /etc/hal/fdi/policy/preferences.fdi
//Cambiar false por true
'<'merge key="storage.automount_enabled_hint" type="bool"'>'true'<'/merge'>'
#ignoren las '
sudo gedit /etc/hal/fdi/policy/preferences.fdi
//Cambiar false por true
'<'merge key="storage.automount_enabled_hint" type="bool"'>'true'<'/merge'>'
#ignoren las '
Thursday, October 01, 2009
Mis programas favoritos de Ubuntu
Acá almacenaré los programas y soluciones que más me han facilitado el trabajo:
- Codecs win32: Medibuntu
- Conversor de videos: Avidemux
- Paint (Similar a MSPaint): Pinta
- (Imágenes) Visor/Explorador/Conversor/Herramientas para fotos/manejo por lotes: gThumb
- Seguir twitter: Twhirl
- Editor de Textos: Geany
- Ejecutar Office 2007: Playonlinux
- Photoshop/Flash: Wine-doors
- Calculadora con pila (stack): abakus
- Manejar Wallpapers: wallpaper tray
- Copiar color hexadecimal de la pantalla: gpick
- Respladar Archivos de oficina: Dropbox
- Messenger: emesene
- Descargar Música: LimeWire
- Administrar descargas: Uget
- Voz IP: skype
- Wireframes: cacoo.com (online)
- SSH: PuTTY SSH Client
- Programación: Netbeans
- Mysql: MySQL Administrator, MySQL Query Browser, MySQL WorkBench
- PostgreSQL: pgAdmin
- Grabar Escritorio: gtk-RecordMyDesktop
- Virtualización: VirtualBox
- Indexar: Tracker
- Buscar tipo Mac (Alt+F3): Deskbar + Tracker
- Manejar mi música: Rhythmbox
- Tema de escritrorio: Bamboo-zen
- Alternativa a MS Project: OpenProj
- Ver archivos NFO: NFO Viewer
- Renombrador masivo: GPRename
- Algunas ayudas para sistema: Ubuntu Tweak
- SVN estilo Tortoise: RabbitVCS
- Documentar phpDoc: Doxygen
- Manejar Particiones: gparted
- Manejar Screenshots: Shutter
- Ver archivos Flash: swfdec
- Comparar archivos/Directorios: Meld Diff Viewer
- Buscador de archivos (UI grep): Searchmonkey
GTHUMB el mejor visor/explorador de imágenes para ubuntu
Después de probar muchos visores que no satisfacían mis necesidades, he encontrado este que por su feo nombre no pareciera ser tan bueno. Pero sí lo es, es muy similar a picasa en cuanto a funcionalidad, pero lo mejor de todo que sus funciones sí funcionan! y es muy fácil de usar, incluso puedes procesar imágenes por lotes, solamente seleccionándolas.
Además posee todas las herramientas para poder retocar imágenes.
Características:
El link del proyecto: http://gthumb.sourceforge.net/
Además posee todas las herramientas para poder retocar imágenes.
Características:
- Image Viewer
- Image Browser
- Image Organizer
- Image Editor
- Advanced Tool
- Bonobo Component
- Free Software
El link del proyecto: http://gthumb.sourceforge.net/
Monday, September 14, 2009
Nueva versión de FormPost 1.2
He cambiado en varios aspectos esta clase, ya que como saben, en producción surgen nuevos requerimientos e ideas. Las novedades son las siguientes:
phpDoc: phpDoc con Doxygen
- Aplica estilo a los elementos que se añaden a $requeridos si no pasan la validación. Automáticamente asigna un borde rojo al elemento, aunque se puede personalizar.
- Adicionalmente se incorpora aplicarEstiloError() para aplicar estilo de error. Este método es llamado automáticamente por validar2alert(), o también independientemente, según como se necesite
- Además el asignar estilo de error es independiente a los generadores de la clase, es decir, al hacer requerido un input que no fue generado por FormPost igual se le añadirá el estilo de error, ya que se puede agregar al validador pasando su nombre, pero debe tener por obligación su id; nombre=id
- Se puede diferenciar el fin del tag input para Doctype XHTML strict o transitional
- Incorporado un generador de textarea.
- Soporte para array de checks (elemento[]), es decir, checks que al ser enviados son índices de un array. Rescata y asigna valores asignados por usuario en form, así se evita que lo haga nuevamente.
- tabla2combo y array2combo soportan mutiselect (elemento[]). Rescata y asigna valores asignados por usuario en form, así se evita que lo haga nuevamente.
phpDoc: phpDoc con Doxygen
Wednesday, August 26, 2009
Firefox: Personalizar url de búsqueda por barra de direcciones
Para hacer esto debes ir a about:config y buscar el parámetro keyword.URL.
En mi caso era para que pudiera elegir "buscar en Chile" y así no tener que ir a la página principal de google cada vez que quería limitar geográficamente mi búsqueda.
En mi caso era para que pudiera elegir "buscar en Chile" y así no tener que ir a la página principal de google cada vez que quería limitar geográficamente mi búsqueda.
Friday, August 14, 2009
No se puede abrir el sitio de http://. Operación anulada.
Este problema hace varios días que me estaba molestando, buscando y buscando la manera de obviarlo, porque no quería hacer la recomendación que da Microsoft por el hecho que debo desarrollar los sitios compatibles con la mayoría del mercado y no todos hemos actualizado a IEfk8 por distintos motivos...
Este es el mensaje:
Bueno, luego de la trivial (y un poco estúpida creo) recomendación seguí investigando y ví que otra persona ya lo había hecho, aunque no vi una solución para mi caso.
Luego pensé en el problema y las causas, y recordé al fiel framework mootools, así que aquí mi fix, espero pueda encontrar una mejor:
El problema era que no podía agregar algunos javascript dentro de body que manejaran el dom, así que decidí probar con el domready de mootools y magia! santo remedio.
Por ahora me ahorrará tiempo mientas esperamos que la mayoría de los usuarios actualicen a IE8, o mejor aún se decidan a usar porfin Firefox!!
Este es el mensaje:
Bueno, luego de la trivial (y un poco estúpida creo) recomendación seguí investigando y ví que otra persona ya lo había hecho, aunque no vi una solución para mi caso.
Luego pensé en el problema y las causas, y recordé al fiel framework mootools, así que aquí mi fix, espero pueda encontrar una mejor:
El problema era que no podía agregar algunos javascript dentro de body que manejaran el dom, así que decidí probar con el domready de mootools y magia! santo remedio.
Por ahora me ahorrará tiempo mientas esperamos que la mayoría de los usuarios actualicen a IE8, o mejor aún se decidan a usar porfin Firefox!!
Thursday, July 23, 2009
Revolución!!!
Una de mis plegarias se ha cumplido.... ;)
http://najaraba.blogspot.com/2009/07/somos-ingenieros-los-del-software.html
http://najaraba.blogspot.com/2009/07/somos-ingenieros-los-del-software.html
Sunday, July 19, 2009
No puedo setear o registrar variables de sesión antes de un header("Location: ...")
Uf!
Cuando hacemos esto:
session_name('mi_sesion');
session_start();
$_SESSION['miVar']="algo";
header("Location: url");
Nos pasa que las variables de sesión que están antes de header no se registran. Y bueno, como no me gusta tener que refactorizar todo el código para este tipo de #@#@ problemas que te quitan horas, preferí indagar (por la mismas horas creo :) pero es buena solución para el presente y el futuro, así reducimos la "deuda técnica" ;)) y la solución (como casi siempre) es muy simple!
Sólo debes agregar session_write_close() antes del header, y el codigo nos queda así:
session_name('mi_sesion');
session_start();
$_SESSION['miVar']="algo";
session_write_close();
header("Location: url");
y magia!!!
que fácil no!?
Cuando hacemos esto:
session_name('mi_sesion');
session_start();
$_SESSION['miVar']="algo";
header("Location: url");
Nos pasa que las variables de sesión que están antes de header no se registran. Y bueno, como no me gusta tener que refactorizar todo el código para este tipo de #@#@ problemas que te quitan horas, preferí indagar (por la mismas horas creo :) pero es buena solución para el presente y el futuro, así reducimos la "deuda técnica" ;)) y la solución (como casi siempre) es muy simple!
Sólo debes agregar session_write_close() antes del header, y el codigo nos queda así:
session_name('mi_sesion');
session_start();
$_SESSION['miVar']="algo";
session_write_close();
header("Location: url");
y magia!!!
que fácil no!?
Thursday, July 16, 2009
Evitar reenviar formulario
Existen varios metodos: crear otro archivo distinto en donde está el form para analizar los datos, utilizar GET, utilizar javascript; pero el que más me acomoda es:
Utilizar header() al finalizar el codigo php que valida los datos del form, y no estás obligado a crear otro archivo.
Sólo debes agregar esta línea en tu archivo:
header("Location: ".$_SERVER['PHP_SELF']);
Utilizar header() al finalizar el codigo php que valida los datos del form, y no estás obligado a crear otro archivo.
Sólo debes agregar esta línea en tu archivo:
header("Location: ".$_SERVER['PHP_SELF']);
Wednesday, July 15, 2009
Eres un formateador empedernido?
Siempre que formateamos nuestro equipo, el trabajo de respaldar los archivos es tedioso y muchas veces nos olvidamos de algunos que eran importantes para vivir!!! -aunque pasan 2 semanas y te das cuenta que no eran tan importantes... :)-
Bueno en mi largo camino de transición entre windows y ubuntu -en la que finalmente opté por la segunda- uno de los problemas era respaldar los archivos que siempre utilizo:
Entonces he definido algunas reglas y utilizado unas herramientas que facilitan este trabajo:
Si alguien tiene otra alternativa, o algo que agregar, bienvenido sea. :)
#TIPS
Bueno en mi largo camino de transición entre windows y ubuntu -en la que finalmente opté por la segunda- uno de los problemas era respaldar los archivos que siempre utilizo:
- Documentos
- Perfil de Firefox
- Marcadores
- Mis proyectos web
- etc.
Entonces he definido algunas reglas y utilizado unas herramientas que facilitan este trabajo:
- Particionar el disco en dos y en la partición esclava alojar todos mis archivos estáticos (documentos, música, etc.)
- Utilizar DropBox para respaldar información muy importante (por si el disco duro falla, por ejemplo)
- Utilizar el complemento para firefox FEBE para respadar mi perfil. Guarda todo hazta las cookies si deseas.
- Utilizar delicious y su complemento para mis marcadores (también pueden ser privados).
- Para mis proyectos utilizo OpenSVN. Además es una muy buena herramienta para la el seguimiento del proyecto a nivel de desarrollo.
- Utilizar herramientas de desarrollo multiplataforma, como netbeans por ejemplo.
- Para guardar mis contraseñas uso la extensión de Firefox laspass.
Si alguien tiene otra alternativa, o algo que agregar, bienvenido sea. :)
#TIPS
- No olvidar quitar retirar autorización en iTunes
- Exportar BD desde phpMyAdmin
Monday, July 13, 2009
Ubuntu no carga google, gmail
Sólo hay que seguir las instrucciones en:
http://www.opendns.com/
Y magia!!!!!
Quizá no es la mejor solución, pero sí la más rápida... ;)
http://www.opendns.com/
Y magia!!!!!
Quizá no es la mejor solución, pero sí la más rápida... ;)
Sunday, June 14, 2009
FormPost - Ayuda para manejar formularios
Les presento la primera version de esta clase que he desarrollado para manejar formularios, ya que esta tarea es repetitiva y siempre nos da más de un dolor de cabeza.
ACTUALIZACIÓN: He desarrollado una nueva versión con más características.
Acá la lista de cosas que soluciona:
El archivo posee la clase, un archivo de ejemplo y la documentación generada con Doxygen.
Descarga FormPost
ACTUALIZACIÓN: He desarrollado una nueva versión con más características.
Acá la lista de cosas que soluciona:
- Rellena automáticamente los campos con los datos que ha ingresado el usuario
- Puedes asignar valores por defecto a los input. (Luego respeta el punto 1)
- Al instanciar la clase, automáticamente limpia la variable $_POST de codigo potencialmente malicioso.
- Puedes validar el formulario con varios tipos de datos: numero, fecha, correo, contraseña, rut chileno, campos obligatorios.
- Puedes realizar validaciones anidadas. (Campos que se hacen obligatorios dependiendo del valor de otro campo)
- Genera rapidamente: input, combos (desde un arreglo y mysqli), checkbox y radios
- Puedes omitir el uso de generadores de elementos pero sí puedes usar el validador y manejar la variable $_POST sin problemas
- Posee un reseteador par volver a valores por defecto.
- Al validar genera un arreglo con la lista de problemas.
- Y posee un conversor simple del arreglo resultado a un alert simple.
El archivo posee la clase, un archivo de ejemplo y la documentación generada con Doxygen.
Descarga FormPost
Monday, April 27, 2009
body height:100%
Con este truco podremos tener toda la ventana del navegador como body, y no sólo la parte que contiene el código. Es útil por ejemplo en el caso cuando damos color de fondo al body y el color solo llega hasta donde está la ultima capa del documento. otro caso útil es cuando utilizamos posisiones absolutas y queremos que un elemento esté posicionado (siempre) en la posición inferior de la venta.
Espero les sirva:
body{
position:absolute;
background:#FFFBEF;
height:100%;
width:100%;
}
Notas:
1. Funciona en Firefox, Internet Explorer, Opera, Safari
2. Esto lo he descubierto el día que posteo este truco, así que cualquier aporte, bienvenido sea...
Espero les sirva:
body{
position:absolute;
background:#FFFBEF;
height:100%;
width:100%;
}
Notas:
1. Funciona en Firefox, Internet Explorer, Opera, Safari
2. Esto lo he descubierto el día que posteo este truco, así que cualquier aporte, bienvenido sea...
Tuesday, March 03, 2009
NetBeans PHP: Agregar archivo PHTML en archivo nuevo.
Bueno esto es simple pero después de buscar y buscar, no encontré la manera de manejar esto en opciones.
La solución es simple, pero espero que a alguno le sirva. También puedo decir que esta solución puede extenderse a cualquier tipo de archivo.
Primero debemos crear un nuevo archivo con el contenido que deseamos en el PHTML (Yo creé un nuevo PHP Web Page...).
Luego copiamos el código generado y creamos un archivo nuevo vacío (Empty file...). El nombre que elijamos será el de nuestro template, por ejemplo yo usé PHTML FILE.phtml
Luego pegamos el código copiado. Les Recuerdo que es posible editar a su antojo este código antes de guardarlo.
Terminado lo anterior guardamos este archivo como template y listo! ya podemos crear cuantos archivos PHTML queramos (Por primera vez estará en Other...).
La solución es simple, pero espero que a alguno le sirva. También puedo decir que esta solución puede extenderse a cualquier tipo de archivo.
Primero debemos crear un nuevo archivo con el contenido que deseamos en el PHTML (Yo creé un nuevo PHP Web Page...).
Luego copiamos el código generado y creamos un archivo nuevo vacío (Empty file...). El nombre que elijamos será el de nuestro template, por ejemplo yo usé PHTML FILE.phtml
Luego pegamos el código copiado. Les Recuerdo que es posible editar a su antojo este código antes de guardarlo.
Terminado lo anterior guardamos este archivo como template y listo! ya podemos crear cuantos archivos PHTML queramos (Por primera vez estará en Other...).
Subscribe to:
Posts (Atom)