31 de mayo de 2009

PSP: PSP-Go

Es el nombre de la nueva versión de la PSP que va a ser presentada en la próxima E3. Se han filtrado imágenes e incluso un vídeo.


La semana que viene comprobaremos si los rumores se han correspondido con la realidad.

Aunque sigue sin tener un segundo joystick analógico que es la gran carencia de esta plataforma con diferencia.

Fuente: Engadget.

Faceblog: Resumen semanal

Aquí os pongo el listado de los posts de esta semana de mi blog sobre Facebook, Faceblog:

29 de mayo de 2009

Videojuegos: Dragon Age: Origin



Tiene muy, muy buena pinta. Esperemos que luego no defraude. Saldrá para XBOX 360, PS3 y la plataforma Windows

Wordpress: Versión 0.1b de mi plugin Easter Egg

Hace poco comenté en mi blog (o sea, aquí), que estaba desarrollando un plugin para Wordpress.

Bueno, pues aquí tenéis lista para su descarga y prueba la primera versión beta del mismo.

Por ahora se llama Easter Egg y como su nombre indica sirve para ocultar una pequeña sorpresa dentro de un blog o de una web desarrollada con Wordpress. Esa sorpresa es una foto que se mostrará en pantalla cuando tecleéis la palabra secreta.

Naturalmente el administrador del blog es el que determina la palabra secreta y la imagen a mostrar.

Y ah, para hacerlo más complicado de descubrirlo por casualidad hay que teclear la palabra sólo que cargue la página y sólo se mostrará la imagen una vez por carga.

Os pongo aquí un pantallazo de como queda en mi Blog sobre Facebook, Faceblog:

La palabra secreta en Faceblog es "faceblog".

Para descargar mi plugin para Wordpress Easter Egg 0.1b haced click aquí.


Tened en cuenta que es una beta y seguro que da algún fallo, así que estoy abierto a sugerencias para mejoras, informes de bugs, etc. Daré prioridad a los que vayáis dejando comentarios.

28 de mayo de 2009

Joomla 1.5: ¿Cual es la variable que contiene el idioma con Joomfish?

En Joomla 1.0.x era $mos_config_language, pero en Joomla 1.5.x es la propiedad language accesible vía el objeto $this, o sea, $this->language.

A la hora de trabajar con este componente es la manera más fiable de obtener el idioma activo ya que si utilizáis un $_GET en cuanto se activan los permalinks podéis tener problemas. Y por otro lado utilizar las cookies del navegador para obtener el idioma de Joomla es también jugar con fuego ya que no siempre van a ser fácilmente accesibles o fiables.

En conclusión, $this->language.

Y sí, sé que debería haber publicado este post en mi blog de Joomla para torpes, pero es que no encuentro las claves ;)

El timo del tiempo de permanencia en una página web

En la conferencia de ayer de Ícaro Moyano se hizo referencia a una de las nuevas métricas más de moda en la web 2.0, el tiempo de permanencia en una página web. Por ejemplo, en Tuenti, ese tiempo de permanencia era de 2 horas.

Y no es él único que hace mención a esta métrica, a Enrique Dans también le he oído hablar de esa métrica y a unos cuantos gurús menores.

El problema es que ese sistema de medición es que no sirve absolutamente para nada, están transportando a Internet conceptos de medición caducos ya incluso para la Televisión.

Señores, ¡¡¡Qué los navegadores tienen pestañas!!!, yo por ejemplo según esta métrica paso al día 8 horas en Gmail ya que suelo tener una pestaña abierta con el servicio de correo de Google. ¿Significa eso que estoy 8 horas seguidas devorando el contenido de esta página con fervor y fanatismo?

Por no hablar de las veces que busco algún contenido que me hace falta para programar alguna web y me dejo de fondo abierta y olvidada la página con el tutorial.

En fin, que el tiempo de permanencia en una web vale 0 patatero, o cómo diría mi compañera Bea, vale menos que un amigo Facebook :)

27 de mayo de 2009

Charla de Ícaro Moyano de Tuenti

Hoy he asistido a una charla de Ícaro Moyano, director de comunicación de Tuenti, con unos cuantos compañeros de Nuevas Tecnologías de Grupo Skala.



