Últimamente, gracias a la empresa dadamobile, me he hartado de los pop-under.
Se trata de ventanitas parecidas a los pop-up pero que se muestran por detrás de todas las ventanas. Esta empresa que vende sintonías para móviles, cambia de música cada cierto tiempo. Cuando me dí cuenta de esta campaña tan agresiva estaba sonando Paulina Rubio
Para hacer un pop-under os recomiendo un script bastante interesante. Recuerda mediante una cookie si el visitante es reincidente en cuyo caso no mostrará el pop-under. Desde luego, yo odio los pop-under tanto como los pop-ups.
Script para generar pop-under
2006-12-31
2006-12-21
Mapas en la web
Resulta muy conveniente colocar en la sección de contacto o en la de localización un mapa que guie al futuro visitante hasta nuestro edificio.
Hay muchas formas de atajar el problema. na de las más sencillas utiliza las herramientas que podemos encontrar en otras webs.
Estoy hablando de los mapas callejeros.
los más utilizados en España serían Viamichelin y Páginas amarillas. Buscaríamos la calle en cuestión y después pondríamos el enlace adecuado en nuestra web.
Ejemplo:
Blasco Ibañez 56 Valencia
Blasco Ibañez 56 Valencia
Blasco Ibañez 56 Valencia
Hay muchas formas de atajar el problema. na de las más sencillas utiliza las herramientas que podemos encontrar en otras webs.
Estoy hablando de los mapas callejeros.
los más utilizados en España serían Viamichelin y Páginas amarillas. Buscaríamos la calle en cuestión y después pondríamos el enlace adecuado en nuestra web.
Ejemplo:
Blasco Ibañez 56 Valencia
Blasco Ibañez 56 Valencia
Blasco Ibañez 56 Valencia
2006-12-12
Blogping, una tremenda herramienta para bloggers
Si actualizas con frecuencia tu o tus blogs, ya estarás utilizando herramientas tipo pingoat o pingomatic. Básicamnete se tratan de servicios web que hacen ping a un conjunto de páginas que tienen en lista.
Pues bien, acabo de encontrar un sencillo programita que realiza las mismas funciones. Pero en este caso, eres tu quien suministra la lista de direcciones de los sitios a los que quieres hacer el ping.
el programa se llama blogping y parece que está realizado en Python.
Os dejo un listado mundial:
Y uno en castellano:
Si conocéis sitios interesantes en castellano o en inglés a los cuales hacer ping...sólo tenéis que decirlo.
Blogs con información al respecto:
Galder.net
Ensight
Mangas verdes
Edito: No me va del todo bien...tendré que curiosear a ver que le pasa...muchos errores
Pues bien, acabo de encontrar un sencillo programita que realiza las mismas funciones. Pero en este caso, eres tu quien suministra la lista de direcciones de los sitios a los que quieres hacer el ping.
el programa se llama blogping y parece que está realizado en Python.
Os dejo un listado mundial:
blogsearch.google.com/ping/RPC2
api.feedster.com/ping
api.feedster.com/ping.php
api.moreover.com/ping
api.moreover.com/RPC2
api.my.yahoo.com/rss/ping
ping.blo.gs/
pinger.blogflux.com/rpc/
ping.feedburner.com
pingoat.com/goat/RPC2
ping.syndic8.com/xmlrpc.php
ping.weblogalot.com/rpc.php
rpc.blogbuzzmachine.com/RPC2
rpc.blogrolling.com/pinger/
rpc.icerocket.com:10080/
rpc.tailrank.com/feedburner/RPC2
rpc.technorati.com/rpc/ping
rpc.weblogs.com/RPC2
services.newsgator.com/ngws/xmlrpcping.aspx
topicexchange.com/RPC2
www.blogdigger.com/RPC2
www.newsisfree.com/RPC
xping.pubsub.com/ping/
Y uno en castellano:
bitacoras.net/actualizado/
ping.bitacoras.com
www.bitacoles.net/ping.php
www.blogsmexico.com/ping
Si conocéis sitios interesantes en castellano o en inglés a los cuales hacer ping...sólo tenéis que decirlo.
Blogs con información al respecto:
Galder.net
Ensight
Mangas verdes
Technorati Tags: ping,pings, blogping
Edito: No me va del todo bien...tendré que curiosear a ver que le pasa...muchos errores
2006-12-07
Usabilidad vs Posicionamiento orgánico
A estas alturas, si trabajáis con grandes proyectos ya os habrán obligado a trabajar bajo el concepto de usabilidad y accesibilidad. No puede dejar de ser un martirio a la hora de iniciarse. Pero sin duda, como cada cosa nueva que se aprende os abre un nuevo campo de actuación en el que mejoraréis el posicionamiento de vuestras webs. De posicionamiento orgánico habló por supuesto. Este tipo de posicionamiento es el natural de una web. El que sólo refleja el contenido de la misma y la forma de codificarlo. Nada de backlinks o posteo incesante en blogs. Bastaría con que tu página esté dada de alta y codificada con todos los turquitos alefecto para estar en las primeras posiciones de los buscadores.
Últimamente Google da demasiada importancia a la antigüedad de la página y a los enlaces de los que disfruta. De esta forma tarda bastante en posicionar contenido web de una página nueva. Todo lo contrario ocurre en sus competidores. Tanto yahoo como live, sobretodo yahoo actualizan muy frecuentemente sus bases de datos.
Es muy fácil buscar algo en el Google y encontrar páginas sin apenas contenido en los primeros puestos. De todas formas el posicionamiento orgánico siempre ayuda.
Recursos de usabilidad
Últimamente Google da demasiada importancia a la antigüedad de la página y a los enlaces de los que disfruta. De esta forma tarda bastante en posicionar contenido web de una página nueva. Todo lo contrario ocurre en sus competidores. Tanto yahoo como live, sobretodo yahoo actualizan muy frecuentemente sus bases de datos.
Es muy fácil buscar algo en el Google y encontrar páginas sin apenas contenido en los primeros puestos. De todas formas el posicionamiento orgánico siempre ayuda.
Recursos de usabilidad
Diferenciar ie7, ie6 y Firefox
Sin duda estos son los navegadores más usados en este momento.
La forma correcta de diferenciar entre estos navegadores consiste en utilizar difentes hojas de estilo para cada uno de ellos.
Se crea una hoja de estilos general que sirve de base, por ejemplo home.css. Y después creamos home_ie7.css y home_ie6.css con cada una de las particularidades de estos navegadores.
En el código html deberemos incluir entre las etiquetas del head lo siguiente:
De esta forma, Firefox y todos los demás navegadores excepto Internet Explorer leerían la hoja de estilos general. Mientras que El IE se comportaría con las hojas de estilo que hemos creado aposta para él.
Más info:
targetting ie7
Css Hacks
Comentarios condicionales de IE
La forma correcta de diferenciar entre estos navegadores consiste en utilizar difentes hojas de estilo para cada uno de ellos.
Se crea una hoja de estilos general que sirve de base, por ejemplo home.css. Y después creamos home_ie7.css y home_ie6.css con cada una de las particularidades de estos navegadores.
En el código html deberemos incluir entre las etiquetas del head lo siguiente:
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="home_ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="home_ie7.css">
<![endif]-->
De esta forma, Firefox y todos los demás navegadores excepto Internet Explorer leerían la hoja de estilos general. Mientras que El IE se comportaría con las hojas de estilo que hemos creado aposta para él.
Más info:
targetting ie7
Css Hacks
Comentarios condicionales de IE
2006-12-01
Aviso legal
Con la llegada de las nuevas leyes españolas la vida del pobre programador de webs se está haciendo más difícil. La confección del dichoso aviso legal en función del tipo de comercio de la web y del tipo de empresa nos puede dar más de un quebradero de cabeza.
Javier Prenafeta nos explica en su blog las partes del aviso legal que debe constar en la web.
Cómo bien dice en su blog, lo normal es copiar, pegar y después modificar a nuestro agrado y gusto.
Si buscamos aviso-legal.html nos aparece los avisos legales generados a partir de un mismo patrón:
....
Estos querían posicionar su aviso legal y de paso decir al mundo que son los únicos que ponen dos guioncitos seguidos en los nombres de los archivos...
Javier Prenafeta nos explica en su blog las partes del aviso legal que debe constar en la web.
Cómo bien dice en su blog, lo normal es copiar, pegar y después modificar a nuestro agrado y gusto.
Si buscamos aviso-legal.html nos aparece los avisos legales generados a partir de un mismo patrón:
es-abraher-sl-aviso-legal.html
es-conservas-la-piedad--s-a--aviso-legal.html
es-obeto-banpro-sl-aviso-legal.html
es-manufacturas-de-canastillas--s-l--aviso-legal.html
es-ispania-restauraciones--sl-aviso-legal.html
es-irudi-biziak-aviso-legal.html
es-deltaclon-s-l-aviso-legal.html
....
Estos querían posicionar su aviso legal y de paso decir al mundo que son los únicos que ponen dos guioncitos seguidos en los nombres de los archivos...
¿Problemas con el ie7 y con el ie6 en el mismo equipo?
Ya ha salido a la "calle" el nuevo Internet Explorer vía actualización de seguridad de Windows Xp y todos nuestros cleintes están empezando a visualizar sus webs con el nuevo navegador... alguno se va a llevar algún susto... espero que no.
De todas formas muchos de nuestros clientes tardarán bastante en actualizar sus equipos. Por eso, deberemos probar nuestros trabajos en ámbas versiones ie6 e ie7. Obviamente en un proyecto que así lo exija también deberemos probarlo en otros navegadores ( digánmelo a mi que navego en Firefox ).
Existe una esxtupenda aplicación con la que puedes instalar varias versiones delnavegador de Microsoft. Concretamente desde la versión 3.0 hasta la actual. Dudo mucho que alguien se instale la versión 3.0. Pero como ejemplo os diré que no vale la pena instalarse nada por debajo de la 5.5. Salvo que el proyecto lo exija por supuesto.
Install multiple versions of IE on your PC
Supongo que al ser versiones, digamos experimentales, no funcionarán todas las características originales. Receurdo que en un programita similar que utilizaba para ver el ie5.0 y el ie5.5 no funcionaba la herramienta vista preliminar. Con lo cual tenía que hacer pruebas de impresión sin cesar.
En fín una herramienta a la que seré bastante asiduo en los próximos meses.
De todas formas muchos de nuestros clientes tardarán bastante en actualizar sus equipos. Por eso, deberemos probar nuestros trabajos en ámbas versiones ie6 e ie7. Obviamente en un proyecto que así lo exija también deberemos probarlo en otros navegadores ( digánmelo a mi que navego en Firefox ).
Existe una esxtupenda aplicación con la que puedes instalar varias versiones delnavegador de Microsoft. Concretamente desde la versión 3.0 hasta la actual. Dudo mucho que alguien se instale la versión 3.0. Pero como ejemplo os diré que no vale la pena instalarse nada por debajo de la 5.5. Salvo que el proyecto lo exija por supuesto.
Install multiple versions of IE on your PC
Supongo que al ser versiones, digamos experimentales, no funcionarán todas las características originales. Receurdo que en un programita similar que utilizaba para ver el ie5.0 y el ie5.5 no funcionaba la herramienta vista preliminar. Con lo cual tenía que hacer pruebas de impresión sin cesar.
En fín una herramienta a la que seré bastante asiduo en los próximos meses.
2006-11-28
Espaciadores con css
Los diseñadores y maquetadores acostumbrados a maquetar con tablas acostumbraban a usar un gif vacio y transparente el cual estiraban y agrandaban hasta conformar la vista deseada, aunque el código resultante fuera de lo más enrevesado.
Con el paso del tiempo, han tenido que amoldarse a trabajar con las hojas de estilo, pero siguen pensando en función de las tablas.
Para espaciar se debería utilizar la propiedad margin del elemento en cuestión.
Un recurrido tip si no queremos tocar ese elemento cosnsite en aplicar estilo al tag de ruptura:
<br style="font-size:2px;"/>
De esta sencilla forma tendríamos un espaciador horizontal que podemos utilizar cuando no queramos tocar los elementos que lo envuelven.
Con el paso del tiempo, han tenido que amoldarse a trabajar con las hojas de estilo, pero siguen pensando en función de las tablas.
Para espaciar se debería utilizar la propiedad margin del elemento en cuestión.
Un recurrido tip si no queremos tocar ese elemento cosnsite en aplicar estilo al tag de ruptura:
<br style="font-size:2px;"/>
De esta sencilla forma tendríamos un espaciador horizontal que podemos utilizar cuando no queramos tocar los elementos que lo envuelven.
2006-11-20
Posicionamiento web
El posicionamiento web es una de las claves de todo proyecto web y muchas veces depende de él su éxito o su fracaso. Últimamente el tema está muy en boga en todo el mundo del desarrollo web y casualmente casi no hay bibliografía al respecto.
Con esto obtenemos un caldo de cultivo perfecto para aquellos visionarios que llegan los primeros al mundo Seo.
Resulta muy frecuente encontrar por la web gente que dice ganar mucho dinero gracias a Adsense y que te vende un libro para que tu mismo consigas tus objetivos...
En realidad, si se puede ganar dinero. Pero todo lleva parejo su conocimiento. Resulta muy útil saber maquetar una web con arreglo al xhtml y a las reglas de usabilidad, manejar el php u otro lenguaje con funciones como el mod_rewrite y leer , leer mucho en los foros...
Con todo eso.. si sabemos maquetar, podemos ser un experto seo en muy poco tiempo. Hay que realizar ciertas pruebas de ingeniería inversa de vez en cuando y probar muchas cosas en páginas dedicadas a eso.
Pero también puedes hacer un curso sobre el tema. Casi no hay, por qué quien va a compartir sus secretos de como hacerse millonario. Yo por mi parte, prefiero ir probando cosas por mi cuenta. Pero cursos como este me parecen indicados sólo para los no iniciados:
Curso seo
libro posicionamiento web
Con esto obtenemos un caldo de cultivo perfecto para aquellos visionarios que llegan los primeros al mundo Seo.
Resulta muy frecuente encontrar por la web gente que dice ganar mucho dinero gracias a Adsense y que te vende un libro para que tu mismo consigas tus objetivos...
En realidad, si se puede ganar dinero. Pero todo lleva parejo su conocimiento. Resulta muy útil saber maquetar una web con arreglo al xhtml y a las reglas de usabilidad, manejar el php u otro lenguaje con funciones como el mod_rewrite y leer , leer mucho en los foros...
Con todo eso.. si sabemos maquetar, podemos ser un experto seo en muy poco tiempo. Hay que realizar ciertas pruebas de ingeniería inversa de vez en cuando y probar muchas cosas en páginas dedicadas a eso.
Pero también puedes hacer un curso sobre el tema. Casi no hay, por qué quien va a compartir sus secretos de como hacerse millonario. Yo por mi parte, prefiero ir probando cosas por mi cuenta. Pero cursos como este me parecen indicados sólo para los no iniciados:
Optimización Web y Posicionamiento en Buscadores
www.eMarketSeo.com (España)
Tipo:CursoMétodo / Lugar:Presencial /
Valencia Duración:4 horas
Precio / Facilidades:150€
Prerrequisitos:Manejo habitual de Internet.
Para qué te prepara:En este curso aprenderemos a sacar todo el provecho a los buscadores de Internet para maximizar las visitas de nuestra página web y cómo consecuencia nuestros ingresos. Search Engine Optimization es cualquier técnica o persona utilizada para mejorar la posición de una determinada página web en los resultados de las búsquedas en los buscadores de Internet con el fin de atraer más visitas.Dirigido a:Webmasters Directivos y Gerentes Responables de Marketing Online Responsables de Ventas por Internet
Curso seo
libro posicionamiento web
2006-11-14
Saltar filtro antispam
Como escribí problemas con spamassasin a veces resulta muy complicado que los boletínes de correo que enviamos a nuestros clientes lleguen sin complicaciones a su buzón de correo.
Cuando enviamos un boletín solemos realizar un bucle con acceso a cada uno de los correos de nuestra base de datos. Esto es básicamente lo mismo que hacen los spammers. por lo que nuestros boletines son detectados como tales.
Hotmail implementó ya hace tiempo un sistema denominado Caller ID. Este sistema detecta la técnica del spoofing. Esto se da cuando se muestra un dominio que no es el actual. Todos alguna vez hemos enviado a algún amigo un correo con la siguiente dirección: bush@whitehouse.gov o esta otra aznar@moncloa.es. Son muestras claras del spoofing.
Cuando Hotmail detecta esta técnica manda nuestro boletín a la carpeta de correo no deseado.
Cómo solución sencilla a este evento describí hace poco una técnica para enviar boletines rápidamente con autenticación stmp.
De todas formas un cliente no contento con la empresa que envía el boletín nos puede calificar como spam. Sobretodo si los boletines son numerosos.
Otro sistema que tendremos que evitar es el de las GreyListing. Básicamente funciona así: el servidor emite un mensaje de error cuando llega un correo de un usuario desconocido. Si se trata de un mensaje manual, nuestro servidor de correo enviará otra vez el correo. Si no lo es, ese mensaje no llegará nunca, ya que los spammers suelen practicar el spoofing.
Para acabar os dejo con un blog jocoso del spam que nos llega a todos.
Cuando enviamos un boletín solemos realizar un bucle con acceso a cada uno de los correos de nuestra base de datos. Esto es básicamente lo mismo que hacen los spammers. por lo que nuestros boletines son detectados como tales.
Hotmail implementó ya hace tiempo un sistema denominado Caller ID. Este sistema detecta la técnica del spoofing. Esto se da cuando se muestra un dominio que no es el actual. Todos alguna vez hemos enviado a algún amigo un correo con la siguiente dirección: bush@whitehouse.gov o esta otra aznar@moncloa.es. Son muestras claras del spoofing.
Cuando Hotmail detecta esta técnica manda nuestro boletín a la carpeta de correo no deseado.
Cómo solución sencilla a este evento describí hace poco una técnica para enviar boletines rápidamente con autenticación stmp.
De todas formas un cliente no contento con la empresa que envía el boletín nos puede calificar como spam. Sobretodo si los boletines son numerosos.
Otro sistema que tendremos que evitar es el de las GreyListing. Básicamente funciona así: el servidor emite un mensaje de error cuando llega un correo de un usuario desconocido. Si se trata de un mensaje manual, nuestro servidor de correo enviará otra vez el correo. Si no lo es, ese mensaje no llegará nunca, ya que los spammers suelen practicar el spoofing.
Para acabar os dejo con un blog jocoso del spam que nos llega a todos.
2006-11-13
Diseño web en Valencia
De vez en cuando todos miramos a la competencia. Para ver que hacen , como lo hacen..
Estoy mirando como están las cosas en Valencia:
Observer
::Bonitas creaciones con webs importantes como la del grupo Llanera
Linkz
::Estuve a punto de trabajar con ellos. La oficina es muy rara una especie de dos pisos con escalera...Por lo que veo en sus portafolios hacen cosas bastantes decentes, creo que también colaboraban en una especie de linex valenciano...
Masmedios
:: Empresa de diseños elegantes
Kiu
:: Una agencia con gran interés en la usabilidad
Aitana
:: Empresa que lo hace casi todo en flash con formatos similares
Tierravirtual
:: Empresa con bonitos diseños en Flash
Artvisual
:: Una empresa a la que le falta un puntito
Inklude
:: Bonitos diseños
Engloba
:: Agencia de diseños muy interesantes, me gustaba más su anterior web.
Pampua
:: Muy cutres
Hooping
:: Muy espectaculares y con un diseño algo antiguo y made in USA, parecen tener una amplia red comercial
Eh! Comunicación
:: No enseñan sus trabajos pero se han currado todo un listado de dominios españoles. Una buena idea SEO.
Canalzeta
:: Cutrísimos. Alguien les debería decir que hay cosas que no se pueden poner en el portfolio...son de Carcaixent
katana
:: Con el nombre de la empresa uno podría pensar que les gustan las katanas. Pero leyendo su web descubro que están lanzando un nuevo portal con el "bonito" nombre de armas de www.armas.es... Me imagino su lugar de trabajo ( igual me paso y les hago una foto) con fusiles por las paredes, toda la peña con cinturones de balas... Menudo mal rollo sería trabajar con ellos.. parecen unos indeseables...
Estudioneto
:: Webs en Flash muy bonitas, pero con múltiples fallos... algunas no tienen cargadores, fallos en las posiciones de películas cargadas dependiendo de la resolución, no tienen puesto el error del embed en el ie... les falta alguien que entienda de programación
Quafys
::Web muy cutre, dudo que sea una empresa. Más bien parece otra cosa...
infomeik
:: Se venden como empresa que hace webs,cd y claro ... posicionan.
Si miras su portfolio verás un sinfín de atrocidades. Casi todas las webs están hechas con plantillas y utilizan para posicionarlas ( no he mirado si lo consiguen ) técnicas de cloaking. Muy deprimentes, pero con un buen comercial supongo.
infoactiu.com
:: Venden lo típico: diseño web, posicionamiento, aplicaciones... y ves el código fuente de su web y resulta que la han hecho con el Frontpage....¡dios!!! menudas perlas son estas. Seguro que si les mando el currículum no entenderán ni la mitad de las cosas que pongo... el Frontpage... ¡que nivel!
..::..seguiré añadiendo webs... me está gustando mucho la sección de empresas cutres..::..
Estoy mirando como están las cosas en Valencia:
Observer
::Bonitas creaciones con webs importantes como la del grupo Llanera
Linkz
::Estuve a punto de trabajar con ellos. La oficina es muy rara una especie de dos pisos con escalera...Por lo que veo en sus portafolios hacen cosas bastantes decentes, creo que también colaboraban en una especie de linex valenciano...
Masmedios
:: Empresa de diseños elegantes
Kiu
:: Una agencia con gran interés en la usabilidad
Aitana
:: Empresa que lo hace casi todo en flash con formatos similares
Tierravirtual
:: Empresa con bonitos diseños en Flash
Artvisual
:: Una empresa a la que le falta un puntito
Inklude
:: Bonitos diseños
Engloba
:: Agencia de diseños muy interesantes, me gustaba más su anterior web.
Pampua
:: Muy cutres
Hooping
:: Muy espectaculares y con un diseño algo antiguo y made in USA, parecen tener una amplia red comercial
Eh! Comunicación
:: No enseñan sus trabajos pero se han currado todo un listado de dominios españoles. Una buena idea SEO.
Canalzeta
:: Cutrísimos. Alguien les debería decir que hay cosas que no se pueden poner en el portfolio...son de Carcaixent
katana
:: Con el nombre de la empresa uno podría pensar que les gustan las katanas. Pero leyendo su web descubro que están lanzando un nuevo portal con el "bonito" nombre de armas de www.armas.es... Me imagino su lugar de trabajo ( igual me paso y les hago una foto) con fusiles por las paredes, toda la peña con cinturones de balas... Menudo mal rollo sería trabajar con ellos.. parecen unos indeseables...
Estudioneto
:: Webs en Flash muy bonitas, pero con múltiples fallos... algunas no tienen cargadores, fallos en las posiciones de películas cargadas dependiendo de la resolución, no tienen puesto el error del embed en el ie... les falta alguien que entienda de programación
Quafys
::Web muy cutre, dudo que sea una empresa. Más bien parece otra cosa...
infomeik
:: Se venden como empresa que hace webs,cd y claro ... posicionan.
Si miras su portfolio verás un sinfín de atrocidades. Casi todas las webs están hechas con plantillas y utilizan para posicionarlas ( no he mirado si lo consiguen ) técnicas de cloaking. Muy deprimentes, pero con un buen comercial supongo.
infoactiu.com
:: Venden lo típico: diseño web, posicionamiento, aplicaciones... y ves el código fuente de su web y resulta que la han hecho con el Frontpage....¡dios!!! menudas perlas son estas. Seguro que si les mando el currículum no entenderán ni la mitad de las cosas que pongo... el Frontpage... ¡que nivel!
..::..seguiré añadiendo webs... me está gustando mucho la sección de empresas cutres..::..
2006-11-09
Patterns para fondos
He encontrado este buen repositorio de patterns, algunas bastante bonitas y totalmente libres para usar. Sin duda un buen sitio para tener ideas a la hora de diseñar un proyecto web.
Podéis echar un vistazo a las características del creador de la página Travis Beckham, director de arte de una empresa de desarrollo web:
Nerd Skills
Extensive knowledge of ActionScript 2.0 using OOP principles and design patterns. A high level of craftsmanship with XHTML, CSS, JavaScript in which separating content, layout and functionality is the foremost goal. Years of experience with PHP and MySQL developing database driven websites. Use of Bash and JSFL to streamline my workflow. Mastery of Photoshop, Illustrator, and Flash.
Parece que entiende bastante... ( sin malas interpretaciones eh)
Free patterns
2006-11-06
Dinahosting: Servicio de caidas
Desde el viernes pasado, varios hostings que tengo albergados en la empresa gallega Dinahosting han tenido varios problemas.
El viernes cuando ya se veía algo de lo que había en el hosting, eso si, con una considerable lentitud, tuve un error en la base de datos en el que se me decía algo así como too many conections. Lo primero que se me ocurrió es que estaban siendo sometidos a un ataque DoS( denegación de servicio ) y les envié un correo a ver que me contestaban.
El sábado cuando me levanté ví que tenía dos correos de Dinahosting. En el primero se me indicaba que habían sufrido un ataque y que a lo largo del viernes todo iría a la normalidad. Y en el otro con fecha anterior se me decía que habían tenido una incidencia y que la estaban solucionando.
No sé si tendrá que ver, pero hace unos días Dinahosting sacó un spot publicitario donde vendía sus productos intentando parecer más humanos que otras compañías.
Es posible que al ser más conocidos a la gente les dé por realizar más ataques a sus ervidores... Ni idea. El caso es que estuvimos un buen rato sin hosting y eso quema bastante.
Estamos pensando en cambiar de hosting claro... es lo primero que se piensa. Es un pensamiento similar a destituir al técnico de un equipo de fútbol cuando el equipo no satisface las expectativas creadas...
El viernes cuando ya se veía algo de lo que había en el hosting, eso si, con una considerable lentitud, tuve un error en la base de datos en el que se me decía algo así como too many conections. Lo primero que se me ocurrió es que estaban siendo sometidos a un ataque DoS( denegación de servicio ) y les envié un correo a ver que me contestaban.
El sábado cuando me levanté ví que tenía dos correos de Dinahosting. En el primero se me indicaba que habían sufrido un ataque y que a lo largo del viernes todo iría a la normalidad. Y en el otro con fecha anterior se me decía que habían tenido una incidencia y que la estaban solucionando.
No sé si tendrá que ver, pero hace unos días Dinahosting sacó un spot publicitario donde vendía sus productos intentando parecer más humanos que otras compañías.
Es posible que al ser más conocidos a la gente les dé por realizar más ataques a sus ervidores... Ni idea. El caso es que estuvimos un buen rato sin hosting y eso quema bastante.
Estamos pensando en cambiar de hosting claro... es lo primero que se piensa. Es un pensamiento similar a destituir al técnico de un equipo de fútbol cuando el equipo no satisface las expectativas creadas...
2006-11-03
Error 404 amigable
Cuando una página no se encuentra sale el tan visto error 404. Supongo que habréis visto alguna vez páginas de error que han sido diseñadas al efecto.
Para utilizar esto, si tenéis un servidor Apache basta con modificar el archivo .htacces que se se encuentra alojado en lo más alto de a raíz de directorios de vuestro servidor.
Colocando la siguiente línea os debería funcionar:
ErrorDocument 404 http://www.tudominio.com/tucarpeta/error.html
Dónde tenéis que haber diseñado la página error.html que más se adapte a vuestras necesidades.
Para utilizar esto, si tenéis un servidor Apache basta con modificar el archivo .htacces que se se encuentra alojado en lo más alto de a raíz de directorios de vuestro servidor.
Colocando la siguiente línea os debería funcionar:
ErrorDocument 404 http://www.tudominio.com/tucarpeta/error.html
Dónde tenéis que haber diseñado la página error.html que más se adapte a vuestras necesidades.
Montarte un server - dns con zoneedit
Cuando estás estudiando montarte un servidor suele ser uno de tus objetivos. Una vez lo cumples lo normal es dejarlo estar, pero a veces viene bien incluso puede ser lucrativo montarte tu propio servidor en casa o en tu empresa.
Los beneficios pueden ser varios, como olvidarte de tener que alojar tus webs en hostings de dudosa calidad, de pagar esos euros de más que sin duda te van a hacer más competitivo...
Como desventajas: pues casi las mismas, tienes que dedicarle tiempo que seguramente tendrás que quitar de tu tiempo libre o del trabajo necesario con los clientes, si recibes un ataque Dos se te puede caer el mundo encima y como haya un corte del servicio eléctrico ni hablamos.
Obviamente, montar un servidor, mantenerlo operativo y eficiente lleva su tiempo, pero al final todo puede repercutir en beneficios.
Una herramienta interesante nos la ofrece esta empresa Zoneedit que nos ofrece ciertas garantías a la hora de dejar de tener conversaciones improductivas con los técnicos de tu compañía de hosting.
Entre los servicios que nos ofrecen contamos con que asociando nuestro dominio con ellos nos ofrecen D.N.S., así como reenvío de correo a las cuentas especificadas entre otros.
Conozco a varias compañías que utilizan estos servicios y no es va nada mal.
Con esto el mundo ya os vería lo que pusierais en el servidor, "sólo" quedaría configurarlo bien.
Los beneficios pueden ser varios, como olvidarte de tener que alojar tus webs en hostings de dudosa calidad, de pagar esos euros de más que sin duda te van a hacer más competitivo...
Como desventajas: pues casi las mismas, tienes que dedicarle tiempo que seguramente tendrás que quitar de tu tiempo libre o del trabajo necesario con los clientes, si recibes un ataque Dos se te puede caer el mundo encima y como haya un corte del servicio eléctrico ni hablamos.
Obviamente, montar un servidor, mantenerlo operativo y eficiente lleva su tiempo, pero al final todo puede repercutir en beneficios.
Una herramienta interesante nos la ofrece esta empresa Zoneedit que nos ofrece ciertas garantías a la hora de dejar de tener conversaciones improductivas con los técnicos de tu compañía de hosting.
Entre los servicios que nos ofrecen contamos con que asociando nuestro dominio con ellos nos ofrecen D.N.S., así como reenvío de correo a las cuentas especificadas entre otros.
Conozco a varias compañías que utilizan estos servicios y no es va nada mal.
Con esto el mundo ya os vería lo que pusierais en el servidor, "sólo" quedaría configurarlo bien.
2006-10-27
Xpertmailer - Correos verdaderos con php
Hace un tiempo me ví obligado a mandar boletines de correo, como ya os he explicado en anteriores "post". Una de las cosas a las que me tuve que enfrentar era a evitar los filtros anti-spam. SI tenéis alguna cuenta con hotmail y estáis suscritos a algún por tal muchas veces os habrán dicho ( los de microsoft) que el remitente no está autentificado o que le falta el "id" de identificación. Este problema suele pasar si mandas los correos simplenmente con php o asp con las funciones habilitadas al efecto. Encontré muy poca literatura al respecto, por lo que me pusé a a mirar e indagar en la web a ver si se me ocurría algo. Enseguida ví que parecía bastante lógico evitar este problema si te conectabas al servidor por smtp e ibas enviando correos como si hubiera una mano humana detrás.
Después de esta idea me puse a buscar como implementarlo y encontré la clase xpertmailer escrita en php que respondía a todas mis dudas y además parecía muy fácil de configurar.
Como ellos mismos dicen:
Muy recomendable si os gusta enviar boletines a troche y moche.
Después de esta idea me puse a buscar como implementarlo y encontré la clase xpertmailer escrita en php que respondía a todas mis dudas y además parecía muy fácil de configurar.
Como ellos mismos dicen:
XPertMailer is a SMTP & POP3 PHP Mail Client that you can use to send and read e-mails in MIME format (text, HTML, HTML embedded images, attachments) towards a localhost, client or relay SMTP servers with optional autentication and TLS/SSL support. Cc and Bcc functionality are included.
Muy recomendable si os gusta enviar boletines a troche y moche.
2006-10-21
Keyword Selector Tool
Una herramienta de Overture... dándole una palabra nos indica las búsquedas realizadas en su buscador en el último mes y búsquedas que contengan esa palabra... bastante interesante para investigar keywords.
http://inventory.overture.com/d/searchinventory/suggestion/
http://inventory.overture.com/d/searchinventory/suggestion/
2006-10-20
Herramientas sobre los dominios
Estas dos herramientas ofrecen características muy interesantes.
En Domain tools la que más suelo utilizar es una que denominan Reverse Ip. Esta herramienta dado un dominio, te enumera la lista de dominios que se albergan en el mismo servidor. Es muy útil cuando necesitas investigar con que compañía tiene contratado el hosting una determinada empresa.
En domjax dispone de herramientas que ya están en otros lugares, como validacion html y AAA y las combina con la "rápida" contratación del dominio elegido.
2006-10-18
Cambiar el formato de fecha
Para nosotros que tenemos el formato distinto a los anglosajones a veces podemos tener verdaderos problemas a la hora de trabajar con bases de datos en inglés y datos en castellano.
Volviendo a mi post anterior, dentro de los registros que tenía que insertar en la base de datos se encontraba un campo fecha y había que pasarlo al formato de fecha que acepta MYSQL.
Para realizar esta tarea, he pensado en hacerlo con las tan recurrentes expresiones regulares.
El formato original sería así:
dd/mm/aaaa
y el formato que queremos obtener:
aaaa-mm-dd
Lo que he hecho es encontrar una regla que me cuadre con el formato:
(\d\d)/(\d\d)/(\d\d\d\d)
Cuando utilizas expresiones regulares, puedes utilizar los paréntesis. Lo que hay dentro puede ser reutilizable. De esta forma colocando entre paréntesis los distintos campos de la fecha, puedo luego cambiarlos de posición.
La barra seguida de la d, \d simplemente indica la presencia de un número entre 0 y 9.
Ahora lo que quiero es sustituir cada vez que encuentra una fecha por el otro formato:
$3-$2-$1
Al colocar el símbolo del dolar seguido del número de bloque indicamos donde queremos que ponga cada campo de la fecha. Los guiones simplemente indican el separador.
Está comprobado su correcto funcionamiento en el Pspad, pero por alguna razón que desconozco no funciona en el editplus.
Como siempre, las expresiones regulares nos sacan de grandes apuros.
Volviendo a mi post anterior, dentro de los registros que tenía que insertar en la base de datos se encontraba un campo fecha y había que pasarlo al formato de fecha que acepta MYSQL.
Para realizar esta tarea, he pensado en hacerlo con las tan recurrentes expresiones regulares.
El formato original sería así:
dd/mm/aaaa
y el formato que queremos obtener:
aaaa-mm-dd
Lo que he hecho es encontrar una regla que me cuadre con el formato:
(\d\d)/(\d\d)/(\d\d\d\d)
Cuando utilizas expresiones regulares, puedes utilizar los paréntesis. Lo que hay dentro puede ser reutilizable. De esta forma colocando entre paréntesis los distintos campos de la fecha, puedo luego cambiarlos de posición.
La barra seguida de la d, \d simplemente indica la presencia de un número entre 0 y 9.
Ahora lo que quiero es sustituir cada vez que encuentra una fecha por el otro formato:
$3-$2-$1
Al colocar el símbolo del dolar seguido del número de bloque indicamos donde queremos que ponga cada campo de la fecha. Los guiones simplemente indican el separador.
Está comprobado su correcto funcionamiento en el Pspad, pero por alguna razón que desconozco no funciona en el editplus.
Como siempre, las expresiones regulares nos sacan de grandes apuros.
Importar muchos registros desde mysql - Heidisql
Recientemente he tenido que trabajar en una base de datos con cerca de 1 millón de registros.Normalmente realizaba la inserción de registros con palabra clave Sql INSERT. Pero esto, a priori, parecía demasiado engorroso para trabajar con tantos registros.
En la base de datos contaba con Phpmyadmin, pero al ir a importar me decía que el tamaño máximo del archuivo csv a importar era de unos 9 kb... obviamente insuficiente.
No me quedaba más remedio que a cceder a la base de datos, repasar mis antiguos conocimientos y estar un buen rato leyendo documentación.
Las órdenes mysql serían similares a las siguientes:
mysqlimport --fields-terminated-by=,
--fields-optionally-enclosed-by=\"
--lines-terminated-by=\n
--host=
--user=
--password=
datos csv.csv
datos.csv: Records:
Pero encontré un front-end para mysql muy sencillo de manejar que me evita pelearme con la consola.
Se trata de HeidiSql
. Una excelente herramienta de trabajo. Productiva casi desde el primer momento y muy rápida en subir los miles de registros ( igual que la consola).
Se ha convertido en una herramienta más de las que tener un enlace en el escritorio sin que cuelgue el sistema.
2006-10-17
Cajas en css
A veces surgen problemas al maquetar estructuras de cajas en css. Hay muchas soluciones al respecto. Os voy a poner una de la más sencillas que suelo colocar en las webs en las que trabajo.
Primero en el código HTML pondremos tantos div como cajas queramos. Los identificaremos con el <div class="cajas"></div>. Después en la correspondiente hoja de estilos les asignaremos sus respectivas propiedades:
.cajas{
float:left;
display:inline;
background-color:#f51c1c;
width:140px;
height:140px;
margin-right:10px;
}
Primero le decimos que la caja flote hacia la izquierda y después le decimos que no genere un retorno de carro con el display inline. De esa forma, las cajas que vienen después se colocaran en la misma lína. Siempre que por su anchura quepan en el contenedor padre.
2006-10-06
Eliminar tildes con php
No suelo tener problemas con las tildes y elementos extraños, Alguna vez cuando son entradas a una base de datos. Cuando es así, utilizo htmlentities y sale el código asociado a ese caracter. Pero si queréis de verdad eliminar las tildes, con php se puede realizar una sencillita función que lea la cadena y que sustituya esos elementos extraños por sus más normalitos.
Esta función la he visto en algo que decir:
function limpiar_acentos($s)
{
$s = ereg_replace(”[áàâãª]”,”a”,$s);
$s = ereg_replace(”[ÁÀÂÃ]”,”A”,$s);
$s = ereg_replace(”[ÍÌÎ]”,”I”,$s);
$s = ereg_replace(”[íìî]”,”i”,$s);
$s = ereg_replace(”[éèê]”,”e”,$s);
$s = ereg_replace(”[ÉÈÊ]”,”E”,$s);
$s = ereg_replace(”[óòôõº]”,”o”,$s);
$s = ereg_replace(”[ÓÒÔÕ]”,”O”,$s);
$s = ereg_replace(”[úùû]”,”u”,$s);
$s = ereg_replace(”[ÚÙÛ]”,”U”,$s);
$s = str_replace(”ç”,”c”,$s);
$s = str_replace(”Ç”,”C”,$s);
$s = str_replace(”[ñ]”,”n”,$s);
$s = str_replace(”[Ñ]”,”N”,$s);
return $s;
}
Espero que le sirva a alguien...
Esta función la he visto en algo que decir:
function limpiar_acentos($s)
{
$s = ereg_replace(”[áàâãª]”,”a”,$s);
$s = ereg_replace(”[ÁÀÂÃ]”,”A”,$s);
$s = ereg_replace(”[ÍÌÎ]”,”I”,$s);
$s = ereg_replace(”[íìî]”,”i”,$s);
$s = ereg_replace(”[éèê]”,”e”,$s);
$s = ereg_replace(”[ÉÈÊ]”,”E”,$s);
$s = ereg_replace(”[óòôõº]”,”o”,$s);
$s = ereg_replace(”[ÓÒÔÕ]”,”O”,$s);
$s = ereg_replace(”[úùû]”,”u”,$s);
$s = ereg_replace(”[ÚÙÛ]”,”U”,$s);
$s = str_replace(”ç”,”c”,$s);
$s = str_replace(”Ç”,”C”,$s);
$s = str_replace(”[ñ]”,”n”,$s);
$s = str_replace(”[Ñ]”,”N”,$s);
return $s;
}
Espero que le sirva a alguien...
2006-10-04
Soporte de css en los boletines de correo
Antes del verano estuve optimizando el envio de boletines. No sólo controlé que se viera bien en outlook, en thunderbird, en the bat y en los más típicos clientes de correo como Hotmail, Yahoo y Gmail. También controlé correos mas "raritos" como los de ozu, wanadoo y sus variantes, mixmail,latinmail y otros que ya no recuerdo.
El resultado fué que siempre había alguno ( de los raritos que no recuerdo sobretodo) en los que se veía fatal. Lo que ví es que no acdeptaba la mayoría de instrucciones css , por no decir la totalidad.
Al final opté por realizar la maquetación con tablas y con imágenes. Simplificando el diseño para no cargar demasiado el boletín. De esta forma la presentación era óptima en todos los correos.
Queda muy mal recibir un correo en el que no se vea nada. Así que por ahora seguiré maquetando de esa forma.
En campaignmonitor han elaborado un interesante estudio sobre la aceptación de la tecnología en css en diversos tipos de correos. Entre ellos los más importantes.
Espero que dentro de poco tenga que maquetar con divs. Ya se me está olvidando lo de las tablas.
2006-09-30
Xampp: Php y Mysql entre otros
A veces pasa que necesitas un entorno para probar y depurar tus aplicaciones web sin tener que acceder al servidor que normalmente utilices.
Para estos casos existen en el mercado varias aplicaciones que te permiten probar estas aplicaciones en tu ordenador sin necesidad de conexiones externas.
Xampp es una de estas aplicaciones.
Las características principales son:
- Apache 2.2.3
- MySQL 5.0.24a
- PHP 5.1.6 & PHP 4.4.4
- phpMyAdmin 2.8.2.4
- FileZilla FTP Server 0.9.18
- OpenSSL 0.9.8c
Y tiene múltitud de addons que puedes instalar aparte.
En mi caso, lo instalé en mi residencia veraniega. Alejado de internet sentía cierta necesidad de conexión. Y en un ordenador antiguo ( pentiumIII 500 Mghz) funciona rápido.
2006-09-14
Redimensionar imagenes con php - GD
Últimamente estoy haciendo mis primeros pinitos con php. Y como todo el mu7ndo comienzo buscando trozos de código que me puedan servir y así poco a poco ir montando mis propios códigos.
Lo que necesitaba en este caso era un código que introdujera una imagen en una carpeta del servidor y al mismo tiempo fabricara el thumbnail.
Estuve buscando por ahí y después de varios intentos encontré este código para redimensionar en forosdelweb.
Casi a la primera el código funcionaba. Pero hubo una cosa que no me gustó.
Normalmente cuando se hace un thumbnail se elige un cuadrado de tanto por tanto. De forma que cuando insertas una imagen que es más grande en su horizontal que en su vertical, el thumbnail toma el valor máximo de ese cuadrado como anchura.
Ejemplo:
si queremos un cuadrado de 120x120 pixeles para que no se nos desmaquete la web
imagen: 2200x1450---> thumbnail 120x79
imagen: 800x1600----> thumbnail 60x120
Total que programé un par de líneas más leyendo los datos de la anchura y la altura del archivo origen y redimensionando en su caso adecuadamente.
También tuve que manejar los ficheros y colocarlos en sus respectivas carpetas y darle los permisos adecuados.
Aquí os pongo el código:
function redimensionar($type, $img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
$defecto = 'img/defecto.jpg';
if(file_exists($img_original)) {
// crear imagen desde original
$type=strtolower($type);
switch($type)
{
case 'jpeg': $img = ImageCreateFromJPEG($img_original); break;
case 'jpg': $img = ImageCreateFromJPEG($img_original); break;
case 'png': $img = ImageCreateFromPNG($img_original); breaK;
case 'gif': $img = ImageCreateFromGIF($img_original); breaK;
case 'wbmp': $img = ImageCreateFromWBMP($img_original); break;
default: $img = ImageCreateFromJPEG($defecto); break;
}
} else {
$img = ImageCreateFromJPEG($defecto);
}
if(!empty($img)) {
$new_w_R = ImageSX($img);
$new_h_R = ImageSY($img);
//$img_nueva_altura = 50;
// se calcula la relación alto/ancho
$aspect_ratio = $new_h_R/$new_w_R;
$aspect_ratio2 = $new_w_R/$new_h_R;
if ($new_w_R >= $new_h_R){
// se ajusta al nuevo tamaño
$img_nueva_altura = abs($img_nueva_anchura * $aspect_ratio);
}
else{$img_nueva_anchura = abs($img_nueva_altura * $aspect_ratio2);}
// crear imagen nueva
$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura);
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_anchura,
$img_nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
}
//inseción de imagen
//$fileName = $max."_".$_FILES['userfile']['name'];
$extension = explode(".",$_FILES['userfile']['name']);
//$fileName = $extension[0].".".$extension[1];
$fileName = $referencia.".".$extension[1];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
//echo $tmpName;
$uploaddir = "/home/tusitio/www/img/";
$uploadfile = $uploaddir . $fileName ;
if (move_uploaded_file($tmpName, $uploadfile)) {
chmod($uploadfile, 0644);
//echo "File is valid, and was successfully uploaded.\n";
//redimensionar
$source=$uploadfile; // archivo de origen
$dest=$uploaddir.$referencia."th.".$extension[1]; // archivo de destino
$dest2=$uploaddir.$referencia.".".$extension[1]; // archivo de destino
// echo "nuevoarchivo ".$dest;
/* $img_nueva_anchura=120;
$img_nueva_altura=120;
$img_nueva_calidad=100;*/
//redimensionar_jpeg($source,$dest,$img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad);
// Ejemplo
redimensionar("jpg",$source,$dest,120,120,95);
redimensionar("jpg",$source,$dest2,500,500,95);
//finredimensionar
} else {
// echo "Possible file upload attack!\n";
//echo 'Here is some more debugging info:';
//print_r($_FILES);
}
Ese es el código que al final utilicé. Espero que os pueda servir.
Lo que necesitaba en este caso era un código que introdujera una imagen en una carpeta del servidor y al mismo tiempo fabricara el thumbnail.
Estuve buscando por ahí y después de varios intentos encontré este código para redimensionar en forosdelweb.
Casi a la primera el código funcionaba. Pero hubo una cosa que no me gustó.
Normalmente cuando se hace un thumbnail se elige un cuadrado de tanto por tanto. De forma que cuando insertas una imagen que es más grande en su horizontal que en su vertical, el thumbnail toma el valor máximo de ese cuadrado como anchura.
Ejemplo:
si queremos un cuadrado de 120x120 pixeles para que no se nos desmaquete la web
imagen: 2200x1450---> thumbnail 120x79
imagen: 800x1600----> thumbnail 60x120
Total que programé un par de líneas más leyendo los datos de la anchura y la altura del archivo origen y redimensionando en su caso adecuadamente.
También tuve que manejar los ficheros y colocarlos en sus respectivas carpetas y darle los permisos adecuados.
Aquí os pongo el código:
function redimensionar($type, $img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
$defecto = 'img/defecto.jpg';
if(file_exists($img_original)) {
// crear imagen desde original
$type=strtolower($type);
switch($type)
{
case 'jpeg': $img = ImageCreateFromJPEG($img_original); break;
case 'jpg': $img = ImageCreateFromJPEG($img_original); break;
case 'png': $img = ImageCreateFromPNG($img_original); breaK;
case 'gif': $img = ImageCreateFromGIF($img_original); breaK;
case 'wbmp': $img = ImageCreateFromWBMP($img_original); break;
default: $img = ImageCreateFromJPEG($defecto); break;
}
} else {
$img = ImageCreateFromJPEG($defecto);
}
if(!empty($img)) {
$new_w_R = ImageSX($img);
$new_h_R = ImageSY($img);
//$img_nueva_altura = 50;
// se calcula la relación alto/ancho
$aspect_ratio = $new_h_R/$new_w_R;
$aspect_ratio2 = $new_w_R/$new_h_R;
if ($new_w_R >= $new_h_R){
// se ajusta al nuevo tamaño
$img_nueva_altura = abs($img_nueva_anchura * $aspect_ratio);
}
else{$img_nueva_anchura = abs($img_nueva_altura * $aspect_ratio2);}
// crear imagen nueva
$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura);
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_anchura,
$img_nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
}
//inseción de imagen
//$fileName = $max."_".$_FILES['userfile']['name'];
$extension = explode(".",$_FILES['userfile']['name']);
//$fileName = $extension[0].".".$extension[1];
$fileName = $referencia.".".$extension[1];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
//echo $tmpName;
$uploaddir = "/home/tusitio/www/img/";
$uploadfile = $uploaddir . $fileName ;
if (move_uploaded_file($tmpName, $uploadfile)) {
chmod($uploadfile, 0644);
//echo "File is valid, and was successfully uploaded.\n";
//redimensionar
$source=$uploadfile; // archivo de origen
$dest=$uploaddir.$referencia."th.".$extension[1]; // archivo de destino
$dest2=$uploaddir.$referencia.".".$extension[1]; // archivo de destino
// echo "nuevoarchivo ".$dest;
/* $img_nueva_anchura=120;
$img_nueva_altura=120;
$img_nueva_calidad=100;*/
//redimensionar_jpeg($source,$dest,$img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad);
// Ejemplo
redimensionar("jpg",$source,$dest,120,120,95);
redimensionar("jpg",$source,$dest2,500,500,95);
//finredimensionar
} else {
// echo "Possible file upload attack!\n";
//echo 'Here is some more debugging info:';
//print_r($_FILES);
}
Ese es el código que al final utilicé. Espero que os pueda servir.
2006-08-17
Pspad: editor de código
Entre el mundo de programadores una herramienta muy utilizada es el editplus. Un programa shareware que sirve como editor en diversos lenguajes. En teoría, sólo es una versión evaluable durante 30 días, pero cuando pasa ese tiempo sólo tienes que aceptar lo que te dice una no muy molesta "ventanita".
Como contrapartida a este programa existe el Pspad. Un editor gratuito con algunos pros y contras respecto al editplus.
Como contra realiza un tratamiento de las expresiones regulares bastante irregular.
Por ejemplo:
si quiero reemplazar todas las comas de un documento y en su lugar poner un salto de línea, haríamos esto:
buscar:,
reemplazar:\n
pues en el Pspad esto no funciona bien. Resulta que hay que colocarse al final del texto y decirle que haga los reemplazamientos hacia atrás y sólo así sale bien. Es un caso un poco raro desde luego.
Como ventaja está la herramienta de formatear el código html. Queda muy bonito si necesitas que tus clientes vean el código. Y consigues que todo lo que hagas tenga la misma indentación.
El mapa de España
Hace tiempo que esta foto que veís más arriba me persigue. El colmo me ocurrió el otro día. Estando en la empresa de un cliente, éste me sirvió unos folios con la estructura de la web a realizar. De repente me señaló: "y un mapa de España" mostrándome el folio en el que había impreso esta imagen.
La verdad es que me resultaba curioso y pensé que sería fácil de encontrar. Me puse a buscar imágenes de España en el google y veía cosas parecidas pero no la misma... cuando descubrí, que yo pensaba como un tio que se dedica a hacer webs y busco "imágenes" no webs... y así fué buscando webs con las palabras mapa de España aparece esta foto...
En el pie de foto, la empresa que supuestamente ha diseñado este dibujo (yo ya no me creo nada) ha puesto lo siguiente:
"
© 2001 Mirador Multimedia. Prohibida su reproducción total o parcial, por cualquier medio, sin autorización expresa por escrito"
madre mia si les dieran un euro cada vez que han utilizado este mapa....
2006-07-25
Comprimir javascript - compressor
Resulta muy útil en determinados proyectos reducir al máximo el tamaño de todos los archivos. También de los archivos javascript. Hace un tiempo mostré un compresor para css y hoy le toca el turno a comprimir los js.
En este enlace podéis encontrar un compresor de javascrit online bastante decente.
En este enlace podéis encontrar un compresor de javascrit online bastante decente.
Sitemaps para google
Recientemente una de mis páginas más antiguas ( casi 10 años) ha desaparecido de google.
Al parecer introduje unos cambios que los robots de google no son capaces de leer. Básicamente la hice dinámica con php e incluía varios include con el menú cabecera y pie de página. También ha habido otros problemas pero esos no eran mios sino del servidor en la cual la tengo.
Como solución más rápida se me ha ocurido introducir un mapa del sitio. Es una página que casi no lo necesita sólo hay 4 páginas que no están en el menú principal.. pero se hace necesario su inclusión...
Para mejorar la lectura de los robots también voy a colocar un archivo especial llamado sitemap.xml y situado en la raíz del sitio.
Básicamente este archivo lleva información sobre las páginas que quieres que los robots indexen.
Un problema que he tenido es que el robot de google es bastante especial y no lee algunas especificaciones que otros robots si leen... son como pequeños gourmets con un gusto muy exquisito cada uno...
Dentro de su web Google sitemaps nos ofrece un variado grupo de soluciones tanto propias como de terceras partes como ellos las llaman.
Estuve probando una de estas soluciones realizada en java y te escaneaba la web en busca de todos tus archivos y te generaba un xml con toda la información, incluidos los links rotos, última modificación, nivel de jerarquía...pero google no entendía ese formato.
Al parecer google tiene su propio formato sitemap.
Al final cansado de buscar algún script que me resolviera el trabajo, me leí la especificación del archivo xml y lo generé con mi teclado.
Veremos lo que tarda Google en indexarme.
Tengo que decir que existen herramientas válidas para trabajar en local, como Simple Map, pero dada la vejez de mi página, la versión local que poseo es un cúmulo de parches y demás... también podría habver replicado la web...eso otro día
2006-07-12
Problemas con SpamAssassin
SpamAssassin es un filtro de correo que puedes configurar para intentar que te llegué poco correo basura.
En los últimos días he estando enviando boletines por correo.. era mi primera vez... y alguno ha sido devuelto por ser detectado como spam...
Este filtro te asigna una puntuación en función de una serie de criterios, algunos bastante curiosos, ya lo veréis. La puntuación va de 0 a 10 y por defecto el filtro está situado a 5. Por lo que si tu correo saca más de 5 es considerado spam y por lo tanto devuelto al remitente... lo que no sabe esta gente es que si te lo devuelven, aprendes de los errores y consigues engañar al filtro... es justo lo que he hecho.
Al ser devuelto, te devuelven también las cabeceras y mi boletín había sido calificado con un 5,3.. mierda un poco más y no es spam..
La puntuación más alta corespondía al criterio SUBJ_ILLEGAL_CHARS. Debe significar algo así como que en el asunto del mensaje existen unos carácteres "ilegales"... repaso mi texto y veo que tiene dos tildes y una eñe... veo que he colocado el charset adecuado y como no encuentro solución ( en algún sitio llego a leer que hay servidores de correo que no están bien configurados y no aceptan el uso de este tipo de carácteres tanto en el 'subject' como en el 'from'. Cómo han sido sólo un par de correos los devueltos (los dos pertenecientes a la misma compañía de hosting) opto por la solución más cómoda. En este caso cambio el texto para eliminar tildes y acentos tanto en el 'desde' como en el 'asunto' y voilà.. tenía un 3 con algo en ese criterio y ahora un 0 con lo que mi correo ya no es detectado como spam.
Si quisiera mejorar mi puntuación veo que hay un punto que también podría mejorar fácilmente:
SUBJ_ALL_CAPS 1.17
Vamos que tengo el 'asunto' en mayúsculas.. si le quitara eso me quedaría con un 0,70. Pero lo voy a dejar así. No creo que nadie haya configurado un servidor con tan sólo un 2.. no le llegaría casi ningún correo
En los últimos días he estando enviando boletines por correo.. era mi primera vez... y alguno ha sido devuelto por ser detectado como spam...
Este filtro te asigna una puntuación en función de una serie de criterios, algunos bastante curiosos, ya lo veréis. La puntuación va de 0 a 10 y por defecto el filtro está situado a 5. Por lo que si tu correo saca más de 5 es considerado spam y por lo tanto devuelto al remitente... lo que no sabe esta gente es que si te lo devuelven, aprendes de los errores y consigues engañar al filtro... es justo lo que he hecho.
Al ser devuelto, te devuelven también las cabeceras y mi boletín había sido calificado con un 5,3.. mierda un poco más y no es spam..
La puntuación más alta corespondía al criterio SUBJ_ILLEGAL_CHARS. Debe significar algo así como que en el asunto del mensaje existen unos carácteres "ilegales"... repaso mi texto y veo que tiene dos tildes y una eñe... veo que he colocado el charset adecuado y como no encuentro solución ( en algún sitio llego a leer que hay servidores de correo que no están bien configurados y no aceptan el uso de este tipo de carácteres tanto en el 'subject' como en el 'from'. Cómo han sido sólo un par de correos los devueltos (los dos pertenecientes a la misma compañía de hosting) opto por la solución más cómoda. En este caso cambio el texto para eliminar tildes y acentos tanto en el 'desde' como en el 'asunto' y voilà.. tenía un 3 con algo en ese criterio y ahora un 0 con lo que mi correo ya no es detectado como spam.
Si quisiera mejorar mi puntuación veo que hay un punto que también podría mejorar fácilmente:
SUBJ_ALL_CAPS 1.17
Vamos que tengo el 'asunto' en mayúsculas.. si le quitara eso me quedaría con un 0,70. Pero lo voy a dejar así. No creo que nadie haya configurado un servidor con tan sólo un 2.. no le llegaría casi ningún correo
2006-07-10
Rediseño de webs - diseño liquido css -
Un tema recurrente en el diseño web se da al encontrarnos con una web de hace 10 años con un diseño casi antediluviano. Enseguida la tarea de un buen comercial consiste en venderles un nuevo diseño.
A este recurrente tema hay que añadir que muchas webs adolecen de una falta casi total de tratameinto para su correcto posicionamiento en los buscadores.
Y como no, está el tema del diseño con tablas.. ahora hay que hacerlo con divs..
Para todo esto en mardiros han escrito un completo ejemplo de como convertir una web realizada con tablas a un diseño líquido basado en css.
A este recurrente tema hay que añadir que muchas webs adolecen de una falta casi total de tratameinto para su correcto posicionamiento en los buscadores.
Y como no, está el tema del diseño con tablas.. ahora hay que hacerlo con divs..
Para todo esto en mardiros han escrito un completo ejemplo de como convertir una web realizada con tablas a un diseño líquido basado en css.
Comprimir hoja de estilos - css - javascript
Cuando subimos todo el contenido de una web a nuestro servidor siempre tratamos de optimizarlo , bien para que sea bien encontrado en función de las palabras de búsqueda que hayamos prefijado o bien en cuanto a su peso y su consiguiente velocidad de descarga.
En cdburnerxp, aparte de ser un sitio dedicado a un software de grabación de cd's también tienen un optimizador de nuestro código de hojas de estilo.
La base de su funcionamiento resulta bien sencilla hasta cierto punto. Por ejemplo, elimina todo los espacios en blanco y perdermos legibilidad del archivo css... pero eso a nuestros lectores no les debería importar. También transforma colores, formatos,.. a su forma escrita más liviana.
"CSS Formatter and Optimiser" está basado en csstidy 1.2, lo cual da bastante confianza.
Si es una hoja de estilos muy complicada con variedad de hacks para soporte de multibrowser... os recomiendo que marquéis la opción de "preserve css". Aunque no comprime tanto, respeta todos los hacks y hace que se siga viendo bien en todos los navegadores.
En cdburnerxp, aparte de ser un sitio dedicado a un software de grabación de cd's también tienen un optimizador de nuestro código de hojas de estilo.
La base de su funcionamiento resulta bien sencilla hasta cierto punto. Por ejemplo, elimina todo los espacios en blanco y perdermos legibilidad del archivo css... pero eso a nuestros lectores no les debería importar. También transforma colores, formatos,.. a su forma escrita más liviana.
"CSS Formatter and Optimiser" está basado en csstidy 1.2, lo cual da bastante confianza.
Si es una hoja de estilos muy complicada con variedad de hacks para soporte de multibrowser... os recomiendo que marquéis la opción de "preserve css". Aunque no comprime tanto, respeta todos los hacks y hace que se siga viendo bien en todos los navegadores.
2006-07-03
Imprimir con css
Si alguna vez habéis realizado diseño multibrowser os habréis llevado muchos dolores de cabeza. Si encima os piden que se debe de ver correctamente al imprimir.. el resultado puede ser un caos.
Si habéis realizado el diseño con
css os habréis dado cuenta de que las características background-color y background-image no se imprimimen salvo que el usuario desee hacerlo y lo haya marcado de esa forma en sus preferencias. Por defecto no se imprimen.
Pero podéis definir una hoja de estilos con lo que intentar amañar un poco el resultado.
Dando el valor adecuado a la característica display:
Display:none; no mostraría el div o elemento al cual se refiere
Display:list-item; Válido para elementos de lista que por alguna razón no los hayas definido como tales.
En la definición de la hoja de estilos, dentro del código html debereís utilizar algo así:
<- LINK rel="stylesheet" type="text/css"
media="print" href="estilos-impresion.css">
<- LINK rel="stylesheet" type="text/css"
media="screen" href="estilos.css">
Si queréis que se imprima en una sóla hoja de tamaño A4, tendréis que poner algo similar a esto:
@media print and (width: 21cm) and (height: 29.7cm) {
@page {
margin: 2.5cm;
}
}
Pero ojito, el contenido debe estar entre esas medidas sino saldrá cortado.
Esto sería muy válido en navegadores como Internet explorer y Firefox. Pero en el otro gran navegador, Opera, no hace falta nada de esto. Le dáis a imprimir y "voilà" casi idéntico al diseño original.
Si no lográis imprimir algo o quereís probar la velocidad de este navegador(almacena las páginas que vas visitando y vuelves a ellas al instante) sólo tenéis que ir a su web y bajar el programa... es gratuito...Opera
Si habéis realizado el diseño con
css os habréis dado cuenta de que las características background-color y background-image no se imprimimen salvo que el usuario desee hacerlo y lo haya marcado de esa forma en sus preferencias. Por defecto no se imprimen.
Pero podéis definir una hoja de estilos con lo que intentar amañar un poco el resultado.
Dando el valor adecuado a la característica display:
Display:none; no mostraría el div o elemento al cual se refiere
Display:list-item; Válido para elementos de lista que por alguna razón no los hayas definido como tales.
En la definición de la hoja de estilos, dentro del código html debereís utilizar algo así:
<- LINK rel="stylesheet" type="text/css"
media="print" href="estilos-impresion.css">
<- LINK rel="stylesheet" type="text/css"
media="screen" href="estilos.css">
Si queréis que se imprima en una sóla hoja de tamaño A4, tendréis que poner algo similar a esto:
@media print and (width: 21cm) and (height: 29.7cm) {
@page {
margin: 2.5cm;
}
}
Pero ojito, el contenido debe estar entre esas medidas sino saldrá cortado.
Esto sería muy válido en navegadores como Internet explorer y Firefox. Pero en el otro gran navegador, Opera, no hace falta nada de esto. Le dáis a imprimir y "voilà" casi idéntico al diseño original.
Si no lográis imprimir algo o quereís probar la velocidad de este navegador(almacena las páginas que vas visitando y vuelves a ellas al instante) sólo tenéis que ir a su web y bajar el programa... es gratuito...Opera
2006-06-29
Centrar contenido e imagen de fondo con css
Hace un tiempo trabajé en un proyecto en el que se necesitaba centrar en vertical y horizontal un pequeño cuadrado y que se viera más o menos igual en todas las resoluciones. También existía una imagen de un fondo con una especie de línea horizontal que debía pasar justo por debajo del cuadradito.
Ni que decir tiene que según la resolución de pantalla ambos elementos se desconfiguraban y opté en su día por "apañarlo" a la resolución más demandada. En este caso la de 1024x768 píxeles.
Estos días trabajando en otro proyecto he tenido la suerte de unir mi experiencia con algo que leí en insomnia.
Aquí se describe como centrar horizontalmente y verticalmente el contenido de un div. en mi caso lo he resuelto así:
body{
background-image:url(images/background.gif);
background-color:#000000;
background-position: center;
background-attachment: fixed;
background-repeat:repeat-x;
overflow:auto;
}
.centrado {
position: absolute;
top: 50%;
left: 50%;
margin-top: -204px; /*Restamos la mitad de alto*/
margin-left: -350px; /*Restamos la mitad de ancho*/
}
Manipulando la imagen adecuadamente se consigue que tanto el contenido como la imagen de fondo estén perfectamente centradas para cualquier tipo de resolución.
La clase .centrado se aplica sobre un div. Para este caso, se trataba de la portada de la web y sólo era necesario este div y su contenido...
Ni que decir tiene que según la resolución de pantalla ambos elementos se desconfiguraban y opté en su día por "apañarlo" a la resolución más demandada. En este caso la de 1024x768 píxeles.
Estos días trabajando en otro proyecto he tenido la suerte de unir mi experiencia con algo que leí en insomnia.
Aquí se describe como centrar horizontalmente y verticalmente el contenido de un div. en mi caso lo he resuelto así:
body{
background-image:url(images/background.gif);
background-color:#000000;
background-position: center;
background-attachment: fixed;
background-repeat:repeat-x;
overflow:auto;
}
.centrado {
position: absolute;
top: 50%;
left: 50%;
margin-top: -204px; /*Restamos la mitad de alto*/
margin-left: -350px; /*Restamos la mitad de ancho*/
}
Manipulando la imagen adecuadamente se consigue que tanto el contenido como la imagen de fondo estén perfectamente centradas para cualquier tipo de resolución.
La clase .centrado se aplica sobre un div. Para este caso, se trataba de la portada de la web y sólo era necesario este div y su contenido...
2006-06-13
Galería en Flash con Photoshop cs2
Una de las nuevas particularidades de esta versión de Photoshop es la inclusión de una galería de imágenes en Flash.
El procedimiento es simple:
Filer->automate->web gallery ... si, lo tengo en inglés
Con esto te sale una ventanita donde le indicas el estilo. Hay muchos, el que nos ocupa en esta sección es el Flash gallery 1.. hay dos modelos más en Flash y muchos más en html.
Debes indicar la carpeta origen de las imágenes y la de destino. El photoshop se arregla de tomar los thumbnails y de darles el tamaño adecuado a como lo hayas configurado... lógicamente hay múltiples características que puedes indicar.
Al final de esto te sale un archivo html dos .js y dos xml , además del pertinente swf y las carpetas con las imágenes.
Un archivo xml está dedicado a las imágenes su nombre su ruta,...
El otro archivo xml, galleryconfig.xml trata de configurar unas cuantas opciones como el ancho y alto del archivo flash el tamaño de los botones y de los thumbnails...
He estado probando esta mañana con esta galería y lo que quería hacer era que apareciera el nombre de la foto ( nombre de referencia del producto), lo malo es que también aparecía la extensión así que borré la extensión en todas las imágenes y en el archivo xml correspondiente y voilà.. perfecto
También se podría haber hecho utilizando la información exif del archivo en cuestión, pero en este caso ese campo estaba vacio y lo que me valía era el nombre.
El siguiente problema que he tenido es que en una región de la escena aparecía "file" seguido del nombre del archivo.. y eso no lo podía quitar.. pero buscando buscando, he encontrado un blog oficial de Macromedia donde te puedes descargar el archivo fla,.. vamos que ya la puedo tunear a mi antojo...
A disfrutar de esta sencilla y efectiva galería
ah, os podéis bajar el fla del blog de Mike Downey
El procedimiento es simple:
Filer->automate->web gallery ... si, lo tengo en inglés
Con esto te sale una ventanita donde le indicas el estilo. Hay muchos, el que nos ocupa en esta sección es el Flash gallery 1.. hay dos modelos más en Flash y muchos más en html.
Debes indicar la carpeta origen de las imágenes y la de destino. El photoshop se arregla de tomar los thumbnails y de darles el tamaño adecuado a como lo hayas configurado... lógicamente hay múltiples características que puedes indicar.
Al final de esto te sale un archivo html dos .js y dos xml , además del pertinente swf y las carpetas con las imágenes.
Un archivo xml está dedicado a las imágenes su nombre su ruta,...
El otro archivo xml, galleryconfig.xml trata de configurar unas cuantas opciones como el ancho y alto del archivo flash el tamaño de los botones y de los thumbnails...
He estado probando esta mañana con esta galería y lo que quería hacer era que apareciera el nombre de la foto ( nombre de referencia del producto), lo malo es que también aparecía la extensión así que borré la extensión en todas las imágenes y en el archivo xml correspondiente y voilà.. perfecto
También se podría haber hecho utilizando la información exif del archivo en cuestión, pero en este caso ese campo estaba vacio y lo que me valía era el nombre.
El siguiente problema que he tenido es que en una región de la escena aparecía "file" seguido del nombre del archivo.. y eso no lo podía quitar.. pero buscando buscando, he encontrado un blog oficial de Macromedia donde te puedes descargar el archivo fla,.. vamos que ya la puedo tunear a mi antojo...
A disfrutar de esta sencilla y efectiva galería
ah, os podéis bajar el fla del blog de Mike Downey
2006-06-07
Radio webmaster
Estaba leyendo un interesante artículo de unos expertos en el manejo de la maquetación con css, cuando en la misma web comunican que el día tal, a tal hora van a salir en la radio charlando sobre hojas de estilo y posicionamiento (SEO).
Al parecer existe en la red una radio especializada en asuntos de webmasters. Esta es su dirección:
http://www.webmasterradio.fm/
Ellos se definen de esta forma:
"WebmasterRadio.FM is lifting the "veiled curtain" called the Internet to bring the business community together through an interactive, Internet based radio network. WebmasterRadio.FM offers an all-star line up of radio shows hosted by the most respected names in the Internet business world. Here on WebmasterRadio.FM listeners can find programming with a vast appeal to anyone looking to be a part of a community destination and learn industry specific information from the most successful marketers and technology experts in the world. The LOUNGE (formally the chat room) is open 24/7 allowing listeners to communicate with each other, from around the globe in real time."
Parece un buen lugar para el intercambio de conocimientos... lo probaremos...
Al parecer existe en la red una radio especializada en asuntos de webmasters. Esta es su dirección:
http://www.webmasterradio.fm/
Ellos se definen de esta forma:
"WebmasterRadio.FM is lifting the "veiled curtain" called the Internet to bring the business community together through an interactive, Internet based radio network. WebmasterRadio.FM offers an all-star line up of radio shows hosted by the most respected names in the Internet business world. Here on WebmasterRadio.FM listeners can find programming with a vast appeal to anyone looking to be a part of a community destination and learn industry specific information from the most successful marketers and technology experts in the world. The LOUNGE (formally the chat room) is open 24/7 allowing listeners to communicate with each other, from around the globe in real time."
Parece un buen lugar para el intercambio de conocimientos... lo probaremos...
Formulario css xhtml a dos columnas
Hace tiempo que cuando tenía que hacer un formulario aún recurría a maquetar con tablas. pero hoy he intentado hacerlo por fín con css.
Básicamente jugando con float:left; y display:block, para los elementos label y dejando de lado los inputs.
El código html sería el siguiente:
<div id="contacto">
<form id="Form" action='mailform.php' method='post' onsubmit="return checkform(this)">
<fieldset>
<legend>Contacto</legend>
<label for="nombre" class="nombre">Nombre</label>
<input id="nombre" class="borde" name="nombre" value="" maxlength="100" type="text" /> <br />
<label for="email" class="" email">Email</label>
<input id="email" class="borde" name="email" value="" maxlength="100" type="text" /> <br />
<label for="telefono" class="telefono">Teléfono</label>
<input id="telefono" class="borde" name="telefono" value="" maxlength="100" type="text" /> <br /><br />
<label for="mensaje" class="mensaje">Mensaje</label>
<textarea id="mensaje" class="borde" name="mensaje" cols="58" rows="8"></textarea><br />
<input id="Submit" name="contact_submit" value="Envía" type="submit" />
</fieldset>
</form>
</div>
y parte del css requerido sería este:
form fieldset label{
margin-top:2px;
display: block;
float: left;
text-align: left;
width:70px;
/*border:1px solid #11aa33;*/
font-size:13px;
height:10px;
}
Hay una web que trata bastante más profusamente el tema: form two columns
Básicamente jugando con float:left; y display:block, para los elementos label y dejando de lado los inputs.
El código html sería el siguiente:
<div id="contacto">
<form id="Form" action='mailform.php' method='post' onsubmit="return checkform(this)">
<fieldset>
<legend>Contacto</legend>
<label for="nombre" class="nombre">Nombre</label>
<input id="nombre" class="borde" name="nombre" value="" maxlength="100" type="text" /> <br />
<label for="email" class="" email">Email</label>
<input id="email" class="borde" name="email" value="" maxlength="100" type="text" /> <br />
<label for="telefono" class="telefono">Teléfono</label>
<input id="telefono" class="borde" name="telefono" value="" maxlength="100" type="text" /> <br /><br />
<label for="mensaje" class="mensaje">Mensaje</label>
<textarea id="mensaje" class="borde" name="mensaje" cols="58" rows="8"></textarea><br />
<input id="Submit" name="contact_submit" value="Envía" type="submit" />
</fieldset>
</form>
</div>
y parte del css requerido sería este:
form fieldset label{
margin-top:2px;
display: block;
float: left;
text-align: left;
width:70px;
/*border:1px solid #11aa33;*/
font-size:13px;
height:10px;
}
Hay una web que trata bastante más profusamente el tema: form two columns
2006-06-04
Ordenar tablas por javascript
Recientemente he tenido que indagar en la red sobre el problema de ordenar tablas.
Estaba enfrascado en resolver cómo ordenar una lista de precios sin tener que recurrir a php y a bases de datos. Se trata de un proyecto de muy bajo presupuesto. Pero podría haber más similares, de ahí mi interés...
Encontré este útil script realizado en javascript tablesort.js
Está realizado por frequency-decoder
El ejemplo que podéis observar, nos muestra una tabla bastante bonita y eficiente.
Os remito directamente a las páginas descritas para que probéis su código
Opentrand - traductor open-source
Tres firmas de soluciones informáticas y cuatro universidades españolas han desarrollado el primer sistema de traducción automática en programario libre que permite traducir textos, documentos y páginas web del castellano al catalán, gallego y vasco, y desde el catalán y el gallego al castellano.
El traductor, que lleva el nombre de Opentrad, ya está en funcionamiento y es utilizado, por ejemplo, para la traducción de documentos por la administración pública gallega, ya que es el primer sistema de traducción que existe del gallego al castellano.
Mientras que ya existen otros traductores bidireccionales entre el catalán y el castellano, éste es el primero que se desarrolla en programario libre, lo que permite su uso gratuito y su acceso rápido a través de la pagina web Opentrad.com.
En el caso del vasco, Opentrad es el primer traductor que existe del castellano al euskera, pese a que el sistema desarrollado es sólo un prototipo, ya que de momento los errores que comete no le permite alcanzar la calidad mínima.
La dificultad del análisis lingüístico de la lengua vasca tampoco han hecho posible, de momento, la traducción del vasco al castellano.
El proyecto de este traductor, financiado por el Ministerio de Industria ha sido ideado por un consorcio formado por la Universidad Politécnica de Cataluña (UPC) junto a las universidades del País Vasco, Alicante y de Vigo, así como la empresa Eleka Ingeniaritza Linguistikoa y la fundación Elhuyar, del País Vasco, y la firma Imaxin Software, de Galicia.
Durante su presentación, los responsables del proyecto han hecho una demostración de su uso y han destacado el hecho de que «cualquiera puede descargarse este programario y sus recursos lingüísticos y adaptarlos luego a sus necesidades», según explicó Iñaki Arantzabal, de la Universidad del País Vasco. Hasta el momento se ha implantado en la Voz de Galicia y el Correo Gallego.
El margen de error del sistema entre el español y el catalán es del 3,8% y entre el español y el gallego, del 4,8%, índice que se considera óptimo; mientras que el del español al euskera es de 24,8%. El traductor acepta de momento los formatos Txt, Rtf Y Html, y próximamente incluirá también el Doc, de Microsoft Word. Pese a que la arquitectura informática del traductor está preparada para intentar la traducción entre las lenguas cooficiales de España, los responsables del proyecto han apuntado que es un proyecto que no está previsto por la falta de interés tanto en el ámbito empresarial como de las administraciones.
El traductor, que lleva el nombre de Opentrad, ya está en funcionamiento y es utilizado, por ejemplo, para la traducción de documentos por la administración pública gallega, ya que es el primer sistema de traducción que existe del gallego al castellano.
Mientras que ya existen otros traductores bidireccionales entre el catalán y el castellano, éste es el primero que se desarrolla en programario libre, lo que permite su uso gratuito y su acceso rápido a través de la pagina web Opentrad.com.
En el caso del vasco, Opentrad es el primer traductor que existe del castellano al euskera, pese a que el sistema desarrollado es sólo un prototipo, ya que de momento los errores que comete no le permite alcanzar la calidad mínima.
La dificultad del análisis lingüístico de la lengua vasca tampoco han hecho posible, de momento, la traducción del vasco al castellano.
El proyecto de este traductor, financiado por el Ministerio de Industria ha sido ideado por un consorcio formado por la Universidad Politécnica de Cataluña (UPC) junto a las universidades del País Vasco, Alicante y de Vigo, así como la empresa Eleka Ingeniaritza Linguistikoa y la fundación Elhuyar, del País Vasco, y la firma Imaxin Software, de Galicia.
Durante su presentación, los responsables del proyecto han hecho una demostración de su uso y han destacado el hecho de que «cualquiera puede descargarse este programario y sus recursos lingüísticos y adaptarlos luego a sus necesidades», según explicó Iñaki Arantzabal, de la Universidad del País Vasco. Hasta el momento se ha implantado en la Voz de Galicia y el Correo Gallego.
El margen de error del sistema entre el español y el catalán es del 3,8% y entre el español y el gallego, del 4,8%, índice que se considera óptimo; mientras que el del español al euskera es de 24,8%. El traductor acepta de momento los formatos Txt, Rtf Y Html, y próximamente incluirá también el Doc, de Microsoft Word. Pese a que la arquitectura informática del traductor está preparada para intentar la traducción entre las lenguas cooficiales de España, los responsables del proyecto han apuntado que es un proyecto que no está previsto por la falta de interés tanto en el ámbito empresarial como de las administraciones.
2006-05-24
Hack ie firefox con las css
Muchas veces os habrá pasado que no se diseñáis una página y no se visualiza igual en internet explorer y en el firefox.
Hay un sencillo truquito o hack que mediante las css podemos emplear apra distinguir entre navegadores se trata de colocar un caracter antes de la definición del estilo.
Internet explorer se lo traga todo así que también leerá lo que siga, mientras que los demás navegadores, más standard lo veran como un error y pasarán a la siguiente línea.
Ejemplos:
margin-top:10px;
]margin-top:0px;
En este caso internet explorer establecería un margen superior de 0px y firefox y los demás navegadores de 10px.
Como caracter yo suelo utilizar "]", pero se pueden utilizar otros como "_" y más...
Hay un sencillo truquito o hack que mediante las css podemos emplear apra distinguir entre navegadores se trata de colocar un caracter antes de la definición del estilo.
Internet explorer se lo traga todo así que también leerá lo que siga, mientras que los demás navegadores, más standard lo veran como un error y pasarán a la siguiente línea.
Ejemplos:
margin-top:10px;
]margin-top:0px;
En este caso internet explorer establecería un margen superior de 0px y firefox y los demás navegadores de 10px.
Como caracter yo suelo utilizar "]", pero se pueden utilizar otros como "_" y más...
2006-05-01
Haga clic para activar y usar este control - activar contenido flash
Ya hace un tiempo que microsoft en una de sus últimas actualizaciones puso el famoso cartelito en los controles activex.. todo viene a raíz de una demanda judicial de una empresa que tiene patentado la inclusión de objetos ... así que con las etiquetas object, applet, o embed pasan estas cosas.. son 560 millones de dolares los que pide la empresa Eolas por utilizar su patente
Hay varias soluiones circulando por ahí: la solución de Adobe
Básicamente consiste en crear una función que escriba el código < object > y demás.
function ActivarFlash()
{
document.write('< OBJECT ...\n');
document.write('< PARAM NAME="movie" VALUE="---.swf">\n');
document.write('< PARAM NAME="quality" VALUE="high">\n');
document.write('< PARAM NAME="BGCOLOR" VALUE="#404040">\n');
document.write('< embed src="---.swf" ...>\n');
document.write('</embed>\n');
document.write('</object>\n');
}
esto se colocaría en un archivo externo. por ejemplo: activar.js
En la cabecera del archivo pondríamos:
< script src="js/activar.js" type="text/javascript"></script>
y luego < script type="text/javascript">ActivarFlash();</script> donde va colocado el flash.
Cómo os podéis imaginar la cosa se complica cuando tenéis varios flash en la página.
Encontré una solución hace unos días. se trata de utilizar el dom para ir activando uno a uno cada object que se encuentra.
Creas un js. Lo llamas activaractivex.js y pegas este código:
objects = document.getElementsByTagName("object");
for (var i = 0; i < objects.length; i++)
{
objects[i].outerHTML = objects[i].outerHTML;
}
Al final del todo o detrás del último object insertas la siguiente linea:
< script type="text/javascript" src="activaractivex.js"></script>
Esto viene muy bien si tienes plantillas dinámicas con poner estos códigos en la cabecera y en el pie de página te ahorras ir página a página...
Suscribirse a:
Entradas (Atom)