Mostrando las entradas con la etiqueta vinculos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta vinculos. Mostrar todas las entradas

viernes, 19 de marzo de 2010

Jueguitos de Viernes: Home Sheep Home.

Home Sheep Home es un muy buen juego en el que tenemos que combinar las habilidades y propiedades de tres ovejas para ayudarlas a atravesar la pantalla.

home-sheep-home

Me hizo recordar bastante al Lost Vikings (que por cierto se pueden bajar en Abandonia).

Visto en Juegos Microsiervos.

domingo, 7 de marzo de 2010

100 impresionantes publicidades al servicio de grandes causas.

Son 100 excelentes publicidades gráficas que apelan a imágenes chocantes para llamar la atención sobre el hambre, el cambio climático, la prostitución, abuso infantil, abuso de drogras y tabaco, entre otros graves flagelos.

Algunas de mis preferidas:

pubs-grandes-causes-054 pubs-grandes-causes-028 pubs-grandes-causes-082 pubs-grandes-causes-071 pubs-grandes-causes-068 pubs-grandes-causes-046

Éstas y el resto de las imágenes en resolución original, en la entrada de Le Blog de Bango.

(Gracias a @Cerebrado).

sábado, 6 de marzo de 2010

Visual Studio 2010: T4 Text Templates. Una introducción y recursos para empezar.

Creo que hace ya un par de semanas que ha salido Visual Studio 2010 RC. En el trabajo comenzamos a prepararnos hace ya un tiempo, utilizando la beta, y recién ayer actualizamos a esta última versión.

Mi percepción es que está sobre todo más estable. Han habido más correcciones que cambios, lo que es esperable dado el grado de madurez del producto. Por lo que hizo a mi trabajo en estas semanas (.Net MVC, mucho $(javascript), templates) noté muchas mejoras en el intellisense y la depuración en javascript -que hasta ahora era imposible de utilizar por lo limitado- aunque sigue sin ser la gran cosa comparado con FireBug, mi caballito de batalla.

Pero volvamos al tema del título. Las plantillas T4 para generación de código. De las novedades del 2010, ésta es la que más impacto real (y positivo) ha tenido en los proyectos, automatizando infinidad de pequeñas tareas tediosas y repetitivas.

Dije “pequeñas” porque, para las “grandes” tareas automáticas y repetitivas (generación de entidades, table gateways, row gateways, manejo de recursos de texto, etc.) teníamos ya infinidad de opciones, desde herramientas propias de .Net (como los recursos incrustados o los archivos .resx con sus clases asociadas), frameworks (Entity Framework, NHibernate), diseñadores (como los clásicos diseñadores de Datasets), plugins (no soy de utilizarlos, así que ni ejemplos puedo dar), hasta otros sistemas de generación automática de código, muy similares a T4 (CodeSmith).

Pero el tema con las herramientas mencionadas es que requieren mantenimiento, instalación, depuración, y una inevitable y nada despreciable curva de aprendizaje… pero sobre todo, que son pesadas y abarcativas (para utilizarlas razonablemente tenemos que seguir su paradigma, adaptando nuestro esquema desarrollo a éste en mayor o menor medida). Son muy buenas herramientas, pero nadie va a meterse con CodeSmith (sólo por dar un ejemplo), si no lo está ya utilizando para otra cosa, sólo para actualizar una lista de constantes o una enumeración de ciertos recursos.

Las ventajas de T4 en el Visual Studio 2010 tienen que ver justamente con ésto: están integradas al entorno de desarrollo y su sintaxis es muy intuitiva (a cualquier desarrollador le alcanzará con saber que “es como hacer una página .aspx” para empezar), perfectas para automatizar esas pequeñas, molestas, y usualmente numerosas tareas de copiar, pegar y modificar.

No voy a seguir con mucho detalle, ya que hay mucho (y mejor) escrito sobre el tema. Pero sí los voy a dejar con algunas recomendaciones de punto de partida:

T4: Text Template Transformation Toolkit: este post de Oleg Sych es un muy buen lugar para arrancar velozmente, y tiene además su propia (y extensa) lista de recomendaciones.

La documentación en MSDN es enrevesada y difícil de seguir, como toda la de Microsoft, pero está bueno pegarle una leída, no para empezar sino para conocer más en detalle.