La charla ha sido muy sencilla y muy directa, enfocada por completo a vender Tuenti como la plataforma social líder en España. Ha descrito el modelo de negocio de Tuenti en líneas generales, una mezcla de agencia de publicidad y medio de comunicación todo en uno, enfocados a grandes cuentas y muy controladores con las camapañas que utilizan su medio.

Tuenti se presenta además como una plataforma muy cerrada que cuida mucho la privacidad de sus usuarios, así que olvidémonos durante una temporada muy larga de la aparición de APIs del estilo de Facebook.

Por último, a Ícaro Moyano no le gusta nada Facebook :D Lo curioso es que tiene su perfil en Facebook creado con 607 amigos :)

26 de mayo de 2009

CSS: Poner texto en itálica o cursiva

Es muy fácil, tan sólo tenéis que aplicarle el estilo font-style:italic;

Os pongo aquí un ejemplo muy sencillo.

Texto de prueba.

He utilizado este código:
Texto de <span style="font-style:italic;">prueba</span>.

VIdeojuegos: Primer trailer de COD: Modern Warfare 2

¡¡¡Tiene una pinta bestial!!!

¡¡¡Lo quiero ya!!! ¡¡¡Lo quiero ya!!!

Ni puedo imaginarme además lo bueno que debe ser su multijugador

¡¡¡Viva Infinity Ward y la madre que los parió!!!


25 de mayo de 2009

Wordpress: Cómo obtener la ruta de tu tema o plantilla

Cuando desarrollas una web o un blog con Wordpress muchas veces tienes que cambiar la instalación de servidor, y claro, si no has tomado las precauciones adecuadas se te puede romper por completo la visualización de la plantilla.

La manera de evitarlo es utilizar las constantes que trae Wordpress. Una de las más importantes es la constante que almacena la ruta de tu template, hasta ahora yo siempre utilizaba bloginfo('template_url'), que contiene la ruta a la carpeta del template, pero esta función ha sido declarada en desuso (deprecated) por lo que en futuras versiones de Wordpress puede que deje de funcionar.

La alternativa ahora es usar get_bloginfo('template_url'), pero a diferencia de bloginfo() que incluía la instrucción de imprimir en pantalla get_bloginfo() sólo devuelve un valor, así que tendremos que imprimirlo nosotros en pantalla con echo.

Os pongo aquí un ejemplo:

<img src="<?php echo get_bloginfo('template_url'); ?>/images/logo.gif" alt="Logo" />

Cómo veis he utilizado echo.

Si queréis saber más sobre las propiedades que puede obtener get_bloginfo haced click sobre este enlace.

23 de mayo de 2009

Javascript: Validar un formulario

Voy a poneros un ejemplo muy sencillo de como validar vía javascript un formulario para que todos sus campos tengan contenido. Una vez mostrado el ejemplo os explicaré en plan sencillo como funciona.

<script>
function validarFormulario(formulario){

if(formulario.nombre.value==""){
alert("El campo nombre está vacío");
formulario.nombre.focus();
return false;
}

if(formulario.apellidos.value==""){
alert("El campo apellidos está vacío");
formulario.apellidos.focus();
return false;
}

return true;
}
</script>


<form action="prueba.html" method="post" onsubmit="return validarFormulario(this)">
Nombre: <input type="text" name="nombre"/>
Apellidos: <input type="text" name="apellidos"/>
<input type="submit"/>
</form>

Bueno, pues con este sencillo ejemplo lo que conseguimos es un formulario con los campos nombre y apellidos que una vez sea enviado correctamente intentará enviar sus datos a prueba.html.

¿Cómo funciona la validación?

Pues muy fácil, por un lado (en la parte de abajo) tenemos un formulario con el evento onsubmit, este evento se activa cuando enviamos el formulario, de tal manera que cuando hagamos click sobre el botón de envío o le demos a la tecla intro se lanzará el contenido de ese evento. Y el contenido de ese evento en concreto es return validarFormulario(this), o sea, que le pedimos a la función validarFormulario que nos devuelva un valor booleano de true(verdadero) o false(falso) para decidir si se envía el formulario, si es true se envía, si es false no.

Vamos a analizar ahora la función de javascript validarFormulario. Si nos fijamos contiene la variable formulario que recoge el valor de this, ¿Y qué es this?, this es el formulario al completo ya que ha sido invocado dentro del formulario, this es literalmente el objeto desde el que se le menciona.

