Archivo etiqueta Programación

Clases y Objetos en PHP

blocksAntes de comenzar a trabajar con clases y objetos, debemos conocer primero la diferencia entre la programación tradicional y la programación orientada a objetos (POO). En la programación tradicional los problemas son resueltos ejecutando una acción tras otra, en otras palabras, escribes un programa donde las acciones son ejecutadas una por una para resolver un problema.

Por ejemplo, si deseas sumar dos números en PHP, basta con el siguiente código:

<?
// Define dos numeros
$a = 2;
$b = 3;
// Suma ambos numeros
$c = $a + $b;
echo "a+b=".$c;
?>

Leer el resto de la entrada »


,

6 Comentarios

Respaldo completo en cPanel

logo_cpanelAyer tuve algunos problemas con la actualización de WordPress 2.8 y, supuestamente, qtranslate (un plugin para soportar varios lenguajes). El asunto es que pude restablecer WordPress 2.7.1 de un respaldo antiguo, pero me di cuenta que databa de hace un mes…malo, malo. Decidí investigar sobre respaldos automáticos con cPanel y me encontré con la entrada Automatic cPanel backup (domain & MySQL) with cron & PHP de Justin Cook. Allí hay un script para ejecutar la petición de respaldos completos de cPanel con redirección a un servidor ftp en una máquina remota. Debido a que no tengo un servidor ftp, cambié unas líneas para hacer respaldos localmente, de forma que pueda obtener esos respaldos desde la herramienta de respaldos completos de cPanel. Aquí está lo que hice:

PHP Script

Puedes descargar desde Github aquí 
 

Cron jobs

Para tener un respaldo cada 15 días guarda el script de arriba como fullbackup.php y configura el cron en la herramienta de administración de cPanel como se muestra a continuación:

cron-cpanel-web

Referencias

,

17 Comentarios

Curso de programación HP48

HP-Program

Hace un tiempo subí un curso de programación para las calculadoras HP-48g / HP 48gx. El asunto es que perdí la contraseña en ese servidor (angelfire) y no lo pude actualizar más. Así que es tiempo de recuperar lo que es mio: voy a poner el curso completo aquí con más ejemplos y, de ser posible, mejor explicado.

Vamos a comenzar de nuevo…

¿Qué es un programa?

Todo lo que esté entre los caracteres << >> es tomado como un programa. Por ejemplo, puedes escribir esto en la calculadora:

<< 1 2 + >>

Este programa pone en la pila de la HP los números 1 y 2, y finalmente los suma. Para editar cualquier programa en el modo USER-RPL solo colóquelo en la pila y pulse “EDIT”. Para guardarlo colóquelo en la pila, luego coloque un nombre y presione el botón “STO” (también puede escribirlo). Aquí está el ejemplo:

3: << 1 2 + >>
2: ‘Nombre’
1: STO

Esto por ahora. En la próxima entrega cubriré la definición de variables…

,

9 Comentarios

Agregando subtítulos a archivos avi

Subtítulos

En artículos anteriores vimos formas de convertir videos ogv en archivos de  formato avi desde la consola, y luego nos concentramos en ver  cómo integrar esta conversión con Nautilus, el navegador de archivos de Gnome. Ahora veremos cómo agregar subtítulos a los archivos de video .avi a partir de archivos de texto .srt. Para ello usaremos el comando mencoder con la opción -sub, como vemos en el ejemplo siguiente:

mencoder archivo.avi \
-ovc lavc -oac mp3lame \
-sub archivo.srt \
-font “/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf” -subfont-autoscale 2 \
-o archivo-sub.avi

En este ejemplo mencoder toma como entrada el “archivo.avi”, codifica el video con lavc (mpeg4) y el audio con mp3lame (mp3), le pega los subtítulos contenidos en “archivo.srt”, usa el estilo de fuentes DejaVuSans, escala los subtítulos al ancho del video, y finalmente lo guarda en “archivo-sub.avi”.

Leer el resto de la entrada »

,

4 Comentarios

Conversión de videos ogv a avi desde Gnome

gnome2-plain-label

Ya vimos cómo convertir archivos de video al formato .avi, tanto con ffmepg y mencoder. Ahora veremos cómo hacer un programa o script que permita convertir varios videos en lote, y luego integrarlo con Gnome de forma que al seleccionar uno o varios videos desde el navegador de archivos haga la conversión a formato .avi de cada uno de ellos.

ogv2avi versión 0.9

En esta primera versión solo convertiremos un archivo a la vez y nos basaremos en el ejemplo que vimos de mencoder. Para esto crearemos el siguiente script llamado ogv2avi:

#!/bin/bash
mencoder "$1" -ovc lavc  -oac mp3lame -o "$(echo $1 | sed 's/ogv$/avi/')"

Aquí le decimos a mencoder que el primer argumento que se le pasará al script ogv2avi será el nombre del archivo de entrada, y que como nombre de archivo de salida tome el mismo nombre del archivo de entrada pero sustituyendo la extensión .ogv por .avi, usando para esto el comando sed. Para comprobar que funciona cambiamos la permisología al archivo de forma que sea ejecutable:

chmod +x ogv2avi

Y lo probamos con cualquier archivo ogv que tengamos:

./ogv2avi NesterJ.ogv

Debemos ver los mensajes que arroja mencoder al momento de codificar el video.

ogv2avi versión 1.0

El script anterior es un poco limitado, ya que solo permite indicar un archivo a la vez. Para resolver esto, usaremos el arreglo de argumentos de bash y una iteración con for, modificando el archivo ogv2avi de la siguiente forma:

#!/bin/bash
for video in "$@"
do
echo "Encoding $video..."
mencoder "$video" -really-quiet -ovc lavc -oac mp3lame -o "$(echo $video | sed 's/ogv$/avi/')"
echo "Done!"
done

En caso de que no esté claro, la variable $@ contiene los argumentos que se pasan al script ogv2avi vía línea de comandos. Luego para cada uno de los archivos que se le especifique al script, se ejecuta una y otra vez mencoder para convertir a .avi. La opción -really-quiet evita que mencoder muestre los mensajes al momento de codificar los videos. Para probar esta versión podemos ejecutar el script pasando como parámetro dos archivos .ogv:

./ogv2avi iRShell-Install.ogv NesterJ.ogv

Al final deben quedar dos archivos: iRShell-Install.avi y NesterJ.avi

Integración con Gnome

Para que funcione con el ambiente gráfico, lo que podemos hacer es aprovechar que Nautilus (el navegador de archivos de Gnome) permite extender funcionalidades a través de scripts. Entonces simplemente copiamos el programa ogv2avi en la carpeta de scripts de Nautilus:

cp ./ogv2avi ~/.gnome2/nautilus-scripts/

Esto permitirá seleccionar más de un archivo haciendo click derecho en la opción de Scripts y seleccionando nuestro script ogv2avi, como se muestra a continuación:

ogv2avi

Script ogv2avi desde Gnome

Referencias

,

1 Comentario

Convirtiendo videos a AVI

Two Toned Lighting

AVI es un contenedor que permite almacenar audio y video codificados de diferentes maneras (AC3, MP3, DivX, Xvid, etc). A pesar de ser un formato originalmente introducido por Microsoft, hoy por hoy es uno de los contenedores de video más usados y distribuidos.  Y aunque no es el único formato, en ocasiones requerimos convertir a AVI, para por ejemplo editar y distibuir videos en un formato que podrá reproducirse en cualquier computardor.

Sin más, veamos como hacer la conversión…
Leer el resto de la entrada »

,

4 Comentarios