Category: Programming

  • A more expressive vocabulary for programming

    map and friends are more precise, sophisticated ways to talk about consistent patterns in data manipulation. Using them over for is analogous to using the word “cake” instead of “the kind of food that you make by whipping egg whites and maybe adding sugar”. Interestingly, you can eventually add new layers of category on top of established layers:…

  • Simple made easy

    Precise words make communication more efficient. Arguably, software development is about managing conceptual complexity. Simple made easy, by Rich Hickey is a talk that tackles those two topics. https://www.youtube.com/watch?v=cSwPOpOKr3w Two takeaways from this talk: The differences between simple and easy. Simplicity is an objective measure, and its units are the level of interleaving (of concepts).…

  • Taking PHP seriously

    Slack se une al club de los que usan PHP: Most programmers who have only casually used PHP know two things about it: that it is a bad language, which they would never use if given the choice; and that some of the most extraordinarily successful projects in history use it. This is not quite…

  • React before React

    While it might look like an overnight success in hindsight, the story of React is actually a great example of how new ideas often need to go through several rounds of refinement, iteration, and course correction over a long period of time before reaching their full potential. – Our first 50.000 stars.

  • Dumb Redux

    Concepts are the real win, and they can be expressed in many different ways. – Tom MacWright, Dumb Redux.

  • Dos ideas funcionales

    En la evolución de cómo se hacen aplicaciones web, la mutación principal del ciclo anterior habría sido la separación API/interfaz. En el actual, apostaría que lo fundamental se deriva de que el ecosistema JavaScript (tanto el lenguaje como las librerías a su alrededor) ha interiorizado dos ideas del mundo de la programación funcional: las funciones…

  • La arquitectura de la complejidad

    Herbert A. Simon dedicó su vida al estudio de sistemas: organizaciones, economía o inteligencia artificial. En 1962, publicó un paper titulado «The architecture of complexity» donde presenta cómo el estudio general de sistemas significa entender la formación de jerarquías.

  • Product listing information

    3 Key Design Principles for Product Listing Information. A study on how to show product info focused on e-commerce. It also applies to general element lists.

  • Modern layouts

    Jen Simmons, editora del podcast The Web Ahead, presentó en el último AnEventApart una charla sobre la evolución de los layouts para la web y las nuevas posibilidades que existen. Muy recomendable en conjunción con los experimentos y demos que pueden verse en The Layout Ahead.

  • Xerox Star

    El Xerox Star fue el primer ordenador moderno que salió a mercado. Lanzado en 1981, definió una nueva relación con los ordenadores que prevalece todavía hoy en los sistemas que usamos a diario. Sin embargo, fue un fracaso comercial.

  • How Elm slays a UI antipattern

    How Elm slays a UI antipattern. Un ejemplo de cómo la estructura de datos (o las abstracciones que construyes) pueden simplificar el código y minimizar los errores.

  • Spotify Culture

    Un par de videos cortitos sobre cómo Spotify, con 1.200 empleados, se organiza para trabajar de manera ágil y obtener tiempos de salida a mercado muy rápidos.

  • William Morris para makers

    ¿Qué lecciones tiene la vida de William Morris -polifacético diseñador, empresario, tipógrafo, escritor y activista del siglo XIX- en los albores del mundo maker?

  • Diseño de interación, según Bill Verplank

    He estado revisando recientemente el trabajo de Bill Verplank. De su perfil me llamaron la atención 3 momentos en particular: participa en el desarrollo del Xerox Star, trabaja con Bill Modridge en IDTwo (luego IDEO) donde acuñan el término Interaction Design y funda con Terry Winograd el programa de HCI en Standford. Desafortunadamente, no he podido encontrar…

  • Douglas Engelbart, the father of all demos

    ¿Qué somos, como programadores, sino diseñadores de la interacción máquina-humano? ¿Dónde nos hemos dejado las capacidades de inventar el futuro? Es lo que me evoca la visión de “The mother of all demos” que Bret Victor se encarga de rescatar en el epitafio a Douglas Engelbart. Cuando la veáis, poned en perspectiva que Bill Gates y…

  • Beck and Cunningham

    Con Alan Kay inicié una serie de entradas sobre pioneros de la informática. Referentes de los que uno lee o descubre algo. Hoy continúo con Kent Beck y Ward Cunningham. Kent y Ward crecieron con el SmallTalk de Ingalls y Kay. Me aventuro a pensar que su temprano contacto con este lenguaje pionero influyó en cómo…

  • Designing for growth

    «Code should grow by addition rather than mutation.» The best example of that axiom I ever found is the one in Beck’s Implementation patterns. What goes next is almost an exact reproduction of the book. After reading this post, if you liked, I’d strongly recommend you to buy a copy. Imagine a graphic editor where…

  • Coders at work: netscape y javascript

    Estoy leyendo a ratos Coders at work, un libro de entrevistas a programadores inspirado en lo que hizo The Paris Review con su serie Writers at work, por la que pasaron Hemingway, Capote, Borges, … He empezado por aquellas que más me sugerían, por ejemplo, la de Jamie Zawinski, uno de los líderes detrás de la…

  • How gvSIG MapControl works: flow of control

    Within gvSIG design, MapControl is one of the core components. Its main responsibility is to allow users to interact with a map of layers (zoom in/out, edit geometries, …). That goal is achieved through two concrete tasks: Route the user actions to the proper tool which will execute it. Manage the drawing of the layers. This…

  • How gvsig manages the snappers

    Last week I paired together with Francisco Puga to review the status of opencadtools. As Fran is doing a great work in preparing the integration of opencadtools as default CAD tools in gvSIG, I wanted to know first hand how it was going. iCarto and Cartolab were kind enough to sponsor this pairing session. One of…

  • Alan Kay: “the computer revolution hasn’t happened yet”

    Un breve biopic de Alan Kay, a través de su conferencia en la OOPSLA 1997 y una entrevista para la ACM.