competencia de fisicoculturismo en la uam iztapalapa
December 5th, 2009
pues aqui pongo unas fotos de una competencia de fisico que se hizo en la uam de iztapalapa, es el primer evento de este tipo que se realiza en todas las unidades de la universidad, en esta competencia solo participaron estudiantes de la uam-i, el nivel es de principiantes ahh y por cierto tambien participaron 2 chavas, una werita que se llama araceli que tiene un nivel bastante alto, y una morenita que tiene nas caderotas


Nuevo buscador de escuelas en skulshit.net …y mas!!
November 26th, 2009
Para ver el nuevo buscador de escuelas en accion dale aqui
pues asi es, despues de pasar algunas semanas buscando un buen autoSuggest, para el sitio por fin lo he encontrado, aunque no he podido adaptarlo a mis requerimiento originales pero el funcionamiento esta bien.
Tenia un serio problema en el sitio en una de las secciones mas importantes que era la subida de fotos, anteriormente subir una foto era un verdadero desorden:
Sistema de subida de fotos anterior
1. Darle click en el boton Subir foto
2. Buscar tu escuela en un formulario
3. Una vez que aparecen los resultados darle click al nombre de tu escuela
4. Dar click una vez mas en otro botonsubir foto
5. Finalmente subir la imagen
Vaya que era un largo camino y con el tipo de usuarios que abundan en la red estoy seguro que 9 de 10 usuarios que visitan skulshit.net habrian desistido de subir una foto incluso despues del segundo paso :S
Bueno desde el inicio del desarrollo del sitio habia pensado en la posibilidad de meter un buscador que autocompleta palabras al estilo google, el problema era que no queria meter javascript al sitio y menos en un punto critico como la subida de imagenes. Pero al final me ha vencido el hecho de que el numero de usuarios que deshabilitan javascript de sus navegadores es realmente insignificante.
EL siguiente problema era encontrar un autosuggest que se adaptara a mis necesidades, estoy hablando de buscar uno ya hecho porque por el momento no tengo ni el tiempo n el conocimiento para programar el mio desde cero, Ahora estuve buscando por un largo rato probando muchos autosuggest modificandolos y tal, la mayoria solo autocompleta palabras buscando coincidencias al inicio de las palabras y al modificarlos para que busquen sobre cualquier coincidencia le aparecen bugs =(, en otros el diseño no se adapta a los colores del skulshit, al final he optado por este:
Al parece era un autosuggest al estilo de hotmail o gmail, en donde escribes una direccion de correo y te la autocompleta ademas de pegarla campo de texto de direcciones. La cosa es que lo he modificado para autocomplete las escuelas que hay en el sitio. el nuevo sistema se reduce a esto:
Nuevo sistema de subida de Fotos
1.Darle click al boton de subir foto
2.Buscar tu escuela (con unas 4 letras aparecera en automatico en las sugerencias)
3.Subir la foto
Pues de esta forma del numero de clicks y el numero de paginas que se cargan al usuario para que pueda subir una foto o escribir un chisme se ha reducido bastante. Pero con el nuevo sistema tambien surgen inconvenientes, veamos porque:
1. Si no tienes javaScript activado en tu navegador ya valio, no va a funcionar el buscador
2. La carga de la pagina ha aumentado considerablemente, esto es porque el autosuggest trabaja con la libreria de mootools y pesa un poquito mas de 40kb
3.Cada que se carga la pagina del buscador se hace una conexion a la bd solicitando el nombre de todas las escuelas registradas, tal vez en este momento el problema no sea grande, pero en el caso de haber una cantidad enorme de escuelas entonces dicha consulta puede tardar algunos segundos.
Veamos algunas imagenes del nuevo sistema:
Paso 1:
Darle click al boton de subir foto

Paso 2:
Teclear algunas letras en el campo de texto y deberia de aparecer la escuela que busco, si no aparecen resultados quiere decir que la escuela no esta registrada aun

Paso 3:
Al ir tecleando mas letras la lista se reduce solo le doy click a mi escuela y me manda al formulario para subir imagenes y listo

Solamente le das Click o Entera alguno de los resultados y te aparece el formulario para subir fotos.

Ahora solo eliges una fotos y le das al boton subir foto y listo.
Ahora cualquiera puede enviar fotos y chismes
Cuando se subio del sitio habia que registrarse para poder publicar un chisme o una foto, esto era porque segun yo los usuarios que quisieran subir una foto debian al menos registrarse en el sitio, esta restriccion era como una especie de cuota por uso del sitio.
Pero pensandolo bien creo que para ser una pagina nueva en internet, no deberia haber semejante tipo de condiciones. Tal vez cuando el sitio tenga un trafico mas pesado entonces si podria hablar de un registro obligatorio.
Puntos en contra de la desicion anterior:
Tal vez mi mayor temor es tener que monitorear el sitio con mucha mayor frecuencia el sitio eliminando imagenes basura, pornografia y todo tipo de mensaje que no tengan nada que ver con el site.
El objetivo de las medidas anteriores es atraer mas visitas al sitio. Por el momento las cosas van bien, al menos por ahora en consultas comunes en google como “chismes escuelas” skulshit aparece en la tercer pagina de resultados lo cual ya es un avanze grande creo yo.
Busqueda binaria con subprocesamiento multiple en java
November 20th, 2009
Pues hace un rato que me intereso bastante el tema del subprocesamiento multiple, sobre todo porque actualmente el tipo de aplicaciones que se requieren son aquellas que se realizan de forma concurrente, y esto se debe al surgimiento de las maquinas muticore, realmente me interesa el tema y se me ocurrio escribir este documento donde he escrito mi primer programa con subprocesamiento multiple :S recorede que alguna vez alguien me conto que estaba trabajando en lenguaje C y tenia una lista de elementos realmente enorme, la lista tenia alrededor de algunos cientos de miles de nodos, su tarea era hacer una busqueda sobre dicha lista, el problema natural era el tiempo de busqueda de los algoritmos que implementaba, segun me conto la solucion que implemento fue la busqueda n-nearia, el caso general de la busqueda binaria, su solucion consistia en dividir la lista en n segmetos de igual tamaño y buscar de manera individual sobre cada uno de esos segmentos.
Actualmente hay maquinas conectadas entre si que comparten poder de procesamiento, en teoria una extension de la solucion de cuate que trabajaba en C, seria implementar una busqueda en una maquina con N cores, donde cada core buscaria en un segmento de la lista aplicando el algoritmo de busqueda n-nearia, lo cual deberia reducir el tiempo de busqueda drasticamente.
Usando plantillas en php (implementacion basica)
November 20th, 2009
Pues ahora quiero escribir sobre un objeto que me ha resultado muy util en algunas de las cosas que he echo y de paso esplicar el uso de algunas funciones del php, en concreto hablaremos de las siguientes funciones
1 2 3 | extract() Metodos magicos __set() y __get() Bufer de salida ( ob_start, ob_get_contents, etc.. ) |
De lo que se trata esto de tener un objeto llamado plantilla al que le puedo asigar un archivo html (la plantilla) y una serie de variables para que se muestren en esa plantilla. Por cuestiones de usabilidad la plantilla se tratara de que el archivo html contenga solo pequeñas lineas de codigo en php para escupir las variables, pero esto no es una regla puesto que una variable podria tener la forma de un array y por lo tanto dentro de la plantilla necesitare un ciclo para poder desplegarla.
En ese sentido se puede ser flexible en cuanto a la cantidad de codigo php que pueda contener una plantilla, pero lo mas adecuado seria mantener la plantilla lo mas limpia posible de codigo php.
¿Porque escribo en este blog?
November 20th, 2009
Estaba escribiendo algo en el blog y me pregunte si tenia alguna utilidad que estuviera escribiendo cosas… pense que escribir en un blog requiere tiempo, dedicacion y esfuerzo y pense en si valia la pena gastar tiempo en escribir.
Luego me acorde de que escribir sobre algun tema en particular refuerza mis conocimientos sobre dicho tema, para mi el escribir es como preparar alguna exposicion ante el publico, para escribir hay que tener los conceptos bien en claro, las ideas bien ordenadas hay que documentarse sobre el tema del que se habla, en pocas palabras hay que pensar y esforzarse.
Tambien me sucedio que me di cuenta de que ya habia escrito algunos documentos en el blog no se 8 o 9 documentos y que se me estaban ocuerriendo muchas ideas sobre las cuales escribir, y en cierto sentido me gusto la idea de escribir del poco conocimiento que tengo.
Contaminacion de variables
November 20th, 2009
La contaminacion de variables o como se le conoce en ingles pollution, es un problema que se presenta en php cuando se tienen enormes bloques de codigo, el problema consiste en que durante la ejecucion del script algunas de mis variables pueden contaminarse es decir cambiar sus valores o inclusive el tipo sin que yo me de cuenta, esto es porque php no exige una declaracion de los tipos de las variables, tampoco hay restricciones en cuanto al tipo que le puedo asignar a la variables, y cuando el codigo es realmente inmeso y existe una gran catidad de variables existe el de que alguna variable importante pierda su valor.
Lo anterior puede derivar en un debugeo del script que exija demasiado tiempo, o tal vez un problema mas grave como un fallo critico en la aplicacion que se este desarrollando y pase desapercibo durante la fase de pruebas.
Actualmente php no implemente el Type Hinting como tal para evitar este problema. Es por eso que php no se considera aun como un lenguaje aceptable para desarrollar software incluso aunque en este momento haya aplicaciones bien escritas como lo es wordpress y muchos otros sistemas de foros que hay en la internet.
Validacion de formularios en php usando objetos
November 16th, 2009
Ahora vamos a hablar sobre el problema de validar formularios, seguramente ya habras hecho algun formulario en php y te haras dado cuenta que en ocaciones es necesario validar los datos que el usuario introduce, por ejemplo lo comun seria que un campo de texto de un formulario destinado a escribir un numero telefonico contega solamente numeros, una cierta cantidad de caracteres y tal vez podria contener guiones. Tal vez habras notado que puedes escribir toda clase de cosas en un formulario y enviar esos datos extraños a un script php para procesarlos, inclusive puedes enviar consultas sql o instrucciones de php, es ahi que por cuestiones de fiabilidad de los datos y seguridad del sistema es necesario la validacion de los datos, antes de cualquier otra accion como su procesamiento o almacenamiento en una base de datos.
Esta perfecto pensaras, lo unico que hay que hacer es validar los formularios y listo!!, resulta que surge otro problema, supon que en el lugar donde trabajas te han pedido validar los formularios del sitio de la empresa, lo que no te dijeron es que el sitio de la empresa tiene mas de 50 formularios y cada formulario tiene alrededor de entre 15 y 20 campos, validar lo anterior es una tarea enorme.
Y el enfoque para resolver este problema es la programacion orientada a objetos, lo cual me permitira reutilizar mucho del codigo que escriba y ahorrarme mucho tiempo.
La idea a de esto es crear una serie de clases que me sirvan para validar los distintos campos de un formulario, por ejemplo una clase para validar una campo telefonico, una clase para validar un campo descripcion, otra clase para validar un campo reservado para un nombre etc, y una clase especial que nos servira para manejar las demas clases.
La clase control sera capaz de darme la siguiente informacion:
- Podra decir si se genero o no un error en el proceso de validacion.
- Podra devolverme un error si es que lo hubo de un campo en especifico.
- Podra devolverme todos los errores generados.
Luego vendran las clases correspondientes para validar los distintos campos, estas clases heredaran de una clase abstracta, el unico objetivo de esto es que todo objeto validador contenga un metodo validar impresindible para el proceso de validacion de formularios, y que tenga a disponibilidad una serie de metodos basicos para validar campos.
¿Que es el polimorfismo?
November 16th, 2009
La etimologia de la palabra polimorfismo hace referencia a “muchas formas”, tal vez de a primera vista la palabra polimorfismo parezca ser un concepto dificil de enteder y tal vez hasta podria asustar a alguien, pero en realidad es un concepto sencillo. Pongamos un ejemplo para familiarizarnos mas con esta palabrota.
Tomemos a los humanos por ejemplo los humanos provenimos biologicamente de una jerarquia superior que son los mamiferos, los mamiferos duermen y nos han heredado la capacidad de dormir, asi que todos los humanos dormimos. Todos los humanos realizamos una accion comun que es dormir… pero existen humanos que duermen de diferentes formas, por ejemplo supongamos que tu duermes de lado, pero tu mama tambien duerme y tal vez duerme con la cara hacia arriba, otras personas duermen en posicion fetal, algunos duermen abrazando la almohada, en fin. La idea de esto es que todos los humanos dormimos pero lo hacemos de formas diferentes.
Lo mismo sucede con los objetos, es posible que la herencia y el polimorfismo sean la base de la programacion orientada a objetos. Veamos el siguiente inconveniente que surge al implementar un sistema de tienda virtual.
Supon que tienes una serie de objetos que represetan los articulos de la tienda, todos estos objetos deben de poder dar su descripcion por ejemplo nombre,precio..etc pero resulta que tienen caracteristicas diferentes y desplegar la descripcion para una television es diferente que para un paquete de frijoles o cualquier cosa que se te ocurra.
Una solucion podria ser la siguiente: meter todos los objetos articulo en un array, recorrer el array y escribir la descripcion del objeto segun la clase de la que provenga, utilizando una serie de if´s
1 2 3 4 5 6 7 8 9 10 11 12 13 | //productos es un array que contiene a los articulos for ( $i=0;$i<sizeof ($productos);$i++ ){ if ( $productos[$i] instanceof television ){ //desplegar la descripcion de la tele }else if ( $productos[$i] instanceof frijoles ){ //desplegar la descripcion para frijoles . . . }else if ( $productos[$i] instanceof claseN ){ // hay tantos if´s como clases de productos tengas :S } } |
Instalacion de ubuntu 8.10 conservando windows xp o vista
November 14th, 2009
Configuracion del bios (si ya sabes hacerlo la instalacion comienza mas abajo)
En este documente esplicare la instalacion de linux ubuntu sobre un disco duro en el cual ya este instalado previamente windows xp. En este tutorial se asume que tienes un disco duro sin particiones y con windows instalado ya sea xp o vista funciona para los dos.
Si ya configuraste tu pc para que arranque desde el cd saltate estos pasos, si no lo haz hecho, es necesario que lo hagas
1. entraremos al bios, para hacer que la maquina arranque desde el cd. prende tu computadora y preciona la tecla suprimir algunas veces, esto varia de compu en compu puede ser que tengas que presionar F8 de cualquier forma al iniciar tu maquina por lo general aparece una pantalla negra donde sale algo como esto
Mi primer programa en php
November 14th, 2009
Antes de iniciar pongamos algunas reglas sobre la mesa.
Para escribir php es necesario un editor de texto, puedes usar cualquiera hasta el bloc de notas de windows, yo en lo personal utilizo homeSite porque te pone las intrucciones de colores, pero tu puedes usar el que te venga en gana
Todo el codigo php que escribas debe de ir DENTRO DE LAS ETIQUETAS < ? ?>; de la siguiente forma:
1 2 3 | < ? todo mi codigo php que escriba... ?> |
Todas las instrucciones en php deben de terminar con un punto y coma