Hoy he participado en una entrevista conjunta en Hacker de hoy en día. Mis compañeros de SpamLoco y Geekotic han estado francamente bien eligiendo navegador 😀
Contenido
Crea plugins para WordPress en una sola línea
aNieto2k hace 5602 días en: hacks, PHP, plugins, Programacion, Wordpress
Hoy Mark on WordPress, publicaba un ejemplo de plugin de una sola línea, con el que hacemos que el panel de planificación de publicación aparezca desplegado por defecto.
add_action('admin_head',create_function('$a', "echo \"<script
type='text/javascript'>\n<!--\naddLoadEvent(function(){if(jQuery('.edit-timestamp')){jQuery('.edit-timestamp').click();}});\n//-->\n</script>\";"),50);
Como vemos la magia de este sistema es gracias a la función create_function()
, con la que podemos crear funciones usandolas como parámetro de la función add_action()
o add_filter()
, funciones que nos permiten añadir funcionalidades a WordPress.
create_function()
create_function(String $args, String $codigo);
Con create_function() generamos funciones y la función nos devuelve el nombre de la función con la funcionalidad que le pasemos como parámetro $codigo
, para los parámetros usaremos el primer parámetro de la función.
//Sin create_function()
function func($str) {
return str_replace("_", "-", $str);
}
//Con create_function()
$func = create_function('$param', 'return str_replace("_", "-", $str);');
Esto me recuerda mucho a la posibilidad de declarar variables como funciones.
// Javascript
var myFunc = function(str) {alert(str);
// PHP
$myFunc = create_func('$str', 'echo $str');
Intentemos convertir en una línea el hack para evitar buscar en las páginas de tu WordPress.
add_filter('query_vars', create_function('$vars', 'array_push($vars); return $vars;'));
Probando Mozilla Firefox 3.1 alpha 1
aNieto2k hace 5602 días en: Actualidad, de la red, estandares, General, web
Esta tarde he visto que la gente de Ars Techinica probaba el interface de usuario de Firefox 3.1. Una versión mucho menos innovadora que la aclamada 3.0, pero interesante tambien.
Despues de descargarla y navegar un rato con ella, pensé que podría extender un poquito ese review.
Apariencia
El aspecto externo, es exactamente igual que Firefox 3, no ha cambiado nada. Únicamente llama la atención el selector de pestañas que me recuerda los malos tiempos de Windows Vista, pero con una mejor sensación (este no se cuelga :D).
Otro cambio, muy esperado por todos los usuarios, es el aspecto de la barra de navegación, en la que, en esta nueva versión, han conseguido reducirla un poco sin perder el aspecto que intentaban buscar en la versión 3.0.
Estándares Web
En cuanto a estándares los resultados son los siguientes:
Acid
Como podemos ver, el incremento en la puntuación con respecto a la versión 3.0 es importante, de un 58/100 llegamos al 84/100. No es un 100/100 pero Roma no se hizo en un día 😀
Selectores CSS3
La implementación de selectores CSS3 es perfecta:
From the 43 selectors 43 have passed, 0 are buggy and 0 are unsupported (Passed 578 out of 578 tests)
Podemos ver en el test que aparece todo «Verde» (correcto), algo lógico viendo como otros navegadores hace ya tiempo que lo integran. La aparición del iPhone 3G tambien ha propiciado este paso ya que las páginas se están volcando en ofrecer contenidos a los que Firefox no puede dejar sin ofrecer.
SunSpider (Test Javascript)
Total: 3322.2ms +/- 3.2%
Si comparamos con resultados que teníamos cuando hicimos la prueba a Internet Explorer 8 beta 1, vemos que en este punto ha cambiado para bien algo realmente soprendente.
- Internet Explorer 8 beta 1: 11713.0ms
- Internet Explorer 7: 72375.0ms
- Firefox 3 beta 3: 16080.6ms
- Safari 3.0.4. Beta: 18012.6ms
- Opera 9.5.9807 Beta: 10824.0ms
Además, el gran Dustin Diaz, nos comenta que esta nueva versión incluye la implementación de querySelector()
y querySelectorAll()
de forma nativa, pudiendo reemplazar para estos navegadores funciones como $$() de MooTools.
var $$ = function(q, b) {
if (b) {
return document.querySelector(q);
} else {
return document.querySelectorAll(q);
}
};
var lis = $$('ul > li:not(".selected"):hover');
Conclusión
Una versión llamada Shiretoko, que dará un pasito más para que nosotros, los usuarios, tengamos una internet mejor. Pese a ser una versión alpha, la sensación ha sido muy agradable.
Detecta el sexo de tus visitantes con su historial
aNieto2k hace 5602 días en: Curiosidades, estandares, javascript, Programacion, web, webdev
Hace unos meses apareció SocialHistory.js, un script desarrollado en Javascript que se aprovecha de una técnica muy ingeniosa en la que reconocer sitios en los que el usuario ha estado previamente.
Para ello se inserta crea un enlace hacia un listado de sitios y se le aplica mediante CSS un color a los enlaces visitados. Mediante Javascript comprobamos si el enlace ha cambiado al color indicado previamente para los enlaces visitados.
<style>
a{color: #000000; display:none;}
a:visited {color: #FF0000; display:inline;}
</style>
//Javascript
function getStyle(el, scopeDoc,styleProp) {
if (el.currentStyle)
var y = el.currentStyle[styleProp];
else if (window.getComputedStyle)
var y = scopeDoc.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
return y;
}
Ahora en Mike on Ads, nos propone un experimento con el que podremos estimar el sexo de nuestro visitante. Para ello comprueba las primeras 10.000 urls de Quantcast y le asigna un valor para conseguir un ratio, con el que estimar un tanto por cierto de hombre y mujer en las url’s visitadas.
Está claro que esto no es más que una curiosidad y que no obtendremos el sexo del visitante, sinó una estimación basada en las páginas que visita. La interesante idea puede dar frutos muy divertidos, … 😀
Cuil, ¿el buscador del futuro?
aNieto2k hace 5602 días en: Actualidad, Curiosidades, de la red
Al parecer un grupo de ex-trabajadores de Google ha desarrollado un nuevo buscador intentando solventar los factores más críticados de Google, la privacidad y los resultados.
Es cierto que Google posee tantos datos nuestros que nos conocen mucho mejor que nuestras parejas, y que los resultados que arroja el buscador no son todo lo buenos que podrían ser, pero lamentablemente no tenemos nada que mejor.
Google se ha hecho con el 90% de la cuota de mercado y dicta las normas en Internet, si no usas su metodología, no existes para el mundo y eso asusta a todos. He aquí uno de los problemas que Google arrastra y que causan ese temor que lo envuelve.
Cuil
Cuil nace como una alternativa a los problemas que los usuarios tienen con Google, e intenta conseguir la confianza del usuario con un interface sencillo y casi sin opciones para que el usuario únicamente busque y encuentre lo que busca.
Actualmente dicen tener 121,617,892,992 url’s indexadas (30 de Julio de 2008), algo realmente escaso comparado con el trillón (americano, para el resto del mundo 1 billón) de páginas que Google indexa hoy en día. Algo que explica los pobres resultados que obtenemos en Cuil.
Curiosidades
Buscando en imagenes de Google (¿como no?) encuentro una entrada de Gizmondo de hace 2 días en la que podemos ver una captura de Cuil, y podemos observar que el número de páginas indexadas no ha cambiado. Lo que personalmente le resta confianza.
La página de resultados, quizas el punto más flojo a nivel estético del navegador. Como opina Diego, el usar una grilla de 2 o 3 columnas de resultados, hacen poco fácil seguir el listado de resultados:
Si probamos a deshabilitar los estilos CSS, nos encontramos con una estructra de tablas REPETIDA, podemos ver claramente que se están cargando el contenido 2 veces, uno para mostrar los resultados en 3 columnas y en 2 columnas, algo que personalmente no comprendo… si ya tienes el contenido en 2 o 3 columnas, ¿¿por que no lo conviertes en vez de tener el contenido repetido en diferentes formatos??
Los resultados son el punto más flojo del buscador, que ya tiene guasa, un buscador que tenga problemas con las busquedas (…. ¿como Google?). Si intentas buscar algo como «Javascript» obtienes:
16,795,866 results for Javascript(Cuil)
frente a los
Resultados 1 – 10 de aproximadamente 537.000.000 de Javascript(Google)
Es importante tambien visualizar el primer resultado que ofrecen cada uno de los buscadores.
Como podemos ver, Cuil nos muestra como primer resultado (o eso entiendo al verlo posicionado a la izquierda y arriba) una página llamada «The Javascript Source» que tiene un contenido relacionado, pero no explica que és ni de que trata. Por otro lado, Google nos ofrece un enlace a la Wikipedia, indicando una descripción de lo que estamos buscando, un resultado mucho más acertado para la mayoría de busquedas y usuarios.
En fín, si quieren competir en busquedas (se trata de un buscador) tendrán que dedicarle mucho trabajo, por el momento no puede llamarse alternativa, únicamente «proyecto de alternativa».
FlickrVisión, el día que FlickR conoció a Flash
aNieto2k hace 5603 días en: Asides, Curiosidades, flash, Programacion, webdev
Si hay algo que Flash hace bien son este tipo de aplicaciones. FlickrVisión es una muestra del potencial de este lenguaje en aplicaciones gráficas basadas únicamente en imagenes. El dinamismo y la fluidez obtenido con Flash para hacer este tipo de cosas, sería demasiado pesado para el procesador del cliente si se desarrollara en Javascript.
WordPress MU 2.6
aNieto2k hace 5604 días en: Asides, Wordpress
WordPress anuncia la versión 2.6 de su versión MultiUsuario, un salto bastante interesante repleto de novedades que harán que los usuarios de MU disfruten de las nuevas ventajas de WordPress 2.6.[Descargar]
5 reglas para darle nombre a tus variables
aNieto2k hace 5604 días en: Curiosidades, Programacion, webdev
Como desarrolladores cada día tenemos que bautizar miles de variables, algunas poco importantes otras de las que depende el funcionamiento correcto de nuestra aplicación. Debido a esto debemos ser consecuentes y tener cuidado y un poco de orden a la hora de ponerles nombre.
Ian Hickman, propone 5 reglas básicas con las que nombrar fácilmente a nuestras variables:
- Crea nombres de variable largos y descriptivos. No seas vago y dale un nombre lo más descriptivo posible, piensa que dentro de 10 años tendrás que revisar ese código (a mi me vale).
- Pon las unidades en los nombres de la variable. Si tu variable informa una medida o algo que pueda ser contado debería incluirse la unidad de medida en la que está el valor de la misma.
- Si estás usando el «Camel Case», piensa en usar «Capitalize». Si los nombres de la variables están compuestos por más de una palabra, evita las mayusculas en la segúnda palabra. (ejemploVariable o Ejemplovariable) (Está es cuestión de gustos…)
- Nunca uses variables con nombre
temp
. Estas variables generalmente ensucian el código ya que no aportan nada, siempre mejor informar que están alojando en su interior aunque sean temporales. int i
es perfecto para pequeños bucles. Nada de usar variables de una sola letra en bucles grandes, es realmente frustrante descifrar un código de 1000 líneas cargado de variables de una sola letra.
En conclusión, debemos pensar que el código SIEMPRE lo revisan un mínimo de 2 personas, en grupos de trabajo serán otros compañeros y en proyectos propios serás tu dentro de X meses (que será una persona completamente diferente que el que desarrolló la primera versión).
Estamos de mudanza
aNieto2k hace 5606 días en: General
Hace unos días le ofrecieron a Carlos (relay) cambiar de servidor dedicado, una máquina mejor al mismo precio. Así que durante este fin de semana miraremos de ir migrando los datos del server antiguo y el server nuevo.
Aviso por si ocurre algo raro, que sepais por que son producidos.
Gracias por la comprensión y siento las molestias.
Firebug Lite 1.2, Buscando las 7 diferencias
aNieto2k hace 5607 días en: estandares, Programacion, web, webdev
A ver si alguien puede decirme, que hay de diferente entre estas imagenes:
Imagen A
Imagen B
Imagen C
Imagen D
Es dificil, ¿verdad? Es normal que sea complicado ya que la gente de Firebug ha conseguido algo realmente sorprendente. Si nos fijamos bien, la imagen A es Firebug 1.2 desde Firefox 3 en MacOs, las demás son Firebug Lite 1.2 sobre Internet Explorer 7 (B), Opera (C), Safari (D).
El resultado es soprendente y es que esta nueva versión de Firebug Lite ha revolucionado el concepto de debug de aplicaciones web. Da igual en que navegador estes desarrollando o teniendo problemas, con Firebug Lite creerás que estás en Firefox, con la confianza y seguridad que eso conlleva.
Recordemos como instalarlo en nuestra aplicación:
- Añadimos entre nuestros tags <head></head> el siguiente código.
<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
o podemos tener un acceso directo en nuestro navegador para poder añadir la funcionalidad a cualquier página.