Monday Rant: del pago al contado y otras leyendas urbanas

Todo el mundo conoce el ¿chiste? del congreso internacional de contables donde el representante español alardea de la gran cantidad de formas de pago que conoce hasta que otro delegado le descubre una nueva: pago al contado. Esa leyenda urbana. Un sistema de pago desconocido en un país donde los primeros en estafar a los proveedores son los organismos oficiales, generando impagos porque ellos lo valen. Continue reading

What’s in an SPA? Part II, the A in SPA

As you may remember from the first part of this thrilling SPA saga, the only object I’ve invoked right now is the Application. What is this Application that everyone in the ‘hood is talking about?

For starters it should be your main dispatcher for all the objects in your application. Remember, we’re not doing a web page or a bunch of html files with some javascript, but an application. Think of it as of your safehouse. Whenever you’re lost (you shouldn’t but you will be) in the maze of your code you can reach up to your fair objApp variable and crawl down from it to known territories. For example, to execute the orderMoreTunnel() method of the Tunnel module. Continue reading

Lo que hay debajo

La mayoría de los frameworks modernos utilizan algún tipo de atributo añadido a los elementos para indicar como dibujar o que controlador asignar a dicho elemento. Por ejemplo, en jQueryMobile y en bootstrap se utilizan los atributos “data-“ para indicar roles, estilos, etc.; de la misma manera, en AngularJS se asignan atributos con el prefijo “ng-“ para asignar, por ejemplo, un controlador a un <div> concreto. No es la única manera de “dopar” la página; la mayoría de las librerías tienen métodos para aplicar un behaviour concreto a un objeto de nuestra página. Continue reading

Legacy code is dragging you down

Legacy is, usually, a nice word until you apply it as an adjective to your work. Then it becomes a hideous monster lurking in the shadows behind your compiler waiting to chop off your head. Or the performance of your app.

Let’s take an example: an app that uses some library directly ported from C# to JavaScript using the old method of running the code and modifying accordingly when the browser complains. Additionally the code has two different responsibilities and it’s not documented or even explained. The resulting library is slow. Specially for certain operations. And the project manager is complaining. Sounds like a dream job. Continue reading

Módulos, teoría y praxis

Haciendo limpia en el disco duro encontré este documento escrito hace cinco años para explicar la base de la librería que se creó para una aplicación de gestión de proyectos altamente configurable. El backend era PHP orientado a objetos y en el frontend se usó Prototype.

Lo recupero aquí porque me sorprendió lo poco que he evolucionado en estos cinco años. La falta de necesidad, realmente; de aquella intentaba explicar a maquetadores web con algo de experiencia en Javascript como organizar un proyecto. Todo un cambio de mentalidad para ellos. Y dice así: Continue reading