Blog

  • 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. (more…)

  • 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í: (more…)

  • What’s in an SPA?

    Initially nothing. You can start from zero. Or have a landing page with a login, like in this case:

    <body>
    <div data-role="page" id="login">
    <div class="login">
            <label for="user">User</label><input id="user"/>      
            <label for="pwd">Password</label><input id="pwd" type="password" />
       <button>Login</button>
        </div>
    </div>
    </body>

    (more…)

  • What do I do?

    I code, I teach, I design, I sometimes take pictures. I’ve been coding for a very long time. Very long. By the time the people who was my coworkers at Apple in the early nineties were phasing out into management I was still coding. I’m still coding now, twenty years later. Sure, I’ve graduated into sometimes managing and mentoring other coders. But I don’t use this as an excuse to stop coding.

    Yeah, right. Very touching. What do I really do? (more…)

  • El Diógenes digital

    Cientos de archivos temporales, otros tantos en directorios de entrada de un proceso, versiones antiguas punto zip (con una fecha para saber cuándo se olvidó eso ahí), archivos de código que ya no forman parte del proyecto…

    Bienvenidos al apasionante mundo del Síndrome de Diógenes digital. Una tara que es síntoma de ineptitud digital. Porque no tienes un sistema de versiones operativo (o lo tienes pero no lo usas “porque no me fío”). Porque no has montado en tu servidor una tarea que periódicamente limpia los archivos temporales que tu programa ha ido generando, por ejemplo, al subir los documentos de tus usuarios. Ineptitud digital. Especialmente grave si lo descrito en el primer párrafo lo encuentras en un servidor de producción.

    Por favor, que alguien le pase un pañito al server. Y, después, al proceso en general.