Estamos por lo tanto enviando el valor del formulario y de todos sus elementos a la función validarFormulario por lo que podremos acceder sin problemas al contenido de los campos nombre y apellidos. ¿Cómo accedemos a ellos? Pues bien, la variable formulario ha cargado el contenido de this, por lo tanto tan sólo tendremos que poner formulario.nombre o formulario.apellidos para acceder a esos campos, como lo que nos interesa conocer es si están vacíos o no revisamos la propiedad value, o sea, formulario.nombre.value o formulario.apellidos.value. Realizamos una comparación con "" para ver si están vacíos o no con un if (una condición) con el operador igual (==) y si están vacíos (=="") entonces lanzamos un mensaje de alerta, ponemos el foco en el campo y devolvemos un false. Al devolver la función validarFormulario un false el formulario no se envía.

Como podéis ver en la función, revisamos los campos nombre y apellidos de una manera muy similar. Una vez hemos pasado esas revisiones si no devolvemos ningún false al final de la función devolvemos un true (return true), o sea, que le decimos al formulario que está todo correcto y puede ser enviado.

¿A qué es mucho más sencillo de lo que parece en un principio? :)

Bohemian Rapshody de Queen interpretada por ordenadores antiguos setenteros



¡¡¡Grandioso!!!

Mil millones de gracias a @alacantec

21 de mayo de 2009

Videojuegos: Así va la guerra de las consolas

A 21 de Mayo de 2009 así va la guerra de las consolas:


Fuente: VG Chartz

PS3: Project Trico

Ya veremos como se llama al final este proyecto cuando se publique el juego, pero el legendario Team ICO la va a liar parda con la PS3.

Os pongo aquí el primer vídeo que he visto del juego:



Se me cae la baba :)

20 de mayo de 2009

ZX Spectrum: El ZX Spectrum comienza a aparecer en los museos

Esta foto la ha hecho @PaulDJohnston en un museo en Reino Unido (el museo nacional de ordenadores):


Ays, como me gusta ver al viejo speccy con su unidad de casette externa :)

HTML: Iframe

El tag iframe sirve para cargar una página web dentro de otra página web en un espacio acotado y determinado por el programador.

Os pongo aquí un ejemplo:
<iframe name="iframeWeb" src="http://www.gabrielcuesta.com" width="600" height="300" frameborder="no" longdesc="Página web de Gabriel Cuesta" scrolling="no" marginwidth="0" marginheight="0">
Texto alternativo por si el navegador no soporta iframes.
</iframe>
Con este ejemplo cargaríamos mi web personal http://www.gabrielcuesta.com en una caja de 600 píxeles de ancho por 300 píxeles de alto. Esa caja no tendría borde ni barras de scroll. Su descripción para los buscadores sería "Página web de Gabriel Cuesta".

Si el navegador que estás utilizando para la prueba no soporta iframes verías el texto alternativo.

Los atributos que he utilizado en el iframe son los siguientes:
  • name: Le da nombre al iframe, es útil para manipularlo desde javascript.
  • src: La web que cargamos en el iframe.
  • width: La anchura en píxeles del iframe.
  • height: La altura en píxeles del iframe.
  • frameborder: Para activar o desactivar el borde del iframe, puedes ponerle valor 0 para quitarlo y valor 1 para ponerlo.
  • longdesc: Descripción del contenido del iframe para los buscadores y para los navegadores de minusválidos visuales.
  • scrolling: Para poner o quitar las barras de scroll, puedes ponerle los valores yes,no y auto.
  • marginwidth: Anchura del margen del borde del iframe si está activado.
  • marginheight: Altura del margen del borde del iframe si está activado.
Bueno, pues esto es lo que hay con los iframes, ahora a disfrutarlos :)


19 de mayo de 2009

Videojuegos: Trailer de Batman:Arkhan Asylum

Está cogiendo muy buena pinta :)



Saldrá para PC, XBOX 360 y PS3.

PHP: Altura y anchura de una imagen

Tienes que utilizar la instrucción getImageSize("imagen.jpg"); que te devolverá un false si la imagen no existe o un array con la información de la imagen si esta existe.

De este array te interesan sobre todo los dos primeros datos, la anchura y la altura.

Aquí va un ejemplo sencillo:

<?php

