WhitePaper: ¿Ruby Emotion?

¿Debo elegir Swift o #RubyMotion para mi empresa? ¿Debo pasar de #RubyMotion a #Swift? ¿De #Swift a #RubyMotion? Existe mucho debate sobre este tema en el mundo Ruby. Muchas personas han explicado una gran cantidad de argumentos a favor y en contra del cambio. ¿Pero como hacer un buen análisis para minimizar el error en…

Conferencia: ¿TDD como problema?

El pasado 29 de mayo la comunidad de Madrid.rb se dio cita en el Irish Rover, en Madrid, para hablar sobre el mundo de los Tests en el software—en especial usando la metodología TDD— y su polémica actual protagonizada por David Heinemeier(DHH), Kent Beck y Martin Fowler.  Dejo el video de mi conferencia, que espero…

Programadores extintos

¿Puedes nombrarme diez programadores activos que conozcas personalmente y que tengan más de cuarenta años?. ¿Imposible? No. ¿Complicado? Seguro. Pareciera que, los programadores en nuestras culturas hispano/latinas, después de los treinta años comienzan un largo camino hacia la extinción. ¿Por qué? ¿En qué afecta? (…)

Software, Ingeniería y Actos de fe

Los constantes y arriesgados avances en el mundo nunca antes habían sido acompañados, hasta ahora, desde profundos y complejos actos de fe. Otrora, si bien los actos de fe eran preconcebidos o utilizados para bloquear el progreso, hoy en día quizá pudieran considerarse como una herramienta para conducir un avance mundial tan inevitable como peligroso…

YAGNI, KISS, OCKHAM. Elige tus batallas

Son muchas las teorías, técnicas y principios que nos demuestran que en ciertas ocasiones resulta beneficioso mantener las cosas de forma simple. Complicarse, por más contradictorio que resulte no es complicado, y en muchas situaciones la pérdida de valor y el coste de oportunidad asociado a estas complicaciones pueden resultar muy costosas.¿Opaca esto de alguna…

Los frameworks como posible peligro potencial

La empresa DataCorp Inc. había conseguido lo que representaba uno de sus contratos más importantes. El sistema de ventas para la importante compañía regional SalesTales había sido firmado y había que entregarlo en poco menos de cuatro meses. El equipo de ingenieros a cargo del desarrollo, había establecido que se usaría Ruby on Rails como…

¿Clases que persisten o persistencia de clases?

El mundo avanza veloz, y con el la supervivencia económica empresarial y los negocios. Este hecho ha influido notablemente en el mundo de la tecnología de la información y en especial en el sector del desarrollo de software. Por ello cada vez existe más la necesidad de reutilizar y aprovechar soluciones a problemas comunes que…

RoR-APIs: Con Dios y el Diablo

«No man can serve two masters» [1]. Una frase impactante tomada del Nuevo Testamento, cuya traducción contextual al español: «No se puede servir a dos señores, no se puede a Dios y al diablo»,  expresa la quizá irónica fantasía de hacer las cosas bien o mal, sin la inclusión de medias tintas. Me gusta abstraerme…

¿Ruby on Rails como problema?

Recientemente el equipo de ingenieros de Twitter publicó en su blog el desplazamiento de Ruby On Rails(RoR) en su arquitectura por la tecnología Java, haciendo uso de Blender a través de Netty [1]. Ya en 2009, en una entrevista realizada a tres de sus más importantes desarrolladores se anunciaba el plan de reingeniería y reemplazo…

Resolver problemas de negocio en Ruby con Strategy Pattern

¿Cómo diseñar diversos algoritmos o políticas de negocio que están relacionadas? ¿Cómo diseñar que estos algoritmos o políticas puedan cambiar?  ¿Cómo implementar la solución en el lenguaje Ruby? El siguiente problema de diseño que se va a resolver consiste en proporcionar una lógica de fijación de precios en una tienda de puntos de venta acorde…

Resolviendo problemas de negocio con Fábricas Abstractas

A menudo, cuando queremos aprender sobre algún patrón de diseño: los ejemplos «sobran». Sin embargo, al menos en mi experiencia personal siempre queda oculta la aplicación práctica del nuevo patrón de diseño estudiado.  En este Post se estudiará con un buen caso práctico ilustrado, las bondades del patron de diseño de Fábricas Abstractas.