Punto aparte y mención especial para este otro post de Oleg Sych, en el que hace referencia desde el template al modelo de objetos de Visual Studio (EnvDTE) que abre la puerta a posibilidades realmente interesantes.

miércoles, 3 de marzo de 2010

Tostitos: And Then There Was Salsa.

Mmmm… no parece la gran cosa. Pero eso es porque no lo han visto en su página original.

La verdad que un video así los hace merecedores de una compra al por mayor.

Visto en FayerWayer.

domingo, 14 de febrero de 2010

viernes, 12 de febrero de 2010

Jueguitos de viernes: Batea al pingüino.

Batea al pingüino es uno más en la categoría “clickea a tiempo”. Un juego tonto de gráficos mediocres que consiste de un sólo nivel en el que rápidamente el jugador depende más de su suerte que de su habilidad… Por suerte es lo suficientemente sangriento como para compensar todo eso y brindarnos largos minutos de estúpida diversión.

BateaAlPinguino

(gracias Matías por el dato)

viernes, 8 de enero de 2010

Jueguitos de Viernes: Basketball

Simplemente apuntar y tirar. ¿La gracia? Que todos los jugadores online juegan al mismo tiempo y vamos viendo nuestra posición en tiempo real. Además podemos formar grupos para competir con amigos.

basketball-online

Link: Basketball (visto en Juegos Microsiervos).

miércoles, 6 de enero de 2010

Curiosidades en los lenguajes de programación.

A veces la lógica sobre la que se asienta un lenguaje de programación (cosa “estricta” –con comillas- si las hay) tiene algún extraño efecto colateral. Otras veces un mal momento (¿demasiado temprano por la mañana? ¿demasiado tarde por la noche? ¿resaca?) de aquél que debe dar una definición queda inmortalizado por las consecuencias de ésta.

Cuestión que en todo lenguaje hay ciertas curiosidades, puntos oscuros, cosas que no parecen todo lo claras, lógicas o esperables que deberían. Es el tipo de cosas que se han ido destapando en Stack Overflow bajo el título Strangest language feature con la consigna “What is, in your opinion, the most surprising, weird, strange or really "WTF" language feature you have encountered?”

Por ejemplo…

Javascript se lleva las palmas en la categoría "sutilezas tramposas":

return
{
    id : 1234,
    title : 'Tony the Pony'
};

//devuelve undefined, ya que el salto de línea luego del return implica
//(implícitamente) el final de la instrucción. Por eso esto sí funciona:

return {
    id : 1234,
    title : 'Tony the Pony'
};

//Y esto también (grrr....)

  return /*
*/{
    id : 1234,
    title : 'Tony the Pony'
  };

...su tabla de verdad tiene algunas cositas impresentables:

''        ==   '0'           //false
0         ==   ''            //true
0         ==   '0'           //true
false     ==   'false'       //false
false     ==   '0'           //true
false     ==   undefined     //false
false     ==   null          //false
null      ==   undefined     //true
" \t\r\n" ==   0             //true

Por otro lado, el integer cache en java es un buen ejemplo de esos extraños aunque esperables efectos colaterales:

Integer foo = 1000;
Integer bar = 1000;

foo <= bar; // true
foo >= bar; // true
foo == bar; // false

//pero si los valores de foo y bar están entre 127 y -128 (inclusive)
//el comportamiento cambia:

Integer foo = 42;
Integer bar = 42;

foo <= bar; // true
foo >= bar; // true
foo == bar; // true

Y no es la primera vez que escucho quejas (muy justificadas, según mi propio criterio) sobre el manejo de cadenas en php:

//uno pensaría que
"01a4" != "001a4"
//pero la realidad es que
"01e4" == "001e4"

Captaron la idea, me imagino. El resto en la entrada original de Stack Overflow.

viernes, 1 de enero de 2010

Jueguitos de Viernes: Air Traffic Chief.

Gracias a Cerebrado, que como siempre sabe qué tirar para arruinar la productividad de un viernes… pero hoy es viernes 1, así que podemos procrastinar sin culpas y combatir la resaca con este adictivísimo juego.

