Archive by Author

Game over

Proyecto-f llega a su fin. Falto de motivación apenas he redactado nada este último mes, decidí desconectar un tiempo para ver si las cosas volvían a la normalidad pero no ha sido el caso.

Se me ocurre poco que decir para esta despedida. Simplemente agradecer a aquellos que nos visitabais regularmente, aquellos que nos animasteis con vuestros comentarios y también a webs como illasaron por darnos un empujón.

Me queda un gran recuerdo de todo esto. He aprendido muchísimo por una cosa o por otra. Experiencias que sin duda me serán de gran utilidad en el futuro.

Todo un placer, Mikel

P.D: El blog seguirá online, son muchas horas de trabajo entre artículos y vídeos como para cerrarlo así sin más :)

Buenas prácticas de desarollo web

El desarrollo de un front-end html parece sencillo, pero lograr un código limpio, semánticamente correcto y compatible con los distintos navegadores termina por ser un duro trabajo. A continuación os dejo un estracto de un post original de catwhocode en el que se hace un repaso a 10 buenas prácticas para el desarrollo web.

  • Añade comentarios en el cierre de las etiquetas html para facilitar la comprensión del código de un solo vistazo
  • Resetea los valores CSS por defecto del navegador antes de empezar con el diseño
  • No uses @import para linkar hojas de estilos. Es mucho más lento que el método tradicional.
  • Optimiza el tamaño de tus imágenes con aplicaciones online como smush it
  • Procura no mezclar html y css mediante atributos style
  • Procura no mezclar html y javascript. Linka siempre a ficheros externos .js y evita eventos inline como onClick
  • Incluye las hojas de estilos especificas para IE6/7 mediante condicionales (<!–[if lte IE 6]>)
  • Coloca los ficheros javascript al final del documento para mejorar la carga de la página
  • Usa HTML semánticamente. Ajem: Agrupa elementos “hermanos” como los items de un menu en <ul> u otro tipo de etiquetas que los agrupe
  • Comprueba la compatibilidad entre navegadores según vas programando, y no al final del diseño, para evitar futuros dolores de cabeza

Ley Sinde

Tal y como se puede leer en la noticia enviada por knox, el proyecto de ley de Economía Sostenible ha sido aprobado.

Seriesyonkis, una de las webs más visitadas de nuestro país, echo el cierre ayer como medida de protesta y aviso de lo que está por venir.

Poco queda por comentar que no se haya dicho ya. La ley será debatida ahora en el congreso y parlamento y si no hay sorpresas (tan solo IU, ERC y UPyD se oponen a ella) cientos de webs de intercambio de contenido echarán el cierre.

El Manifiesto en Defensa de los Derechos Fundamentales en Internet está siendo republicado como muestra de desacuerdo. He de reconocer que soy bastante pesimista y pienso que si no funciono la primera vez de lo hará ahora.

Toca asumir que los internautas hemos fallado al ser incapaces de movilizarnos más allá de las pantalla de nuestros ordenadores (¿50 personas en la manifestación de bilbao? ¿Cuantas en otras ciudades?)

Enlaces de interés: La pantomima de una democracia (blog de enrique dans)

Parseando HTML con PHP, ejemplo real

Los artículos sobre programación que escribo podrían dividirse en dos grupos:

  1. Artículos sobre librerías que me gustan y uso habitualmente
  2. Artículos sobre librerías que aún no he usado pero me gustaría probar en próximos proyectos que den pie a ello

Así pues, de cuando en cuando me convierto en un lector más del blog en busca de esos artículos sobre los que escribí tiempo atrás y necesito ahora. Esta vez se trataba de PHP Simple HTML DOM Parser.

Poniéndonos en contexto:
Una de las web que he iniciado recientemente trata sobre metal alternativo y myspace se ha convertido en un herramienta imprescindible a la hora de buscar noticias y fechas de conciertos. Para el tema de las noticias no había problema, el mismo myspace organiza bastante bien las noticias de los grupos de los que eres “amigo”.

Las fechas de giras en cambio eran un poco más sangrantes y no quedaba otra que visitar la ficha de los grupos una por una para dar con las nuevas fechas (esto cuando quieres cubrir más de 200 grupos puede ser un autentico infierno).

La solución:
Ya tenía la url al myspace de cada grupo en base de datos y la solución más obvia pasaba por crear un script que recogiera y parseara automáticamente el html de esta. El resultado: la tabla de conciertos del grupo mostrada directamente en el panel de administración mi página.

El código:
Como ya vimos en su día, el uso de simple HTML Dom Parser es sencillisimo (más aún si estamos familiarizados con jQuery) y bastaron unas pocas líneas para cumplir con el cometido:

$html = file_get_html($url);
$item = $html->find('div#profile_bandschedule', 0)->find("table[bgcolor=#ffffff]",0);

if($item != '')
	return '<table><tr><td>'.$item->xmltext().'</td></tr></table>';
else
	return '';

Nuevo artwork para Ubuntu

En ubuntu 9.10 ya se rumoreo sobre la posible inclusión de un nuevo theme que reemplazaría a human, rumor que no se materializo en aquella ocasión pero si ahora. Ya es oficial, Ubuntu 10.04 dejara atrás el clásico tema anaranjado para incorporar un nuevo artwork denominado Light.

Capturas de pantalla y arranque:



PD: Entre las novedades también encontramos soporte nativo para los iPhone e iPod touch de Apple

freaklances, la serie

La semana pasada di con una miniserie flash llena de humor que os traigo a continuación. Con solo 3 meses de vida, esta aventura animada ha tenido un recibimiento espectacular y para el segundo capitulo ya contaba con más de 1.500 fans en facebook.

