Este verano, como parte de mi regalo de cumpleaños, me compré por internet dos juegazos para la Playstation 3.
Por un lado el Call of Duty: Modern Warfare 2, del que un día de estos os hablaré largo y tendido. Impresionante en todos sus modos: la historia, las operaciones especiales y sobretodo su modo online.
Por otro, y aunque siempre he criticado ese tipo de juegos, el Final Fantasy XIII.
Mi crítica a los RPG ha venido siempre precedida del aburrimiento a un juego de este tipo. Para Playstation PSX fue el Final Fantasy VIII. Para Playstation 2, fue el Dragon Quest: VIII.
El modo de juego BTC
Lo que me aburría soberanamente de estos juegos era lo repetitivo que resultaban los combates: al tratarse de un RPG por turnos, era demasiado poco creíble. Ahora me atacas tú, ahora te ataco yo.
Gracias al empleo de la BTC (Barra de Tiempo Contínuo) y a la lucha por equipos, Final Fantasy XIII presenta un modo de juego dinámico. No hay pausas, mientras tú diseñas tu estrategia de ataque, tu cargador se rellena. De esta forma los combates son mucho más veloces y por tanto la sensación es más real.
Esto, sumado a unos gráficos que dejan con la boca abierta en muchos momentos y lo que parece, hasta ahora, una historia muy bien planteada, hacen de Final Fantasy XIII el primer RPG que realmente me gusta.
¿Será éste el primer Final Fantasy que me pase entero?
Ha llegado el momento de sumergirme de lleno en la programación orientada a objetos haciendo uso de PHP, es por ello, que resulta interesante, antes de comenzar a programar, tener en cuenta una serie de premisas básicas:
7 sencillas normas a la hora de programar en PHP/POO:
Una clase: un archivo php. Nunca escribir en un mismo documento php más de una clase. Fuera del contenido de la clase no escribiremos ningún procedimiento/método/función o parte de código.
Guardar cada archivo con un nombre que lo identifique claramente. Una buena forma de seguir un orden es emplear el propio nombre de la clase precedido de un prefijo que identifique el tipo de archivo. Por ejemplo, para la clase “BaseDeDatos” podríamos guardarla como class.basededatos.php.
Emplear siempre minúsculas para los archivos. Esto generará menos confusión a la hora de gestionarlos.
Hacer lo mismo para el caso de interfaces: interface.basededatos.pho o para las clases abstractas/finales: abstract.basededatos.php, final.basededatos.php.
Utilizar la nomenclatura “Camel” para las clases, esto es, diferenciar las palabras empleando mayúsculas. Un ejemplo es la clase anterior: BaseDeDatos.
Para el caso de las variables empleamos la misma nomenclatura.
Para el caso de los métodos, la primera palabra comenzarla con minúscula: setType().
Definiendo este tipo de normas tendrás un proyecto desde el comienzo unificado de forma que conforme vaya creciendo en contenido no te encuentres ante una montaña de archivos sin sentido.
Una de las utilidades que mayor crecimiento a nivel empresarial ha sufrido a lo largo de estos últimos años gracias a la evolución constante de internet es la VPN.
Por VPN (Virtual Private Network) entendemos la conexión entre dos extremos a través de internet mediante una conexión segura y cifrada que emula a una conexión punto a punto.
Resulta muy interesante para delegaciones conectarse con la matriz empleando la infraestructura de red de Internet sin necesidad de pagar costosas líneas dedicadas y disponiendo de prácticamente las mismas ventajas que ofrecen éstas a un precio muy inferior.
A través de Feedmyapp he ido a parar a una interesante aplicación que permite la configuración de una conexión VPN de forma prácticamente inmediata.
Al parecer, Remobo, que así es como se llama la susodicha aplicación, establece conexiones VPN de manera simple entre dos equipos conectados a la red, resultando interesante para trabajar con ella a nivel particular: conectarnos desde el PC del trabajo al de casa de forma segura, cifrando el contenido y con la conexión encriptada.
Hace unos cuantos días tuve que supervisar la migración de una serie de bases de datos antiguas almacenadas en formato CSV a un nuevo sistema basado en MySQL.
Uno de los problemas que aparecieron durante el proceso de migración fue el de que los campos vacíos eran rellenados, en el caso de que éstos fueran de tipo texto, con el valor NULL.
El siguiente script realiza un repaso rápido de la base de datos buscando en el campo que se le indique los valores NULL y los sustituye por un espacio en blanco.
";
echo "
";
echo "
";
echo "
";
}else{
$campo = $_POST["CAMPO"];
// Fase I: Establecimiento de la conexión.
$link=mysql_connect("localhost","root","")or die(mysql_error());
$db = mysql_select_db("contactos",$link) or die(mysql_error());
echo "
Conexión a base de datos realizada con éxito.
";
// Fase II: Seleccion de base de datos y bucle de reemplazo:
$sql = "update contacto set ".$campo." = \"\" where ".$campo." = \"NULL\"";
// Ejecutamos la consulta
$query = mysql_query($sql);
// Comprobamos el resultado
$error = mysql_error();
if( $error )echo 'Hubo un error en la consulta' ;
else {
$filas = mysql_affected_rows ();
echo 'Filas afectadas: ' . $filas ;
}
}
?>
Nota: Es importante que en este caso, se busca el valor de texto NULL y no el carácter especial NULL. Si lo que buscamos es reemplazar este segundo, bastará con modificar la línea SQL de la siguiente forma:
$sql = "update contacto set ".$campo." = \"\" where ".$campo is null;
Extraigo el contenido íntegro de la noticia de la página web del conocido abogado defensor de los derechos en Internet, David Bravo:
“El que sabe no habla, el que habla no sabe”
Con esta frase del Tao Te Ching quisiéramos David Bravo y Javier de la Cueva invitar a los ciudadanos a compartir con nosotros una acción jurídica contra el Estado español por vulneración de la normativa comunitaria.
El informe publicado ayer “Sobre la gestión colectiva de los derechos de la propiedad intelectual” de la Comisión Nacional de la Competencia, manifiesta con total rotundidad que España podría estar infringiendo el Tratado de Funcionamiento de la Unión Europea por permitir que las entidades de gestión (SGAE, AGEDI, etc.,) realicen una explotación abusiva de su posición dominante. El informe asegura que esto es así porque puede entenderse que es precisamente la Ley de Propiedad Intelectual española “la que hace factible que las entidades de gestión adopten o puedan adoptar de forma reiterada comportamientos abusivos de su posición de dominio”.
Con la intención de que España cese en la conducta presuntamente infractora que se describe en ese informe, hemos redactado la correspondiente denuncia que ponemos a disposición de todos los ciudadanos que quieran sumarse a su interposición.
La invitación a la ciudadanía a participar en acciones legales libres utilizando la Red, nació el 30 de agosto de 2003 cuando se puso a disposición de todos unos procedimientos libremente utilizables. El primero de ellos se dirigió contra el canon en los soportes digitales, hoy pendiente de sentencia del Tribunal de Justicia de las Comunidades Europeas. Si bien fueron muchas las voces que se alzaron contra el canon, pocas personas decidieron luchar jurídicamente contra el mismo, a pesar del procedimiento fácil y gratuito del que se disponía.
Posteriormente y tras la sentencia de Ladinamo, nacieron los procedimientos en defensa del Copyleft y somos líderes mundiales en resoluciones favorables. Luego llegaron las webs de enlaces, con la liberación de la nota para la vista de las medidas cautelares contra Sharemula y la liberación que ahora estamos llevando a cabo en favor de nuestros compañeros abogados y sus clientes de los escritos que hemos utilizado en su defensa. Después, vino la contestación de la Revista Cultural Quimera a la demanda de la SGAE que fue utilizada por la defensa de la CNT para obtener una sentencia absolutoria en la demanda que le interpuso tal entidad.
El método ha demostrado ser eficaz y por eso ahora queremos presentar la siguiente acción legal, animándoos a interponerla. La pregunta que todos se hacen tras el Manifiesto es la de ¿y ahora qué?
El problema que tienen las palabras es que se las lleva el viento. Si el canon cae, no es por la campaña de Todos contra el canon, sino por una sentencia del Tribunal de Justicia de las Comunidades Europeas. Lo que hace falta es el ejercicio efectivo de los derechos, porque las voces ya sobran cuando comienzan a ser sospechosas de su vacuidad e impostura: el que sabe no habla y el que habla no sabe.
El procedimiento que ofrecemos es gratuito y no cabe condena en costas. Consiste en denunciar ante Europa los abusos que estamos sufriendo de manos de los sucesivos gobiernos en el campo de la propiedad intelectual. No lo decimos nosotros, nos lo dice el informe de la Comisión Nacional de la Competencia que ha salido a la luz pública ayer, y que para los que nos dedicamos a la propiedad intelectual ha supuesto una cura de humildad porque nos ha demostrado lo poco que sabemos. Si bien ese Informe es la base y el fundamento de nuestra denuncia, tenemos otra razón, que nos da un ilustre jurista, John Rawls, quien en su Teoría de la Justicia señalaba lo siguiente:
“La responsabilidad no recae en los que protestan, sino en aquellos cuyo abuso de poder y de autoridad justifica tal oposición, porque emplear el aparato coercitivo del Estado para mantener instituciones manifiestamente injustas es una forma de fuerza ilegítima a la que los hombres tienen derecho a resistir”.
Para interponer la denuncia basta con que rellenéis la plantilla que se halla en los enlaces que señalamos más abajo. En la misma figuran las instrucciones. Sólo os costará un paseo a una oficina de Correos y el importe de una carta certificada.
Lo verdaderamente importante de la Red es cuando cristaliza en el territorio físico. Si no ejercemos nuestros derechos mediante acciones legales y simplemente gritamos, siempre seremos víctimas del poder.
Google no deja, ni creo que lo haga en un futuro cercano, de sorprendernos. Hoy nos aparece con una buenísima idea que va a dar mucho de que hablar en los próximos días.
Google Goggles es como se llama la pequeña criaturita que, junto con el sistema operativo para teléfonos móviles (Android) que ha desarrollado el gigante de internet, nos va a permitir hacer una infinidad de cosas gracias a aunar dentro de la misma aplicación la información procedente de la cámara integrada en el dispositivo, la geolocalización procedente del GPS y la información que se pueda obtener a través de internet
Gracias a esta genial herramienta vamos a poder caminar por cualquier calle de cualquier ciudad y disponer de la información necesaria para encontrar un restaurante, una farmacia, un buen cine o dónde comprar un libro que andamos buscando.
Pero como lo mejor en esta vida es ver las cosas con los ojos de uno mismo, mirad el vídeo promocional de la aplicación:
Fue allá por Febrero de 2004 cuando un joven estudiante de Harvard lanzó la primera versión del portal social Facebook.
En Julio de 2006 nació la red de microblogging (o micromensajes) Twitter.
Unos cuantos meses antes, en Enero de 2006, daba sus primeros pasos la red social española Tuenti.
Estamos en noviembre de 2009 y el fenómeno “social” ha explotado. A día de hoy uno desconoce hasta que punto nos va a cambiar la vida el “nuevo concepto” de la red.
Las redes sociales cada vez se están haciendo más populares y conforme avanzan y crecen, van devorando servicios y más servicios dejando en la cuneta a soluciones más antiguas que ellos y que no tienen esa marcada vocación social.
Galerías de fotos, blogs, fotologs, páginas personales, portales de información, están ahora en las fauces de esta temible bestia. La posibilidad de escribir micromensajes con lo que uno piensa en cada momento, de publicar enlaces, fotos, vídeos en tiempo real para que tus amigos (y sólo ellos) puedan verlos, etiquetarnos en las últimas fotos de la fiesta del fin de semana pasado, etc. son reclamos tan golosos que la inmensa mayoría de los usuarios están migrando hacia estas redes por su facilidad y sobretodo por su masa social.
Pero, ¿es todo tan bonito?. Desde mi punto de vista no. Las redes sociales como Tuenti o Facebook se están convirtiendo en meros templos donde la adoración al ego y el cotilleo son sus dos pilares fundamentales. Ya no nos interesa publicar un articulo de opinión, ni una foto de calidad, nos interesa que la gente nos mire, o mirar nosotros a alguien a escondidas.
En esta orgía de voyeurismo y egolatría todos somos culpables. Participamos de ella y no sólo eso, estamos permitiendo que se degrade. ¿Cómo? Aceptando que es normal que una chiquilla de 14 años publique una foto semidesnuda, asumiendo que entra dentro de lo razonable que una persona de más de 20 años sea incapaz de escribir una frase sin 10 faltas de ortografía. Publicando fotos nuestras en mil y una poses, con mil y un efectos cutres con la única intención de que nos digan lo guapos que somos.
Nidos de ignorancia y miseria.
El problema de todo esto es que la bestia todavía no está tranquila. Y en este constante devorar del sentido común, quién sabe qué será lo próximo que nos encontraremos.
Uno de los problemas, desde mi punto de vista, al que se tiene que enfrentar todo desarrollador web es el hecho de que tenemos la necesidad de desarrollar nuestro contenido en distintas ubicaciones y bajo distintos equipos.
Esto nos plantea la obligación de, tarde o temprano, unificar el proyecto para no estar “haciendo por un lado y deshaciendo por otro”.
Existen una serie de sanas costumbres a la hora de realizar cualquier proyecto web que nos van a permitir agilizar y simplificar este proceso.
En primer lugar, debemos tratar de separar todo lo posible las distintas fases del desarrollo web: intentemos no mezclar el proceso de obtención de datos o desarrollo de bocetos, con el de diseño final o depuración de detalles. No tiene sentido que en el momento que estamos definiendo la estructura de nuestro proyecto nos centremos en describir un detalle pequeño de una de sus partes.
En segundo lugar, es necesario separar los elementos que componen un proyecto web. Esto es, definir un motor de funciones, un esquema HTML y el diseño gráfico de la forma más independiente posible. De esta forma permitiremos que varias personas trabajen simultáneamente en el proyecto sin que se estorben.
Finalmente, otra buena costumbre es permitir el sincronismo del proyecto. Esto me recuerda a una serie que hace años echaban por TV y en la que sus protagonistas, unos jóvenes aventureros, decían eso de “¡¡Sincronicemos nuestros relojes!!”. Aquí pasa algo parecido. Debemos disponer de la información, de forma accesible en un servidor (bien en la intranet o bien en internet) que permita a los usuarios trabajar en distintas partes de un mismo proyecto y que sus modificaciones queden almacenadas de forma inmediata. Aptana, del que hablaremos largo y tendido por aquí, y del que ya comentaba algo bitelemental en su post sobre el mismo, permite sincronizar los proyectos a través de FTP/SFTP.
En definitiva, esto no son más que unos pequeños trucos para que a la hora de ponernos a desarrollar un proyecto no nos encontremos con la desagradable situación de disponer de 15 versiones del mismo y no saber qué partes son las importantes en cada versión.
Tenía la intención desde hace ya bastante tiempo de ponerme a tocar un poco las distribuciones de Linux y meterme, con calma, en todo ese mundillo.
Hoy ha sido el día en el que he decidido dar ese paso. Mi intención es instalarme en el portátil Ubuntu 9.10 “Karmic Koala” y además, para más inri, hacerlo desde un USB y no desde un CD (no tengo ganas de gastar por enésima vez un CD para luego no hacerlo).
Primer paso – búsqueda de información.
Gracias a San Google, voy a intentar informarme y documentarme de la forma correcta de instalar Ubuntu desde un lápiz USB.
He encontrado este artículo [http://bit.ly/s88wV]. Te pide que grabes un CD (algo que NO quiero hacer), pero cabe la posibilidad de montar la ISO en una unidad virtual y el proceso no se altera (resuelto el problema).
Segundo paso – descarga de la imagen.
Dudo, que es lo que me pasa siempre, entre la versión Gnome o la versión KDE. Optaré esta vez por la KDE por ver qué tal es la última versión de la que tanto se ha hablado.
La cosa va para unos 20 minutos, gracias a Telefónica, así que aprovecho que ya es algo tarde y voy a cenar. Mientras, os dejo con un Briconsejo:
“Si quieres sacarle más partido a las latas, siempre puedes usarlas (después de despejar la tapa con un abridor) de porta-lápices”.
Tercer paso – montaje de la imagen.
Ya ha pasado un día, anoche llegué demasiado cansado y lo dejé estar. Hoy he vuelto a la carga. He intentado emplear Syslinux como sistema para montar la distribución sobre el USB y que ésta fuera booteable, pero ha sido imposible. Siempre terminaba apareciéndome el error de “Sector read error” y poco más.
Optó por emplear otra de las herramientas recomendadas, UNetbootin.
Parece, a priori, que éste sí que funciona. Además, tiene como ventaja con respecto a Syslinux que emplea un entorno gráfico.
Ya está. Vamos a reiniciar y vamos a decirle desde la BIOS que queremos que cargue el sistema operativo desde el USB.
Cuarto paso – Instalación de Kubuntu.
Finalmente, una vez que hemos preparado nuestra BIOS realizamos el proceso de instalación de forma convencional. Ahora mismo ya os estoy escribiendo desde mi portatil con Kubuntu instalado.
Todo gadget fallara un día después de que expire la garantía.
Cuando quieres demostrar a alguien que algo no funciona, funcionará
Nunca tendrás un disco duro del tamaño necesario.
El servicio de atención al cliente nunca resolverá tus dudas.
La probabilidad de que un CD y/o DVD caiga con los datos hacia el piso es directamente proporcional a la importancia de los datos o al costo del disco.
Cuando quieras demostrarle a alguien que algo sí funciona, no funcionará (o se te caerá la conexión).
Nunca apagas el teléfono móvil porque nadie te llama – excepto cuando estés en esa reunión importante o un examen, y te haga quedar muy mal.
El nuevo iPod siempre saldrá 2 semanas después de que te compres el tuyo.
La velocidad de descarga es inversamente proporcional a las ganas de ver el capítulo que estés bajando.
Seas contador, psicóloga, taxista o instructor de yoga, para tus familiares siempre serás el soporte técnico gratuito (y te llamarán a cualquier hora y en cualquier situación).
Algunas son bastante buenas. Si tenéis alguna más sois libres de proponerla en los comentarios.