Archive by Author

Portabilidad de MySQL a Oracle y PostgreSQL

Dada la reciente adquisición de SUN por parte de Oracle, MySQL pasa de manos al gigante de las BBDD Empresariales.

En su nota de prensa no nombran la palabra MySQL sino que nombran SUN Solaris (nada dicen de Open Solaris). No pasa nada siendo tan grande cómo es SUN tampoco es un desliz enorme.

Los que tengan miedo de seguir con MySQL tienen dos opciones:

  • Migrar a Oracle
  • Migrar a otra BBDD cómo por ejemplo PostrgreSQL que es Open Source.

De mientras lo más recomendable es ir desarrollando y adaptando códigos para su máxima portabilidad.

La portabilidad es uno de los conceptos clave en la programación de alto nivel. Se define como la característica que posee un software para ejecutarse en diferentes plataformas, el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra. A mayor portabilidad menor es la dependencia del software con respecto a la plataforma.
http://es.wikipedia.org/wiki/Portable

Consejos para escribir SQL portable

En los primeros resultados de google parece un resultado interesante en inglés y su traducción en español.

Hace un tiempo encontré un recurso en inglés sobre Portabilidad SQL dónde enumeraba distintos problemas típicos al realizar una migración (LIMIT de MySQL,VARCHAR2 de Oracle, timestamp en PostgreSQL, …)

XML y frameworks

Hay muchos frameworks que están pensados para ser portables. Busca sí hay reserved words que hagan que tu esquema no sea portable o otras cosas especificas que tu framework no tenga en cuenta (¿uso de comillas dobles?¿uso de mayúsculas?…)

Para más información encontré muy útil el link en inglés que os comentaba Portabilidad SQL

CSS para formularios

He encontrado una página donde nos cuentan distintas posibilidades para dar un aspecto más atractivo a nuestros formularios mediante el uso de CSS viendo cómo quedan en distintos navegadores.

Este es un resumen de los estilos que he visto bien en distintos navegadores.

KAO: No incluye los diferentes elementos select o drop-down box y sus opciones y grupos de opciones por los problemas que dan.

OK : No se incluyen los cuadros de texto tanto los de una linea las múltiples lineas por no encontrar problemas de CSS.

Botones

#el07 {font-family:"Courier New",Courier} /* Different font */
#el08 {font-size:2em} /* Bigger text */
#el10 {font-weight:bold} /* Bold text */
#el11 {padding:1em} /* Increase padding */




Checkbox y Radio buttons

#el04 {border-width:6px} /* Border width */
#el06 {border:none} /* No border */

Disabled

[disabled] { /* Text and background colour, medium red on light yellow */
color:#933;
background-color:#ffc;
}

Fieldset y Legends

#el04 {border-width:6px} /* Border width */
#el06 {border:none} /* No border */
#el07 {font-family:”Courier New”,Courier} /* Different font */
#el08 {font-size:2em} /* Bigger text */
#el09 {font-size:0.5em} /* Smaller text */
#el10 {font-weight:bold} /* Bold text */
#el11 {padding:2em} /* Increase padding */
#el12 {text-align:right} /* Change text alignment */
fieldset p {margin:0}

#el04

Some text.

#el06

Some text.

#el07

Some text.

#el08

Some text.

#el09

Some text.

#el10

Some text.

#el11

Some text.

#el12

Some text.

Para legend los CSS que he visto mejor son:

fieldset {position:relative} /* For legend positioning */
#el01 legend {padding:0} /* Remove padding */
#el02 legend { /* Text and background colour, blue on light gray */
color:#00f;
background-color:#ddd;
}
#el04 legend {margin:0} /* Remove margin */
#el05 legend {border:2px dotted #00f} /* Border width, style and colour */
#el07 legend {font-family:”Courier New”,Courier} /* Different font */
#el08 legend {font-size:2em} /* Bigger text */
#el10 legend {font-weight:bold} /* Bold text */
#el11 legend {padding:2em} /* Increase padding */

File select

#el08 {font-size:2em} /* Bigger text */
#el09 {font-size:0.5em} /* Smaller text */

En este caso para que se vea bien en safari mejor poner un padding o line-height.


Más información

Puedes verificar cómo quedan en otros navegadores en el post original en inglés.

Todos quieren que el buscador de sus páginas sea cómo google

El usuario ya lleva unos años usando google y al acostumbrarse a su potencia y relevancia quiere que sus buscadores funcionen igual pero para sus productos.