$datos = getImageSize("imagen.jpg");
echo("Anchura: ". $datos[0]);
echo("<br/>");
echo("Anchura: ". $datos[1]);

?>

Sencillo y fácil de usar :)

18 de mayo de 2009

Ayer murió Mario Benedetti

TÁCTICA Y ESTRATEGIA

Mi táctica es
mirarte
aprender como sos
quererte como sos

mi táctica es
hablarte
y escucharte
construir con palabras
un puente indestructible

mi táctica es
quedarme en tu recuerdo
no sé cómo ni sé
con qué pretexto
pero quedarme en vos

mi táctica es
ser franco
y saber que sos franca
y que no nos vendamos
simulacros
para que entre los dos

no haya telón
ni abismos

mi estrategia es
en cambio
más profunda y más
simple
mi estrategia es
que un día cualquiera
no sé cómo ni sé
con qué pretexto
por fin me necesites

16 de mayo de 2009

Wordpress: Plugin para resaltar código dentro de un post

Todos los programadores que hacemos blogs con contenido técnico más de una vez (y más de 10) creamos posts con ejemplos de código fuente.

El problema es que el editor de Wordpress no ha pensado en esa posibilidad por defecto y nos muestra el código mal y sin resaltar, incluso cuando usamos los tags code y pre.

Para evitar este problema y realzar el código de nuestro ejemplo como se merece yo utilizo el plugin Google Syntax Highlighter for WordPress con el que podemos resaltar el código fuente de un amplio abanico de ejemplos.

Lo he comenzado a utilizar en mi blog de Facebook (Faceblog.es) en este post y funciona muy bien. Sólo tiene 2 pegas, el navegador debe tener activado Javascript (o sea, que muchos móviles quedan fuera) y no cambia la apariencia del código hasta terminar de cargar la página, así que mientras carga la página el código fuente de ejemplo no se verá resaltado.

Por otro lado permite ver el código en un popup como texto plano o copiarlo al portapapeles (esta función falla bastante debido a las limitaciones de seguridad de la mayoría de los navegadores modernos).

En conclusión, un plugin muy útil para todos aquellos que escribimos blogs técnicos.

Twitter: Un gato consigue medio millón de seguidores en Twitter

Twitter se ha llenado de famosos norteamiericanos del cine y la farándula que compiten entre sí para ver quien tiene más seguidores. Recurren para ello a las tácticas de comunicación más rebuscadas, que si una foto en ropa interior de su mujer, que si salir con cara de monstruo sin maquillaje, etc.

Pero pese a todos estos intentos un gato, sí, un gato, los supera a todos ellos, @Sockington, el gato twittero ha superado el medio millón de seguidores (500.009 en el momento de la redacción de este artículo).

Sus mensajes (en inglés) son tan poco profundos como "duermo un rato y paseo" o he visto una sombra en una ventana.

En fin, que los seres humanos estamos como cabras, y los twitteros más aún. Si queréis seguir las estadísticas de @Socktington podéis hacerlo con el servicios TwitterCounter.

15 de mayo de 2009

ZX Spectrum: La primera pantalla de carga que vi en mi +2

Cauldron 2


PHP: Crear un fichero de texto y escribir dentro de él

Para que este ejemplo funcione la carpeta tiene que tener permisos de escritura. Con los hosting compartidos cada uno es un mundo.

Aquí va un ejemplo que escribe "hola mundo" en el fichero "prueba.txt" dentro de la misma carpea que el script:

<?php
$fichero = "prueba.txt";
$fh = fopen($fichero, 'w') or die("No puedo crear el fichero, revisa los permisos de escritura de la carpeta del servidor");
$texto = "Hola mundo";
fwrite($fh, $texto);
fclose($fh);
?>

¿Sencillo, no?

14 de mayo de 2009

XBOX 360: Lost Odyssey

Lost Odyssey es un juego de rol japonés desarrollado por Mistwalker para Microsoft, producido por el aclamado padre de la saga Final Fantasy (Hinoboru Sakaguchi) es una apuesta potente por el rol japonés en exclusiva para la XBOX 360.

El juego gira alrededor de las peripecias de Kaim, el inmortal, en un mundo dominado por la magia, la industrialización salvaje y la guerra. La mecánica del mismo es bastante clásica, y salvo por la intervención de los anillos de poder sigue al dedillo el esquema de combate por turnos.