En Air Traffic Chief hacemos las veces de controladores de vuelo y lograr que todas las naves lleguen a destino. Empieza fácil, casi aburrido, pero se complica rápidamente. Yo todavía no logro pasar las 70 naves aterrizadas.

AirChief

domingo, 20 de diciembre de 2009

40 ejemplos de manipulación de imágenes.

No me termina de convencer Popego, pero hay que reconocer que de vez en cuando le pega a algo interesante (aunque raramente dentro de las categorías que hacen al hilo principal de este blog).

En este caso de descolgó con una muy buena recopilación de imágenes surrealistas creadas a partir de capturas fotográficas… y mucho talento para el Photoshop.

Para muestra van algunas de mis preferidas:

manipulation-37 manipulation-5 manipulation-9

Entrada original: 40 Examples of Incredible Photo Manipulation.

viernes, 18 de diciembre de 2009

Jueguitos de viernes

sub_header

Si remontaron el rastro del Breakdown del otro día ya han descubierto otros dos jueguitos convenientemente camuflados, Leadership y Cost Cutter. Para aquellos demasiado perezosos (u ocupados) como para seguir aquel link va esta actualización.

Leadership: Sí, esto de acá abajo es un juego de naves espaciales en el que tendremos que maniobrar peligrosamente entre las series de un gráfico de líneas.

leadership

Y este otro es Cost Cutter, en el que tenemos que evitar que las barras progresen hasta el final del gráfico destruyendo bloques de colores.

costcutter

Bueno, los dejo, realmente estoy muy ocupado ahora.

viernes, 4 de diciembre de 2009

Jueguitos de Viernes: Penguins Attack

Uno por el que vale la pena reflotar la sección… Penguins Attack es un clásico del estilo “tower defense”: hay que ubicar, mantener y actualizar diferentes tipos de armas que disparan automáticamente para impedir el paso de las tropas enemigas.

penguinsAttack

Los últimos que había encontrado en este estilo ya eran demasiado complicados para mi escasa capacidad de concentración y procesamiento… Penguins Attack es perfecto para cortar 15 o 20 minutos.

Visto en Juegos Microsiervos.

martes, 1 de diciembre de 2009

Invitaciones para Google Wave

google_wave_logoTengo invitaciones a Google Wave. A falta de algo mejor que hacer con ellas (no más sugerencias, gracias) serán repartidas entre los 10 mejores links (si tienen algo que ver con desarrollo de software, mejor) que se dejen en los comentarios de esta entrada. Autobombos bienvenidos.

El “jurado” de este “concurso” (bueh…) está conformado exclusivamente por mí, y la consigna se mantiene mientras haya una cantidad razonable de links para revisar. Actualizo esta entrada cuando se cierre.

jueves, 26 de noviembre de 2009

Programar es como…

… “escribir”, decía yo (y varios pensaban lo mismo). @programmingjoy rescató del blog de Ian Voyce una entrada en la que se recopilan otras analogías, como el clásico “programar es como tener sexo…

  • … un error y tendrás que mantenerlo el resto de tu vida”.
  • … podés divertirte un montón y que alguien más se haga cargo del lío (para aquellos que cambian de trabajo con frecuencia).
  • … tenés que pagar un montón para conseguir a alguien bueno en eso” (por favor no arruinemos un buen chiste discutiendo sobre la veracidad de esta analogía en particular).

Pero mejor sigan hacia la entrada original para encontrarse con el resto: Programming is like a bad analogy.

lunes, 23 de noviembre de 2009

Jueguitos de Lunes.

Una buena opción al trabajo ésta que publicó Cerebrado en Soft Cero: Breakdown es una versión del clásico Arkanoid convenientemente camuflada para jugar en la oficina.

imbussy 

Digo yo… ¿no será hora de buscar un trabajo más motivador?

viernes, 11 de septiembre de 2009

Jueguitos de Viernes: Overmaze

En Overmaze tenemos que mover el fondo de manera que el cuadradito naranja esquive las zonas blancas en su camino hacia el verde.

overmaze ¡Es enervante!

Otro descubrimiento de @Cerebrado.

miércoles, 9 de septiembre de 2009

Web vs. Desktop.