¿Trabajas en publicidad convencional o interactiva por cuenta propia? ¿vendes tus fotos al mejor postor? ¿trabajas desde haces años en una empresa pero como autónomo? ¿Has creado guiones instruccionales para elearning en tu casa? ¿Eres realizador de vídeo independiente? Si has contestado afirmativamente a alguna de estas preguntas no lo dudes … eres o has sido “Freaklance”

Este vídeo corresponde al segundo capitulo de la serie:

Ver más vídeos de freaklances

Presentación de f-engine

La presentación de hoy me hace especial ilusión, ni se las horas/días/meses que le habré dedicado a esto.

Hoy ve la luz la versión 0.1 de F-engine, un framework php de código abierto (licencia estilo BSD) basado en codeginiter.

Vídeo de presentación: Creando un blog sencillo con F-engine


Los rótulos del vídeo están en ingles pero son bastante sencillos (Si alguien encuentra fallos gramaticales se agradecería el aviso para poder corregirlos).

Diferencias con codeigniter

  • Nuevas funciones para base de datos que he llamado “quick queries”
  • Mejoras en la organización de controladores: Los controladores aceptan n sub-directorios
  • Por defecto los controladores de f-engine aceptan una sola función pública asociada a la URL (Modificable mediante la función _remap).
  • Funciones alternativas para la carga de vistas: Permite la inclusión de variables predefinidas y/o repetitivas desde ficheros externos (Especialmente útil para hojas de estilos, ficheros javascript, cabeceras o pies de página)
  • El nombre de fichero de una vista debe terminar en “_view.php” como convenio
  • F-engine no incluye ninguna biblioteca de scaffolding
  • Viene de “fabrica” con un proyecto denominado admin que incluye un puñado de aplicaciones web. Estas aplicaciones genéricas tienen como objetivo facilitar la gestión y desarrollo de los proyectos, minimizando el tiempo de programación. Destacan su gestor de bases de datos incorporado,database administrator , y new controller wizard: Aplicación para la creación de formularios basados en estructuras de bases de datos a base de clicks
  • El código base es compatible con codeigniter al 98%: No debería llevar demasiado tiempo portar proyectos CI a F-engine y viceversa


Read more

Instalar kde sc 4.4 en Kubuntu

El progreso que ha tenido kde 4 desde sus primeras versiones es surrealista. Solo le han hecho falta pocos más de un año para pasar de ser un escritorio poco usable y peleón a ser , bajo mi punto de vista, el escritorio más puntero disponible en linux hoy por hoy.

Para muestra un botón:

Si sois de esos usuarios que no pueden esperar a que su distro favorita incluya la última versión de este escritorio, podéis seguir lo siguientes pasos para instalarlo en k/ubuntu 9.10.

Read more

jQuery PhotoShoot

La gente de tutorialzine ha creado un excelente post donde detallan el proceso de creación de un script que simula el disparo de una cámara de fotos y muestra su miniatura.

Además de estar visualmente muy logrado, se me ocurre que combinado con un script del lado del servidor puede ser una bonita forma de crear recortes de imágenes.

Ver demo
Descargar código

Rotación de la tierra en after effects

Hace ya algún tiempo desde el último vídeo de edición multimedia.

Euskaltawy, el compañero que se ha encargado todo este tiempo de los vídeos de adobe premiere, lleva tiempo muy ocupado. Ahora además, ha cambiado de trabajo y este le requiere más horas que el anterior. Por lo tanto. la sección de vídeo tutoriales de edición de vídeo queda oficialmente huérfana.

Para paliar un poco la mala noticia, os traigo un vídeo que me han recomendado en youtube. En este se explica como crear el efecto de rotación de la tierra con after effects.

Si os gusta, tenéis muchos más vídeos del mismo autor en su canal de youtube.

Útiles sentencias SQL para wordpress

Si bien el panel de administración de wordpress es muy completo y permite la gestión de casi todo lo que podamos necesitar, en ocasiones puede ser necesario realizar algún arreglo rápido directamente en base de datos.

A continuación os dejo algunas sentencias sql interesantes:

Cambio de contraseña

UPDATE 'wp_users'  SET 'user_pass'  = MD5('PASSWORD') WHERE 'user_login' ='admin' LIMIT 1;

Eliminar revisiones de un artículo y metadatos asociados

DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT  JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

Eliminar todos los comentarios no aprobados

DELETE from  wp_comments WHERE  comment_approved = '0';

Desactivar comentarios en posts antiguos

UPDATE wp_posts SET comment_status = 'closed' WHERE  post_date < '2009-01-01'  AND post_status = 'publish';

Fuente y más sentencias sql en catswhocode

Cargar datos JSON con jQuery

Hace ya unos años que xml dejo su lugar como formato omnipresente en el intercambio de información asíncrona entre navegador y servidor. Json, la alternativa integrada en el corazón los interpretes javascript, se perfilo como una opción más simple y rápida.

Jquery cuenta con al menos tres métodos para simplificar más aun la lectura de este formato.

$.getJSON()

Esta función carga y parsea ficheros json

$.getJSON('/json/somedata.json', function(data) {
    // do something with the data here
});

$.parseJSON()

En caso de tener los datos lleven string, podemos convertirlos a json con este método:

data = $.parseJSON(string);

$.ajax()

también podemos indicarle a jQuery que los datos que recibiremos en una petición ajax están formateados en json:

$.ajax({
    dataType: 'json',
    success: function(data) {
        // do something
    },
    url: '/json/somedata.json'
});

vía electrictoolbox