El argumento de fondo es muy bueno, y aunque el guión adaptado tiene pequeños bajones hay una serie de momentos sublimes que te arrancarán las lágrimas. El guión no llega al nivel de Final Fantasy X, pero se le acerca y mucho, y en algunos momentos lo supera.

Gráficamente el juego es espectacular, sin las ralentizaciones de la versión japonesa además. El diseño artístico es muy bueno, las animaciones muy bien conseguidas y el motor responde bastante bien.

La banda sonora es genial y el sonido 5.1 está muy bien aprovechado.

Cómo aspectos a criticar destacaría el inicio de la primera misión del juego, en la que te toca "farmear" bastante para tener el nivel necesario para vencer al enemigo final (un pájaro gigante), lugo la dificultad se equilibra bastante y no cae en ese problema.

En conclusión, si te gusta el rol japonés es un juego imprescindible. Si no te gusta, pégale un vistazo aunque no te apasionará como a mí.

Valoración: 8.5/10

Desarrollo Web: Momentos críticos con un cliente

Llevo más de 11 años dedicándome al desarrollo web a nivel profesional. A lo largo de mi carrera me ha tocado enfrentarme a situaciones complicadas en las que el cliente no sólo estaba descontento, en ocasiones hasta furioso. Cuando os encontréis en esta situación por mi experiencia os aconsejo lo siguiente:
  1. Mantén la calma interior, todo pasa, lo bueno y lo malo, dentro de 3 meses este momento crítico será sólo un recuerdo vago.
  2. No lo interrumpas en sus quejas, deja que se desahogue, ya bajará la espuma, si lo interrumpes rebatiéndolo le estarás realimentando para que la discursión suba de tono.
  3. Escucha con atención todo lo que está diciendo, pero no te quedes con su lenguaje corporal agresivo, o con el tono, quédate con la información objetiva para determinar de una manera clara cual es el problema.
  4. El cliente no tiene nada contra ti como ser humano, tiene un problema con una web o una aplicación, no conviertas esta situación en algo personal.
  5. Cuando el cliente termine de quejarse tú simplemente dile que solucionarás su problema, que en seguida te pones manos a la obra.
  6. Si formas parte de un equipo comparte el problema con el equipo, cuatro ojos ven más que dos y en momentos complicados viene bien el calor humano. Si tu equipo no merece la pena, pues compártelo con algún compañero con el que tengas confianza.
  7. Mantén bien informado a tu jefe, que sepa lo que sucede con pelos y señales, no te dediques a ocultar las cosas con parches.
  8. Si una vez analizado el problema ves que la resolución va a llevar tiempo informa al cliente con sinceridad y claridad, que vea que estás haciendo algo.
  9. Confía en ti mismo, eres capaz de solucionar todo, y de lo que no seas capaz no te cortes, pide ayuda o subcontrata.
  10. Cuando el problema esté solucionado date un premio, por ejemplo salir con tu mujer y con tu hija de paseo por la playa (bueno, este es un premio personal mío :P)

¿Qué os parecen mis consejos? ¿Quitaríais o añadiríais alguno?

13 de mayo de 2009

Wordpress: El fichero functions.php

Cuando desarrollas para Wordpress con un poquito de profundidad te topas muchas veces con que la plataforma no soluciona todos tus problemas, es más, pese a los miles de plugins y widgets que existen en Internet para esta plataforma en ocasiones no encuentras lo que necesitas.

En esos momentos te toca bajar a la arena del código con PHP, y claro, cuando uno trabaja con PHP la mayor parte de las veces termina programando funciones o bien clases con sus métodos y propiedades.

¿Cual es la manera más elegante y recomendable de almacenar todo este código? Pues con el fichero functions.php dentro de la carpeta del template que estás utilizando.

¿Por qué es recomendable? Pues por varios motivos:
  • El fichero functions.php es incluído por defecto cada vez que se carga Wordpress, por lo que te aseguras que todas tus funciones y tus clases van a estar cargadas en memoria.
  • Puedes desarrollar templates con funciones avanzadas y específicas para el mismo, de tal manera que puedes distribuir el template con todo ese código incluído.
  • Organizas el código mejor de cara a futuras revisiones del mismo, te evitarás tener que rastrear fichero a fichero donde está alojada una función. Es bueno ser ordenado.
