2008-11-30

Videos Tutoriales

Vídeos Tutoriales de Adobe en castellano:

Vídeos tutoriales de programación y mas en castellano muy buenos:
Otro en castellanos también..

Flash CS4, Tutoriales de Flash en Español:
Flash CS4 Muestra 3D:
  • http://www.youtube.com/watch?v=q85Xl6HRLk0&feature=related

2008-11-28

Manipular imagenes de manera muy simple, con una Class para PHP que trabaja con GD 2

Es tupenda clase para trabajar con PHP y GD 2 esta orientada a objetos muy buena y simple

Imagen Original:


  1. $foo->image_resize          = true;
  2. $foo->image_ratio_fill      = 'R';
  3. $foo->image_y               = 150;
  4. $foo->image_x               = 100;
  5. $foo->image_background_color = '#FF00FF';
Salida de la imagen final:


link con ejemplos

fuente

2008-11-27

Bug IE6 PNG TAMSPARENTE SOLUCION SIMPLE

La manera de solucionarlo es simple. Crea un archivo llamado pngfix.js Y que tenga este codigo adentro y guardas los cambios
  1. /*

  2. Correctly handle PNG transparency in Win IE 5.5 & 6.
  3. http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
  4. Use in with DEFER keyword wrapped in conditional comments:

  5. */
  6. var arVersion = navigator.appVersion.split("MSIE")
  7. var version = parseFloat(arVersion[1])
  8. if ((version >= 5.5) && (document.body.filters))
  9. {
  10. for(var i=0; i
  11. {
  12. var img = document.images[i]
  13. var imgName = img.src.toUpperCase()
  14. if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
  15. {
  16. var imgID = (img.id) ? "id='" + img.id + "' " : ""
  17. var imgClass = (img.className) ? "class='" + img.className + "' " : ""
  18. var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
  19. var imgStyle = "display:inline-block;" + img.style.cssText
  20. if (img.align == "left") imgStyle = "float:left;" + imgStyle
  21. if (img.align == "right") imgStyle = "float:right;" + imgStyle
  22. if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
  23. var strNewHTML = "
  24. + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
  25. + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
  26. + "(src=\'" + img.src + "\', sizingMethod='scale');\">"
  27. img.outerHTML = strNewHTML
  28. i = i-1
  29. }
  30. }
  31. }
Y después de tu pagina que tiene los archivos PNG Transparente; tenes que vincular para que carge ese .js

Fuente

2008-11-20

La nueva version de NetBeans IDE 6.5 para PHP + MySQL + JavaScript (AJAX)

Algunas de las caracteristicas nuevas que tiene NetBeans IDE 6.5 para PHP
  1. Generador de Gettes y Setters para los Objetos en PHP5
  1. Control de version "Podemos ver las distintas version que se guardaron del mismo archivo para luego compararlo y ver los distintos cambios"
  • CVS. (MonoUsuario y MultiUsuario) Requier un servidor CVS
  • Mercurial (MonoUsuario y MultiUsuario) Requier un servidor
  • Subversion (MonoUsuario y MultiUsuario) Requier un servidor
  • Historial local de version en un directorio. (MonoUsuario) Sin Server ;-)
  1. Disponible en castellano ;-)
  1. Depurador PHP y JavaScript (AJAX)
  1. Generador de Conexciones con MYSQL
  1. Administrador de Proyectos "Por proyecto y en distintos directorio"
  1. Completa codigo automaticamente al escribirlo.
  1. Reconose los archivos para Includer, Include_once, Require_once, Require
  1. Reparador de codigo o Tips para solucionar un error.
  1. Es muy liviana y corre muy bien en la maquina acomparacion de otras IDE.
  1. Es multiplatafor Linux, Mac yWindows

Lo mejor de todo que es gratis y una de las mejores IDE para trabajar con PHP, no tiene que envidiarle a otras IDE como Zend Studio, ,etc..
Y lo digo yo, que soy usuario fan de Zend Studio 5.5


Links de descarga:
Pagina para la descarga NetBeans 6.5
Aca pueden encontrarla en castellano a NetBeanse 6.5 link directo

2008-11-19

Crear el script para poder tener un programa como Demonio en el inicio o boot de Linux Ubuntu / Debian

Estuctura basica de un archivo /etc/init.d/mi_script_demonio

