por razones familiares en mi equipo debo tener windows 7 junto con ubuntu 10.10 y la distro de mi Universidad Ufix luego de instalar windows 7 como era de esperarse el grub se perdio buscando un poco encontre un post que me soluciono este pequeño incoveniente.
Procedimiento:
1. Arrancar con el Live Cd de Ubuntu
2. Abrir un terminal y ver nuestrar particiones
sudo fdisk -l
Debemos buscar la partición en la que se encuentra instalada nuestra distro (/dev/sda6 en mi caso) y montarla
sudo mount /dev/sda6 /mnt
3. Una vez montada la partición, podremos instalar GRUB 2 , ejecuta el siguiente comando sustituyendo /dev/sda por el disco en el que quieres instalar grub (OJO, el disco, no la partición, es decir /dev/sda, no /dev/sdaX)
sudo grub-install --root-directory=/mnt/ /dev/sda
4. Si todo salio ok, deberá salir un mensaje como este :
Installation finished. No error reported.
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install’.
(hd0) /dev/sda
5. Reiniciamos, y deberíamos ver nuestro Grub nuevamente.
—-
Observación :
Si cargo tu grub, pero al momento que eliges arrancar con Windows 7, te sale un error de que no encuentra la partición, no te asustes que tiene solucíon.
Ingresa a tu Ubuntu por medio del menu de Grub y sigue los siguiente pasos :
sudo grub-mkconfig
(comenzara a leer tu archivo grub.cfg, terminado eso se ejecuta:
sudo grub-install /dev/sda
Por Ultimo:
sudo update-grub
reiniciar.
Fuente: http://cmt.lugcix.org/?p=424
domingo 9 de enero de 2011
martes 2 de noviembre de 2010
Imagenes De Carga con ajaxload.info
Ajaxload.info Es una interesante herramienta para generar imágenes (gif animados) de cargar.
Permite elegir entre 38 diferentes tipos de imagenes, definir el color de fondor y de lineas ademas de si se desea que la imagen sea trasnparente.
Vale la pena echarle un vistazo: http://www.ajaxload.info/
Permite elegir entre 38 diferentes tipos de imagenes, definir el color de fondor y de lineas ademas de si se desea que la imagen sea trasnparente.
Vale la pena echarle un vistazo: http://www.ajaxload.info/
jueves 21 de octubre de 2010
Carga de ReCaptcha con MooTools y Formcheck
Descripción
En la web de Karl Sheen Blog me he encontrado un buen ejemplo de como utilizar ReCaptcha Con Mootools es basicamente utilizar la librería Ajax de Recapta para cargar en un DIV el Captcha y luego hacer la validacion a través de un Request de Mootools hacia un archivo PHP.Carga y Validación De ReCaptcha con Mootools (AJAX)
El ejercicio se compone de 5 archivos:
index.html (pagina web donde estara el Captcha)
mootools.js (libreria Mootools 1.2)
Recaptcha.js (llamado para cargar el Captcha y la petición request para la validación)
Recaptcha.php (validación del Captcha)
RecaptchaClass.php (Clase para el manejo de ReCaptcha)
index.html
Un archivo HTML normal donde se cargan las librerías JavaScript y se tiene un Div para el Captchahead
Cargamos la librerias Java Scriptbody
Div que contiene el Captcha y un botonRecaptcha .js
Se realiza el llamado para cargar el codigo Captcha, se debe Reemplazara __public_key__ por la llave publica que proporciona recaptcha.netwindow.addEvent('load', function(){
Recaptcha.create("__public_key__", 'dynamic_recaptcha_1', {
theme: 'white',
tabindex: 0,
callback: Recaptcha.focus_response_field
});
});
window.addEvent('domready', function(){
$('signup').addEvent('click', function() {
var request = new Request.JSON({
url: 'Recaptcha.php',
data : {
'recaptcha_challenge_field' :
$('recaptcha_challenge_field').value,
'recaptcha_response_field' :
$('recaptcha_response_field').value
},
onSuccess: function(jsonObj) {
Recaptcha.reload();
if(jsonObj.status == false)
$('message').set('html', 'Words did not matched!');
else
$('message').set('html', 'Words matched!');
}
}).send();
});
});
RecaptchaClass.php
El autor ha agregado un método llamado build_json_objec que retorna el resultado en Jsonfunction build_json_object( $answer ) {
//If the recaptchaResponseField is valid...
if( $answer['is_valid'] == true ) {
$result = array ("status" => "true");
} else {
$result = array ("status" => "false");
}
header( "Content-type: application/json" );
echo json_encode( $result );
}
Recaptcha.php
Este es el codigo encargado de realizar el llamado a la clase ReCaptcha para comprobar si el codigo es el correcto.Se debe reemplazar __private_key__ por la llave privada de recaptcha.net
recaptcha_check_answer(); $recaptcha->build_json_object( $answer ); ?>
Recaptcha + Formcheck
El ejercicio anterior es muy ilustrativo pero llega a quedarse corto al momento de la practica, en el caso personal siempre utilizo la librería formcheck de Mootools.Formulario Contacto con ReCaptcha y Formcheck (Mootools - AJAX)
El ejercicio es básicamente el mismo que el anterior solo que:
- Se crea un formulario de contacto con 3 campos Nombre, Telefono, Email
- se modifica el archivo Recaptcha.js para agregar la validación con Formcheck
- se crea un archivo contacto.php el cual envía los datos por correo electrónico.
index.html
head
Cargamos la librerias Java Script del formcheck y del ReCaptcha>link rel="stylesheet" href="formcheck/theme/classic/formcheck.css" type="text/css" media="screen" /<
body
Formulario de ContactoRecaptcha .js
la secuencia es validar el formulario con formCheck si este valida correctamente se envía la validación del Captcha y si este retorna True se hace el llamado a contacto.php para que envié los datos por Emailwindow.addEvent('load', function(){
Recaptcha.create("__public_key__", 'dynamic_recaptcha_1', {
theme: 'white',
tabindex: 0,
callback: Recaptcha.focus_response_field
});
});
window.addEvent('domready', function(){
var myCheck = new FormCheck('frmContacto', {
submit : false,
submitByAjax : false,
ajaxResponseDiv:'DivMensaje',
onValidateSuccess: function(){
var request = new Request.JSON({
url: 'Recaptcha.php',
data : {
'recaptcha_challenge_field' :
$('recaptcha_challenge_field').value,
'recaptcha_response_field' :
$('recaptcha_response_field').value
},
onSuccess: function(jsonObj) {
Recaptcha.reload();
if(jsonObj.status == false)
$('DivMensaje2').set('html', 'Verificar Codigo De Validacion');
else{
$('flsDatos').hide();
$('flsCaptcha').hide();
$('flsBotones').hide();
//ENVIAR FORMULARIO
new Request({
url: $('frmContacto').action,
method: $('frmContacto').method,
data : $('frmContacto').toQueryString(),
evalScripts: $('frmContacto').ajaxEvalScripts,
onSuccess: function(result){
$('DivMensaje').set('html', result);
}
}).send();
}
}
}).send();
}
})
});
contacto.php
Se utiliza la función mail() para enviar un correo con los datos recibidos del formularioif(isset($_POST['nombre'])&&isset($_POST['email'])&&isset($_POST['telefono'])&&$_POST['nombre']!=''&&$_POST['email']!=''&&$_POST['telefono']!=''){
$destino="contacto@ejemplo.com";
$asunto="contacto desde la web";
$mensaje="Contacto Desde La web
Nombre: ".$_POST['nombre']."
Email: ".$_POST['email']."
Telefono: ".$_POST['telefono'];
$cabeceras = 'From: webmaster@ejemplo.com' . "\r\n" .
'Reply-To: $_POST['email']' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($destino, $asunto, $mensaje, $encabezados);
}
Conclusiones
Lo dos ejercicios expuestos son inspirados del ejemplo expuesto en http://karlsheen.com/mootools/recaptcha-using-mootools-request/El segundo ejemplo puede ser mejorado utilizando la Liberia PHPMailer para enviar los mensajes como reemplazo de la función mail()
Archivos
lunes 11 de octubre de 2010
Redimensionar imágenes con ImageMagick
He tenido un pequeño inconveniente de tener que redimencionar y comprimir cerca de 3200 imágenes las cuales era fotografías con un peso promedio de 3 Mb cada una.
En windows habia utilizado FotoSizer el cual redimenciona una imagen o lotes de imágenes y me parecía buena herramienta. Pero solo esta disponible para Windows asi que recorde que ya habia hecho algo parecido en Linux ImageMagick pero no lo habia hecho con un lote tan grande de imagenes... asi que buscando un poco me he encontrado con un ShellScript bastante util y sencillo de modificar.
En el Blog de Fitorec lo encontre bien explicado luego de corregir un pequeño error en el ciclo lo he utilizado
Codigo en Git-Hub http://gist.github.com/619170
Lo que le he cambiado al momento de utilizarlo es que los atributos del -resize lo he dejado como 800x asi se conserva la direccion de la imagen horizontal o verticual y la calidad la he dejado en 80 para evitar tanta perdida.
ImageMagick es una herramienta muy poderosa recomiendo echar un vistazo a su web http://www.imagemagick.org/
En windows habia utilizado FotoSizer el cual redimenciona una imagen o lotes de imágenes y me parecía buena herramienta. Pero solo esta disponible para Windows asi que recorde que ya habia hecho algo parecido en Linux ImageMagick pero no lo habia hecho con un lote tan grande de imagenes... asi que buscando un poco me he encontrado con un ShellScript bastante util y sencillo de modificar.
En el Blog de Fitorec lo encontre bien explicado luego de corregir un pequeño error en el ciclo lo he utilizado
#!/usr/bin/env bash
#file: convImgs.sh
#author: fitorec http://fitorec.wordpress.com
#
#descripcion: Este script lo realize para reducir el tamaño de imgs la
#tecnica es redimencionar y bajar la calidad de 50% en el nivel de compresion
#la imagenes creadas quedaran en una carpeta que se llama mini
#
#Agumentos: recibe como unico argumento la extension de las images a convertir
#
#Requiere: imagemagick
#
#fork: axidsugar http://axidsugar.yukasoft.com el 11/10/2010
#modificado el for corrigiendo error que provocaba que el nombre de los archivos fuera * en
#vez del nombre de cada archivo
#revisando los argumentos necesarios
if [ $# -ne 1 ]; then
echo "ejecutar: ./$0 extension_imagenes"
exit 1
fi
#creamos el directorio que vamos a utilizar para almacenar las imgs
#if [ -d mini]; then
if [ !`test -d ./mini` ]; then
echo "creando la carpeta mini"
mkdir mini
fi
echo "redimencionamiento de imagenes"
#opcion 1, esta tecnica la aprendi de mi camarada @r00t_w33d
#find ./ -name "*.JPG" -exec convert {} -resize 800x600 -strip -quality 50 -interlace line ./mini/{} \;
#opcion 2 esta se me hace mas elegante ademas consume menos recursos al no utilizar el find
#se puede comprobar al correr el script con el comando time para ambas opciones
for img in *.$1
do
convert $img -resize 800x600 -strip -quality 50 -interlace line ./mini/$img
done
Codigo en Git-Hub http://gist.github.com/619170
Lo que le he cambiado al momento de utilizarlo es que los atributos del -resize lo he dejado como 800x asi se conserva la direccion de la imagen horizontal o verticual y la calidad la he dejado en 80 para evitar tanta perdida.
ImageMagick es una herramienta muy poderosa recomiendo echar un vistazo a su web http://www.imagemagick.org/
domingo 3 de octubre de 2010
Dirección de proyectos una anecdota
revisando viejos correos me he encontrado con una historia bastante interesante la cual copiare tal cual de la original.
Buena historia espero que pueda ayudar a alguien a reflexionar sobre la gestion de proyectos especialmente a las Pymes y emprendedores
Fuente: http://www.gp32spain.com/foros/showthread.php?t=65569
Cuentan las crónicas que en el año 95 se celebró una competición de remo entre dos equipos, uno compuesto por trabajadores de una empresa española y el otro por sus colegas de una entidad similar japonesa. Se dio la salida y los remeros japoneses empezaron a destacar desde el primer momento. Llegaron a la meta y el equipo español lo hizo con una hora de retraso.
De vuelta a casa, la Dirección se reunió para analizar las causas de tan bochornosa actuación y llegaron a la siguiente conclusión: “Se ha podido detectar que en el equipo japonés había un Jefe de equipo y diez remeros, mientras que en el equipo español había un remero y diez Jefes de equipo, por lo que el año próximo se tomarán las medidas adecuadas”.
En el año 96 se dio de nuevo la salida y nuevamente el equipo japonés empieza a destacarse desde la primera remada. El equipo español llegó esta vez con dos horas de retraso sobre el nipón. La Directiva se volvió a reunir después del sonado rapapolvo de Gerencia para estudiar las causas y vieron que ese año, el equipo japonés se compuso nuevamente de diez remeros y un Jefe de equipo, mientras que el español, tras las eficaces medidas adoptadas el año anterior, se compuso de un Jefe de Servicio, dos Asesores de Gerencia, siete Jefes de Sección y un remero. Por lo que, tras un minucioso análisis se llegó a la siguiente conclusión: EL REMERO ES UN INCOMPETENTE.
En el año 97, como no podía ser diferente, el equipo japonés se escapó nada más darse la salida. La barca española, que ese año se había encargado al Departamento de Nuevas Tecnologías, llegó con cuatro horas de retraso.
Tras la regata y a fin de evaluar los resultados, se celebró una reunión de alto nivel en la cuarta planta del edificio con asistencia del Consejero Delegado y todo el equipo de Gerencia, llegándose a la siguiente conclusión: este año el equipo nipón optó una vez más por una tripulación tradicional formada por un Jefe de equipo y diez remeros. El español, tras una auditoría externa y el asesoramiento especial del Departamento de Planificación, optó por una formación mucho más vanguardista y se compuso de un Jefe de División, tres jefes de Sección con plus de productividad, dos Auditores de Arthur Andersen, cuatro Vigilantes Jurados que no quitaban ojo al único remero al que habían amonestado y castigado quitándole todos los pluses e incentivos por el fracaso del año anterior.
Tras varias horas de reunión, se acordó que para la regata del 98, el remero será de una contrata externa, ya que a partir de la vigésimo quinta milla marina se ha venido observando cierta dejadez en el remero de la plantilla, que roza en el pasotismo en la línea de meta.
Buena historia espero que pueda ayudar a alguien a reflexionar sobre la gestion de proyectos especialmente a las Pymes y emprendedores
Fuente: http://www.gp32spain.com/foros/showthread.php?t=65569
viernes 1 de octubre de 2010
sobre Entornos de desarrollo (IDE) y Editores de texto en windows y Linux
Cuando se desarrolla software y tiene una relación de Bigamia con los sistemas operativos como es mi caso (Windows 7 y Ubuntu y/o Mandriva) se tienen inconvenientes para encontrar en todos los sistemas operativos una herramienta igual.
Por lo anterior quiero exponer cuales son mis herramientas favoritas a la hora de desarrollar aclaro que los lenguajes que uso son PHP y JAVA
Alguna Vez un profesor nos enseño una herramienta muy buena para cuando se esta aprendiendo Java es BlueJ creo que vale la pena probarla ademas de que es de licencia GPL.
Para PHP si he utlizado una larga lista de herramientas. Cuando empeze a programar con PHP el editor por Defecto era Dreanweaver 8 ademas de ser un excelecte editor WYSIWYG y me atreveria a decir que el mejor si solo se desa diseñar y no escribir codigo.
Utilice Dreamweaver en windows y en linux empece a un largo camino buscando un editor que me diera las misma prestaciones pase por Quanta+, Glashfish, Gedit (es solo un editor de texto pero resalta sintaxis) y pos la verdad ninguno me convencía del todo así que saltaba de uno a otro.
cuando empeze a utilizar objetos en PHP (primero con la emulacion de objetos que hacia PHP 4 y luego si en forma con PHP 5) desee un entorno de desarrollo como Netbeans y el que me parecio mejor para ese entonces fue PhpDesigner traia un excelente soporte para clases y mapeaba los atributos y metodos de las clases lo cual me parecio Grandioso pero su mayor inconveniente era privativo y la licencia de USD $80 lo cual es una gran cantidad de dinero para un siempre arriado estudiante universitario.
en Linux para desarrollar PHP con POO empeze utiizando Eclipse y luego una version mas liviana EasyEclipse y al tiempo descubri un Plugin para eclipse que desde entonces se convirtio en mi editor por defecto Aptana en su version 1.5 me ofrecia todo lo que necesitaba, un editor Htlm, Css y Javascritp ademas de su Plugin para PHP me parecio muy bueno a la par con PHPDesigner asi que lo instale pero no como plugin si no en forma independiente.
Lo mejor de Aptana es que es un Fork de Eclipse lo cual me permite tenerlo en windows y linux.
merecen menciones especiales algunos editores que no son mis herramientas principales pero siempre son buena opcion tenerlos instalados o para equipos con bajas prestaciones de hardware.
Windows:
Notepad++: sin lugar a dudas el mejor editor de texto para windows reconoce la sintaxis de una gran cantidad de lenguajes, es liviano, permite trabajar con pestañas y sus Pluggins son muy utiles.
Linux:
GPhpEdit: es un editor bastante liviano pero con soporte drop-down para funciones me gusta instalarlo en los equipos que me sirven de servidores me ha ayudado un par de veces a editar de emergia archivos.
Scite: buena alternativa a Gedit soporta resalto de sintaxis y me parece mas comodo trabajar con el que con el Gedit.
Para Java el editor por defecto y el mejor es Netbeans pero es buena alternativa usar BlueJ si se empieza a programar.
Para Php el mejor entorno es definitivamente Aptana, pero si se tiene la version 2 es mejor utilizar el pluggin de la verion 1.5 para php es mucho mejor que el PDT que viene en la version 2. (aca explican como utilizar el plugin de la version 1.5 en la version 2 http://www.bram.us/2010/01/26/installing-the-original-aptana-15-php-plugin-in-aptana-20/ )
actualmente tengo instalada la version 3 de Aptana y me parece muy buena y viene por defecto soporte para PHP no hay que instalarle ningún Pluggin lo único que esta en versión Beta y tiene algunos error.
En Windows siempre es recomendable contar con Notepad++ .
Por lo anterior quiero exponer cuales son mis herramientas favoritas a la hora de desarrollar aclaro que los lenguajes que uso son PHP y JAVA
Java
En java no he experimentado mayor cosa en la Universidad Empece usando JCreator con su versión de prueba y algunas veces crakeado, pero cuando pude mejorar el hardware de mi PC migre a Netbeans desde entonces ha sido la herramienta por defecto que he utilizado tanto en windows como en linux.Alguna Vez un profesor nos enseño una herramienta muy buena para cuando se esta aprendiendo Java es BlueJ creo que vale la pena probarla ademas de que es de licencia GPL.
Php
Para PHP si he utlizado una larga lista de herramientas. Cuando empeze a programar con PHP el editor por Defecto era Dreanweaver 8 ademas de ser un excelecte editor WYSIWYG y me atreveria a decir que el mejor si solo se desa diseñar y no escribir codigo.
Utilice Dreamweaver en windows y en linux empece a un largo camino buscando un editor que me diera las misma prestaciones pase por Quanta+, Glashfish, Gedit (es solo un editor de texto pero resalta sintaxis) y pos la verdad ninguno me convencía del todo así que saltaba de uno a otro.
cuando empeze a utilizar objetos en PHP (primero con la emulacion de objetos que hacia PHP 4 y luego si en forma con PHP 5) desee un entorno de desarrollo como Netbeans y el que me parecio mejor para ese entonces fue PhpDesigner traia un excelente soporte para clases y mapeaba los atributos y metodos de las clases lo cual me parecio Grandioso pero su mayor inconveniente era privativo y la licencia de USD $80 lo cual es una gran cantidad de dinero para un siempre arriado estudiante universitario.
en Linux para desarrollar PHP con POO empeze utiizando Eclipse y luego una version mas liviana EasyEclipse y al tiempo descubri un Plugin para eclipse que desde entonces se convirtio en mi editor por defecto Aptana en su version 1.5 me ofrecia todo lo que necesitaba, un editor Htlm, Css y Javascritp ademas de su Plugin para PHP me parecio muy bueno a la par con PHPDesigner asi que lo instale pero no como plugin si no en forma independiente.
Lo mejor de Aptana es que es un Fork de Eclipse lo cual me permite tenerlo en windows y linux.
merecen menciones especiales algunos editores que no son mis herramientas principales pero siempre son buena opcion tenerlos instalados o para equipos con bajas prestaciones de hardware.
Windows:
Notepad++: sin lugar a dudas el mejor editor de texto para windows reconoce la sintaxis de una gran cantidad de lenguajes, es liviano, permite trabajar con pestañas y sus Pluggins son muy utiles.
Linux:
GPhpEdit: es un editor bastante liviano pero con soporte drop-down para funciones me gusta instalarlo en los equipos que me sirven de servidores me ha ayudado un par de veces a editar de emergia archivos.
Scite: buena alternativa a Gedit soporta resalto de sintaxis y me parece mas comodo trabajar con el que con el Gedit.
Resumen
Para Java el editor por defecto y el mejor es Netbeans pero es buena alternativa usar BlueJ si se empieza a programar.
Para Php el mejor entorno es definitivamente Aptana, pero si se tiene la version 2 es mejor utilizar el pluggin de la verion 1.5 para php es mucho mejor que el PDT que viene en la version 2. (aca explican como utilizar el plugin de la version 1.5 en la version 2 http://www.bram.us/2010/01/26/installing-the-original-aptana-15-php-plugin-in-aptana-20/ )
actualmente tengo instalada la version 3 de Aptana y me parece muy buena y viene por defecto soporte para PHP no hay que instalarle ningún Pluggin lo único que esta en versión Beta y tiene algunos error.
En Windows siempre es recomendable contar con Notepad++ .
jueves 23 de septiembre de 2010
Convertir Url De Youtube en elemento Embed
Esta semana se me presento un pequeño inconveniente tenia que almacenar en una base de datos la Url de un vídeo de Youtube algo como http://www.youtube.com/watch?v=p4ndDEh-HtE convertirlo en:
pues esto es sencillo con PHP solo es realizar lo siguiente:
Fuente: http://www.daniweb.com/forums/thread239972.html
pues esto es sencillo con PHP solo es realizar lo siguiente:
// url del video de youtube
$url = 'http://www.youtube.com/watch?v=p4ndDEh-HtE';
// se obtiene el identificador del video
preg_match("/v=([^&]+)/i", $url, $matches);
$id = $matches[1];
// el codigo embed de youtube
$code = '';
// se reemplaza el id del video en el codigo embed
$code = str_replace('{id}', $id, $code);
//insertamos el video
echo $code;
Fuente: http://www.daniweb.com/forums/thread239972.html
Suscribirse a:
Entradas (Atom)
