Resultado de etiquetas “programacion”

A los programadores no les gusta tirar código. Les gusta resolver problemas. Si les gustara más tirar líneas de código estaríamos todos todavía programando en código máquina.

Visto en Microsiervos

wiicade presenta un API creado por Jerason Banes para aprovechar las posibilidades del mando Wiimote de Wii desde juegos en flash usando todos sus botones. Está disponible la documentación, incluso un tutorial con ejemplos.

Me he quedado con las ganas de poder probar el nuevo tutorial para cargar homebrew (software casero, realizado por consumidores en plataformas propietarias) y emuladores (Snes, Genesis, GameBoy Advance, Gameboy Color y PC) en la Wii. El tutorial explica como combinar La tarjeta SD con Action Replay for Gamecube, SD Card Adapters y SDLoad.

Aunque ya han aparecido varios modchips como Wiinja de Team Ninja y CycloWiz de Team Cyclops, el homebrew puede ser un gran impulso para Wii. Pronto puede haber mucha gente desarrollando por su cuenta ya la hay desarrollando para Nintendo DS y GBA o PSP.

Visto en The MODGODS.

Empty your memory,
with a free()…
like a pointer!

If you cast a pointer to a integer,
it becomes the integer,
if you cast a pointer to a struct,
it becomes the struct…
The pointer can crash…,
and can Overflow…
Be a pointer my friend…
¡Libera tu memoria,
con un free()...
como un puntero!

Si usas un puntero como un entero,
será el entero,
si usas un puntero como una estructura,
será la estructura...
El puntero se puede perder puede petar,
y se puede sobrepasar puede desbordar...
Se un puntero mi amigo...
Nota: En la traducción se deshace el juego de palabras entre crash, overflow y las usadas por Lee. En programación es más propio que un puntero se "pierda" a que se "rompa", puestos a no conseguir el juego de palabras, "perder" es más correcto. El manejo inapropiado de punteros puede causar la interrupción de la ejecución aplicación petándola (por perder el manejo del puntero) o desbordándola (sobrepasándolo).

Puntero: forma de maneja una zona de memoria sin tipo de datos definido.
Entero: Tipo de datos.
Estructura: Tipo de datos.
Free(): forma de liberar una zona de memoria marcada por un puntero.

Actualizado: 30/11/2006 18:52 (Gracias anónimo)

El problema de las versiones del navegador cada día es mayor. No basta con tener desarrollos y diseños que se ajusten a diferentes navegadores si no que además se debe tener en cuenta distintas versiones de un mismo navegador. Por encima de esfuerzo de vencer la desidia al hacer lo mismo de formas diferentes para que se vea igual hay que solucionar otro problema… poder probarlo en cada uno de los navegadores. browsers.evolt.org simplifica mucho las cosas a diseñadores e integradores web al poder conseguir distribuciones no instalables de diferentes navegadores. Tan sencillo como descargar diferentes versiones de IE con las que basta descomprimir los archivos para disponer de IE6 e IE55 conviviendo con un IE7 instalado.

Disponible también versiones de Mozilla, Safari y Opera entre otros.

Uno se acostumbra rápido a no necesitar pensar y enseguida recurre a buscadores para ahorrarse un mínimo esfuerzo. He buscado la forma de generar fechas en formato W3C en PHP y curiosamente no he encontrado nada. Es realmente trivial, pero aún así, espero que esto le pueda ahorrar ese esfuerzo a alguien.

La norma ISO 8601 especifica la notación estándar utilizada para almacenar las fechas. Esta notación facilita la migración entre distintas plataformas. Se especifica en el documento W3C NOTE-datetime.


  $TZD = date('O');
  $TZD = substr($TZD, 0, 3).':'.substr($TZD, 3);
  echo date('Y-m-d\TH:i:s.0').$TZD;

Si dispones de PHP 5.1.3 o superior el código se reduce a esto (no lo he probado):


  echo date('Y-m-d\TH:i:s.0P');

Aún no está muy bien explotado el filón del homebrew (video juegos realizados por usuarios para plataformas de juego propietarias). Aunque Sony lo ha tenido encuenta para su PSP, en la Nintendo DS hay que apañarla para ejecutar código en ella. Esto no hay sido una barrera insalvable para mucha gente que hace sus pinitos. Es muy popular PAlib. Una completa y muy sencilla librería muy atractiva para el que quiere hacer algún jueguecillo sin mucho esfuerzo para PSP, GBA y DS.

El kit de desarrollo incluye las librerías necesarias, utilidades para conversión de archivos, gráficos, archivos. Editor integrado con el entorno de desarrollo y emulador.

Para una aplicación basada en AJAX usando Prototype resulta muy útil el uso de referencias locales (named anchors) para que el navegador nos muestre la porción de la página adecuada. Un ejemplo sería:

<?=$ajax->link('Añadir', null, array('fallback'=>'#add', 'url'=>"/miapp/add/", 'update'=>"add", 'complete'=>"new Effect.Appear('add');")) ?>
<a name="add"></a>
<div id="add" style="display:none"></div>

Este código se ejecuta sin problemas en Firefox, sin embargo en Internet Explorer su comportamiento es irregular, llegando a no hacer nada (aparentemente) la mayoría de las veces y no indicando un error en ningún momento. El problema comienza al tener el identificador de la capa (DIV) y el nombre del marcador (anchor) exactamente iguales. La solución más simple es llamarlos de forma diferente.

<?=$ajax->link('Añadir', null, array('fallback'=>'#add_pos', 'url'=>"/miapp/add/", 'update'=>"add", 'complete'=>"new Effect.Appear('add');")) ?>
<a name="add_pos"></a>
<div id="add" style="display:none"></div>

Al que le apetezca poner a prueba sus dotes de hacker o simplemente intentarlo durante un rato antes de consultar la guía de cómo conseguirlo, está de enhorabuena. El Hacme Casino contiene vulnerabilidades colocadas a propósito con el fin de ejercitarte y aprender a dónde conducen algunos defectos de programación web.

Visto en Kriptópolis

Es muy grato encontrar herramientas de desarrollo gratuitas como FireBug
que le hacen la vida en el trabajo a uno mucho más llevadera. FireBug es una extensión para Firefox que permanece oculta con
un pequeño icono (verde si todo va bien, rojo si hubo un error) en la barra de estado que despliega la herramienta al pinchar sobre él.

Cuenta con un depurador bastante potente de JavaScript que permite añadir puntos de ruptura al código, ejecución paso a paso,
monitorización de la pila y se combina con el inspector para visualizar variables y objetos.

El inspector nos permite visualizar los nodos del fuente html en forma de arbol, la hoja de estilos, el DOM generado, seguimiento de eventos y
los datos de composición de cada elemento. El modo inspect permite ver los datos en el inspector del elemento sobre el que situemos el cursor.

Por último la consola recoge los mensajes de error de JavaScript y todas las llamadas que se hagan mostrando el contenido devuelto y las
cabeceras http, realmente útil cuando se trabaja con Ajax

Esta herramienta en combinación con Web Developer Extension hace de Firefox
el entorno de pruebas en cliente ideal para aplicaciones web.

1   2   3