small.pieces.of.code

porque lo simple es bello, lo bueno si breve dos veces bueno y el veneno y el perfume se vende en frasco pequeño. Este es el pequeño rincón de código de javier santana

ipad javascript microframework

// mini-pico-tiny convenience micro-framework, ymmvfunction $(id){ return document.getElementById(id); }function html(id, html){ $(id).innerHTML = html; }function css(id, style){ $(id).style.cssText += ';'+style; }function anim(id, transform, opacity, dur){  css(id, '-webkit-transition:-webkit-transform'+    ',opacity '+(dur||0.5)+'s,'+(dur||0.5)+'s;-webkit-transform:'+    transform+';opacity:'+(1||opacity));}

UnaVentanaDondePintar

El código mínimo necesario para pintar a lo old school.

A 50 Lines-of-Code JavaScript Animation Framework: Say Hello to Émile

Simple example of using app engine to create a bi-directional email gateway to your app with http

from readme:

Example of using app engine as an email gateway to your app.

Only intended as a throwaway example of the mechanisms involved. Obviously you'd probably want some approach to make it
secure, and handle other parts of an email message, such as attachments.

App Engine Docs:
http://code.google.com/appengine/docs/python/mail/

issue tracker en menos de 50 líneas de código con django

Copio y pego del foro de escena.org
Me gusta ver la intro así en forma de chorro de bytes, porque (al menos para mí) resulta casi inreíble que de un minibloque de 16×16 bytes salga una animación de tanta calidad.
El código está además lleno de trucos loquérrimos. Por ejemplo, la parte de inicialización de modo gráfico y de paleta habitual (mov al, 13h; int 21h; mov dx, 3c8h) ha sido reordenada como “mov al, 13h; push bx; mov dx, 3c8h; int 10h” que equivale a “ba5313b0” (como podéis ver en la imágen de arriba) para que estos primeros cuatro bytes de la intro pudieran ser interpretados además como un número de coma flotante (float), concreatemente -0.0008052f : podéis comprobarlo en ésta página web. Éste número es utilizado en la fórmula que mueve la escena. Además estos mismos cuatro bytes son utilizados en otras fórmulas interpretándolos como words o bytes individuales. En fin, leer el código (hasta donde es leíble) es una experiencia llena de pequeños orgasmos. Y además, es “bonita”.
La demo y código se puede descargar aquí:
http://pouet.net/prod.php?which=53816

Copio y pego del foro de escena.org

Me gusta ver la intro así en forma de chorro de bytes, porque (al menos para mí) resulta casi inreíble que de un minibloque de 16×16 bytes salga una animación de tanta calidad.

El código está además lleno de trucos loquérrimos. Por ejemplo, la parte de inicialización de modo gráfico y de paleta habitual (mov al, 13h; int 21h; mov dx, 3c8h) ha sido reordenada como “mov al, 13h; push bx; mov dx, 3c8h; int 10h” que equivale a “ba5313b0” (como podéis ver en la imágen de arriba) para que estos primeros cuatro bytes de la intro pudieran ser interpretados además como un número de coma flotante (float), concreatemente -0.0008052f : podéis comprobarlo en ésta página web. Éste número es utilizado en la fórmula que mueve la escena. Además estos mismos cuatro bytes son utilizados en otras fórmulas interpretándolos como words o bytes individuales. En fin, leer el código (hasta donde es leíble) es una experiencia llena de pequeños orgasmos. Y además, es “bonita”.

La demo y código se puede descargar aquí:

http://pouet.net/prod.php?which=53816

compiladores e intérpretes en unos pocos bytes

Ideales para un embebido :)

http://www.speakeasy.org/~lion/proj/scratch/

Python twitter logger addon

Puede resultar útil para, por ejemplo, fallos críticos en una aplicación web, de forma que un critical se postee en twitter y lo leas desde un terminal móvil o similar. Merece la pena echar un ojo a la web principal del autor, sobretodo a los artículos de generators de la pycon08 (la de este año no me gustó tanto)

python Spreadsheet

class SpreadSheet:
_cells = {}
tools = {}
def __setitem__(self, key, formula):
self._cells[key] = formula
def getformula(self, key):
return self._cells[key]
def __getitem__(self, key ):
return eval(self._cells[key], SpreadSheet.tools, self)

>>> from math import sin, pi
>>> SpreadSheet.tools.update(sin=sin, pi=pi, len=len)
>>> ss = SpreadSheet()
>>> ss['a1'] = '5'
>>> ss['a2'] = 'a1*6'
>>> ss['a3'] = 'a2*7'
>>> ss['a3']
210
>>> ss['b1'] = 'sin(pi/4)'
>>> ss['b1']
0.70710678118654746
>>> ss.getformula('b1')
'sin(pi/4)'