Codigo base:
  1. #!/bin/sh
  2. #El parámetro $1 contiene la acción a realizar (start, stop, etc)
  3. . /lib/lsb/init-functions
  4. case $1 in
  5. start)
  6. #Instrucciones para iniciar el script
  7. break;;
  8. stop)
  9. #Instrucciones para parar el script
  10. break;;
  11. restart)
  12. #Instrucciones para reiniciar el script
  13. break;;
  14. *)
  15. #Instrucciones por defecto
  16. esac;
  17. exit 0
Sencillo ¿verdad?.
Nuestro script, puede tener más opciones. Tantas como queramos.

Ahora vamos a rellenar las secciones del script con los códigos que queremos, en el caso del cliente de No-IP (fijaros que le he añadido la opción 'setup'):

Codigo:

  1. #!/bin/sh
  2. #El parámetro $1 contiene la acción a realizar (start, stop, etc)
  3. . /lib/lsb/init-functions
  4. case $1 in
  5. start)
  6. log_daemon_msg "Iniciando el cliente No-IP" "pepitodelospalotes@servidor.com"
  7. noip2 -M -c /var/lib/noip2/noip2.pepitodelospalotes.conf
  8. log_end_msg $?
  9. break;;
  10. stop)
  11. log_daemon_msg "Deteniendo el cliente No-IP" "pepitodelospalotes@servidor.com"
  12. noip2 -K $( echo $( ps ax | grep noip2 | grep pepitodelospalotes ) | cut -d' ' -f1 ) -c /var/lib/noip2/noip2.pepitodelospalotes.conf
  13. log_end_msg $?
  14. break;;
  15. restart)
  16. $0 stop
  17. $0 start
  18. break;;
  19. setup)
  20. log_daemon_msg "Configurando el cliente No-IP" "pepitodelospalotes@servidor.com"
  21. noip2 -Y -U 30 -u pepitodelospalotes@servidor.com -p pepito -C -c /var/lib/noip2/noip2.pepitodelospalotes.conf
  22. log_end_msg $?
  23. break;;
  24. *)
  25. echo "Uso: $0 {start|stop|restart|setup}"
  26. exit 2
  27. esac;
  28. exit 0
Por último, faltaría copiar este script a la carpeta /etc/init.d/ y darle permisos de ejecución:
$ sudo cp /etc/init.d/no-ip.sh
$ sudo chmod +x /etc/init.d/no-ip.sh

Provando el daemon
Para testear vuestro daemon, tan solo tenéis que usar los comandos de siempre, es decir:
$ sudo /etc/init.d/no-ip setup
$ sudo /etc/init.d/no-ip start
$ sudo /etc/init.d/no-ip restart
$ sudo /etc/init.d/no-ip stop


Con estos comandos, hemos iniciado el archivo de No-IP, hemos iniciado el daemon, lo hemos reiniciado y lo hemos parado. De esta manera, cada vez que tengáis que hacer operaciones con No-IP, podréis usar el comando que queráis (start, stop, restart,...).

Automatizando el daemon
Los sistemas GNU/Linux, tienen 6 runlevels que "indican" el estado de la máquina.
Por ejemplo, cuando iniciáis la máquina, automáticamente carga el runlevel 2 que contiene todos los comandos y daemons que tiene que iniciar. Cuando la queréis apagar, pasa al runlevel 6 (si no me equivoco) que contiene los comandos para terminar las aplicaciones. Cada runlevel contiene un conjunto de instrucciones que hacen que el sistema operativo se comporte de una forma u otra. A efectos prácticos, sería como las sesiones de los usuarios donde cada usuario, tiene su escritorio configurado de una manera, con sus programas, archivos, etc. Pues a modo de "estados del ordenador", encontramos los runlevels donde, por ejemplo, podríamos tener un runlevel que, en vez de iniciarnos el entorno gráfico, nos dejara el sistema en modo consola, podríamos escoger cargar o no unos drivers específicos, etc.


Para que nuestro daemon pueda iniciar de forma automática, tenemos que hacer que los runlevels lo carguen al iniciarse y eso se hace con este comando:
$ sudo update-rc.d no-ip.sh defaults 99 04

Y para que se pueda cargar desde cualquier runlevel:
sudo cp -P /etc/rc3.d/no-ip.sh /etc/rc2.d/

Listos! Con estos comandos ya iniciará el script automáticamente al iniciar la máquina (el comando start) y lo finalizará cuando se apague (el comando stop).

Fuente