La única pega de functions.php es que si colocas en su interior algún código con error de sintaxis te colgará todo el blog.

Javascript: Condiciones

Cuando programas en cualquier lenguaje uno de los elementos básicos son las condiciones, en el caso de javascript esta funcionalidad es llevad a cabo por la instrucción if.

Este post va dedicado a los que seáis novatos con javascript.

Vamos a poner un sencillo ejemplo:

<script>
var variable=5;

if(variable==5){
alert("Variable vale 5");
}
</script>

En este caso la condición comprueba que la variable llamada variable tenga por valor 5, lo hace con el comparador "==", al tener el valor 5 lanza la alerta con el mensaje "Variable vale 5".

Los comparadores más usados son:
  • "==": igual
  • "!=": distinto
  • ">": mayor que
  • "<": menor que
En posts posteriores ya iremos contando más cosas de las condiciones.

12 de mayo de 2009

PHP: Cómo poner el primer caracter de una cadena de texto en mayúsuculas

Es muy sencillo, con la instrucción ucfirst.

Aquí va un ejemplo:

<?php

echo(ucfirst("hola mundo"));

// Escribirá en pantalla Hola mundo

?>

Desde CSS también se puden hacer este tipo de conversiones con text-transform:capitalize.

Capítulo de "Qué vida más triste" sobre PS2 y XBOX 360

Es muy gracioso, gracias a Infonomada por el vídeo:

11 de mayo de 2009

Videojuegos: Vídeo del nuevo Duke Nukem 3D

3D Realms ha cerrado y este juego legendario jamás verás la luz, así que uno de sus desarrolladores ha filtrado en Internet imágenes de su actual estado de desarrollo.

Esperemos que alguna compañía de las grandes se anime a comprar los derechos y lo terminte.

9 de mayo de 2009

Wordpress: Por fin cierro la primera alpha de un plugin propio

Tanto en THUK como en Grupo Skala (mi actual empresa) he trabajado mucho con Wordpress.

Normalmente mi trabajo ha consistido en maquetar templates, modificar templates, modificar plugins y modificar el core de la versión de Wordpress de turno.

Aunque cada vez controlo más las tripas de Wordpress nunca he tenido tiempo de desarrollar un plugin propio para compartirlo con la comunidad. Es cierto que en Grupo Skala entre Pablo Angeletti y yo estamos utilizando y desarrollando un plugin de administración de webs para Wordpress que es una pasada, pero por desgracia si publicamos ese plugin en la empresa nos convertirían en castrati ;)

En cuanto tenga un poco más de tiempo libre publicaré la primera beta de mi plugin, espero que os sorprenda, sólo os digo la versión alpha ahora mismo está a prueba en faceblog.es

Wordpress: Cómo ejecutar código en el footer de Wordpress

Pues es más sencillo de lo que parece, sólo necesitas:
  1. Que el template de Wordpress que estás utilizando tenga la función wp_footer(); en footer.php (viene por defecto).
  2. Crear una función PHP en la que encapsular el código que quieres ejecutar, por ejemplo una función con el nombre ejecutoPHP.
  3. Dar la orden de ejecución desde Wordpress con el método addAction haciendo referencia a tu función PHP.
Aquí os pongo un ejemplo :)

<?php

function prueba(){
echo("Hola Mundo");
}

add_action('wp_footer', 'prueba');

?>

Es más fácil de lo que parece :), puedes utilizarla en tus plugins, en tus templates, donde te de la gana.

8 de mayo de 2009

Vídeo bonus de F.E.A.R.

Alma acojona, acojona de verdad...



Gracias a Beatriz por el vídeo.

7 de mayo de 2009

Javascript: Cargar una web desde Javascript

En ocasiones nos interesa poder cambiar desde Javascript la página web en la que estamos para cargar otra. ¿Cómo hacer esto? Pues muy sencillo, con location.href.

Aquí va un ejemplo que cargará la página de Google.com:

<script>
<!--
location.href="http://www.google.com";
-->

</script>

Sencillo y muy efectivo. Eso sí, los navegadores que tengan desactivado el Javascript o no lo ejecuten como en muchos móviles pasarán de esta instrucción y no harán nada.

Métrica V3

¿Qué es la Métrica V3?
Es la metodología de desarrollo de proyectos informáticos elaborada la administración pública española, en concreto por el Consejo Superior de Informática del Ministerio de Administraciones Públicas.