battle  La eterna batalla, la eterna duda: ¿Debería ser una aplicación desktop o un servicio web? Para mí no hay dudas: allí donde una conexión entre cliente y servidor esté disponible, web, y no se hable más. Pero es sólo una opinión de programador fundada exclusivamente en mis gustos y preferencias a la hora de construir el software.

Acabo de leer el largísimo (y sin desperdicio), muy recomendable post Why I’m Done Making Desktop Applications, donde el autor compara no sólo los resultados técnicos sino también los económicos y comerciales entre las versiones web y desktop de su aplicación.

A modo de resumen, y para tentarlos a seguir hacia el artículo original, enumero las razones que expone Patrick para su nueva preferencia por las aplicaciones y servicios web:

  • The Shareware Funnel Is Lethal: el camino que debe atravesar el posible cliente hacia la compra es largo y penoso (una frase inspirada acerca de la instalación: “Click through six screens that no one in the history of man has ever read”).

  • Web Applications Convert Better

  • Your AdWords Strategy Is Very Sensitive To Conversion Rates

  • Web Applications Are Easier To Support

  • The Age Of The Pirates Is Coming An End, Jack

  • Phone Home vs. Google Analytics

  • Web Apps Can Be Customized Per User

  • Long Cycles Mean Low Innovation.  Short Cycles Mean Fast Innovation

Cada punto está muy bien expuesto y las razones sólidamente fundamentadas. Vale la pena leerlo en profundidad para beneficiarse de la experiencia de quien ya ha dado el salto. Link:  Why I’m Done Making Desktop Applications.

martes, 8 de septiembre de 2009

Nativos e inmigrantes digitales.

Muy buena la propaganda de Personal Wap (el servicio… perdón, yo tengo mis dudas). ¿Ustedes de qué lado del sofá se ubican?

Visto en El blog de Ricardo Zapata.

lunes, 31 de agosto de 2009

Día del Blog 2009

blogday_140x280_2009

Un año más, otro día del blog (como si hubiese participado en tantos, este es apenas mi segundo). Aquí van mis recomendaciones (sin un orden en particular):

Yoriento: Yoriento es, para utilizar su propia definición, un blog sobre “orientación profesional, búsqueda de trabajo, empleo 2.0, productividad personal, coaching, psicología en la empresa, networking, recursos humanos en internet”… y se queda corto. Difícil encontrar un tema que Alfonso Alcántara no haya tocado con seriedad pero a la vez con un estilo desenfadado y repleto de buen humor. Alfonso es (muy) adicto a su twitter, y vale la pena seguirlo.

Navegápolis: un blog de lo que me gusta, desarrollo de software, sin más. Mucho Scrum, agilidad, recursos, opinión sobre herramientas, métodos, arquitecturas, patrones, situaciones laborales, mucho humor y trazo grueso, sin bajar al detalle (a veces exasperante) del código puro.

lboisset’s Ruminations: “Ibo” anda un poco disperso últimamente, quejándose de excesos de trabajo y experimentando con su posterous (ay, estos chiches nuevos que me cuesta entender). Sincero y personalísimo como pocos, es el blog del jefe de proyectos que todos quisiéramos tener.

Pons Asinorum: es raro Pons, de nariz respingada y aires un tanto aristocráticos (“El hablar, por su facilidad, puede ser imitado por todo un pueblo; la imitación en el pensar, del inventar, ya es otra cosa.”). Pero atrae. A veces no puedo estar más de acuerdo, a veces sus ideas me resultan brutalmente desagradables, pero siempre interesantes y de irreprochable argumentación. Desafiante.

La hora de la pavada, 3x1 para lo último. No todo es seriedad en la vida, no todo es trabajo, no todo es pensar. Existe el cine shampoo, y existe el blog shampoo, aquellos en los que entramos y de los que no podemos salir, que siempre nos sacan una sonrisa, que nos tienen un par de horitas a la semana pensando en nada: There, I fixed it, Fail Blog, y el increíble Awkward Family Photos.

Seguiría recomendando, pero bueno, hay que ser breve para que sirva. El resto está por aquí, en el blogroll (en la barra de la derecha), referenciados en las entradas, compartidos en twitter, friendfeed o delicious.

Relacionada: mis recomendaciones del año pasado.