El buscador de Outook por ejemplo no les sirve, el buscador de wordpress tampoco, y su buscador desarrollado a medida tampoco.
¿Que se le pide a un buscador?

  • Ordenar por relevancia, a poder ser tan bien cómo lo hace google.
  • Soportar operadores lógicos cómo “OR”
  • Buscar palabras y no frases
  • Frases exactas usando comillas dobles (ej. “frase larga”).
  • Que no tenga en cuenta mayúsculas o minúsculas.
  • No mezclar distintos idiomas.

Una aproximación seria evaluar el número de paginas que la enlazan con esa palabra a nivel interno y también dar valor a la importancia de la palabra en la página (parece en títulos, subtítulos, negrita, imágenes).

Opciones libres

Para no liarse he encontrado un buscador de código abierto desarrollado en PHP llamado Sphider que lo que hace es lo mismo que google:  Una caché de tus páginas para los resultados

Para los que quieran algo más elaborado, pero más complejo, también hay Solr en “java” y un “port en PHP” en Zend Search Lucene

Poco a poco la Internet social está llegando

Aunque facebook haya supuesto un antes y un después, Internet no está en los hogares cómo está ya en Estados Unidos.

La prueba está en estas evidencias

¿Cuantos tienen blog y escriben ni que sea mensualmente?
¿Cuantos escriben “What are you doing?” o “Què et passa pel cap?” en redes sociales ni que sea diariamente?
¿Cuanta gente comparte sus favoritos en delicious.com stumbleupon?
¿Cuantos comentan lo que leen en blogs o foros?
¿Cuantos conocen que es un lector RSS?

Aquí algunos datos de la asociación española de usuarios de Internet del 1996.

Update

Compartir contenido es mejor que votarlo

En la web 2.0 el usuario participa, por lo que nuestro blog y nuestros contenidos deben poder ser dialogados. Los agregadores necesitan del voto y los buscadores en tiempo real muestran lo que está pasando.

Antecedentes

Blogs vs Tiempo real

Hasta ahora la publicación de blogs con sus comentarios y los pingbacks y trackbacks eran el dialogo. Con la irrupción de las redes sociales los contenidos se comentan en facebook, twitter o en otros portales que no son el propio.

Buscador en tiempo real

Me enteré en twitter de socialmention.com que permite realizar búsquedas en distintas web 2.0.

El tipo de contenido lo clasifican de la siguiente manera:

  • blogs
  • micro-blogs
  • favoritos
  • comentarios
  • eventos
  • imágenes
  • noticias
  • vídeos
  • audio
  • preguntas y respuestas

Adaptarse al nuevo paradigma

Con la gran generación de información y el uso de lectores RSS, se deben tomar algunas medidas para evitar la sobrecarga de información:

  • El primer filtro es el autor, en twitter se indica mediante @jrosell
  • Utilizar etiquetas , en twitter se utilizan los #hashtags
  • ConYahoo Pipes puedes filtrar subscripciones enormes pero interesantes según tus criterios.
  • Puedes ajustar lo que les analizando las estadísticas de lectura cómo lo tiene google reader
  • Encontrar en un buscador es mejor que buscar en un agregador.

El correo electrónico

La bandeja de entrada cada vez es más amplia. Los comentarios en nuestros contenidos en otros medios deberían estar en nuestra “bandeja de entrada”. Es por esto que cada vez más, aunque no son suficientes, las empresas configuran avisos cómo google alerts

A partir de ahora…

  • Nuestros lectores no comentan en nuestra página, comentan en su blog y en sus servicios web 2.0
  • Ahora los agregadores son los servicios de “ping” cómo technorati o google blog search.
  • Nuestra bandeja de entrada ahora son los feeds, correos y las alertas.

Menéame o Digg tienen futuro?

Para mi la votación soló servirá en proyectos acotados cómo este de ubuntu , pero no en portales globales con el objetivo de clasificación de la información. La mejor votación es que el usuario haga click, comente, se suscriba , guarde cómo favorito,  pregunte,… en fin, que participe.

Cómo pueden mejorar

Propongo que cada usuario de menéame o digg pueda visualizar la portada de forma personalizada según lo que dicen mis amigos, no todo el mundo.

El objetivo seria que si no te interesa política y tus amigos tampoco les interesa no vas a ver ninguna portada con noticias políticas.