¿Para que se ha creado?
Se ha creado para homogeneizar el desarrollo de proyectos informáticos para cualquier administración del estado.

¿Cómo está estructurada?
Está estructurada en torno a un conjunto de etapas que se dividen en un conjunto de objetivos con fecha de término determinada. De esta manera se puede analizar con claridad y exactitud el estado del proyecto.

¿Es obligatoria la Métrica V3?
Sí, en todos los concursos públicos de cualquier administración pública debe ser exigida, aunque en la práctica es frecuente que no se haga mención a esta este requisito en muchos concursos.

¿Es útil la Métrica V3?
En proyectos grandes sí, es una herramienta que te obliga a organizar los procesos de trabajo y los plazos de entrega de una manera lógica y parametrizable. En proyectos pequeños sin embargo yo no la aconsejo. En los proyectos medianos depende de los puntos críticos del desarrollo que haya en los mismos.

¿Dónde puedo encontrar más información de la Métrica V3?
Pues en la página oficial del Consejo Superior de Administración Electrónica.

5 de mayo de 2009

Wordpress: Obtener el identificador de la categoría de un post

Este ejemplo sólo sirve para posts de Wordpress que tengan sólo una categoría, si tienen más no tiene por qué funcionar.

Aquí va el código en PHP:
<?php
global $post;
$categories = get_the_category($idPost);
echo($categories[0]->term_id);
?>

Otro día me extenderé más con el tema de las categorías en Wordpress :)

PSP: Primer teaser trailer de Soul Calibur

Soul Calibur enseña la patita por debajo de la puerta... y tiene muy buena pinta :)

4 de mayo de 2009

Javascript: Mostrar alertas

Este debe ser el post más básico que he hecho en mi vida, pero aquí va :)

Para mostrar mensajes de alerta en javascript tenemos que utilizar la instrucción alert:

<script>
alert("Hola mundo");
</script>

El resultado sería este mensaje en pantalla, hasta que no aceptas el mensaje la web queda bloqueada:

Javascript: Cómo cambiar el tipo de mapa de Google Maps

Es sencillo:
  • Mapa normal (por defecto): map.setMapType(G_NORMAL_MAP);
  • Mapa satélite: map.setMapType(G_SATELLITE_MAP);
  • Mapa híbrido: map.setMapType(G_HYBRID_MAP);
Obviamente para que este código funcione tenéis que haber instanciado la API de Google Maps previamente, etc. :)

3 de mayo de 2009

Resumen semanal de Faceblog

Hola a todos. Os pongo a continuación un resumen de los posts de Faceblog, mi blog de Facebook, de esta semana:

ZX Spectrum: Silvester Stallone en las pantallas de carga

Todos sabéis que uno de los actores que arrasó en la segunda mitad de los 80 fue Silvester Stallone, pues bueno, fruto de esa popularidad salieron algunos juegos inspirados en sus películas, aquí os pongo a continuación un pequeño listado con sus correspondientes pantallas de carga.

Si alguien conoce alguna más que me lo diga y la subo :)

  • Rocky (no oficial):
  • Rambo:
  • Rambo III:
  • Cobra:

    La verdad es que están bastante curradas, ¿Eh? :)

Frikadas: Consolas y pads a la luz de los rayos X

Ver radiografías de videoconsolas y de pads en Flickr.

¡Realmente frikismo en estado puro!

1 de mayo de 2009

Programas: Panda Cloud Antivirus

Vía Loogic me entero de una noticia muy interesante, hay un nuevo antivirus en el mercado. Se trata del último antivirus lanzado por Panda, 100% gratuíto y basado en la famosa "Nube" (o Cloud Computing). El producto se llama Panda Cloud Antivirus.

Es un antivirus mucho más ligero que los tradicionales antivirus ya que la mayor parte de su ejecución se realiza en Internet. Se actualiza constantemente en tiempo real, con lo que cualquier nuevo virus que aparezca lo tendrá mucho más crudo con tu ordenador :)

Por ahora está en fase beta, así que la gente de Panda está abierta a todas nuestras sugerencias.

XBOX 360: Intro de Lost Odissey

Estoy superenganchado a este juego :)



En cuanto me lo termine lo comentaré en el blog.